@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@200..900&display=swap');

/* ---------------------------
	共通：body
--------------------------- */
body {
	font-family: "Yu Gothic", "YuGothic", "Hiragino Sans", sans-serif;
	font-weight: 400;
	color: var(--text-color);
	font-size: 1rem;
	line-height: 1.6;
}
/* --------------------------------------
	※既存コード
	https://aerahome.com/eraberu/
	ページPCメニュー非表示用
----------------------------------------*/
#eraberu #head nav.pcNavi ul{
 	display: none;
}

/* --------------------------------------
	※既存コード
	ヘッダー、フッター、カタログ、SNSシェア
----------------------------------------*/
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix { display: inline-table; }

/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }

.clearfix { display: block; }
/* End hide from IE-mac */

/* ---------------------------
	共通：カラー
--------------------------- */
:root {
	--white-color: #ffffff; /* 共通：白色*/
	--text-color: #333333; /* 本文テキストカラー：※既存ページのテキストカラーと同色*/
	--point-accent-color: #8B5E3C; /* セクション-ポイント：アクセントカラー（ブラウン系）*/
	--benefit-accent-color: #A6714E; /* セクション-ベネフィット：アクセントカラー（明るめのブラウン）*/
	--benefit-bg-color: #F3EFEA;  /* セクション-ベネフィット：背景カラー（暖色系ベージュ）*/
	--plan-bg-color: #EFE7DD;  /* セクション-プラン：背景カラー（薄いブラウンベージュ）*/
	--plan-accent-color: #8B5E3C; /* セクション-プラン：アクセントカラー（共通で統一）*/
}

/* ---------------------------
	共通：セクション
--------------------------- */
.section {
	padding: 120px 0;
}
@media screen and (max-width: 640px){
	.section {
		padding: 56px 0;
	}
}

/* ---------------------------
	共通：コンテナ
--------------------------- */
.container {
	max-width: 1062px;
	padding: 0 16px;
	margin: 0 auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

/* ---------------------------
	共通:改行
--------------------------- */
/* SP版のみ改行 */
br.sp-br {
	display: none;
}
@media screen and (max-width: 640px){
	br.sp-br {
		display: block;
	}
	/* PC版のみ改行 */
	br.pc-br {
		display: none;
	}
}

/* ---------------------------
	H2見出し
--------------------------- */
h2.head {
	font-size: 2.5rem;
	line-height: 1.6;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-align: center;
	margin-bottom: 56px;
}

@media screen and (max-width: 640px){
	h2.head {
		font-size: 1.5rem;
		margin-bottom: 40px;
	}
}

h2.head--intro {
	text-align: left;
}

@media screen and (max-width: 640px){
	h2.head--intro {
		margin-bottom: 0;
	}
}

h2.head--plan {
	position: relative;
	margin-bottom: 80px;
}

h2.head--plan::after {
	content: '';
	width: 54px;
	height: 8px;
	background-color: var(--plan-accent-color);
	display: inline-block;
	position: absolute;
	bottom: -24px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
}

@media screen and (max-width: 640px){
	h2.head--plan {
		position: relative;
		margin-bottom: 48px;
	}

	h2.head--plan::after {
		width: 27px;
		height: 4px;
		bottom: -8px;
	}
}

/* ---------------------------
	FV
--------------------------- */
.fv {
	width: 100%;
	height: auto;
}
.fv__img {
	width: 100%;
	height: auto;
}

/* ---------------------------
　セクション：イントロ
--------------------------- */
.intro__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 59px;
}
@media screen and (max-width: 640px){
	.intro__content {
		gap: 24px;
	}
}

.intro__block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 24px;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

@media screen and (max-width: 640px){
	.intro__block {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		    -ms-flex-direction: column-reverse;
		        flex-direction: column-reverse;
	}
}

.intro__block--column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 40px;
}

.intro__img-wrap {
	max-width: 525px;
	width: 100%;
}

.head--intro,
.intro__img-wrap {
	-webkit-box-flex: 50%;
	    -ms-flex: 50%;
	        flex: 50%;
}

@media screen and (max-width: 640px){
	.head--intro,
	.intro__img-wrap {
		-webkit-box-flex: 100%;
		    -ms-flex: 100%;
		        flex: 100%;
	}
}

.intro__img {
	width: 100%;
	height: auto;
	border-radius: 24px;
}

@media screen and (max-width: 640px){
	.intro__img-wrap {
		min-width: initial;
	}
	.intro__img {
		border-radius: 16px;
	}
}

.intro__text {
	font-size: 1.25rem;
	line-height: 1.8;
}

@media screen and (max-width: 640px){
	.intro__text {
		font-size: 1rem;
	}
}
/* ---------------------------
　セクション：ポイント
--------------------------- */
section.point {
	background-color: var(--white-color);
}
.point__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 80px;
}

@media screen and (max-width: 640px){
	.point__content {
		gap: 64px;
	}
}

.point__block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 40px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.point__block--reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}

@media screen and (max-width: 640px){
	.point__block {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
}

.point__desc,
.point__img-wrap {
	-webkit-box-flex: 50%;
	    -ms-flex: 50%;
	        flex: 50%;
}
@media screen and (max-width: 640px){
	.point__desc,
	.point__img-wrap {
		-webkit-box-flex: 100%;
		    -ms-flex: 100%;
		        flex: 100%;
	}
}

.point__img-wrap {
	max-width: 505px;
}

.point__img {
	width: 100%;
	height: auto;
	border-radius: 24px;
}

@media screen and (max-width: 640px){
	.point__img-wrap {
		max-width: initial;
	}
	.point__img {
		border-radius: 16px;
	}
}

/* H3見出し */
.point__head-wrap {
	margin-bottom: 16px;
}

.point__head-ornament {
	color: var(--point-accent-color);
	font-weight: 700;
	letter-spacing: 0;
}

.point__head-point {
	font-size: 1rem;
	line-height: 1;
	text-transform: capitalize;
}

@media screen and (max-width: 640px){
	.point__head-point {
		font-size: 0.875rem;
	}
}

.point__head-num {
	font-size: 2rem;
	line-height: 1;
}

@media screen and (max-width: 640px){
	.point__head-num {
		font-size: 1.5rem;
	}
}

.point__head {
	background-color: var(--point-accent-color);
	color: var(--white-color);
	padding: 8px 16px;
	border-radius: 4px;;
	width: -webkit-fit-content;;
	width: -moz-fit-content;;
	width: fit-content;
	font-size: 1.25rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

@media screen and (max-width: 640px){
	.point__head {
		font-size: 1.125rem;
	}
}

.point__caption {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--point-accent-color);
	margin-bottom: 16px;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

@media screen and (max-width: 640px){
	.point__caption {
		font-size: 1.25rem;
	}
}

.point__detail {
	font-size: 1rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
}
/* ---------------------------
　セクション：ベネフィット　
　※年中快適で経済的！
--------------------------- */
span.head-benefit {
	color: var(--benefit-accent-color);
	font-weight: 700;
	letter-spacing: 0.05em;
}

section.benefit {
	background-color: var(--benefit-bg-color);
}

.benefit__content {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background-color: var(--white-color);
	padding: 40px 32px;
	border-radius: 24px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 16px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

@media screen and (max-width: 640px){
	.benefit__content {
		padding: 24px 16px;
		gap: 8px;
	}
}

.benefit__block {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	border-radius: 24px;
	border: solid var(--benefit-accent-color) 2px;
	padding: 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 32px;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.benefit__block--reverse {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}

@media screen and (max-width: 640px){
	.benefit__block {
		padding: 16px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 16px;
		border-radius: 16px;
	}
}

.benefit__img-wrap {
	max-width: 356px;
	width: 100%;
}

@media screen and (max-width: 640px){
	.benefit__img-wrap {
		max-width: initial;
	}
}

.benefit__img {
	width: 100%;
	height: auto;
	border-radius: 16px;
}

.benefit__desc {
	width: 100%;
}

h3.benefit__head {
	font-size: 1.5rem;
	line-height: 1.6;
	letter-spacing: 0.05em;
	font-weight: 700;
	color: var(--benefit-accent-color);
	margin-bottom: 8px;
}

@media screen and (max-width: 640px){
	h3.benefit__head {
		font-size: 1.125rem;
	}
}

/* ---------------------------
　セクション：プラン
--------------------------- */
section.plan {
	background-color: var(--plan-bg-color);
}

.plan__content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 40px;
}

.plan__block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: stretch;
	    -ms-flex-align: stretch;
	        align-items: stretch;
}

.plan__desc {
	background-color: var(--white-color);
	max-width: 530px;
	width: 100%;
}

.plan__img-wrap {
	width: 100%;
}

/* レスポンシブ調整用〜1030px */
@media (max-width: 1030px) {
	.plan__block {
	  -webkit-box-orient: vertical;
	  -webkit-box-direction: normal;
	      -ms-flex-direction: column;
	          flex-direction: column;
	  -webkit-box-align: center;
	      -ms-flex-align: center;
	          align-items: center;
	}
	.plan__desc,
	.plan__img-wrap {
	  width: 100%;
	  max-width: 640px;
	}
}

@media screen and (max-width: 640px){
	  .plan__desc,
	  .plan__img-wrap {
		max-width: initial;
	  }
}

.plan__img {
	width: 100%;
	height: auto;
}

.plan__price-desc {
	padding: 24px 40px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 18px;
}

@media screen and (max-width: 640px){
	.plan__price-desc {
		padding: 32px 24px;
		gap: 24px;
	}
}

.plan__head {
	background-color: var(--plan-accent-color);
	padding: 12px 16px;
	text-align: right;
	color: var(--white-color);
	text-transform: uppercase;
}

/* SP版用 */
.plan__head--sp {
	display: none;
	width: 100%;
	max-width: 640px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

/* レスポンシブ調整用 */
@media (max-width: 1030px) {
	/* PC版非表示 */
	.plan__head--pc {
		display: none;
	}
	/* SP版表示 */
	.plan__head--sp {
		display: block;
	}
}

.plan__head-plan {
	font-weight: 700;
	font-size: 0.875rem;
	margin-right: 8px;
	line-height: 1;
}

@media screen and (max-width: 640px){
	.plan__head-plan {
		font-size: 0.875rem;
		margin-right: 4px;
	}
}

.plan__head-type {
	font-weight: 700;
	font-size: 1.875rem;
	margin-right: 8px;
	line-height: 1;
}

@media screen and (max-width: 640px){
	.plan__head-type {
		font-size: 1.5rem;
		margin-right: 8px;
		line-height: 1;
	}
}

.plan__price-detail {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.plan__price-head {
	font-size: 0.75rem;
	line-height: 1;
	margin-bottom: 8px;
}

.plan__price-num {
	font-size: 1.875rem;
	line-height: 1;
	font-weight: 700;
}

.plan__price-yen {
	font-size: 1.25rem;
	line-height: 1;
	font-weight: 700;
}

.plan__price-tax {
	font-size: 0.875rem;
	line-height: 1;
	font-weight: 700;
}

.plan__site-area {
	font-size: 1.375rem;
	color: var(--white-color);
	padding: 8px 24px;
	border-radius: 50px;
	background-color: var(--plan-accent-color);
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
}

.plan__site-area-num {
	font-weight: 700;
	line-height: 1;
}

.plan__site-area-unit {
	font-weight: 400;
	line-height: 1;
}

.plan__ground-plan-img-wrap {
	max-width: 450px;
	width: 100%;
}

.plan__ground-plan-img {
	width: 100%;
	height: auto;
}

.plan__more {
	text-align: right;
}

.plan__more-text::after {
	content: "";
	background-image:  url('../images/arrow3.png');
    background-position: center;
    background-size: contain;
    display: inline-block;
    width: 16px;
    height: 12px;
}

/* レスポンシブ調整用 */
@media (max-width: 1030px) {
	ul.plan__caption-list {
		max-width: 640px;
		margin: 0 auto;
	}
}

li.plan__caption-list-item {
	text-indent: -1em;
   	padding-left: 1em;
	font-size: 0.875rem;
	line-height: 1.6;
}

li.plan__caption-list-item:not(:last-child) {
	margin-bottom: 4px;
}

li.plan__caption-list-item::before {
	content:"※";
}

.plan__caption {
	margin-top: 24px;
}

.fv {
	position: relative;
	display: inline-block;
	width: 100%;
	text-align: center;
}
.fv__text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #000;
	font-size: 2.5rem;
	line-height: 1.4;
	font-weight: bold;
	z-index: 2;
	padding: 1em;
	white-space: pre-line;
	width: 50%; 
	box-sizing: border-box;
	background-color:rgb(255, 255, 255, 0.85);
	border-top:5px solid #B60813;
	border-bottom:5px solid #B60813;
}
@media (max-width: 640px) {
	.fv__text {
	font-size: 1.6rem;
	width: 90%; 
	padding: 0.5em;
	}
}
.bubbleBox {
	margin: 0 auto;
	width: 950px;
	text-align: center;
}
.bubbleBox .bubble {
	float: left;
	margin: 0 18px 0 0;
	width: 200px;
	height: 255px;
	background-image: url(./images/bubble.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: top;
	display: grid;
	place-items: center;
}
.bubbleBox .bubble:last-child {
	margin: 0;
}
.bubbleBox .bubble div {
	margin: -10px 0 0;
	width: 100%;
	font-size: 22px;
	line-height: 40px;
	font-weight: 700;
	text-align: center;
	color: #B60813;
}

/*** SP ***/
@media screen and (max-width: 640px) {
	.bubbleBox {
	margin: 0 auto;
	width: 94%;
	text-align: center;
	}
	.bubbleBox .bubble {
	float: left;
	margin: 0 0 -8vw;
	width: 42vw;
	height: 42vw;
	background-image: url(./images/bubble.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: top;
	display: grid;
	place-items: center;
	}
	.bubbleBox .bubble:last-child {
	margin: 0;
	}
	.bubbleBox .bubble:nth-child(2n) {
	float: right;
	}
	.bubbleBox .bubble div {
	margin: -1vw 0 0;
	width: 100%;
	font-size: 4.2vw;
	line-height: 150%;
	font-weight: 700;
	text-align: center;
	color: #B60813;
	}
}


#merit .other {
	margin: 0 auto;
	width: 822px;
}
#merit .other li {
	float: left;
	margin: 0 9px 0 0;
	padding: 20px 0 10px;
	width: 268px;
	height: 163px;
	font-size: 22px;
	line-height: 30px;
	text-align: center;
	font-weight: 700;
	border-radius: 36px;
	border: 2px solid #B60813;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

#merit .other li:last-child {
	padding: 33px 0 10px;
}
#merit .other li:last-child {
	margin: 0;
}
#merit .other li img {
	margin: 10px auto 0;
	width: 162px;
	height: auto;
}

@media screen and (max-width: 640px) {
	#merit .other {
	width: 100%;
	}
	#merit .other li {
	float: none;
	margin: 0 0 4vw;
	padding: 3vw 0 3vw;
	width: 100%;
	height: auto;
	font-size: 20px;
	line-height: 150%;
	text-align: center;
	font-weight: 700;
	border-radius: 18px;
	border: 2px solid #B60813;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}
	#merit .other li:last-child {
	padding: 3vw 0 3vw;
	}
	#merit .other li:last-child {
	margin: 0;
	}
	#merit .other li img {
	margin: 0 -15% 0 5%;
	width: 40%;
	height: auto;
	vertical-align: middle;
	}
	#merit .other li:nth-child(2) img {
	margin: 2vw -10% 2vw 5%;
	width: 33%;
	}
}