@charset "UTF-8";
/* CSS Document */

/* ==========================================================================
   base / utility
   谷山駅前（アルファステイツ）から移植したページ。
   庚午中には n_common/css/style.css・anim.css が無いため、
   本ページで必要な共通クラスのみをここに持たせている（special/kaidoki と同じ方式）。
   ========================================================================== */
#pageWrap {
	padding: 60px 0 0;
	font-family: 'YakuHanMP', 'Noto Serif JP', serif;
}
#pageWrap h2, #pageWrap h3, #pageWrap h4, #pageWrap h5 {
	font-weight: normal;
}
#pageWrap *, #pageWrap *:before, #pageWrap *:after {
	box-sizing: border-box;
}
#pageWrap img {
	width: 100%;
	max-width: none;
}
#pageWrap a {
	transition: 0.3s;
}
#pageWrap a:hover {
	opacity: 0.6;
	text-decoration: none;
}

.flex-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.wrapWidth {
	width: 100%;
	margin: 0 auto;
}
.boxWidth {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}
br.brSp {
	display: none;
}
.engTxt {
	font-family: 'Cinzel', serif;
	letter-spacing: 0.2em;
}
.capImg {
	position: relative;
}
.capImg::after {
	content: "image";
	font-size: 10px;
	position: absolute;
	right: 0.3em;
	bottom: 0.1em;
	color: #fff;
}

/* スクロールアニメーション（js で .active を付与） */
.f-In {
	opacity: 0;
	transition: 1s ease-in;
	transform: translateY(30px);
}
.f-In.active {
	transform: translateY(0px);
	opacity: 1;
}

@media screen and (max-width: 959px) {
	#pageWrap {
		padding: 30px 0 0;
	}
}
@media screen and (max-width: 599px) {
	br.brSp {
		display: inline;
	}
}

/* ==========================================================================
   page
   ========================================================================== */

body:before {
     /*opacity: 0; */
}
.notes-area {
    margin: 0 auto 0;
}

#pageWrap {
	padding: 0;
	text-align: left;
	/*font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
}
#pageWrap .boxWidth {
max-width: 1100px;
}


.boxWidth {
	container-type: inline-size;
}
#sec00 {
	.h3-00 {
		color: #004683;
		font-size: clamp(13px, 6.2cqw, 66px);
		text-align: center;
		line-height: 1.3;
		padding: 0.5em 0;
	}
}
#sec01 {
	background-color: #004683;
	color: #fff;
}
#sec01 .h3-01 {
	font-size: clamp(13px, 5.2cqw, 66px);
	letter-spacing: 0.1em;
	text-align: center;
	padding: 0.6em 0;
	line-height: 1.3;
	color: #fff000;
	
}
#sec01 .miryoku {}
#sec01 .miryoku h4 {
	background-color: #fff;
	border: #fff000 solid 3px;
	text-align: center;
	color: #004683;
	font-size: clamp(18px, 2.8cqw, 28px);
	position: relative;
	span {
		position: absolute;
		display: block;
		background-color: #fff000;
		width: 5em;
		height: 100%;
		line-height: 1;
		i {
			font-style: normal;
			font-size: 130%;
			display: inline-block;
			position: relative;
			top: 0.1em;
			margin-left: 0.2em;
			
		}
	}
}
#sec01 .miryoku p {
	font-size: clamp(13px, 2cqw, 21px);
	text-align: center;
	padding: 0.5em 0 1.5em;
}

.btBox {
	padding: 3% 0;
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
	a {
		font-size: clamp(13px, 2cqw, 21px);
		line-height: 1.4;
		display: block;
		width: 48%;
		background-color: #d6d7d7;
		color: #000;
		border-radius: 6px;
		box-shadow: 0px 3px 10px rgba(0,0,0,0.5);
		text-align: center;
		padding: 0.5em 1em;
		position: relative;
		cursor: pointer;
		&::after {
			content: "";
			position: absolute;
			right: 3%;
			top: calc(50% - 0.6em);
			width: 1.3em;
			height: 1.3em;
			background-image: url("../images/sank.svg");
			background-size: cover;
		}
	}

}

#sec02 .btBox .bt01 {
		background-color: #c6bf8a;
		color: #004683;
	}
#sec03 .btBox .bt02 {
		background-color: #c6bf8a;
		color: #004683;
	}



#sec02 {
	padding-bottom: 0%;
}
#sec02 .tit02 {
	background-color: #004683;
	color: #fff;
	padding: 30px 0;
}
#sec02 .tit02 h3 {
	text-align: center;
	font-size: clamp(13px, 5cqw, 60px);
	line-height: 1.3;
}
#sec02 .tit02 h4 {
	text-align: center;
	font-size: clamp(13px, 3cqw, 32px);
	line-height: 1.4;
}


#sec02 .planBox,
#sec03 .planBox{
	padding: 5% 0;
	max-width: 1100px;
}
#sec03 .planBox{
	padding: 2% 0 0;
}
#sec02 .planBox {
	padding-top: 20px;
}
#sec02 .planBox h4 {
	font-size: clamp(13px, 4cqw, 42px);
	color: #9a2024;
	text-align: center;
	padding: 0.7em 0;
}
#sec02 .boxA,
#sec04 .boxA{
	padding-bottom: 2%;
}
#sec02 .boxA .flex,
#sec04 .boxA .flex{
	flex-direction: row-reverse;
}
#sec02 .planBox .flex {
	padding-top: 30px;
}
#sec02 .planBox .flex .zumenBox,
#sec04 .planBox .flex .zumenBox{
	width: 67%;
	max-width: 730px;
}
#sec02 .planBox .flex .items,
#sec04 .planBox .flex .items{
	width: 30%;
	
}
#sec02 .planBox .flex .items .itemBox{
	border: #004683 solid 1px;
	padding: 15px;
	margin-top: 30px;
	container-type: inline-size;
	position: relative;
	container-type: inline-size;
	.point {
		position: absolute;
		left: 0;
		top: 0;
		background-color: #004683;
		color: #fff000;
		line-height: 1;
		display: block;
		padding: 0.3em 1em .3em;
		z-index: 1;
		span {
			font-size: 200%;
		}
	}
}
#sec02 .planBox .flex .items .itemBox p,
#sec04 .planBox .flex .items .itemBox p{
	font-size: 18px;
	line-height: 1.4;
	padding-top: 0.5em;
	font-size: clamp(13px, 5.7cqw, 18px);
}
#sec02 .planBox .btBox,
#sec03 .planBox .btBox{
	container-type: inline-size;
	padding-top: 20px;
}
#sec02 .planBox .btBox a,
#sec03 .planBox .btBox a{
	display: block;
	background-color: #717071;
	border-radius: 999px;
	text-align: center;
	color: #fff000;
	font-size: 2.6cqw;
	padding: 0.5em;
	margin: 0 auto;
	width: 100%;
	max-width: 500px;
	box-shadow: none;
	
}
#sec03 .planBox .btBox a{
	margin-bottom: 10px;
}
#sec02 .planBox .btBox a::after,
#sec03 .planBox .btBox a::after{
	content: "　";
	width: 1em;
	height: 1em;
	background-image: url("../images/arw.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
	margin-left: 0.3em;
}
#sec02 .planBox .btBox a span,
#sec04 .planBox .btBox a span{
	font-size: 75%;
	color: #fff;
}

.bnnOmr {
	background-color: #fff6df;
	align-items: center;
}
.bnnOmr .imgBox {
	width: 43%;
	max-width: 470px;
}
.bnnOmr .txtBox {
	width: 57%;
	padding: 0px 50px;
container-type: inline-size;
}
.bnnOmr .txtBox dl {
	
	text-align: center;
}
.bnnOmr .txtBox dt {
	color: #004683;
	font-size: 6.2cqw;
	
}
#.bnnOmr .txtBox dd {
	font-size: 4.4cqw;
	line-height: 1.4;
}
.bnnOmr .txtBox a {
	display: block;
	width: 80%;
	margin: 10px auto 5px;
	background: #004F8A;
background: linear-gradient(270deg, rgba(0, 79, 138, 1) 0%, rgba(0, 142, 190, 1) 50%, rgba(0, 79, 138, 1) 100%);
	color: #fff;
	font-size: 4.4cqw;
	border-radius: 20px;
	text-align: center;
	padding: 0.2em;
}
.bnnOmr .txtBox a::after {
	content: "　";
	width: 1em;
	height: 1em;
	background-image: url("../images/arw02.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100%;
	margin-left: 0.3em;
}
.bnnOmr .txtBox .caption {
	font-size: 12px;
	line-height: 1.3;
}

#sec03 {
	position: relative;
	display: none;
}
#sec03 .tit02 {
	h3 {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%,-50%);
		font-size: clamp(13px, 4.6cqw, 60px);
		color: #fff;
		line-height: 1.3;
		padding-left: 3%;
	}
}
#sec03 h4 {
	font-size: clamp(13px, 3.2cqw, 40px);
	color: #9a2024;
	text-align: center;
	padding: 1em 0;
	position: relative;
	&::before {
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		display: block;
		width: calc((100cqw - 65cqw) / 2);
		height: 1px;
		background-color:#9a2024;
	}
	&::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		display: block;
		width: calc((100cqw - 65cqw) / 2);
		height: 1px;
		background-color:#9a2024;
	}
}
#sec03 .bg {
	background-color: #ffedc0;
}

#sec03 .flex {
	gap: 20px 0;
	.box {
		display: flex;
justify-content: center;
align-items: center;
		width: 49%;
		background-color: #fff;
		border: #9a2024 solid 1px;
		container-type: inline-size;
		position: relative;
		
		p {
			display: flex;
justify-content: center;
align-items: center;
			color: #9a2024;
			font-size: clamp(13px, 5.2cqw, 32px);
			text-align: center;
			line-height: 1.3;
			height: 5em;
		}
		.reason {
			position: absolute;
			left: 0;
			top: 0;
			background-color: #9a2024;
			color: #fff;
			font-size: 3.2cqw;
			text-align: center;
			line-height: 1.2;
			width: 16cqw;
			height: 16cqw;
			display: flex;
justify-content: center;
align-items: center;
			border-radius: 100%;
			transform: translate(-15%,-15%);
			span {
				display: block;
				font-size: 140%;
			}
		}
	} 
}
#sec03 .arw05 {
	padding: 30px 0;
	width: 20%;
	max-width: 150px;
	margin:  auto;
}

#sec03 .h3-02 {
	font-size: clamp(13px, 3.2cqw, 40px);
	color: #9a2024;
	text-align: center;
}

#sec03 .flex02 {
	max-width: 1000px;
	container-type: inline-size;
	padding: 30px 0 0;
	.box {
		
		width: 48cqw;
		height: 48cqw;
		background: #F08E76;
background: linear-gradient(180deg, rgba(240, 142, 118, 1) 0%, rgba(246, 193, 90, 1) 50%);
		border-radius: 100%;
		border: #9a2024 solid 1px;
		container-type: inline-size;
		
		dl {
			width: 100%;
			height: 100%;
			text-align: center;
			color: #fff;
			padding: 10%;
			display: flex;
justify-content: center;
align-items: center;
			flex-wrap: wrap;
			dt {
				font-size: 7.5cqw;
				line-height: 1;
				border-bottom: #fff solid 1px;
				padding-bottom: 4cqw;
				width: 100%;
				span {
					display: block;
					font-size: 280%;
					i {
						font-style: normal;
						font-size: 50%;
					}
				}
			}
			dd {
				font-size: 7.5cqw;
			}
		}
	}
}

.linkBox {
	container-type: inline-size;
	padding: 50px 0;
}
.linkBox.padB {

}
 .linkBox a {
    display: block;
    width: 100%;
    background-color: #a40000;
    color: #fff100;
    font-size: 2.8cqw;
	 font-size: clamp(13px, 4.3cqw, 28px);
    border-radius: 999px;
    text-align: center;
    padding: 0.4em;
	 position: relative;
}
 .linkBox a::after {
	 position: absolute;
	 right: 1em;
	 top: 0.75em;
    content: "";
    width: 1em;
    height: 1em;
    background-image: url(../images/arw03.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100%;
}


@media screen and (max-width: 959px) {


}
@media screen and (max-width: 599px) {
	
	#sec01 .miryoku h4 {
		text-align: center;
		font-size: clamp(18px, 2.8cqw, 28px);
		position: relative;
		span {
			position: static;
			display: block;
			background-color: #fff000;
			width: 100%;
			height: auto;
			line-height: 1;
			padding-bottom: 0.3em;
			i {

			}
		}
	}
	.btBox {
		padding: 30px 0;
	}
	#sec02 .planBox h4 {
    font-size: clamp(13px, 5.4cqw, 22px);
	}
	#sec01 .h3-01,#sec01 .h3-02 {
   
	}
	#sec01 .flex {
    width: 90%;
    max-width: 100%;
}
	#sec01 .flex .itemBox {
    width: 100%;
	}
	#sec01 .flex .itemBox h4 {
		font-size: clamp(16px, 3.6cqw, 24px);
	}
	#sec01 .flex02 .txtBox {
		order: -1;
		width: 90%;
		margin: 0 auto;
	}
	#sec01 .flex02 .imgL {
		width: calc(21% * 1.5);
	}
	#sec01 .flex02 .imgR {
		width: calc(20.5% * 1.5);
	}
	#sec02 .boxA .flex, #sec04 .boxA .flex {
    flex-direction:column
	}
	#sec02 .planBox .flex .zumenBox,
	#sec04 .planBox .flex .zumenBox{
		width: 100%;
	}
	#sec02 .planBox .flex .items,
	#sec04 .planBox .flex .items,
	#sec04 .planBox .flex2{
		width: 90%;
		max-width: 350px;
		margin: 0 auto;
	}
	#sec02 .planBox .flex .items .itemBox {
    margin-top: 15px;

}
	#sec02 .planBox .flex .items .itemBox .imgBox {
		width: 100%;
	}
/*	#sec02 .planBox .flex .items .itemBox p, 
	#sec04 .planBox .flex .items .itemBox p,
	#sec04 .planBox .flex .itemBox p,
	#sec04 .planBox .flex2 .itemBox p{
		width: 100%;
    font-size: 5cqw;
    padding: 0.5em 0 0;
		line-height: 1.3;
}*/
	#sec02 .planBox .flex .items .itemBox p, #sec04 .planBox .flex .items .itemBox p {
    line-height: 1.4;
    padding-top: 0.5em;
    font-size: clamp(13px, 4.7cqw, 15px);
}
	#sec02 .planBox .btBox a, #sec03 .planBox .btBox a {
    font-size: 4.8cqw;
}
	#sec02 .planBox .btBox a span, #sec03 .planBox .btBox a span {
    font-size: 75%;
		display: block;
}
	.bnnOmr {
		padding-top: 20px;
	}
	.bnnOmr .imgBox {
		width: 70%;
		margin: 0px auto;
	}
	.bnnOmr .txtBox {
		width: 100%;
		padding: 20px;
	}
	#sec03 .h3Box {
    position: absolute;
    top: 36%;
    right: 5%;
    width: 90%;
    height: 64%;
}
	#sec03 .h3Box h3 {
    width: 80%;
}
	#sec03 .h3Box p {
    text-align: justify;
    font-size: 3.8cqw;
    padding-top: 1.5em;
    line-height: 2.0;
}
	#sec03 .h3Box p br {
		display: none;
	}
	#sec03::after {
    right: 0.5em;
    bottom: 62%;
    font-size: 10px;
}

	.bnnOmr .txtBox a {
    width: 100%;
    font-size: 5.4cqw;
		padding: 0.3em;
}
	.bnnOmr .txtBox dd {
		font-size: 4.8cqw;
	}
	.linkBox {
		container-type: inline-size;
		padding: 20px 0;
	}
	#sec03 .tit02 h3 {
    left: 0%;
    top: 9%;
    transform: translate(0%, 0%); 
    font-size: clamp(13px, 6.6cqw, 60px);
		padding-left: 0;
    width: 100%;
    text-align: center;
  }
	#sec03 h4 {
    font-size: clamp(13px, 5.2cqw, 40px);
	}
	#sec03 h4::before, #sec03 h4::after {
		display: none;
	}
	#sec03 .flex {
		width: 80%;
	}
	#sec03 .flex .box {
		width: 100%;
		}
	#sec03 .flex .box .reason {
		font-size: 4.6cqw;
		width: 22cqw;
		height: 22cqw;
		transform: translate(-30%, -20%);
	}
	#sec03 .h3-02 {
		font-size: clamp(13px, 5.6cqw, 40px);
	}
	#sec03 .flex02 {
    padding: 10px 0 0;
}
	#sec03 .arw05 {
    padding: 20px 0 10px;
    width: 15%;
    max-width: 100px;
    margin: auto;
	}
	.linkBox a {
		font-size: clamp(13px, 4.8cqw, 28px);
	}
	btBox a:visited {
		color: #555;
	}




}
	

/* ==========================================================================
   庚午中 Aタイプ
   ========================================================================== */
#sec02 .planBox .flex .zumenBox .mark {
	max-width: 628px;
	margin: 10px auto 0;
}
#sec02 .planBox .flex .zumenBox .zumenImg {
	position: relative;
	max-width: 560px;
	margin: 0 auto;
}
#sec02 .planBox .flex .zumenBox .zumenImg > img:first-child {
	display: block;
}
/* 間取り図上のポイント番号（位置は各imgの --x / --y で指定。番号の中心座標を間取り図に対する%で持つ） */
#pageWrap #sec02 .planBox .flex .zumenBox .zumenImg .num {
	position: absolute;
	left: var(--x);
	top: var(--y);
	width: 8%;
	transform: translate(-50%, -50%);
}
#sec02 .planBox .flex .items .itemBox .imgBox {
	aspect-ratio: 3 / 2;
	overflow: hidden;
}
#sec02 .planBox .flex .items .itemBox .imgBox img {
	display: block;
	height: 100%;
	object-fit: cover;
}
#sec03 .flex02 {
	justify-content: center;
}

/* まとめ（Aタイプ実物2部屋の見学 → 来場予約） */
.matome {
	padding-top: 50px;
	text-align: center;
}
.matome__lead {
	color: #004683;
	font-size: clamp(16px, 2.4vw, 26px);
	font-weight: bold;
	line-height: 1.7;
}
.matome .linkBox {
	padding-top: 20px;
}

/* 2026/10/19 「ゆとりある生活が叶う間取りは、」のAタイプ: 円→角丸の四角にして文字を大きく、白文字が読めるよう背景を濃く */
#sec03 .flex02 .box {
	width: 90cqw;
	max-width: 520px;
	height: auto;
	border-radius: 12px;
	background: linear-gradient(180deg, #c8502f 0%, #9a2024 100%);
}
#sec03 .flex02 .box dl {
	padding: 7% 6%;
}
#sec03 .flex02 .box dl dt {
	font-size: 6.5cqw;
	padding-bottom: 3cqw;
}
#sec03 .flex02 .box dl dd {
	font-size: 6.5cqw;
	line-height: 1.6;
	padding-top: 3cqw;
}
