@charset "utf-8";

/*
************************************************************************
* プラン詳細
* @copyright Revolme Inc.
************************************************************************
*/

hr
{
	max-width:calc(100vw - 8vw);
}

/*
************************************************************************
* pc：page-titlespサイズ調整 / sp：page-title非表示
************************************************************************
*/
#page-title .image
{
	max-height:80px;
	background: #f5f5f5;
}
#page-title .page-title-bg{
	/*position:absolute;
	max-height:90px;
	background-position:top center;
	
	filter: blur(2px) brightness(0.8);
	-webkit-filter: blur(2px) brightness(0.8);
	-moz-filter: blur(2px) brightness(0.8);
	-ms-filter: blur(2px) brightness(0.8);*/
}

/*
************************************************************************
* プラン概要ブロック
************************************************************************
*/
.plan-description
{
}
.plan-description .thumbnail
{
	float:left;
	width:50%;
	padding-right:2em;
}
.plan-description .thumbnail img
{
	border-radius:0.5em;
}
.plan-description .description
{
	margin-left: 50%;
	padding-left: 30px;
}
.plan-description .description .tag
{
	
}
.plan-description .description .tag span
{
	display:inline-block;
	font-size:1.6rem;
	font-weight:bold;
	line-height:1;
	
	padding:0.8em 0.8em 0.6em 0.8em;
	border-radius:0.5em;
	border:1px solid;
}
.plan-description .description .title .sub
{
	font-size:1.8rem;
	font-weight:bold;
	line-height: 1.3;
}
.plan-description .description .title .main
{
	font-size:2.8rem;
	font-weight:bold;
	line-height: 1.3;
	margin-top: 0.5em;
}
.plan-description .description .price
{
	margin-top: 0.5em;
}
.plan-description .description .price .num
{
	font-size:4.0rem;
	font-weight:bold;
	line-height: 1.1;
}
.plan-description .description .price .yen
{
	font-size:2.8rem;
	font-weight:bold;
	line-height: 1.2;
}
.plan-description .description .price .tax
{
	font-size:2.2rem;
	font-weight:normal;
	line-height: 1.2;
}
.plan-description .description .price-ext
{
	color:#666666;
	font-size:1.6rem;
	margin-top: 0.7em;
}
.plan-description .description .comment
{
	margin-top:1em;
}
.plan-description .description .comment a {
    display: inline-block;
}

/*-- キャンペーン関係 --*/
.campaign_after {
	display:none;
}
.plan-description .description .price.campaign{
	/*text-decoration: line-through*/
}
.plan-description .description .price.campaign .num {
	font-size: 2.8rem;
	font-weight: 500;
}
.plan-description .description .price.campaign .yen{
	font-size:2.6rem;
	font-weight:500;
}
.campaign_after.ff-roboto span {
	display: inline-block;
	color: #9e8876;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 15px;
}
.campaign_after.ff-roboto .num {
	margin-left: .4em;
	font-size: 3.8rem;
	font-weight: bold;
	letter-spacing: 1px;
}
.campaign_after.ff-roboto .yen {
	font-size: 2.7rem;
}
.campaign_after.ff-roboto .tax {
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 2px;
}
/*.price-desc {
	display: block;
	color: #cc0000;
	margin: 10px 0 -10px;
}*/
.price-desc {
	display: block;
	/* color: #cc0000; */
	margin: 10px 0;
	padding-top: 10px;
}
.price-desc span {
	color: #cc0000;
	font-weight:bold;
}
/*.price-desc span.soushun {
	color: #99C102;
}
.price-desc span.yaezakura {
	color: #EF5470;
}
.price-desc span.shinryoku {
	color: #21891B;
}*/
.campaign-link{
	margin-top: 30px;
	text-decoration: underline;
}
.campaign-link:hover{
	text-decoration: none;
}

/* 20200318 東京プラン期間限定価格用記述 */
.plan-description .description .price.campaign_tk{
	text-decoration: line-through
}

.plan-description .description .price.campaign_tk .num {
	font-size: 2.8rem;
	font-weight: 500;
}
.plan-description .description .price.campaign_tk .yen{
	font-size:2.6rem;
	font-weight:500;
}
.campaign_tk_after.ff-roboto span {
	display: inline-block;
	color: #9e8876;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 15px;
}
.campaign_tk_after.ff-roboto .num {
	margin-left: .4em;
	font-size: 3.8rem;
	font-weight: bold;
	letter-spacing: 1px;
}
.campaign_tk_after.ff-roboto .yen {
	font-size: 2.7rem;
}
.campaign_tk_after.ff-roboto .tax {
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 2px;
}


/* == ブレークポイント ==========================================================*/
@media screen and (max-width: 1100px) {
}
/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	.plan-description
	{
	}
	.plan-description .thumbnail
	{
		float:none;
		width:100%;
		padding-right:0em;
		
		margin-bottom:1em;
	}
	.plan-description .thumbnail img
	{
		width:100%;
	}
	.plan-description .description
	{
		margin-left: 0%;
		padding-left: 0px;
	}
	.plan-description .description .tag
	{
		
	}
	.plan-description .description .tag span
	{
		font-size:2.0rem;
		padding:0.8em 0.8em 0.6em 0.8em;
	}
	.plan-description .description .title .sub
	{
		font-size:2.4rem;
	}
	.plan-description .description .title .main
	{
		font-size:4.0rem;
	}
	.plan-description .description .price
	{
	}
	.plan-description .description .price .num
	{
		font-size:5.4rem;
	}
	.plan-description .description .price .yen
	{
		font-size:3.6rem;
	}
	.plan-description .description .price .tax
	{
		font-size:3.0rem;
	}
	.plan-description .description .price-ext
	{
		font-size:2.8rem;
	}
	.plan-description .description .comment
	{
		margin-top:1em;
	}
	.price-desc{
		font-size: .9em;
	}
}

/*
************************************************************************
* FEATUREブロック
************************************************************************
*/
.plan-feature
{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.plan-feature > .plan-feature-item
{
	width:calc(33.33333% - 2px);
	margin:1px;
	
	border-radius:0.5em;
	overflow:hidden;
	
	border:1px solid #e3e3e3;
}
.plan-feature > .plan-feature-item .image
{
	width:30%;
	padding:0.5em 1.5em;
}
.plan-feature > .plan-feature-item .caption
{
	position:absolute;
	
	top:50%;
	left:30%;
	
	transform:translateY(-50%);
	
	font-size:1.5rem;
	font-weight:bold;
	line-height: 1.2;
}
.plan-feature > .plan-feature-item .caption small {
	font-size: .8em;
}
.plan-feature > .plan-feature-item .caption .come
{
	font-size:0.5em;
	vertical-align: super;
}
.plan-feature > .plan-feature-item .caption .desc {
	display:inline-block;
	font-size: .85em;
	font-weight: 500;
}
.plan-feature-comment
{
	color:#666666;
	font-size:1.3rem;
	
	margin-top:1em;
}
/* == ブレークポイント ==========================================================*/
@media screen and (max-width: 1100px) {
	.plan-feature > .plan-feature-item
	{
		width:calc(50% - 2px);
	}
}
/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	.plan-feature
	{
	}
	.plan-feature > .plan-feature-item
	{
	}
	.plan-feature > .plan-feature-item .image
	{
		width:40%;
		padding:0.5em 0.5em;
	}
	.plan-feature > .plan-feature-item .caption
	{
		left:40%;
		font-size:2.2rem;
		font-weight:bold;
	}
	.plan-feature > .plan-feature-item .caption small {
		display: inline-block;
		transform: scale(0.85);
		margin-left: -1em;
	}
	.plan-feature-comment
	{
		font-size:2.0rem;
	}
}

/*
************************************************************************
*選べるロケーション
************************************************************************
*/
.plan-location {
	margin: 5.5em 0 3em;
}
.plan-location .title {
	font-size: 2.4rem;
	font-weight: bold;
	margin-top: 1.5em;
	margin-bottom: 1em;
	line-height: 1;
}
.loc-title{
    font-size: 1.2em;
    font-weight: bold;
}
.loc-title > small{
	font-size:.8em;
	font-weight:normal;
	margin-left: 1em;
}
.loc-tab{
	list-style: none;
	display: flex;
	flex-flow: row wrap;
	justify-content:flex-start;
}
.loc-tab > li{
	width: auto;
    font-size: .9em;
    border: 1px solid #aaa;
    border-radius: 20px;
    padding: 0 8px;
    margin: 0 7px 7px 0;
}

/* == ブレークポイント ==========================================================*/
@media screen and (max-width: 1100px) {
}

/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	.plan-location {
		margin: 4em 0 0;
	}
	.plan-location .title {
		font-size: 3.2rem;
	}
}

/*
************************************************************************
* ハイシーズン納期
************************************************************************
*/
.delivery-date {
	border-radius: 0.5em;
	border: 1px solid #e3e3e3;
	padding: 1em 2em 1.5em;
}
.delivery-date .title
{
	margin-top:1.0em;
	line-height:1;
}
.delivery-date .title:before{
	content: "";
	display: inline-block;
	vertical-align: -9px;
	background: url(../../../_img/icon/caution.svg) no-repeat;
	width: 30px;
	height: 30px;
	margin-right: 0.7em;
}
.delivery-date .caption
{
	line-height:1;
	margin-top:1.0em;
}
.delivery-date .title > span
{
	font-size:1.8rem;
	font-weight:bold;
}
.delivery-date .caption > p
{
	font-size:1.3rem;
	line-height:1.7;
}

/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	.delivery-date .title{
		margin-top:1.0em;
		line-height:1;
	}
	.delivery-date .title:before{
		vertical-align: -5px;
		width: 1.5em;
		height: 1.5em;
		margin-right: 0.5em;
	}
	
	.delivery-date .caption{
		margin-top:0.8em;
		line-height:1;
	}
	.delivery-date .title > span{
		font-size:1em;
		letter-spacing: -.3px;
	}
	.delivery-date .caption > p{
		font-size:2.0rem;
		line-height:1.7;
	}
}


/*
************************************************************************
* リンクブロック
************************************************************************
*/
.plan-link
{
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	
	margin:-1em;
}
.plan-link > .plan-link-item
{
	width:calc(25% - 2em);
	margin:1em;
}
.plan-link > .plan-link-item:hover
{
	text-decoration:none;
}
.plan-link > .plan-link-item .image
{
	border-radius:0.5em;
	border-radius:0.5em;
	overflow:hidden;
}
.plan-link > .plan-link-item .title
{
	margin-top:1.0em;
	line-height:1;
}
.plan-link > .plan-link-item .title:after
{
	content:"";
	
	display:inline-block;
	
	width:0.5em;
	height:0.5em;
	
	border-right:1px solid #000000;
	border-bottom:1px solid #000000;
	
	transform:rotate(-45deg);
	
	margin-left:0.5em;
	margin-bottom:0.25em;
}
.plan-link > .plan-link-item .caption
{
	line-height:1;
	margin-top:1.0em;
}
.plan-link > .plan-link-item .title > span
{
	font-size:1.8rem;
	font-weight:bold;
}
.plan-link > .plan-link-item .caption > p
{
	font-size:1.3rem;
	line-height:1.7;
}
/* == ブレークポイント ==========================================================*/
@media screen and (max-width: 1100px) {
	.plan-link > .plan-link-item
	{
		width:calc(50% - 2em);
	}
}
/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	.plan-link
	{
		margin:-0.75em;
	}
	.plan-link > .plan-link-item
	{
		width:calc(50% - 1.5em);
		margin:0.75em;
	}
	.plan-link > .plan-link-item:hover
	{
	}
	.plan-link > .plan-link-item .image
	{
	}
	.plan-link > .plan-link-item .title
	{
		margin-top:1.0em;
		line-height:1;
	}
	.plan-link > .plan-link-item .caption
	{
		margin-top:0.8em;
		line-height:1;
	}
	.plan-link > .plan-link-item .title > span
	{
		font-size:2.8rem;
		font-weight:bold;
	}
	.plan-link > .plan-link-item .caption > p
	{
		font-size:2.0rem;
		line-height:1.7;
	}
}

/*
************************************************************************
* おすすめブロック
************************************************************************
*/
.plan-recommend
{

}
.plan-recommend .recommend
{
	float:left;
	width:50%;
}
.plan-recommend .recommend .title
{
	
}
.plan-recommend .recommend .title span
{
	font-size:1.8rem;
	font-weight:bold;
}
.plan-recommend .recommend ul li
{
	margin-bottom:0.2em;
}
.plan-recommend .link
{
	margin-left:50%;
	border-left:1px solid #e3e3e3;
}
.plan-recommend .link a
{
	display:block;
	padding:1.5em;
	
	transition-duration:0.3s;
	transition-property:all;
	transition-timing-function:ease;
}
.plan-recommend .link a:hover
{
	text-decoration:underline;
	opacity: .70;
}
.plan-recommend .link a > span
{
	display:block;
}
.plan-recommend .link a > span:before
{
	content:"";
	
	display:block;
	
	width:5.0em;
	height:5.0em;
	
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
}
.plan-recommend .link a > span.link-faq:before
{
	background-image:url(../../../_img/icon/faq.svg);
}
.plan-recommend .link a > span.link-flow:before
{
	background-image:url(../../../_img/icon/flow.svg);
}
.plan-recommend .link a > span > span
{
	display:block;
	position:absolute;
	
	top:50%;
	left:5em;
	
	width:auto;
	transform:translateY(-50%);
}
.plan-recommend .link a > span .sub
{
	display:block;
}
.plan-recommend .link a > span .main
{
	display:block;
	font-size:1.8rem;
	font-weight:bold;
}
.plan-recommend .link a > span .main:after
{
	font-size:1.4rem;
	
	content:"";
	
	display:inline-block;
	
	width:0.5em;
	height:0.5em;
	
	border-right:1px solid #000000;
	border-bottom:1px solid #000000;
	
	transform:rotate(-45deg);
	
	margin-left:0.5em;
	margin-bottom:0.1em;
	/*
	content:"";
	
	display:block;
	position:absolute;
	top:calc(50% - 0.3em);
	right:-1em;
	
	width:0.6em;
	height:0.6em;
	
	transform:rotate(-45deg) skew(5deg, 5deg);
	
	border-right:1px solid #000000;
	border-bottom:1px solid #000000;

	transition-duration:0.3s;
	transition-property:all;
	transition-timing-function:ease;
	*/
}
/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	.plan-recommend
	{
	}
	.plan-recommend .recommend
	{
		float:none;
		width:100%;
	}
	.plan-recommend .recommend .title
	{
	}
	.plan-recommend .recommend .title span
	{
		font-size:2.8rem;
	}
	.plan-recommend .recommend ul li
	{
		margin-bottom:0.2em;
	}
	.plan-recommend .link
	{
		margin-left:0%;
		border-left:0px solid transparent;
	}
	.plan-recommend .link a
	{
		padding:0em;
		margin-bottom:1.0em;
	}
	.plan-recommend .link a:last-child
	{
		margin-bottom:0.0em;
	}
	.plan-recommend .link a:hover
	{
		text-decoration:underline;
	}
	.plan-recommend .link a > span
	{
	}
	.plan-recommend .link a > span:before
	{
		width:4.0em;
		height:4.0em;
	}
	.plan-recommend .link a > span.link-faq:before
	{
		background-image:url(../../../_img/icon/faq.svg);
	}
	.plan-recommend .link a > span.link-flow:before
	{
		background-image:url(../../../_img/icon/flow.svg);
	}
	.plan-recommend .link a > span > span
	{
		left:4.5em;
	}
	.plan-recommend .link a > span .sub
	{
	}
	.plan-recommend .link a > span .main
	{
		font-size:2.8rem;
	}
	.plan-recommend .link a > span .main:after
	{
		font-size:2.2rem;
		
		content:"";
		
		display:inline-block;
		
		width:0.5em;
		height:0.5em;
		
		border-right:1px solid #000000;
		border-bottom:1px solid #000000;
		
		transform:rotate(-45deg);
		
		margin-left:0.5em;
		margin-bottom:0.1em;
		/*
		content:"";
		
		display:block;
		position:absolute;
		top:calc(50% - 0.3em);
		right:-1em;
		
		width:0.6em;
		height:0.6em;
		
		transform:rotate(-45deg) skew(5deg, 5deg);
		
		border-right:1px solid #000000;
		border-bottom:1px solid #000000;

		transition-duration:0.3s;
		transition-property:all;
		transition-timing-function:ease;
		*/
	}
}
/*
************************************************************************
* 予約ボタンブロック
************************************************************************
*/
.reservation-link
{
	text-align:center;
}
.reservation-link a
{
	display:inline-block;
	padding:2em 0;
	
	border-radius:0.5em;
	border:1px solid;
	
	margin-right:1.5em;
}
.reservation-link a:last-child
{
	margin-right:0.0em;
}
.reservation-link a .label
{
	display:inline-block;
	font-size:1.8rem;
	font-weight:bold;
	line-height:1;
	
	transition-duration:0.3s;
	transition-property:all;
	transition-timing-function:ease;
}
.reservation-link a .label:before
{
	content:"";
	
	display:inline-block;
	
	width:1.1em;
	height:1.1em;
	
	margin-right:0.5em;
	
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
	
	vertical-align: bottom;
}
.reservation-link a.link-reservation
{
	border-color:#9e8876;
	background-color:#9e8876;
	color:#FFFFFF;
	
	width:320px;
}
.reservation-link a.link-reservation .label:before
{
	background-image:url(../../../_img/icon/reservation-w.svg);
}
.reservation-link a.link-reservation:hover
{
	background-color:#FFFFFF;
	color:#9e8876;
}
.reservation-link a.link-reservation:hover .label:before
{
	background-image:url(../../../_img/icon/reservation-g.svg);
}
.reservation-link a.link-inquiry
{
	border-color:#000000;
	background-color:#FFFFFF;
	color:#000000;
	
	width:320px;
}
.reservation-link a.link-inquiry .label:before
{
	background-image:url(../../../_img/icon/mail.svg);
}
.reservation-link a.link-inquiry:hover
{
	background-color:#000000;
	color:#FFFFFF;
}
.reservation-link a.link-inquiry:hover .label:before
{
	background-image:url(../../../_img/icon/mail-w.svg);
}
/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	.reservation-link a
	{
		display:inline-block;
		padding:1.5em 3em;
		
		margin-right:0.0em;
		margin-bottom:1.0em;
		
		width:80%;
	}
	.reservation-link a:last-child
	{
		margin-bottom:0.0em;
	}
	.reservation-link a .label
	{
		font-size:2.8rem;
	}
	.reservation-link a.link-reservation,
	.reservation-link a.link-inquiry
	{
		width:80%;
	}

}
/*
************************************************************************
* プラン一覧に戻る
************************************************************************
*/
.back-to-plan-wrap {
	padding: 50px 0;
}
.back-to-plan
{
	text-align:center;
}
.back-to-plan a
{
	
}
.back-to-plan a:hover
{
	text-decoration:underline;
}
.back-to-plan a .label
{
	display:inline-block;
	font-size:1.5rem;
	font-weight:bold;
	line-height:1;
	
	transition-duration:0.3s;
	transition-property:all;
	transition-timing-function:ease;
}
.back-to-plan a:hover .label
{
	text-decoration:underline;
}
.back-to-plan a .label:before
{
	content:"";
	
	display:inline-block;
	
	width:1.1em;
	height:1.1em;
	
	margin-right:0.5em;
	
	background-position:center center;
	background-repeat:no-repeat;
	background-size:contain;
	background-image:url(../../../_img/icon/list.svg);
	
	vertical-align: bottom;
}
/* == スマートフォンサイズ ==========================================================*/
@media screen and (max-width: 767px) {
	.back-to-plan-wrap {
		border-top: 1px solid #e3e3e3;
		border-bottom: 1px solid #e3e3e3;
		padding: 6.6666vw 0;
	}
	.back-to-plan a .label
	{
		font-size:2.4rem;
	}
}