@charset "UTF-8";
/* CSS Document */

/*************************************************************************************************************************
* reset
*************************************************************************************************************************/
html{ height: 100%; overflow-y: scroll; font-size: 62.5%;}
body{ height: 100%; margin: 0; padding: 0; text-align: justify; text-justify: inter-ideograph; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img{ width: 100%; max-width: 100%; height: auto; border: 0; vertical-align: bottom;}
svg{ vertical-align: bottom;}
form{ margin: 0; padding: 0;}
p{ margin: 0; padding: 0;}
a, a:hover{ text-decoration: none; outline: none;}
h1, h2, h3, h4, h5, h6{ margin: 0; padding: 0; font-size: 0; line-height: 0;}
ul, dl, dt, dd{ margin: 0; padding: 0;}
li, ol{ margin: 0; padding: 0; list-style: none;}
table{ border: 0; border-collapse: collapse; border-spacing: 0;}
caption, th{ text-align: left;}
figure { margin: 0; padding: 0; }
header, nav, main, article, aside, section, footer{ display: block;}
*{ box-sizing: border-box;}

/**********************************************************
*　追加ベース
**********************************************************/
body._fixed { position: fixed; width: 100%; }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; }

.l-wrapper { margin-left: auto; margin-right: auto; }

@media screen and (max-width: 680px) {
	.l-wrapper { width: calc(100% - 48px); }
}
@media screen and (min-width: 681px) {
	.l-wrapper { min-width: 1200px; max-width: 1200px; }
}
@media screen and (min-width: 1401px) {
	/*.l-wrapper { width: 950px; }*/
}

.sp-only { display: none !important; }
.sp-only-2 { display: none !important; }
.pc-only { display: block !important; }
.pc-only-2 { display: inline-block !important; }
@media screen and (max-width: 680px) {
	.sp-only { display: block !important; }
	.sp-only-2 { display: inline-block !important; }
	.pc-only { display: none !important; }
	.pc-only-2 { display: none !important; }
}


body{ height: 100%; font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif; font-weight: 500; color: #1e234b; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; }
@media print, screen and (min-width:681px) {
	body{ min-width: 1056px; }
}

/*	iOS Sarafi Hack	*/
_::-webkit-full-page-media,
_:future,
:root .something {  }



/*		AOSの 場所によって変更必要		*/
.aos-animate .anittl:before { animation: anittlbg .5s 1 0.5s ease-out forwards; }
.aos-animate .anittl__txt { animation: anittltxt .5s 1 1.0s ease-out forwards; }

.anittl.slide_on .anittl__txt {  }


/*************************************************************************************************************************
* Objective Fit Image
*************************************************************************************************************************/
.ofi-cover { width: 100%; height: 100%; object-fit: cover; }
.ofi-contain { width: 100%; height: 100%; object-fit: contain; }

/*
.wrapper-outer { position: relative; overflow: hidden; background: #ebf0fa; }
@media print, screen and (min-width:681px) {
	.wrapper-outer::before,
	.wrapper-outer::after { position: absolute; left: 0; display: block; width: 100%; background: #fff; content: ""; z-index: 0; }
	.wrapper-outer::before { top: 0; height: 275px; }
}
@media print, screen and (min-width:1401px) {
	.wrapper-outer::before { height: 285px; }
}
*/
@media print, screen and (min-width:681px) {
	
}
.ktkn { font-size: inherit; letter-spacing: -0.05em; }

/*	Common Things	*/

/*	Fixed Button	*/
.fixed-button { position: fixed; z-index: 300; width: 100%; opacity: 0; transition: 0.4s; }
.fixed-button__body { position: relative; display: flex; align-items: center; height: 46px; background: #bb1f4d; border: 1px solid #1e234b; border-radius: 8px; font: 600 1.4rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; color: #fff; z-index: 10; }
.fixed-button__body::before { position: absolute; right: 16px; top: 50%; transform: translateY(-50%); display: block; width: 12px; height: 11px; background: url("../img/icon_arrow_fixedbtn.png") no-repeat center/14px auto; content: ""; }
.fixed-button::before { position: absolute; left: 0; bottom: -8px; display: block; width: calc(100% - 2px); height: 46px; background: #fff; border: 1px solid #1e234b; border-radius: 8px; content: ""; }

.fixed-button__btn a { display: flex; justify-content: center; align-items: center; width: 100%; height: 60px; background-color: #fccf00; transition: 0.4s; font-size: 1.4rem; line-height: 1; color: #000; }
.fixed-button__btn a:hover { background-color: #d8aa1e; }
.fixed-button__btn a:visited,
.fixed-button__btn a:active { color: #000; }




@media screen and (max-width: 680px) {
	.fixed-button { left: 50%; bottom: 16px; transform: translate(-50%, 100%); width: calc(100% - 96px); }
	.fixed-button.is-visible { opacity: 1; transform: translate(-50%, 0); }
	.fixed-button.is-fade { transform: translate(-50%, 150%); opacity: 0; }
	.fixed-button__body { justify-content: center; }
	.fixed-button__body::before { display: none; }
}
@media screen and (min-width: 681px) {
	.fixed-button { top: 50%; right: 0; transform: translate(100%, -50%); width: 64px; height: 288px; }
	.fixed-button__body { width: 100%; height: 100%; border-radius: 16px 0 0 16px; padding: 40px 0 0; writing-mode: vertical-rl; transition: .4s; }
	.fixed-button__body:hover { background: #6f1e36; }
	.fixed-button__body::before { top: auto; bottom: 40px; right: 50%; transform: translateX(50%) rotate(90deg); }
	.fixed-button::before { border-radius: 16px 0 0 16px; }
	.fixed-button.is-visible { transform: translate(0, -50%); opacity: 1; }
	.fixed-button.is-fade { transform: translate(100%, -50%); opacity: 0; }
}


/*	Animation Title	*/

.anittl { position: relative; display: inline-block; overflow: hidden; }
.anittl:before { position: absolute; top: 0; width: 0; height: 100%; content: ""; transition: 0.4s; z-index: 0; }
.anittl__txt { position: relative; display: inline-block; margin-left: -110%; z-index: 5; }

@media print, screen and (max-width:374px) {
	.anittl__txt { margin-left: -130%; }
}


.mask { position: fixed; top: 50px; left: 0; display: flex; justify-content: center; align-items: center; width: 100%; height: calc(100% - 50px); background: #fff; transition: 1.0s; pointer-events: none; z-index: 9999; }
.mask__txt { font: 700 4.8rem "amandine", sans-serif; line-height: 1.04; letter-spacing: 0.1em; text-indent: 0.1em; text-align: center; color: #1e234b; }
.mask._off { opacity: 0; }
@media print, screen and (min-width:681px) {
	.mask__txt { font-size: 10.0rem; line-height: 1.1; letter-spacing: 0.12em; text-indent: 0.12em; }
}
@media print, screen and (min-width:1601px) {
	.mask { top: 100px; height: calc(100% - 100px); }
}

.fv-wrap { position: relative; background: #f5f5f0; overflow: hidden; z-index: 100; }


.header { position: absolute; top: 0; left: 0; display: flex; align-items: center; width: 100%; height: 50px; background: #fff; padding: 0 16px; z-index: 100; }
.header-logo { display: flex; align-items: center; width: 100%; }
.header-logo img { width: 201px; }
.header-logo::after { margin-left: 26px; font: 500 1.0rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; color: #1e234b; content: "オープンキャンパス2025"; }
@media print, screen and (max-width:375px) {
	.header-logo { justify-content: space-between; }
	.header-logo::after { margin-left: 0; }
}
@media print, screen and (min-width:681px) {
	.fv-wrap { z-index: 200; }
	.header-logo::after { font-size: 1.3rem; }
}
@media print, screen and (min-width:1601px) {
	.header { height: 100px; }
	.header-logo img { width: 336px; }
	.header-logo::after { font-size: 1.8rem; }
}







/*	Firstview	*/
.upper-wrap { position: relative; }
.fv { position: relative; width: 100%; margin-top: 50px; padding: 48vw 0 105vw; overflow: hidden; z-index: 50; }
.fv__logo { text-align: center; }
.fv__logo img { width: 89.7vw; }
.fv__inner { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.fv__obj { position: absolute; opacity: 0; transition: .4s; }
.fv__deco { opacity: 0; transition: 1.0s; }
.fv__deco._show { opacity: 1; }
.fv__inner--sp .fv__obj--tile01 { top: 0; left: 0; width: 39.5vw; }
.fv__inner--sp .fv__obj--tile02 { top: 5vw; right: 26.6vw; width: 29.9vw; }
.fv__inner--sp .fv__obj--tile03 { top: 0; right: 0; width: 21.5vw; }
.fv__inner--sp .fv__obj--tile04 { top: 20.5vw; right: 3.8vw; width: 20.0vw; }
.fv__inner--sp .fv__obj--tile05 { top: 111vw; left: -0.5vw; width: 25.5vw; }
.fv__inner--sp .fv__obj--tile06 { top: 102vw; left: 33.5vw; width: 38.5vw; }
.fv__inner--sp .fv__obj--tile07 { top: 100vw; right: 0; width: 23.2vw; }
.fv__inner--sp .fv__obj--tile08 { top: 134.5vw; left: 0; width: 29.4vw; }
.fv__inner--sp .fv__obj--tile09 { top: 142.1vw; left: 34.6vw; width: 18.68vw; }
.fv__inner--sp .fv__obj--tile10 { top: 143vw; right: 5.4vw; width: 36vw; }

.fv__deco--1 { top: 264vw; left: 49%; transform: rotate(245deg) translateX(371%); transform-origin: center center; width: 71vw; animation: colorchange 15s ease-in-out 1.5s infinite forwards; }
.fv__deco--2 { top: 50%; left: 50%; transform: translate(58%, -52%); width: 53vw; animation: colorchange 20s ease-in-out 1.5s infinite forwards; }
.fv__deco--3 { top: 50%; left: 50%; transform: translate(36%, 200%); width: 47.5vw; animation: colorchange 25s ease-in-out 1.5s infinite forwards; }

.fv__obj--tile { opacity: 0; transform: translateY(100px); transition: .4s; }
.fv__obj--tile._show { opacity: 1; transform: translateY(0); }

@media print, screen and (max-width:680px) {
	.fv__inner--pc,
	.fv__deco--4,
	.fv__deco--5,
	.fv__deco--6 { display: none; }
}
@media print, screen and (min-width:681px) {
	.fv__inner--sp { display: none; }
	.fv { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 806px; padding: 0 0 56px; }
	.fv__logo img { width: 468px; }
	.fv__inner--pc .fv__obj--tile { top: 50%; left: 50%; }
	.fv__inner--pc .fv__obj--tile01 { margin-top: -402px; margin-left: -674px; width: 202px; }
	.fv__inner--pc .fv__obj--tile02 { margin-top: -240px; margin-left: -554px; width: 114px; }
	.fv__inner--pc .fv__obj--tile03 { margin-top: -390px; margin-left: -420px; width: 238px; }
	.fv__inner--pc .fv__obj--tile04 { margin-top: -400px; margin-left: -162px; width: 144px; }
	.fv__inner--pc .fv__obj--tile05 { margin-top: -340px; margin-left: 203px; width: 187px; }
	.fv__inner--pc .fv__obj--tile06 { margin-top: -407px; margin-left: 410px; width: 133px; }
	.fv__inner--pc .fv__obj--tile07 { margin-top: -406px; margin-left: 563px; width: 252px; }
	.fv__inner--pc .fv__obj--tile08 { margin-top: -188px; margin-left: 427px; width: 116px; }
	.fv__inner--pc .fv__obj--tile09 { margin-top: -231px; margin-left: 563px; width: 187px; }
	.fv__inner--pc .fv__obj--tile10 { margin-top: 28px; margin-left: -706px; width: 266px; }
	.fv__inner--pc .fv__obj--tile11 { margin-top: 18px; margin-left: -420px; width: 116px; }
	.fv__inner--pc .fv__obj--tile12 { margin-top: 249px; margin-left: -584px; width: 144px; }
	.fv__inner--pc .fv__obj--tile13 { margin-top: 153px; margin-left: -394px; width: 259px; }
	.fv__inner--pc .fv__obj--tile14 { margin-top: 260px; margin-left: -115px; width: 128px; }
	.fv__inner--pc .fv__obj--tile15 { margin-top: 105px; margin-left: 180px; width: 97px; }
	.fv__inner--pc .fv__obj--tile16 { margin-top: 11px; margin-left: 389px; width: 81px; }
	.fv__inner--pc .fv__obj--tile17 { margin-top: 5px; margin-left: 530px; width: 292px; }
	.fv__inner--pc .fv__obj--tile18 { margin-top: 135px; margin-left: 297px; width: 214px; }
	.fv__inner--pc .fv__obj--tile19 { margin-top: 231px; margin-left: 530px; width: 144px; }
	
	.fv__deco--1 { top: 50%; left: 50%; transform: translate(110%, 0%) rotate(-140deg); width: 330px; }
	.fv__deco--2 { transform: translate(518%, -130%); width: 139px; }
	.fv__deco--3 { transform: translate(-74%, -213%); width: 279px; }
	.fv__deco--4 { top: 50%; left: 50%; transform: translate(-215%, -143%); width: 224px; animation: colorchange 10s ease-in-out 1.5s infinite forwards; }
	.fv__deco--5 { top: 50%; left: 50%; transform: translate(-220%, -23%); width: 427px; animation: colorchange 20s ease-in-out 1.5s infinite forwards; }
	.fv__deco--6 { top: 50%; left: 50%; transform: translate(-116%, 50%); width: 213px; animation: colorchange 30s ease-in-out 1.5s infinite forwards; }
}
@media print, screen and (min-width:1401px) {
	
}
@media print, screen and (min-width:1601px) {
	.header { background-color: transparent; transition: 1.0s; }
	body._fixed .header { background: #fff; }
	.fv { min-height: 1230px; margin-top: 100px; padding-bottom: 0; }
	.fv__logo { margin-bottom: 174px; }
	.fv__logo img { width: 669px; }
	.fv__inner--pc .fv__obj--tile01 { margin-top: -615px; margin-left: -950px; width: 288px; }
	.fv__inner--pc .fv__obj--tile02 { margin-top: -393px; margin-left: -783px; width: 163px; }
	.fv__inner--pc .fv__obj--tile03 { margin-top: -595px; margin-left: -600px; width: 340px; }
	.fv__inner--pc .fv__obj--tile04 { margin-top: -615px; margin-left: -240px; width: 206px; }
	.fv__inner--pc .fv__obj--tile05 { margin-top: -519px; margin-left: 120px; width: 267px; }
	.fv__inner--pc .fv__obj--tile06 { margin-top: -615px; margin-left: 407px; width: 190px; }
	.fv__inner--pc .fv__obj--tile07 { margin-top: -615px; margin-left: 617px; width: 360px; }
	.fv__inner--pc .fv__obj--tile08 { margin-top: -311px; margin-left: 432px; width: 165px; }
	.fv__inner--pc .fv__obj--tile09 { margin-top: -373px; margin-left: 617px; width: 267px; }
	.fv__inner--pc .fv__obj--tile10 { margin-top: 4px; margin-left: -1000px; width: 380px; }
	.fv__inner--pc .fv__obj--tile11 { margin-top: -10px; margin-left: -600px; width: 165px; }
	.fv__inner--pc .fv__obj--tile12 { margin-top: 312px; margin-left: -825px; width: 205px; }
	.fv__inner--pc .fv__obj--tile13 { margin-top: 175px; margin-left: -574px; width: 370px; }
	.fv__inner--pc .fv__obj--tile14 { margin-top: 325px; margin-left: -184px; width: 183px; }
	.fv__inner--pc .fv__obj--tile15 { margin-top: 129px; margin-left: 96px; width: 138px; }
	.fv__inner--pc .fv__obj--tile16 { margin-top: 0px; margin-left: 403px; width: 116px; }
	.fv__inner--pc .fv__obj--tile17 { margin-top: -69px; margin-left: 579px; width: 417px; }
	.fv__inner--pc .fv__obj--tile18 { margin-top: 159px; margin-left: 254px; width: 305px; }
	.fv__inner--pc .fv__obj--tile19 { margin-top: 245px; margin-left: 579px; width: 206px; }
	.fv__deco--1 { transform: translate(76%, -13%) rotate(-140deg); width: 470px; }
	.fv__deco--2 { transform: translate(400%, -150%); width: 198px; }
	.fv__deco--3 { transform: translate(-80%, -229%); width: 398px; }
	.fv__deco--4 { transform: translate(-220%, -147%); width: 320px; }
	.fv__deco--5 { transform: translate(-220%, -34%); width: 610px; }
	.fv__deco--6 { transform: translate(-116%, 33%); width: 304px; }
}

/*	Deco	*/
.deco-wrap { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.deco { position: absolute; pointer-events: none; max-width: none; animation-name: colorchange; animation-timing-function: ease-in-out; animation-iteration-count: infinite; animation-fill-mode: forwards; }

.deco-wrap--sp .deco--1 { width: 240px; top: 6%; left: 50%; margin-left: -345px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--2 { width: 240px; top: 14.5%; right: 50%; margin-right: -305px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--3 { width: 212px; top: 22.1%; left: 50%; margin-left: -298px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--4 { width: 186px; top: 22.8%; right: 50%; margin-right: -265px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--5 { width: 170px; top: 36.5%; right: 50%; margin-right: -250px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--6 { width: 223px; top: 48.5%; left: 50%; margin-left: -335px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--7 { width: 610px; top: 48.7%; right: 50%; margin-right: -595px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--8 { width: 190px; top: 60.5%; right: 50%; margin-right: -265px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--9 { width: 670px; top: 65.5%; right: 50%; margin-right: -625px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--10 { width: 218px; top: 71.4%; left: 50%; margin-left: -335px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--11 { width: 194px; transform: rotate(180deg); top: 80.0%; right: 50%; margin-right: -305px; animation-duration: 10s; animation-delay: 2s; }
.deco-wrap--sp .deco--12 { width: 272px; transform: rotate(180deg); top: 87.4%; left: 50%; margin-left: -335px; animation-duration: 10s; animation-delay: 2s; }

.deco--1 { animation-duration: 10s; animation-delay: 2s; }
.deco--2 { animation-duration: 8s; animation-delay: 4s; }
.deco--3 { animation-duration: 7s; animation-delay: 6s; }
.deco--4 { animation-duration: 9s; animation-delay: 8s; }
.deco--5 { animation-duration: 11s; animation-delay: 10s; }
.deco--6 { animation-duration: 9s; animation-delay: 2s; }
.deco--7 { animation-duration: 12s; animation-delay: 4s; }
.deco--8 { animation-duration: 8s; animation-delay: 6s; }
.deco--9 { animation-duration: 9s; animation-delay: 8s; }
.deco--10 { animation-duration: 11s; animation-delay: 10s; }
.deco--11 { animation-duration: 7s; animation-delay: 2s; }
.deco--12 { animation-duration: 10s; animation-delay: 4s; }

@media print, screen and (min-width:390px) {
	.deco-wrap--sp .deco--1 { top: 78vw; }
	.deco-wrap--sp .deco--2 { top: 195vw; }
	.deco-wrap--sp .deco--3 { top: 295vw; }
	.deco-wrap--sp .deco--4 { top: 302vw; }
	.deco-wrap--sp .deco--5 { top: 478vw; }
	.deco-wrap--sp .deco--11 { top: 80.5%; }
	.deco-wrap--sp .deco--12 { top: 87.8%; margin-left: -345px; }
}
@media print, screen and (min-width:410px) {
	.deco-wrap--sp .deco--1 { top: 75vw; }
	.deco-wrap--sp .deco--2 { top: 184vw; }
	.deco-wrap--sp .deco--3 { top: 278vw; }
	.deco-wrap--sp .deco--4 { top: 285vw; }
	.deco-wrap--sp .deco--5 { top: 458vw; }
}
@media print, screen and (max-width:680px) {
	.deco-wrap--pc { display: none; }
}
@media print, screen and (min-width:681px) {
	.deco-wrap--sp { display: none; }
	.deco-wrap--pc .deco--1 { width: 388px; top: 10px; left: 50%; margin-left: -715px; }
	.deco-wrap--pc .deco--2 { width: 447px; top: 435px; right: 50%; margin-right: -766px; }
	.deco-wrap--pc .deco--3 { width: 320px; top: 740px; left: 50%; margin-left: -730px; }
	.deco-wrap--pc .deco--4 { width: 442px; top: 1244px; right: 50%; margin-right: -840px; }
	.deco-wrap--pc .deco--5 { width: 395px; top: 1924px; right: 50%; margin-right: -736px; }
	.deco-wrap--pc .deco--6 { width: 430px; top: 3130px; right: 50%; margin-right: -815px; }
	.deco-wrap--pc .deco--7 { width: 320px; top: 3668px; left: 50%; margin-left: -741px; }
	.deco-wrap--pc .deco--8 { width: 610px; top: 3869px; right: 50%; margin-right: -860px; }
	.deco-wrap--pc .deco--9 { width: 610px; top: 1861px; left: 50%; margin-left: -963px; }
	.deco-wrap--pc .deco--10 { width: 670px; top: 2660px; left: 50%; margin-left: -960px; }
}

/*	Lower Area	*/
.sec--lower .l-wrapper { position: relative; width: 100%; background: #fff; border-radius: 40px 40px 0 0; padding: 41px 30px 80px; }
@media print, screen and (min-width:681px) {
	.sec--lower .l-wrapper { position: relative; min-width: 880px; max-width: 880px; border-radius: 0; padding: 84px 0 111px; }
	.sec--lower .l-wrapper::before { position: absolute; top: 0; right: 880px; display: block; width: calc(50% + 50vw - 880px); height: 100%; background: #fff; content: ""; }
}




/*	Intro	*/
.intro { position: relative; margin-bottom: 38px; font: 500 1.4rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1.928; letter-spacing: -0.05em; text-align: center; z-index: 100; }
.intro ._emp { color: #ef5a6f; }
@media print, screen and (min-width:681px) {
	.intro { margin-bottom: 46px; font-size: 2.8rem; line-height: 1.964; letter-spacing: 0.1em; text-indent: 0.1em; }
}

/*	Reservation	*/
.resv { position: relative; z-index: 100; }
.resv__deco { display: block; margin-top: 57px; margin-bottom: 9px; text-align: center; }
.resv__deco img { width: 104px; }
.resv__label { margin-bottom: 13px; text-align: center; }
.resv__label__txt { position: relative; display: inline-block; font: 500 1.4rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; letter-spacing: 0.24em; text-indent: 0.24em; text-align: center; color: #bb1f4d; }
.resv__label__txt::before,
.resv__label__txt::after { position: absolute; display: block; top: 50%; width: 1px; height: calc(100% + 10px); background: #bb1f4d; content: ""; }
.resv__label__txt::before { left: -5px; transform: translateY(-45%) rotate(-15deg); }
.resv__label__txt::after { right: -5px; transform: translateY(-45%) rotate(15deg); }
.resv .resv__btn { height: 65px; background: #bb1f4d; }
.resv .resv__btn__txt { margin-top: 0; text-align: center; }
.resv__notice { margin-top: 5px; font-size: 1.0rem; font-weight: 400; line-height: 1.8; text-align: center;}
@media print, screen and (max-width:680px) {
	
}
@media print, screen and (min-width:681px) {
.resv {  }
	.resv__deco { margin-top: 140px; margin-bottom: 22px; }
	.resv__deco img { width: 350px; }
	.resv__label { margin-bottom: 10px; }
	.resv__label__txt { font-size: 2.2rem; }
	.resv__label__txt::before,
	.resv__label__txt::after { height: calc(100% + 2px); }
	.resv__label__txt::before { transform: translateY(-45%) rotate(-20deg); }
	.resv__label__txt::after { transform: translateY(-45%) rotate(20deg); }
	.resv .resv__btn { width: 448px; height: 76px; margin-left: auto; margin-right: auto; font-weight: 500; }
	.resv .resv__btn__txt { font-size: 2.0rem; letter-spacing: 0.1em; text-indent: 0.1em; }
	
	.resv .resv__btn::before,
	.resv .resv__btn::after { width: 30px; height: 30px; }
	.resv__notice { font-size: 1.1rem; }
}


/*	Marquee	*/
.marquee { position: absolute; bottom: 1px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; width: 100%; height: 64px; margin-bottom: -15px; overflow: hidden; }
.marquee img { max-width: none; width: auto; height: 39px; }
.marquee img:first-child {
	-webkit-animation: flow1Sp 50s -25s linear infinite;
	animation: flow1Sp 50s -25s linear infinite;
}
.marquee img:nth-child(2) {
	-webkit-animation: flow2Sp 50s linear infinite;
	animation: flow2Sp 50s linear infinite;
}
@media print, screen and (min-width:681px) {
	.marquee { height: 56px; margin-bottom: -3px; }
	.marquee img { height: 56px; }
}






/*	Heading	*/
.heading-wrap { position: relative; background: #fff; }
.heading-wrap::before { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; min-height: 1085px; background: linear-gradient(to bottom, rgba(245,245,240,1) 0%,rgba(255,255,255,0) 100%); content: ""; z-index: 10; pointer-events: none; }
.heading-bgimg { position: relative; z-index: 0;}
.heading { position: relative; padding-top: 150px; padding-bottom: 10px; font-family: YakuHanMP_Noto, "Noto Serif JP", serif; font-weight: 500; z-index: 100; }
.heading__ttl { text-align: center; }
.heading__ttl img { width: 256px; }
.heading__txt { margin-top: 32px; font-size: 1.6rem; line-height: 2.25; }
.heading__notice { margin-top: 32px; font-size: 1.1rem; line-height: 1.8181; }
@media print, screen and (min-width:681px) {
	.heading-wrap::after { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background: url("../img/texture_bottom.jpg") no-repeat center/cover; content: ""; opacity: .3; z-index: 5; }
	.heading { padding-top: 192px; padding-bottom: 0; }
	.heading__ttl img { width: 475px; }
	.heading__txt { margin-top: 32px; font-size: 1.8rem; line-height: 2.222; text-align: center; }
	.heading__notice { margin-top: 70px; line-height: 1; text-align: center; }
	.heading-bgimg { height: 531px; }
	.heading-bgimg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0%; }
}


/*-------------
		Bottom
-------------*/
.bottom-wrap { position: relative; background: #fff; padding: 50px 0; overflow: hidden; }

@media print, screen and (max-width:680px) {
}
@media print, screen and (min-width:427px) {
	.bottom-bg { background-size: cover; }
}
@media print, screen and (min-width:681px) {
	.bottom-wrap { padding: 100px 0; }
	.bottom-bg { height: 400px; background-position: 50% 0; }
}
@media print, screen and (min-width:1401px) {
	.bottom-bg { height: 450px; background-position: 50% 30%; }
}
@media print, screen and (min-width:1701px) {
	.bottom-bg { height: 550px; background-position: 50% 15%; }
}


/*	Linksbtn	*/
.linkbtn-wrap { position: relative; display: flex; max-width: 880px; width: calc(100% - 40px); margin-left: auto; margin-right: auto; z-index: 50; }
.linkbtn { position: relative; display: flex; flex-direction: column; justify-content: center; height: 80px; border-radius: 10px; padding: 0 24px; color: #fff; transition: .4s; }
.linkbtn::before,
.linkbtn::after { position: absolute; top: 50%; transform: translateY(-50%); right: 24px; display: block; width: 32px; height: 32px; background-repeat: no-repeat; background-position: center; background-size: contain; content: ""; transition: .4s; }
.linkbtn::before { background-image: url("../../img/obj_arrow_off.png"); }
.linkbtn::after { background-image: url("../../img/obj_arrow_on.png"); opacity: 0; }
.linkbtn--news { background: #6f1e36; }
.linkbtn--oc { background: #bb1f4d; }
.linkbtn--apc { background: #ef5a6f; }
.linkbtn__label { font: 400 1.2rem "Bodoni Moda", serif; line-height: 1; }
.linkbtn__txt { margin-top: 6px; font: 500 1.5rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; letter-spacing: 0.015em; }
@media print, screen and (max-width:680px) {
	.linkbtn-wrap { flex-direction: column; }
	.linkbtn:not(:first-of-type) { margin-top: 24px; }
}
@media print, screen and (min-width:681px) {
	.linkbtn-wrap { justify-content: space-between; }
	.linkbtn { width: 260px; height: 104px; padding: 0 32px; transition: .4s !important; }
	.linkbtn::before,
	.linkbtn::after { right: 32px; width: 41px; height: 41px; }
	.linkbtn__label { font-size: 1.4rem; }
	.linkbtn__txt { margin-top: 9px; font-size: 1.6rem; }
	.linkbtn--news:hover { background: #550a28; }
	.linkbtn--oc:hover { background: #911437; }
	.linkbtn--apc:hover { background: #cc4c62; }
	.linkbtn:hover::before { opacity: 0; }
	.linkbtn:hover::after { opacity: 1; }
}




/*	Footer	*/
.footer { background: #bb1f4d; padding-top: 40px; padding-bottom: 64px; }
.footer__inner { max-width: 1000px; width: calc(100% - 48px); margin-left: auto; margin-right: auto; }
.footer__upper {  }
.footer__logo img { width: 263px; }
.footer__txt { font-size: 1.3rem; font-weight: 700; line-height: 1.846; color: #fff; }

.footer__upper__link { display: flex; flex-wrap: wrap; justify-content: space-between; }
.footer__upper__link__item { position: relative; width: calc(50% - 24px); margin-bottom: 24px; }
.footer__upper__link__item a { display: block; font-size: 1.3rem; font-weight: 700; line-height: 1; color: #fff; }
.footer__upper__link__item::before { position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: block; width: 8px; height: 8px; background: url("../../img/icon_arrow_ur.png") no-repeat center/contain; content: ""; }

.footer__sns { display: flex; align-items: center; margin-top: 34px; }
.footer__sns__item:not(:first-of-type) { margin-left: 32px; }
.footer__sns__item:last-of-type { margin-left: 26px; }
.footer__sns__item img { width: auto; height: 21px; }
@media print, screen and (max-width:680px) {
	.footer__txt { margin-top: 28px; }
	.footer__upper__link { border-top: 1px solid #fff; margin-top: 32px; padding-top: 32px; }
	.footer__sns { justify-content: center; }
}
@media print, screen and (min-width:681px) {
	.footer { padding-top: 40px; padding-bottom: 64px; }
	.footer__upper { display: flex; justify-content: space-between; align-items: center; }
	.footer__upper__logothings { order: 1; display: flex; justify-content: space-between; align-items: center; }
	.footer__txt { margin-left: 54px; }
	.footer__upper::before { order: 2; width: 1px; height: 56px; background: #fff; content: ""; }
	.footer__upper__link { order: 3; }
	.footer__upper__link__item { width: calc(50% - 32px); margin-bottom: 0; }
	.footer__upper__link__item:nth-child(-n+2) { margin-bottom: 16px; }
	.footer__upper__link__item a { display: block; font-size: 1.3rem; font-weight: 700; line-height: 1; color: #fff; transition: .4s; }
	.footer__upper__link__item a:hover { opacity: 0.7; }

	.footer__sns { margin-top: 38px; }
	.footer__sns__item:not(:first-of-type),
	.footer__sns__item:last-of-type { margin-left: 16px; }
	.footer__sns__item a { transition: .4s; }
	.footer__sns__item a:hover { opacity: 0.7; }
}


/**********************************************************
*　Program
**********************************************************/

/*	Program Title	*/
.sec--prg { position: relative; margin-top: 31px; z-index: 100; }
.prg-ttl {  }
.prg-ttl__main { font: 500 2.8rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1.324; letter-spacing: 0.01em; text-indent: 0.01em; text-align: center; color: #1e234b; }
.prg-ttl__en { margin-top: 6px; text-align: center; }
.prg-ttl__en img { width: auto; height: 10px; }
.prg-ttl__notice { margin-top: 16px; font-size: 1.0rem; font-weight: 400; line-height: 1.6; text-align: center; }
@media print, screen and (max-width:360px) {
	.prg-ttl__main { margin-left: -10px; margin-right: -10px; }
}
@media print, screen and (min-width:681px) {
	.sec--prg { margin-top: 132px; }
	.prg-ttl {  }
	.prg-ttl__main { font-size: 3.5rem; line-height: 1.6; }
	.prg-ttl__en { margin-top: 14px; }
	.prg-ttl__en img { width: auto; height: 14px; }
	.prg-ttl__notice { margin-top: 22px; font-size: 1.1rem; }
}

/*	Program Contents	*/
.prg-wrap { counter-reset: point-counter; margin-top: 40px; }
.prg { counter-increment: point-counter; }
.prg__inner { margin-left: auto; margin-right: auto; }
.prg__label { font: 700 2.0rem "amandine", sans-serif; line-height: 1; letter-spacing: 0.1em; }
.prg__label::before { content: "Special"; }
.prg__label::after { content: counter(point-counter, decimal-leading-zero); margin-left: 8px; font-size: 4.0rem; }
.prg__ttl-wrap { margin-top: 10px; }
.prg__ttl { padding: 5px 7px 6px 5px; }
.prg__ttl:not(:first-of-type) { margin-top: 1px; }
.prg__ttl::before { background: #1e234b; }

.aos-animate .prg__ttl.anittl::before {  }
.prg__ttl__txt { font: 400 2.5rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; letter-spacing: -0.08em; color: #fff; word-break: keep-all; }
.prg__ttl__txt ._han { letter-spacing: 0; }
.prg__ttl__txt ._ktkn { letter-spacing: -0.2em; }
.prg__ttl__txt ._eng { letter-spacing: 0; }
.prg__ttl__txt.anittl__txt {  }

.prg__img { display: block; margin-bottom: 13px; text-align: center; }

.prg__txt { font: 500 1.4rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1.714; }
.prg--3 .prg__notice { margin-top: 8px; }
.prg__notice { margin-top: 8px; }
.prg__notice::before { content: "※"; }

.prg__ttl--1 .prg__ttl__txt { animation-delay: 1.0s; }
.prg__ttl--2 .prg__ttl__txt { animation-delay: 1.5s; }
.prg__ttl--3 .prg__ttl__txt { animation-delay: 2.0s; }
.prg__ttl--4 .prg__ttl__txt { animation-delay: 2.5s; }


.aos-animate .prg__ttl--1.anittl::before { animation-delay: 0.5s; }
.aos-animate .prg__ttl--2.anittl::before { animation-delay: 1.0s; }
.aos-animate .prg__ttl--3.anittl::before { animation-delay: 1.5s; }
.aos-animate .prg__ttl--4.anittl::before { animation-delay: 2.0s; }

@media print, screen and (max-width:360px) {
	.prg__ttl-wrap--sp { margin-right: -10px; }
	.prg__ttl__txt { font-size: 2.1rem; }
}
@media print, screen and (max-width:375px) {
	.prg__ttl__txt { font-size: 2.4rem; }
}
@media print, screen and (max-width:680px) {
	.prg:not(:first-of-type) { margin-top: 37px; }
	.prg__ttl-wrap--pc { display: none; }
	.prg__img img { position: relative; left: 50%; transform: translateX(-50%); }
	.prg--1 .prg__img { margin-top: 21px; }
	.prg--1 .prg__img img { width: calc(100% - 4px); }
	.prg--2 .prg__img { margin-top: -21px; }
	.prg--2 .prg__img img { width: calc(100% - 10px); }
	.prg--3 .prg__img { margin-top: 18px; }
	.prg--3 .prg__img img { max-width: none; width: calc(100% + 4px); }
	.prg--4 .prg__img { margin-top: -11px; }
	.prg--4 .prg__img img { width: calc(100% - 5px); }
	.prg--5 .prg__img { margin-top: 13px; }
	.prg--5 .prg__img img { max-width: none; width: calc(100% + 8px); }
	.prg--6 .prg__img { margin-top: 6px; }
	.prg--6 .prg__img img { width: calc(100% - 4px); }
	.prg--7 .prg__img { margin-top: -5px; }
	.prg--7 .prg__img img { max-width: none; width: calc(100% + 15px); }
	.prg--7 .prg__notice { margin-top: 10px; }
}
@media print, screen and (min-width:681px) {
	.prg__ttl-wrap--sp { display: none; }
	.prg-wrap { margin-top: 108px; padding-left: 70px; padding-right: 70px; }
	.prg { position: relative; counter-increment: point-counter; }
	.prg:nth-of-type(odd) { padding-left: 480px; }
	.prg:nth-of-type(even) { padding-right: 480px; }
	.prg__label::after { font-size: 5.0rem; }
	.prg__ttl-wrap { margin-top: 16px; }
	.prg__ttl { padding: 4px 9px 5px 7px; }
/*	.prg__ttl { padding: 7px 7px 8px; }*/
	.prg__ttl:not(:first-of-type) { margin-top: 3px; }
	.prg__ttl__txt { font-size: 2.2rem; }
	.prg__txt { width: 257px; margin-top: 9px; font-size: 1.5rem; line-height: 1.9334; }
	
	.prg__img { position: absolute; top: 50%; }
	.prg__img img { max-width: none; width: auto; height: 409px; }
	.prg--1 .prg__img { left: 0; transform: translateY(-55%); }
	.prg--2 { margin-top: 130px; }
	.prg--2 .prg__img { right: 0; transform: translateY(-55%); }
	.prg--3 { margin-top: 130px; padding-left: 450px !important; }
	.prg--3 .prg__img { left: -15px; transform: translateY(-54%); }
	.prg--4 { margin-top: 118px; padding-right: 470px !important; }
	.prg--4 .prg__img { right: -44px; transform: translateY(-49%); }
	.prg--5 { margin-top: 104px; }
	.prg--5 .prg__img { left: -8px; transform: translateY(-52%); }
	.prg--6 { margin-top: 143px; padding-right: 435px !important; }
	.prg--6 .prg__img { right: -20px; transform: translateY(-51%); }
	.prg--7 { margin-top: 129px; }
	.prg--7 .prg__img { left: -23px; transform: translateY(-50%); }
	
	.prg--7 .prg__notice { position: absolute; bottom: -37px; left: 50%; transform: translateX(-50%); font-size: 1.1rem; }
}



/*	Schedule	*/
.sec--sche { position: relative; background: url("../img/bg_sche_sp.jpg") no-repeat 50% 0/cover; padding-top: 46px; padding-bottom: 125px; }
.sec--sche::before { position: absolute;
	top: 0; left: 0; display: block; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(245,245,240,1) 0%,rgba(255,255,255,0) 100%); content: ""; }
.sec--sche .l-wrapper { position: relative; z-index: 50; }
.sche-lead {  }
.sche-lead__ttl { position: relative; margin-bottom: 68px; font: 700 5.0rem "amandine", sans-serif; line-height: 1; letter-spacing: 0.08em; text-indent: 0.08em; text-align: center; color: #1e234b; }
.sche-lead__ttl::before { position: absolute; bottom:-30px; left: 50%; transform: translateX(-50%); display: block; width: 60px; height: 1px; background: #1e234b; content: ""; }
.sche-lead__txt { text-align: center; }
.sche-lead__txt img { width: auto; height: 41px; }
.sche-wrap { display: flex; flex-wrap: wrap; margin-top: 34px; margin-right: -20px; margin-bottom: 64px; }
.sche { display: flex; flex-direction: column; justify-content: center; align-items: center; width: calc(33.333% - 20px); background: #fff; aspect-ratio: 1/1; margin-right: 20px; margin-bottom: 20px; font-family: "Bodoni Moda", serif; font-weight: 600; line-height: 1; }
.sche__date { font-size: 2.4rem; }

.sche--2026 { padding-top: 3px; }
.sche--2026 .sche__date { position: relative; }
.sche--2026 .sche__date::before { position: absolute; bottom: calc(100% + 2px); left: 50%; transform: translateX(-50%); font-size: 0.9rem; content: "2026"; }
.sche__dow { margin-top: 1px; font-size: 1.4rem; }
.sche__txt { display: flex; justify-content: center; align-items: center; font-size: 1.0rem; line-height: 1; letter-spacing: 0.1em; text-indent: 0.1em; text-align: center; }
.sche__txt--time {  }
.sche__txt--time::before { width: 8px; aspect-ratio: 1/1; background: url("../img/icon_clock.png") no-repeat center/contain; margin-right: 2px; content: ""; }
.sche__line { width: calc(100% - 16px); height: 1px; background: rgba(30,35,75,0.1); border: none; margin: 7px 0 6px; }
.sche-btn { height: 65px; background-color: #1e234b; }
.sche-btn__txt { margin-top: 0; }
.sche-btn__txt ._ktkn { letter-spacing: -0.05em; }
@media print, screen and (max-width:680px) {
	
}
@media print, screen and (min-width:681px) {
	.sec--sche { background-image: url("../img/bg_sche_pc.jpg"); padding-top: 110px; padding-bottom: 100px; }
	.sec--sche .l-wrapper { min-width: 880px; width: 880px; padding-left: 62px; padding-right: 62px; }
	.sche-lead__ttl { margin-bottom: 60px; font-size: 6.0rem; }
	.sche-lead__ttl::before { bottom:-28px; }
	.sche-lead__txt img { height: 59px; }
	
	.sche-wrap { margin-top: 42px; margin-bottom: 80px; }
	.sche { width: calc(20% - 20px); padding-top: 3px; }
	.sche__date { font-size: 3.5rem; }
	
	.sche--2026 { padding-top: 0; }
	.sche--2026 .sche__date::before { bottom: calc(100% + 4px); font-size: 1.3rem; }
	
	
	.sche__dow { font-size: 2.0rem; }
	.sche__txt { font-size: 1.4rem; }
	.sche__txt--time {  }
	.sche__txt--time::before { width: 11px; }
	.sche__line { width: calc(100% - 20px); margin: 10px 0 9px; }
	
	.sche-btn { width: 478px; height: 76px; margin-left: auto; margin-right: auto; }
	.sche-btn::before,
	.sche-btn::after { width: 30px; height: 30px; }
	.sche-btn__txt { font-size: 2.0rem; letter-spacing: 0.23em; }
	.sche-btn__txt ._ktkn { letter-spacing: 0; }
	
}
@media print, screen and (min-width:1401px) {
	.sec--sche { background-image: url("../img/bg_sche_lpc.jpg"); }
}

/*		*/
@media print, screen and (max-width:680px) {
	
}
@media print, screen and (min-width:681px) {
	
}

/*		*/
@media print, screen and (max-width:680px) {
	
}
@media print, screen and (min-width:681px) {
	
}





@keyframes anittlbg {
	0% { left: -100%; }
	50% {  }
	100% { left: 0; width: 100%; }
}
@keyframes anittltxt {
	0% { }
	50% {  }
	100% { margin-left: 0; }
}

@keyframes anisaturate {
	0% { filter: saturate(0%); }
	100% { filter: saturate(100%); }
}

@keyframes colorchange {
	0% { filter: hue-rotate(0deg); }
	50% { filter: hue-rotate(180deg); }
	100% { filter: hue-rotate(365deg); }
}
@-webkit-keyframes flow1Sp {
	0% { -webkit-transform: translateX(100%); transform: translateX(100%); }
	100% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
}
@keyframes flow1Sp {
	0% { -webkit-transform: translateX(100%); transform: translateX(100%); }
	100% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
}
@-webkit-keyframes flow2Sp {
	0% { transform: translateX(0); }
	100% { -webkit-transform: translateX(-200%); transform: translateX(-200%); }
}
@keyframes flow2Sp {
	0% { transform: translateX(0); }
	100% { -webkit-transform: translateX(-200%); transform: translateX(-200%); }
}

@-webkit-keyframes flow1RevSp {
	0% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
	100% { -webkit-transform: translateX(100%); transform: translateX(100%); }
}
@keyframes flow1RevSp {
	0% { -webkit-transform: translateX(-100%); transform: translateX(-100%); }
	100% { -webkit-transform: translateX(100%); transform: translateX(100%); }
}
@-webkit-keyframes flow2RevSp {
	0% { transform: translateX(-200%); }
	100% { -webkit-transform: translateX(0); transform: translateX(0); }
}
@keyframes flow2RevSp {
	0% { transform: translateX(-200%); }
	100% { -webkit-transform: translateX(0); transform: translateX(0); }
}


/*************************************************************************************************************************
* css for Recruit footer template
*************************************************************************************************************************/
.r-footer{ background: #fff; padding: 15px; position: relative; z-index: 10; border-top: 1px solid #e1e1e1; overflow: hidden;}
.r-footer ul li a{ position: relative; padding: 0 0 0 10px; font-size: 12px; line-height: 1; color: #333;}
.r-footer ul li a::before{ content: ""; width: 0; height: 0; position: absolute; top: 2px; left: 0; border-style: solid; border-width: 4px 0 4px 5px; border-color: transparent transparent transparent #454545;}
.r-footer > a{ display: block; width: 258px; height: 37px; margin: 15px 0 0;}

@media print, screen and (min-width: 681px){
  .r-footer{ display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; padding: 15px 30px 20px;}
  .r-footer ul{ display: flex; }
  .r-footer ul li a{ padding-left: 5px;}
  .r-footer ul li a::before{ display: none;}
  .r-footer ul li a::after{ content: "｜"; padding: 0 0 0 5px;}
  .r-footer ul li:last-child a::after{ display: none;}
  .r-footer a{ margin-top: 0;}
}

img[width="1"]{ width: auto; position: absolute; top: 0; left: 0; z-index: -1000;}






