@charset "utf-8";



.col_w{
	color: #fff;
}




/* ---------------------------------------
* common
------------------------------------------ */

main{
	position: relative;
}

.btn.sp{
	display: none;
}

.col-w{
	color: #fff;
}

.access a{
	display: block;
	text-decoration: underline;
}

.mainTop{
	overflow: hidden;
}

.btn-404{
	margin: 0 auto;
}

svg{
	width: 100%;
	height: 100%;
}

.bg{
	background-repeat: no-repeat;
	background-size: cover;
}

:root {
	--primary: #EE0014;
	--bg01: #1C1C1C;
}

/* ---------------------------------------
* TOP
------------------------------------------ */

.mv{
	background-color: #fff;
}

.mvWrap{
	padding: 1rem!important;
}

.mvImg{
	position: relative;
}

.mv-listItem .img::after{
	background-repeat: no-repeat;
	background-size: cover;
}

.mv-listItem01 .img::after{
	background-image: url(../img/top/m01.webp);

}

.mv-listItem02 .img::after{
	background-image: url(../img/top/m02.webp);
}
.mv-listItem03 .img::after{
	background-image: url(../img/top/m03.webp);
}
.mv-listItem04 .img::after{
	background-image: url(../img/top/m04.webp);
}

.mv-listItem .img::after{
	content: "";
	display: block;
	padding-top: 59.3%;
}

.mvTtl{
	position: absolute;
	left: 4rem;
	bottom: 2rem;
	z-index: 100;
}

.mvTtl p{
	font-size: clamp(16px,2rem ,24px);
	font-weight: 900;
	line-height: 120%;
	letter-spacing: normal;
	padding-bottom: 1rem;
}

.mvTtl h2{
	transform: skew(-10deg);
	font-size: clamp(48px,11rem ,128px);
	font-weight: 900;
	line-height: 120%;
	letter-spacing: normal;
	padding-bottom: 1rem;
}

.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
}
.scroll-infinity__list {
	display: flex;
	list-style: none;
	padding: 0
}

.scroll-infinity__list--left {
	animation: infinity-scroll-left 300s infinite linear 0.5s both;
}

.scroll-infinity__item {
	width: 246.4rem;
}

@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}

.sec01Wrap{
	position: relative;
}

.sec01Ttl h2{
	font-size: clamp(28px,9.6rem ,100px);
	font-weight: 900;
	line-height: 120%;
	letter-spacing: normal;
}

.sec01Ttl p{
	padding-top: 2rem;
	font-size: clamp(20px,4rem ,48px);
	line-height: 140%;
	letter-spacing: 0.3em;
}

.sec01Txt{
    padding-left: 12rem;
    width: 60rem;
}

.sec01Txt p{
	font-size: clamp(14px,1.8rem ,20px);
	font-weight: 700;
	line-height: 180%;
	letter-spacing: normal;
}

.sec01Txt p:not(:last-of-type){
	padding-bottom: 2rem;
}

.sec01Img{
	position: absolute;
	right: 0;
	bottom: -2rem;
	z-index: -1;
	width: clamp(240px,66rem ,800px);
}

.missionWrap{
	position: relative;
	overflow: hidden;
	width: 96.6666%;
	margin: 0 auto;
	background-color: var(--primary);
	border: solid 4px #fff;
	border-radius: 5px;
	padding: 3rem 4rem 4rem;
}

.missionBg p{
	text-align: center;
	font-size: 32rem;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: normal;
	color: rgba(255,255,255,.2);
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6rem;
}

.missionWrap>p{
	font-size: clamp(14px,2rem ,24px);
	font-weight: 700;
	line-height: 140%;
	letter-spacing: normal;
}

.missionCont{
	position: relative;
	z-index: 2;
	width: 93%;
	margin: 0 auto;
}

.mission-l{
	width: 34rem;
}

.mission-r{
	padding-top: 2rem;
	width: 60rem;
}

.mission-r h2{
	font-size: clamp(14px,4.8rem ,64px);
	font-weight: 900;
	line-height: 140%;
	letter-spacing: normal;
}

.mission-r p{
	padding: 2rem 0 3rem;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: normal;
}

.sec02ImgWrap{
	margin-left: auto;
	width: 74rem;
}

.sec02Img01{
	width: 24rem;
}

.sec02Img02{
	width: 48rem;
}

.sec02-l{
	width: 54rem;
}

.sec02-listItem {
	padding-bottom: 3rem;
	margin-bottom: 3rem;
	border-bottom: solid 1px rgba(255,255,255,.5);
}

.sec02-listItem:first-of-type{
	padding-top: 3rem;
	border-top: solid 1px rgba(255,255,255,.5);
}

.sec02-listItem h3{
	font-size: clamp(14px,4.8rem ,64px);
	font-weight: 600;
	line-height: 140%;
	letter-spacing: normal;
}

.sec02-listItem p{
	font-size: clamp(14px,2rem ,24px);
	font-weight: 700;
	line-height: 140%;
	letter-spacing: normal;
}

.sec02-r{
	padding-top: 4rem;
	width: 48rem;
}

.sec02-r h2{
	font-size: clamp(14px,3.2rem ,36px);
	font-weight: 700;
	line-height: 140%;
	letter-spacing: normal;
}

.sec02-r>p{
	padding: 4rem 0 4rem 6rem;
}

.banner{
	width: 96.666%;
	padding: 13rem 10rem;
	margin: 8rem auto 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/banner.webp);
}

.bannerWrap{
	position: relative;
}

.bannerTxt{
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	position: absolute;
}

.bannerTxt::after{
	content: "";
	display: block;
	height: 1px;
	width: 59rem;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background-color: rgba(255,255,255,.5);
}

.bannerTxt p{
	font-size: clamp(14px,4rem ,48px);
	font-weight: 600;
	line-height: 140%;
	letter-spacing: normal;
}

.bannerImg{
	position: relative;
	z-index: 2;
	width: 30rem;
	margin: 0 auto;
}

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

.sec04Ttl h2{
	font-size: clamp(14px,264rem ,280px);
	font-weight: 700;
	line-height: 120%;
	letter-spacing: normal;
}

.sec04-list{
	margin-top: -10rem;
	column-gap: 3rem;
}

.sec04-listItem{
	width: calc((100% - (3rem * 2)) / 3);
}

.sec04-listtxt{
	padding-top: 2rem;
}

.sec04-listtxt p{
	line-height: 100%;
	letter-spacing: normal;
}

.sec04-listtxt p:first-of-type{
	font-size: clamp(14px,2.4rem ,24px);
	font-weight: 700;
}

.sec04-listtxt p:last-of-type{
	font-size: clamp(14px,1.4rem ,14px);
	padding-top: 1rem;
	color: rgba(255,255,255,.5);
}

.sec05Wrap{
	margin-top: 4rem;
}

.sec05Wrap a{
	display: block;
	padding: 15rem 0;
	text-align: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/access.webp);
	border-radius: 5px;
}

.sec05Txt p:first-of-type{
	padding-bottom: 1rem;
	font-size: clamp(14px,4.8rem ,56px);
	font-weight: 700;
	line-height: 140%;
	letter-spacing: normal;
}

.sec05Txt p:last-of-type{
	justify-content: center;
}

.sec05Txt p:last-of-type span{
	display: block;
}

.sec05Txt p:last-of-type span:first-of-type{
	width: 2.5rem;
	height: 2.4rem;
	position: relative;
}

.sec05Txt p:last-of-type span:first-of-type svg{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.sec05Txt p:last-of-type span:last-of-type{
	margin-left: 0.5rem;
	padding-bottom: 0.4rem;
	position: relative;
	font-size: clamp(14px,1.8rem ,20px);
	line-height: 100%;
	letter-spacing: normal;
}

.sec05Txt p:last-of-type span:last-of-type::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	left: 0;
	bottom: 0;
	opacity: 0;
	transition: all .5s;
}

.sec05Wrap a:hover .sec05Txt p:last-of-type span:last-of-type::after{
	opacity: 1;
}

/* ---------------------------------------
* SERVICE
------------------------------------------ */
.section-service{
	position: relative;
}

.serviceBg{
	position: absolute;
	left: 0;
	top: 10rem;
	z-index: -1;
}

.serviceTxt{
	width: 54rem;
}

.serviceTxt p{
	font-weight: 700;
	font-size: clamp(14px,1.8rem ,18px);
}

.serviceTxt p:not(:last-of-type){
	padding-bottom: 3rem;
}

.serviceImg{
	width: 48rem;
}

.serviceImg02{
	width: 24rem;
}

.serviceCatch{
	position: relative;
}

.serviceCatchMain p{
	line-height: 100%;
	letter-spacing: normal;
	font-size: 12rem;
	font-weight: 700;
}

.serviceCatchMain p:last-of-type{
	font-size: 18rem;
}

.serviceCatchMain p:last-of-type span{
	color: var(--primary);
}

.serviceCatch>p{
	line-height: 140%;
	letter-spacing: normal;
	font-size: 3.2rem;
	font-weight: 700;
	position: absolute;
	top: 0;
	right: 2rem;
}

.planCont{
	width: 96.666%;
	margin: 0 auto;
}

.plan-listItem{
	padding: 6rem 4rem 8rem 10rem;
	background-color: #141414;
}

.plan-listItem:nth-of-type(2){
	margin-top: -2rem;
	background-color: #1F1F1F;
}

.plan-listItem:last-of-type{
	margin-top: -2rem;
	padding-bottom: 6rem;
	background-color: #292929;
}

.plan-listTxt{
	width: 48rem;
}

.plan-listNum{
	font-weight: 700;
	font-size: clamp(14px,3.2rem ,40px);
	line-height: 140%;
	letter-spacing: normal;
}

.plan-listTtl h3{
	font-weight: 600;
	font-size: clamp(14px,4.8rem ,60px);
	padding-bottom: 1rem;
	line-height: 140%;
	letter-spacing: normal;
}

.plan-listTtl p{
	line-height: 140%;
	letter-spacing: normal;
	font-weight: 700;
	color: rgba(255,255,255,.5);
}

.plan-listPara>p{
	padding-top: 3rem;
	font-weight: 700;
}

.plan-listImg{
	width: 48rem;
}

.faqTtl{
	width: 32rem;
}

.faqWrap{
	width: 76rem;
}

.faq-defList{
	cursor: pointer;
	padding: 2rem;
	background-color: #1C1C1C;
}

.faq-defList:not(:last-of-type){
	margin-bottom: 2rem;
}

.faq-defTtl{
	position: relative;
}

.faq-defTtlWrap p{
	font-weight: 400;
	line-height: 160%;
	letter-spacing: normal;
}

.faq-defTtlWrap p:last-of-type{
	padding-left: 1.6rem;
}

.faqIcon{
	transition: all .3s;
	width: 1.6rem;
	height: 1.6rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.faq-defTtl.open .faqIcon{
	transform: translateY(-50%) rotate(135deg);
}

.faqIcon svg{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.faq-defDesc{
	display: none;
	margin-top: 2rem;
	padding: 2rem 0 1rem;
	border-top: solid 1px rgba(255,255,255,.5);
}

.faq-defDesc p{
	line-height: 160%;
	letter-spacing: normal;
	display: inline-block;
	vertical-align: text-top;
}

.faq-defDesc p:last-of-type{
	padding-left: 1.6rem;
	font-size: clamp(14px,1.4rem ,14px);
}

/* ---------------------------------------
* About
------------------------------------------ */

.concept-l{
	width: 72rem;
	position: relative;
}

.concept-l p{
	font-weight: 700;
	font-size: 4.8rem;
	line-height: 120%;
	letter-spacing: normal;
	position: absolute;
	right: 8rem;
	top: 1rem;
}

.concept-l p span{
	color: var(--primary);
}

.concept-l h2{
	color: #2D2D2D;
	font-weight: 600;
	font-size: 20rem;
	letter-spacing: normal;
	line-height: 100%;
}

.concept-l h2 span{
	display: block;
	color: var(--primary);
}

.con-r{
	width: 36rem;
}

.conImg{
	width: 66.666%;
}

.conImg02{
	margin: 4rem 0 0 auto;
}

.meter p{
	font-size: 2.4rem;
	line-height: 140%;
	letter-spacing: normal;
	font-weight: 700;
}

.meterWrapper{
	width: 80rem;
	height: 2rem;
	background-color: #2D2D2D;
	border-radius: 5px;
}

.meterFill{
	border-radius: 5px;
	height: 100%;
	background-color: var(--primary);
}

.aboutImg{
	width: 64rem;
	margin: 0 auto;
}

.aboutMainTtl{
	margin-top: -12rem;
}

.aboutMainTtl p{
	font-size: clamp(14px,3.2rem ,40px);
	font-weight: 700;
	line-height: 120%;
	letter-spacing: normal;
	padding-bottom: 2rem;
}

.aboutMainTtl h2{
	font-size: 14rem;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: normal;
}

.about-listItem{
	align-items: flex-end;
}

.about-listItem:not(:last-of-type){
	padding-bottom: 6rem;
}

.about-listImg{
	width: 54rem;
}

.about-listTxt{
	width: 48rem;
}

.about-listTxt h3{
	font-size: clamp(14px,3.2rem ,40px);
	font-weight: 700;
	line-height: 100%;
	letter-spacing: normal;
}

.about-listTxt p{
	padding-top: 2rem;
	font-size: clamp(14px,2rem ,20px);
	font-weight: 700;
	line-height: 160%;
	letter-spacing: normal;
}

.aboutVision{
	padding: 15rem 0;
	position: relative;
}

.aboutVisionBg{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 68rem;
	z-index: -1;
}

.aboutVisionTtl>p{
	padding-bottom: 2rem;
	font-size: clamp(14px,3.2rem ,40px);
	font-weight: 700;
	line-height: 120%;
	letter-spacing: normal;
}

.aboutVisionTtl h3 p{
	font-size: 10rem;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: normal;
}

.aboutVisionTtl h3 p:last-of-type{
	font-size: 12rem;
}

.aboutVisionTtl h3 p:last-of-type span{
	color: var(--primary);
}

.aboutVisionTxt>p{
	padding-top: 2rem;
	font-weight: 700;
	line-height: 160%;
}

.trainorTtl p{
	font-size: clamp(14px,2.4rem ,30px);
	font-weight: 700;
	line-height: 120%;
	letter-spacing: normal;
}

.trainorTtl h2{
	font-size: 24rem;
	line-height: 140%;
	letter-spacing: normal;
	font-weight: 700;
}

.member-list{
	margin-top: -12rem;
	column-gap: 3rem;
	row-gap: 3rem;
}

.member-listItem{
	width: calc((100% - (3rem * 2)) / 3);
	cursor: pointer;
}


.member-listImg{
	position: relative;
}

.member-listImg-wrap{
	overflow: hidden;
	border-radius: 5px;
}

.member-listItem .member-listImg-wrap img{
	transition: all .5s;
}

.member-listItem:hover .member-listImg-wrap img{
	transform: scale(1.1);
}

.popBtn{
	position: absolute;
	right: 1rem;
	bottom: -1.6rem;
	width: 3rem;
	height: 3rem;
}

.popBtn svg{
	width: 100%;
	height: 100%;
}

.member-listItem .popBtn rect:first-of-type,.member-listItem .popBtn path{
	transition: all .3s;
}

.member-listTxt{
	padding-top: 2rem;
}

.member-listTxt>p:first-of-type{
	font-weight: 700;
	line-height: 100%;
	letter-spacing: normal;
	font-size: clamp(12px, 2.4rem , 24px);
}

.member-listTxt>p:last-of-type{
	font-size: clamp(14px, 1.4rem , 14px);
	line-height: 100%;
	letter-spacing: normal;
	padding-top: 1rem;
	color: rgba(255,255,255,.5);
}

/* -------------------------------
* ポップアップ表示部分
---------------------------------- */

.memberPop{
	position: fixed;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 0;
	width: 100%;
	height: 100dvh;
	padding: 3rem 2rem;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: all .3s;
	z-index: 1000000;
}

.memberPop.is-active{
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.modal_layer{
	cursor: pointer;
	width: 100vw;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1000;
	background-color: rgba(0,0,0,.75);
}

.memberPop-wrap{
	position: relative;
	z-index: 10000;
	margin: 0 auto;
	border-radius: 20px;
	background-color: #FFFFFF;
	width: 100%;
	padding: 6rem 8rem;
	max-width: 80rem;
	height: 100%;
	max-height: 80%;
	overflow: scroll;
	color: #000;
}

.mempopImg{
	width: 28rem;
}

.mempopName{
	width: 32rem;
}

.mempopName p:first-of-type{
	font-size: clamp(14px, 2rem ,20px);
	line-height: 160%;
	letter-spacing: normal;
	color: rgba(0,0,0,.5);
}

.mempopName p:last-of-type{
	font-size: clamp(14px, 2.8rem ,28px);
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
	padding-top: 1rem;
}


.memPopTxt>p{
	font-size: clamp(14px, 1.6rem ,16px);
	padding-bottom: 1rem;
	margin-bottom: 2rem;
	border-bottom: solid 1px #DFDFDF;
}

.closeBtn{
	cursor: pointer;
	width: 3.6rem;
	height: 3.6rem;
	position: fixed;
	top: 12rem;
	right: 24rem;
	z-index: 10000;
}

.closeBtn svg{
	width: 100%;
	height: 100%;
}

.social-list{
	padding-top: 2rem;
	column-gap: 1rem;
}

.social-listItem a{
	display: block;
	width: 2.4rem;
	height: 2.4rem;
	transition: all .3s;
}

.social-listItem a:hover{
	opacity: .6;
}


.memPopPara p:not(:last-of-type){
	padding-bottom: 3rem;
}


.subWrap p{
	font-weight: 700;
	padding-top: 2rem;
}

.facilityDetail{
	padding: 4rem 3rem;
	background-color: #1C1C1C;
	border-radius: 5px;
	position: relative;
}

.facilityDetail:not(:last-of-type){
	margin-bottom: 2rem;
}

.facilityDetail h4 p{
	font-weight: 700;
	line-height: 160%;
	letter-spacing: normal;
	font-size: clamp(14px,2.4rem ,24px);
}

.facilityDetail h4 p:last-of-type{
	padding-top: .2rem;
	font-size: clamp(14px,1.4rem ,16px);
	color: rgba(255,255,255,.5);
	padding-left: 1.2rem;
}

.facility-list{
	padding-top: 2rem;
	row-gap: 1.4rem;
}

.facility-listItem{
	padding-left: 2.6rem;
	position: relative;
	width: 50%;
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 700;
}

.facility-listItem::before{
	content: "";
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/about/check.webp);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.facilityDetail>p{
	line-height: 160%;
	letter-spacing: normal;
	font-weight: 700;
	position: absolute;
	right: 3rem;
	bottom: 3rem;
}

.map{
	margin-top: 3rem;
	width: 100%;
	padding-top: 33.333%;
	position: relative;
	border-radius: 5px;
}

.map iframe{
	filter: grayscale(100%) contrast(1.2);
	-webkit-filter: grayscale(100%) contrast(1.2);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.access-l{
	width: 72rem;
}

.accessWrap{
	align-items: flex-end;
	padding-top: 2.4rem;
}

.access-listItem:not(:last-of-type){
	margin-bottom: 2rem;
}

.access-listItem h3{
	font-size: clamp(14px,2.4rem ,24px);
	font-weight: 700;
	line-height: 140%;
	letter-spacing: normal;
	padding-left: 1.8rem;
	position: relative;
	padding-right: 8rem;
}

.access-listItem h3::before{
	content: "";
	display: block;
	width: 0.8rem;
	height: 0.8rem;
	background-color: #fff;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.access-listItem h3::after{
	content: "";
	display: block;
	width: 4rem;
	height: .3rem;
	background-color: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 2rem;
}

.access-listItem p{
	font-weight: 700;
}

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

	/* ---------------------------------------
	* common
	------------------------------------------ */

	.btn.sp{
		display: flex;
	}

	.btn.pc{
		display: none;
	}

	.btn{
		margin: 0 auto;
	}

	.nav-other02{
		padding-right: 10px;
	}

	.nav-other02 li a{
		display: block;
		font-size: 12px;
	}

	.bar{
		height: 3vw;
	}

	/* ---------------------------------------
	* TOP
	------------------------------------------ */


	.mv-listItem .img::after{
		background-position: center;

	}	

	.mv-listItem01 .img::after{
		background-image: url(../img/top/mvsp01.webp);

	}

	.mv-listItem02 .img::after{
		background-image: url(../img/top/mvsp02.webp);
	}
	.mv-listItem03 .img::after{
		background-image: url(../img/top/mvsp03.webp);
	}
	.mv-listItem04 .img::after{
		background-image: url(../img/top/mvsp04.webp);
	}

	.mv-listItem .img::after{
		padding-top:120%;
	}

	.mvTtl{
		left: 2rem;
		bottom: 2rem;
	}

	.mvTtl p{
		font-size: 1.4rem;
		padding-bottom: 1rem;
	}

	.mvTtl h2{
		transform: skew(-10deg);
		font-size: 4rem;
	}



	.scroll-infinity__list--left {
		animation: infinity-scroll-left 200s infinite linear 0.5s both;
	}

	.scroll-infinity__item {
		width: 120rem;
	}


	.sec01Wrap{
		padding-left: 0;

	}

	.sec01Ttl h2{
		font-size: 4.2rem;
	}

	.sec01Ttl p{
		padding-top: 1rem;
		font-size: 1.8rem;
	}

	.sec01Txt{
		width: calc(100% - 4rem);
		margin: 0 auto;
		padding: 0;
	}

	.sec01Txt p{
		font-size: 1.4rem;
	}


	.sec01Img{
		position: static;
		width: 90%;
		padding-left: 5rem;
		margin: 3rem auto 0;
	}

	.missionWrap{
		width: calc(100% - 2rem);
		padding: 3rem 2rem 4rem;
	}

	.missionBg p{
		display: none;
	}

	.missionWrap>p{
		font-size: 1.6rem;
	}

	.missionCont{
		width: 100%;
	}

	.mission-l{
		width: 80%;
		margin: 0 auto;
	}

	.mission-r{
		padding-top: 1rem;
		width: 100%;
	}

	.mission-r h2{
		font-size: 2.8rem;
	}

	.mission-r p{
		padding: 2rem 0 3rem;
	}

	.sec02ImgWrap{
		padding-top: 2rem;
		margin-left: auto;
		width: 100%;
	}

	.sec02Img01{
		width: 12rem;
	}

	.sec02Img02{
		width: 20rem;
	}

	.sec02-l{
		width: 100%;
	}

	.sec02-listItem {
		padding-bottom: 3rem;
		margin-bottom: 3rem;
	}

	.sec02-listItem:first-of-type{
		padding-top: 2rem;
	}

	.sec02-listItem h3{
		font-size: 2.4rem;
	}

	.sec02-listItem p{
		font-size: 1.2rem;
	}

	.sec02-r{
		padding-top: 3rem;
		width: 100%;
	}

	.sec02-r h2{
		font-size: 2.4rem;
	}

	.sec02-r>p{
		padding: 2rem 0 3rem 0;
	}

	.banner{
		width: calc(100% - 2rem);
		padding: 6rem 3rem;
		margin: 6rem auto 0;
	}


	.bannerTxt::after{
		width: 14rem;
	}

	.bannerTxt p{
		font-size: 1.6rem;
	}

	.bannerImg{
		width: 10rem;
	}

	.sec04Ttl h2{
		font-size: 9.6rem;
	}

	.sec04-list{
		margin-top: -4rem;
		column-gap: 1rem;
	}

	.sec04-listItem{
		width: calc((100% - (1rem * 1)) / 2);
		margin: 0 auto;
	}

	.sec04-listItem:last-of-type{
		display: none;
	}

	.sec04-listtxt{
		padding-top: 2rem;
	}

	.sec04-listtxt p{
		line-height: 100%;
		letter-spacing: normal;
	}

	.sec04-listtxt p:first-of-type{
		font-size: 1.6rem;
		font-weight: 700;
	}

	.sec04-listtxt p:last-of-type{
		font-size: 1.2rem;
		padding-top: 1rem;
	}

	.sec05Wrap{
		margin-top: 3rem;
	}

	.sec05Wrap a{
		padding: 10rem 0;
	}

	.sec05Txt p:first-of-type{
		font-size: 3.6rem;
	}

	.sec05Txt p:last-of-type span:first-of-type{
		width: 2rem;
		height: 1.9rem;
	}

	.sec05Txt p:last-of-type span:last-of-type{
		padding-top: 0.4rem;
		font-size: 1.6rem;
	}


	/* ---------------------------------------
	* SERVICE
	------------------------------------------ */

	.serviceBg{
		position: absolute;
		left: 0;
		top: 10rem;
		z-index: -1;
	}

	.serviceTxtWrap{
		display: flex;
		flex-direction: column-reverse;
		align-items: unset;
	}

	.serviceTxt{
		width: 100%;
	}

	.serviceTxt p{
		font-size: 1.4rem;
	}

	.serviceTxt p:not(:last-of-type){
		padding-bottom: 3rem;
	}

	.serviceImg{
		width: 24rem;
		margin-left: 0;
		margin-bottom: 2rem;
	}

	.serviceImg02{
		width: 18rem;
		margin-left: auto;
	}

	.serviceCatch{
		margin-top: -7rem;
		position: relative;
	}

	.serviceCatchMain p{
		font-size: 7rem;
		font-weight: 700;
	}

	.serviceCatchMain p:last-of-type{
		font-size: 7.6rem;
	}

	.serviceCatch>p{
		position: static;
		font-size: 2rem;
		top: 0;
		right: 2rem;
	}

	.planCont{
		width: calc(100% - 2rem);
	}

	.plan-listItem{
		padding: 4rem 3rem 6rem;
	}

	.plan-listItem:nth-of-type(2){
		margin-top: -2rem;
		background-color: #1F1F1F;
	}

	.plan-listItem:last-of-type{
		margin-top: -2rem;
		padding-bottom: 4rem;
	}

	.plan-listTxt{
		width: 100%;
	}

	.plan-listNum{
		font-size: 2.8rem;
	}

	.plan-listTtl h3{
		font-size: 4rem;
		padding-bottom: 1rem;
	}

	.plan-listPara{
		padding-top: 6rem;
	}

	.plan-listPara>p{
		padding-top: 2rem;
	}

	.plan-listImg{
		padding-top: 3rem;
		width: 100%;
	}

	.faqTtl{
		width: 100%;
	}

	.faqWrap{
		width: 100%;
		padding-top: 3rem;
	}

	.faq-defList{
		padding: 2rem;
	}

	.faq-defList:not(:last-of-type){
		margin-bottom: 1.4rem;
	}

	.faq-defTtlWrap p:last-of-type{
		padding-left: 1rem;
	}

	.faq-defDesc{
		margin-top: 2rem;
		padding: 2rem 0 1rem;
	}


	.faq-defDesc p:last-of-type{
		width: 95%;
		padding-left: 1rem;
		font-size: 1.2rem;
	}

	/* ---------------------------------------
	* About
	------------------------------------------ */

	.conWrap{
		display: flex;
		flex-direction: column-reverse;
	}

	.concept-l{
		margin-top: 2rem;
		width: 100%;
	}

	.concept-l p{
		font-size: 2rem;
		right: 6rem;
		top: .4rem;
	}


	.concept-l h2{
		font-size: 9.2rem;
	}

	.concept-l h2 span{
		display: block;
		color: var(--primary);
	}

	.con-r{
		width: 100%;
	}

	.conImg{
		width: 60%;
	}

	.conImg02{
		margin: 2rem 0 0 auto;
	}

	.meter p{
		font-size: 1.4rem;
	}

	.meterWrapper{
		width: 18rem;
		height: 1.6rem;
	}

	.meterFill{
		border-radius: 5px;
		height: 100%;
		background-color: var(--primary);
	}

	.aboutImg{
		width: 90%;
		margin: 0 auto;
	}

	.aboutMainTtl{
		margin-top: -3rem;
	}

	.aboutMainTtl p{
		font-size: 1.4rem;
		padding-bottom: 1rem;
	}

	.aboutMainTtl h2{
		font-size: 4.2rem;
	}


	.about-listItem:not(:last-of-type){
		padding-bottom: 4rem;
	}

	.about-listImg{
		width: 100%;
	}

	.about-listTxt{
		width: 100%;
		padding-top: 2rem;
	}

	.about-listTxt h3{
		font-size: 2rem;
	}

	.about-listTxt p{
		padding-top: 2rem;
		font-size: 1.4rem;
	}

	.aboutVision{
		margin-top: 4rem;
		padding: 7rem 0;
	}

	.aboutVisionBg{
		width: 100%;
		z-index: -1;
	}

	.aboutVisionTtl>p{
		padding-bottom: 1.4rem;
		font-size: 1.6rem;
	}

	.aboutVisionTtl h3 p{
		font-size: 3.6rem;
	}

	.aboutVisionTtl h3 p:last-of-type{
		font-size: 4.8rem;
	}

	.aboutVisionTxt>p{
		padding-top: 1rem;
		font-size: 1rem;
	}

	.section-trainor{
		padding-top: 4rem;
	}

	.trainorTtl p{
		font-size: 1.6rem;
	}

	.trainorTtl h2{
		font-size: 8.6rem;
	}

	.member-list{
		margin-top: -4rem;
		display: flex;
		column-gap: 1rem;
		row-gap: 3rem;
	}

	.member-listItem{
		width: calc((100% - (1rem * 1)) / 2);
	}

	.member-listTxt>p:first-of-type{
		font-size: 1.6rem;
	}

	.member-listTxt>p:last-of-type{
		font-size: 1.2rem;
	}

	.popBtn {
		position: absolute;
		right: 1rem;
		bottom: -1rem;
		width: 2.4rem;
		height: 2.4rem
	}

	/* -------------------------------
	* ポップアップ表示部分
	---------------------------------- */

	.memberPop-wrap{
		padding: 2rem 2rem 4rem;
		max-width: unset;
		border-radius: 10px;
	}

	.mempopImg{
		width: 100%;
	}

	.mempopName{
		width: 100%;
		padding-top: 2rem;
	}

	.mempopName p:first-of-type{
		font-size: 1.4rem;
	}

	.mempopName p:last-of-type{
		font-size: 2rem;
		padding-top: 0;
	}

	.memPopTxt:not(:last-of-type){
		padding-bottom: 3rem;
	}

	.memPopCont p:first-of-type{
		font-size: 1.4rem;
		padding-bottom: 1rem;
		margin-bottom: 2rem;
	}

	.closeBtn{
		width: 3rem;
		height: 3rem;
		top: 10rem;
		right: 3rem;
	}

	.social-list {
		padding-top: 1rem;
		column-gap: 1rem;
	}

	.social-listItem a {
		width: 2rem;
		height: 2rem;
	}

	.subWrap{
		padding-top: 2rem;
	}

	.subWrap p{
		padding-top: 2rem;
	}

	.facilityDetail{
		padding: 3rem 2rem;
	}

	.facilityDetail:not(:last-of-type){
		margin-bottom: 1.2rem;
	}

	.facilityDetail h4 p{
		font-size: 1.8rem;
	}

	.facilityDetail h4 p:last-of-type{
		padding-top: .4rem;
		font-size: 1.4rem;
	}

	.facility-list{
		padding-top: 2rem;
		row-gap: 1.4rem;
	}

	.facility-listItem{
		padding-left: 2rem;
		width: 100%;
		font-size: 1.2rem;
	}

	.facility-listItem:not(:last-of-type){
		margin-bottom: 1.2rem;
	}


	.facility-listItem::before{
		width: 1em;
		height: 1em;
	}

	.facilityDetail>p{
		font-size: 1.2rem;
		right: 3rem;
		bottom: 3rem;
	}

	.map{
		margin-top: 2rem;
		width: 100%;
		padding-top: 60%;
	}

	.access-l{
		width: 100%;
	}

	.accessWrap{
		padding-top: 2.4rem;
	}

	.access-listItem:not(:last-of-type){
		margin-bottom: 2rem;
	}

	.access-listItem h3{
		font-size: clamp(14px,2.4rem ,24px);
		font-weight: 700;
		line-height: 140%;
		letter-spacing: normal;
		padding-left: 1.8rem;
		position: relative;
		padding-right: 8rem;
	}

	.access-listItem h3::before{
		content: "";
		display: block;
		width: 0.8rem;
		height: 0.8rem;
		background-color: #fff;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}

	.access-listItem h3::after{
		display: none;
	}

	.access-listItem p{
		padding-top: 0.8rem;
		font-weight: 700;
	}

	.access-r{
		margin-top: 3rem;
	}

}


