@charset "utf-8";


/*  l-plan
--------------------------------------------------*/
.l-plan {
	position: relative;
	padding-top: 20.0rem;
}
.plan-container {
	margin-top: 17.0rem;
}
.plan-layout {
	position: relative;
	padding-bottom: 15.0rem;
}
.plan-layout__item {
	position: relative;
	width: min(100%,1018px);
	margin-inline: auto;
}
.plan-scroll {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin-inline: auto;
	transform: translateY(50%);
	width: 15px;
	height: 15.0rem;
	overflow: hidden;
	z-index: 10;
}
.plan-scroll::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 1px;
	height: 100%;
	background: #aeaba6;
}
.plan-scroll i {
	position: absolute;
	left: 50%;
	top: -10%;
	transform: translateX(-50%) rotate(45deg);
	width: 7px;
	height: 7px;
	background: #bfbdb9;
	animation: scrollDown 2s infinite forwards;
	z-index: 1;
}
.plan-contents {
	position: relative;
	width: 100%;
	padding-block: 16.0rem;
	background: url('../img/img_plan_bg.jpg') no-repeat center center/cover;
}
.plan-list {
	position: relative;
	max-width: 1460px;
	gap: 10.0rem;
	z-index: 2;
}
.plan-list__item {
	/*max-width: min(420px,calc(420 / 940 * 100%));*/
	max-width: 420px;
}
.plan-list__item a {
	display: block;
}
.plan-photo {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.plan-photo__item {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s linear,visibility .3s linear;
}
.plan-photo__item.active {
	opacity: 1;
	visibility: visible;
}
.plan-photo__item img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 768px){
	.l-plan {
		padding-top: 8.0rem;
	}
	.plan-container {
		margin-top: 5.0rem;
	}
	.plan-layout {
		padding-bottom: 8.0rem;
	}
	.plan-scroll {
		height: 8.0rem;
	}
	.plan-scroll::before {
		content: '';
		position: absolute;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		width: 1px;
		height: 100%;
		background: #aeaba6;
	}
	.plan-scroll i {
		width: 5px;
		height: 5px;
	}
	.plan-contents {
		padding-block: 7.0rem;
	}
	.plan-list {
		gap: 3.0rem;
	}
	.plan-list__item {
		max-width: 560px;
	}
}



/*  l-layout
--------------------------------------------------*/
.l-limitedPlan {
	padding-block: 10.0rem 14.0rem;
	background: url('../img/img_limitedPlan_bg-pc.jpg') no-repeat center center/cover;
}
.limitedPlan-inner {
	max-width: 560px;
}
.limitedPlan-head {
	padding-bottom: 2.8rem;
    margin-bottom: 2.1rem;
	border-bottom: solid 1px rgba(211, 210, 207, .5);
}
.limitedPlan-head__en {
	font-size: 3.2rem;
	letter-spacing: .1em;
	line-height: 1;
	color: var(--white);
	text-align: center;
	margin-bottom: 2.0rem;
}
.limitedPlan-head__ttl {
	font-size: 2.0rem;
	letter-spacing: .02em;
	line-height: 1;
	color: var(--white);
	text-align: center;
}
.limitedPlan-contents {
	position: relative;
}
.limitedPlan-contents__desc {
	font-size: 1.5rem;
	letter-spacing: .02em;
	line-height: 2;
	color: var(--white);
	text-align: center;
}
.limitedPlan-contents__btns {
	gap: 20px 30px;
	margin-top: 4.0rem;
}
.limitedPlan-contents__btns__item {
	position: relative;
	width: 320px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	line-height: 1;
	letter-spacing: .1em;
	text-align: center;
	color: var(--white);
	background-color: rgba(var(--white-rgb), .1);
	border: solid 1px rgba(var(--white-rgb), .5);
	padding-bottom: .1em;
}
.limitedPlan-contents__btns__item i {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 12px;
	line-height: 1;
	font-style: normal;
	font-weight: 400;
	color: #d3d2cf;
}
@media (any-hover: hover){
	.limitedPlan-contents__btns__item {
		transition: background-color .6s ease;
	}
	.limitedPlan-contents__btns__item:hover {
		background-color: rgba(var(--white-rgb), .3);
	}
	.limitedPlan-contents__btns__item i {
		transition: color .6s ease;
	}
	.limitedPlan-contents__btns__item:hover i {
		color: var(--white);
	}
}
@media screen and (max-width: 768px){
	.l-limitedPlan {
		padding-block: 8.0rem 10.0rem;
		background: url('../img/img_limitedPlan_bg-sp.jpg') no-repeat center center/cover;
	}
	.limitedPlan-inner {
		max-width: 100%;
	}
	.limitedPlan-head {
		padding-bottom: 2.3rem;
        margin-bottom: 2.1rem;
	}
	.limitedPlan-head__en {
		font-size: 2.4rem;
		margin-bottom: 1.0rem;
	}
	.limitedPlan-head__ttl {
		font-size: 1.6rem;
	}
	.limitedPlan-contents__desc {
		font-size: 1.2rem;
	}
	.limitedPlan-contents__btns {
		width: calc(320 / 340 * 100%);
		margin: 3.0rem auto 0;
	}
	.limitedPlan-contents__btns__item {
		width: 100%;
		height: 5.0rem;
		font-size: 1.4rem;
	}
	.limitedPlan-contents__btns__item i {
		right: 2.0rem;
		font-size: 1.2rem;
	}
}


/*  l-layout
--------------------------------------------------*/
.l-layout {
	position: relative;
	padding-block: 20.0rem;
}
@media screen and (max-width: 768px){
	.l-layout {
		padding-block: 8.0rem 10.0rem;
	}
}



/*  l-equipment
--------------------------------------------------*/
.l-equipment {
	position: relative;
	padding-block: 14.5rem 12.0rem;
	background: #6e6960;
}
.equipment-scroll {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	margin-inline: auto;
	transform: translateY(-50%);
	width: 15px;
	height: 15.0rem;
	overflow: hidden;
	z-index: 1;
}
.equipment-scroll::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 1px;
	height: 100%;
	background: #aeaba6;
}
.equipment-scroll i {
	position: absolute;
	left: 50%;
	top: -10%;
	transform: translateX(-50%) rotate(45deg);
	width: 7px;
	height: 7px;
	background: #bfbdb9;
	animation: scrollDown 2s infinite forwards;
	z-index: 1;
}
.equipment-head {
	margin-bottom: 14.5rem;
}
.equipment-head__ttl {
	font-size: 18px;
	line-height: 1;
	letter-spacing: .05em;
	color: var(--white);
	text-align: center;
}
.equipment-contents {
	width: 100%;
}
.equipment-box + .equipment-box {
	margin-top: 10.0rem;
}
.equipment-box__item {
	position: relative;
	gap: 2.5rem 0;
}
.equipment-box1__item {
	width: calc(790 / 1440 * 100%);
}
.equipment-box1__item1 {
	width: calc(900 / 1440 * 100%);
}
.equipment-box1__item2 {
	margin-top: calc(-100 / 1440 * 100%);
	margin-left: auto;
}
.equipment-box1__item2 {
	margin-top: calc(-100 / 1440 * 100%);
	margin-left: auto;
}
.equipment-box1__item__figure {
	width: calc(440 / 790 * 100%);
}
.equipment-box1__item__detail {
	width: calc(310 / 790 * 100%);
}
.equipment-box1__item1 .equipment-box1__item__figure {
	width: calc(550 / 900 * 100%);
}
.equipment-box1__item1 .equipment-box1__item__detail {
	width: calc(310 / 900 * 100%);
}
.equipment-box3__item {
	width: calc(690 / 1440 * 100%);
}
.equipment-box__heading {
	position: relative;
	font-size: 1.8rem;
	line-height: 1.8;
	letter-spacing: .02em;
	color: var(--white);
	margin-bottom: 1.1rem;
}
.equipment-box1__item2 .equipment-box__heading {
	text-align: right;
}
.equipment-box__heading span {
	position: relative;
	display: inline-block;
	padding-left: 2.2rem;
}
.equipment-box__heading span::before {
	content: '';
	position: absolute;
	left: 0;
	top: .9em;
	width: 1.0rem;
	height: 1px;
	background: var(--white);
}
.equipment-box__desc {
	font-size: 1.5rem;
	line-height: 2;
	letter-spacing: -.07em;
	color: var(--white);
	text-align: justify;
}
.equipment-box__desc small {
	display: block;
	font-size: .733333333333333em;
	line-height: 1.75;
	margin-top: .5rem;
}
.equipment-box2__item1 {
	width: calc(440 / 1440 * 100%);
}
.equipment-box2__item2 {
	width: calc(940 / 1440 * 100%);
	background: #54514a;
}
.equipment-box2__item1__figure {
	width: 100%;
}
.equipment-box2__item2__inner {
	width: calc(820 / 940 * 100%);
	padding-block: calc(60 / 940 * 100%);
	margin-inline: auto;
}
.equipment-box2__item2__detail {
	width: calc(420 / 820 * 100%);
}
.equipment-box2__item2__detail__heading {
	position: relative;
	font-size: 2.4rem;
	line-height: 2.083333333333333;
	letter-spacing: .02em;
	color: var(--white);
	padding-bottom: 1.8rem;
	margin-top: -.5em;
	margin-bottom: 2.0rem;
	border-bottom: solid 1px;
}
.equipment-box2__item2__detail__desc {
	font-size: 1.3rem;
	line-height: 2.153846153846154;
	letter-spacing: .02em;
	color: var(--white);
}
.equipment-box2__item2__detail__desc + .equipment-box2__item2__detail__desc {
	margin-top: 2.0rem;
}
.equipment-box2__item2__detail__desc span {
	display: block;
	font-size: 1.384615384615385em;
}
.equipment-box2__item2__figure {
	width: calc(340 / 820 * 100%);
}
@keyframes scrollDown{
	0%{ top: -10%; }
	100%{ top: 110%; }
}
@media screen and (max-width: 1000px){
	.equipment-box1__item {
		width: 100%;
	}
	.equipment-box1__item2 {
		margin-top: calc(100 / 1440 * 100%)
	}
}
@media screen and (max-width: 768px){
	.l-equipment {
		padding-block: 8.4rem 8.0rem;
	}
	.equipment-scroll {
		height: 8.0rem;
	}
	.equipment-scroll::before {
		content: '';
		position: absolute;
		left: 50%;
		top: 0;
		transform: translateX(-50%);
		width: 1px;
		height: 100%;
		background: #aeaba6;
	}
	.equipment-scroll i {
		width: 5px;
		height: 5px;
	}
	.equipment-head {
		margin-bottom: 4.5rem;
	}
	.equipment-head__ttl {
		font-size: 12px;
	}
	.equipment-box + .equipment-box {
		margin-top: 5.0rem;
	}
	.equipment-box__item {
		gap: 2.0rem 0;
	}
	.equipment-box1__item {
		width: 100%;
	}
	.equipment-box1__item2 {
		margin-top: 5.0rem;
	}
	.equipment-box3__item {
		width: 100%;
	}
	.equipment-box3__item + .equipment-box3__item {
		margin-top: 5.0rem;
	}
	.equipment-box1__item__figure {
		width: 100%;
	}
	.equipment-box1__item__detail {
		width: 100%;
	}
	.equipment-box1__item1 .equipment-box1__item__figure {
		width: 100%;
	}
	.equipment-box1__item1 .equipment-box1__item__detail {
		width: 100%;
	}
	.equipment-box__heading {
		font-size: 1.5rem;
		margin-bottom: 1.5rem;
	}
	.equipment-box1__item2 .equipment-box__heading {
		text-align: left;
	}
	.equipment-box__heading span {
		padding-left: 2.2rem;
	}
	.equipment-box__heading span::before {
		top: .9em;
		width: 1.0rem;
	}
	.equipment-box__desc {
		font-size: 1.2rem;
        line-height: 1.8;
		letter-spacing: .04em;
	}
	.equipment-box__desc small {
		font-size: 1.0rem;
	}
	.equipment-box2__item1 {
		width: 100%;
	}
	.equipment-box2__item2 {
		width: 100%;
		margin-top: 5.0rem;
	}
	.equipment-box2__item2__inner {
		width: calc(280 / 320 * 100%);
		padding-block: 3.0rem;
	}
	.equipment-box2__item2__detail {
		width: 100%;
		margin-bottom: 3.5rem;
	}
	.equipment-box2__item2__detail__heading {
		font-size: 1.8rem;
        text-align: center;
		padding-bottom: .7rem;
		margin-top: 0;
		margin-bottom: 2.5rem;
	}
	.equipment-box2__item2__detail__desc {
		font-size: 1.2rem;
        line-height: 1.8;
		letter-spacing: .04em;
	}
	.equipment-box2__item2__detail__desc span {
	    font-size: 1.2em;
	    margin-bottom: 1.0rem;
	}
	.equipment-box2__item2__figure {
		width: 100%;
	}
}