@charset "utf-8";


/*  l-episode
--------------------------------------------------*/
.l-episode{
	position: relative;
	width: 100%;
}
.episode-intro__ttl{
	width: min(100%,214px);
	margin: 0 auto 3.5rem;
}
.episode-intro__heading{
	font-size: 3.2rem;
	line-height: 1.75;
	letter-spacing: .3em;
	text-align: center;
	margin-block: 0 2.0rem;
}
.episode-intro__desc{
	font-size: 2.2rem;
	line-height: 2;
	letter-spacing: .2em;
	text-align: center;
}
.episode-intro__heading + .episode-intro__desc{
	margin-block: 3.5rem 0;
}
@media screen and (max-width: 768px){
	.episode-intro__ttl{
		width: calc(140 / 320 * 100%);
		margin: 0 auto 2.0rem;
	}
	.episode-intro__heading{
		font-size: 2.0rem;
	}
	.episode-intro__desc{
		font-size: 1.4rem;
	}
	.episode-intro__heading + .episode-intro__desc{
		margin-block: 1.5rem 0;
	}
}




/*  l-episode4
--------------------------------------------------*/
.l-episode4{
	background-color: #f6f6f4;
}
.l-episode4 .episode-intro{
	padding-block: 16.0rem 12.5rem;
}
@media screen and (max-width: 768px){
	.l-episode4 .episode-intro{
		padding-block: 5.0rem 6.5rem;
	}
}




/*  l-plan
--------------------------------------------------*/
.l-plan {
	position: relative;
}
.plan-ttl {
    font-size: 2.0rem;
    line-height: 1;
    letter-spacing: .2em;
    text-align: center;
    margin-block: 0 1.0rem;
}
.plan-en {
    font-size: 6.0rem;
    line-height: 1;
    letter-spacing: .075em;
    text-align: center;
    margin-block: 0 5.0rem;
}
.plan-contents {
/*	padding-block: 10.0rem 0;*/
	padding-block: 10.0rem;
	background: url('../img/bg_plan.jpg') no-repeat center center/cover;
}
.plan-list {
	max-width: 1170px;
	gap: 9.8rem;
}
.plan-list__item {
	width: calc((100% - 9.8rem) / 2);
}
.plan-list__item a{
	position: relative;
	display: block;
	filter: drop-shadow(1.0rem 1.0rem 1.0rem rgba(0, 0, 0, .2));
	transform: rotate(0deg);
	transition: filter .3s linear,transform .3s linear;
}
.plan-list__item a:hover{
	transform: rotate(-5.325deg);
	filter: drop-shadow(5.0rem 5.0rem 2.0rem rgba(0, 0, 0, .2));
}
.plan-list__item__icon {
	width: 100%;
}
.plan-list__item__icon--new {
	width: calc(102 / 536 * 100%);
}
.plan-list__item__icon--plan {
	width: calc(200 / 536 * 100%);
}
.plan-list__item__icon--announcement {
	width: calc(200 / 536 * 100%);
}
.plan-list__item__icon--announcement2 {
	width: calc(246 / 536 * 100%);
}
.plan-info {
	max-width: 676px;
	background-color: #3f3f3f;
	padding-block: 6.5rem 5.5rem;
}
.plan-list + .plan-info {
	margin-block: 8.5rem 0;
}
.plan-info__heading {
	font-size: 2.7rem;
	line-height: 1.481481481481481;
	letter-spacing: .15em;
	color: #fff;
	text-align: center;
	margin-block: 0 1.5rem;
}
.plan-info__desc {
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: .15em;
	color: #fff;
	text-align: center;
	margin-block: 0 2.4rem;
}
.plan-info__link{
	text-align: center;
}
.plan-info__link a{
	display: inline-block;
	font-size: 1.6rem;
	letter-spacing: .15em;
	line-height: 1;
	color: #fff;
	text-align: center;
	padding: 0 1.0rem 1.0rem;
	border-bottom: solid 1px #fff;
}
@media screen and (max-width: 768px){
	.plan-inner {
		max-width: 560px;
	}
	.plan-ttl {
        font-size: 1.4rem;
        letter-spacing: .15em;
	    margin-block: 0 .7rem;
	}
	.plan-en {
	    font-size: 3.8rem;
	    line-height: 1;
	    letter-spacing: .075em;
	    text-align: center;
	    margin-block: 0 3.0rem;
	}
	.plan-contents {
/*		padding-block: 5.0rem 0;*/
		padding-block: 5.0rem;
	}
	.plan-list {
		width: calc(320 / 380 * 100%);
		gap: 1.5rem;
		margin-inline: auto;
	}
	.plan-list__item {
		width: 100%;
	}
	.plan-list__item a{
		filter: drop-shadow(5.0rem 5.0rem 10.0rem rgba(0, 0, 0, .1));
	}
	.plan-list__item a:hover{
		transform: rotate(0deg);
		filter: drop-shadow(5.0rem 5.0rem 10.0rem rgba(0, 0, 0, .1));
	}
	.plan-info {
		max-width: 560px;
		padding-block: 4.0rem 5.0rem;
		padding-inline: 3.0rem;
	}
	.plan-list + .plan-info {
		margin-block: 4.0rem 0;
	}
	.plan-info__heading {
		font-size: 2.0rem;
		line-height: 1.75;
		margin-block: 0 1.5rem;
	}
	.plan-info__desc {
		font-size: 1.2rem;
		line-height: 1.75;
		text-align: justify;
		margin-block: 0 3.0rem;
	}
	.plan-info__link a{
		font-size: 1.4rem;
		padding: 0 1.0rem 1.0rem;
	}
}





/*  l-equipment
--------------------------------------------------*/
.l-equipment {
	position: relative;
	background-color: #f6f6f4;
	padding-block: 15.0rem;
}
.equipment-head {
	margin-bottom: 11.5rem;
}
.equipment-head__en {
	font-size: 2.0rem;
	line-height: 1;
	letter-spacing: .08em;
	color: #527c87;
	text-align: center;
	margin-bottom: 1.0rem;
}
.equipment-head__ttl {
	font-size: 3.2em;
	line-height: 1.75;
	letter-spacing: .3em;
	text-align: center;
}
.equipment-contents {
	position: relative;
	width: 100%;
}
.equipment-list {
	position: relative;
	width: 100%;
	gap: 7.5rem 5.0rem;
}
.equipment-list + .equipment-list {
	margin-top: 7.5rem;
}
.equipment-list-second{
	width: calc(890 / 1360 * 100%);
	margin-right: auto;
}
.equipment-list__item {
	width: calc((100% - 10.0rem) / 3);
}
.equipment-list-second .equipment-list__item {
	width: calc((100% - 5.0rem) / 2);
}
.equipment-list__item-custom{
	position: absolute;
	right: calc(-470 / 890 * 100%);;
	top: 0;
}
.equipment-list__item__ttl {
	font-size: 2.2rem;
	line-height: 1.4;
	letter-spacing: .15em;
	margin-bottom: 1.0rem;
}
.equipment-list__item__desc {
	font-size: 1.6rem;
	line-height: 1.6875;
	letter-spacing: .15em;
	margin-top: 2.0rem;
}
.equipment-list__item__desc span{
	display: block;
	font-size: 1.2rem;
	letter-spacing: .1em;
	margin-top: 1.0rem;
}
@media screen and (max-width: 768px){
	.l-equipment {
		padding-block: 7.0rem 8.0rem;
	}
	.equipment-head {
		margin-bottom: 4.5rem;
	}
	.equipment-head__en {
		font-size: 1.6rem;
	}
	.equipment-head__ttl {
		font-size: 2.0rem;
		letter-spacing: .15em;
	}
	.equipment-list {
		gap: 3.5rem 0;
	}
	.equipment-list + .equipment-list {
		margin-top: 3.5rem;
	}
	.equipment-list-second{
		width: 100%;
	}
	.equipment-list__item {
		width: 100%;
	}
	.equipment-list-second .equipment-list__item {
		width: 100%;
	}
	.equipment-list__item__ttl {
		font-size: 1.7rem;
	}
	.equipment-list__item__desc {
		font-size: 1.4rem;
		margin-top: 1.5rem;
	}
	.equipment-list__item__desc span{
		font-size: 1.0rem;
		margin-top: .5em;
	}
}






/*  l-premium
--------------------------------------------------*/
.l-premium {
	position: relative;
	background-color: #dfe7d8;
	padding-block: 15.0rem;
}
.premium-head {
	margin-block: 0 8.5rem;
}
.premium-head__en {
	font-size: 2.0rem;
	line-height: 1;
	letter-spacing: .08em;
	color: #527c87;
	text-align: center;
	margin-block: 0 1.0rem;
}
.premium-head__ttl {
	font-size: 2.8rem;
	line-height: 1.75;
	letter-spacing: .3em;
	text-align: center;
}
.premium-contents {
	position: relative;
	width: min(100%, 1270px);
	margin-inline: auto;
}
.premium-box {
	width: 100%;
}
.premium-box__card {
	width: calc(536 / 1270 * 100%);

	width: min(100%,800px);
}
.premium-box__card__en {
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: .08em;
	text-align: center;
	margin-block: 3.0rem 1.0rem;
}
.premium-box__card__ttl {
	font-size: 2.4rem;
	line-height: 1.75;
	letter-spacing: .2em;
	text-align: center;
	margin-block: 3.0rem 1.0rem;
}
.premium-box__card__catch {
	width: min(100%,160px);
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: .3em;
	text-align: center;
	margin-inline: auto;
	border: solid 1px #333;
	padding-block: .6rem .7rem;
}
.premium-box__card__desc {
	font-size: 1.6rem;
	line-height: 1.6875;
	letter-spacing: .2em;
	margin-block: 3rem 3.7rem;
}
.premium-box__card__list {
	width: 100%;
	gap: 1.6rem;
}
.premium-box__card__item {
	width: calc((100% - 1.6rem) / 2);
	border: solid 1px #333;
	padding-block: 1.7rem;
	font-size: 2.0rem;
	line-height: 1;
	letter-spacing: .2em;
	text-align: center;
}
@media screen and (max-width: 768px){
	.l-premium {
		padding-block: 7.0rem 8.0rem;
	}
	.premium-head {
		margin-block: 0 3.0rem;
	}
	.premium-head__en {
		font-size: 1.6rem;
	}
	.premium-head__ttl {
		font-size: 2.2rem;
		letter-spacing: .15em;
	}
	.premium-box__card {
		width: 100%;
	}
	.premium-box__card + .premium-box__card {
		margin-block: 8.0rem 0;
	}
	.premium-box__card__en {
		font-size: 1.2rem;
		margin-block: 2.0rem .5rem;
	}
	.premium-box__card__ttl {
		font-size: 2.0rem;
		margin-block: 2.0rem 1.0rem;
	}
	.premium-box__card__catch {
		width: 50%;
		letter-spacing: .2em;
		padding-block: .7rem .6rem;
	}
	.premium-box__card__desc {
		font-size: 1.4rem;
		line-height: 1.75;
		letter-spacing: .15em;
		margin-block: 2.4rem 2.8rem;
	}
	.premium-box__card__list {
		gap: 1.0rem;
	}
	.premium-box__card__item {
		width: calc((100% - 1.0rem) / 2);
		padding-block: 1.0rem .9rem;
		font-size: 1.4rem;
	}
}
