	:root {
      --main-blue: #0F2767;
      --accent-color: #F4DC7A;
      --light-blue: #4E69AC;
      --text-dark: #3a3a3a;
      --text-gray: #555;
      --border-light: #ddd;
    }

    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: "Roboto", "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
	    font-weight: 400;
      color: var(--text-dark);
      line-height: 1.9;
      background-color: #F4F5F7;
    }

    main {
      /*background-image: url(images/bg_top.svg);
      background-repeat: no-repeat;
      background-position: top right;
      background-size: contain;
      background-attachment: fixed;*/
      max-width: 1920px;
      margin: 0 auto;
    }

    
      main::before {
      content:"";
      display:block;
      position:fixed;
      top:0;
      right:0;
      z-index:-1;
      width:100%;
      height:100vh;
      background-repeat:no-repeat;
      background-position:top right;
      /*background-image:url(images/bg_top.svg);*/
      background-image:url(images/bg_top_2000.svg);
      background-size:cover;
      }








    
    /* ✅ スマホ対応 */
    @media (max-width: 768px) {
      body {
        background-attachment: scroll;
        background-size: auto 100%;
      }
    }

    header {
      /*background: linear-gradient(135deg, var(--main-blue), var(--accent-blue));*/
      font-optical-sizing: auto;
      font-weight: 600;
      font-style: normal;
      color: #fff;
      text-align: center;      
      text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.10), -2px 2px 4px rgba(0, 0, 0, 0.10), 2px -2px 4px rgba(0, 0, 0, 0.10), -2px -2px 4px rgba(0, 0, 0, 0.10), 2px 0px 4px rgba(0, 0, 0, 0.10), 0px 2px 4px rgba(0, 0, 0, 0.10), -2px 0px 4px rgba(0, 0, 0, 0.10), 0px -2px 4px rgba(0, 0, 0, 0.10);
    }

    header h1 {
      font-family: "Noto Serif JP", serif;
      font-size: 64px;
      font-weight: 800;
      margin-bottom: .5em;
      line-height: 1.4;
    }

    header h2 {
      margin-top: 2em;
      font-size: 32px;
    }

    header .theme {
      font-size: 26px;
    }

    header p {
      font-family: "Noto Serif JP", serif;
      font-size: 16px;
      opacity: 0.95;
    }


    .eye {
      margin: 2em auto;
    }

    .eye img {
      border: 5px solid #FFF;
      box-shadow: 0 0 5px #999;
      max-width: 1000px;
      width: 100%;
      height: auto;
    }









    nav {
      background: rgba(255, 255, 255, 0.8);
      border-bottom: 1px solid var(--border-light);
      position: sticky;
      top: 0;
      z-index: 1000;
    }

    nav ul {
      max-width: 1200px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      list-style: none;
      padding: 10px 0;
    }

    nav li {
      margin: 8px 15px;
    }

    nav a {
      text-decoration: none;
      font-size: 15px;
      font-weight: 600;
      color: var(--main-blue);
    }

    nav a:hover {
      text-decoration: underline;
    }

    /*ハンバーガーメニュー*/
    /* =========================
      Navigation (Base)
    ========================= */
    .nav-inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 1em 20px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .nav-menu {
      display: flex;
      list-style: none;
    }

    .hamburger {
      display: none;
      background: none;
      border: none;
      cursor: pointer;
    }

    .hamburger span {
      display: block;
      width: 25px;
      height: 2px;
      margin: 6px 0;
      background-color: #1f4fa3;
    }

    /* =========================
      Mobile (≤ 768px)
    ========================= */
    @media (max-width: 768px) {
      .nav-inner {
        justify-content: flex-end;
      }

      .hamburger {
        display: block;
      }

      .nav-menu {position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #ffffff;
        flex-direction: column;
        align-items: center;
        border-bottom: 1px solid #ddd;
       /* 

        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
        */

        display: none;

      }
      

      .nav-menu li {
        margin: 15px 0;
      }

      .nav-menu.active {
        /*
        max-height: 500px;
        */

       display: flex;

      }
    }

    section {
      padding: 80px 20px;
      background-color: rgba(255, 255, 255, 0.6);
      max-width: 1200px;
      margin: 0 auto 3em;
    }

    .container {
      max-width: 1000px;
      margin: 0 auto;
    }

    section h2 {
      font-size: 26px;
      margin-bottom: 30px;
      color: var(--main-blue);
      border-left: 6px solid var(--accent-color);
      padding-left: 15px;
    }

    section h3 {
      font-size: 22px;
      margin-top: 3em;

    }

    section h4 {
      font-size: 18px;
    }

    section p {
      font-size: 15px;
      color: var(--text-gray);
      margin-bottom: 20px;
    }

    .bg-light {
      background-color: rgba(255, 255, 255, 0.9);
    }

    .info-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 15px;
    }

    .info-table th,
    .info-table td {
      border: 1px solid var(--border-light);
      padding: 12px 15px;
      text-align: left;
    }

    .info-table th {
      background-color: #f7f9fd;
      width: 30%;
    }

    .cta {
      display: inline-block;
      margin-top: 20px;
      padding: 14px 35px;
      background-color: var(--light-blue);
      color: #fff;
      text-decoration: none;
      border-radius: 30px;
      font-size: 17px;
      font-weight: 500;
    }

    .cta:hover {
      opacity: 0.9;
    }

    footer {
      background-color: var(--main-blue);
      color: #fff;
      text-align: center;
      padding: 5em 2em 0;
      font-size: 15px;
    }

    footer a {
      color: #FFF;
    }

    /*---------- トップスクロールボタン ----------*/
      #js-page-top__scroll {
        position: fixed;
        bottom: 20px;
        right: 20px;
        font-size: 100%;
        z-index: 99;
      }

      #js-page-top__scroll a {
        position: relative;
        display: block;	
        width: 50px;
        height: 50px;
        line-height: 50px;
        background-color: var(--main-blue);
        text-align: center;
        text-decoration: none;	
      }

      #js-page-top__scroll a:after {
        content: "";
        position: absolute;
        display: inline-block;
        top: 40%;
        left: 37%;
        width: 10px;
        height: 10px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        border-top: 3px solid #FFF;
        border-right: 3px solid #FFF;
      }

      #js-page-top__scroll a:hover {
        text-decoration: none;
        cursor: pointer;
        -webkit-opacity: .7;
        opacity: .7;
      }


    @media (max-width: 768px) {
      header h1 {
        font-size: 32px;
      }

      header h2 {
        margin-top: 1em;
        font-size: 24px;
      }

      section h2 {
        font-size: 22px;
      }
    }

    .icon {
      margin: 0 .5em;
    }

    .c-link::before {
      content: "\f138";
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      margin-right: 10px;
      color: var(--accent-color);
    }

    .c-link a {
      color: #2323cf;
    }

    .map {
      position: relative;
      width: 70%;
      padding-top: 56.25%;
      /* 16:9のアスペクト比 */
      height: 0;
      text-align: center;
      margin: 0 auto 5em;
    }

    .map iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }

    .c-center {
      text-align: center;
    }

    .c-strong {
      font-weight: bold;
    }

    /* -----------------------------------------------------------
      .c-box
        ボックス
    ----------------------------------------------------------- */
    .c-box {
      margin: 15px auto;
      padding: 25px;	
      background-color: #F7F7F7;
      word-break: break-all;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;	
    }

    /*---------- ボーダー ----------*/
    .c-box__border {
      background: none;
      border: 1px solid #CCC;
    }

    /*---------- point ----------*/
    .c-box__point {
      background-color: RGBa(227, 100, 113, .1);
      border: 2px solid #E36471;	
      color: #1C1C1C;
    }

    /*---------- 背景グリーン ----------*/
    .c-box__bg_green {
      background-color: RGBa(82, 161, 0, .1);
      color: #333;
    }

    /*---------- 期間用 ----------*/
    .c-box__text-limit {
      position: relative;
      margin: 1em auto 5em;
      padding: 1.6em 1em;
      background-color: RGBa(255, 204, 153, .3);
      border: 3px solid #ffa64d;
    }

    .c-box__text-limit .c-strong {
      font-size: 1.5em;
      font-weight: 700;
    }

    .c-box__tbd {
      background-color: RGBa(192, 192, 192, .3);
      border: 3px solid #999;
      color: #999;
    }

    /* -----------------------------------------------------------
        .c-btn
          ボタン
      ----------------------------------------------------------- */
      .c-btn__container {
        display: block;
        text-align: center;	
        min-width: 300px;
        width: 30%;
        margin: 10px auto;	
      }

      .c-btn__container.-wide {
        min-width: 400px;
      }

      
    @media (max-width: 768px) {
      .c-btn__container.-wide {
        min-width: 300px;
      }
    
    }

      .c-btn__container.-narrow {
        width: 180px;
      }

      .c-btn {
        position: relative;
        display: inline-block;
        width: 100%;
        padding: 13px 5px;
        background-color: #3C3C3C;
        text-decoration: none;
        font-size: 1em;
        font-weight: 500;
        color: #FFF;
        border-radius: 26px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        transition: .4s;
      }


      .c-btn:link,
      .c-btn:visited,
      .c-btn:hover {
        color: #FFF;
      }

      .c-btn:hover {
        -webkit-opacity: .7;
        opacity: .7;
      }

      /*---------- 右矢印付き　----------*/
      .c-btn.-arrow__r::before,
      .c-btn.-arrow__r::after {
        position: absolute;	
        content: "";
        width: 8px;
        height: 1px;	
        top: -1px;	
        right: 10%;	
        bottom: 0;
        margin: auto;
        background-color: #FFF;	
        transition: background .2s ease;
        transform-origin: right center;
        transform: rotate(40deg);
      }

      .c-btn.-arrow__r::after {
        transform: rotate(-40deg);
      }

      
      /*---------- color ホワイト ----------*/
      .c-btn.-type__white {
        background-color: #FFF;
        color: #3C3C3C;
      }

      .c-btn.-type__white:link,
      .c-btn.-type__white:visited {
        color: #3C3C3C;
      }

      /*---------- color ブルー ----------*/
      .c-btn.-type__blue {
        background-color: var(--light-blue);
      }

      /*---------- color レッド ----------*/
      .c-btn.-type__red {
        background-color: #cf2323;
      }


      /*--------- color 黄色 ----------*/
      .c-btn.-type__yellow {
        background-color: #F0D57A;
        color: #3C3C3C;
      }
      .c-btn.-type__yellow:link,
      .c-btn.-type__yellow:visited,
      .c-btn.-type__yellow:hover {
        color: #3C3C3C;
      }

      /*--------- color グリーン ----------*/
      .c-btn.-type__green {
        background-color: #52A100;
      }

      /*---------- 準備中 transparent ----------*/
      .c-btn.-tba,
      .c-btn.-tba:hover {
        -webkit-opacity: .6;
        opacity: .6;
      }

    /* -----------------------------------------------------------
        大会長挨拶
      ----------------------------------------------------------- */
      .greeting_title {
        display: flex;
        width: 100%;
        margin-bottom: 3em;
      }

      .greeting_name {
        width: 50%;
      }

      .greeting_photo {
        width: 50%;
      }

      .greeting_name_con {
        text-align: right;
        padding: 1em 3em 0 0;
      }

      .greeting_name_con span {
        font-size: 30px;
        font-weight: 600;
        padding-left: 1em;
      }

      
    @media (max-width: 768px) {
      .greeting_title {
        display: block;
      }

      .greeting_name, .greeting_photo {
        width: 100%;
      }

      .greeting_photo {
        text-align: center;
      }

      .greeting_photo img {
        width: 90%;
      }

      .greeting_name_con {
        text-align: center;
        padding: 0 0 1em 0;
      }
    }


    /* -----------------------------------------------------------
        アイキャッチ　カルーセル
      ----------------------------------------------------------- */
    #eyecatch {
      width: auto;
      text-align: center;
    }

    /** RESET AND LAYOUT
===================================*/

.bx-wrapper {
	position: relative;
	margin: 0 auto 10px;
	padding: 0;
	*zoom: 1;
  box-shadow: none!important;
  border: none!important;
  background: none!important;
}

.bx-wrapper img {
	display: block;	
	max-width: 100%;
  margin: 0 auto;
}

/** THEME
===================================*/

.bx-wrapper .bx-viewport {
/*	-moz-box-shadow: 0 0 5px #ccc;
	-webkit-box-shadow: 0 0 5px #ccc;
	box-shadow: 0 0 5px #ccc;
	border:  5px solid #fff;
	left: -5px;
	background: #fff; */
	
	/*fix other elements on the page moving (on Chrome)*/
	-webkit-transform: translatez(0);
	-moz-transform: translatez(0);
    	-ms-transform: translatez(0);
    	-o-transform: translatez(0);
    	transform: translatez(0);
}

.bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
	position: absolute;
	bottom: -30px;
	width: 100%;
}

/* LOADER */

.bx-wrapper .bx-loading {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;	
	height: 100%;	
	min-height: 50px;	
	background: #fff;	
	z-index: 2000;
}

/* PAGER */

.bx-wrapper .bx-pager {
	text-align: center;
	font-size: .85em;
	font-family: Arial;
	font-weight: bold;
	color: #0073BE;
	bottom: -28px;
}

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
	display: inline-block;
	*zoom: 1;
	*display: inline;
}

.bx-wrapper .bx-pager.bx-default-pager a {
	background: #CCC;
	text-indent: -9999px;
	display: block;
	width: 10px;
	height: 10px;
	margin: 0 5px;
	outline: 0;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #0073BE;
}

/* DIRECTION CONTROLS (NEXT / PREV) */

.bx-wrapper .bx-prev {
	left: -15px;
	background: url(../img/contents/top/controls.png) no-repeat 0 -32px;
}

.bx-wrapper .bx-next {
	right: -15px;
	background: url(../img/contents/top/controls.png) no-repeat -43px -32px;
}

.bx-wrapper .bx-prev:hover {
	background-position: 0 0;
}

.bx-wrapper .bx-next:hover {
	background-position: -43px 0;
}

.bx-wrapper .bx-controls-direction a {
	position: absolute;
	top: 50%;
	margin-top: -16px;
	outline: 0;
	width: 32px;
	height: 32px;
	text-indent: -9999px;
/*	z-index: 9999;	*/
}

.bx-wrapper .bx-controls-direction a.disabled {
	display: none;
}

/* AUTO CONTROLS (START / STOP) */

.bx-wrapper .bx-controls-auto {
	text-align: center;
}

.bx-wrapper .bx-controls-auto .bx-start {
	display: block;

	text-indent: -9999px;
	width: 10px;
	height: 11px;
	outline: 0;
	background: url(../img/contents/top/controls.png) -86px -11px no-repeat;
	margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-start:hover,
.bx-wrapper .bx-controls-auto .bx-start.active {
	background-position: -86px 0;
}

.bx-wrapper .bx-controls-auto .bx-stop {
	display: block;
	text-indent: -9999px;
	width: 9px;
	height: 11px;
	outline: 0;
	background: url(../img/contents/top/controls.png) -86px -44px no-repeat;
	margin: 0 3px;
}

.bx-wrapper .bx-controls-auto .bx-stop:hover,
.bx-wrapper .bx-controls-auto .bx-stop.active {
	background-position: -86px -33px;
}

/* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
	text-align: left;
	width: 80%;
}

.bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
	right: 0;
	width: 35px;
}

/* IMAGE CAPTIONS */

.bx-wrapper .bx-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	background: #666;
	background: rgba(80, 80, 80, 0.75);
	width: 100%;
}

.bx-wrapper .bx-caption span {
	color: #fff;
	font-family: Arial;
	display: block;
	font-size: .85em;
	padding: 10px;
}

    /*----------　追記　----------*/
    .slider {
      display: inline-block;
      overflow: hidden;	
      width: 100%;
      /*min-height: 676px;
      padding: 0 0 60px;*/
      position: relative;
    }

    /* ウィンドウ幅が0〜960pxの場合に適用するCSS
    @media screen and (max-width:960px){
    .slider {
      height: auto;
      padding: 0 0 10px;	
    }
    } */

    .eye_text {
      position: absolute;
      bottom: 0;
      left: 0;
      text-align: left;
    }

    .eye_text h1 {
      font-size: 32px;
    }
    .eye_text h2 {
      margin-top: 1em;
    }

    
.bx-viewport::before,
.bx-viewport::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    background-color: rgba(255, 255, 255, .5);
    z-index: 1000;
}

.bx-wrapper .bx-viewport {
    overflow: visible !important;
    left: 0;
    border-width: 0;
    box-shadow: none;
}

.bx-viewport:before {
    right: 100%;
    left: -100%;
}

.bx-viewport:after {
    left: 100%;
    right: -100%;
}



    /* スマホアイキャッチ */
    @media (min-width: 768px) {
      .sp_eye {
        display: none;
      }
    }
    @media (max-width: 768px) {
      .pc_eye {
        display: none;
      }
    }

    


    /* -----------------------------------------------------------
        SNS
      ----------------------------------------------------------- */

.sns ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-evenly;
    justify-content: space-evenly;
}

.sns ul li {
  list-style: none;
}

.sns ul li img {
  max-width: 60px;
}




    /* -----------------------------------------------------------
        program
      ----------------------------------------------------------- */

.day {      
    font-size: 1.5em;
    margin: 0 0 .5em 0;
    letter-spacing: 0.05em;
    position: relative;
    text-align: center;
    font-weight: 700;
    color: var(--accent-color);
}

.program {  
    width: 100%;
    font-size: 100%;
    text-align: left;
    border-collapse: collapse;
    border: 1px solid #ccc;
}

.program th {  
    width: 5%;
    margin: 0;
    padding: 1.2em;
    text-align: right;
    font-weight: 400;
    line-height: 1.2;
    vertical-align: top;
    white-space: nowrap;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background: #fcfcfc;
    color: var(--main-color);
}

.program td {  
    width: auto;
    margin: 0;
    padding: 1.2rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #ccc;
    background: #fff;
}

.program img {
  float: right;
  margin-left: 2em;
}

.program .title {
  padding-top :0.5em;
  color: var(--light-blue);
  font-weight: 700;
}

.program .name {
  font-size: 1.2em;
  font-weight: 700;
}

    /* -----------------------------------------------------------
        参加登録
      ----------------------------------------------------------- */

      .contact {
        border: 2px solid #999;
        padding: 1em;
        margin: 3em 0 5em;
        background-color: #ececec;
      }

      .table_box {
      overflow-x: auto;
      display: block;}

      /*---------- .c-table__type02 th 上固定 ----------*/
.c-table__type02 {
	border-top: 1px solid #CCC;
	width: 100%;
  background-color: #FFF;
}

.c-table__type02 th,
.c-table__type02 td {
	padding: 0.5em;	
}

.c-table__type02 thead th {	
	background-color: #EEE;
	border-right: 1px solid #CCC;	
	border-bottom: 1px solid #CCC;		
	text-align: center;		
	font-weight: 500;
  line-height: 1.2;
}

.c-table__type02 tbody th {
	border-right: 1px solid #CCC;	
	border-bottom: 1px solid #CCC;
	text-align: left;	
	vertical-align: top;
	font-weight: 500;
}

.c-table__type02 td {
	border-right: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
}

.c-table__type02 thead th:last-of-type,
.c-table__type02 td:last-of-type {
	border-right: 0;	
}

/*---------- .c-table__type02 .c-table__type_fee　費用 ----------*/
.c-table__type02.c-table__type_fee {
	margin: 30px auto;
}

.c-table__type02.c-table__type_fee thead th {
	background-color: #555;
	border-bottom: 1px solid #DDD;	
	vertical-align: middle;
	/*font-size: 1.05rem;*/
	font-weight: 400;
	color: #FFF;
}

.c-table__type02.c-table__type_fee tbody th {
	background-color: #EEE;
}

.c-table__type02.c-table__type_fee td {
	text-align: right;
}

.c-table__type_fee .fs85 {
  font-size: 85%;
}