@charset "UTF-8";
/* CSS Document */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html, body {
    overflow-x: hidden;
}
body {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-family: "Noto Sans JP", sans-serif;
    font-size:16px;
	margin: 0;
	padding: 0;
	background-image:url("../img/common/bg-base.jpg");
	background-repeat: repeat;
}
a{
	transition : all 0.5s ease 0s;
	text-decoration: none;
	color:#414141;
	cursor:pointer;
}
/* iOSの自動リンクスタイルを無効にする */
a[href^="tel"],
a[href^="mailto"],
a[href^="geo"] { /* geoは住所リンクに使用されることがあります */
  text-decoration: none !important; /* !importantを追加して、より強制的に非表示に */
  color: inherit !important; /* リンク色も強制的に上書き */
  pointer-events: none; /* クリック可能にしない */
}
a[href^="tel"]:hover,
a[href^="mailto"]:hover,
a[href^="geo"]:hover {
  text-decoration: none !important;
  color: inherit !important;
}


p{
	margin-bottom:10px;
}
img{
	width: 100%;
	vertical-align:top;
}
.mincho{
	font-family: "Zen Old Mincho", serif;
}
header,section{
    max-width:1920px;
    margin:0 auto;
}
section{
	line-height:1;
}
.container{
	line-height:1.5;
    max-width:1140px;
    margin:0 auto;
    padding:50px 30px;
}

.heading-title {
	margin-bottom:70px;
  position: relative;
  text-align: center;
}

.heading-title h1 {
	font-family: "Zen Old Mincho", serif;
	font-size:1.8rem;
	font-weight:600;
  position: relative;
  display: inline-block;
	z-index:2;
}
.heading-title h1::before {
  content: '';
  position: absolute;
  background-image: url('../img/common/heading-wave.svg');
  width: 200px;
  height: 150px;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
	background-size: contain;
  background-repeat: no-repeat;
	z-index:-1;
}
.sec-archive .heading-title {
	margin-bottom:50px;
}
.sec-archive .heading-title h1::before {
  background-image: url('../img/common/heading-wave-navy.svg');
}
/*ロゴ&ナビ*/
/* Wrapper to ensure full width background */
.menu-block-wrapper {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    transition: transform 0.3s ease, opacity 0.3s ease;
    opacity: 0;
    transform: translateY(-100%); /* 初期状態で上に隠す */
}

/* Visible state for menu-block-wrapper */
.menu-block-wrapper-visible {
    opacity: 1;
    transform: translateY(0); /* 表示時に元の位置にスライド */
}

/* Menu block base styling */
.menu-block {
    max-width: 1140px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
}

/* Visible state for menu-block */
.menu-block-visible {
    opacity: 1;
    transform: translateY(0); /* 表示時に元の位置にスライド */
}

.logo {
    display: inline-block;
    padding: 15px;
}

.logo img {
    max-width: 100px;
}

.nav-menu {
    display: inline-block;
}

.nav-menu ul {
    display: flex;
    list-style: none;
}

.nav-menu ul li {
/*	font-family: "Zen Old Mincho", serif;*/
	font-weight: 600;
    margin: 0 15px;
	display: inline-block;
	position: relative;
}

.nav-menu ul li a {
    text-decoration: none;
    color: #414141;
    font-size: 0.9rem;
    padding: 20px 0 10px;
}

.nav-menu ul li a::before {
  content: '';
  position: absolute;
  width: 0;
  height: 3px;
  bottom: -3px;
  left: 50%;
  background-color: #dac770;
  transition: all 0.3s ease-out;
  transform: translateX(-50%);
}

.nav-menu ul li a:hover::before {
  width: 100%;
  left: 0;
  transform: translateX(0);
}

/* Hamburger styling */
.hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 77px;
    height: 77px;
    cursor: pointer;
    padding: 20px;
    background-color:#1a2645;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1001;
}

.hamburger span {
    display: block;
    width: 100%;
    height: 6px;
    background-color: white;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

/* Mobile menu styling */
.mobile-menu {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 200px;
    height: 100vh;
	background-color: #eae4df;
    background-image:url("../img/common/bg-mobile-menu.jpg");
	background-repeat:no-repeat;
	background-position: left bottom;
	background-size: contain;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1);
    padding-top: 80px;
    transform: translateX(100%); /* 初期状態で画面外に */
    transition: transform 0.3s ease; /* スライドアニメーション */
    z-index: 1000;
    clip-path: path("M 0 0 Q -100 50 0 100 V 1000 H 250 V 0 Z");/* 左辺を湾曲 */
}

.mobile-menu.open {
    transform: translateX(0); /* 横からスライドして表示 */
}

.mobile-menu ul {
    list-style: none;
}

.mobile-menu ul li {
/*	font-family: "Zen Old Mincho", serif;*/
	font-weight: 600;
    margin: 20px 0;
    text-align: center;
}

.mobile-menu ul li a {
    text-decoration: none;
    color: #333;
    font-size:0.9rem;
}


.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(12px, 10px) scale(1.1);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(11px, -10px) scale(1.1);
}
@media (max-width: 1040px) {
.nav-menu ul li {
    margin: 0 8px;
}
}
@media (max-width: 950px) {
.nav-menu {
	display: none;
}
.nav-menu ul li {
    margin: 0 9px;
}
.hamburger {
	display: flex;
}
}
@media (max-width: 500px) {
.logo {
    display: inline-block;
    padding: 8px 15px;
}
.hamburger {
    width: 64px;
    height: 64px;
    padding: 15px;
}
.hamburger.active span:nth-child(1) {
    transform: rotate(45deg) translate(10px, 10px) scale(1.1);
}
.hamburger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(10px, -10px) scale(1.1);
}
}

/*メインタイトル*/
.header{
	background-color: #ffffff;
	position:relative;
	height: 1050px;
/*	border-bottom:10px #1a2645 solid;*/
	line-height:1;
}
.header-bottom{
	max-height:700px;
	position: absolute;
	bottom:0;
	right: 0;
	left: 0;
	margin: 0 auto;
	width:100%;
	overflow:hidden;
}
.header-title{
	position: absolute;
	bottom:40px;
	right: 0;
	left: 0;
	margin: 0 auto;
	max-width:1140px;
	width:100%;
}
.header-object{
	position: absolute;
}

.catch{
	right: 5%;
	top:30px;
}
.catch img{
	width:100%;
	max-width:100px;
}
.person-01{
	left: 5%;
	top:15px;
}
.person-01 img{
	width:100%;
	max-width:350px;
}
.person-02{
	right: 45%;
	top:-60px;
}
.person-02 img{
	width:100%;
	max-width:350px;
}
.person-03{
	left: 15%;
	top:30px;
}
.person-03 img{
	width:100%;
	max-width:480px;
}
.person-04{
	right: 10%;
	top:0;
}
.person-04 img{
	width:100%;
	max-width:500px;
}
.person-05{
	right: 8%;
	top:120px;
}
.person-05 img{
	width:100%;
	max-width:800px;
}
.person-01, .person-02, .person-03, .person-04, .person-05 {
    animation-name: fadein;
    animation-duration: 1s;
    animation-fill-mode: both;
}
.catch{
    animation-name: fadein2;
    animation-duration: 0.5s;
    animation-fill-mode: both;
}

.person-01 { animation-delay: 0s; }
.person-02 { animation-delay: 0.5s; }
.person-03 { animation-delay: 1s; }
.person-04 { animation-delay: 1.5s; }
.person-05 { animation-delay: 2s; }
.catch {animation-delay: 3s; }

@keyframes fadein {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadein2 {
    from {
        opacity: 0;
        transform: scale(1.5);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}


/*お申し込み*/
.application{
	padding-top:20px;
	line-height:1;
	background-color:#1A2645;
	text-align: center;
	z-index:10000;
	margin-top:-15px;
	position:relative;
	z-index:999;
}
.btn-block{
	margin:0 auto;
	padding:10px 0 50px;
}
.btn-application{
	border:3px #ffffff solid;
	color:#333333;
	font-size:1.8rem;
	font-weight:600;
	text-decoration: none;
	padding:5px 35px;
	background-color:#FCCF02;
	border-radius:35px;
}
.btn-application:hover{
	color:#ffffff;
	background-color:#4B5161;
}
.btn-application i{
	font-size:1.5rem;
	padding-right:5px;
}
@media screen and (max-width:500px){
.btn-application{
	font-size:1.4rem;
    padding: 5px 25px;
}
.btn-application i{
	font-size:1.35rem;
}
}
@media screen and (max-width:400px){
.btn-application{
	font-size:1.3rem;
    padding: 5px 25px;
}
.btn-application i{
	font-size:1.2rem;
}
}

/*ABOUT*/
.sec-about{
	background-color:#F0E6D6;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	height:600px;
}
.about-grid{
	display: grid;
	gap:0;
	grid-template-columns:3fr 2fr;
}
.about-contents{
	position:relative;
	z-index: 2;	
}
.about-headeing{
	margin-top:30px;
}
.about-desc{
	font-size:1.3rem;
	text-align: center;
	font-weight:600;
	padding-top:30px;
}
.about-desc p{
	margin-bottom:20px;
	line-height:1.5;
}
.about-contents h1{
	font-size:2rem;
	text-align: center;
}
.about-contents h2{
	font-size:1.4rem;
	text-align: center;
	margin-bottom:30px; 
}
@media screen and (max-width:1050px){
.sec-about{
	height:800px;
}
.about-grid{
	grid-template-columns:3fr 1.5fr;
}
}
@media screen and (max-width:950px){
.sec-about{
	height:920px;
}
.about-grid{
	grid-template-columns:1fr;
}
.about-headeing {
    margin-top: 10px;
}
.about-desc {
    padding-top: 20px;
}
}
@media screen and (max-width:750px){
.about-grid{
	grid-template-columns:1fr;	
}
}
@media screen and (max-width:600px){
.about-contents h1{
	font-size:1.8rem;
}
.about-desc{
	font-size:1.2rem;
	padding-top:0;
}
.about-desc p{
	line-height:1.7;
}
}
@media screen and (max-width:550px){
.about-contents h1{
	font-size:1.6rem;
}
}
@media screen and (max-width:500px){
.about-contents h1{
	font-size:1.4rem;
}
.about-contents h2{
	font-size:1.2rem;
}
.about-desc{
	font-size:1.1rem;	
}
}
@media screen and (max-width:450px){
.about-contents h1{
	font-size:1.25rem;
}
}
@media screen and (max-width:400px){
.about-contents h1{
	font-size:1.6rem;
	line-height:1.2;
	margin-bottom:8px;
}
.about-contents h2{
	font-size:1.3rem;
}
}


/*スライダー*/
.slide-block {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 600px;
  height: 600px;
  z-index: 1;
	border-bottom:2px #F0E6D6 solid;
	border-left:2px #F0E6D6 solid;
}
.slider {
	width: 100%;
	height: 100%;
	position: relative;
	opacity: 0;
	transition: opacity .3s linear;
}
.sec-about .slick-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
	object-position: 80% 50%; /* 画像を上下左右中央に配置 */
}
.slider-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../img/entry/slider-overlay.png') no-repeat left center;
  background-size: cover;
  z-index: 2;
	border-bottom:2px #F0E6D6 solid;
	border-left:2px #F0E6D6 solid;
}
.slider.slick-initialized{
  opacity: 1;
}


/* .slider用のZoomUpアニメーション */
.slider .add-animation {
  animation: zoomup 10s linear 0s normal both !important;
}

/* 他のスライダー用のフェードイン効果 */
.hospitality-grid .add-animation,
.hospitality-grid-02 .add-animation,
.school-pic-grid .add-animation {
  opacity: 0 !important;
  transition: opacity 1s ease !important;
}

@keyframes zoomup {
  0% {
    transform: scale(1.5);
  }
  100% {
    transform: scale(1);
  }
}
@media screen and (max-width:700px){
.sec-about{
	height:820px;
}
.slide-block {
    width: 450px;
    height: 450px;
}
}
@media screen and (max-width:550px){
.sec-about {
	height: 780px;
}
.slide-block {
    width: 400px;
    height: 400px;
}
}
@media screen and (max-width:500px){
.sec-about {
	height: 850px;
}
}
@media screen and (max-width:350px){
.slide-block {
    width: 380px;
    height: 380px;
}
}

/*開催概要*/
.sec-info{
	background-color:#F0E6D6;
}
.info-contents{
	margin:0 auto;
	padding:0;
	background:rgba(255,255,255,0.4);
/*
	background-image: url("../img/info/bg-info.png");
	background-repeat: repeat-y;
	background-size: contain;*/
}
.info-contents-block{
	padding:30px 120px 60px;
}
.info-contents-block p{
	font-size:1.2rem;
}
h2.info-heading{
	font-size:1.3rem;
	font-weight:600;
	text-align: center;
	padding:8px 20px;
	background-color:#f3982f;
}
.info-grid01{
	padding: 0;
	display:grid;
	gap:0;
	grid-template-columns:1fr 4fr;
}
.info-grid01-item{
	padding:20px 15px;
}
.separate-line{
	border-bottom:1px #333333 dotted;
}
.event-name h1{
	font-size:1.3rem;
	font-weight:600;
	line-height:1.3;
}
.event-name h6{
	display: inline-block;
	font-size:0.9rem;
	padding: 2px 5px;
	/*background-color: #f3982f;*/
	border:1px #333333 solid;
	margin:15px auto 3px;
}
.event-name h3{
	font-size:1.3rem;
	font-weight:600;
	line-height:1.3;
}
.datetime span{
	font-size:1.2rem;
}
.location-info h3{
	font-size:1.3rem;
	margin-bottom:15px;
}
.location-info p{
	font-size:1.2rem;
}
.location-map{
	margin-top:30px;
}
.location-map img{
	max-width:450px;
}
.google-map{
	margin-top:10px;
	padding:5px 15px;
	display:inline-block;
	background-color: #414141;
	color:#ffffff;
	border-radius: 20px;
	font-weight:600;
}
.google-map:hover{
	background-color: #ffffff;
	color:#414141;
}
h3.application-heading{
	margin-bottom:10px;
	padding:5px 15px;
	display:inline-block;
	background-color:#00465C;
	color:#ffffff;
	border-radius: 3px;
	font-weight:600;
}
.sec-info .btn-block{
	text-align: center;
	margin:15px auto;
}
.sec-info .btn-block a{
	font-size:1.8rem;
	border:3px #4b5161 solid;
}
.info-grid02{
	margin:30px auto;
	padding: 0;
	display:grid;
	gap:30px;
	grid-template-columns:1fr 1fr;
}
.info-grid02-item{
	padding:0;
}
.info-note ul li{
	font-size:1.2rem;
	list-style:none;
	text-indent:-0.6em;
	padding-left:0.6em;
}
.info-remarks{
	margin-top:30px;
	text-align:center;
	font-size:1.2rem;
	font-weight:600;
	padding:5px 20px;
	background-color:#ffffff;
	border:4px #00465C solid;
	color:#00465C;	
	line-height:1.2;
}
.info-remarks span{
	font-size:1.6rem;
}
.secretariat-name h3{
	font-size:1.3rem;
	margin-bottom: 15px;
	line-height:1.3;
}

@media screen and (max-width:1140px){
.info-contents-block {
    padding: 30px 80px 60px;
}
}
@media screen and (max-width:950px){
.sec-info{
	padding-top:90px;
}
.info-contents-block {
    padding: 30px 60px 60px;
}
}
@media screen and (max-width:750px){
.info-contents-block {
    padding: 30px 30px 60px;
}
}
@media screen and (max-width:700px){
.info-grid01{
	margin:10px auto;
	padding-bottom:20px;
	gap:10px;
	grid-template-columns:1fr;
	border-bottom:none;
}
.info-grid01-item{
	padding:0 15px;
}
.info-grid01-item:first-child{
	display:inline-block;
	padding:5px 15px;
	background-color:#ffffff;
	font-weight:600;
	border-radius:0;
}
}
@media screen and (max-width:600px){
.sec-info{
	padding-top:110px;
}
.info-contents-block {
        padding: 30px 15px 60px;
}
.event-name h1{
	font-size:1.2rem;
}
.event-name h3{
	font-size:1.2rem;
}
.location-info h3{
	font-size:1.2rem;		
}
.info-grid02{
	grid-template-columns:1fr;
}
.info-note{
	padding:0 20px;
}
.secretariat-name h3{
	font-size:1.2rem;
}
}
@media screen and (max-width:500px){
.sec-info .btn-block a{
	font-size:1.4rem;
}
.datetime span{
	font-size:1.1rem;
}
.info-contents-block p{
	font-size:1rem;
}
.info-note ul li{
	font-size:1rem;
}
}
@media screen and (max-width:400px){
.sec-info .btn-block a{
	font-size:1.3rem;
}
}

/*出演校のご紹介*/
.sec-entry{
	background-color:#F0E6D6;
}
.sec-entry .heading-title{
	position:relative;
	z-index: 2;	
}
a .entry-block{
	transition: .3s;
}
a:hover .entry-block{
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-6px);
}
.school-pic{
	height:220px;
	overflow: hidden;
	position: relative;
}
.school-pic img{
	height: 220px;
	object-fit:cover;
	object-position: 50% 50%;
}
.pref-name{
	position: absolute;
	right:0;
	top:0;
	background-color: #FCCF02;
	color:#414141;
/*	border:2px #414141 solid;*/
	font-size:1rem;
	font-weight:600;
	padding:3px 10px;
	border-radius: 0 0 0 5px;
}
.pref-name.twin-name{
	right:50%;
}

.school-name{
	font-size:1rem;
	font-weight:600;
	padding:5px 0 4px;
	line-height:1.2;
}
.twin-school-name{
	line-height:1.4;
}
.entry-cat{
	font-size:0.9rem;
	font-weight:600;
	color:#E6978A;
	padding:0 0 8px;
	line-height:1.2;
}
.school-pic-grid{
	display: grid;
	gap:20px;
	grid-template-columns:1fr 1fr;
}
.sec-entry .slick-slider{
	position: relative!important;
}

@media screen and (max-width:800px){
.sec-entry .container{
	padding-top:80px;
	padding-bottom: 50px;
}
}
@media screen and (max-width:750px){
.school-pic{
	height:320px;
}
.school-pic img{
	height: 320px;
}
}
@media screen and (max-width:600px){
.school-pic-grid {
    display: block;
	width: 100%;
  }
.school-pic-grid-item {
    margin-bottom: 10px;
}
}
@media screen and (max-width:500px){
.school-pic{
	height:300px;
}
.school-pic img{
	height: 300px;
}
}
@media screen and (max-width:400px){
.school-pic{
	height:220px;
}
.school-pic img{
	height: 220px;
}
}


/* 初期設定 */
.accordion-btn {
  display: none;
  width: 100%;
  cursor: pointer;
  padding: 10px;
  text-align: left;
  border: none;
  outline: none;
  font-size: 1.3rem;
	font-weight:600;
  position: relative;
	margin-bottom:10px;
	background-color: #1A2645;
	border:2px #ffffff solid;
	color:#ffffff;
	border-radius:8px;
    font-size: 1.4rem;
    text-align: center;
}

.accordion-icon {
  position: absolute;
  right: 18px;
  top: 50%;
  width: 12px;
  height: 12px;
  transform: translateY(-50%);
  display: inline-block;
  transition: transform 0.3s ease;
}

.accordion-icon::before,
.accordion-icon::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  transform-origin: center;
  transition: transform 0.3s ease;
}
.accordion-btn .accordion-icon::before,
.accordion-btn .accordion-icon::after,.accordion-btn-02 .accordion-icon::before,
.accordion-btn-02 .accordion-icon::after{
  background-color: #ffffff;
} 
.accordion-btn-03 .accordion-icon::before,
.accordion-btn-03 .accordion-icon::after{
  background-color: #4B5161;
} 

/* プラスアイコンの横棒 */
.accordion-icon::before {
  transform: rotate(0deg);
}

/* プラスアイコンの縦棒 */
.accordion-icon::after {
  transform: rotate(90deg);
}

/* コンテンツが開いた状態でマイナスアイコンに変化 */
.accordion-btn.active .accordion-icon::after {
  transform: rotate(0deg);
}

/* アコーディオンコンテンツ */
.accordion-content {
  display: none;
  padding: 0;
}

.entry-grid{
  display: grid;
  gap: 20px;
}

.entry-block {
	width:100%;
	height:auto;
	background-color: #ffffff;
	padding: 20px;
	text-align: center;
	border-radius:10px;
	border:2px #4B5161 solid;
}
.entry-detail{
	padding: 3px 10px;
	display:block;
	border-radius: 8px;
	background-color: #f3982f;
	color:#ffffff;
}

/*モーダル内要素-出場校*/
.program-title{
	text-align: center;	
	margin:50px auto 30px;
}
h4.program-heading{
	font-size:1.1rem;
	font-weight:900;
	position: relative;
	display: inline-block;
	padding-top:30px;
}
h4.program-heading::before{
  content: '';
  position: absolute;
  background-image: url('../img/common/pinetree.svg');
  width: 90px;
  height: 50px;
  top: -20px;
  left: 50%;
  transform: translate(-50%);
	background-size: contain;
  background-repeat: no-repeat;
	z-index:-1;
}
h2.program-name{
	margin:5px auto 0;
}
.hilights{
	width:100%;
}
.hilights-01{
	margin:15px auto 0;
	width:100%;
}
.hilights-02{
	margin:0 auto 15px;
	width:100%;
}
.hilights h3{
	text-align: center;
	padding: 5px;
	border:3px #f3982f solid;
	background-color: #f3982f;
	color: #ffffff;
}
.hilights-01 h3{
	border-radius:8px 8px 0 0;
}
.hilights-02 h3{
	border-radius:0;
}
.hilights .hilights-desc{
	text-align: left;
	padding: 15px;
	border:3px #f3982f solid;
}
.hilights-01 .hilights-desc{
	border-radius:0;
}
.hilights-02 .hilights-desc{
	border-radius:0 0 8px 8px;
}
.other-info{
	margin:20px auto;
}
.other-info h4{
	font-size:1.2rem;
	margin-bottom:10px;
	text-indent:-1em;
	padding-left:1em;
}
.other-info h4 span{
	font-size:1rem;
}
/* 750px未満の設定 */
@media (max-width: 750px) {
.accordion-btn {
    display: block;
  }
.entry-grid {
    grid-template-columns: 1fr; /* 1列レイアウト */
  }
}

/* 750px以上の設定 */
@media (min-width: 750px) {
.accordion-content {
    display: block; /* 750px以上ではコンテンツを常に表示 */
  }
.entry-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* 950px以上の設定 */
@media (min-width: 950px) {
.entry-grid {
    grid-template-columns: repeat(3, 1fr); 
  }
}

/*おもてなし隊*/
.sec-hospitality{
	background-color: #EFC8C5;
	background-image: url("../img/hospitality/bg-upper.png"),url("../img/hospitality/bg-lower.png");
	background-repeat: no-repeat, no-repeat;
	background-position: center top,center bottom;
	background-size: contain, contain;
}
.sec-hospitality .container{
	padding: 140px 30px 120px;
}
.hospitality-desc {
    text-align: center;
}
.hospitality-desc p{
    font-size:1.2rem;
}
.hospitality-pic{
	margin:30px auto;	
}
.hospitality-grid{
	display: grid;
	gap:30px;
	grid-template-columns:1fr 1fr 1fr;
}
.hospitality-grid-item{
	text-align: center;
}
.hospitality-grid-item img{
	border-radius:10px;
}
.hospitality-grid-02{
	display: grid;
	gap:30px;
	grid-template-columns:1fr 1fr;
}
.hospitality-grid-item-02{
	text-align: center;
}
.hospitality-btn{
	text-align: center;
}
.hospitality-btn a.btn{
/*
	border:3px #414141 solid;
	font-size:1.4rem;
	font-weight:700;
	background-color:#FCCF02;
	color:#414141;
	border-radius:30px;*/
	padding: 10px 40px;
	display: inline-block;
}
.hospitality-btn a.btn span{
	padding-left:15px;
}
.activity-list {
    margin: 20px auto;
}
.activity-list h3{
    margin: 0 auto 10px;
}
.activity-list ul li{
	list-style: none;
}
.activity-list ul li i{
	color:#4B5161;
}
.committee{
    margin: 40px auto 0;
}
.committee h2{
    font-size:1.4rem;
    margin: 0 auto 10px;
}
.committee p{
    margin: 0 auto 30px;
}

.committee-grid {
	display: grid;
	grid-template-columns: 1fr 1.5fr 3fr;
	grid-template-rows: repeat(17, 1fr);
	gap: 3px;
	align-items:center;
}
.committee-item {
	width: 100%;
	height: 100%;
}
.committee-box {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color:#F0E6D6;
	padding: 10px;
	border-radius:3px;
	line-height:1.2;
}
.div1 .committee-box,.div2 .committee-box,.div3 .committee-box {
    background-color:#FCCF02;
}

.div1 { grid-area: 1 / 1 / 2 / 2; }
.div2 { grid-area: 1 / 2 / 2 / 3; }
.div3 { grid-area: 1 / 3 / 2 / 4; }
.div4 { grid-area: 2 / 1 / 3 / 2; }
.div5 { grid-area: 2 / 2 / 3 / 3; }
.div6 { grid-area: 2 / 3 / 3 / 4; }
.div7 { grid-area: 3 / 1 / 5 / 2; }
.div8 { grid-area: 3 / 2 / 4 / 3; }
.div9 { grid-area: 3 / 3 / 4 / 4; }
.div10 { grid-area: 4 / 2 / 5 / 3; }
.div11 { grid-area: 4 / 3 / 5 / 4; }
.div12 { grid-area: 5 / 1 / 18 / 2; }
.div13 { grid-area: 5 / 2 / 6 / 3; }
.div14 { grid-area: 6 / 2 / 7 / 3; }
.div15 { grid-area: 5 / 3 / 7 / 4; }
.div16 { grid-area: 7 / 2 / 8 / 3; }
.div17 { grid-area: 8 / 2 / 9 / 3; }
.div18 { grid-area: 7 / 3 / 9 / 4; }
.div19 { grid-area: 9 / 2 / 10 / 3; }
.div20 { grid-area: 10 / 2 / 11 / 3; }
.div21 { grid-area: 9 / 3 / 11 / 4; }
.div22 { grid-area: 11 / 2 / 12 / 3; }
.div23 { grid-area: 12 / 2 / 13 / 3; }
.div24 { grid-area: 11 / 3 / 13 / 4; }
.div25 { grid-area: 13 / 2 / 14 / 3; }
.div26 { grid-area: 13 / 3 / 14 / 4; }
.div27 { grid-area: 14 / 2 / 15 / 3; }
.div28 { grid-area: 15 / 2 / 16 / 3; }
.div29 { grid-area: 14 / 3 / 16 / 4; }
.div30 { grid-area: 16 / 2 / 17 / 3; }
.div31 { grid-area: 17 / 2 / 18 / 3; }
.div32 { grid-area: 16 / 3 / 18 / 4; }

.sec-hospitality .slick-slider{
	position: relative!important;
}
.hospitality-grid .slick-dots{
	bottom:-15px!important;	
}

@media screen and (max-width:1140px){
.sec-hospitality .container{
	padding: 140px 15px 120px;
}
}
@media screen and (max-width:750px){
.hospitality-btn a.btn{
	padding: 10px;
	display: block;
}
}
@media screen and (max-width:600px){
.sec-hospitality .container{
	padding: 100px 10px 80px;
}
.hospitality-grid,.hospitality-grid-02 {
    display: block;
  }
.hospitality-grid-item {
    margin-bottom: 10px;
  }
.committee-box {
	padding:5px;
}
.committee-box {
	font-size:0.9rem;
}
}
@media screen and (max-width:500px){
.hospitality-desc p{
    font-size:1rem;
}
}
@media screen and (max-width:450px){
.committee-grid {
	grid-template-columns: 1.1fr 1.5fr 2.3fr;
}
.committee-box {
	font-size:0.8rem;
}
}

/*展示*/
.sec-exhibition{
	background-color:#C2D1A1;
}
.sec-exhibition .container{
	position: relative;
}
.exhibition-character{
	position: absolute;
	right:0;
	top:-180px;
}
.exhibition-character img{
	max-width:130px;
}

.exhibition-grid{
	display: grid;
	gap:20px;
	grid-template-columns:repeat(3,1fr);
	align-items: center;
	justify-items: center;
}
.exhibition-item{
	text-align: center;
	width: 100%;
}
.exhibition-item a{
	padding:20px;
	display:block;
	background-color:#FCCF02;
	border:3px #414141 solid;
	border-radius:40px;
	color:#414141;
	font-size:1.2rem;
	font-weight:600;
}
.exhibition-block{
	text-align:center;
}
.exhibition-block-contents p{
	text-align:left;
}
.exhibition-subgrid{
	display: grid;
	gap:20px;
	grid-template-columns:repeat(2,1fr);
}
.exhibition-subgrid-item h3{
	text-align: center;
	padding: 5px;
	border:3px #f3982f solid;
	background-color: #f3982f;
	color: #ffffff;
	border-radius:8px;
	margin:10px auto;
}
.exhibition-school{
	text-align: left;
}
.exhibition-school li{
	padding:5px;
	line-height:1.5;
	list-style: none;
}

@media screen and (max-width:850px){
.exhibition-grid{
	gap:15px;
}
}
@media screen and (max-width:750px){
.exhibition-grid{
	grid-template-columns:1fr;
}
}
@media screen and (max-width:600px){
.sec-exhibition .container{
	padding:60px 15px 30px;
}
.exhibition-subgrid{
	grid-template-columns:1fr;
}
}



/*ファンファーレ
.sec-fanfare{
	background-color: beige;
}*/

/*過去の出場校*/
.sec-archive{
	background-color:#ffffff;
	background-image: url("../img/archive/bg-upper.png"),url("../img/archive/bg-lower.png");
	background-repeat: no-repeat, no-repeat;
	background-position: center top,center bottom;
	background-size: contain, contain;
}
.sec-archive .container{
	padding: 140px 30px 120px;
	position:relative;
}
.sec-archive h6{
	margin-top:20px;
	font-size:1rem;
}
.archive-character{
	position: absolute;
	top:150px;
	left:5%;
}
.archive-character img{
	max-width: 380px;;
}
.character {
  animation: floating 1.4s ease-in-out infinite alternate-reverse;
}
@keyframes floating {
  0% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(10px);
  }
}

.map-block{
	margin:0 auto 50px;
}
.map-grid {
   display: grid;
   grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
   grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
   gap: 5px;
  justify-content: center;
}
  
#item-0 {
   grid-row-start: 1;
   grid-column-start: 12;
   grid-row-end: 4;
   grid-column-end: 15;
}
#item-1 {
   grid-row-start: 4;
   grid-column-start: 12;
   grid-row-end: 5;
   grid-column-end: 14;
}
#item-2 {
   grid-row-start: 5;
   grid-column-start: 12;
   grid-row-end: 6;
   grid-column-end: 13;   
}
#item-3 {
   grid-row-start: 5;
   grid-column-start: 13;

   grid-row-end: 6;
   grid-column-end: 14;
   
}
#item-4 {
   grid-row-start: 6;
   grid-column-start: 12;

   grid-row-end: 7;
   grid-column-end: 13;
   
}
#item-5 {
   grid-row-start: 6;
   grid-column-start: 13;

   grid-row-end: 7;
   grid-column-end: 14;
   
}
#item-6 {
   grid-row-start: 7;
   grid-column-start: 12;

   grid-row-end: 8;
   grid-column-end: 14;
   
}
#item-7 {
   grid-row-start: 8;
   grid-column-start: 12;

   grid-row-end: 9;
   grid-column-end: 13;
   
}
#item-8 {
   grid-row-start: 8;
   grid-column-start: 13;

   grid-row-end: 9;
   grid-column-end: 14;
   
}
#item-9 {
   grid-row-start: 9;
   grid-column-start: 12;

   grid-row-end: 10;
   grid-column-end: 13;
   
}
#item-10 {
   grid-row-start: 9;
   grid-column-start: 13;

   grid-row-end: 10;
   grid-column-end: 14;
   
}
#item-11 {
   grid-row-start: 10;
   grid-column-start: 13;

   grid-row-end: 12;
   grid-column-end: 14;
   
}
#item-12 {
   grid-row-start: 10;
   grid-column-start: 12;

   grid-row-end: 11;
   grid-column-end: 13;
   
}
#item-13 {
   grid-row-start: 11;
   grid-column-start: 12;

   grid-row-end: 12;
   grid-column-end: 13;
   
}
#item-14 {
   grid-row-start: 10;
   grid-column-start: 11;

   grid-row-end: 11;
   grid-column-end: 12;
   
}
#item-15 {
   grid-row-start: 11;
   grid-column-start: 11;

   grid-row-end: 12;
   grid-column-end: 12;
   
}
#item-16 {
   grid-row-start: 7;
   grid-column-start: 9;

   grid-row-end: 8;
   grid-column-end: 10;
   
}
#item-17 {
   grid-row-start: 7;
   grid-column-start: 10;

   grid-row-end: 8;
   grid-column-end: 11;
   
}
#item-18 {
   grid-row-start: 7;
   grid-column-start: 11;

   grid-row-end: 8;
   grid-column-end: 12;
   
}
#item-19 {
   grid-row-start: 8;
   grid-column-start: 11;

   grid-row-end: 10;
   grid-column-end: 12;
   
}
#item-20 {
   grid-row-start: 8;
   grid-column-start: 10;

   grid-row-end: 10;
   grid-column-end: 11;
   
}
#item-21 {
   grid-row-start: 8;
   grid-column-start: 9;

   grid-row-end: 9;
   grid-column-end: 10;
   
}
#item-22 {
   grid-row-start: 9;
   grid-column-start: 9;

   grid-row-end: 10;
   grid-column-end: 10;
   
}
#item-23 {
   grid-row-start: 10;
   grid-column-start: 10;

   grid-row-end: 11;
   grid-column-end: 11;
   
}
#item-24 {
   grid-row-start: 10;
   grid-column-start: 9;

   grid-row-end: 11;
   grid-column-end: 10;
   
}
#item-25 {
   grid-row-start: 9;
   grid-column-start: 8;

   grid-row-end: 10;
   grid-column-end: 9;
   
}
#item-26 {
   grid-row-start: 9;
   grid-column-start: 7;

   grid-row-end: 10;
   grid-column-end: 8;
   
}
#item-27 {
   grid-row-start: 10;
   grid-column-start: 8;

   grid-row-end: 11;
   grid-column-end: 9;
   
}
#item-28 {
   grid-row-start: 10;
   grid-column-start: 7;

   grid-row-end: 11;
   grid-column-end: 8;
   
}
#item-29 {
   grid-row-start: 11;
   grid-column-start: 7;

   grid-row-end: 12;
   grid-column-end: 9;
   
}
#item-30 {
   grid-row-start: 9;
   grid-column-start: 6;

   grid-row-end: 10;
   grid-column-end: 7;
   
}
#item-31 {
   grid-row-start: 9;
   grid-column-start: 5;

   grid-row-end: 10;
   grid-column-end: 6;
   
}
#item-32 {
   grid-row-start: 10;
   grid-column-start: 6;

   grid-row-end: 11;
   grid-column-end: 7;
   
}
#item-33 {
   grid-row-start: 10;
   grid-column-start: 5;

   grid-row-end: 11;
   grid-column-end: 6;
   
}
#item-34 {
   grid-row-start: 9;
   grid-column-start: 4;

   grid-row-end: 11;
   grid-column-end: 5;
   
}
#item-35 {
   grid-row-start: 11;
   grid-column-start: 5;

   grid-row-end: 12;
   grid-column-end: 6;
   
}
#item-36 {
   grid-row-start: 11;
   grid-column-start: 6;

   grid-row-end: 12;
   grid-column-end: 7;
   
}
#item-37 {
   grid-row-start: 12;
   grid-column-start: 6;

   grid-row-end: 13;
   grid-column-end: 7;
   
}
#item-38 {
   grid-row-start: 12;
   grid-column-start: 5;

   grid-row-end: 13;
   grid-column-end: 6;
   
}
#item-39 {
   grid-row-start: 9;
   grid-column-start: 3;

   grid-row-end: 10;
   grid-column-end: 4;
   
}
#item-40 {
   grid-row-start: 9;
   grid-column-start: 2;

   grid-row-end: 10;
   grid-column-end: 3;
   
}
#item-41 {
   grid-row-start: 9;
   grid-column-start: 1;

   grid-row-end: 10;
   grid-column-end: 2;
   
}
#item-42 {
   grid-row-start: 10;
   grid-column-start: 3;

   grid-row-end: 12;
   grid-column-end: 4;
   
}
#item-43 {
   grid-row-start: 10;
   grid-column-start: 2;

   grid-row-end: 11;
   grid-column-end: 3;
   
}
#item-44 {
   grid-row-start: 10;
   grid-column-start: 1;

   grid-row-end: 11;
   grid-column-end: 2;
   
}
#item-45 {
   grid-row-start: 11;
   grid-column-start: 1;

   grid-row-end: 12;
   grid-column-end: 3;
   
}
#item-46 {
   grid-row-start: 12;
   grid-column-start: 1;

   grid-row-end: 13;
   grid-column-end: 2;
   
}
.map-item{
}
.map-item a{
padding:8px 1px;
text-decoration:none;
display: flex;
justify-content: center;
align-items: center;
box-sizing: border-box;
width:100%;
height:100%;
border-radius:4px;
text-align:center;
color:#777777;
background-color:#f5deb3;
border: 2px solid #777777;
line-height:1.2;
font-size:0.85rem;
cursor:default;
}
.map-item a.done{
	border: 2px solid #333333;
	color:#333333;
	background-color:#f3982f;
	cursor:pointer;
}
.map-item a.done:hover{
	border:2px solid #4B5161;
	background-color:#FCCF02;
	color:#4B5161;
	transform: scale(1.1);
	font-weight:600;
}

/* 共通設定 */
.accordion-btn-02, .accordion-btn-03 {
  width: 100%;
  cursor: pointer;
  padding: 10px;
  text-align: left;
  border: none;
  outline: none;
  position: relative;
	margin-bottom: 10px;
	border-radius:8px;
}
.accordion-btn-02{
	font-weight:600;
    font-size: 1.3rem;
    text-align: center;
	background-color: #1A2645;
	border:2px #ffffff solid;
	color:#ffffff;
}
.accordion-btn-03 {
  background-color: #FCCF02;
  font-size: 1.1rem;
	color:#4B5161;
}
.accordion-btn-03 .accordion-icon {
  right: 18px;
}

.accordion-btn-03.active .accordion-icon::after,
.accordion-btn-02.active .accordion-icon::after {
  transform: rotate(0deg);
}
/*
.accordion-content-02, .past-grid {
  display: none;
  overflow: hidden;
}*/
.accordion-content-02 {
  overflow: hidden;
}
.past-contents{
	margin: 0 auto 30px;
}
.past-grid {
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(4, 1fr);
	margin: 0 auto 10px;
}

.past-grid-item {
  background-color: #F0E6D6;
  padding: 15px;
  text-align: center;
	border-radius:8px;
}
.past-school {
  text-decoration: none;
}

.past-school-name {
  font-size: 1rem;
	font-weight:600;
  line-height: 1.2;
  padding: 0;
  margin: 5px 0;
}


.accordion-content-02 {
  display: none;
}

.accordion-btn-03 {
  cursor: default;
}

.accordion-btn-03 .accordion-icon {
  display: none;
}

.accordion-btn-02 {
  display: none;
}

.btn-close {
	text-align:center;
  font-weight: bold;
	font-size:1rem;
  display: block;
  width: 100%;
  border-radius: 8px;
  padding: 8px;
  margin-top: 10px;
  background-color: #f3982f;
	color:#ffffff;
}
.btn-close:hover {
  background-color: #c1c1C1;
}

/*画像拡大*/
.past-school-thumb {
    position: relative;
    overflow: hidden; /* 画像が拡大してもフレーム外に出ないようにする */
}

.past-school-thumb img {
    transition: transform 0.3s ease, filter 0.3s ease;
    width: 100%;
    height: auto;
    display: block;
}

.past-school-thumb img:hover {
    transform: scale(1.1); /* 画像を1.1倍に拡大 */
    filter: brightness(1.2); /* 画像を少し明るくする */
}

.past-school:hover .past-school-thumb img {
    transform: scale(1.1);
    filter: brightness(1.2);
}

@media screen and (max-width: 1140px) {
.sec-archive .container{
	padding: 140px 15px 120px;
}
}

@media screen and (max-width: 850px) {
.accordion-btn-03 .accordion-icon {
    display: block; /* 850px未満でアイコン表示 */
  }
.past-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 600px) {
.sec-archive .container{
	padding: 100px 10px 80px;
}
}
@media screen and (max-width: 750px) {
.accordion-btn-02 {
    display: block;
  }
}

@media screen and (max-width: 450px) {
  .past-grid {
    grid-template-columns: 1fr;
  }
}

/*閲覧申込ボタン*/
#slideButton {
    position: fixed;
    left: -50px; /* 初期状態は画面外に */
    bottom: 300px;
    width: 50px;
    height: auto; /* ボタンの縦の高さを調整 */
    background-color: #FCCF02;
    color: #414141;
    border-radius: 0 8px 8px 0; /* 右上・右下のみ角丸 */
	border:2px #414141 solid;
    display: flex;
    flex-direction: column; /* アイコンとテキストを縦に並べる */
    justify-content: center;
    align-items: center;
    text-align: center;
    cursor: pointer;
    transition: left 0.5s ease;
	letter-spacing:0.2em;
    z-index: 1000;
    box-sizing: border-box;
    padding:15px 2px; /* Safariなどで余計なパディングを削除 */
}

#slideButton span {
    line-height: 1; /* 行の高さを調整して、余白を最小化 */
    margin-bottom: 10px; /* テキストとアイコンの間の余白を少し追加 */
}
#slideButton span img{
	width:18px;
}

#slideButton i {
    font-size: 1.2rem; /* アイコンのサイズを少し小さくして高さを調整 */
    line-height: 1; /* アイコンの行の高さを調整 */
}
@media screen and (max-width:950px){
#slideButton{
	display: none;
}
}

/*トップへもどるボタン*/
#backToTop {
    position: fixed;
    bottom: 0px;
    right: 30px;
    width: 90px;
    height: 90px;
    background-color: #4B5161;
    color: white;
    border: none;
    border-radius: 8px;
    display: none;
    z-index: 999;
    text-align: center;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

#backToTop i {
    display: block;
    font-size: 46px;
	margin-top: -5px;
    transform: rotate(-90deg);
}

#backToTop span {
    display: block;
    font-size: 18px;
	margin-top: -5px;
}

#backToTop:hover {
    background-color: #333745;
    transform: translateY(-8px);
}

@media screen and (max-width:1140px){
#backToTop {
    bottom: 10px!important;
    right: 10px;
    width: 70px;
    height: 70px;
}	
#backToTop i {
    font-size: 41px;
}
#backToTop span {
    font-size: 15px;
}
}

@media screen and (max-width:600px){
#backToTop {
    right: 10px;
    width: 50px;
    height: 50px;
}	
#backToTop i {
    font-size: 36px;
}

#backToTop span {
    font-size: 12px;
}
}


/*お申し込みへボタン*/
.toform-block{
	text-align: center;
}
.toform{
	font-size:1rem;
	font-weight: 600;
    padding:5px 15px; /* Safariなどで余計なパディングを削除 */
	display:inline-block;
    background-color: #FCCF02;
    color: #414141;
    border-radius:5px;
}
.toform span{
	margin-left:3px;
}
.toform:hover{
    background-color: #414141;
    color: #ffffff;
}

.sec-others{
	background-color: #F0E6D6;
	background-image: url("../img/others/bg-lower.png");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
}
.sec-others .container{
	padding:40px 30px 140px;
}
.others-grid{
	display:grid;
	gap:20px;
	grid-template-columns:1fr 1fr;
	align-items: center;
	justify-items: center;
}
.others-item{
	text-align: center;
	width: 100%;
}
@media screen and (max-width:1140px){
.sec-others .container{
	padding:40px 15px 100px;
}
}
@media screen and (max-width:850px){
.others-grid{
	gap:15px;
}	
}
@media screen and (max-width:750px){
.others-grid{
	grid-template-columns:1fr;
}	
}
@media screen and (max-width:600px){
.sec-others .container{
	padding:40px 10px 100px;
}
}
/*フッター*/
footer{
    max-width:1920px;
    margin:0 auto;
/*	background-color:#e57373;*/
	background-image: url("../img/footer/bg-footer.png");
	background-repeat: repeat-y;
	background-position: center center;
	background-size: contain;
}
.footer{
    max-width:1140px;
    margin:0 auto;
	padding:20px 30px 50px;
	color:#ffffff;
}
.footer-grid{
	display: grid;
	gap:10px;
	grid-template-columns:100px 1fr;
}
.footer-item span{
	white-space: nowrap;
}
.copyright{
	font-size:0.8rem;
	background-color:#ffffff;
	text-align: center;
	padding:5px 0;
}
@media screen and (max-width:1140px){
.footer{
	padding:20px 15px 50px;
}
}
@media screen and (max-width:550px){
.footer-grid{
	gap:0;
	grid-template-columns:1fr;
	font-size:0.9rem;
}
.footer-item:nth-child(odd){
	font-weight:600;
	margin-bottom:5px;
}
.footer-item:nth-child(even){
	padding-bottom:20px;
}
}
@media screen and (max-width:450px){
.copyright{
	font-size:0.7rem;
}
}

/*ボタン*/
.button-block{
margin:30px auto;
text-align:center;
}

a.btn {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	font-weight: bold;
	font-size:1.2rem;
	border-radius: 8px;
	border: 2px solid #4B5161;
	background-color:#CDE400;
	color: #4B5161;
	position: relative;
 	overflow: hidden;
 	z-index: 1;
	transition: all 0.2s ease-in;
	padding: 10px;
}
a.btn:before {
 content: "";
 position: absolute;
 left: 50%;
 transform: translateX(-50%) scaleY(1) scaleX(1.25);
 top: 100%;
 width: 140%;
 height: 180%;
 background-color: rgba(0, 0, 0, 0.05);
 border-radius: 50%;
 display: block;
 transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 z-index: -1;
}

a.btn:after {
 content: "";
 position: absolute;
 left: 55%;
 transform: translateX(-50%) scaleY(1) scaleX(1.45);
 top: 180%;
 width: 160%;
 height: 190%;
 background-color: #4B5161;
 border-radius: 50%;
 display: block;
 transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
 z-index: -1;
}

a.btn:hover {
 color: #ffffff;
}

a.btn:hover:before {
 top: -35%;
 background-color: #4B5161;
 transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

a.btn:hover:after {
 top: -45%;
 background-color: #4B5161;
 transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
}

/*PC&MOBILE切り替え*/
/*1140px*/
.display-sp-01{
	display: none;
}
/*850px*/
.display-sp-02{
	display: none;
}
/*750px*/
.display-sp-03{
	display: none;
}
/*550px*/
.display-sp-04{
	display: none;
}
/*400px*/
.display-sp-05{
	display: none;
}

/*スライダードット*/
.slick-dots li button:before{
	font-size:10px!important;
	color:#1A2645!important;
}
/*Modal*/
/* 背面を覆うオーバーレイ */
#modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;  /* 透明の時にクリックできないように */
}

/* オーバーレイが表示されたとき */
#modal-overlay.show {
  opacity: 1;
  pointer-events: auto;
}

/* モーダルのベーススタイル */
.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.2); /* スケール効果で初期状態 */
  width: 90%;
  max-width: 1000px;
  max-height: 95%;
  background-color: white;
  border-radius: 15px;
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.2);
  z-index: 1001;
  opacity: 0;
  transition: transform 0.4s ease, opacity 0.4s ease;
  display: none;
  overflow: hidden; /* モーダル全体からスクロールバーがはみ出ないように */
}

/* モーダルが表示されたときのアニメーション */
.modal.show {
  display: block;  /* 表示状態にする */
  transform: translate(-50%, -50%) scale(1);  /* スケールを戻す */
  opacity: 1;
}

/* モーダルコンテンツの枠 */
.modal-content {
    position: relative;
    height: 100%;
    padding: 65px 0 40px;
    box-sizing: border-box;
}
.modal-content img{
	border-radius:8px;
}
/* モーダル内でのスクロール可能エリア */
.modal-body {
  padding: 20px;
  max-height: calc(80vh - 40px); /* ビューポート高さの80%から余白を引いた高さ */
  overflow-y: auto;  /* 縦スクロールバーを有効にする */
  box-sizing: border-box;
}


/* スクロールバーのスタイル */
.modal-body::-webkit-scrollbar {
  width: 8px; /* スクロールバーの幅を調整 */
}

.modal-body::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2); /* スクロールバーの色 */
  border-radius: 10px; /* スクロールバーの角を丸くする */
}

.modal-body::-webkit-scrollbar-track {
  background: transparent; /* スクロールトラックの背景を透明に */
}

/*モーダル画面要素*/
.modal-heading{
	text-align: center;
	margin:0 auto 15px;
}
.modal-heading h1{
	padding:10px;
	display: block;
	background-color:#FCCF02;
	font-size:1.4rem;
	line-height:1.2;
	border-radius: 35px;
}
.modal-desc{
	margin:15px auto 25px;
}
.modal-container{
	padding:0 30px;
}
@media screen and (max-width:750px){
.modal-container{
	padding:0 5px;
}
}
@media screen and (max-width:500px){
.modal-heading h1{
	font-size:1.2rem;
}
h2.program-name{
	font-size:1.2rem;	
}
.hilights h3 {
    font-size: 1rem;
}
.other-info h4{
    font-size: 1rem;		
}
}

/* 閉じるボタン */
.close-btn {
  position: absolute;
  top: 10px;
  right: 15px;
  background: none;
  border: none;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  padding: 5px 10px;
  background-color: #f1f1f1;
  border-radius: 5px;
  color: #333333;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.close-btn:hover {
  background-color: #e1e1e1;
  color: #000000;
}

/* 背面のスクロールを無効に */
body.modal-open {
  overflow: hidden!important;
}

@media screen and (max-width:600px){
.modal-body {
  padding: 10px;
}
}


/*レスポンシブ*/

@media screen and (max-width:1650px){
.header{
	height: 1150px;
}
.catch{
	right: 20px;
	top:20px;
}
.catch img{
	max-width:125px;
}
.person-01{
	left: 1%;
	top:15px;
}
.person-01 img{
	max-width:320px;
}
.person-02{
    right: 30%;
    top: -50px;
}
.person-02 img{
	max-width:280px;
}
.person-03{
	left: 10%;
    top: 60px;
}
.person-03 img{
	max-width:420px;
}
.person-04{
	right: 10%;
	top:90px;
}
.person-04 img{
	max-width:460px;
}
.person-05{
	right: 18%;
	top:220px;
}
.person-05 img{
	max-width:900px;
}
}
@media screen and (max-width:1500px){

.person-02{
    top: -50px;
}
.person-05{
	right: 12%;
	top:220px;
}
}
@media screen and (max-width:1350px){
.header{
	height: 1200px;
}
.person-05{
	right: 8%;
	top:260px;
}
}
@media screen and (max-width:1140px){
.header{
	height: 1200px;
}
.catch{
	right: 10px;
}
.catch img{
	max-width:75px;
}
.person-02{
    top: -80px;
}
.person-04{
	right: 5%;
}
.person-04 img{
	max-width:420px;
}
.person-05{
	right: 0;
}
.person-05 img{
	max-width:850px;
}
}
@media screen and (max-width:1140px){
.container{
	padding:40px 15px;
}
.header{
	height: 1130px;
}
.display-pc-01{
	display:none;
}
.display-sp-01{
	display: block;
}
}
@media screen and (max-width:1050px){
.header{
	height: 1050px;
}
.person-02{
    right: 18%;
}
.person-03{
	left: 5%;
}
.person-04{
	right: 1%;
}
.person-05 img{
	max-width:750px;
}
}
@media screen and (max-width:950px){
.header{
	height: 980px;
}
.person-01{
	left: 2%;
}
.person-01 img{
	max-width:220px;
}
.person-02{
    right: 30%;
    top: -60px;
}
.person-03{
	left: 0;
}
}
@media screen and (max-width:850px){
.display-pc-02{
	display:none;
}
.display-sp-02{
	display: block;
}
.person-02{
    right: 25%;
    top: -80px;
}
.person-05 img{
	max-width:600px;
}
}
@media screen and (max-width:750px){
.header{
	height: 900px;
}
.person-02 img{
	max-width:250px;
}
.person-04{
	right: 0;
}
.person-05{
	top:300px;
}
.person-05 img{
	max-width:520px;
}
.display-pc-03{
	display: none;
}
.display-sp-03{
	display: block;
}
}
@media screen and (max-width:700px){
.header{
	height: 900px;
}
.person-02{
    right: 20%;
    top: -60px;
}
.person-04{
	right: 0;
}
.person-05{
	top:300px;
}
.person-05 img{
	max-width:520px;
}
}
@media screen and (max-width:600px){
.header{
	height: 900px;
}
.person-02{
    right: 10%;
    top: -60px;
}
.person-04{
	right: 0;
}
.person-05{
	top:300px;
}
.person-05 img{
	max-width:520px;
}
.container{
	padding:30px 10px;
}
}
@media screen and (max-width:550px){
.header{
	height: 700px;
}
.catch{
	top:180px;
}
.person-01{
	left: 5%;
	top:5px;
}
.person-01 img{
	max-width:200px;
}
.person-02{
    right: 12%;
    top: -60px;
}
.person-02 img{
	max-width:180px;
}
.person-03{
    top: 80px;
}
.person-03 img{
	max-width:280px;
}
.person-04{
	top:80px;
}
.person-04 img{
	max-width:300px;
}
.person-05{
	right: 0;
	top:240px;
}
.person-05 img{
	max-width:440px;
}
.heading-title h1 {
	font-size:1.5rem;
}
.display-sp-04{
	display: block;
}
}
@media screen and (max-width:400px){
.header{
	height: 640px;
}
.catch{
	top:200px;
}
.person-01{
	top:15px;
}
.person-01 img{
	max-width:150px;
}
.person-02{
    right: 8%;
    top: -20px;
}
.person-02 img{
	max-width:140px;
}
.person-03 img{
	max-width:200px;
}
.person-04 img{
	max-width:240px;
}
.display-pc-05{
	display: none;
}
.display-sp-05{
	display: block;
}
}
@media screen and (max-width:350px){
.header{
	height: 580px;
}
.catch{
	top:150px;
}
.catch img{
	max-width:60px;
}
.person-01{
	top:15px;
}
.person-01 img{
	max-width:150px;
}
.person-02{
    right: 8%;
    top: -20px;
}
.person-02 img{
	max-width:140px;
}
.person-03 img{
	max-width:200px;
}
.person-04 img{
	max-width:240px;
}
}


/*20240913*/
.accordion-btn, .accordion-btn-02, .accordion-btn-03 {
    padding: 10px;
    position: relative;
}
.accordion-btn, .accordion-btn-02 {
    text-align: center;
}
.accordion-btn-03 {
    text-align: left;
}
.i_box {
    display: inline-block;
    transition: transform 0.2s;
}
.one_i::before, .one_i::after {
    content: '';
    position: absolute;
    background-color: #ffffff;
    transition: transform 0.2s;
    border-radius: 10px;
    width: 22px;
    height: 4px;
}
.one_i::before {
    top: 50%;
    right: 20px;
    transform: rotate(0deg);
}
.one_i::after {
    top: 50%;
    right: 20px;
    transform: rotate(90deg);
}

/* マークが開閉する際のアニメーション */
.accordion-btn.open .one_i::after,
.accordion-btn-02.open .one_i::after,
.accordion-btn-03.open .one_i::after {
    transform: rotate(0deg);
}

.accordion-content-02,.past-contents {
    display: block;
}
@media screen and (max-width:750px){
.accordion-content-02, .past-contents {
    display: none;
}
.accordion-btn, .accordion-btn-02, .accordion-btn-03 {
    cursor: pointer;
}
}
@media screen and (min-width:751px){
.accordion-btn-03 .i_box{
	display: none;	
}
}

/*ホバー吹き出し*/
.button-wrapper {
    position: relative;
    display: inline-block;
}
.tooltip {
    position: absolute;
    top: -45px;
    left: 50%;
	transform: translateX(-50%) translateY(10px);
    padding: 5px 20px;
    background-color: #ffffff;
    color: #414141;
    border-radius: 8px;
    font-size: 1.4rem;
	font-weight:600;
	line-height: 1.2;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
	z-index:999;
  border: solid 3px #414141;
  box-sizing: border-box;
}
.tooltip:before {
  content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}
.tooltip:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #555;
  z-index: 1;
}
.button-wrapper:hover .tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
@media screen and (max-width:500px){
.tooltip {
    font-size: 1rem;
}
}

/*イベント動画追加*/
/*イベントの様子*/
.sec-event{
	background-color: #C2D1A1;
    background-image: url(../img/event/bg-upper.png), url(../img/event/bg-lower.png);
    background-repeat: no-repeat, no-repeat;
    background-position: center top, center bottom;
    background-size: contain, contain;
}
.sec-event .container{
	padding: 120px 30px 100px;
}
.event-contents{
	border-radius:20px;
	padding:0;
}
.event-info{
	max-width:650px;
	margin:0 auto 50px;
}
.event-video {
  position: relative;
  width: 100%; /* 横幅を親要素に合わせる */
  max-width: 650px; /* 最大横幅 */
  aspect-ratio: 16 / 9; /* アスペクト比を維持 */
  margin: 30px auto 20px; /* 中央寄せ */
}
.event-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*イベントの写真*/
.btn-toevent {
    border: 3px #ffffff solid;
    color: #4B5161;
    font-size: 1.5rem;
    font-weight: 600;
    text-decoration: none;
    padding: 5px 35px;
    background-color: #CDE400;
    border-radius: 35px;
}
.event-view{
	margin: 40px auto 30px;
}
.event-btn{
	text-align: center;
}
.event-btn .btn-block {
    padding: 10px 0 30px;
}
.event-window{
	background-color: #ffffff;
	border-radius:15px;
	padding: 50px 30px;
}
.event-title{
	text-align: center;
}
.event-title h2{
	font-size:1.4rem;
}
.event-title img{
	margin:10px auto 30px;
    width: 90px;
    height: 50px;
}
.event-title h3{
	padding:5px;
	display: block;
	background-color: #CDE400;
	color:#4B5161;
}
.event-grid{
	margin:15px auto 50px;
	display: grid;
	gap: 5px;
}
.event-window .entry-block{
	background-color: #ffffff;
	border:none;
}
.event-window a:hover .entry-block{
	box-shadow: none;
	transform:none;
	background-color: #F0E6D6;
}
.event-window .school-pic{
	position: relative;
	text-align: center;
}
.event-window .event-enlarge{
	position: absolute;
	bottom:0;
	display:block;
	width:100%;
	padding: 3px;
	background-color: #f3982f;
	color:#ffffff;
}
.event-window .entry-cat{
	padding:0;
}

/* イベントの様子アコーディオン*/
/* アコーディオンの初期状態 */
.event-window {
  display: none;
  overflow: hidden;
}
.btn-toevent:hover {
  background-color:#e0b802;
}
/* プラス・マイナスアイコン */
.plus-minus-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 10px;
    position: relative;
    transition: transform 0.3s ease; /* スムーズなアニメーション */
}

.plus-minus-icon::before,
.plus-minus-icon::after {
    content: '';
    position: absolute;
    background-color: #4B5161;
    width: 20px;
    height: 4px;
    top: 50%;
    left: 50%;
}
.plus-minus-icon::before {
	transform: translate(0%, -35%);
}
.plus-minus-icon::after {
    transform: translate(0%, -35%) rotate(90deg); /* プラスの縦棒 */
    transition: transform 0.3s ease; /* スムーズに回転 */
}

.plus-minus-icon.open::after {
    transform: rotate(0deg); /* マイナスの横棒 */
}

.plus-minus-icon.open::before {
    transform: rotate(0deg); /* プラスの横棒（そのまま） */
}



@media (max-width: 950px) {
.event-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* 950px以上の設定 */
@media (min-width: 951px) {
.event-grid {
    grid-template-columns: repeat(3, 1fr); 
  }
}

@media (max-width: 750px) {
.event-grid {
    gap: 0;
}
.event-window .school-pic{
	height:180px;
}
.event-window .school-pic img{
	height:180px;
}
.event-window .entry-block{
	padding: 10px;
}
}

@media (max-width: 500px) {
.sec-event .container {
    padding: 120px 10px 50px;
}
.sec-event .btn-block {
    padding: 10px 0 40px;
}
.btn-toevent{
	font-size:1.2rem;
	padding: 5px 25px;
}
.plus-minus-icon {
    margin-left: 0;
}
.event-title h2{
	font-size:1.2rem;
}
.event-title img{
    width: 60px;
    height: 34px;
}
.event-title h3{
	font-size:1.1rem;
}
.event-window{
	padding: 30px 10px;
}
.event-window .school-pic{
	height:120px;
}
.event-window .school-pic img{
	height:120px;
}
.event-window .entry-block{
	padding: 8px;
}
.event-window .event-enlarge{
	font-size:0.7rem;
}
.event-window .school-name{
	font-size:0.8rem;	
}
}

/*イベントの様子*/
.event-pic-item{
	text-align: center;
}
.event-pic-item img{
	max-width: 700px;
	width:100%;
}
.event-pic-remarks{
	text-align: center;
	margin:5px auto 0;
}
.event-pic-remarks p{
	display: inline-block;
	margin:0 0 10px;
}
.event-pic-remarks p:last-child{
	margin-left: 20px;
}
@media screen and (max-width:650px){
.event-pic-remarks p{
	display:block;
}
.event-pic-remarks p:last-child{
	margin-left:0;
}
}

/*ステージ動画*/
.video-block{
	width: 95%;
	margin:20px auto 30px;
	text-align:center;
	background-color:beige;
	padding: 0 0 20px;
	border-radius:8px;
}
.video-block .event-video{
	margin:20px auto;
}
.video-block h3{
	font-size:1.3rem;
	margin:0 auto;
	background-color:#f3982f;
	color:#ffffff;
	padding: 5px 0;
	border-radius:8px 8px 0 0;
}
.additional-grid{
	display: grid;
	gap:20px;
	grid-template-columns:1fr 5fr;
	margin: 0 auto 20px;
	max-width: 600px;
}
.additional-item p{
	font-size:1rem;
}
.additional-item p span{
	font-weight:bold;
}

@media screen and (max-width:900px){
.video-block .event-video{
	margin:20px auto 10px;
	padding: 0 10px;
	width:95%;
}
}
@media screen and (max-width:750px){
.additional-grid{
	grid-template-columns:1fr 4fr;
	padding:0 15px;
}
}
@media screen and (max-width:600px){
.video-block{
	padding: 0;
}
.video-block .event-video{
	margin:0 auto;
	padding: 0 10px;
	width:100%;
}
.additional-grid{
	grid-template-columns:1fr;
	gap:0;
}
}
@media screen and (max-width:400px){
.additional-item p span{
	font-size:0.9rem;
}
}