@charset "utf-8";

.tpl-article__title .en {
	font-family: Montserrat, sans-serif;
}

.tpl-figure.bg-normal {
    background-color: #F8F7F6;
}

.tpl-figure.bg-medium {
    background-color: #e5e2dd;
}

.tpl-figure img.mix-multiply {
    mix-blend-mode: multiply;
}

.plan .mv{position: relative}
/* .plan .mv .m-cap{position: absolute; bottom:3px; right:0px; color: white;line-height: 1.3;} */

/* mv slider */
.plan .mv{position: relative; z-index: 1;}
.plan .mv .swiper-pagination{justify-content: center;bottom: 35px !important;}
.plan .mv .swiper-pagination-bullet{height: 2px !important;}
.plan .mv .tpl-stack.swiper{padding-bottom: 0;}
.plan .mv .m-cap{position: absolute; bottom:5px; left:5px; color: #ffffff;line-height: 1.3; opacity: 0; visibility: hidden;}
.plan .mv .swiper-slide {overflow-y: unset;}
.plan .mv .swiper-slide-visible .m-cap{opacity: 1; visibility: visible;}

.plan .premium-plan{margin:0 auto 70px;max-width: 916px; }
.plan .premium-plan .tpl-label--room-type{text-align: center;margin-bottom: 30px;}
.plan .premium-plan .tpl-label--room-type span{display: block;font-size: 1.4rem;padding-top: 8px;}
.plan .premium-plan .tpl-label--room-type:first-letter{font-size: 3rem;font-weight: 500;}
.plan .premium-plan .imgPremium{margin: 0 auto 10px;}
.plan .premium-plan .premium-spec{display: flex; justify-content: space-between; margin: 0 auto 20px;flex-wrap: wrap;}
.plan .premium-plan .premium-spec .colL,
.plan .premium-plan .premium-spec .colR{width: 50%;font-size: 1.6rem; font-weight: bold; line-height: 2;}
.plan .premium-plan .premium-spec .colL{display: flex; justify-content: flex-start;column-gap: 20px; align-items: flex-start;flex-wrap: wrap;}
.plan .premium-plan .premium-spec .colL .iconNew {width: 40px; line-height: 1;}
.plan .premium-plan .premium-spec .colL .typeName{font-weight:700;font-size: 1.4rem; font-family: Montserrat, sans-serif; letter-spacing: .2em;line-height: 1;}
.plan .premium-plan .premium-spec .colL .typeName span{font-size: 150%;}
.plan .premium-plan .premium-spec .colL .typeSpec{font-family: Montserrat, sans-serif;}
.plan .premium-plan .premium-spec .colL .typeSpec p:first-of-type{font-size: 1.7rem;font-weight:700; letter-spacing: .2em;margin-bottom: 5px; line-height: 1.5;}
.plan .premium-plan .premium-spec .colL .typeSpec p:last-of-type{font-size: 1.7rem;font-weight:700; letter-spacing: .2em; line-height: 1;}
.plan .premium-plan .premium-spec .colL .typeSpec p:last-of-type .txt01{font-weight: 300;font-size: 1.4rem;}
.plan .premium-plan .premium-spec .colL .typeSpec p:last-of-type .txt02{font-size: 70%;}
.plan .premium-plan .linkReadMore{text-align: right;}
.plan .premium-plan .linkReadMore a{font-size: 1.3rem; font-family: Montserrat, sans-serif; letter-spacing: .22em; font-weight: 500; transition: 0.5s; display: block;}
.plan .premium-plan .linkReadMore a:after{content: url('../images/plan/readmore_arrrow.svg'); margin-left: 5px; position: relative; top: 2px;}
.plan .premium-plan .linkReadMore a:after img{width: 100%;}
.plan .premium-plan .linkReadMore a:hover{transform: translateX(5px); opacity: 0.35;}

@media screen and (max-width: 768px) {
	.plan .premium-plan{width:86vw}	
	.plan .premium-plan .tpl-label--room-type{text-align: left; font-size: 2.4rem;}
	.plan .premium-plan .tpl-label--room-type::first-letter {font-size: 2.4rem;font-weight: 500;}
	.plan .premium-plan .premium-spec .colL,
	.plan .premium-plan .premium-spec .colR{width: 100%;margin-bottom: 10px;}
	.plan .premium-plan .premium-spec .colL .iconNew{width: 100%;margin-bottom: 10px;}
	.plan .premium-plan .premium-spec .colL .iconNew img{width: 40px;}
}

.plan .family-plan {
	max-width: 1232px;
    margin: 0 auto;
    position: relative;
}

.plan .family-plan .tpl-headline__subtitle-jp {
	font-size: 1.6rem;
}

.plan .family-plan .family-plan-bnr:hover .family-button__arrow {
	transform: translateX(20px);
}

.plan .family-plan .block01 .tpl-row {
	background: rgba(229, 225, 221, 0.3);
	padding: 15px 30px;
	min-height: 350px;
}

.plan .family-plan .family-button {
    position: relative;
    display: block;
    background: transparent;
    font-size: 1.6rem;
    margin: 35px 0 0;
}

.plan .family-plan .family-button__label {
    font-family: 'Montserrat', sans-serif;
}

.family-button__arrow {
    max-width: 178px;
    position: absolute;
    top: 100%;
    left: 0;
    transition: transform .4s ease-in-out;
    margin-top: 4px;
}

@media screen and (max-width: 768px) {
	.plan .family-plan .block01 .tpl-row {
		padding: 10px 20px 60px;
	}
}

.plan .cas_img {
	max-width: 340px;
	width: calc(100% - 80px);
	margin: 0 auto;
}

.plan .tpl-room-type__header .tpl-room-type__title:first-letter {
	font-size: inherit;
	font-weight: 500;
}

.plan .tpl-room-type__header .tpl-room-type__title span{
	font-size: 1.2rem;
}

.plan .tpl-room-type__header .tpl-room-type__title .big {
	font-size: 2.4rem;
	font-weight: 300;
}
.tpl-room-type__header.price{padding:5px 5px 5px 15px;justify-content: space-between;}
.tpl-room-type__header.price .priceBox{display: flex;  align-items: center;background-color: #D9D3CD;}
.tpl-room-type__header.price .priceBox b{font-family: Montserrat, sans-serif; font-weight: 500; font-size: 1.2em;}
.tpl-room-type__header.price .priceBox .price01{padding: 5px;}
.tpl-room-type__header.price .priceBox .price02{padding: 5px 0 5px 5px;border-left: 1px solid #E5E1DD;text-align: center;line-height: 1.5;}
.tpl-room-type__header.price .priceBox .price03{padding: 5px;}

.plan .tpl-cover__bg {
	width: 100%;
}

.plan .tpl-room-type__body .tpl-modal {
	background: #fff;
}

.plan .tpl-room-type__body .tpl-figure {
	padding: 0;
	margin-top: 20px;
}
/* 
.plan .swiper-slide:not(.swiper-slide-visible) {
	opacity: 0 !important;
	max-height: 100px;
	overflow: hidden;
}

.plan .swiper-slide:not(.swiper-slide-active)::before {
	display: none;
} */

.plan .tpl-room-type__info .small {
	display: block;
	font-size: 65%;
	font-feature-settings: "palt";
}

.plan hr.ldk_line {
	border: 0;
	width: 100%;
	height: 1px;
	background: #e5e1dc;
	margin: 50px auto 80px;
}

.plan .tab-swiper .tpl-room-type__copy {
	letter-spacing: 0;
}

.plan .entry_txt{text-align: center; background: #D9D9D9; display: flex; justify-content: center; align-items: center; height: 255px; color: #3F2021; font-size: 1.1rem; line-height: 2; font-weight: 900; max-width: 450px; width: 100%; min-width: 310px; margin: 18px auto 0;}
@media screen and (max-width: 768px) {
	.plan .entry_txt{min-width: 100%;}
}

.plan .tpl-button.entry::after {
	transform: rotate(-90deg) translateY(-50%) translateX(0.5em);
}

.plan .torikago_item {
	max-width: 470px;
}

.plan .torikago_item .torikago_wrap {
	position: relative;
	line-height: 0;
}

.plan .torikago_item .torikago_wrap:not(:last-child) {
	margin-bottom: 40px;
}

.plan .torikago_item .torikago_wrap .torikago_list {
	line-height: 0;
}

.plan .torikago_item .torikago_wrap .torikago_list img.base {
	display: block;
	margin: 0;
	padding: 0;
}

.plan .torikago_item .torikago_wrap .torikago_list img:not(.base) {
	position: absolute;
	inset: 0;
	margin: auto;
	line-height: 0;
	opacity: 0;
}

.plan .torikago_item .torikago_wrap .torikago_list img:not(.base).active {
	opacity: 1;
}

.plan .torikago_item .torikago_wrap .tpl-caption {
	top: 100%;
	padding-right: 0;
	padding-top: 14px;
}

/* .plan .plan_btns>.tpl-block:first-child {
	padding-top: 0;
} */

@media screen and (min-width: 769px) {
	.plan .plan_btns .tpl-label--room-type {
		padding-bottom: 45px;
	}

	.plan .first_ldk {
		position: absolute;
		z-index: 1;
		top: -3em;
	}
}



@media screen and (min-width: 769px) and (max-width: 1400px) {
	.plan .plan_item_wrap {
		display: flex;
		justify-content: space-between;
		gap: 0;
	}

	.plan .plan_item_wrap .plan_btns {
		max-width: calc(800%/12.32);
		max-width: calc(780%/12.32);
	}

	.plan .plan_item_wrap .torikago_item {
		max-width: calc(400%/12.32);
		max-width: calc(380%/12.32);
	}
}

@media screen and (max-width: 768px) {
	.plan .torikago_item .torikago_wrap:not(:last-child) {
		margin-bottom: 9vw;
	}
}

.caps {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 8rem;
}

.caps .han {
	font-size: 1.2rem;
	display: flex;
	line-height: 1;
	width: 100%;
	justify-content: flex-end;
}

.caps .han hr {
	margin: 0 5px 0 8px;
	height: 0.8em;
	width: 2em;
	border: 1px solid #333;
	padding: 0;
	background: #333;
}
.note-txt{line-height: 1.6;margin-right: 6.5rem;}
.caps .han hr.yukadan {
	background: #ECE6DD;
}

.caps .han hr.syunou {
	background: #C9C2AE;
}
.note-txt .only-sp12{display: none;}

@media screen and (max-width: 1273px) {
.note-txt .only-sp12{display: block;}
.note-txt{margin-top: 5px;}
}
@media screen and (max-width: 768px) {
	.caps .han {justify-content: flex-start;}
	.note-txt {
		margin-right: 0;
		text-align: left;
	}
}

@media screen and (max-width: 1300px) {
    .caps{flex-wrap: wrap;}
    .caps .cap_r{width: 100%;text-align: left;margin-top: 5px;line-height: 2;}
}
.pc992{display: none;}
@media (min-width:768px) and (max-width: 960px) {
.pc992{display: block;}
}
@media screen and (max-width: 960px) {
	.caps {
		display: block;
	}

	.caps .cap_r {
		margin-top: 0.5em;
		text-align: left;
	}
}

@media screen and (max-width: 768px) {
	.caps {
		margin-top: 4rem;
	}
	.caps .han {
		font-size: 1rem;
	}
}
.sp576{display: none;}
@media screen and (max-width: 576px) {
    .sp576{display: block;}
}
.cap_r {
    text-align: right;
    font-size: 10px;
	line-height: 1.6;
}

.tpl-header__logo .tpl-header__svg {
	fill: #ffffff;
}

.tpl-header__name {
	color: #ffffff;
}

.tpl-drawer__line {
	background-color: #ffffff;
}

@media screen and (min-width: 769px) {
    .tpl-room-type__body .tpl-room-type__title {
        font-size: min(2vw, 2.2rem);
    }

	.plan .plan_btns .tpl-block .tpl-stack[data-columns="2"] {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 30px 0;
    }
}

@media screen and (max-width: 768px) {
	.tpl-room-type__body .tpl-room-type__title {
		font-size: 2rem;
	}
}

.tpl-modal[href$=".jpg"]:after, .tpl-modal[href$=".png"]:after, .tpl-modal[href$=".gif"]:after {
    width: 30px;
    height: 30px;
}

.plan .mv {
	position: relative;
	background: #000000;
}

/* .plan .mv .m-cap {
    padding-right: 10px;
	right: unset;
	left: 5px;
} */

/* .plan .m-cap {
    font-size: 10px;
    text-align: right;
    color: #555555;
    line-height: 2;
} */


.plan .mv .tpl-headline {
	position: absolute;
	inset: 0;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #ffffff;
}

.plan .mv .tpl-headline__copy .headline-cap {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1.1rem;
    text-wrap: nowrap;
}

.plan .mv .tpl-headline__copy {
	position: relative;
}

@media screen and (min-width: 769px) {
	.plan .mv .tpl-headline__copy {
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (max-width: 768px) {
	.plan .mv .tpl-headline {
		align-items: flex-start;
	}

	.plan .mv .tpl-headline__copy .headline-cap {
		left: 0;
        transform: translateX(0%);
    }
	.tpl-label--room-type.limitedlbl{font-size: 2rem; margin-bottom: 40px;}
}

.tpl-stack{overflow: visible;}
.tpl-stack .tpl-card {
	width: min(50vw, 380px);
}
.tpl-card.new::before{content: ''; width: 57px; height: 19px; background: url(../images/plan/icon_new.svg) no-repeat top left / 100% 100%; display: inline-block; position: absolute; left: 0; top: -25px}

.tpl-stack .tpl-card .tpl-button {
	margin-top: 20px;
}

@media screen and (max-width: 768px) {
	.tpl-stack .tpl-card {
		width: 100%;
	}
}

.block-infomation h2{font-size: 2.5rem; font-family: Montserrat, sans-serif; font-weight: 500; letter-spacing: 0.22em; margin-bottom: 30px;}
.block-infomation h3{font-size: 2.1rem; font-family: Montserrat, sans-serif; font-weight: 500; letter-spacing: 0.22em; margin-top: 15px;}
.block-infomation p{font-size: 1.3rem; margin-top: 10px;}
.block-infomation figure{position: relative; max-width: 572px;}
.block-infomation figcaption{position: absolute; bottom: 5px; right: 5px; color: #333;}
.block-infomation .more{display: inline-flex; align-items: center; margin-left: 3vw; position: relative; font-family: Montserrat, sans-serif; font-weight: 500;}
.block-infomation .more::after{content: ''; mask: url(../images/plan/readmore_arrrow.svg) no-repeat top left / 100% 100%; width: 32px; height: 12px; background: #3F2121; display: inline-block; margin-left: 10px; transition: 0.3s all ease;}
.block-infomation a:hover .more::after{margin-left: 15px;}
@media screen and (max-width: 768px) {
	.block-infomation h2{font-size: 2.4rem; letter-spacing: 0.1em;}
    .block-infomation .more{display: flex; margin-left: 0; margin-top: 10px; justify-content: flex-end;}
	.block-infomation figcaption{bottom: auto; padding-top: 5px;}
}

.block-bnr {
	padding-top: 12rem;
	max-width: 782px;
	margin: 0 auto;
}

.block-bnr .tpl-row {
	/* gap: 20px; */
	justify-content: space-between;
	align-items: center;
}

.block-bnr .tpl-row .col-1 {
	flex: unset;
	width: 40.92%;
}

.block-bnr .tpl-row .col-2 {
	flex: unset;
	width: 56.585%;
}

.block-bnr .note-txt {
	padding-left: 60px;
	margin-top: 30px;
}

@media screen and (max-width: 768px) {
	.block-bnr {
		width: 86vw;
		padding-top: 6rem;
	}

	.block-bnr .tpl-row .col-1 {
		width: 100%;
	}

	.block-bnr .tpl-row .col-2 {
		width: 100%;
	}

	.block-bnr .note-txt {
		padding: 0;
		text-align: left;
		margin-top: 20px;
	}
}

.plan_sticky_wrap::before {
	position: absolute;
	top: -7rem;
	left: 50%;
	transform: translateX(-50%);
	content: "PLAN";
	display: block;
	font-size: 2.6rem;
	font-family: Montserrat, sans-serif;
	letter-spacing: 0.2em;
	font-weight: 500;
}

.note-box{max-width: 916px;margin: 60px auto 0;font-size: 1rem;
  line-height: 2;}
@media screen and (max-width: 768px) {
    .note-box{width: 86vw;}
}