@charset "UTF-8";
/* CSS Document */
/*
font-family: YakuHanJP_Noto, "Noto Sans JP", sans-serif;
font-family: YakuHanMP_Noto, "Noto Serif JP", serif;
*/
:root {
	--c-wine: #5b1933;
		--c-blue: #007aff;
	--c-yellow: #fffad7;
	--c-dyellow: #ffefa1;
	--c-beige: #fae6d2;
	--c-mint: #bee1dc;
	--c-violet: #e3d3ed;
	--c-orange: #f7ca8c;
	--m30: 8.0vw;
}


/*************************************************************************************************************************
* reset
*************************************************************************************************************************/
html{ overflow-y: scroll; font-size: 62.5%;}
body{ 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.is-fixed {
	/*position: fixed;*/
}
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 { position: relative; width: 1100px; margin-left: auto; margin-right: auto; }

@media screen and (max-width: 680px) {
	.l-wrapper { width: calc(100% - 40px); }
}

.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{ font-family: YakuHanJP, "Noto Sans JP", sans-serif; font-weight: 500; color: #000; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; }
.l-body { width: 100%; background: var(--c-beige); overflow-x: hidden; }
.l-body.is-fixed { position: fixed; width: 100%; overflow: hidden; }
@media print, screen and (min-width:681px) {
	body{ min-width: 1400px; }
}

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


/*----------------------------
	Common Things
----------------------------*/

/*	Header	*/
.header { position: fixed; top: 0; left: 0; width: 100%; background: #fff; border-bottom: 1px solid var(--c-wine); padding-left: 10px; padding-right: 60px; z-index: 500; }
.header__inner { display: flex; justify-content: space-between; align-items: center; height: 70px; }
.header__logo {  }
.header__logo img { width: 178px; }
.nav { display: flex; justify-content: space-between; align-items: center; }
.nav__go2top { display: flex; justify-content: center; align-items: center; width: 100px; height: 30px; background: var(--c-wine); border-radius: 15px; transition: .4s; }
.nav__go2top img { width: 33px; }
.nav__go2top:hover { filter: brightness(130%); }
.menu-wrap { display: flex; justify-content: flex-end; align-items: center; margin-left: 42px; }
.menu {  }
.menu:not(:first-of-type) { margin-left: 28px; }
.menu a { display: flex; justify-content: center; align-items: center; font-size: 1.4rem; font-weight: 700; line-height: 1; letter-spacing: 0.1em; color: var(--c-wine); }
.menu__icon { position: relative; display: block; width: 25px; height: 25px; border: 2px solid var(--c-wine); border-radius: 50%; background: #fff; margin-left: 9px; transition: .4s; }
.menu__icon::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -40%); display: block; width: 13px; aspect-ratio: 13/7; background: url("../img/common/icon_header_arrow_pc.png") no-repeat center/contain; content: ""; }
.menu a:hover .menu__icon { background: var(--c-mint); }
.footer { background: #fff; }
.footer__inner { position: relative; width: 1104px; margin-left: auto; margin-right: auto; padding-top: 86px; padding-bottom: 48px; }
.footer__link-wrap { display: flex; justify-content: space-between; margin-bottom: 94px; }
.footer__link { position: relative; width: calc(25% - 18px); }
.footer__link__txt { position: relative; display: flex; justify-content: center; align-items: center; height: 70px; background: #fff; border: 2px solid var(--c-wine); border-radius: 7px; font-size: 1.8rem; font-weight: 500; line-height: 1; letter-spacing: 0.1em; text-indent: 0.1em; text-align: center; color: var(--c-wine); z-index: 10; transition: .4s; }
.footer__link::before { position: absolute; right: -6px; bottom: -6px; display: block; width: calc(100% - 4px); height: calc(100% - 4px); background: #fff; border: 2px solid var(--c-wine); border-radius: 7px; content: ""; z-index: 0; transition: .4s; }
.footer__link:hover .footer__link__txt { transform: translate(4px, 4px); background: #f7ca8c; }
.footer__link:hover::before { background: var(--c-wine); }
.footer__logo { display: block; width: 274px; margin-left: auto; margin-right: auto; }
.go2top { position: absolute; top: -40px; right: -81px; background: var(--c-wine); border-radius: 8px; }
.go2top img { width: 81px; transition: .4s; }
.go2top:hover img { transform: scale(1.05); }


.header__navtrg span:nth-of-type(1) {
  top: 0;
  animation: hamburgerLink_anime 2s cubic-bezier(0.23, 1, 0.32, 1) 1s infinite both;
}
.header__navtrg span:nth-of-type(2) {
  top: 9px;
  animation: hamburgerLink_anime 2s cubic-bezier(0.23, 1, 0.32, 1) 1.5s infinite both;
}
/*
@media only screen and (max-width: 767px) {
  .hamburgerLink span:nth-of-type(2) {
    top: 8px;
  }
}
*/
.header__navtrg span:nth-of-type(3) {
  animation: hamburgerLink_anime 2s cubic-bezier(0.23, 1, 0.32, 1) 2s infinite both;
  bottom: 0;
}



@media screen and (min-width: 681px) {
	.nav__inner { display: flex; justify-content: space-between; align-items: center; }
	.nav .footer__link-wrap { display: none; }
}
@media screen and (max-width: 680px) {
	
.header { padding-left: 10px; padding-right: 60px; z-index: 500; }
.header__inner { height: 50px; }
.header__logo {  }
.header__logo img { width: 130px; }
	.nav { display: none; }
	.nav__inner { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100%; }
.nav__go2top { width: 200px; height: 36px; border-radius: 18px; }
.nav__go2top img { width: 39px; }
.menu-wrap { flex-direction: column; justify-content: center; align-items: stretch; width: 200px; margin-top: 50px; margin-left: 0; }
.menu a { justify-content: space-between; font-size: 1.6rem; }

.menu:not(:first-of-type) { margin-left: 0; margin-top: 24px; }
.menu__icon { border-width: 1px; }
.menu__icon::before { width: 24px; height: 24px; aspect-ratio: inherit; transform: translate(-50%, -50%); background-image: url("../img/common/icon_header_arrow_sp.png"); }
.footer {  }
.footer__inner { width: calc(100% - 60px); border-bottom: 2px solid var(--c-wine); padding-top: 80px; padding-bottom: 65px; }
.footer__link-wrap { flex-wrap: wrap; margin-bottom: 64px; }
.footer__link { width: calc(50% - 5px); }
.footer__link:not(:nth-child(-n+2)) { margin-top: 14px; }
.footer__link__txt { height: 42px; border-radius: 4px; font-size: 1.2rem; letter-spacing: 0.025em; text-indent: 0.025em; }
.footer__link::before { right: -4px; bottom: -4px; border-radius: 4px; }
	.footer__logo { width: 164px; }
	.go2top { display: none; }
	.nav .footer__link-wrap { width: calc(100% - 60px); margin-top: 40px; margin-left: auto; margin-right: auto; }
	.nav .footer__link__txt,
	.nav .footer__link::before { border-width: 1px; }

}



.header__navtrg { position: fixed; top: 14px; right: 15px; display: flex; justify-content: center; align-items: center; width: 30px; height: 20px; z-index: 500; }
.header__navtrg span { position: absolute; left: 0; display: inline-block; transition: all .4s; width: 30px; height: 2px; background: var(--c-wine); }
.header__navtrg span:nth-of-type(1) {  }
.header__navtrg span:nth-of-type(2) {  }
.header__navtrg span:nth-of-type(3) {  }

.header.active .header__navtrg span:nth-of-type(1),
.header.active .header__navtrg span:nth-of-type(3) { top: 50%; left: 50%; }
.header.active .header__navtrg span:nth-of-type(1) { transform: translate(-50%, -50%) rotate(-45deg); }
.header.active .header__navtrg span:nth-of-type(2) { width: 0; }
.header.active .header__navtrg span:nth-of-type(3) { transform: translate(-50%, -50%) rotate(45deg); }
.header.active .header__navtrg span { animation: none; }



@media screen and (max-width: 680px) {
	
	.nav { position: fixed; top: 50px; left: 0; display: none; width: 100%; height: calc(100svh - 50px); background-color: var(--c-beige); z-index: 400; }
	.nav__menu { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100svh; }
	.nav__menu__item:not(:first-of-type) { margin-top: 22px; }
	.nav__menu__item a { font-size: 1.4rem; font-weight: 700; color: var(--c-darkgrey); line-height: 1; letter-spacing: 0.02em; text-indent: 0.02em; text-align: center; }
	
}
@media screen and (min-width: 681px) {
	.header__navtrg { display: none; }
}





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

/*	Temp Guide
.whole-wrap::before { position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 1px; height: 100%; background: #000; content: ""; z-index: 100;}
*/

/*----------------------------
	FV
----------------------------*/
.fv-wrap { }

.fv { position: relative; display: flex; flex-direction: column; justify-content: center; height: calc(100vh - 70px); margin-top: 70px; }
.fv__ttl { position: relative; left: 50%; transform: translateX(-49.5%); display: flex; justify-content: space-between; width: 808px; height: 174px; transition: 3.0s ease-in-out; }
.fv__ttl._ready { width: 2687px; }
.fv__ttl--sp { display: none; }
.fv__ttl__img { width: auto; height: 100%; }
.fv__ttl__img--left { }
.fv__ttl__img--right {  }
.fv__ttl::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; min-width: 130px; width: calc(100% - 708px); height: 100%; background: url("../img/home/ttl_fv_ptn_pc.png") repeat-x center/auto 100%; content: ""; }
.fv__subttl { text-align: center; transition: .4s; }
.fv__subttl img { width: 500px; }
.fv__bg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: .4s; pointer-events: none; }
.fv__bg img { max-width: none; }
.fv__bg--obj--left { transform: translate(-164%, -52.2%); }
.fv__bg--obj--left img { width: 454px; aspect-ratio: 454/1084; }
.fv__bg--obj--right { transform: translate(13.8%, -52.3%); }
.fv__bg--obj--right img { width: 866px; aspect-ratio: 866/983; }
.fv__bg--obj--center { transform: translate(-128.2%, -444.3%); }
.fv__bg--obj--center img { width: 154px; aspect-ratio: 154/91; }
.fv__bg--shine { transform: translate(-49.5%, -99%); width: 1326px; aspect-ratio: 1326/706; }
.fv ._off { opacity: 0; }

.fv__guide { position: absolute; left: 50%; transform: translateX(-50%); bottom: 40px; display: flex; justify-content: center; align-items: flex-end; height: 152px; transition: .4s; }
.fv__guide__obj { position: absolute; top: -8px; display: flex; justify-content: center; align-items: center; width: 16px; height: 16px; border: 1px solid var(--c-wine); border-radius: 50%; animation: top2bottomPc 3s 4.5s ease-in-out infinite; }
.fv__guide__obj::before { width: 8px; height: 8px; background: var(--c-wine); border-radius: 50%; content: ""; }
.fv__guide::before { position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 1px; height: 123px; background: var(--c-wine); content: ""; }
.fv__guide__txt { font-size: 1.4rem; font-weight: 500; line-height: 1; letter-spacing: 0.2em; text-indent: 0.2em; text-align: center; color: var(--c-wine); }

.fv-under { position: relative; padding-top: 200px; }
.fv-under__txt-wrap {  }
.fv-under__txt { font-size: 1.8rem; font-weight: 500; line-height: 2.778; letter-spacing: 0.15em; text-indent: 0.15em; text-align: center; color: var(--c-wine); }
.fv-under__txt:not(:first-of-type) { margin-top: 50px; }
/*
@media screen and (min-width: 1729px) {
	.fv__bg--obj--left { left: -45px; transform: translateY(-52.2%); }
	.fv__bg--obj--right { left: auto; right: -300px; transform: translateY(-52.3%); }
}
*/
@media screen and (max-width: 680px) {
	.fv-wrap { padding-bottom: 260px; }
	.fv { height: calc(100svh - 50px); margin-top: 50px; }
	.fv__ttl { translateX(-49.5%); width: 328px; height: 71px; }
	.fv__ttl._ready { width: 984px; }
	.fv__ttl--pc { display: none; }
	.fv__ttl--sp { display: flex; }
	.fv__ttl::before { min-width: 0; width: calc(100% - 308px); background-image: url("../img/home/ttl_fv_ptn_sp.png"); z-index: -1; }
	.fv__subttl img { width: 200px; }
	.fv__bg--obj--left { transform: translate(-124%, -57.2%); }
	.fv__bg--obj--left img { width: 176px; aspect-ratio: 176/472; }
	.fv__bg--obj--right { transform: translate(-5.2%, -60.3%); }
	.fv__bg--obj--right img { width: 322px; aspect-ratio: 322/476; }
	.fv__bg--obj--center { transform: translate(-69.2%, -714.3%); }
	.fv__bg--obj--center img { width: 63px; }
	.fv__bg--shine { transform: translate(-48.5%, -54%); width: 353px; aspect-ratio: 353/400; }
	.fv__guide { bottom: 20px; height: 80px; }
	.fv__guide__obj { top: -7px; width: 14px; height: 14px; animation: top2bottomSp 3s 4.5s ease-in-out infinite; }
	.fv__guide__obj::before { width: 6px; height: 6px; }
	.fv__guide::before { height: 56px; }
	.fv__guide__txt { font-size: 1.1rem; }
	
	.fv-under { padding-top: 115px; }
	.fv-under__txt-wrap {  }
	.fv-under__txt { font-size: 1.5rem; line-height: 2.2; }
	.fv-under__txt:not(:first-of-type) { margin-top: 30px; }
	
}


@keyframes top2bottomPc {
	0% { top: -8px; }
	80% { top: 115px; }
	100% { top: 115px; }
}
@keyframes top2bottomSp {
	0% { top: -7px; }
	80% { top: 46px; }
	100% { top: 46px; }
}
/*----------------------------
	
----------------------------*/
.cmnttl-wrap { position: relative; }
.cmnttl { position: relative; left: 50%; display: inline-flex; align-items: center; width: 100vw; transition: 2.0s ease-in-out; z-index: 10; }
.cmnttl__img img { width: auto; height: 71px; }
.cmnttl__img--left {  }
.cmnttl__img--mask { flex: 1; }
.cmnttl__img--mask img { width: 100%; }
.cmnttl__img--left {  }
.cmnttl__img--left,
.cmnttl__img--right { flex-shrink: 0; }
.cmnttl__img--upper { display: none; }
.cmnttl-num { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); display: block; z-index: 0; mix-blend-mode: multiply; }
.cmnttl-num img { width: auto; height: 131px; }

.cmntxt-wrap { margin-top: 80px; }
.cmntxt { font-size: 1.8rem; font-weight: 500; line-height: 2.778; letter-spacing: 0.15em; text-indent: 0.15em; text-align: center; color: var(--c-wine); }

.cmnttl-wrap .js-scroll-in {  }
.cmnttl-wrap .js-scroll-in.is-active { width: 20%; }


@media screen and (max-width: 680px) {
	
	.cmnttl { width: 150vw; }
	.cmnttl__img img { height: 37px; }
	.cmnttl__img--upper { position: relative; display: block; margin-bottom: 5px; text-align: center; z-index: 10; }
	.cmnttl-num { bottom: -4px; }
	#range .cmnttl-num { bottom: 31px; }

	.cmntxt-wrap { margin-top: 56px; }
	.cmntxt { margin-left: -10px; margin-right: -10px; font-size: 1.5rem; line-height: 2.2; }

.cmnttl-wrap .js-scroll-in {  }
.cmnttl-wrap .js-scroll-in.is-active { width: 20%; }
	
}



/*----------------------------
	
----------------------------*/
.sec--field { padding-top: 237px; padding-bottom: 330px; }
.sec--field .cmnttl { margin-left: -287px; }

.field-wrap { position: relative; margin-top: 108px; }
.field { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 10; }
.field img { width: auto; height: 182px; }
.field--1 { transform: translate(-150%, -290%); }
.field--2 { transform: translate(26%, -259%); }
.field--3 { transform: translate(111%, -134%); }
.field--4 { transform: translate(-206%, -176%); }
.field--5 { transform: translate(-75%, -165%); }
.field--6 { transform: translate(-134%, -40%); }
.field--7 { transform: translate(16%, 0%); }
.field-bg { text-align: center; }
.field-bg img { position: relative; left: 50%; transform: translateX(-50%); max-width: none; width: 2455px; }


@media screen and (max-width: 680px) {
	.sec--field { padding-top: 130px; padding-bottom: 620px; }
	.sec--field .cmnttl { margin-left: -147px; }
	
	.field-wrap { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; max-width: 303px; margin-left: auto; margin-right: auto; margin-top: 54px; padding-top: 100px; }
	.field { position: relative; top: auto; left: auto; transform: none !important; }
	.field img { max-width: none; height: 182px; }
	.field--1, .field--7, .field--6, .field--3 { align-self: flex-start; }
	.field--4, .field--5, .field--2 { align-self: flex-end; }
	.field--1 { order: 1; }
	.field--4 { order: 2; }
	.field--7 { order: 3; }
	.field--5 { order: 4; }
	.field--6 { order: 5; }
	.field--2 { order: 6; }
	.field--3 { order: 7; }
	.field:not(:first-of-type) { margin-top: -10px; }
	.field-bg { position: absolute; top: 0; left: 50%; transform: translateX(-50%); text-align: center; }
	.field-bg::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: calc(100% - 250px); background: #fff; content: ""; z-index: -1; }

	.field img { max-width: none; height: 134px; }
	
	.field-bg img { transform: translateX(-52.5%); max-width: none; width: 700px; }
}



/*----------------------------
	Method
----------------------------*/
.sec--method { padding-top: 232px; padding-bottom: 270px; }
.sec--method .cmnttl { margin-left: -312px; }

.method-wrap { position: relative; margin-top: 272px; }
.method { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 10; }
.method::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; width: 162px; height: 170px; background: url("../img/home/btn_method_on.png") no-repeat center/contain; content: ""; opacity: 0; transition: .4s; }
.method:hover::before { opacity: 1; }
.method img { width: 162px; }

.method--1 { transform: translate(45%, -357%); }
.method--2 { transform: translate(199%, -247%); }
.method--3 { transform: translate(-177%, -134%); }
.method--4 { transform: translate(-366%, -204%); }
.method--6 { transform: translate(-29%, -129%); }
.method--5 { transform: translate(248%, -86%); }
.method--7 { transform: translate(-230%, -372%); }
.method-bg { position: relative; text-align: center; }
.method-bg img { position: relative; left: 50%; transform: translateX(-49.5%); max-width: none; width: 1540px; }
.method__mainimg img { margin-left: auto; margin-right: auto; }

.slide-item--1 .method__mainimg img { width: 604px; margin-top: 41px; margin-bottom: 74px; }
.slide-item--2 .method__mainimg img { width: 610px; margin-top: 41px; margin-bottom: 46px; }
.slide-item--3 .method__mainimg img { width: 649px; margin-top: 25px; margin-bottom: 48px; }
.slide-item--4 .method__mainimg img { width: 574px; margin-top: 47px; margin-bottom: 54px; }
.slide-item--5 .method__mainimg img { width: 632px; margin-top: 30px; margin-bottom: 25px; }
.slide-item--6 .method__mainimg img { width: 655px; margin-top: 18px; margin-bottom: 60px; }
.slide-item--7 .method__mainimg img { width: 569px; margin-top: 14px; margin-bottom: 30px; }

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

	.sec--method { padding-top: 130px; padding-bottom: 142px; }
	.sec--method .cmnttl { margin-left: -167px; }
	.method-wrap { margin-top: 136px; }
	.method::before { display: none; }
	.method img { width: 94px; }
	.method--1 { transform: translate(-28%, -427%); }
	.method--2 { transform: translate(66%, -80%); }
	.method--3 { transform: translate(-122%, -239%); }
	.method--4 { transform: translate(-171%, -10%); }
	.method--6 { transform: translate(-48%, 47%); }
	.method--5 { transform: translate(78%, -319%); }
	.method--7 { transform: translate(-161%, -466%); }
	.method-bg img { transform: translateX(-51.7%); width: 560px; }
	.method__mainimg img { position: relative; left: 50%; transform: translateX(-50%); max-width: none; margin-left: 0; margin-right: 0; }

	.slide-item--1 .method__mainimg img { width: 266px; margin-top: 15px; margin-bottom: 24px; }
	.slide-item--2 .method__mainimg img { width: 267px; margin-top: 0; margin-bottom: 32px; }
	.slide-item--3 .method__mainimg img { width: 257px; margin-top: 21px; margin-bottom: 20px; }
	.slide-item--4 .method__mainimg img { width: 251px; margin-top: 27px; margin-bottom: 27px; }
	.slide-item--5 .method__mainimg img { width: 240px; margin-top: 0; margin-bottom: 20px; }
	.slide-item--6 .method__mainimg img { width: 256px; margin-top: -9px; margin-bottom: 35px; }
	.slide-item--7 .method__mainimg img { width: 252px; margin-top: 0; margin-bottom: 36px; }
	#method .cmntxt {	
		text-shadow:
     2px  0 0 var(--c-beige),
    -2px  0 0 var(--c-beige),
     0  2px 0 var(--c-beige),
     0 -2px 0 var(--c-beige);
	}
}

@media screen and (min-width: 681px) {
	.slide-item--7 .method__mainimg img { position: relative; z-index: 10; left: 50%; transform: translateX(-46%); margin-left: 0; margin-right: 0; }
}


/*----------------------------
	Range
----------------------------*/
.sec--range { padding-top: 202px; }
.sec--range .cmnttl { margin-left: -326px; }
@media screen and (max-width: 680px) {
	.sec--range { padding-top: 130px; }
	.sec--range .cmnttl { margin-left: -88px; }
}



/*----------------------------
	Campus
----------------------------*/
.sec--campus { padding-top: 130px; }
.campus-ttl { text-align: center; }
.campus-ttl img { width: 723px; }
.campus-subttl { margin-top: 45px; font-size: 3.0rem; font-weight: 700; line-height: 1.5; letter-spacing: 0.2em; text-indent: 0.2em; text-align: center; color: var(--c-wine); }


.campus-wrap { border-top: 2px solid var(--c-wine); border-bottom: 2px solid var(--c-wine); margin-top: 76px; }
.campus { padding-top: 70px; padding-bottom: 70px; }
.campus--1 { background: var(--c-mint); }
.campus--2 { background: var(--c-dyellow); }

.campus__inner { position: relative; width: 1114px; margin-left: auto; margin-right: auto; padding-bottom: 10px; }
.campus__content { position: relative; width: calc(100% - 10px); padding-bottom: 48px; z-index: 10; }
.campus__content,
.campus__inner::before { background: #fff; border: 2px solid var(--c-wine); border-radius: 25px; }
.campus__inner::before { position: absolute; right: 0; bottom: 0; display: block; width: calc(100% - 10px); height: calc(100% - 10px); content: ""; z-index: 0; }

.campus__msg { position: relative; display: flex; justify-content: center; align-items: center; width: 820px; height: 130px; background: #fff; border: 2px solid var(--c-wine); border-radius: 65px; margin-top: -20px; font-size: 1.9rem; font-weight: 500; line-height: 1.947; letter-spacing: 0.05em; color: var(--c-wine); }
.campus__msg::before { position: absolute; top: 50%; transform: translateY(-50%); display: block; width: 15px; aspect-ratio: 15/14; background: url("../img/home/obj_wb_pc.png") no-repeat center/contain; content: ""; }
.campus__stu { position: absolute; bottom: 0; }
.campus__stu__info { position: absolute; bottom: 0; left: 0; z-index: 10; }
.campus__stu__info span { display: inline-flex; justify-content: center; align-items: center; height: 40px; background: #fff; border: 2px solid var(--c-wine); padding: 0 14px 1px 16px; font-size: 2.1rem; font-weight: 700; line-height: 1; letter-spacing: 0.2em; color: var(--c-wine); white-space: nowrap; }
.campus__stu__info span:not(:first-of-type) { margin-top: 10px; }
.campus__stu__img {  }
.campus__img { margin-top: 26px; }
.campus__img img { width: auto; height: 262px; }

.campus__btn { position: absolute; left: 50%; bottom: -33px; display: flex; justify-content: center; align-items: center; width: 342px; height: 66px; background: var(--c-wine); border: 2px solid var(--c-wine); border-radius: 33px; font-size: 2.1rem; font-weight: 500; line-height: 1; letter-spacing: 0.1em; text-indent: 0.1em; text-align: center; color: #fff; transition: .4s; }
.campus__btn:hover { background: #fff; color: var(--c-wine); }

.campus:nth-of-type(odd) .campus__content { padding-right: 50px; }
.campus:nth-of-type(odd) .campus__msg { margin-left: auto; }
.campus:nth-of-type(odd) .campus__msg::before { left: -13px; }
.campus:nth-of-type(odd) .campus__img { padding-right: 10px; text-align: right; }

.campus:nth-of-type(even) .campus__content { padding-left: 50px; }
.campus:nth-of-type(even) .campus__msg { margin-right: auto; }
.campus:nth-of-type(even) .campus__msg::before { right: -13px; transform: translateY(-50%) scaleX(-1); }
.campus:nth-of-type(even) .campus__img { padding-left: 22px; text-align: left; }

.campus--1 .campus__stu { left: -43px; }
.campus--1 .campus__stu__info { left: -45px; bottom: 35px; }
.campus--1 .campus__stu__img { width: 350px; aspect-ratio: 350/501; }
.campus--1 .campus__btn { transform: translateX(-17%); }

.campus--2 .campus__stu { right: -17px; }
.campus--2 .campus__stu__info { left: 20px; bottom: 35px; }
.campus--2 .campus__stu__img { width: 342px; aspect-ratio: 342/500; }
.campus--2 .campus__btn { transform: translateX(-81%); }

@media screen and (max-width: 680px) {
	
.sec--campus { padding-top: 130px; }
	.campus-ttl img { width: 248px; }
	.campus-subttl { margin-top: 23px; font-size: 1.5rem; font-weight: 500; line-height: 1.8; letter-spacing: 0.15em; text-indent: 0.15em; }
	.campus-wrap { margin-top: 45px; }
	.campus { padding-top: 30px; padding-bottom: 30px; }
	.campus__inner { width: calc(100% - 60px); padding-bottom: 8px; }
	.campus__content { display: grid; grid-template-columns: auto; grid-template-rows: repeat(2, auto); grid-column-gap: 0px; grid-row-gap: 0px; width: calc(100% - 8px); padding-bottom: 0; }
	.campus__img { grid-area: 1 / 1 / 2 / 2; }
	.campus__msgstu { grid-area: 2 / 1 / 3 / 2; }
	.campus__content,
	.campus__inner::before { border-radius: 20px; }
	.campus__inner::before { width: calc(100% - 8px); height: calc(100% - 8px); }
	.campus__msgstu { position: relative; }
	.campus__msg { position: absolute; display: flex; justify-content: center; align-items: center; width: 257px; height: 150px; border-radius: 75px; margin-top: 0; padding: 0 46px; font-size: 1.2rem; line-height: 1.667; letter-spacing: 0; text-align: justify; }
	.campus__msg::before { top: auto; bottom: -11px; left: 50% !important; width: 13px; aspect-ratio: 13/14; background-image: url("../img/home/obj_wb_sp.png"); }
	.campus__stu { position: relative; bottom: auto; display: inline-block; }
	.campus__stu__info { position: absolute; bottom: 0; left: 0; z-index: 10; }
	.campus__stu__info span { height: 24px; border: 2px solid var(--c-wine); padding: 0 9px 1px 11px; font-size: 1.2rem; }
	.campus__stu__info span:not(:first-of-type) { margin-top: 5px; }
	.campus__stu__img { max-width: none; }

	.campus__img { margin-top: 26px; margin-bottom: 11vw; padding: 0 !important; text-align: center !important; }
	.campus__img img { width: calc(100% - 27px); height: auto; }
	.campus__btn { transform: translateX(-50%) !important; bottom: -16px; width: 170px; height: 32px; border-radius: 16px; font-size: 1.2rem; }
	.campus__btn:hover { background: #fff; color: var(--c-wine); }
	.campus:nth-of-type(odd) .campus__content { padding-right: 0; }
	.campus:nth-of-type(odd) .campus__msg { margin-left: auto; }
	.campus:nth-of-type(even) .campus__content { padding-left: 0; }
	.campus:nth-of-type(even) .campus__msg { margin-right: auto; }
	.campus:nth-of-type(even) .campus__msg::before { right: auto; transform: translateY(-50%) scaleX(-1); }
	.campus--1 .campus__stu { left: 50%; transform: translateX(-5%); }
	.campus--1 .campus__stu__info { left: -116px; bottom: 67px; }
	.campus--1 .campus__msg { top: -67px; left: 50%; transform: translateX(-67%); }
	.campus--1 .campus__msg::before { transform: translateX(160%); }
	.campus--1 .campus__stu__img { min-width: 180px; width: 180px; }
	.campus--2 .campus__img { margin-bottom: 3vw; }
	.campus--2 .campus__stu { right: auto; left: 50%; transform: translateX(-90%); }
	.campus--2 .campus__stu__info { left: 123px; bottom: 80px; }
	.campus--2 .campus__msg { top: -37px; left: 50%; transform: translateX(-35%); }
	.campus--2 .campus__msg::before { transform: translateX(-100%) scaleX(-1) !important; }
	.campus--2 .campus__stu__img { width: 216px; }
}


/*----------------------------
	Popup
----------------------------*/
.popup-content { position: relative; border: 1px solid var(--c-wine); width: 90%; max-width: 900px; margin: 0 auto; }
.slider-wrapper {  }
button.mfp-close { top: 18px; right: 18px; width: 80px; height: 80px; background: #fff; border: 1px solid var(--c-wine); border-radius: 50%; opacity: 1; }
.mfp-close:active { top: 18px; }
button.mfp-close::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; width: 33px; height: 20px; background: url("../img/home/icon_modal_close.png") no-repeat center/contain; content: ""; }
/* 非表示button設定 */
.mfp-hide { display: none; }

.slick-prev, .slick-next { width: 80px; height: 80px; background: var(--c-wine); border-radius: 50%; z-index: 10; }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { background: var(--c-wine); opacity: 1; }

.slick-prev { left: 20px; }
.slick-next { right: 20px; }
.slick-prev::before,
.slick-next::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; width: 80px; height: 80px; background-repeat: no-repeat; background-position: center; background-size: contain; content: ""; opacity: 1; }
.slick-prev::before { background-image: url("../img/home/icon_prev.png"); }
.slick-next::before { background-image: url("../img/home/icon_next.png"); }

.field-modal { padding: 30px; border-radius: 40px; }
.field-modal__inner { max-height: calc(100vh - 250px); overflow: auto; background: #fff; border: 1px solid var(--c-wine); border-radius: 30px; padding: 0 60px 60px; color: var(--c-wine); }

.field-modal__label { display: flex; justify-content: center; align-items: center; width: 450px; height: 50px; background: var(--c-wine); border-radius: 0 0 15px 15px; margin-left: auto; margin-right: auto; font-size: 2.0rem; font-weight: 700; line-height: 1; letter-spacing: 0.05em; color: #fff; }
.field-modal__ttl-wrap { position: relative; margin-left: 50px; margin-right: 50px; }
.field-modal__ttl-wrap img { width: auto; height: 224px; }

#popup-method .slide-item--4 .field-modal__ttl-wrap { margin-left: 40px; margin-right: 40px; }
#popup-method .slide-item--7 .field-modal__ttl-wrap { margin-left: 30px; margin-right: 30px; }


#popup-field .field-modal__ttl-wrap { margin-top: 61px; }
#popup-method .field-modal__ttl-wrap { margin-top: 67px; }

.field-modal__ttl { font-size: 3.5rem; font-weight: 700; line-height: 1.54; letter-spacing: 0.025em; text-indent: 0.025em; text-align: left; }

.field-modal__txt { width: 622px; margin: 40px auto 0; font-size: 1.3rem; font-weight: 500; line-height: 2.15384; letter-spacing: 0.1em; text-align: justify; }
.field-modal__learn { display: flex; align-items: center; margin: 46px 50px 0; }
.field-modal__learn__ttl { display: flex; justify-content: center; align-items: center; width: 170px; height: 44px; border: 1px solid var(--c-wine); border-radius: 22px; margin-right: 25px; font-size: 1.7rem; font-weight: 700; line-height: 1; letter-spacing: 0.05em; text-indent: 0.05em; text-align: center; }
.field-modal__learn__txt { flex: 1; font-size: 2.0rem; font-weight: 700; line-height: 1.65; letter-spacing: 0.05em; }
.field-modal__learn__txt ._sub { font-size: 80%; }
.field-modal__exp { border-top: 2px solid var(--c-wine); margin-top: 25px; padding-top: 68px; text-align: center; }
.field-modal__btn-wrap { margin-top: 70px; text-align: center; }
.field-modal__btn { display: inline-flex; justify-content: space-between; align-items: center; min-width: 330px; height: 74px; background: var(--c-dyellow); border: 2px solid var(--c-wine); border-radius: 10px; box-shadow: 4px 4px 0px 0px var(--c-wine); padding: 0 20px 2px; font-size: 2.0rem; font-weight: 700; line-height: 1.4; color: var(--c-wine); transition: .4s; }
.field-modal__btn::after { width: 30px; height: 30px; background: var(--c-wine) url("../img/home/icon_field_btn_arrow.png") no-repeat center/contain; border-radius: 50%; margin-left: 18px; content: ""; }
.field-modal__btn:hover { transform: translate(4px, 4px); box-shadow: 0 0 0 0 var(--c-wine); }

.slide-item--1 .field-modal,
.slide-item--3 .field-modal { background: var(--c-violet); }
.slide-item--2 .field-modal,
.slide-item--4 .field-modal { background: var(--c-yellow); }
.slide-item--5 .field-modal { background: var(--c-orange); }
.slide-item--6 .field-modal,
.slide-item--7 .field-modal { background: var(--c-mint); }

.field-modal__ttl--method { position: relative; text-align: center; }
.field-modal__ttl--method__txt { position: relative; z-index: 10; }
.field-modal__ttl--method__txt::before { position: absolute; left: 50%; transform: translateX(-50%); bottom: -8px; display: block; width: calc(100% + 40px); height: 26px; background: var(--c-yellow); content: ""; z-index: -1; }
.method-modal__subttl { border-top: 2px solid var(--c-wine); padding-top: 51px; font-size: 2.8rem; font-weight: 700; line-height: 1.5714; letter-spacing: 0.025em; text-indent: 0.025em; text-align: center; }
.field-modal__txt--method { width: 100%; }
.method-modal__exp-wrap { display: flex; justify-content: space-between; margin-top: 23px; }
.method-modal__exp { width: calc(50% - 20px); }

@media screen and (min-width: 681px) {
	.field-modal__exp--sp { display: none; }
	.field-modal__ttl--method--sp { display: none; }
	.field-modal__ttl-wrap img { position: absolute; }
	#popup-field .slide-item--1 .field-modal__ttl-wrap img { top: -50px; right: -55px; }
	#popup-field .slide-item--2 .field-modal__ttl-wrap img { top: -36px; right: -35px; }
	#popup-field .slide-item--3 .field-modal__ttl-wrap img { top: -30px; right: -25px; }
	#popup-field .slide-item--4 .field-modal__ttl-wrap img { top: 15px; right: -23px; }
	#popup-field .slide-item--5 .field-modal__ttl-wrap img { top: -30px; right: -50px; }
	#popup-field .slide-item--6 .field-modal__ttl-wrap img { top: -50px; right: -55px; }
	#popup-field .slide-item--7 .field-modal__ttl-wrap img { top: 0px; right: -15px; }
}
@media screen and (max-width: 680px) {
	
	button.mfp-close { top: 6px; right: 6px; width: 37px; height: 37px; }
	.mfp-close:active { top: 6px; }
	button.mfp-close::before { width: 15px; height: 9px; }
	.slick-prev, .slick-next { transform: translate(0, -50%); width: 26px; height: 26px; }
	.slick-prev { left: -3px; }
	.slick-next { right: -3px; }
	.slick-prev::before, .slick-next::before { width: 26px; height: 26px; }

	.field-modal { padding: 10px; border-radius: 10px; }
	.field-modal__inner { max-height: calc(100vh - 200px); border-radius: 7px; padding: 0 20px 20px; }
	.field-modal__label { width: 240px; height: 35px; border-radius: 0 0 7px 7px; font-size: 1.2rem; }
	
	#popup-field .field-modal__ttl-wrap { margin: 0; }
	#popup-field .field-modal__ttl-wrap img { height: 85px; }
	#popup-field .slide-item--1 .field-modal__ttl-wrap img { margin: 12px auto 9px; }
	#popup-field .slide-item--2 .field-modal__ttl-wrap img { margin: 13px auto 8px; }
	#popup-field .slide-item--3 .field-modal__ttl-wrap img { margin: 4px auto 5px; }
	#popup-field .slide-item--4 .field-modal__ttl-wrap img { margin: 12px auto 8px; }
	#popup-field .slide-item--5 .field-modal__ttl-wrap img { margin: 12px auto 9px; }
	#popup-field .slide-item--6 .field-modal__ttl-wrap img { margin: 11px auto 8px; }
	#popup-field .slide-item--7 .field-modal__ttl-wrap img { margin: 16px auto 3px; }
	
	#popup-method .field-modal__ttl-wrap { margin-top: 35px; margin-left: 0; margin-right: 0; }
	
	.field-modal__ttl { font-size: 1.8rem; line-height: 1.5; letter-spacing: 0; text-indent: 0; text-align: center; }
	.field-modal__txt { width: auto; margin: 18px auto 0; font-size: 1.2rem; line-height: 2.08334; }
	.field-modal__learn { flex-direction: column; margin: 54px 0 0; }
	.field-modal__learn__ttl { width: 170px; height: 30px; border-radius: 15px; margin-right: 0; font-size: 1.2rem; }
	.field-modal__learn__txt { margin-top: 13px; font-size: 1.6rem; line-height: 1.4375; text-align: center; }
	.field-modal__exp { position: relative; height: 195px; border: 1px solid var(--c-wine); padding-top: 0; overflow: hidden; }
	.field-modal__exp a { display: block; }
	.field-modal__exp::before,
	.field-modal__exp::after { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; content: ""; pointer-events: none; }
	.field-modal__exp::before { width: 100%; height: 100%; background: rgba(255,255,255,.7); z-index: 10; }
	.field-modal__exp::after { width: 30px; height: 30px; background: url("../img/home/icon_expand.png") no-repeat center/contain; z-index: 50; }
	.field-modal__exp img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: none; width: calc(100% + 100px); }
	.field-modal__exp--pc { display: none; }
	
	.field-modal__btn-wrap { margin-top: 20px; }
	.field-modal__btn { min-width: 197px; height: 66px; border-width: 1px; border-radius: 8px; padding: 0 20px 2px 14px; font-size: 1.5rem; }
	.field-modal__btn span { flex: 1; text-align: center; }
	.field-modal__btn::after { margin-left: 0; }
	.slide-item--7 .field-modal__btn::after { margin-left: 14px; }
	.field-modal__ttl--method--pc { display: none; }

	.field-modal__ttl--method__txt::before { bottom: 0; width: calc(100% + 10px); height: 15px; }
	.method-modal__subttl { border-bottom: 2px solid var(--c-wine); padding: 15px 0 16px; font-size: 1.5rem; line-height: 1.5334; letter-spacing: 0; text-indent: 0; }
	.field-modal__txt--method { width: 100%; }
	.method-modal__exp-wrap { flex-direction: column; justify-content: flex-start; }
	.method-modal__exp { width: 100%; }
	.method-modal__exp:not(:first-of-type) { margin-top: 20px; }

}
@media screen and (max-width: 390px) {
	.method-modal__subttl { margin-left: -10px; margin-right: -10px; }
}

@media screen and (min-width: 740px) and (max-width: 820px) {
	.slick-prev { left: -10px; }
	.slick-next { right: -10px; }
}



/*----------------------------
	
----------------------------*/

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














/*-----------
		Parallax Objects
------------*/
.obj-para { position: absolute; pointer-events: none; }
.obj-para--left,
.obj-para--center { left: 50%; }
.obj-para--right { right: 50%; }
.obj-para img { max-width: none; }

/*	Around Fv	*/
.obj-para--planet_yellow { top: 3vw; margin-right: -610px; width: 148px; }
.obj-para--star_1 { top: -440px; margin-left: -650px; width: 486px; }
.obj-para--star_2 { top: -270px; margin-right: -640px; width: 430px; }
@media screen and (max-width: 680px) {
	.obj-para--planet_yellow { display: none; }
	.obj-para--star_1 { top: -400px; margin-left: -179px; width: 116px; }
	.obj-para--star_2 { top: -440px; margin-right: -178px; width: 84px; }
}

/*	Around Field	*/
.obj-para--planet_orange { top: -480px; margin-left: -705px; width: 293px; }
.obj-para--star_3 { top: 200px; margin-left: -566px; width: 1143px; z-index: 20; }
.obj-para--cloud_1 { top: -180px; margin-left: -996px; width: 471px; }
.obj-para--cloud_2 { top: -20px; margin-right: -861px; width: 423px; }
@media screen and (max-width: 680px) {
	.obj-para--planet_orange { top: -350px; margin-left: -200px; width: 124px; }
	.obj-para--star_3 { top: -840px; margin-left: -160px; width: 335px; z-index: 20; }
	.obj-para--cloud_1, .obj-para--cloud_2 { display: none; }
}

/*	Around Method	*/
.obj-para--balloon_1 { top: -810px; margin-left: -790px; width: 532px; }
.obj-para--airborne { top: -575px; margin-right: -650px; width: 348px; z-index: 10; }
.obj-para--balloon_2 { top: 480px; margin-right: -500px; width: 111px; z-index: -1; }
.obj-para--balloon_3 { top: 600px; margin-right: -110px; width: 127px; z-index: -1; }
.obj-para--star_4 { top: -520px; margin-left: -560px; width: 1219px; }
.obj-para--star_5 { top: 420px; margin-left: -845px; width: 1505px; }
.obj-para--cloud_3 { top: -320px; margin-right: -760px; width: 482px; }
.obj-para--cloud_4 { top: 300px; margin-left: -990px; width: 532px; }
.obj-para--cloud_5 { top: 200px; margin-right: -1130px; width: 564px; }
@media screen and (max-width: 680px) {
	.obj-para--balloon_1 { top: -830px; margin-left: -206px; width: 200px; }
	.obj-para--airborne { top: -545px; margin-right: -220px; width: 192px; }
.obj-para--balloon_2 { top: 400px; margin-right: -170px; width: 60px; }
.obj-para--star_4 { top: -1330px; margin-left: -165px; width: 325px; }
.obj-para--star_5 { top: -125px; margin-left: -250px; width: 454px; }
.obj-para--cloud_3 { top: -348px; margin-right: -227px; width: 226px; }
	
	.obj-para--balloon_3 { display: none; }
	.obj-para--cloud_4, .obj-para--cloud_5 { display: none; }
	
}

/*	Around Range	*/
.obj-para--star_6 { top: -150px; margin-left: -620px; width: 1269px; }
.obj-para--balloon_4 { top: -160px; margin-right: -600px; width: 153px; }
.obj-para--balloon_5 { top: 260px; margin-left: -610px; width: 116px; }
.obj-para--balloon_ad { top: -80px; margin-left: -580px; width: 414px; }
@media screen and (max-width: 680px) {
	.obj-para--star_6 { top: -650px; margin-left: -170px; width: 340px; }
	.obj-para--balloon_4 { display: none; }
	.obj-para--balloon_5 { top: -480px; left: auto; right: 50%; margin-right: -148px; width: 68px; }
	.obj-para--balloon_ad { top: -315px; margin-left: -162px; width: 163px; }
}



@keyframes hamburgerLink_anime {
  0% {
    transform: scale(0.5, 1);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(0.5, 1);
    transform-origin: 0 100%;
  }
}

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


/*************************************************************************************************************************
* css for Recruit footer template
*************************************************************************************************************************/
.r-footer{ display: flex; justify-content: space-between; align-items: center; height: 75px; background: #fff; position: relative; z-index: 10; padding-left: 10px; padding-right: 30px; 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: 50%; transform: translateY(-50%); 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; }
.r-footer__list a { font-size: 1.3rem; font-weight: 500; letter-spacing: 0.1em; }
@media print, screen and (min-width: 681px){
/*	.r-footer{ display: flex; 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;}
}
@media print, screen and (max-width: 680px){
	.r-footer { flex-direction: column-reverse; align-items: center; justify-content: center; height: auto; padding-top: 30px; padding-bottom: 30px; }
	.r-footer > a { width: auto; height: auto; margin-top: 18px; }
	.r-footer > a img { width: 162px; }
}

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

/*	Guide Line
.sec--evt .l-wrapper::before { position: absolute; top: 0; left: 50%; transform: translateX(-50%); display: block; width: 1px; height: 100%; background: #00f; content: ""; z-index: 100; }
*/

