@charset "UTF-8";
/* CSS Document */
/*
font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
font-family: "Bodoni Moda", serif;
*/




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__body { 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__body:hover { background-color: #d8aa1e; }
.fixed-button__body:visited,
.fixed-button__body:active { color: #000; }
*/

.fixed-button__oc { display: flex; justify-content: center; align-items: center; height: 54px; background: #ef5a6f; border-radius: 27px; margin-top: 29px; box-shadow: 3px 4px 0px 0px rgba(0,0,0,1); }
.fixed-button__oc img { width: 272px; }


@media screen and (max-width: 680px) {
	.fixed-button { left: 50%; bottom: 16px; transform: translate(-50%, 100%); width: calc(100% - 32px); }/* 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; display: none; }
	.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::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__oc { display: none; }
	.fixed-button__body { width: 100%; height: 100%; border-radius: 16px 0 0 16px; padding: 40px 0 0; writing-mode: vertical-rl; transition: .4s; color: #fff; }
	
	.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: -200%; z-index: 5; }

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


.mask { position: fixed; top: 0; left: 0; display: flex; width: 100%; height: 100%; background: #fff; transition: 1.0s; pointer-events: none; z-index: 9999; }
.mask._off { opacity: 0; }

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

.header-wrap { position: relative; background: #fff; z-index: 200; }
.header-link { position: absolute; top: 100%; right: 0; display: block; width: 352px; }
.header { display: flex; align-items: center; width: 100%; height: 56px; padding: 0 16px; z-index: 100; }
.header-logo { display: flex; align-items: center; }
.header-logo img { width: 201px; }
.header-logo::after { margin-left: 16px; font: 500 1.4rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; color: #1e234b; content: "メッセージサイト"; }
@media print, screen and (max-width:680px) {
	.upper-wrap { height: 100svh; }
}
@media print, screen and (min-width:681px) {
	.fv-wrap { z-index: 200; }
	.header-wrap { position: absolute; top: 0; left: 0; width: 100%; }
	.header-link { top: 0; transition: .4s; width: 504px; }
}



/*	Anchor Button	*/
.fv__anc-wrap { position: absolute; bottom: 0; right: 0; display: flex; justify-content: space-between; align-items: stretch; width: 100%; height: 64px; background: #bb1f4d; z-index: 100; }

.fv__anc { display: flex; justify-content: center; align-items: center; width: calc(33.333% - 1px); height: 100%; font: 500 1.4rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1.2857; text-align: center; color: #fff; } 

@media print, screen and (max-width:680px) {
	.fv__anc-wrap { bottom: -64px; border-top: 1px solid #fff; border-bottom: 1px solid #fff; }
	.fv__anc-wrap.fixed { position: fixed; bottom: auto; top: 0; z-index: 999; }
	.fv__anc-wrap::before { position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: calc(33.333% - 2px); height: 100%; border-right: 1px solid #fff; border-left: 1px solid #fff; content: ""; pointer-events: none; }
}
@media print, screen and (min-width:681px) {
	.fv__anc-wrap { position: fixed; top: 32px; right: 40px; transform: translateY(-100px); transition: .4s; width: 480px; height: 40px; border-radius: 20px; z-index: 200; }
	.fv__anc-wrap.is-visible { transform: translateY(0); }
	.fv__anc { position: relative; width: auto; transition: .4s; }
	.fv__anc:hover { color: #6f1e36; }
	.fv__anc:nth-of-type(2) { width: 90px; z-index: 10; }
	.fv__anc:nth-of-type(2)::before,
	.fv__anc:nth-of-type(2)::after { position: absolute; top: 50%; transform: translateY(-50%); width: 1px; height: calc(100% - 24px); background: #fff; content: "";  }
	.fv__anc:nth-of-type(2)::before { left: -1px; }
	.fv__anc:nth-of-type(2)::after { right: -1px; }
	.fv__anc:not(:nth-of-type(2)) { flex: 1; }
}
/*
.fv__anc { position: absolute; bottom: 0; right: 0; display: flex; align-items: center; width: 100%; height: 64px; background: #bb1f4d; padding-left: 24px; z-index: 100; }
.fv__anc__bg { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background: url("../img/bg_fv_anc_sp.jpg") no-repeat center/cover; z-index: 0; opacity: .5; }
.fv__anc::after { position: absolute; right: 24px; top: 50%; transform: translateY(-50%) rotate(135deg); width: 12px; height: 12px; border-right: 1px solid #fff; border-top: 1px solid #fff; content: ""; }
.fv__anc span { position: relative; font: 500 1.6rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; color: #fff; z-index: 10; }
@media print, screen and (max-width:680px) {
	.fv__anc.fixed { position: fixed; bottom: auto; top: 0; z-index: 999; }
}
@media print, screen and (min-width:681px) {
	.fv__anc { right: 50%; transform: translateX(50%); padding: 0; }
	.fv__anc::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; width: calc(100% - 12px); height: calc(100% - 12px); border: 1px solid #fff; border-radius: 50%; z-index: 10; content: ""; }
	.fv__anc::after { top: auto; bottom: 25px; left: 50%; transform: translateX(-50%) rotate(135deg); width: 12px; height: 12px; border-right: 1px solid #fff; border-top: 1px solid #fff; }
	.fv__anc__bg { background-image: url("../img/bg_fv_anc_pc.jpg"); transition: .4s; }
	.fv__anc:hover .fv__anc__bg { opacity: .2; }
	.fv__anc span { position: relative; font: 500 1.6rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1.5; text-align: center; color: #fff; z-index: 10; }
	
	.fv__anc { position: absolute; bottom: 40px; right: 50%; transform: translateX(260%); display: flex; justify-content: center; align-items: center; width: 178px; height: 178px; background: #bb1f4d; border-radius: 50%; overflow: hidden; box-shadow: 8px 8px 10px 5px rgba(30, 35, 75, 0.1); }

}
*/


/*	Firstview	*/
.fv { position: relative; display: flex; align-items: flex-end; width: 100%; padding: 16px; z-index: 50; }
.fv__ttl-wrap { position: relative; z-index: 10; }

.fv__ttl__link { display: flex; justify-content: center; align-items: center; height: 54px; background: #ef5a6f; border-radius: 27px; margin-top: 29px; box-shadow: 3px 4px 0px 0px rgba(0,0,0,1); }
.fv__ttl__link img { width: 272px; }

.fv__txt { display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 38px; font-family: YakuHanMP_Noto, "Noto Serif JP", serif; font-size: 1.8rem; font-weight: 500; line-height: 1; text-align: center; }
.fv__txt::after { margin-top: 10px; font-size: 1.4rem; content: "（設置構想中）"; }
.fv__ttl--2 { margin-top: 13px; }
.fv__ttl-notice { margin-top: 15px; font-family: YakuHanMP_Noto, "Noto Serif JP", serif; font-size: 1.5rem; font-weight: 500; line-height: 1; }
.fv__ttl-notice__txt ._fc-wine { font-weight: 500; color: #bb1f4d; }
.fv__ttl-notice__txt ._txt-dash::before { content: "─"; font-weight: 500; }
/*.fv__ttl-notice::after { font-size: 1.4rem; content: "（設置構想中）"; }*/
.fv__ttl-notice__border { position: absolute; width: 100%; height: 1px; z-index: 50; mix-blend-mode: multiply; }
.fv__ttl-notice__border--1 { top: 0; background: linear-gradient(to right,  rgba(30,35,75,1) 1%,rgba(187,31,77,1) 80%); }
.fv__ttl-notice__border--2 { bottom: 0; background: linear-gradient(to right,  rgba(187,31,77,1) 20%,rgba(30,35,75,1) 99%); }
.fv__bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #fff; z-index: 0; }
.fv__bg img { object-position: 50% 0%; filter: saturate(0%); }
.fv__bg img.anistart { animation: anisaturate 1.5s 1 2.0s ease-in-out forwards; }
.fv__deco { position: absolute; }
.fv__deco--1 { top: 50%; right: 50%; transform: translate(138%, -95%); width: 255px; animation: colorchange 15s ease-in-out 1.5s infinite forwards; }
.fv__deco--2 { top: 55px; left: 50%; transform: translateX(-114%); width: 398px; animation: colorchange 20s ease-in-out 1.5s infinite forwards; }
.fv__deco--3 { bottom: -225px; left: 50%; transform: translateX(-125%); width: 320px; animation: colorchange 25s ease-in-out 1.5s infinite forwards; }

@media print, screen and (max-width:680px) {
/*	.fv { height: 100%; }*/
	.fv { height: 100svh; padding-bottom: 80px; overflow: hidden; z-index: auto; }
	
	.fv__ttl { text-align: center; }
	.fv__ttl__txt img { width: 347px; }
	.fv__ttl { width: 100%; padding: 2px; }
	.fv__ttl::before,
	.fv__ttl-notice::before { background: #fff; animation: anittlbg .5s ease-out forwards; }
	.fv__ttl-notice__border { left: -100%; animation: anittlbg .5s ease-out forwards; animation-delay: 2.0s; }
	.fv__ttl--1::before { animation-delay: 0.5s; }
	.fv__ttl--2::before { animation-delay: 1.0s; }
	.fv__ttl-notice::before { animation-delay: 1.5s; }
	.fv__ttl-notice { width: 100%; padding: 6px 2px 6px; text-align: center; }
	
	.fv__ttl__txt,
	.fv__ttl-notice__txt { animation: anittltxt .5s ease-out forwards; }
	.fv__ttl--1 .fv__ttl__txt { animation-delay: 1.0s }
	.fv__ttl--2 .fv__ttl__txt { animation-delay: 1.5s }
	.fv__ttl-notice__txt { animation-delay: 2.0s; }
	.fv__ttl-notice::after { position: relative; z-index: 10; margin-left: -10px; }
	
	
	
	.fv__deco--3.discard,
	.fv__bg__img--pc { display: none; }
}
@media print, screen and (max-width:374px) {
	.fv__ttl-notice { font-size: 1.3rem; }
}
/*  for short Android  */
@media screen and (max-width: 375px) and (max-height: 550px) {
	.fv { padding-bottom: 20px; }
	.fv__ttl-notice { margin-top: 13px; }
	.fv__ttl__link { margin-top: 13px; }
}

@media print, screen and (min-width:681px) {
	.header { height: 84px; padding: 0 32px; }
	.header-logo {  }
	.header-logo img { width: 336px; }
	.fv { align-items: center; min-height: 768px; height: 100vh; }
	
	.fv__ttl-wrap { position: static; display: flex; flex-direction: column; width: 960px; margin-left: auto; margin-right: auto; }
	.fv__ttl img { width: 610px; }
	.fv__ttl::before,
	.fv__ttl-notice::before { display: none; }
	.fv__ttl-notice { display: inline-flex; justify-content: center; align-items: center; max-width: 500px; padding-top: 12px; padding-bottom: 13px; font-size: 2.2rem; }
	.fv__ttl__txt,
	.fv__ttl-notice__txt { margin-left: 0; }
	.fv__ttl-notice__border { left: 0; display: inline-block; }
	.fv__ttl-notice__txt ._txt-dash::before { content: "──"; }
	.fv__ttl__txt img { width: 500px; }
	
	.fv__ttl__link { position: absolute; bottom: 10px; left: 26px; width: 159px; height: 159px; border-radius: 50%; margin-top: 0; box-shadow: none; overflow: hidden; transition: filter .4s; }
/*	.fv__ttl__link::before { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background: #ef5a6f; content: ""; }*/
	.fv__ttl__link:hover { filter: brightness(80%) contrast(150%); }
	.fv__ttl__link img { position: relative; width: 140px; z-index: 10; }
/*	.fv__ttl__link._fixed { position: fixed; bottom: auto; top: 50%; transform: translateY(-50%); z-index: 1000; }*/
	.fv__ttl__link._fixed { position: fixed; bottom: auto; top: 10px; z-index: 1000; }
	
	.fv__txt { margin-top: 48px; }
	.fv__bg img.anistart { animation: anisaturate 1.5s 1 1.0s ease-in-out forwards; }
	.fv__bg__img--sp { display: none; }
	.fv__deco--1 { top: -80px; transform: translateX(155%); width: 480px; }
	.fv__deco--2 { top: 108px; transform: translateX(-150%); width: 570px; }
	.fv__deco--3 { bottom: -365px; transform: translateX(-149%); width: 540px; }
	
	
}
@media print, screen and (min-width:1401px) {
	.fv__ttl-wrap { width: 1100px; }
	.fv__deco--1 { transform: translateX(165%); }
}
@media print, screen and (min-width:1601px) {
	.fv__deco--1 { transform: translateX(185%); }
}



.lower-wrap { position: relative; padding-top: 129px; }
@media print, screen and (max-width:680px) {
	.lower-wrap { padding-top: 193px; }
}
/*	Deco	*/
.deco { position: absolute; pointer-events: none; }
/*.deco--1 { top: -85px; right: 50%; margin-right: -340px; width: 340px; animation: colorchange 15s ease 1s infinite forwards; mix-blend-mode: multiply; }*/

.deco--1 { top: -130px; left: 50%; margin-left: -401px; width: 327px; animation: colorchange 30s ease 0s infinite forwards; }
.deco--2 { top: 54px; right: 50%; margin-right: -430px; width: 422px; animation: colorchange 25s ease-in-out 1.5s infinite forwards; }
.deco--3 { top: 88vh; left: 50%; margin-left: -330px; width: 214px; animation: colorchange 20s ease-in-out 1.2s infinite forwards; }
.deco--4 { top: 69vh; right: 50%; margin-right: -467px; max-width: none; width: 367px; animation: colorchange 15s ease 1.3s infinite forwards; }

.deco--5 { top: -510px; right: 50%; margin-right: -290px; width: 240px; z-index: 0; animation: colorchange 15s ease 0s infinite forwards; }
.deco--6 { top: -40px; left: 50%; margin-left: -300px; width: 240px; animation: colorchange 23s ease 0s infinite forwards; }
.deco--7 { top: -90px; left: 50%; margin-left: -447px; max-width: none; width: 444px; z-index: 0; animation: colorchange 35s ease 0s infinite forwards; }
.deco--8 { top: -113px; right: 50%; margin-right: -300px; width: 302px; transition: .4s; animation: colorchange 40s ease 0s infinite forwards; }
.deco--9 { bottom: -170px; right: 50%; margin-right: -225px; width: 314px; animation: colorchange 30s ease 0s infinite forwards; }
.deco--10 { bottom: 0; }

.deco--11 { top: -148px; right: 50%; margin-right: -225px; width: 314px; z-index: 50; animation: colorchange 30s ease 0s infinite forwards; }
/*

.deco--6 { top: 82px; left: 50%; margin-left: -300px; width: 162px; z-index: 100; animation: colorchange 19s ease 2s infinite forwards; }
*/


.deco--20 { top: 211vh; right: 50%; margin-right: -240px; width: 176px; z-index: 0; animation: colorchange 20s ease 1.7s infinite forwards; }
.deco--21 { top: 263.5vh; left: 50%; margin-left: -395px; width: 459px; z-index: 0; animation: colorchange 15s ease 3s infinite forwards; }
.deco--22 { top: 131vh; right: 50%; margin-right: -475px; max-width: none; width: 444px; z-index: 0; animation: colorchange 12s ease 4s infinite forwards; }
.deco--23 { top: 478vh; left: 50%; margin-left: -370px; max-width: none; width: 365px; z-index: 0; animation: colorchange 27s ease 1.5s infinite forwards; }
.deco--24 { bottom: 96vh; right: 50%; margin-right: -360px; max-width: none; width: 444px; z-index: 0; mix-blend-mode: multiply; animation: colorchange 20s ease 1.3s infinite forwards; }
.deco--25 { bottom: 50vh; left: 50%; margin-left: -280px; width: 302px; z-index: 0; animation: colorchange 11s ease 5s infinite forwards; }
.deco--26 { bottom: -106px; right: 50%; margin-right: -290px; max-width: none; width: 432px; z-index: 0; animation: colorchange 30s ease 0s infinite forwards; }

@media print, screen and (max-width:680px) {
	.deco--24,
	.deco--25 { display: none; }
}
@media print, screen and (min-width:681px) {
	.deco--1 { display: none; }
	.deco--2 { top: 0px; margin-right: -870px; width: 610px; z-index: 50; }
	.deco--3 { top: 795px; margin-left: -670px; width: 388px; }
	.deco--4 { top: 71.5vh; margin-right: -941px; width: 706px; }
	
	.deco--5 { top: -370px; margin-right: 340px; width: 320px; }
	.deco--6 { top: 150px; margin-left: 240px; width: 320px; }
	.deco--7 { top: -150px; margin-left: -827px; width: 670px; }
	.deco--8 { top: -360px; margin-right: -790px; width: 395px; }
	.deco--9 { bottom: -250px; margin-right: -705px; width: 526px; z-index: 10; }
	.deco--10 { bottom: 0; }
	
/*	
	.deco--6 { top: 190px; margin-left: -700px; width: 320px; }
	
*/
	.deco--11 { top: -392px; margin-right: -705px; width: 526px; z-index: 150; mix-blend-mode: multiply; }
	
	.deco--20 { top: auto; bottom: 1900px; margin-right: -640px; width: 320px; z-index: 60; }
	.deco--21 { top: 185vh; margin-left: -985px; width: 663px; z-index: 0; }
	.deco--22 { top: auto; margin-right: -905px; width: 670px; bottom: 655px; }
	.deco--23 { top: auto; bottom: 730px; margin-left: -760px; width: 570px; z-index: 0; }
	.deco--24 { display: none; }
	.deco--25 { bottom: -110px; margin-left: -580px; width: 395px; z-index: 0; }
	.deco--26 { bottom: -376px; margin-right: -730px; width: 853px; z-index: 0; }
	
}

/*	Intro	*/
.intro { position: relative; padding-bottom: 50px; font: 500 1.6rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 2.25; text-align: center; z-index: 10; }
.intro p:not(:first-of-type) { margin-top: 35px; }
@media print, screen and (min-width:681px) {
	.intro { padding-bottom: 68px; font-size: 1.8rem; line-height: 2.22; }
	.intro p:not(:first-of-type) { margin-top: 38px; }
}


/*	Marquee	*/
.marquee { display: flex; align-items: center; width: 100%; height: 64px; 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; }
	.marquee img { height: 56px; }
}

/*	Upper Interview	*/
.upper-intv { padding-top: 93px; padding-bottom: 96px; }
.upper-intv__txt { text-align: center; }
.upper-intv__txt img { width: 345px; }
@media print, screen and (min-width:681px) {
	.upper-intv { position: relative; padding-top: 132px; padding-bottom: 120px; z-index: 10; }
	.upper-intv__txt img { width: 752px; }
}


/*	Interview	*/
.sec-intv { position: relative; }
.sec-intv .l-wrapper { width: 100%; background: #fff; border-radius: 40px 40px 0 0; padding: 80px 24px 80px; }
.intv-head { position: relative; font-family: YakuHanMP_Noto, "Noto Serif JP", serif; color: #1e234b; z-index: 10; }
.intv-head__ttl {  }
.intv-head__ttl__label { display: block; margin-bottom: 6px; font: 600 1.6rem "Bodoni Moda", serif; line-height: 1; }
.intv-head__ttl__label::before,
.intv-head__ttl__label::after { font-weight: 400; }
.intv-head__ttl__label::before { content: "["; margin-right: 12px; }
.intv-head__ttl__label::after { content: "]"; margin-left: 12px; }
.intv-head__ttl__txt { font-size: 3.2rem; font-weight: 500; line-height: 1.5; letter-spacing: 0.03em; }
.intv-head__ttl__txt__lslesser { letter-spacing: 0.01em; }
.intv-head__txt { margin-top: 11px; font-size: 1.6rem; font-weight: 500; line-height: 2; }

.intv-wrap { margin-top: 72px; }
.intv { position: relative; }
.intv:not(:first-of-type) { margin-top: 96px; }
.intv__ttl-wrap { margin-top: 5px; }
.intv__ttl { padding: 2px 2px 3px; }
.aos-animate .intv__ttl::before { background: #1e234b; animation: anittlbg .5s ease-out forwards; }

.aos-animate .intv__ttl--1::before { animation-delay: 1.0s; }
.aos-animate .intv__ttl--2::before { animation-delay: 1.5s; }
.aos-animate .intv__ttl--3::before { animation-delay: 2.0s; }


.aos-animate .intv__ttl__txt { font: 600 2.8rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; text-align: left; color: #fff; animation: anittltxt .5s ease-out forwards; }
.intv__ttl__txt--lelesser { letter-spacing: -0.02em; }
.aos-animate .intv__ttl--1 .intv__ttl__txt { animation-delay: 1.5s }
.aos-animate .intv__ttl--2 .intv__ttl__txt { animation-delay: 2.0s }
.aos-animate .intv__ttl--3 .intv__ttl__txt { animation-delay: 2.5s }
.pc-only .intv__ttl__txt::after { content: "。"; letter-spacing: -0.3em; }

.intv__who { position: relative; margin-top: 28px; margin-bottom: 54px; font-weight: 400; letter-spacing: 0.02em; }
.intv__who::before { position: absolute; bottom: -30px; left: 0; display: block; width: 43px; height: 1px; background: #1e234b; content: ""; }
.intv__who__name { font-size: 1.5rem; line-height: 1; }
.intv__who__info { margin-top: 11px; font-size: 1.3rem; line-height: 1.5384; }
.intv__who__notice { margin-top: 11px; font-size: 1.1rem; font-weight: 400; line-height: 1.3; letter-spacing: 0.02em; }

.intv__msg-wrap { position: relative; overflow: hidden; }


.intv__msg:not(:first-of-type) { margin-top: 62px; }
.intv__msg__ttl { position: relative; }
.intv__msg__ttl::before { position: absolute; top: -6px; left: -5px; display: block; width: 40px; height: 29px; background: url("../img/bg_dbct.png") no-repeat center/contain; content: ""; }
.intv__msg__ttl span { position: relative; font: 500 2.0rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1.6; color: #bb1f4d; z-index: 10; }
.intv__msg__txt { margin-top: 10px; font-size: 1.5rem; font-weight: 400; line-height: 2; letter-spacing: 0.01em; color: #1e234b; }

.btn-expand { position: relative; display: flex; justify-content: center; align-items: center; min-width: 200px; height: 40px; background: #bb1f4d; border: 1px solid #bb1f4d; border-radius: 20px; margin-top: 40px; margin-left: auto; margin-right: auto; font: 500 1.6rem "Bodoni Moda", serif; line-height: 1; text-align: center; color: #fff; transition: .4s; }
.btn-expand::before { content: "SEE MORE"; }
.btn-expand__icon, .btn-expand__icon::before, .btn-expand__icon::after { position: absolute; }
.btn-expand__icon { right: 20px; top: 50%; transform: translateY(-50%); display: block; width: 12px; height: 12px; }
.btn-expand__icon::before,
.btn-expand__icon::after { top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; background: #fff; content: ""; transition: .4s; }
.btn-expand__icon::before { width: 100%; height: 1px; }
.btn-expand__icon::after { width: 1px; height: 100%; }

.btn-expand.is-opened { background: #fff; border-color: #1e234b; color: #1e234b; }
.btn-expand.is-opened::before { content: "CLOSE"; }
.btn-expand.is-opened .btn-expand__icon::before,
.btn-expand.is-opened .btn-expand__icon::after { background: #1e234b; }
.btn-expand.is-opened .btn-expand__icon::after { height: 0; }
@media print, screen and (max-width:680px) {
	.intv__msg-wrap { margin-left: -20px; padding-left: 20px; }
	.intv__img { position: relative; z-index: 10; }
}
@media print, screen and (max-width:374px) {
	.intv-head__ttl__txt { font-size: 2.8rem; letter-spacing: 0; }
	.aos-init .intv__ttl__txt { font-size: 2.6rem; }
}
@media print, screen and (min-width:681px) {
	.sec-intv { background: url("../img/bg_sec_intv.jpg") no-repeat 50% 0/1200px auto #fff; }
	.sec-intv .l-wrapper { position: relative; min-width: 880px; max-width: 880px; border-radius: 0 40px 0 0; padding: 95px 40px 90px; }
	.sec-intv .l-wrapper::before { position: absolute; top: 0; right: 100%; width: calc(100vw - 880px); height: 100%; background: #fff; content: ""; z-index: 0; }
	.intv-head {  }
	.intv-head__ttl {  }
	.intv-head__ttl__txt { font-size: 4.0rem; line-height: 1.4; }
	.intv-head__txt { margin-top: 9px; font-size: 1.6rem; line-height: 1.778; }
	
	.intv-wrap { margin-top: 115px; padding-right: 40px;}
	.intv { position: relative; }
	.intv__img { position: absolute; width: 320px; }
	
	.aos-init .intv__ttl__txt { letter-spacing: -0.06em; }
	.intv__ttl-wrap { margin-top: 0; margin-left: 40px; }
	
	.intv__ttl:not(:last-of-type) { margin-bottom: 5px; }
	.intv__img { z-index: 0; }
	
	
	.intv:not(:first-of-type) { margin-top: 134px; }
	.intv__who { margin-top: 20px; margin-bottom: 54px; margin-left: 40px; }
	.intv__who::before { width: 32px; }
	.intv__msg-wrap { position: relative; padding-left: 40px; z-index: 10; }
	.intv__msg__ttl::before { left: -19px; }
	
	.intv--1 .intv__img { top: -60px; right: -50px; }
	
	.intv--2 .intv__ttl-wrap { margin-left: 336px; }
	.intv--2 .intv__who { margin-left: 336px; }
	.intv--2 .intv__img { top: -68px; }
	.intv--3 .intv__img { top: -58px; right: -50px; }
	
}
@media print, screen and (min-width:1201px) {
	.sec-intv { background-size: 100% auto; }
}


/*	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: 474px; }
	.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; overflow: hidden; }
/*
.bottom-wrap { position: relative; padding-top: 92px; padding-bottom: 110px; overflow: hidden; }
.bottom-bg { position: absolute; top: 0; left: 0; width: 100%; height: 200px; background: url("../img/bg_bottom_sp.jpg") no-repeat 50% 50%/426px auto; z-index: 0; }
*/
/*	Faculty	*/
.fac { position: relative; max-width: 880px; width: calc(100% - 40px); background: #fff; border-radius: 32px 32px 0 0; margin-top: -64px; margin-left: auto; margin-right: auto; padding: 48px 16px 0; z-index: 50; }
.fac__ttl { text-align: center; }
.fac__ttl__label,
.fac__ttl__txt { display: block; }
.fac__ttl__label { margin-bottom: 23px; font: 600 1.6rem "Bodoni Moda", serif; line-height: 1; }
.fac__ttl__label::before,
.fac__ttl__label::after { font-weight: 400; }
.fac__ttl__label::before { content: "["; margin-right: 12px; }
.fac__ttl__label::after { content: "]"; margin-left: 12px; }
.fac__ttl__txt { font: 500 4.0rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; letter-spacing: 0.05em; text-indent: 0.05em; }
.fac__intro { margin-top: 34px; font-size: 1.5rem; font-weight: 400; line-height: 2; letter-spacing: 0.02em; }

.depa { position: relative; max-width: 720px; width: calc(100% - 40px); margin-top: 40px; margin-left: auto; margin-right: auto; z-index: 55; }
.depa__ttl { position: relative; margin-bottom: 32px; text-align: center; }
.depa__ttl::before,
.depa__ttl::after { position: absolute; top: 50%; transform: translateY(-50%); display: block; width: 32px; height: 1px; background: #1e234b; content: ""; }
.depa__ttl::before { left: 12px; }
.depa__ttl::after { right: 12px; }
.depa__ttl span { display: inline-block; font: 500 1.8rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; letter-spacing: 0.08em; text-indent: 0.08em; text-align: center; }
.depa__list {  }
.depa__list__item { font: 500 2.2rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; text-align: center; color: #6f1e36; }
.depa__list__item img { width: 200px; }
.depa__list__item figcaption { margin-top: 16px; }
@media print, screen and (max-width:680px) {
	.depa__list__item:not(:first-of-type) { margin-top: 30px; }
}
@media print, screen and (min-width:427px) {
	.bottom-bg { background-size: cover; }
}
@media print, screen and (min-width:681px) {
	#go2sub { padding-top: 110px; }
	.bottom-wrap { padding-bottom: 164px; }
	.bottom-bg { height: 400px; background-position: 50% 0; }
	.fac { margin-top: -120px; padding: 80px 80px 0; }
	.depa { margin-top: 56px; }
	.depa__ttl::before,
	.depa__ttl::after { width: 220px; }
	.depa__ttl::before { left: 0; }
	.depa__ttl::after { right: 0; }
	.depa__list { display: flex; justify-content: space-between; }
	.depa__list__item img { width: 220px; }
	.depa__list__item figcaption { margin-top: 16px; }
}
@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%; }
}


/*	Feature	*/
.feature-wrap { position: relative; display: flex; max-width: 800px; width: calc(100% - 40px); background: #f5f5f0; border-radius: 16px; margin-top: 48px; margin-left: auto; margin-right: auto; padding: 0 16px; z-index: 50; }
.feature { padding: 40px 0; line-height: 1; }
.feature__label { position: relative; display: flex; justify-content: center; align-items: center; width: calc(100% - 63px); height: 48px; background: #fff; border: 2px solid #1e234b; border-radius: 8px; margin-left: auto; margin-right: auto; margin-bottom: 34px; font: 400 1.6rem "Bodoni Moda", serif; text-align: center; }
.feature__label::before,
.feature__label::after { position: absolute; top: 50%; transform: translateY(-50%); display: block; width: 2px; height: 16px; background-repeat: no-repeat; background-position: center; background-size: contain; content: ""; }
.feature__label::before { left: -2px; background-image: url("../img/mask_feature_label_l.png"); }
.feature__label::after { right: -2px; background-image: url("../img/mask_feature_label_r.png"); }
.feature__label__tail { position: absolute; bottom: -12px; left: 50%; transform: translateX(-50%); width: 2px; height: 12px; background: #1e234b; border-radius: 1px; content: ""; }
.feature__ttl { font: 500 2.2rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; text-align: center; }
.feature__txt { margin-top: 15px; font-size: 1.5rem; line-height: 2; letter-spacing: 0.02em; }
.feature__course-wrap { margin-top: 17px; }
.feature__course { display: flex; justify-content: space-between; align-items: stretch; }
.feature__course dt { position: relative; display: flex; justify-content: center; align-items: center; width: 120px; background: rgb(40,180,200); background: linear-gradient(90deg, rgba(40,180,200,1) 0%, rgba(255,236,105,1) 100%); border-radius: 8px; margin-right: 10px; overflow: hidden; }
.feature__course:not(:first-of-type) { margin-top: 26px; }
.feature__course dt span { position: relative; z-index: 50; font: 700 1.5rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; text-align: center; color: #fff; }
.feature__course dt::before { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center; background-size: cover; content: ""; z-index: 0; opacity: 0.3; }
.feature__course:nth-of-type(1) dt::before { background-image: url("../img/bg_course_dt_1.jpg"); }
.feature__course:nth-of-type(2) dt::before { background-image: url("../img/bg_course_dt_2.jpg"); }
.feature__course:nth-of-type(3) dt::before { background-image: url("../img/bg_course_dt_3.jpg"); }
.feature__course dd { flex: 1; }
.feature__course dd ul {  }
.feature__course dd li { padding-left: 1.35em; text-indent: -1.3em; font-size: 1.5rem; font-weight: 400; line-height: 1.7334; }
.feature__course dd li::before { content: "\025cf"; margin-right: 4px; }
.feature__prg-wrap { margin-top: 18px; }
.feature__prg:not(:first-of-type) { margin-top: 12px; }
.feature__prg__ttl { position: relative; display: flex; justify-content: center; align-items: center; height: 32px; background: rgb(40,180,200); background: linear-gradient(90deg, rgba(40,180,200,1) 0%, rgba(255,236,105,1) 100%); border-radius: 8px; margin-right: 10px; overflow: hidden; }
.feature__prg__ttl span { position: relative; z-index: 50; font: 700 1.5rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 1; text-align: center; color: #fff; }
.feature__prg__ttl::before { position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background: url("../img/bg_course_dt_2.jpg") no-repeat center/cover; opacity: .3; content: ""; }
.feature__prg__txt { margin-top: 9px; font-size: 1.5rem; font-weight: 400; line-height: 1.7334; letter-spacing: 0.02em; }
.feature__notice { position: absolute; bottom: -18px; left: 50%; transform: translateX(-50%); max-width: 800px; width: calc(100% - 40px); font-size: 1.1rem; font-weight: 400; line-height: 1; letter-spacing: 0.02em; }
.under-feature-wrap { max-width: 800px; width: calc(100% - 40px); margin-top: 8px; margin-left: auto; margin-right: auto; }
.under-feature-wrap__notice { font-size: 1.1rem; font-weight: 400; line-height: 1; letter-spacing: 0.02em; }
@media print, screen and (max-width:680px) {
	.feature-wrap { flex-direction: column; }
	.feature:nth-of-type(1) { order: 1; }
	.feature-wrap::before { order: 2; width: 100%; height: 1px; background: url("../img/ptn_dot_ls.png") repeat-x 0 50%/5px auto; content: ""; }
	.feature:nth-of-type(2) { order: 3; }
}
@media print, screen and (min-width:681px) {
	.feature-wrap { position: relative; justify-content: space-between; padding: 0 40px;  }
	.feature-wrap::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; width: 1px; height: calc(100% - 80px); background: url("../img/ptn_dot_vt.png") repeat-y 50% 0/1px auto; content: ""; }
	.feature { width: 312px; }
	.feature__course dt { width: 136px; }
	.feature__course dd li { letter-spacing: -0.01em; }
	.feature__notice { bottom: -26px; text-align: right; }
	.under-feature-wrap { margin-top: 16px; }
	.under-feature-wrap__notice { text-align: right; }
	
}



/*	Go to subpages	*/
.go2sub-wrap-outer { position: relative;  z-index: 150; } /*padding-bottom: 91px;*/
.go2sub-nav-wrap { position: relative; z-index: 100; }
.go2sub-nav {  }
.go2sub-nav__inner {  }
.go2sub-nav__ttl {  }
.go2sub-nav__txt { font: 500 1.6rem YakuHanMP_Noto, "Noto Serif JP", serif; }


.go2sub-wrap { position: relative; }
.go2sub { position: relative; }

.go2sub__ttl-wrap { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; z-index: 10;  }
.go2sub__ttl { }
.go2sub__ttl img { width: auto; height: 133px; }

.go2sub__btn {  }

.go2sub__btn { position: relative; display: flex; justify-content: center; align-items: center; min-width: 144px; height: 32px; background: #1e234b; border: 1px solid #1e234b; border-radius: 16px; font: 500 1.4rem "Bodoni Moda", serif; line-height: 1; text-align: center; color: #fff; transition: .4s; }
.go2sub__btn::before { content: "SEE MORE"; }
.go2sub__btn::after { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); display: block; width: 11px; height: 11px; background: url("../img/icon_arrow_right.png") no-repeat center/contain; content: ""; }


.go2sub-wrap .slick-prev,
.go2sub-wrap .slick-next { top: auto; bottom: -73px; display: block; width: 40px; height: 40px; background-repeat: no-repeat; background-position: center; background-size: contain; z-index: 50; }
.go2sub-wrap .slick-prev { left: 50%; transform: translateX(-150%); background-image: url("../img/obj_intv_arrow_prev.png"); }
.go2sub-wrap .slick-next { right: 50%; transform: translateX(150%); background-image: url("../img/obj_intv_arrow_next.png"); }

@media print, screen and (max-width:680px) {
	.go2sub-wrap { margin-top: 18px; }
	.go2sub-nav__inner { display: flex; flex-direction: row-reverse; justify-content: space-between; padding: 0 24px; }
	.go2sub-nav__ttl { width: 109px; margin-left: 48px; }
	.go2sub-nav__txt { flex: 1; font: 500 1.6rem YakuHanMP_Noto, "Noto Serif JP", serif; line-height: 2; letter-spacing: -0.05em; }
	.go2sub-nav__txt ._lslesser { letter-spacing: -0.2em; }
	.go2sub__ttl-wrap { display: flex; justify-content: space-between; align-items: flex-end; padding-left: 18px; padding-right: 12px; padding-bottom: 16px; }
	.go2sub__img { border-radius: 40px 40px 0 0; overflow: hidden; }
}
@media print, screen and (min-width:681px) {
	.go2sub-wrap-outer { height: 750px; }
	.go2sub-nav-wrap,
	.go2sub-nav-wrap .slick-list,
	.go2sub-nav-wrap .slick-track,
	.go2sub-nav,
	.go2sub-nav__inner { height: 100%; }
	.go2sub-nav-wrap { position: absolute; top: 0; left: 0; pointer-events: none; }
	.go2sub-nav-wrap .slick-list { overflow: visible; }
/*	.go2sub-nav { background: rgba(200,0,0,0.2) }*/
	.go2sub-nav__inner { position: relative; width: 100vw; }
	.go2sub-nav__ttl { position: absolute; top: -1px; right: 0; display: flex; justify-content: center; align-items: flex-start; width: 335px; height: 360px; background: #fff; border-radius: 0 0 0 40px; }
	.go2sub-nav__ttl::before { position: absolute; top: 0; right: 100%; display: block; width: 55px; height: 65px; background: url("../img/mask_ur.png") no-repeat 100% 0%/contain; content: ""; }
	.go2sub-nav__ttl img { width: 127px; }
	.go2sub-nav__txt { position: absolute; bottom: -72px; left: 160px; width: 328px; background: #fff; border-radius: 24px; padding: 32px 40px 32px; font-size: 1.8rem; line-height: 1.778; letter-spacing: -0.07em; }
/*	.go2sub-nav__txt ._lslesser { letter-spacing: -0.2em; }*/
	
	.go2sub-wrap { position: relative; }
	.go2sub-wrap::before,
	.go2sub-wrap::after { position: absolute; left: 0; display: block; content: ""; pointer-events: none; z-index: 10; }
	.go2sub-wrap::before { bottom: -1px; width: 360px; height: 124px; background: #f5f5f0; border-radius: 0 40px 0 0; }
	.go2sub-wrap::after { bottom: 122px; width: 65px; height: 55px; background: url("../img/mask_bl.png") no-repeat 0 100%/contain; }
	.go2sub__ttl-wrap { width: 100vw; height: 100%; padding-left: 176px; }
	.go2sub__ttl { }
	.go2sub__ttl img { height: 108px; }
	.go2sub__btn { position: absolute; right: 200px; bottom: 32px; width: 200px; height: 40px; border-radius: 20px; transition: .2s; }
	.go2sub__btn::after { right: 20px; width: 13px; height: 13px; }
	.go2sub:hover .go2sub__btn { background: #fff; color: #1e234b; }
	.go2sub:hover .go2sub__btn::after { background-image: url("../img/icon_arrow_right_navy.png"); }
	.go2sub__img { position: relative; height: 750px; }
	.go2sub__img img { object-position: 50% 20%; }
	.go2sub-wrap .slick-prev, .go2sub-wrap .slick-next { bottom: -72px; }
}

/*	Additional	*/
.linkbtn--apc { background: #ef5a6f; }
@media print, screen and (max-width:680px) {
	
}
@media print, screen and (min-width:681px) {
	.linkbtn-wrap { margin-top: 170px; }
	.linkbtn { width: 260px; height: 104px; padding: 0 32px; transition: .4s !important; }
}



@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); }
}

