@charset "UTF-8";


/*  l-view
--------------------------------------------------*/
.l-view {
	padding-block: 19.0rem 20.0rem;
}
.view-ttl {
	font-size: 6.0rem;
	line-height: 1;
	letter-spacing: 0.05em;
	font-weight: 400;
	color: #B49B5E;
	text-align: center;
	margin-bottom: 9.0rem;
}
.view-item {
	position: relative;
	width: 100%;
}
.view-item + .view-item {
	margin-top: 18.0rem;
}
.view-item__photo {
	width: 100%;
}
.view-item__detail {
	margin-top: 8.0rem;
}
.view-item__detail__inner {
	width: fit-content;
	gap: 1.7rem 8.0rem;
}
.view-item:nth-of-type(2) .view-item__detail__inner {
	margin-left: auto;
}
.view-item__detail__heading {
	font-size: 2.7rem;
	line-height: 1.41;
	letter-spacing: .05em;
}
.view-item__detail__desc {
	font-size: 1.7rem;
	line-height: 1.88;
	letter-spacing: .05em;
}
@media screen and (max-width: 768px){
	.l-view {
		padding-block: 9.5rem 10.0rem;
	}
	.view-ttl {
		font-size: 3.0rem;
		margin-bottom: 4.2rem;
	}
	.view-item {
		width: 100%;
	}
	.view-item + .view-item {
		margin-top: 8.0rem;
	}
	.view-item__detail {
		margin-top: 4.0rem;
	}
	.view-item__detail__inner {
		width: 100%;
	}
	.view-item__detail__heading {
		font-size: 2.0rem;
		line-height: 1.4;
	}
	.view-item__detail__desc {
		font-size: 1.4rem;
		line-height: 1.86;
		text-align: justify;
	}
}




/*  l-plan
--------------------------------------------------*/
.l-plan {
	position: relative;
	padding-block: 20.0rem;
	background: #222020;
}
.plan-ttl {
	font-size: 6.0rem;
	line-height: 1;
	letter-spacing: 0.05em;
	font-weight: 400;
	color: #B49B5E;
	text-align: center;
	margin-bottom: 9.0rem;
}
.plan-list {
	gap: 7.5rem;
}
.plan-list__item {
	position: relative;
	width: calc((100% - 15.0rem) / 3);
	container-type: inline-size;
}
.plan-list__item a {
	position: relative;
	display: block;
}
.plan-list__item.new a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: calc(90 / 470 * 100%);
	aspect-ratio: 1 / 1;
	background: url('../imgs/icon_new.svg') no-repeat left top/cover;
	z-index: 2;
}
.plan-list__item__period {
	position: absolute;
    right: calc(95 / 470 * 100%);
    top: 0;
    font-size: min(1.15406809vw,20px);/*20/1,733*/
    font-size: 4.25531915cqw;/*20/470*/
    font-weight: 600;
    margin-top: calc(16 / 470 * 100%);
    margin-right: calc(130 / 470 * 100%);
    color: #914626;
    background: linear-gradient(transparent 70%, #f1e7bf 70%);
    z-index: 1;
}
.plan-list__item__period--first {
	color: #918c26;
}
.plan-list__item__period::before {
	content: '';
	position: absolute;
	top: 50%;
	width: 2em;
	height: 1px;
	background: #999;
}
.plan-list__item__period::before {
	left: 0;
	transform: translateX(-150%);
}
.plan-list__item__icon--parking {
	position: absolute;
	right: 0;
	top: 0;
	width: calc(95 / 470 * 100%);
	margin-top: calc(90 / 470 * 100%);
	margin-right: calc(60 / 470 * 100%);
	z-index: 1;
}
.plan-catch {
	font-size: 3.2rem;
    line-height: 1.75;
    letter-spacing: 0.1em;
    color: #B49B5E;
    text-align: center;
    margin-top: 9.0rem;
    padding-block: 3.0rem;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (max-width: 768px){
	.l-plan {
		padding-block: 10.0rem;
	}
	.plan-ttl {
		font-size: 3.0rem;
		margin-bottom: 4.2rem;
	}
	.plan-list {
		width: calc(280 / 380 * 100%);
		gap: 2.0rem;
	}
	.plan-list__item {
		width: 100%;
	}
	.plan-catch {
		width: 100%;
        font-size: 1.5rem;
        letter-spacing: .05em;
        margin-top: 5.0rem;
        padding-block: 2.0rem;
	}
}



/*  l-service
--------------------------------------------------*/
.l-service {
	padding-block: 19.0rem 10.0rem;
}
.service-ttl {
	font-size: 6.0rem;
	line-height: 1;
	letter-spacing: 0.05em;
	font-weight: 400;
	color: #B49B5E;
	text-align: center;
	margin-bottom: 9.0rem;
}
.service-contents__logo {
	width: calc(640 / 1560 * 100%);
}
.service-contents__detail {
	width: calc(820 / 1560 * 100%);
}
.service-contents__detail__heading {
	font-size: 2.7rem;
	line-height: 1.41;
	letter-spacing: .05em;
    margin-bottom: 3.5rem;
}
.service-contents__detail__desc {
	font-size: 1.7rem;
	line-height: 1.88;
	letter-spacing: .05em;
}
@media screen and (max-width: 768px){
	.l-service {
		padding-block: 9.5rem;
	}
	.service-ttl {
		font-size: 3.0rem;
		margin-bottom: 4.2rem;
	}
	.service-contents__logo {
		width: 100%;
		margin-bottom: 1.0rem;
	}
	.service-contents__detail {
		width: 100%;
	}
	.service-contents__detail__heading {
		font-size: 2.0rem;
		line-height: 1.4;
		text-align: center;
	    margin-bottom: 1.5rem;
	}
	.service-contents__detail__desc {
		font-size: 1.4rem;
		line-height: 1.86;
		text-align: justify;
	}
}



/*  l-assistance
--------------------------------------------------*/
.l-assistance {
	padding-block: 14.0rem 20.0rem;
	background: #222020;
}
.assistance-intro {
	position: relative;
	margin-bottom: 10.0rem;
}
.assistance-intro__heading {
	font-size: 2.7rem;
	line-height: 1.41;
	letter-spacing: .05em;
	color: var(--white);
	text-align: center;
    margin-bottom: 3.5rem;
}
.assistance-intro__desc {
	font-size: 1.7rem;
	line-height: 1.88;
	letter-spacing: .05em;
	color: var(--white);
	text-align: center;
}
.assistance-intro__contents {
	width: 100%;
	margin-top: 9.0rem;
}
.assistance-intro__contents__item {
	width: calc(730 / 1560 * 100%);
}
.assistance-intro__contents__item__photo {
	width: calc(360 / 730 * 100%);
}
.assistance-intro__contents__item__detail {
	width: calc(320 / 730 * 100%);
}
.assistance-intro__contents__item__detail__catch {
	font-size: 2.0rem;
	line-height: 1.41;
	letter-spacing: .05em;
	color: var(--white);
	margin-bottom: 1.5rem;
}
.assistance-intro__contents__item__detail__explain {
	font-size: 1.4rem;
	line-height: 1.86;
	letter-spacing: .05em;
	color: var(--white);
}
.assistance-intro__contents__note {
	font-size: max(11px,1.1rem);
	line-height: 1.8;
	letter-spacing: .05em;
	color: var(--white);
	margin-top: 4.5rem;
}
.assistance-contents {
	position: relative;
	transition: height .3s linear,padding .3s linear;
	will-change: height;
	height: 0;
	overflow: hidden;
	box-sizing: content-box;
}
.assistance-contents::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 1px;
	background: #B49B5E;
	opacity: .3;
}
.assistance-merit {
	position: relative;
}
.assistance-merit__ttl {
	font-size: 2.7rem;
	line-height: 1;
	letter-spacing: .05em;
	text-align: center;
	color: #B49B5E;
	margin-bottom: 9.0rem;
}
.assistance-merit__list {
	width: 100%;
}
.assistance-merit__list__item {
	width: calc(480 / 1560 * 100%);
}
.assistance-merit__list__item__photo {
	width: 100%;
}
.assistance-merit__list__item__detail {
	position: relative;
	margin-top: 2.5rem;
	padding-left: 8.0rem;
}
.assistance-merit__list__item__detail__num {
	position: absolute;
	left: 0;
	top: 0;
	font-size: 3.0rem;
	line-height: 1;
	letter-spacing: .14em;
	color: #B49B5E;
	padding-left: 2.4rem;
}
.assistance-merit__list__item__detail__num::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.6rem;
	height: 1px;
	background: #D9CDAE;
}
.assistance-merit__list__item__detail__desc {
	font-size: 2.4rem;
	line-height: 1.58;
	letter-spacing: .05em;
	color: var(--white);
}
.assistance-merit__list__item__detail__desc span {
	display: block;
	font-size: .708333333333333em;
}
.assistance-recommend {
	padding-top: 14.5rem;
	margin-top: 14.5rem;
	border-top: solid 1px rgba(180, 155, 94, 0.3);
}
.assistance-recommend__ttl {
	font-size: 2.7rem;
	line-height: 1;
	letter-spacing: .05em;
	text-align: center;
	color: #B49B5E;
	margin-bottom: 9.0rem;
}
.assistance-recommend__hotel {
	width: 100%;
}
.assistance-recommend__hotel__photo {
	width: calc(640 / 1560 * 100%);
}
.assistance-recommend__hotel__detail {
	width: calc(820 / 1560 * 100%);
}
.assistance-recommend__hotel__detail__heading {
	font-size: 2.4rem;
	line-height: 1.58;
	letter-spacing: .05em;
	color: var(--white);
	margin-bottom: 2.0rem;
}
.assistance-recommend__hotel__detail__catch {
	font-size: 1.7rem;
	line-height: 1.88;
	letter-spacing: .05em;
	color: var(--white);
	margin-bottom: 1.5rem;
}
.assistance-recommend__hotel__detail__desc {
	font-size: 1.4rem;
	line-height: 1.86;
	letter-spacing: .05em;
	color: var(--white);
}
.assistance-recommend__hotel__detail__example {
	background: #F7F5EF;
	margin-top: 6.0rem;
	padding: 4.0rem 3.0rem 4.0rem 5.0rem;
}
.assistance-recommend__hotel__detail__example__ttl {
	font-size: 1.7rem;
	line-height: 1;
	text-align: center;
	letter-spacing: .05em;
	color: #B49B5E;
	width: 13.2rem;
	border-right: solid 1px #D9CDAE;
}
.assistance-recommend__hotel__detail__example__desc {
	width: calc(100% - 13.2rem);
	padding-left: 4.0rem;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0;
	color: #000000;
}
.assistance-recommend__option {
	width: 100%;
	background: #313030;
	margin-top: 10.0rem;
	padding-block: 10.0rem;
	padding-inline: 10.0rem;
}
.assistance-recommend__option__detail {
	width: calc(450 / 1360 * 100%);
}
.assistance-recommend__option__detail__heading {
	font-size: 2.0rem;
	line-height: 1.9;
	letter-spacing: .05em;
	color: var(--white);
	margin-bottom: 2.0rem;
}
.assistance-recommend__option__detail__desc {
	font-size: 1.4rem;
	line-height: 1.86;
	letter-spacing: .05em;
	color: var(--white);
}
.assistance-recommend__option__example {
	width: calc(810 / 1360 * 100%);
	background: #E7E7E7;
	padding: 4.0rem 3.0rem 4.0rem 5.0rem;
}
.assistance-recommend__option__example__ttl {
	font-size: 1.7rem;
	line-height: 1;
	text-align: center;
	letter-spacing: .05em;
	color: #000000;
	width: 21.6rem;
	border-right: solid 1px #B1B1B1;
}
.assistance-recommend__option__example__desc {
	width: calc(100% - 21.6rem);
	padding-left: 4.0rem;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0;
	color: #000000;
}
.assistance-recommend__option__example__desc span {
	font-size: .785714285714286em;
}
.assistance-recommend__contents {
	width: 100%;
	margin-top: 10.0rem;
}
.assistance-recommend__contents__item {
	width: calc(730 / 1560 * 100%);
}
.assistance-recommend__contents__item__photo {
	width: calc(360 / 730 * 100%);
}
.assistance-recommend__contents__item__detail {
	width: calc(320 / 730 * 100%);
}
.assistance-recommend__contents__item__detail__catch {
	font-size: 2.0rem;
	line-height: 1.41;
	letter-spacing: .05em;
	color: var(--white);
	margin-bottom: 1.5rem;
}
.assistance-recommend__contents__item__detail__explain {
	font-size: 1.4rem;
	line-height: 1.86;
	letter-spacing: .05em;
	color: var(--white);
}
.assistance-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	outline: none;
	font: inherit;
	cursor: pointer;
	width: 100%;
	font-size: 2.7rem;
	line-height: 1;
	text-align: center;
	letter-spacing: .05em;
	color: var(--white);
	padding-block: 2.5rem 2.7rem;
	background: #7C7C7C;
}
.assistance-btn:focus-visible {
    outline: auto;
}
.assistance-btn span {
	position: relative;
	display: inline-block;
	margin-right: 4.0rem;
}
.assistance-btn em {
	transition: opacity .3s linear;
}
.assistance-btn em:nth-of-type(2) {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	text-align: center;
	opacity: 0;
}
.assistance-btn.active em:nth-of-type(1) {
	opacity: 0;
}
.assistance-btn.active em:nth-of-type(2) {
	opacity: 1;
}
.assistance-btn i {
	position: relative;
	display: inline-block;
	width: 2.5rem;
	height: 2.5rem;
}
.assistance-btn i::before,
.assistance-btn i::after {
	content: '';
	position: absolute;
	inset: 0;
	margin: auto;
	width: 100%;
	height: 1px;
	background: var(--white);
}
.assistance-btn i::before {
	transform: rotate(90deg);
	transition: transform .3s linear;
}
.assistance-btn i::after {
	transform: rotate(0deg);
}
.assistance-btn.active i::before {
	transform: rotate(0deg);
}
@media screen and (max-width: 768px){
	.l-assistance {
		padding-block: 7.5rem;
	}
	.assistance-intro {
		margin-bottom: 7.0rem;
	}
	.assistance-intro__heading {
		font-size: 2.0rem;
		line-height: 1.4;
	    margin-bottom: 2.0rem;
	}
	.assistance-intro__desc {
		font-size: 1.4rem;
		line-height: 1.86;
		text-align: justify;
	}
	.assistance-intro__contents {
		margin-top: 4.5rem;
	}
	.assistance-intro__contents__item {
		width: 100%;
	}
	.assistance-intro__contents__item + .assistance-intro__contents__item {
		margin-top: 4.0rem;
	}
	.assistance-intro__contents__item__photo {
		width: 100%;
		margin-bottom: 2.0rem;
	}
	.assistance-intro__contents__item__detail {
		width: 100%;
	}
	.assistance-intro__contents__item__detail__catch {
		font-size: 1.8rem;
		line-height: 2.11;
		margin-bottom: .5rem;
	}
	.assistance-intro__contents__note {
		font-size: 1.0rem;
		line-height: 1.8;
		margin-top: 3.0rem;
	}
	.assistance-merit__ttl {
		font-size: 2.0rem;
		margin-bottom: 4.5rem;
	}
	.assistance-merit__list__item {
		width: 100%;
	}
	.assistance-merit__list__item + .assistance-merit__list__item {
		margin-top: 4.0rem;
	}
	.assistance-merit__list__item__detail {
		margin-top: 1.8rem;
		padding-left: 5.8rem;
	}
	.assistance-merit__list__item__detail__num {
		font-size: 2.0rem;
		padding-left: 2.0rem;
	}
	.assistance-merit__list__item__detail__num::before {
		width: 1.2rem;
	}
	.assistance-merit__list__item__detail__desc {
		font-size: 1.8rem;
	}
	.assistance-recommend {
		padding-top: 7.5rem;
		margin-top: 6.0rem;
	}
	.assistance-recommend__ttl {
		font-size: 2.0rem;
		margin-bottom: 4.5rem;
	}
	.assistance-recommend__hotel__photo {
		width: 100%;
		margin-bottom: 2.0rem;
	}
	.assistance-recommend__hotel__detail {
		width: 100%;
	}
	.assistance-recommend__hotel__detail__heading {
		font-size: 1.8rem;
        line-height: 2.11;
        margin-bottom: .5rem;
	}
	.assistance-recommend__hotel__detail__catch {
		font-size: 1.4rem;
		line-height: 1.86;
		margin-bottom: 0;
	}
	.assistance-recommend__hotel__detail__example {
		margin-top: 3.0rem;
		padding: 2.2rem 3.0rem 2.5rem;
	}
	.assistance-recommend__hotel__detail__example__ttl {
		font-size: 1.4rem;
		line-height: 1;
		justify-content: center;
		width: 100%;
		border-right: none;
		border-bottom: solid 1px #D9CDAE;
		padding-bottom: 1.2rem;
        margin-bottom: 1.2rem;
	}
	.assistance-recommend__hotel__detail__example__desc {
		width: 100%;
		padding-left: 0;
		font-size: 1.2rem;
	}
	.assistance-recommend__option {
		width: 100%;
		background: #313030;
		margin-top: 6.0rem;
		padding-block: 3.5rem 5.0rem;
		padding-inline: 3.0rem;
	}
	.assistance-recommend__option__detail {
		width: 100%;
		margin-bottom: 2.5rem;
	}
	.assistance-recommend__option__detail__heading {
		font-size: 1.8rem;
		margin-bottom: 1.0rem;
	}
	.assistance-recommend__option__example {
		width: 100%;
		padding: 2.2rem 3.0rem 2.5rem;
	}
	.assistance-recommend__option__example__ttl {
		font-size: 1.4rem;
		line-height: 1;
		justify-content: center;
		width: 100%;
		border-right: none;
		border-bottom: solid 1px #B1B1B1;
		padding-bottom: 1.2rem;
        margin-bottom: 1.2rem;
	}
	.assistance-recommend__option__example__desc {
		width: 100%;
		padding-left: 0;
		font-size: 1.2rem;
	}
	.assistance-recommend__contents {
		margin-top: 6.0rem;
	}
	.assistance-recommend__contents__item {
		width: 100%;
	}
	.assistance-recommend__contents__item + .assistance-recommend__contents__item {
		margin-top: 4.0rem;
	}
	.assistance-recommend__contents__item__photo {
		width: 100%;
		margin-bottom: 2.0rem;
	}
	.assistance-recommend__contents__item__detail {
		width: 100%;
	}
	.assistance-recommend__contents__item__detail__catch {
		font-size: 1.8rem;
		line-height: 2.11;
		margin-bottom: 1.0rem;
	}
	.assistance-btn {
		font-size: 2.0rem;
		padding-block: 1.3rem 1.4rem;
	}
	.assistance-btn span {
		margin-right: 2.0rem;
	}
	.assistance-btn i {
		width: 2.0rem;
		height: 2.0rem;
	}
}




