
/* ////////////// RESET //////////////////////////////////////////////// */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	line-height: 0;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

ul, ol {
	list-style: none;
}

input, select {
	vertical-align: middle;
}




/* ////////////// BASE //////////////////////////////////////////////// */

html {
	height: 100%;
	font-size: 62.5%;
}

body {
	height: 100%;
	background: #FFF;
}

section {
	display: block;
}


/* ------- TEXT ---------------------------------------------*/

h1, h2, h3, h4, p, li, dt, dd, span, strong, em, a, label, input, select, button {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W6";
}

h1 {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

h2, h3 {
	width: 92%;
	max-width: 1000px;
	margin: 0 auto 5%;
	text-align: center;
}

h3 {
	margin-bottom: 5%;
}

h4 {
	font-size: 2.4rem;
	line-height: 1.5;
	color: #A64A4F;
	text-align: center;
	margin: 5% 0 6%;
}

h5 {
	font-family: 'Noto Serif JP', serif;
	font-size: 2.6rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 0.1rem;
	color: #A64A4F;
	margin-bottom: 4%;
}

h5 span {
	display: inline-block;
	line-height: 1.5;
}

p, a {
	font-size: 1.6rem;
	line-height: 2.0;
}

p.exp {
	text-align: center;
}

p.concept {
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	line-height: 1.5;
	color: #A64A4F;
	margin-left: 15px;
}

p.concept span {
	display: inline-block;
	line-height: 1.5;
}

p.copy {
	color: #FFF;
	font-family: 'Manrope', sans-serif;
	font-size: 1.5rem;
	line-height: 1.0;
	background: #196ca3;
}

p.error {
	color: #F41D20;
	background: #FBE8E1;
	margin-top: 10px;
	padding: 5px 10px;
}

p.error:empty {
	display: none;
	background-color: #FFFFFF !important;
	margin: 0;
	padding: 0;
	line-height: 0;
}

p.tel {
	font-size: 3.0rem;
	font-family: 'Manrope', sans-serif;
	font-weight: bold;
}

p.tel a{
	pointer-events: none;
	text-decoration: none;
	color: black;
	font-size: 3.0rem;
	font-family: 'Manrope', sans-serif;
	font-weight: bold;
}

p.link a {
	text-decoration: none;
}

a {
	color: #00958F;
	text-decoration: underline;
}

a:hover, a:active {
	color: #A64A4F;
	text-decoration: none;
}

br.spbr {
	display: none;
}

br.padbr {
	display: none;
}

.img_sp{
	display: none;
}

div.notes{
	width: 100%;
	max-width: 1200px;
	margin: 50px auto 30px;
	padding: 50px;
	font-size: 1.7rem;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W6";
	text-align: center;
	line-height: 2.3;
	box-sizing: border-box;
	/* border: 10px solid #F4F2EF; */
	border: 10px solid #ffcccc;
	color: #d62b1d;
	/* background: #F4F2EF; */
	background: #FFF;
}

div.notes span{
	font-size: 2.8rem;
	font-weight: bold;
}

div.notes .holding-event{
	margin-top: 30px;
	line-height: 2.0;
}

div.notes .holding-event .btn_junp_event{
	display: block;
	position: relative;
	width: 50%;
	height: 40px;
	margin: 10px auto 0;
	text-decoration: none;
	background-color: #d62b1d;
	color: #fff;
	box-sizing: border-box;
	border-radius: 10px;
	cursor: pointer;
}

div.notes .holding-event .btn_junp_event:hover{
	opacity: .65;
}

div.notes .holding-event .btn_junp_event::after{
content: "";
	display: block;
	position: absolute;
	top: 10px;
	right: 15px;
	width: 20px;
	height: 20px;
	margin-right: 10px;
	background: url(../images/icon_arrow.svg) center no-repeat;
	background-size: contein;
	box-sizing: border-box;
}

/* ////////////// CONTENT //////////////////////////////////////////////// */

/* ------- HRADER ---------------------------------------------*/

header {
	width: 100%;
}

/* ------- FOOTER ---------------------------------------------*/

footer {
	width: 100%;
	padding: 30px 0;
	background: #196ca3;
	text-align: center;
}

footer .foot-info ul{
	margin-bottom: 20px;
}

footer .foot-info ul li{
	color: #fff;
	font-size: 1.6rem;
	line-height: 2.0;
	letter-spacing: 0.05em;
}

footer .foot-info ul li dl dt,
footer .foot-info ul li dl dd{
	line-height: 2.0;
}

footer .foot-info ul li dl dd a{
	text-decoration: none;
	color: #fff;
	line-height: 2.0;
}
/* ------- MERIT ---------------------------------------------*/

.merit {
	width: 92%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 7% 0;
	text-align: center;
}

.merit h2{
	position: relative;
	height: 65px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
}

.merit h2 img{
	position: absolute;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	width: auto;
	height: auto;
}

.merit img {
	width: 100%;
	max-width: 1000px;
}

.merit ul.merit_point {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	width: 100%;
	margin: 0 auto 5%;
}

.merit ul.merit_point li {
	width: 33.3%;
}

.merit p img {
	width: 100%;
	max-width: 1000px;
}

.present {
	width: 100%;
}

.present h3 {
	color: #FFF;
	font-size: 2.5rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	letter-spacing: 0.1rem;
	width: 84%;
	margin: 0 auto 3%;
	padding: 1.5% 8.0%;
	background: #A64A4F;
}

.present h3 span {
	display: inline-block;
	line-height: 1.3;
}

.present p {
	font-size: 2.0rem;
	font-weight: bold;
	display: inline-block;
}

.present p img {
	display: inline-block;
	width: 20%;
	max-width: 85px;
	vertical-align: top;
}

.present p strong {
	font-size: 2.4rem;
	color: #A64A4F;
	padding-left: 5px;
}

.present ul {
	display: flex;
	width: 100%;
	margin: 2% auto 0;
}

.present ul li {
	width: 50%;
	border: 1px solid #000;
	position: relative;
	margin-bottom: 10px;
}

.present ol li {
	display: inline-block;
	font-size: 1.5rem;
	line-height: 1.4;
	color: #666;
	margin: 0 0.5%;
}

.present ul li a {
	position: absolute;
	left: 10%;
	bottom: 10%;
	display: block;
	background-color: #FFF;
	border: 2px solid #333;
	border-radius: 4px;
	color: #333;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	width: 50%;
	max-width: 200px;
	padding: 1% 2%;
	text-decoration: none;
}

.present ul li a:hover {
	border: 2px solid #A64A4F;
	background: #F2E4E5;
	color: #A64A4F;
}


/* Button */
.btn_reserve {
	position: relative;
	width: 100%;
	max-width: 500px;
	color: #FFF;
	/*
	background: url( "../images/icon_calender.svg") 7% center no-repeat;
	background-size:40px;
	*/
	background-color: #00958F;
	border-radius: 4px;
	box-shadow: 0px 10px 7px -6px #BBB;
	display: inline-block;
	cursor: pointer;
	padding: 2.7rem 0;
	margin: 6% auto 0;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.0;
	text-align: center;
	text-decoration: none;
}

.btn_reserve::before {
	content: "";
	display: block;
	position: absolute;
	top: 20px;
	left: 32px;
	width: 40px;
	height: 40px;
	background: url("../images/icon_calender.svg") no-repeat;
	background-size: contein;
}

@media all and (-ms-high-contrast: none) { /* FOR IE */
	.btn_reserve {
		background-position: -20px center;
		background-size: 40%;
	}
}

.btn_reserve:hover {
	background-color: #A64A4F;
	color: #FFF;
}

.btn_reserve:active {
	position: relative;
	top: 1px;
	color: #FFF;
}


/* ------- MODEL HOUSE ---------------------------------------------*/

.model_house {
	width: 100%;
	background: #F4F2EF;
	padding: 6% 0;
}

.model_house h2 figure{
	position: relative;
	width: 100%;
	max-width: 650px;
	margin: 0 auto;
}

.model_house h2 figure::before{
	content: "";
	display: block;
	padding-top: calc(44/650*100%);
}

.model_house h2 img {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	max-width: 650px;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.model-list{
	display:-webkit-box;
	display: -webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

.model-list li{
	position: relative;
	width: 48%;
	margin: 0 0 4%;
	padding: 20px 20px 90px;
	box-sizing: border-box;
	border: 5px solid #45998b;
	border-radius: 30px;
	background: #fff;
	line-height: 1.5;
}

.model-list li:not(:nth-child(2n)){
	margin-right: 4%;
}

.model-list li .img-list{
	display:-webkit-box;
	display: -webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	margin-bottom: 15px;
}

.model-list li .img-list figure{
	position: relative;
	width: 49%;
}

.model-list li .img-list figure::before{
	content: "";
	display: block;
	padding-top: calc(369/500*100%);
}

.model-list li .img-list figure img{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.model-list li .img-list figure.dummy{
	position: relative;
}

.model-list li .img-list figure.dummy::before{
	content: "準備中";
	position: absolute;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
	color: #fff;
	font-size: 2.2rem;
	font-weight: bold;
	z-index: 10;
}

.model-list li dl{
	margin-bottom: 20px;
}

.model-list li dl dt{
	color: #d62b1d;
	margin-bottom: 5px;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.6;
}

.model-list li dl dd{
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.6;
}

.model-list li dl dd sup{
	color: #666;
}

.model-list li dl dd span{
	display: block;
	width: 100%;
	color: #666;
	margin-top: 2px;
	font-size: 1.2rem;
	line-height: 1.3;
}

.model-list li dl dd span a{
	font-size: 1.3rem;
	color: #666;
}

.model-list .detail-model-info{
	display:-webkit-box;
	display: -webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-align: flex-end;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	position: absolute;
	left: 0;
	bottom: 20px;
	width: 100%;
	padding: 0 20px;
	box-sizing: border-box;
}

.model-list .detail-model-info .logo{
	width: 45%;
}

.model-list .detail-model-info .logo figure{
	position: relative;
	width: 100%;
}

.model-list .detail-model-info .logo figure::before{
	content: "";
	display: block;
	padding-top: calc(94/246*100%);
}

.model-list .detail-model-info .logo img{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center center;
}

.model {
	width: 92%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
}

.model article {
	width: 46%;
	max-width: 440px;
	padding: 2%;
	background: #FFF;
	margin-bottom: 40px;
	overflow: auto;
	align-items: center;
}

.model article.left {
	margin-right: 20px;
}

.model article.right {
	margin-left: 20px;
}

div.caption {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	margin-bottom: 15px;
}

dl.place {
	width: 25%;
	max-width: 100px;
	background: #A64A4F;
	padding: 5% 0;
}

dl.place dt {
	font-size: 1.3rem;
	line-height: 1.0;
	color: #FFF;
	border-bottom: 1px solid #FFF;
	width: 88%;
	text-align: center;
	display: block;
	margin: 0 auto;
	padding-bottom: 9%;
}

dl.place dd {
	font-size: 1.5rem;
	line-height: 1.0;
	color: #FFF;
	text-align: center;
	display: block;
	padding-top: 10%;
}

dl.place.high{
	padding: 2.9525% 0;
}

dl.place dd span{
	display: block;
	margin-top: 5px;
	width: 100%;
	font-size: 1.0rem;
	letter-spacing: -0.05em;
	line-height: 1.0;
}

article img.photo {
	clear: left;
	width: 100%;
	display: block;
	margin: 15px 0;
}

article div.todetail {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	width: 100%;
}

article img.logo {
	width: auto;
	height: 40px;
	display: inline-block;
}


/* Button */

.btn_detail {
	color: #FFF;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	position: relative;
	position: relative;
	width: 45%;
	height: 40px;
	/*background: url("../images/icon_arrow.svg") 7% center no-repeat #957F60;
	background-size: 18px;*/
	background: #957F60;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
}

.btn_detail::before {
	content: "";
	display: block;
	position: absolute;
	top: 12px;
	left: 15px;
	width: 15px;
	height: 15px;
	margin-right: 10px;
	background: url("../images/icon_arrow.svg") center no-repeat;
	background-size: contein;
	box-sizing: border-box;
}

@media all and (-ms-high-contrast: none) { /* FOR IE */
	.btn_detail {
		background-position: -20px center;
		background-size: 40%;
	}
}

.btn_detail:hover {
	background-color: #555;
	color: #FFF;
}

.btn_detail:active {
	position: relative;
	top: 1px;
	color: #FFF;
}


/* ------- RESERVE FORM ---------------------------------------------*/

.reserve_form {
	width: 92%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 8% 0;
}

.reserve_form.thanks{
	padding: 2% 0 6%;
}

.reserve_form h2 figure{
	position: relative;
	width: 100%;
	max-width: 650px;
	margin: 0 auto;
}

.reserve_form h2 figure::before{
	content: "";
	display: block;
	padding-top: calc(21/317*100%);
}

.reserve_form h2 img {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	max-width: 650px;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.reserve_form form {
	margin: 5% 0 0;
}

.container_form {
	width: 100%;
	border-top: 2px solid #A64A4F;
	margin: 2% 0 0;
	padding: 2% 0 0;
}

.container_form dl {
	display: flex;
	border-bottom: 1px solid #E1E1E1;
	padding: 2% 0;
	align-items: center;
}

.container_form dl.last {
	border-bottom: 1px solid #A64A4F;
	padding-bottom: 4%;
	margin-bottom: 3%;
}

.container_form dl dt {
	width: 30%;
	vertical-align: middle;
}

.container_form dl dt p {
	background: url("../images/icon_circle.png") left center no-repeat;
	padding-left: 25px;
}

.container_form dl dt label {
	line-height: 2.0;
}

.container_form dl dt .form_side_note {
	display: inline-block;
	position: relative;
	padding-left: 15px;
	font-size: 1.3rem;
	background: none;
}

.container_form dl dt .form_side_note::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

.container_form dl dd {
	width: 70%;
	font-size: 1.6rem;
	text-align: left;
}

.container_form dd input[type="text"] {
	font-size: 1.6rem;
	height: 30px;
	width: 90%;
	border: 1px solid #B7B7B7;
	padding: 5px;
	margin-left: 0;
}

.container_form dd input[type="radio"] {
	vertical-align: middle;
	position: relative;
	bottom: 3px;
	width: 18px;
	height: 18px;
}

.container_form dd select {
	font-size: 1.6rem;
	width: 270px;
	height: 40px;
	padding: 5px 10px;
	border: 1px solid #B7B7B7;
	background: #fff;
	color: #000;
	-webkit-appearance: none;
}

.container_form dd label {
	font-size: 1.5rem;
	display: inline-block;
	width: 260px;
	padding: 4px 0;
}

.container_form dd label.select_date{
	display: inline-block;
	position: relative;
	width: 270px;
	padding:0;
}

.container_form dd label.select_date::before{
	content: "";
	position: absolute;
	top: 17px;
	right: 11px;
	border: 5px solid transparent;
	border-top: 8px solid #B7B7B7;
	pointer-events: none;
	z-index: 5;
}

.container_form dd p.error {
	width: 70%;
}

.alert_career {
	width: 99.8%;
	border: 1px solid #00958F;
	margin: 5% auto 0;
	padding: 0 0 1.5%;
}

.alert_career p {
	padding: 0.7% 2%;
	line-height: 1.7;
}

.alert_career p:first-child {
	padding: 0.9% 2%;
	margin-bottom: 5px;
	color: #00958F;
	font-weight: bold;
	line-height: 1.7;
	background-color: #e6f9f8;
}

/* Button */

.button_group {
	margin: 4% auto 0;
	text-align: center;
}

.btn_submit, .btn_back {
	color: #FFF;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.0;
	text-decoration: none;
	background-color: #00958F;
	border-radius: 4px;
	box-shadow: 0px 10px 7px -6px #BBB;
	border: none;
	display: inline-block;
	cursor: pointer;
	padding: 1.8rem 0;
	margin: 0 10px;
	width: 50%;
	max-width: 300px;
}

.btn_submit:hover {
	background-color: #A64A4F;
}

.btn_back {
	background-color: #DDD;
	color: #666;
}

.btn_back:hover {
	background-color: #CCC;
}


/* ------- HOUSE DETAIL PAGE ---------------------------------------------*/

.house_detail {
	width: 92%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 0 8%;
}

.house_detail img.photo {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.town {
	width: 30%;
	max-width: 250px;
	text-align: center;
	background-color: #A64A4F;
}

.town p{
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.town span {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 50%;
	padding: 15px 0;
	color: #FFF;
	line-height: 1.0;
}

.town.high span{
	padding: 10px 0;
}

.town span:first-child{
	position: relative;
}

.town span:first-child:after{
	content:"";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 100%;
	background: #fff;
}

.town span em{
	margin-top: 5px;
	width: 100%;
	font-style: normal;
	font-size: 1.2rem;
	display: block;
	line-height: 1.0;
}

.container_intro {
	width: 100%;
	display: flex;
	margin: 3% 0 0;
}

.container_intro .main {
	width: 50%;
}

.container_intro .main dl{
	padding: clamp(20px,-32.500px + 6.25vw,30px);
	background: #F4F2EF;
}

.container_intro .main dl dt{
	color: #d62b1d;
	margin-bottom: 15px;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.6;
}

.container_intro .main dl dd{
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.6;
}

.container_intro .main dl dd span{
	display: block;
	width: 100%;
	color: #666;
	margin-top: 2px;
	font-size: 1.2rem;
	line-height: 1.3;
}

.container_intro .main dl dd span a{
	font-size: 1.3rem;
	color: #666;
}

.container_intro .aside {
	width: 46%;
	margin: 0 0 0 auto;
}

.container_intro .aside img {
	display: block;
	width: 100%;
}
.container_intro .aside .aside-img {
	margin: 0 0 2% auto;
}

.container_intro .aside .samune {
	display:-webkit-box;
	display:-ms-flexbox;
	display: -webkit-flex;
	display:flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.container_intro .aside .samune li{
	margin: 0 2% 2% 0;
	width: 23.5%;
	height: auto;
	cursor: pointer;
	transition: opacity 0.3s;
	line-height: 0;
}

.container_intro .aside .samune li:nth-child(4n){
	margin: 0 0 2% 0;
}

.container_intro .aside .samune .img-click{
	position: relative;
}

.container_intro .aside .samune .img-click::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: solid 2px #a64a4f;
	box-sizing: border-box;
}

.container_intro .aside .samune li:hover{
	opacity: 0.8;
}

.container_outline {
	width: 94%;
	background: #F4F2EF;
	display: flex;
	margin: 3% 0 0;
	padding: 3%;
}

.container_outline .main { /* PRICE + SPEC + MAP*/
	width: 50%;
}

.container_outline .main dl {
	width: 100%;
	display: flex;
	border: 1px solid #A64A4F;
	align-items: center;
	background: #FFF;
}

.container_outline .main dl dt {
	width: 40%;
	max-width: 198px;
	background: #A64A4F;
	text-align: center;
	font-size: 1.5rem;
	line-height: 1.4;
	color: #FFF;
	padding: 1.7% 2.0% 2.0%;
	box-sizing: border-box;
}

.container_outline .main dl dt span {
	font-size: 1.3rem;
}

.container_outline .main dl dd {
	width: 60%;
	max-width: 300px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #A64A4F;
	line-height: 2.0;
	padding: 1.7% 2.0%;
	text-align: center;
	box-sizing: border-box;
}

.container_outline .main dl dd em {
	font-size: 3.0rem;
	line-height: 1.3;
	font-family: 'Manrope', sans-serif;
	font-style: normal;
	padding-right: 3px;
}

.container_outline .main dl dd em.special{
	font-size: 1.8rem;
	text-align: center;
}

.container_outline .main .outline{
	font-size: 1.6rem;
	line-height: 1.5;
	padding: 3%;
	background: #fff;
	margin-bottom: 25px;
	border: 1px solid #bfbfbf;
}

.container_outline .main ul {
	width: 100%;
	display: flex;
	border-bottom: dashed 1px #A64A4F;
	align-items: center;
}

.container_outline .main ul:first-of-type{
	border-top: dashed 1px #A64A4F;
}

.container_outline .main ul li {
	font-size: 1.6rem;
	line-height: 1.5;
	padding: 3% 0;
}

.container_outline .main ul li:first-child {
	width: 30%;
}

.container_outline .main ul li:last-child {
	width: 70%;
}

.container_outline .aside {
	width: 41.5%;
	margin: 0 0 0 auto;
}

.container_outline .aside img {
	width: 100%;
}

.column{
	position: relative;
	margin: 40px auto 0;
	width: 100%;
	height: 120px;
	z-index: 10;
}

.column:before{
	content:"";
	position: absolute;
	top: -20px;
	left: -15px;
	width: 150px;
	height: 48px;
	background: url(../images/column.png);
	background-size: 100% 100%;
	z-index: 10;
}

.column p:after{
	content:"";
	position: absolute;
	right: -6px;
	bottom: -6px;
	width: 100%;
	height: 100%;
	border: 1px solid #000;
	background: #fff;
	z-index: -5;
}

.column p{
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
	width: 100%;
	height: 100%;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.8;
	border: 1px solid #000;
	background: #fff;
}

.house_maker {
	width: 100%;
	max-width: 500px;
	margin: 80px auto;
	text-align: center;
}

.house_maker img.hm_logo {
	display: inline-block;
	height: 90px;
}

.house_maker img.height-100{
	height: 100px;
}

.house_maker img.height-120{
	height: 120px;
}

.house_maker img.height-160{
	height: 160px;
}

.house_maker hr {
	border-top: 1px solid #000;
	width: 100%;
	max-width: 500px;
	margin: 7% auto 5%;
}

.house_maker a.btn_reserve {
	margin-top: 12%;
}

.house_maker + .reserve-form{
	padding: 50px;
	background: #f0f0f0;
}

.house_maker + .reserve-form a{
	transition: .5s ease;
	display: block;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.0;
	/* pointer-events: none; */
}

.house_maker + .reserve-form a:hover{
	opacity: .65;
}

.house_maker + .reserve-form a img{
	width: 100%;
}

/* Button */

.pageback {
	width: 92%;
	max-width: 1000px;
	margin: 2% auto;
	position: relative;
}

.pageback a {
	display: block;
	background: url("../images/banner_back.png") right center no-repeat;
	width: 30%;
	max-width: 160px;
	margin: 0 0 0 auto;
	padding: 3px 4px 4px 0;
	color: #FFF;
	text-align: center;
	text-decoration: none;
}

.pageback a:hover {
	opacity: 0.8;
	position: relative;
	left: 1px;
}

.gmap {
	display: block;
	width: 62%;
	max-width: 400px;
	margin: 15px auto;
	padding: 8px 0 10px;
	background: url("../images/icon_googlemap.svg") 20px center no-repeat #696969;
	border-radius: 4px;
	box-shadow: 0px 10px 7px -6px #BBB;
	text-align: center;
	color: #FFF;
	text-decoration: none;
	cursor: pointer;
}

.gmap:hover {
	color: #FFF;
	background-color: #A64A4F;
}

.gmap:active {
	color: #FFF;
	position: relative;
	top: 1px;
	background-color: #A64A4F;
}

.gmap:visited {
	color: #FFF;
}

/* add style */
.fix-reservation{
	display: none;
	position: fixed;
	right: 0;
	bottom: 20px;
	width: 250px;
	height: 150px;
	/* background: #fff; */
}

.fix-reservation a{
	transition: .5s ease;
	display: block;
	width: 100%;
	height: 100%;
}

.fix-reservation a img{
	width: 100%;
}

.fix-reservation a:hover{
	opacity: .65;
}

.fix-reservation.top{
	bottom: 90px;
}

.title-mainvisual{
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	background: none;
	background: #e8f0f7;
}

.title-mainvisual figure{
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

.title-mainvisual figure::before{
	content: "";
	display: block;
	padding-top: calc(630/1200*100%);
}

.title-mainvisual img{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	max-width: 1200px;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.about{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 60px;
}

.about .privilege-list{
	display:-webkit-box;
	display: -webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	-webkit-box-align:flex-end;
	-ms-flex-align:flex-end;
	align-items:flex-end;
	width: 100%;
	margin-bottom: 25px;
}

.about .privilege-list li{
	line-height: 0;
}

.about .privilege-list li:first-child{
	width: 49%;
}

.about .privilege-list li:nth-child(2){
	width: 49%;
}

.about .privilege-list li a{
	display: block;
	transition: .5s ease;
	line-height: 0;
	pointer-events: none;  /*【イベント終了後対応】バナーのクリックイベントを無効化にする、イベント時はコメントアウト */
}

/* 【イベント終了後対応】バナーをホバーした際の挙動を無効化にする、イベント時はコメントアウト解除 
.about .privilege-list li a:hover{
	opacity: .65;
}*/

.about .privilege-list li figure{
	position: relative;
	width: 100%;
}

.about .privilege-list li figure::before{
	content: "";
	display: block;
	padding-top: calc(410/1000*100%);
}

.about .privilege-list li a figure::before{
	content: "";
	display: block;
	padding-top: calc(358/1000*100%);
}

.about .privilege-list li img{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.about .flow-list{
	margin: 0 0 35px;
}

.about .flow-list figure{
	position: relative;
	width: 100%;
}

.about .flow-list figure::before{
	content: "";
	display: block;
	padding-top: calc(291/1200*100%);
}

.about .flow-list img{
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.about .coming-solution dl dt{
	display:-webkit-box;
	display: -webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-justify-content:center;
	justify-content:center;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	width: 100%;
	height: 100px;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	background: #479782;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

.about .coming-solution dl dd{
	background: #fffcef;
	padding: 30px;
}

.about .coming-solution dl dd ul li{
	position: relative;
	padding-left: 18px;
	color: #479782;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.0;
	letter-spacing: 0.05em;
}

.coming-solution dl dd ul li:before{
	content: "〇";
	position: absolute;
	top: 0;
	left: 0;
}

.thanks-msg dl{
	margin-bottom: 30px;
}

.thanks-msg dl dt{
	margin-bottom: 25px;
	color: #A64A4F;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.5;
}

.thanks-msg dl dd{
	font-size: 1.6rem;
	text-align: center;
	line-height: 2.0;
}

.thanks-msg a{
	position: relative;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
	color: #FFF;
	background-color: #00958F;
	border-radius: 4px;
	box-shadow: 0px 10px 7px -6px #bbb;
	display: block;
	cursor: pointer;
	padding: 20px 0;
	margin: 0 auto;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.0;
	text-align: center;
	text-decoration: none;
}

/* ////////////// MEDIA QUERY FOR RESPONSIVE //////////////////////////////////////////////// */

.coming-soon .coming-soon-txt{
	margin-bottom: 3%;
	text-align: center;
}

.comming-soon-list{
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1050px;
	margin: 0 auto;
	padding:  2% 2% 0 2%;
	background: #fff;
	box-sizing: border-box;
	/* -ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center; */
}

.comming-soon-list li{
	width: 23.5%;
	margin-bottom: 2%;
}

.comming-soon-list li:not(:nth-child(4n)){
	margin-right: 2%;
}

.comming-soon-list li a{
	transition: .5s ease;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #000;
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-decoration: none;
}

.comming-soon-list li a img{
	width: 100%;
}

.comming-soon-list li a:hover{
	opacity: .75;
}

/* ++++++++++++++++++++ FOR TABLET LESS 840 +++++++++++++++++++ */

@media screen and (max-width: 840px) {
	/* add sytle */
	#wrap{
		/*padding-bottom: 100px;  【イベント終了後対応】SP版追従バナー分の余白を削除、イベント時はコメントアウト解除 */
	}

	.grecaptcha-badge{
		bottom: 110px !important;
	}

	.fix-reservation{
		position: fixed;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 100px;
	}

	.fix-reservation a{
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-align: center;
		-webkit-align-items: center;
		align-items: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
		width: 100%;
		height: 100px;
		background: #fff;
		border: 5px solid #3c8978;
		box-sizing: border-box;
	}

	.fix-reservation.top{
		bottom: 0;
	}

	.fix-reservation a img{
		width: auto;
		height: auto;
		max-width: 80%;
		max-width: 98%;
	}

	.fix-reservation a img.img_pc{
		display: none !important;
	}

	.fix-reservation a img.img_sp{
		display: block !important;
	}

	div.notes .holding-event .btn_junp_event {
		width: 70%;
	}

	@media screen and (orientation: landscape) {
		.fix-reservation a img.img_sp{
			max-width: auto;
			max-height: 90%;
		}
	}

	.about .coming-solution dl dt{
		font-size: 2.0rem;
		line-height: 1.35;
	}

	.about .coming-solution dl dd{
		font-size: 1.6rem;
		padding: 15px;
	}

	.about .coming-solution dl dd ul li{
		font-size: 1.6rem;
		line-height: 1.8;
	}

	p.concept {
		font-size: 1.7rem;
	}


	/* ------- MODEL HOUSE ---------------------------------------------*/

	.present ul {
		display: block;
	}

	.present ul li {
		width: 100%;
	}

	.model {
		display: block;
	}

	.model article {
		width: 92%;
		max-width: 720px;
		padding: 4%;
		margin-bottom: 20px;
		border-top: 1px solid #A64A4F;
	}

	.model article.left, .model article.right {
		margin: 0 0 20px;
	}


	/* ------- RESERVE FORM ---------------------------------------------*/

	.container_form dl {
		display: block;
	}

	.container_form dl dt, .container_form dl dd {
		width: 99%;
	}

	.container_form dl dt .form_side_note {
		margin-bottom: 5px;
	}


	/* ------- HOUSE DETAIL PAGE ---------------------------------------------*/

	.container_intro {
		display: block;
	}

	.container_outline {
		display: block;
		padding: 10% 3% 3%;
	}

	.container_intro .main, .container_intro .aside {
		width: 100%;
	}

	.container_outline .main, .container_outline .aside {
		width: 100%;
	}

	.container_outline .main .outline{
		margin-bottom: 10%;
	}

	.container_outline .main ul:last-child {
		margin-bottom: 10%;
	}

	.container_outline .main dl {
		display: block;
		margin-bottom: 10px;
	}

	.container_outline .main dl dt {
		width: 100%;
		max-width: initial;
	}

	.container_outline .main dl dt br {
		display: none;
	}

	.container_outline .main dl dt span {
		font-size: 1.5rem;
	}

	.container_outline .main dl dd {
		width: 100%;
		max-width: initial;
	}

	.column{
		margin: 10% auto;
		width: 95%;
	}

	.column:before{
		left: -2.5%;
	}

	.column p{
		padding: 5px 0 0;
		font-size: 1.6rem;
	}

	.house_maker{
		margin-top: 9%;
	}

	.house_maker img.hm_logo {
		max-width: 100%;
		height: auto;
		padding: 0 10px;
		box-sizing: border-box;
	}

	.house_maker img.height-100{
		height: 100px;
	}

	.house_maker img.height-120{
		height: 120px;
	}

	br.padbr {
		display: inline;
	}
}

@media screen and (min-width: 641px){
p.exp a {
	pointer-events: none;
}

footer .foot-info ul li dl dd a{
	pointer-events: none;
}
}

/* ++++++++++++++++++++ FOR MOBILE LESS 640 +++++++++++++++++++ */

@media screen and (max-width: 640px) {
	div.notes{
		width: 92%;
		margin: 30px auto 20px;
		padding: 20px;
		font-size: 1.6rem;
		/* line-height: 2.0; */
		line-height: 1.8;
		text-align: center;
		/* border: 8px solid #F4F2EF; */
		border: 8px solid #ffcccc;
	}

	div.notes span{
		font-size: 2.2rem;
	}

	div.notes .holding-event .btn_junp_event {
		width: 80%;
		height: 50px;
		padding: 8px 0;
		line-height: 1.8rem;
	}

	div.notes .holding-event .btn_junp_event::after{
		top: 15px;
		right: 5px;
	}

	/* add style */
	.container_form dd p.error{
		width: 90%;
	}
	.coming-soon .coming-soon-txt{
		padding: 10px 0;
	}

	.coming-soon .coming-soon-txt img{
		width: 82%;
		max-width: 400px;
	}
	.comming-soon-list{
		margin-bottom: 20px;
		width: 100%;
		max-width: 100%;
		padding: 3% 3% 0 3%;
		box-sizing: border-box;
	}

	.comming-soon-list li{
		width: 48.5%;
		margin-bottom: 3%;
	}

	.comming-soon-list li a{
	}

	.comming-soon-list li:not(:nth-child(4n)){
		margin-right: 0;
	}

	.comming-soon-list li:not(:nth-child(2n)){
		margin-right: 3%;
	}

	.house_maker{
		margin-bottom: 6%;
	}

	.house_maker + .reserve-form{
		margin-bottom: 6%;
		padding: 0;
	}

	.img_pc{
		display: none;
	}

	.img_sp{
		display: block;
	}

	.about{
		width: 92%;
		margin: 0 auto;
	}

	.about{
		margin-bottom: 40px;
	}

	.about .privilege-list{

	}

	.about .privilege-list li:first-child{
		width: 100%;
		margin-bottom: 10px;
	}

	.about .privilege-list li:nth-child(2){
		width: 100%;
	}

	.model-list{
		width: 92%;
		margin: 0 auto;
	}

	.model-list li{
		width: 100%;
		margin: 0 0 20px;
		padding: 20px;
		border: 3px solid #45998b;
		border-radius: 15px;
	}

	.model-list li:not(:nth-child(2n)){
		margin: 0 0 20px;
	}

	.model-list .detail-model-info{
		position: relative;
		top: 0;
		left: 0;
		padding: 0;
	}

	.model-list .detail-model-info .logo{
		width: 100%;
		margin: 0 0 15px;
		text-align: center;
	}

	.model-list .detail-model-info .logo figure{
		max-width: 150px;
		margin: 0 auto;
	}

	.model-list .detail-model-info .logo img{
		width: 100%;
		max-width: 150px;
	}

	.container_intro .main dl{
		margin-bottom: 8%;
		padding: 20px;
	}

	.house_maker a.btn_reserve {
		margin-top: 12%;
		padding: 15px 0;
		font-size: 2.2rem;
	}

	.house_maker a.btn_reserve:before{
		width: 30px;
		height: 30px;
	}

	html {
		font-size: 58%;
	}

	h3 {
		padding-bottom: 5%;
	}

	h5 {
		margin-bottom: 7%;
	}

	h5 span {
		display: inline;
	}

	p.concept {
		margin-left: 0;
		font-size: 90%;
	}

	p.exp {
		text-align: left;
	}

	p.exp br {
		display: none;
	}

	p.concept br {
		display: none;
	}

	br.spno {
		display: none;
	}

	div.caption {
		display: block;
	}

	article img.logo {
		width: auto;
		height: 60px;
		margin: 0 auto 20px auto;
	}

	.btn_detail {
		width: 100%;
		max-width: initial;
	}

	.btn_detail::before {
		position: static;
	}

	br.spbr {
		display: inline;
	}

	.title-mainvisual figure::before{
		padding-top: calc(1486/750*100%);
	}

	.about .flow-list figure::before{
		padding-top: calc(1520/696*100%);
	}


	/* ------ MERIT ---------------------------------------------*/

	.merit {
		padding: 9% 0 14%;
	}

	.merit h2{
		position: relative;
		text-align: center;
		height: 50px;
		overflow: hidden;
	}

	.merit h2 img{
		height: 20px;
	}

	.merit ul.merit_point {
		display: block;
	}

	.merit ul.merit_point li {
		width: 90%;
		text-align: center;
	}

	.present p {
		display: block;
	}

	dl.place {
		width: 50%;
		max-width: initial;
		margin: 0 auto 15px;
	}

	dl.place dt {
		padding-bottom: 7%;
	}

	dl.place dd {
		padding-top: 9%;
	}


	/* ------ MODEL HOUSE ---------------------------------------------*/

	.model_house {
		padding: 12% 0 5%;
	}

	.model dl.place {
		width: 60%;
		margin: 0 auto 15px 0;
		padding: 0;
		display: flex;
		background: #A64A4F;
		align-items: center;
	}

	.model dl.place dt, .model dl.place dd {
		font-size: 1.5rem;
		line-height: 1.0;
		color: #FFF;
		text-align: center;
		width: 50%;
		margin: 0;
		padding: 4% 0;
		border: none;
	}

	.model dl.place dd {
		border-left: 1px solid #FFF;
	}

	/* ------ RESERVE FORM ---------------------------------------------*/

	.reserve_form {
		padding: 12% 0%;
	}

	.btn_back {
		margin-bottom: 20px;
	}


	/* ------- HOUSE DETAIL PAGE ---------------------------------------------*/

	.house_detail .town {
		width: 40%;
		max-width: 350px;
	}

	.house_detail .town span {
		font-size: 85%;
	}

	.container_intro {
		padding-top: 5%;
	}

	.btn_reserve {
		display: -webkit-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		-ms-flex-align: center;
		-webkit-align-items: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		justify-content: center;
	}

	.btn_reserve::before {
		position: static;
		margin-right: 15px;
	}

}

@media screen and (max-width: 320px){
	.merit h2{
		height: 32px;
	}

	.merit h2 img{
		width: 95%;
		height: auto;
	}
}
