@charset "UTF-8";

#contents{padding: 72px 0 144px;}
@media (max-width: 767px) {
	#contents{padding: 72px 0 120px;}	
}

#mainimg {
	position: relative;
	margin: 0px;
	padding: 60px 2.5% 0 0;
	z-index: 0;
	width: 100%;
	height: 100vh;
	min-height: 760px;
}
#mainimg-body{
	position: relative;
	width: 100%;
	height: 100%;
	background: url(../img/main.jpg) no-repeat center center;
	background-size: cover;
	border-radius: 0 0 10vw 0;
	padding: 0 13%;
	overflow: hidden;
}
#mainimg-body::before{content: '';position: absolute;top: 0;left: 0;display: block;width: 100%;height: 100%;background-color: rgba(0,0,0,0);}
#mainimg-body h1{position: relative;margin-bottom: 0;line-height: 1;width: 100%;max-width: 520px;}
#mainimg-body h1 img {display: block;width: 100%;filter: drop-shadow(0px 0px 3px rgba(0,0,0,0.75));}

@media (max-width: 960px) {
	#mainimg {padding: 0 5% 0 0;}
	#mainimg-body{background-image: url(../img/main-sp.jpg);border-radius: 0 0 20vw 0;}
}
@media (max-width: 767px) {
	#mainimg {padding: 0;min-height: auto}
	#mainimg-body::before{background-color: rgba(0,0,0,0.25);}
}

#index-01{position: relative;padding: 36px 0 0;}
#index-01-img{position: absolute;top: 0;right: 0;width: 97.5%;height: 94.249201277955272%;background: url(../img/index-01.jpg) no-repeat center center;background-size: cover;border-radius: 10vw 0 0 0;}
#index-01-txt{position: relative;width: 50%;margin-left: 50%;background-color: var(--main01);border-radius: 5vw 0 0 0;padding: 5vw;}
#index-01-txt p{max-width: 640px;margin-bottom: 10px;}
#index-01-txt p:last-child{margin-bottom: 0;}
#index-01-txt h1{font-size: 28px;font-size: 2.8rem;text-align: left;margin-bottom: 65px;}

@media (max-width: 960px) {
	#index-01-img{width: 95%;height: 60%;}
	#index-01-txt{width: 60%;margin-left: 40%;}
}
@media (max-width: 767px) {
	#index-01{padding: 0;}
	#index-01-img{position: relative;top: auto;right: auto;margin-left: 5%;width: 95%;height: 95vw;background-image: url(../img/index-01-sp.jpg);border-radius: 20vw 0 0 0;}
	#index-01-txt{width: 90%;margin: -30vw 0 0 10%;padding: 30px 10%;border-radius: 10vw 0 0 0;}
	#index-01-txt h1 {margin-bottom: 35px;}
}


#feature{padding: 120px 0 180px;}
#feature-contents{position: relative;padding: 0 0 120px;}
#feature-back{position: absolute;top: 5vw;left: 0;width: 92.5vw;height: calc(100% - 5vw);background-color: var(--main01);border-radius: 0 10vw 10vw 0;}
#feature-01{position: relative;}
.f01-img{width: 50%;overflow: hidden;}
.f01-img img{display: block;width: 100%;}
.f01-txt{width: 50%;padding: 30px 5vw;}
.f01-txt h2{font-size: 28px;font-size: 2.8rem;text-align: left;margin-bottom: 45px;}
#f01-01 .f01-img img{border-radius: 0 5vw 0 0;}
#f01-02 .f01-img img{border-radius: 0 0 0 5vw;}
#f01-03 .f01-img img{border-radius: 0 0 5vw 0;}

#feature-02{position: relative;padding-top: 60px;}
.f02-item{width: 23.148148148148148%;margin-bottom: 30px;}
.f02-img{width: 100%;margin-bottom: 10px;border-radius: 6px;overflow: hidden;}
.f02-img img{display: block;width: 100%;}
.f02-txt h2{font-size: 20px;font-size: 2.0rem;text-align: center;margin-bottom: 15px;}
.f02-txt h2 .hline-span{margin-bottom: 10px;}

@media (max-width: 767px) {
	#feature{padding: 80px 0 120px;}
	#feature-contents{position: relative;padding: 0 0 80px;}
	#feature-back{border-radius: 0 20vw 20vw 0;}
	.f01-img{width: 100%;}
	.f01-txt{width: 100%;padding-bottom: 45px;}
	.f01-txt h2 {margin-bottom: 30px;}
	#f01-01 .f01-img img{border-radius: 0 10vw 0 0;}
	#f01-02 .f01-img img{border-radius: 0 0 0 10vw;}
	#f01-03 .f01-img img{border-radius: 0 0 10vw 0;}
	#feature-02{padding-top: 30px;}
	.f02-item {width: 47%;}
}


#membership{padding: 144px 0;background-color: #fff;border-radius: 10vw 0 0 10vw;color: var(--main01);}
#membership .container{overflow: hidden;}
#membership h1{color: var(--main01);}
#membership h1 span{color: var(--key02);}
#m-01 {padding-top: 15px;}
.m01-item {width: 32.291666666666667%;border: 2px solid var(--main01);padding: 22px 13px;border-radius: 6px;text-align: center;margin-bottom: 6px;}
.m01-item h2{font-size: 26px;font-size: 2.6rem;text-align: center;line-height: 1.25;padding-bottom: 10px;margin-bottom: 10px;border-bottom: 1px solid var(--main01);}
.m01-item .m-p-01{font-size: 46px;font-size: 4.6rem;line-height: 1;margin-bottom: 15px;}
.m01-item .m-p-01 span{font-size: 50%;}
.m02-item {width: 49.479166666666667%;padding: 15px 20px 20px;border-radius: 6px;text-align: center;background-color: #f5f5f5;margin-bottom: 6px;}
.m02-item h2{font-size: 20px;font-size: 2.0rem;text-align: center;line-height: 1.25;padding-bottom: 10px;margin-bottom: 10px;border-bottom: 1px solid var(--main01);}
.m02-item .m-p-02{font-size: 36px;font-size: 3.6rem;line-height: 1;margin-bottom: 15px;}
.m02-item .m-p-02 span{font-size: 50%;}
#m01-01{order: 3;border-color: var(--key02);background-color: #fff5ee;}
#m01-02{order: 2;}
#m01-03{order: 1;}
#m01-04{order: 4;}
#m01-05{order: 5;}

#m-02 {padding-top: 24px;width: 100%;}
#m-02 table{width: 960px;border-top: 1px solid #cacaca;}
#m-02 th{width: 180px;border-bottom: 1px solid #cacaca;border-right: 1px dotted #a8a8a8;line-height: 1.25;padding: 12px 10px}
#m-02 td{width: 195px;border-bottom: 1px solid #cacaca;border-right: 1px dotted #a8a8a8;line-height: 1.25;padding: 12px 20px;text-align: center;}
#m-02 td:last-child{border-right: none;}
#m-02 td span{font-size: 80%;text-align: center;}
.pname{background-color: #f3f3f3;}
.imanara{color: var(--key02);}
.m-02-waku{line-height: 1;}
#m-02 td.m-02-waku span{display: block;}

@media (max-width: 1100px) {
	#m-02 {overflow: scroll;}
	#m-02 th{position: sticky;left: 0;background-color: #f8f8f8;}
}
@media (max-width: 767px) {
	#membership{padding: 120px 0;border-radius: 20vw 0 0 20vw;}
	.m01-item,.m02-item{width: 100%;}
/*
	#m01-01{order: 1;}
	#m01-02{order: 2;}
*/
	#m-02 th{width: 120px;}
}

#m-03 {padding-top: 60px;text-align: center;}
#m-03 h2{font-size: 48px;font-size: 4.8rem;color: var(--key03);margin-bottom: 20px;line-height: 1.25;}
#m-03 p{color: var(--key03);margin-bottom: 15px;}
#m-03 .btn{font-size: 18px;font-size: 1.8rem;padding-top: 22px;padding-bottom: 24px;}

#faq{padding: 144px 0;}
#faq dl{width: 48%;margin-bottom: 45px;}
#faq dt{position: relative;font-size: 20px;font-size: 2.0rem;line-height: 1.25;padding: 8px 0 0 50px;margin-bottom: 5px;min-height: 40px;}
#faq dt::before{content:'Q';display: block;position: absolute;top: 0;left: 0;font-size: 24px;font-size: 2.4rem;width: 40px;height: 40px;background-color: var(--key02);color: #fff;text-align: center;line-height: 38px;}
#faq dd{position: relative;padding: 8px 0 0 50px;min-height: 40px;}
#faq dd::before{content:'A';display: block;position: absolute;top: 0;left: 0;font-size: 24px;font-size: 2.4rem;width: 40px;height: 40px;background-color: var(--key01);color: #fff;text-align: center;line-height: 38px;font-family: 'Zen Old Mincho', serif;font-weight: 900;}
@media (max-width: 767px) {
	#faq{padding: 120px 0;}
	#faq dl{width: 100%;margin-bottom: 30px;}
}


#contact{padding: 144px 0;color: var(--main01);}
#contact::before{content: '';position: absolute;top: 0;left: 0;display: block;width: 95%;height: 100%;background-color: var(--back02);border-radius: 0 10vw 10vw 0;}
#formarea {position: relative;}
#formarea p{margin-bottom: 10px;}
#formarea div{margin-bottom: 20px;}
#formarea input,
#formarea textarea,
#formarea select {
	width: 100%;
	padding: 10px;
	vertical-align: middle;
	border: #fff solid 1px;
	border-radius: 6px;
	/* margin: 0 0 6px 0; */
	background-color: #fff;
}

.form-btn .btn-error {background: #cacaca;max-width: none;}
.form-btn .btn-confirm {background: var(--key01);max-width: none;}
#formarea #btn-submit {background: var(--key01);color: #fff;padding: 20px;max-width: none;}
#formarea #btn-back {display: block;font-size: 14px;font-size: 1.4rem;background: #f5f5f5;max-width: 140px;margin: 15px auto 0;}

#formarea a#btn-submit {display: inline-block;text-decoration: none;line-height: 1.25;border-radius: 6px;padding: 15px;}

#contact-confirm{padding: 60px 0;color: var(--main01);}
#contact-confirm::before{content: '';position: absolute;top: 0;left: 0;display: block;width: 95%;height: 100%;background-color: var(--back02);border-radius: 0 10vw 10vw 0;}

#formWrap,
#formthanks{background-color: #fff;padding: 30px;border-radius: 6px;}
#formWrap p{color: #888;padding-bottom: 10px;margin-bottom: 10px;border-bottom: 1px solid #cacaca;}
#formWrap div{margin-bottom: 30px;}
@media (max-width: 767px) {
	#contact{padding: 120px 0;}
	#contact::before,
	#contact-confirm::before{border-radius: 0 20vw 20vw 0;}
}

