@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

html,body{
	font-family: "Nunito", sans-serif;
	font-weight:400;
	line-height:1.8em;
	box-sizing: border-box;
	font-feature-settings:"palt";
	margin:0;
	padding:0;
	position:relative;}

*	{margin:0;padding:0;list-style:none;box-sizing:border-box;vertical-align:bottom;}

h1,h2,h3,h4
	{font-size: 1em;margin:0;padding:0;}

@media screen and (max-width:640px){
}

.t_mms	{font-size: 0.5em;line-height:1.2em !important;}
.t_ms	{font-size: 0.8em;}
.t_em	{font-size: 1.0em;}
.t_s	{font-size: 1.1em;}
.t_m	{font-size: 1.2em;}
.t_l	{font-size: 1.5em;}
.t_ll	{font-size: 1.625em;}
.t_xl	{font-size: 1.875em;}
.t_xxl	{font-size: 3.0em;line-height:1.0em !important;}

.txt_l	{font-weight: 200;}
.txt_r	{font-weight: 400;}
.txt_b	{font-weight: 600;}
.txt_eb	{font-weight: 800;}

.indent	{text-indent:-1em;padding-left:1em;}
.indent2{text-indent:-2em;padding-left:2em;}
.indent3{text-indent:-3em;padding-left:3em;}

.t_left		{text-align:left !important;}
.t_right	{text-align:right !important;}
.t_center	{text-align:center !important;}

.t_gold		{color:#8f713c;}
.t_silver	{color:#9fa0a0;}
.t_red		{color:#e61911;}
.t_dred		{color:#c42a15;}
.t_blue		{color:#1d2088;}
.t_color	{color:#231815;}
.t_skyblue	{color:#00afec;}
.t_white	{color:#fff;}

.t_sh5		{text-shadow:0px 0px 5px #000;}
.t_sh10		{text-shadow:0px 0px 10px #000;}

/*
.bg_red		{background-color:#e23014;}
.bg_blue	{background-color:#0060b0;}
.bg_gold	{background-color:#c5b254;}
*/

a	{text-decoration:none;color:#cf2c16;-webkit-text-decoration-skip: none;}
a:hover,
a:focus	{text-decoration:underline;opacity:0.5;transition:0.5s;}

a.other	{
	padding-right:2em;
	background-image:url(../img/icon_otherlink.png);
	background-position:right 10px top 50%;
	background-repeat:no-repeat;}

a.other_w{
	background-image:url(../img/icon_otherlink_w.png);
	background-position:right 10px top 50%;
	background-repeat:no-repeat;}

a.other_txt	{
	padding-right:18px;
	background-image:url(../img/icon_otherlink.png);
	background-position:right 0 top 50%;
	background-repeat:no-repeat;}

a.not	{opacity:0.5;pointer-events:none;}

img	{vertical-align:bottom;}
img.w	{width: 100%;}

@media screen and (max-width:640px){
a	{-webkit-text-decoration-skip: none;}
}

.cf:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;}

.pc	{display:inline;}
.sp	{display:none;}

@media screen and (max-width:640px){
.pc	{display:none;}
.sp	{display:inline;}
}

.skip{
	position: absolute;
	margin-left:-9999px;}

/* scroll fade */
/* 基本のフェードイン */
.fade-in,
.fade-in3{
	opacity: 0;
	transition: opacity 0.5s;}

.fade-in.active,
.fade-in3.active{
	opacity: 1;}

/* 左からフェードイン */
.fade-in-left{
	opacity: 0;
	transform: translateX(-100px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-left3{
	opacity: 0;
	transform: translateX(-500px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-left.active,
.fade-in-left3.active{
	opacity: 1;
	transform: translateX(0);}

/* 右からフェードイン */
.fade-in-right{
	opacity: 0;
	transform: translateX(100px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-right3{
	opacity: 0;
	transform: translateX(500px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-right.active,
.fade-in-right3.active{
	opacity: 1;
	transform: translateX(0);}

/* 上からフェードイン */
.fade-in-up{
	opacity: 0;
	transform: translateY(-100px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-up3{
	opacity: 0;
	transform: translateY(-500px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-up.active,
.fade-in-up3.active{
	opacity: 1;
	transform: translateY(0);}

/* 下からフェードイン */
.fade-in-down{
	opacity: 0;
	transform: translateY(100px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-down3{
	opacity: 0;
	transform: translateY(500px);
 	transition: opacity 1.0s, transform 1.0s;}

.fade-in-down.active,
.fade-in-down3.active{
	opacity: 1;
	transform: translateY(0);}

@media screen and (max-width:500px){
/* scroll fade */

/* 左からフェードイン */
.fade-in-left,
.fade-in-left3{
 	transition: opacity 1.0s, transform 0.5s;}

/* 右からフェードイン */
.fade-in-right,
.fade-in-right3{
 	transition: opacity 1.0s, transform 0.5s;}

/* 上からフェードイン */
.fade-in-up,
.fade-in-up3{
 	transition: opacity 1.0s, transform 0.5s;}

/* 下からフェードイン */
.fade-in-down,
.fade-in-down3{
 	transition: opacity 1.0s, transform 0.5s;}
}



/* 並びのフェードイン */
.fade-in-item {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.fade-in-item.active {
  opacity: 1;
  transform: translateY(0);
}



/* =========================
   Cookie notice
========================= */
.cookie-notice {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 9999;
  width: min(384px, calc(100% - 32px));
  padding: 20px;
  background: #fff;
  color: #000;
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    visibility 0.35s ease;
  visibility: hidden;
}

.cookie-notice a{
	color:#000;
}

.cookie-notice.is-show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
}

.cookie-notice__text {
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.6;
}

.cookie-notice__link {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-notice__button {
  display: block;
  width: 140px;
  margin: 0 auto;
  padding: 12px 16px;
  border: 0;
  border-radius: 6px;
  background: #6999c9;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.cookie-notice__button:hover {
  opacity: 0.85;
}

@media (max-width: 640px) {
  .cookie-notice {
    left: 12px;
    bottom: 12px;
    width: calc(100% - 24px);
    padding: 18px;
  }

  .cookie-notice__text {
    font-size: 14px;
  }
}



/* =========================
   body
========================= */
body{
	background:#c4aa8c;}

header{
	width:100%;
	height:360px;
	display:flex;
	justify-content:center;
	overflow:hidden;
	position:relative;}

header.sec{
	height:85px;}

/* =========================
   nav
========================= */
nav{
	width:1100px;
	position:absolute;
	display:flex;
	justify-content:space-between;
	align-items:center;
	z-index:10;
	margin-top:20px;}

nav a{
	color:#fff;
	font-size:0.9em;
	letter-spacing:0.1em;
	text-decoration:none;}

nav h1{
	width:260px;
	height:45px;}

nav h1 img{
	width:260px;
	height:45px;}

nav ul{
	display:flex;
	flex-direction:row;
	gap:20px;}

@media screen and (max-width: 1177px) {
nav{
	width: calc(100% - 60px);
	margin: 20px auto 0;}
}

@media screen and (max-width: 1100px) {
  nav{
    width: calc(100% - 40px);
  }

  nav > ul{
    display: none;
  }
}



/* =========================
   site-nav
========================= */
.site-nav{
  position: relative;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 24px;
}

.site-nav h1{
  margin: 0;
  flex-shrink: 0;
}

.site-nav h1 img{
  display: block;
  height: auto;
  max-width: 180px;
}

.pc-nav{
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pc-nav a{
  color: #fff;
  text-decoration: none;
}

/* ハンバーガー */
.hm{
  display: none;
  position: relative;
  width: 45px;
  height: 45px;
  background: #fff;
  cursor: pointer;
  z-index: 10002;
  flex-shrink: 0;
}

.hm span{
  position: absolute;
  left: 50%;
  width: 24px;
  height: 2px;
  background: #5e9dc9;
  border-radius: 999px;
  transform: translateX(-50%);
  transition:
    top .3s ease,
    transform .3s ease,
    opacity .3s ease;
}

.hm span:nth-child(1){
  top: 14px;
}

.hm span:nth-child(2){
  top: 22px;
}

.hm span:nth-child(3){
  top: 30px;
}

.hm.is-open span:nth-child(1){
  top: 22px;
  transform: translateX(-50%) rotate(45deg);
}

.hm.is-open span:nth-child(2){
  opacity: 0;
}

.hm.is-open span:nth-child(3){
  top: 22px;
  transform: translateX(-50%) rotate(-45deg);
}

/* スマホメニュー */
.sp-menu{
  position: fixed;
  inset: 0;
/*  background: rgba(255,255,255,1);*/
	background:#5e9dc9;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-12px);
  transition:
    opacity .3s ease,
    visibility .3s ease,
    transform .3s ease;
  z-index: 10001;
  padding: 96px 24px 32px;
}

.sp-menu.is-open{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.sp-menu ul{
	display:flex;
	flex-direction:column;
	gap:0;
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid rgba(255,255,255,.5);}

.sp-menu li{
	border-bottom: 1px solid rgba(255,255,255,.5);}

.sp-menu a{
	display: block;
	color: #fff;
	text-decoration: none;
	padding: 18px 0;
	font-size: 18px;
	line-height: 1.4;}

/* メニュー開閉中の背景スクロール停止 */
body.menu-open{
  overflow: hidden;
}

/* スマホ時だけ切り替え */
@media screen and (max-width: 1100px){
  .pc-nav{
    display: none;
  }

  .hm.sp{
    display: block;
  }
}



/* =========================
   header
========================= */

@media screen and (max-width: 640px) {
header{
	height:280px;}

header video{
	width: auto;
	height: 280px;
	flex-shrink: 0;
	display: block;
	object-fit: cover;}
}

/* =========================
   article
========================= */
article{
	width:100%;
	margin:0 auto;
	background:#c4aa8c;}

article.all_w{
	background:#fff;}


/* =========================
   section
========================= */
section{
	width:1100px;
	margin:0 auto;}

@media screen and (max-width: 1177px) {
section{
	width: calc(100% - 60px);
	margin: 0 auto;}
}

@media screen and (max-width: 640px) {
section{
	width: calc(100% - 40px);
	margin: 0 auto;}
}




/* =========================
   top_main
========================= */
.top_main_title h2{
	width:880px;
	margin:60px auto;}

.top_main_title h2 img{
	width:100%;}

.top_main_theme{
	position:relative;
	text-align:center;}

.top_main_theme img.kikan{
	position:absolute;
	width:175px;
	height:175px;
	top:-30px;
	right:50px;}

@media screen and (max-width: 1000px) {
.top_main_theme img.kikan{
	top:-40px;
	right:0px;}
}

@media screen and (max-width: 840px) {
.top_main_theme img.kikan{
	width:23%;
	height:auto;}
}

@media screen and (max-width: 640px) {
.top_main_theme img.kikan{
	top:-50px;
	right:-10px;}
}

.top_main_theme h3{
	font-size:1em;
	font-weight:700;
	text-align:center;
	margin-bottom:0.5em;
	letter-spacing:0.1em;}

.top_main_theme h4{
	font-size:2em;
	line-height:1.5em;
	font-weight:700;
	text-align:center;
	letter-spacing:0.1em;
	margin-bottom:40px;
	color:#5e9dc9;}

.top_main_theme p{
	font-size:0.9em;
	line-height:1.8em;
	text-align:center;
	margin-bottom:0.5em;}

.top_main_theme p::before{
	content:'●';
	font-size:0.9em;
	line-height:1.8em;
	color:#6999c9;
	margin-right:0.5em;}

@media screen and (max-width: 957px) {
.top_main_title h2{
	width:100%;
	margin:60px auto;}
}

.top_youtube{
	display: block;
	width: 100%;
	max-width: 560px;
	aspect-ratio: 560 / 315;
	height: auto;
	margin:0 auto 40px;}



/* =========================
   sec_main
========================= */
.sec_main{
	text-align:left;}

.sec_main h3{
	font-size:1em;
	font-weight:700;
	text-align:center;
	margin-bottom:0.5em;
	letter-spacing:0.1em;}

.sec_main h4{
	font-size:2em;
	line-height:1.5em;
	font-weight:700;
	text-align:center;
	letter-spacing:0.1em;
	margin-bottom:40px;
	color:#5e9dc9;}

.sec_main p{
	font-size:0.9em;
	line-height:1.8em;
	text-align:justify;
	margin-bottom:0.5em;}

.sec_youtube{
	display: block;
	width: 100%;
	max-width: 560px;
	aspect-ratio: 560 / 315;
	height: auto;
	margin:0 auto 40px;}



/* =========================
   double_box
========================= */
article.all_w{
	padding:60px 0;}

.double_box{
	width:1100px;
	margin:0 auto;
	display:flex;
	justify-content:space-between;}

.double_box .block{
	width:45%;}

.double_box .block .video-container .wave-video{
	height: 100px;
	width: auto;
	flex-shrink: 0;
	display: block;
	object-fit: cover;}

.double_box .block h2{
	position:relative;
	margin-bottom:10px;}

.double_box .block h2 span{
	position:absolute;
	bottom:10px;
	left:10px;
	font-size:1.8em;
	line-height:1em;
	color:#9c876f;}

.double_box .block a{
	color:#5e9eca;}

.double_box .block dl.news{
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	align-items:stretch;}

.double_box .block dl.news dt{
	margin-top:10px;
	font-size:1.0em;
	line-height:1.8em;
	font-weight:600;}

.double_box .block dl.news dd{
	font-size:0.9em;
	line-height:1.8em;}

.double_box .block dl.dates{
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	align-items:stretch;}

.double_box .block dl.dates dt{
	width:130px;
	margin-top:10px;
	color:#5e9eca;
	font-size:0.9em;
	line-height:1.8em;
	font-weight:600;}

.double_box .block dl.dates dd{
	width:calc(100% - 130px);
	margin-top:10px;
	font-size:0.9em;
	line-height:1.8em;}

@media screen and (max-width: 1177px) {
.double_box{
	width:calc(100% - 60px);}
}

@media screen and (max-width: 754px) {
.double_box .block .video-container .wave-video{
	width:100%;
	height:auto;}
}

@media screen and (max-width: 640px) {
.double_box{
	width:calc(100% - 40px);
	flex-direction:column;
	gap:40px;}

.double_box .block{
	width:100%;}

.double_box .block .video-container .wave-video{
	width:auto;
	height:100px;}
}

.sponsor_logo{
	width:1100px;
	margin:0 auto;}

@media screen and (max-width: 1177px) {
.sponsor_logo{
	width:calc(100% - 60px);}
}

@media screen and (max-width: 640px) {
.sponsor_logo{
	width:calc(100% - 40px);}
}

.sponsor_logo img{
	width:100%;}


/* =========================
   back_home
========================= */
.back_home{
	margin-top:60px;
	text-align:center;}

.back_home a{
	display:inline-block;
	background:#5e9eca;
	padding:10px 20px;
	line-height:1em;
	color:#fff;}




/* =========================
   footer
========================= */
footer{
	background:#5e9eca;
	padding:60px;
	color:#fff;}

footer section{
	margin:0 auto;
	display:flex;
	justify-content:center;
	gap:80px;}

footer .logo{
	width:70px;}

footer .text{
	width:calc(100% - 70px);
	display:flex;
	flex-direction:column;}

footer .text .title{
	font-size:1em;
	line-height:1.6em;}

footer .list ul{
	display:flex;
	gap:10%;}

footer .list li{
	font-size:0.9em;
	line-height:1.8em;}

footer .list li h4{
	font-size:1rem;
	line-height:1.8em;
	margin-top:15px;}

footer .list li a{
	color:#fff;}

footer .sns ul{
	display:flex;
	gap:18px;}

footer .sns{
	margin-top:20px;}

footer .sns img{
	height:21px;}

@media screen and (max-width: 640px) {
footer{
	padding:40px 0;}

footer section{
	flex-direction:column;
	gap:20px;}

footer .logo{
	width:100%;
	text-align:center;}

footer .logo img{
	width:70px;}

footer .text .title{
	text-align:center;
	padding-bottom:20px;
	border-bottom:1px solid #fff;}

footer .text{
	width:100%;
	display:flex;
	flex-direction:column;}

footer .list ul{
	flex-direction:column;}
}


header .wave-video.js-preload-video{
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s ease, visibility 1s ease;
	display: block;
}

header .wave-video.js-preload-video.is-visible{
	opacity: 1;
	visibility: visible;
}



.youtube-embed-consent {
  width: 100%;
  max-width: 960px;
  margin: 2rem auto 0;
}

.youtube-embed-consent__placeholder {
  position: relative;
  max-width: 560px;
  aspect-ratio: 560 / 315;
  overflow: hidden;
  background:
    linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
    #1d2f4d;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 60px;
}


.youtube-embed-consent__content {
  width: min(92%, 760px);
  text-align: center;
  color: #fff;
}

.youtube-embed-consent__text {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.8;
}

.youtube-embed-consent__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.youtube-embed-consent__play,
.youtube-embed-consent__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.85rem 1.25rem;
  border-radius: 9999px;
  text-decoration: none;
  font-size: 0.95rem;
  line-height: 1.2;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.youtube-embed-consent__play {
  border: none;
  background: #ffffff;
  color: #003894;
}

.youtube-embed-consent__link {
  border: 1px solid #ffffff;
  background: transparent;
  color: #ffffff;
}

.youtube-embed-consent__play:hover,
.youtube-embed-consent__link:hover {
  opacity: 0.85;
}

.top_youtube--embedded,
.top_youtube {
  display: block;
  width: 100%;
  max-width: 560px;
  aspect-ratio: 560 / 315;
  height: auto;
  margin: 0 auto 60px;
  border: 0;}



@media (max-width: 767px) {
  .youtube-embed-consent__content {
    width: 92%;
  }

  .youtube-embed-consent__text {
    font-size: 0.9rem;
    line-height: 1.7;
  }

  .youtube-embed-consent__actions {
    display: block;
  }

  .youtube-embed-consent__play,
  .youtube-embed-consent__link {
    width: 100%;
  }

  .youtube-embed-consent__link {
    margin-top: 10px;
  }
}