/*--------------------------------------------------------------*/
/* MainReset */
/*--------------------------------------------------------------*/
html {
	font-size: 62.5%;
	background: #fff;
	box-sizing: border-box;
}
*, *:before, *:after {
	box-sizing: inherit;
	-webkit-font-smoothing: antialiased
}
body, div, dl, dt, dd, ul, ol, li, pre, code, 
form, fieldset, legend, input, textarea, figure, 
p, blockquote, th, td {
	font-size: 1.6rem;
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 3.2rem;
	font-weight: bold;
	margin: 0;
	padding: 0;
}
/* 1150 */
@media (max-width: 1150px) {
	body, div, dl, dt, dd, ul, ol, li, pre, code, 
	form, fieldset, legend, input, textarea, figure, 
	p, blockquote, th, td {
		font-size: max(1.4vw, 1.4rem);
	}
}
/* 768 */
@media (max-width: 768px) {
	h1, h2, h3, h4, h5, h6 {
		font-size: 2.8rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	h1, h2, h3, h4, h5, h6 {
		font-size: 2.4rem;
	}
}
/* font */
body {
	color: #333;
	font-family: noto-sans-cjk-jp, "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
	-mts-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}
.overflow {
	overflow-x: hidden;
}
.h {
	font-family: dnp-shuei-mgothic-std, sans-serif; /* DNP 秀英丸ゴシック Std */
	font-weight: 600;
}
.eng {
	font-family: futura-pt, sans-serif; /* futura 400 500 700 */
	font-size: 2.1rem;
	letter-spacing: 2px;
	text-indent: 2px;
	color: #2a71b9;
}
.mn {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
img {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	max-width: 100%;
	vertical-align: top;
}
a {
	color: inherit;
	text-decoration: none;
}
input, textarea, select, button {
	font-family: inherit;
	font-size: inherit;
	font-weight: normal;
}
input, select, button {
	vertical-align: middle;
}
textarea::placeholder,
input::placeholder {
	color: #ccc;
}
input:-ms-input-placeholder {
	color: #ccc;
}
input::-ms-input-placeholder {
	color: #ccc;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}
address, caption, code, th {
	font-style: normal;
	font-weight: normal;
}
img, fieldset {
	border: 0;
}
ol, ul {
	list-style-type: none;
}
input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=checkbox],
input[type=submit],
input[type=button],
input[type=number],
button,
select,
textarea {
	border-radius: 2px;
	border: 1px solid #ddd;
	margin: 0;
	padding: 5px 8px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
	outline: none;
	background-color: #FFFFDF;
}
input[type=submit],
input[type=button],
button {
	outline: none;
	cursor: pointer;
	background-color: #F4F4F4;
}
input[type=submit]:hover,
input[type=button]:hover,
button:hover {
	background-color: #fff;
}
input[type=submit]:active,
input[type=button]:active,
button:active {
	background-color: #FFFFDF;
}
select {
	background: url(../images/arrow.png) right 50% no-repeat #fff;
	background-size: contain;
	padding-right: 40px;
}
/* checkbox */
input[type=checkbox] {
	display: none;
}
input[type=checkbox] + .mwform-checkbox-field-text {
	position: relative;
	vertical-align: middle;
	cursor: pointer;
}
input[type=checkbox] + .mwform-checkbox-field-text:before {
	content: "\f372";
	font-family: "Ionicons";
	color: #ccc;
	font-size: 22px;
	margin-right: 4px;
	vertical-align: middle;
}
input[type=checkbox]:checked + .mwform-checkbox-field-text:before {
	content: "\f374";
	color: #2a71b9;
}
/* radio */
input[type=radio] {
	display: none;
}
input[type=radio] + .mwform-radio-field-text:before {
	content: "\f3a6";
	font-family: "Ionicons";
	color: #ccc;
	font-size: 1.6rem;
	margin-right: 6px;
}
input[type=radio]:checked + .mwform-radio-field-text:before {
	content: "\f3a7";
	color: #221714;
}

/*--------------------------------------------------------------*/
/* 共通 base */
/*--------------------------------------------------------------*/
a:active, a:hover {
	color: #2a71b9;
	outline: 0;
	text-decoration: none;
}
a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	transition: all 0.5s;
}
p {
	line-height: 1.8;
}
p.right {
	text-align: right;
}
.red {
	color: red;
}
.brown {
	color: brown;
}
.sky {
	color: #0299E8;
}
.blue {
	color: blue;
}
.bold {
	font-weight: bold;
}
.txt_cen {
	text-align: center;
}
.fff {
	color: #fff;
}
.hr {
	border: none;
	border-bottom: 1px solid #777;
	max-width: 1110px;
	margin: 30px auto;
}
.hr2 {
	border: none;
	border-bottom: 1px solid #777;
	max-width: 1110px;
	margin: 50px auto;
}
/* 1150 */
@media (max-width: 1150px) {
	.hr {
		margin: 30px 20px;
	}
	.content .hr {
		margin: 30px 0;
	}
	.hr2 {
		margin: 50px 20px;
	}
	.content .hr2 {
		margin: 50px 0;
	}
}
.content {
	max-width: 1150px;
	width: 100%;
	padding: 0 20px;
	margin: 0 auto;
}
.flex {
	display: flex;
	flex-wrap: wrap;
}

/*--------------------------------------------------------------*/
/* .fixed */
/*--------------------------------------------------------------*/
.fixed {
	position: fixed!important;
	top: 0px;
	z-index: 99;
	animation: moveimg 1s 1;
	box-shadow: 0px 3px 3px rgba(0,0,0,0.3);
	border-bottom: none!important;
}
@keyframes moveimg {
	0% { top: -350px; }
	100% { top: 0px; }
}

/*--------------------------------------------------------------*/
/* パララックス */
/*--------------------------------------------------------------*/
.mv_left,
.mv_right,
.mv_up,
.mv_down,
.mv_bk {
	position: relative;
}
.lv_fade,
.mv_fade {
	opacity: 0;
}
.mv_fade0 {
	opacity: 1;
}
.mv_left {
	opacity: 0;
	left: -100px;
}
.mv_right {
	opacity: 0;
	right: -100px;
}
.mv_up {
	opacity: 0;
	top: 100px;
}
.mv_down {
	opacity: 0;
	top: -100px;
}

/*--------------------------------------------------------------*/
/* 共通 .sankaku */
/*--------------------------------------------------------------*/
.sankaku {
	height: 40px;
	width: 140px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background: #95c8de;
	margin: 40px auto;
}

/*--------------------------------------------------------------*/
/* 共通 .btn_link, .blank_link */
/*--------------------------------------------------------------*/
.btn_link,
.blank_link {
	display: block;
	position: relative;
	max-width: 300px;
	width: 100%;
	text-align: center;
	margin: 40px auto;
	padding: 12px;
	color: #fff;
	background: #0024a9;
	font-size: 1.6rem;
	transition: 0.3s all;
}
.blank_link {
	color: #95c8de;
	background: #fff;
}
.btn_link::after {
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	font-family: "Ionicons";
	content: '\f488';
	font-size: 1.4rem;
	transition: 0.3s all;
}
.blank_link::after {
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	font-family: "Ionicons";
	content: url(../images/_blank.png);
	font-size: 1.4rem;
	transition: 0.3s all;
}
.btn_link:hover {
	color: #fff;
	background: #f59f09;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);
	opacity: 0.9;
}
.btn_link:hover::after {
	right: 10px;
}
.blank_link:hover {
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);
	opacity: 0.9;
	color: #ff0015;
}
/* 580 */
@media (max-width: 580px) {
	.btn_link {
		max-width: 180px;
		margin: 35px auto 20px auto;
		font-size: 1.5rem;
	}
}

/*--------------------------------------------------------------*/
/* 共通 .btn_link2 */
/*--------------------------------------------------------------*/
.btn_link2 {
	display: block;
	position: relative;
	max-width: 300px;
	width: 100%;
	text-align: center;
	margin: 40px auto;
	padding: 15px 0;
	color: #fff;
	background: #ea7ea6;
	transition: 0.3s all;
}
.btn_link2::after {
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	content: "";
	background: url(../images/_blank.png) no-repeat;
	background-size: contain;
	width: 20px;
	height: 18px;
}
.btn_link2:hover {
	color: #fff;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);
	opacity: 0.9;
}
/* 580 */
@media (max-width: 580px) {
	.btn_link2 {
		max-width: 250px;
	}
	.btn_link2::after {
		width: 15px;
		height: 13px;
	}
}

/*--------------------------------------------------------------*/
/* 共通 .btn_orange */
/*--------------------------------------------------------------*/
.btn_orange {
	display: block;
	position: relative;
	max-width: 300px;
	width: 100%;
	text-align: center;
	margin: 0 auto;
	padding: 12px;
	color: #000;
	background: #FAB951;
	font-size: 1.6rem;
	transition: 0.3s all;
}
.btn_orange::after {
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	font-family: "Ionicons";
	content: '\f3d3';
	font-size: 1.6rem;
	font-weight: bold;
	color: #000;
	transition: 0.3s all;
}
.btn_orange:hover {
	color: #000;
	background: #faa751;
	opacity: 0.9;
}
.btn_orange:hover::after {
	right: 12px;
}
/* 580 */
@media (max-width: 580px) {
	.btn_orange {
		max-width: 180px;
		margin: 35px auto 20px auto;
		font-size: 1.4rem;
	}
}

/*--------------------------------------------------------------*/
/* 共通 button.btn */
/*--------------------------------------------------------------*/
button.btn {
	background: #2a71b9;
	color: #fff;
	border: none;
	border-radius: 5px;
	padding: 10px;
	transition: .3s;
}
button.btn.center {
	margin: 0 auto;
	display: block;
}
button.btn:hover {
	background: #1c5793;
	border-radius: 8px;
}

/*--------------------------------------------------------------*/
/* 共通 a.btn */
/*--------------------------------------------------------------*/
a.btn {
	display: block;
	background: #fff;
	color: #2a71b9;
	text-align: center;
	max-width: 275px;
	min-width: 230px;
	width: 60%;
	padding: 18px 0 18px 0;
	border: 2px solid #2a71b9;
	border-radius: 30px;
	margin: 30px 0;
	position: relative;
	transition: .3s right ease;
	vertical-align: middle;
}
a.btn span.txt::before {
	color: #2a71b9;
	font-size: 1.2rem;
	vertical-align: baseline;
	position: absolute;
	top: 50%;
	right: 13%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	transition: .3s all;
}
a.btn:hover span.txt::before,
button.btn:hover span.txt::after {
	right: 11%;
}
/* center */
a.btn.center {
	margin-left: auto;
	margin-right: auto;
}
/* big */
a.btn.big {
	max-width: 360px;
}
/* right */
a.btn.rr {
	margin-left: auto;
}
a.btn.cc {
	margin-left: auto;
	margin-right: auto;
}
/* sky */
a.btn.sky {
	background: #2a71b9;
	color: #fff;
}
a.btn.sky span.txt::before {
	color: #fff;
}
/* 580 */
@media (max-width: 580px) {
	a.btn {
		padding: 14px 0 15px 0;
		border-radius: 30px;
	}
}

/*--------------------------------------------------------------*/
/* 共通 .maru */
/*--------------------------------------------------------------*/
.maru {
	width: 46px;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 2px solid #2a71b9;
	border-radius: 30px;
	color: #2a71b9;
	font-size: 1.4rem;
	transition: .3s ease;
}
a:hover .maru {
	background: #2a71b9;
	color: #fff;
}
/* a.more */
a.more {
	display: inline-flex;
	align-items: center;
	font-size: 1.4rem;
	font-weight: bold;
}
a.more:hover {
	color: initial;
}
/* maru2 */
.maru2 {
	width: 21px;
	aspect-ratio: 1 / 1;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #2a71b9;
	background: #2a71b9;
	border-radius: 30px;
	color: #fff;
	font-size: 1.0rem;
	transition: .3s ease;
	margin-right: 7px;
}
.maru2::before {
	/*margin-left: 1.5px;*/
}
a:hover .maru2 {
	background: #fff;
	color: #2a71b9;
}

/*--------------------------------------------------------------*/
/* 共通 レスポンシブ関連 */
/*--------------------------------------------------------------*/
.sp_view {
	display: none;
}
.tb_view {
	display: none;
}

/* 768 */
@media (max-width: 768px) {
	.pc_view {
		display: none;
	}
	.tb_view {
		display: block;
	}
	.tb_none {
		display: none!important;
	}
}
/* 580 */
@media (max-width: 580px) {
	.sp_view {
		display: block;
	}
	.sp_none {
		display: none!important;
	}
}

/*--------------------------------------------------------------*/
/* 共通 section padding */
/*--------------------------------------------------------------*/
.pd_std {
	padding: 120px 0;
}
.pd_std2 {
	padding: 65px 0;
}
.pd_std3 {
	padding: 85px 0;
}
.up_zero {
	padding-top: 0!important;
}
.down_zero {
	padding-bottom: 0!important;
}
.up_plus {
	padding-top: 130px!important;
}
/* 1150 */
@media (max-width: 1150px) {
	.pd_std {
		padding: max(11vw, 60px) 0;
	}
	.pd_std2 {
		padding: max(6vw, 40px) 0;
	}
	.up_plus {
		padding-top: max(12vw, 80px)!important;
	}
	.pd_std3 {
		padding: max(7.4vw, 40px) 0;
	}
}


/*--------------------------------------------------------------*/
/* 共通 table.base */
/*--------------------------------------------------------------*/
table {
	border-collapse: collapse;
	width: 100%;
}
table.base {
	border-top: 1px solid #ccc;
}
table.base tr {
	border-bottom: 1px solid #ccc;
}
table.base tr th {
	width: 27%;
	padding: 25px 30px;
	font-weight: bold;
	text-align: left;
	vertical-align: top;
}
table.base tr td {
	padding: 25px 20px;
	line-height: 1.9;
}
table.base tr td ul {
	list-style: disc;
	margin-left: 25px;
}
/* 580 */
@media (max-width: 580px) {
	table.base tr th {
		display: block;
		width: 100%;
		padding: 20px 20px 0 20px;
	}
	table.base tr td {
		padding: 20px 20px;
		display: block;
	}
}

/*--------------------------------------------------------------*/
/* 共通 htype */
/*--------------------------------------------------------------*/
/* .htype01 */
.htype01 {
	margin-bottom: 45px;
}
.htype01 .eng {
	display: block;
	margin-bottom: 5px;
}
.htype01 h1 {
	font-family: dnp-shuei-mgothic-std, sans-serif; /* DNP 秀英丸ゴシック Std */
	font-weight: bold;
	margin-bottom: 15px;
	line-height: 1.5;
}
/* .htype02 */
.htype02 {
	display: flex;
	justify-content: flex-end;
	flex-direction: row-reverse;
	align-items: center;
	margin-bottom: 45px;
}
.htype02 h1 {
	margin-right: 20px;
}
/* 580 */
@media (max-width: 580px) {
	.htype02 {
		display: block;
		text-align: center;
	}
}
/* .htype03 */
.htype03 {
	margin-bottom: 40px;
}
.htype03 h1 {
	color: #95c8de;
}
.htype03 small {
	color: #e77051;
}
.htype03.flex {
	align-items: center;
}
.htype03.flex h1 {
	margin-right: 20px;
}

/*--------------------------------------------------------------*/
/* 共通 h1-h6 .yon */
/*--------------------------------------------------------------*/
.f1-6 {
	font-size: 1.6rem;
}
.f2-4 {
	font-size: 2.4rem;
}
.f3 {
	font-size: 3.0rem;
}
.f4 {
	font-size: 4.0rem;
}
.f5 {
	font-size: 5.0rem;
}
.f6 {
	font-size: 6.0rem;
}
/* 1150 */
@media (max-width: 1150px) {
	.f2-4 {
		font-size: max(2.0vw, 1.6rem);
	}
	.f3 {
		font-size: max(2.5vw, 1.9rem);
	}
	.f4 {
		font-size: max(3.47vw, 2.3rem);
	}
	.f5 {
		font-size: max(4.35vw, 2.0rem);
	}
	.f5.pop {
		font-size: max(4.35vw, 2.6rem);
	}
	.f6 {
		font-size: max(5vw, 2.6rem);
	}
}

/*--------------------------------------------------------------*/
/* 共通 _pltr_box 左写真＆右テキスト */
/*--------------------------------------------------------------*/
._pltr_box {
	background: #fff;
	padding: 30px;
	border-radius: 10px;
}
._pltr_box .inner {
	display: flex;
	flex-wrap: wrap;
}
._pltr_box .inner figure {
	max-width: 400px;
	width: 40%;
}
._pltr_box .inner > div.text,
._pltr_box .inner > p.txt {
	padding: 0 10px 0 30px;
	flex: 1;
}
._pltr_box .inner > div.text h2.f3 {
	margin-bottom: 10px;
}
._pltr_box .inner + a.btny {
	margin: 15px auto 0 auto;
}
/* 580 */
@media (max-width: 580px) {
	._pltr_box .inner figure {
		max-width: initial;
		width: 100%;
		margin-bottom: 5px;
	}
	._pltr_box .inner > div.text,
	._pltr_box .inner > p.txt {
		padding: 0;
		flex: 1;
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* 共通 strong */
/*--------------------------------------------------------------*/
strong {
	color: #000!important;
	background: linear-gradient(transparent 60%,#95c8de 40%)!important;
}
strong span.num {
	font-size: 7.0rem;
}
/* 1200 */
@media (max-width: 1200px) {
	strong span.num {
		font-size: 5.8vw;
	}
}
/* 580 */
@media (max-width: 580px) {
	strong span.num {
		font-size: 3.2rem;
	}
}

/*--------------------------------------------------------------*/
/* 共通 header.type01 */
/*--------------------------------------------------------------*/
header.type01 {
	text-align: center;
	position: relative;
	margin-bottom: 60px;
}
header.type01 h1 {
	font-size: 4.0rem;
	font-weight: bold;
	z-index: 2;
}
header.type01 span.eng {
	font-size: 3.0rem;
	font-family: 'Fredoka One', cursive;
	color: #95c8de;
}
header.type01 span.eng + p.txt {
	font-size: 3.0rem;
	font-weight: bold;
	color: #95c8de;
	margin-top: 45px;
}
/* 1200 */
@media (max-width: 1200px) {
	header.type01 h1 {
		font-size: max(3.35vw, 3.2rem);
	}
	header.type01 span.eng + p.txt {
		font-size: max(2.5vw, 2.4rem);
	}
}

/* 768 */
@media (max-width: 768px) {
	header.type01 h1 {
		font-size: max(4.2vw, 2.6rem);
	}
	header.type01 span.eng {
		font-size: 2.2rem;
	}
	header.type01 span.eng + p.txt {
		font-size: 2.2rem;
		margin-top: 35px;
	}
}
/* 580 */
@media (max-width: 580px) {
	header.type01 {
		margin-bottom: 40px;
	}
	header.type01 span.eng {
		font-size: 1.8rem;
	}
	header.type01 span.eng + p.txt {
		font-size: 1.8rem;
	}
}

/*--------------------------------------------------------------*/
/* 共通 header.type02 */
/*--------------------------------------------------------------*/
header.type02 {
	text-align: center;
	margin-bottom: 40px;
}
header.type02 h1 {
	background: #AE4545;
	color: #fff;
	font-size: 4.0rem;
	padding: 20px;
	margin-bottom: 60px;
}
header.type02 p {
	font-size: 3.0rem;
	color: #95c8de;
	font-weight: bold;
	margin-bottom: 40px;
}
/* 1200 */
@media (max-width: 1200px) {
	header.type02 {
		margin-bottom: 3vw;
	}
	header.type02 h1 {
		font-size: 3.5vw;
		padding: 2vw;
		margin-bottom: 4vw;
	}
	header.type02 p {
		font-size: 2.5vw;
		margin-bottom: 4vw;
	}
}
/* 580 */
@media (max-width: 580px) {
	header.type02 h1 {
		font-size: 2.0rem;
	}
	header.type02 p {
		font-size: 1.6rem;
	}
}

/*--------------------------------------------------------------*/
/* 共通 ul.faq */
/*--------------------------------------------------------------*/
ul.faq {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
ul.faq li {
	width: calc(92% / 3);
	margin-right: 4%;
	margin-bottom: 25px;
	text-align: center;
}
ul.faq li:nth-child(3n) {
	margin-right: 0;
}
ul.faq li p.txt {
	background: #95c8de;
	color: #fff;
	border-radius: 10px;
	font-size: 2.0rem;
	padding: 15px;
	margin-top: 8px;
	text-align: left;
	line-height: 1.6;
	position: relative;
}
ul.faq li p.txt::before {
	content: '';
	display: block;
	border-right: 6px solid transparent;
	border-bottom: 12px solid #95c8de;
	border-left: 6px solid transparent;
	position: absolute;
	top: -12px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
/* 768 */
@media (max-width: 768px) {
	ul.faq li p.txt {
		font-size: 1.7rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.faq li {
		width: calc(96% / 2);
		margin-right: 4%;
	}
	ul.faq li figure img {
		width: 80%;
	}
	ul.faq li:nth-child(3n) {
		margin-right: 4%;
	}
	ul.faq li:nth-child(2n) {
		margin-right: 0;
	}
	ul.faq li p.txt {
		font-size: 1.4rem;
		padding: 10px;
	}
}

/*--------------------------------------------------------------*/
/* 共通 aside.banner */
/*--------------------------------------------------------------*/
aside.banner {
	padding: 80px 0;
	background: #FFE7E5;
}
aside.banner ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
aside.banner ul li {
	width: 47%;
}
/* 768 */
@media (max-width: 768px) {
	aside.banner {
		padding: max(10.5vw, 45px) 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	aside.banner ul li {
		width: 100%;
	}
	aside.banner ul li:nth-child(1) {
		margin-bottom: 30px;
	}
}

/*--------------------------------------------------------------*/
/* 共通 type01 */
/*--------------------------------------------------------------*/
div.type01 {
	position: relative;
	padding-bottom: 120px;
}
div.type01 .image {
	max-width: 1010px;
	margin: 0 0 60px auto;
}
div.type01 .image img {
	border-radius: 30px;
}
div.type01 .image img.br25 {
	border-radius: 25px;
}
div.type01 .text h2 {
	color: #95c8de;
	margin-bottom: 20px;
	line-height: 1.4;
}
div.type01::after {
	content: '';
	display: block;
	width: 230%;
	height: 75%;
	border-radius: 30px 0 0 30px;
	position: absolute;
	bottom: 0;
	left: 15%;
	background: url(../images/machi.png) no-repeat, #eff4f6;
	background-repeat: repeat-x;
	background-position: bottom;
	z-index: -1;
}
/* 1150 */
@media (max-width: 1150px) {
	div.type01 {
		padding-bottom: max(10.4vw, 40px);
	}
	div.type01 .image {
		margin: 0 0 max(5.25vw, 25px) auto;
	}
}
/* 580 */
@media (max-width: 580px) {
	div.type01 .image img {
		border-radius: 20px;
	}
	div.type01::after {
		background-size: 77% auto;
	}
	div.type01 .text h2 {
		margin-bottom: 15px;
	}
}

/*--------------------------------------------------------------*/
/* 共通 type02 */
/*--------------------------------------------------------------*/
div.type02 {
	position: relative;
}
div.type02:not(:last-child) {
	margin-bottom: 80px;
}
div.type02.mb {
	margin-bottom: 0;
}
div.type02 .flex {
	align-items: center;
}
div.type02.reverse .flex {
	flex-direction: row-reverse;
}
/* left */
div.type02 .flex .left {
	width: 55%;
	height: max(29vw, 450px);
}
div.type02 .flex .left .box {
	position: absolute;
	top: 0;
	left: 0;
	height: max(29vw, 450px);
	width: 52%;
}
div.type02.reverse .flex .left .box {
	left: initial;
	right: 0;
}
div.type02 .flex .left img {
	border-radius: 0 30px 30px 0;
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.type02.reverse .flex .left img {
	border-radius: 30px 0 0 30px;
}
/* right */
div.type02 .flex .right {
	width: 45%;
	padding-left: 30px;
}
div.type02 .flex .right .wrap {
	position: relative;
}
div.type02 .flex .right .wrap h1 {
	color: #95c8de;
	margin-bottom: 30px;
	line-height: 1.4;
}
div.type02 .flex .right .wrap h1 .box {
	background: #95c8de;
	color: #fff;
	border-radius: 9px;
	line-height: 1.1;
	display: inline-block;
	padding: 1px 15px 3px 8px;
}
div.type02 .flex .right .wrap p.txt {
	margin-bottom: 30px;
}
/* 1150 */
@media (max-width: 1150px) {
	div.type02 .flex .right {
		padding-left: 2vw;
	}
}
/* 768 */
@media (max-width: 768px) {
	div.type02 .flex .right {
		padding-left: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	div.type02.mb1 {
		margin-bottom: 0;
	}
	div.type02.mb2 {
		margin-bottom: 20px;
	}
	.type02:not(:last-child) {
		margin-bottom: 40px;
	}
	/* left */
	div.type02 .flex .left {
		width: 100%;
		height: initial;
		margin-bottom: 35px;
	}
	div.type02 .flex .left .box {
		position: initial;
		height: 330px;
		width: calc(100% + 20px);
		margin-left: -20px;
	}
	.type02.reverse .flex .left .box {
		margin-left: 0;
		margin-right: -20px;
	}
	div.type02 .flex .left img {
		border-radius: 0 30px 30px 0;
		object-fit: cover;
		height: 100%;
	}
	.type02.reverse .flex .left img {
		border-radius: 30px 0 0 30px;
	}
	/* right */
	div.type02 .flex .right {
		width: 100%;
		padding-left: 0;
	}
}

/*--------------------------------------------------------------*/
/* 共通 type03 */
/*--------------------------------------------------------------*/
div.type03 .image {
	margin-bottom: 60px;
}
div.type03 .text {
	text-align: center;
}

/*--------------------------------------------------------------*/
/* 共通 section.point */
/*--------------------------------------------------------------*/
section.point.pd_std {
	padding-bottom: 0;
}
section.point h1.yon {
	line-height: 1.3;
}
section.point ul li {
	margin-bottom: 80px;
	display: flex;
	flex-wrap: wrap;
}
section.point ul li:nth-child(2n) {
	flex-direction: row-reverse;
}
/* div.txt */
section.point ul li div.txt {
	padding-right: 40px;
	flex: 1;
}
section.point ul li:nth-child(2n) div.txt {
	padding-right: 0;
	padding-left: 40px;
}
section.point ul li div.txt h2 {
	font-size: 3.0rem;
	color: #95c8de;
	margin-bottom: 10px;
	position: relative;
	padding-left: 65px;
}
section.point ul li div.txt h2::before {
	content: attr(data-num);
	display: inline-block;
	background: #95c8de;
	color: #fff;
	padding: 9px 16px 7px 16px;
	line-height: 1;
	border-radius: 4px;
	position: absolute;
	top: 0;
	left: 0;
}
section.point ul li div.txt p {
	line-height: 2;
}
/* figure */
section.point ul li figure {
	max-width: 400px;
	width: 40%;
}
/* 1200 */
@media (max-width: 1200px) {
	section.point ul li {
		margin-bottom: max(6.65vw, 50px);
	}
	section.point ul li div.txt h2 {
		font-size: max(2.5vw, 2.0rem);
		padding-left: max(5.4vw, 55px);
	}
}
/* 768 */
@media (max-width: 768px) {
	/* div.txt */
	section.point:not(.spdrop) ul li div.txt {
		padding: 0!important;
		flex: initial;
		width: 100%;
		margin-bottom: 20px;
	}
	section.point ul li div.txt h2 {
		padding-left: max(7.5vw, 45px);
	}
	/* figure */
	section.point:not(.spdrop) ul li figure {
		max-width: initial;
		width: 100%;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* div.txt */
	section.point ul li div.txt {
		margin-bottom: 10px;
	}
	section.point.spdrop ul li div.txt {
		padding: 0!important;
		flex: initial;
		width: 100%;
		margin-bottom: 20px;
	}
	section.point ul li div.txt h2::before {
		padding: 7px 12px 5px 12px;
	}
	/* figure */
	section.point.spdrop ul li figure {
		max-width: initial;
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* body */
/*--------------------------------------------------------------*/
body {
	margin-top: 80px;
}
/* 900 */
@media (max-width: 900px) {
	body {
		margin-top: 60px;
	}
}

/*--------------------------------------------------------------*/
/* #header */
/*--------------------------------------------------------------*/
#header {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
}
.pc_head nav div.contact a:hover {
	opacity: 0.8;
}
#header .pc_head {
	background: #fff;
	padding: 0 0 0 20px;
	transition: top .3s ease;
	position: relative;
}
#header .pc_head .flex {
	display: flex;
	justify-content: space-between;
	gap: 0 25px;
	align-items: center;
}
/* logo */
#header .pc_head .logo {
	width: 239px;
	transition: .3s width, height ease;
}
/* nav */
#header .pc_head nav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex: 1;
	max-width: 1300px;
	transition: .3s width ease;
}
/* ul.gnav */
#header .pc_head nav ul.gnav {
	display: flex;
	justify-content: space-around;
	width: 100%;
	position: relative;
	flex: 5;
}
#header .pc_head nav ul.gnav::after {
	content: '';
	height: 150%;
	width: 2px;
	border-right: 1px solid #ccc;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
#header .pc_head nav ul.gnav > li {
	font-weight: bold;
	text-align: center;
	position: relative;
}
#header .pc_head nav ul.gnav > li:last-child {
	border-right: none;
}
#header .pc_head nav ul.gnav > li a:hover {
	color: initial;
}
#header .pc_head nav ul.gnav > li > div.sub > span.txt::after,
#header .pc_head nav ul.gnav > li > a::after {
	content: '';
	display: block;
	width: 0;
	height: 3px;
	background: #2a71b9;
	position: absolute;
	bottom: -5px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	transition: .3s width ease;
}
#header .pc_head nav ul.gnav > li > div.sub:hover > span.txt::after,
#header .pc_head nav ul.gnav > li > a:hover::after {
	width: 100%;
}
/* div.freedial */
#header .pc_head nav div.freedial {
	flex: 1;
}
#header .pc_head nav div.freedial a {
	font-weight: bold;
	padding: 0 25px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: .3s;
}
#header .pc_head nav div.freedial a span.txt {
	display: flex;
	align-items: center;
	white-space: nowrap;
}
#header .pc_head nav div.freedial a span.txt::before {
	margin-right: 5px;
	font-size: 2.4rem;
}
/* div.sns */
#header .pc_head nav div.sns {
	display: flex;
	flex: 1;
	justify-content: space-around;
	align-items: center;
	gap: 0 10px;
	padding: 0 10px;
}
#header .pc_head nav div.sns img {
	max-width: 50px;
}
/* div.contact */
#header .pc_head nav div.contact a {
	font-weight: bold;
	padding: 0 25px;
	height: 80px;
	background: #2a71b9;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	transition: .3s;
}
/* div.contact */
#header .pc_head nav div.contact a img {
	width: 40px;
}
/* fixed */
#header.fixed .pc_head {
	background: rgba(255,255,255,1);
}
/* 1600 */
@media (max-width: 1600px) {
	/* div.contact */
	#header .pc_head nav div.contact a {
		padding: 0 max(1.55vw, 15px);
	}
	/* div.freedial */
	#header .pc_head nav div.freedial a {
		padding: 0 max(1.55vw, 15px);
	}
}
/* 1300 */
@media (max-width: 1300px) {
	/* logo */
	#header .pc_head .logo {
		width: 210px;
	}
	/* nav */
	#header .pc_head nav ul.gnav::after {
		content: none;
	}
	/* div.freedial */
	#header .pc_head nav div.freedial {
		display: none;
	}
}
/* 1100 */
@media (max-width: 1110px) {
	/* nav */
	#header .pc_head nav ul.gnav {
		padding-right: 10px;
	}
	#header .pc_head nav ul.gnav > li:last-child {
		display: none;
	}
}
/* 900 */
@media (max-width: 900px) {
	/* logo */
	#header .pc_head .logo {
		height: 60px;
		width: 175px;
		display: flex;
		align-items: center;
	}
}
/* 768 */
@media (max-width: 768px) {
	#header .pc_head nav {
		display: none;
	}
}
/* 580 */
@media (max-width: 580px) {
	#header .pc_head {
		padding-left: 10px;
	}
}

/*--------------------------------------------------------------*/
/* #header サブメニュー */
/*--------------------------------------------------------------*/
#header .pc_head nav ul.gnav > li > div.sub {
	cursor: pointer;
}
#header .pc_head nav ul.gnav > li > div.sub span.txt {
	position: relative;
	z-index: 3;
}
#header .pc_head nav ul.gnav > li > div.sub ul {
	position: absolute;
	top: -30px;
	left: 50%;
	padding: 53px 5px 15px 5px;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	transition: all .3s ease;
	z-index: 1;
	opacity: 0;
	visibility: hidden;
}
#header .pc_head nav ul.gnav > li > div.sub ul li {
	position: relative;
	text-align: center;
	padding: 10px 20px;
	white-space: nowrap;
	background: #fff;
	font-size: 1.4rem;
	box-shadow: 3px 4px 3px 0px rgba(0,0,0,0.2);
}
#header .pc_head nav ul.gnav > li > div.sub ul li:first-child {
	border-top: 2px solid #2a71b9;
	padding-top: 20px;
	border-radius: 20px 0 0 0;
	box-shadow: 3px 4px 3px 0px rgba(0,0,0,0.2);
}
#header .pc_head nav ul.gnav > li > div.sub ul li:last-child {
	padding-bottom: 20px;
	box-shadow: 3px 4px 3px 0px rgba(0,0,0,0.2);
}
/* hover */
#header .pc_head nav ul.gnav > li:hover > div.sub ul {
	top: 0px;
	opacity: 1;
	visibility: visible;
}
/* 1200 */
@media (max-width: 1200px) {
	#header .pc_head nav ul.gnav > li > div.sub ul {
		padding-top: 4vw;
	}
}

/*--------------------------------------------------------------*/
/* #header SP MENU関連 */
/*--------------------------------------------------------------*/
/* sp_menu_btn */
#header .sp_menu_btn {
	display: none;
	width: 35px;
	position: absolute;
	top: 20px;
	right: 16px;
	cursor: pointer;
	z-index: 99;
}
#open {
	height: 21px;
}
.menu_line {
	background: #2a71b9;
	display: block;
	height: 2px;
	position: absolute;
	transition:transform .3s;
	width: 100%;
}
.menu--active .menu_line {
	background: #888!important;
}
.menu:hover .menu_line {
	background: #ccc;
}
.menu_line-center {
	top: 9px;
}
.menu_line-bottom {
	bottom: 0;
}
.menu--active .menu_line-top {
	top: 8px;
	transform: rotate(45deg);
}
.menu--active .menu_line-center {
	transform:scaleX(0);
}
.menu--active .menu_line-bottom {
	bottom: 10px;
	transform: rotate(135deg);
}
/* sp_menu_right */
.sp_menu_right {
	background: #fff;
	height: 100vh;
	overflow-y: auto;
	position: fixed;
	right: 0;
	top: 0;
	transform: translateX(100%);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	width: 90%;
	padding: 40px 90px 75px 45px;
	z-index: 98;
	-webkit-overflow-scrolling: touch;
	display: none;
}
.sp_menu_right .logo img {
	width: 160px;
	margin-left: -20px;
}
.sp_menu_right ul.nav {
	margin-bottom: 20px;
}
.sp_menu_right ul.nav li,
.sp_menu_right ul.nav li dt {
	font-size: 1.6rem;
}
.sp_menu_right ul.nav > li {
	padding: 10px 0;
	position: relative;
}
.sp_menu_right ul.nav > li .sub_link {
	margin-top: 5px;
}
.sp_menu_right ul.sns {
	display: flex;
	justify-content: space-between;
	width: 180px;
}
.sp_menu_right ul.sns > li {
	width: 30%;
}
.menu--active .sp_menu_right {
	right: 80%;
}
/* 開閉 */
.sp_menu_right dl {
	display: flex;
	flex-direction: column;
	width: 100%;
}
.sp_menu_right dl dt {
	font-weight: normal;
	width: 100%;
	display: block;
	cursor: pointer;
	padding: 0;
}
.sp_menu_right dl dt.pm::after {
	content: '\f217';
	font-family: "Ionicons";
	margin-left: 5px;
	font-size: 1.3rem;
}
.sp_menu_right dl dt.open.pm::after {
	content: '\f208';
	font-family: "Ionicons";
}
.sp_menu_right dl dt:hover {
	color: #f7c1c1;
}
.sp_menu_right dl dd {
	font-weight: normal;
	padding: 0 0 0 15px;
	display: none;
	border: none!important;
}
.sp_menu_right dl.open dd {
	display: block;
}
.sp_menu_right ul.ya li {
	margin-top: 15px;
}
.sp_menu_right ul.ya li::before {
	content: '\f363';
	font-family: "Ionicons";
	margin-right: 8px;
}
/* sp_mail_tel */
.sp_menu_right .sp_mail_tel a.btn_contact {
	background: #DD1B22;
	color: #fff;
	display: flex;
	justify-content: center;
	width: 135px;
	padding: 7px 0;
	margin-bottom: 20px;
}
.sp_menu_right .sp_mail_tel a.btn {
	padding: 15px 10px;
	margin-top: 10px;
}
.sp_menu_right .sp_mail_tel a.tel {
	font-size: 2.0rem;
	font-weight: 700;
	display: flex;
	align-items: center;
}
.sp_menu_right .sp_mail_tel a.tel img {
	width: 22px;
	margin-right: 3px;
}
/* sp_sns */
.sp_menu_right .sp_sns {
	display: flex;
	gap: 0 13px;
	margin-top: 20px;
}
/* sp_menu_left */
.sp_menu_left {
	transform: translateX(-100%);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	background: #226cb6;
	position: fixed;
	left: 0;
	top: 0;
	height: 100vh;
	width: 30%;
	text-align: center;
	z-index: 98;
	display: none;
}
.sp_menu_left::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/uni.png) no-repeat;
	background-position: top 7% right 5px;
	background-size: 55%;
}
.menu--active .sp_menu_left {
	left: 20%;
}
/* 768 */
@media (max-width: 768px) {
	/* sp_menu_btn */
	#header .sp_menu_btn {
		display: block;
	}
}

/*--------------------------------------------------------------*/
/* SP MENU */
/*--------------------------------------------------------------*/
.menu {
	position: fixed;
	right: 0;
	top: 0;
	background: rgba(0,36,169,0.9);
	color: #F0F0F0;
	height: 100%;
	width: 0;
	overflow: hidden;
	transition: all .3s ease;
	overflow-y: auto;
	z-index: 99;
}
.menu .logo {
	margin-top: 15%;
}
.menu .menu-inner {
	text-align: center;
	max-width: 600px;
	width: 90%;
	margin: 0 auto;
}
.menu--active {
	height: 100vh;
	overflow: hidden;
}
.menu--active .menu {
	width: 100%;
	z-index: 99;
}
.menu ul.din {
	padding-top: 40px;
	margin-bottom: 30px;
}
.menu ul.din li {
	display: flex;
	flex-direction: column;
	font-size: 2.2rem;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	margin-bottom: 10px;
	font-family: arial;
	line-height: 1;
}
.menu ul.din li:last-child {
	border-bottom: none;
}
.menu ul.din li a {
	display: contents;
}
.menu ul.din li a span.jp {
	display: block;
	font-size: 1.4rem;
	padding-top: 5px;
}
.menu .sp_contact a {
	display: block;
	max-width: 320px;
	width: 80%;
	padding: 12px;
	margin: 0 auto;
	background: #f59f09;
}
/* 580 */
@media (max-width: 580px) {
	.menu .menu-inner {
		height: 100vh;
		overflow-y: auto;
	}
}
/* 320 */
@media (max-width: 320px) {
	.menu ul.din {
		padding-top: 30px;
		margin-bottom: 15px;
	}
	.menu ul.din li {
		font-size: 2.2rem;
		line-height: 1.3;
	}
}

/*--------------------------------------------------------------*/
/* MAIN VISUAL */
/*--------------------------------------------------------------*/
#main_visual {
	position: relative;
	height: calc(100vh - 80px);
	transition: .6s clip-path ease;
	clip-path: inset(0 round 0);
}
#main_visual.active {
	clip-path: inset(0 round 600px 0 0 0);
}
#main_visual .main_visual_txt {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 582px;
	width: 85%;
}
#main_visual .content {
	height: 100%;
}
/* txt_news */
dl.txt_news {
	width: 550px;
	display: flex;
	background: #fff;
	position: absolute;
	bottom: 30px;
	right: 30px;
	border-radius: 40px;
}
dl.txt_news dt {
	background: #a5c4d6;
	color: #fff;
	font-weight: bold;
	padding: 15px 25px;
	border-radius: 40px 0 0 40px;
}
dl.txt_news dd {
	flex: 1;
	padding: 15px 25px;
	white-space: nowrap;
}
/* 1200 */
@media (max-width: 1200px) {
	#main_visual.active {
		clip-path: inset(0 round 50vw 0 0 0);
	}
}
/* 580 */
@media (max-width: 580px) {
	#main_visual.active {
		height: calc(90vh - 60px)!important;
	}
	dl.txt_news {
		width: 95%;
		right: 2.5%;
	}
	dl.txt_news dt {
		padding: 15px 15px 15px 22px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	dl.txt_news dd {
		padding: 15px;
		white-space: initial;
	}
}

/*--------------------------------------------------------------*/
/* TOP => CONCEPT */
/*--------------------------------------------------------------*/
article.top_concept .wrap {
	position: relative;
}
/* left */
article.top_concept .wrap .flex .left {
	width: 43%;
}
article.top_concept .wrap .flex .left img {
	position: absolute;
	top: 0;
	left: 0;
	width: 43%;
	border-radius: 0 30px 30px 0;
	object-fit: cover;
	max-height: 600px;
	min-height: 520px;
	z-index: 3;
}
/* right */
article.top_concept .wrap .flex .right {
	width: 57%;
	padding-left: 30px;
}
article.top_concept .wrap .flex .right header {
	margin-bottom: 40px;
}
article.top_concept .wrap .flex .right .wrap {
	padding: 40px 0;
	position: relative;
	z-index: 1;
}
article.top_concept .wrap .flex .right .wrap::after {
	content: '';
	display: block;
	width: 230%;
	height: 100%;
	border-radius: 30px 0 0 30px;
	position: absolute;
	top: 0;
	left: -70%;
	background: url(../images/machi.png) no-repeat, #eff4f6;
	background-repeat: repeat-x;
	background-position: bottom;
	z-index: -1;
}
/* 580 */
@media (max-width: 580px) {
	article.top_concept .wrap .flex {
		padding-top: 78px;
	}
	/* left */
	article.top_concept .wrap .flex .left {
		width: calc(100% + 20px);
		margin-left: -20px;
		position: relative;
		z-index: 2;
	}
	article.top_concept .wrap .flex .left img {
		position: initial;
		width: 100%;
		border-radius: 0 20px 20px 0;
		min-height: initial;
	}
	/* right */
	article.top_concept .wrap .flex .right {
		width: calc(100% + 20px);
		padding: 180px 20px 20px 20px;
		position: relative;
		z-index: 1;
		background: url(../images/machi.png) no-repeat, #eff4f6;
		background-repeat: repeat-x;
		background-position: bottom;
		background-size: 200%;
		border-radius: 20px 0 0 20px;
		transform: translateY(-150px);
		margin-right: -20px;
		margin-bottom: -150px;
	}
	article.top_concept .wrap .flex .right header {
		margin-bottom: 20px;
	}
	article.top_concept .wrap .flex .right .wrap {
		padding: 10px 0 0 0;
	}
	article.top_concept .wrap .flex .right .wrap::after {
		content: none;
	}
}

/*--------------------------------------------------------------*/
/* TOP => Results */
/*--------------------------------------------------------------*/
article.top_results header {
	text-align: center;
}
article.top_results .flex {
	flex-direction: row-reverse;
}
/* left */
article.top_results .flex .left {
	width: 50%;
}
article.top_results .flex .left p.txt {
	margin-bottom: 30px;
}
/* left -> table*/
article.top_results .flex .left table {
	border-top: 1px solid #ccc;
	margin-bottom: 25px;
}
article.top_results .flex .left table tr {
	border-bottom: 1px solid #ccc;
}
article.top_results .flex .left table tr td:nth-child(1)::after {
	content: '';
	display: block;
	width: 2px;
	height: 50%;
	border-right: 1px solid #ccc;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

article.top_results .flex .left table tr td {
	padding: 25px;
	position: relative;
}
article.top_results .flex .left table tr td a {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
article.top_results .flex .left table tr td a:hover h2 {
	color: initial;
	transition: .3s color ease;
}
article.top_results .flex .left table tr td a:hover span.txt {
	color: #2a71b9;
}
article.top_results .flex .left table tr td a:hover .maru {
	background: #2a71b9;
	color: #fff;
}
article.top_results .flex .left table tr td a h2 {
	font-size: 2.0rem;
}
article.top_results .flex .left table tr td a span.txt {
	color: #a8bec4;
	transition: .3s color ease;
}
article.top_results .flex .left h3 {
	text-align: center;
	margin-bottom: 20px;
}
article.top_results .flex .left a.btn {
	margin-top: 0;
}
/* right */
article.top_results .flex .right {
	width: 50%;
}
article.top_results .flex .right img {
	width: 100%;
}
article.top_results .flex .right .map {
	position: relative;
	display: inline-block;
}
article.top_results .flex .right .map .area .basyo {
	font-size: 1.8rem;
	font-weight: bold;
	display: block;
	line-height: 1.2;
}
article.top_results .flex .right .map .area {
	position: absolute;
}
article.top_results .flex .right .map .area .num {
	font-size: 2.6rem;
	font-weight: bold;
}
article.top_results .flex .right .map .area .ken {
	font-family: initial;
	color: #333;
	font-size: 1.3rem;
}
article.top_results .flex .right .map .area1 {
	top: 7%;
	right: 15%;
}
article.top_results .flex .right .map .area2 {
	top: 22%;
	right: 3%;
}
article.top_results .flex .right .map .area3 {
	top: 25%;
	left: 15%;
}
article.top_results .flex .right .map .area4 {
	top: 45%;
	left: 17%;
}
article.top_results .flex .right .map .area5 {
	bottom: 12%;
	left: 2%;
}
/* 768 */
@media (max-width: 768px) {
	/* left */
	article.top_results .flex .left {
		width: 100%;
	}
	/* right */
	article.top_results .flex .right {
		width: 100%;
		text-align: center;
		margin-bottom: 30px;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* left -> table*/
	article.top_results .flex .left table tr td {
		padding: 20px 0;
	}
	article.top_results .flex .left table tr td:nth-child(1) {
		padding-right: 20px;
	}
	article.top_results .flex .left table tr td:nth-child(2) {
		padding-left: 20px;
	}
	/* right */
	article.top_results .flex .right .map .area .basyo {
		font-size: 1.6rem;
	}
	article.top_results .flex .right .map .area .num {
		font-size: 2.2rem;
	}
}

/*--------------------------------------------------------------*/
/* TOP => Reason */
/*--------------------------------------------------------------*/
article.top_reason header {
	text-align: center;
	margin-bottom: 80px;
}
article.top_reason .row {
	position: relative;
}
article.top_reason .row:not(:last-child) {
	margin-bottom: 80px;
}
article.top_reason .row .flex {
	align-items: flex-end;
}
article.top_reason .row.reverse .flex {
	flex-direction: row-reverse;
}
/* left */
article.top_reason .row .flex .left {
	width: 55%;
	height: max(29vw, 450px);
}
article.top_reason .row .flex .left .box {
	position: absolute;
	top: 0;
	left: 0;
	height: max(29vw, 450px);
	width: 52%;
}
article.top_reason .row.reverse .flex .left .box {
	left: initial;
	right: 0;
}
article.top_reason .row .flex .left img {
	border-radius: 0 30px 30px 0;
	object-fit: cover;
	height: 100%;
}
article.top_reason .row.reverse .flex .left img {
	border-radius: 30px 0 0 30px;
}
/* right */
article.top_reason .row .flex .right {
	width: 45%;
	padding-left: 30px;
}
article.top_reason .row .flex .right .wrap {
	position: relative;
}
article.top_reason .row .flex .right .wrap .title {
	position: relative;
	margin-bottom: 40px;
}
article.top_reason .row .flex .right .wrap .title .num {
	font-size: 20rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: -5px;
	color: #f6fafb;
	position: absolute;
	bottom: -20px;
	right: 0;
	z-index: -1;
}
/* 1150 */
@media (max-width: 1150px) {
	article.top_reason .row .flex .right .wrap .title .num {
		font-size: max(17vw, 10rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	article.top_reason header {
		margin-bottom: 40px;
	}
	article.top_reason .row:not(:last-child) {
		margin-bottom: 40px;
	}
	/* left */
	article.top_reason .row .flex .left {
		width: 100%;
		height: initial;
		margin-bottom: 35px;
	}
	article.top_reason .row .flex .left .box {
		position: initial;
		height: 220px;
		width: calc(100% + 20px);
		margin-left: -20px;
	}
	article.top_reason .row.reverse .flex .left .box {
		margin-left: 0;
		margin-right: -20px;
	}
	article.top_reason .row .flex .left img {
		border-radius: 0 30px 30px 0;
		object-fit: cover;
		height: 100%;
	}
	article.top_reason .row.reverse .flex .left img {
		border-radius: 30px 0 0 30px;
	}
	/* right */
	article.top_reason .row .flex .right {
		width: 100%;
		padding-left: 0;
	}
	article.top_reason .row .flex .right .wrap .title {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* TOP => Point */
/*--------------------------------------------------------------*/
article.top_point {
	background: url(../images/machi.png) no-repeat, #f9f9f9;
	background-repeat: repeat-x;
	background-position: bottom;
}
article.top_point header {
	text-align: center;
}
article.top_point ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
article.top_point ul li {
	width: 31.5%;
}
article.top_point ul li h2 {
	display: flex;
	align-items: center;
	margin-bottom: -5px;
	line-height: 1.2;
}
/* balloon */
article.top_point ul li h2 .balloon {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	aspect-ratio: 1 / 1;
	padding: 20px 20px 15px 20px;
	margin-right: 15px;
	background: #95c8de;
	color: #fff;
	border-radius: 50%;
	position: relative;
}
article.top_point ul li h2 .balloon .point {
	color: #fff;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 5px;
}
article.top_point ul li h2 .balloon .num {
	color: #fff;
	font-size: 3.0rem;
	font-weight: 700;
	line-height: 1;
}
article.top_point ul li h2 .balloon::after {
	content: '';
	display: block;
	margin: 0 auto;
	width: 0;
	height: 0;
	border-top: 15px solid #95c8de;
	border-right: 10px solid transparent;
	border-bottom: 0 solid transparent;
	border-left: 10px solid transparent;
	position: absolute;
	bottom: -10px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
article.top_point ul li img {
	border-radius: 30px;
	margin-bottom: 15px;
}
/* div.link（共通）*/
div.link {
	text-align: right;
}
div.link.left {
	text-align: left;
}
div.link a {
	display: inline-flex;
	align-items: center;
}
div.link a span.txt {
	margin-right: 10px;
	font-weight: bold;
}
div.link.left a span.txt {
	margin-left: 10px;
	margin-right: 0;
}
div.link.left.min a span.txt {
	margin-left: 3px;
}
div.link a:hover {
	color: initial;
}
/* 580 */
@media (max-width: 580px) {
	article.top_point {
		background-size: 147% auto;
	}
	article.top_point ul li {
		width: 100%;
		margin-bottom: 40px;
	}
	/* balloon */
	article.top_point ul li h2 .balloon {
		padding: 15px 15px 12px 15px;
	}
	article.top_point ul li h2 .balloon .point {
		font-size: 1.2rem;
		margin-bottom: 4px;
	}
	article.top_point ul li h2 .balloon .num {
		font-size: 2.6rem;
	}
}

/*--------------------------------------------------------------*/
/* TOP => VOICE */
/*--------------------------------------------------------------*/
article.top_voice {
	position: relative;
}
article.top_voice .wrap {
	position: relative;
}
article.top_voice .voice_content {
	overflow: hidden;
	padding-left: 20px;
	width: calc(1150px + ((100% - 1150px) / 2));
	margin-left: auto;
	position: relative;
}
article.top_voice .voice_content::after {
	content: '';
	display: block;
	border-radius: 30px 0 0 30px;
	width: 100%;
	height: 65%;
	background: #eff4f6;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
}
article.top_voice .voice_content .voice_swiper {
	position: relative;
}
article.top_voice ul.voice_list {
	margin-bottom: 60px;
}
/* prev next */
article.top_voice .wrap .swiper-pager {
	position: absolute;
	top: -70px;
	right: 10%;
	width: 140px;
	z-index: 1;
}
article.top_voice .wrap .swiper-button-prev,
article.top_voice .wrap .swiper-button-next {
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	background: #333;
	transition: .3s background ease;
}
article.top_voice .wrap .swiper-button-prev:hover,
article.top_voice .wrap .swiper-button-next:hover {
	background: #2a71b9;
}
article.top_voice .wrap .swiper-button-prev::after {
	content: "\f124";
	font-family: "Ionicons";
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
}
article.top_voice .wrap .swiper-button-next::after {
	content: "\f125";
	font-family: "Ionicons";
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
}
/* 1150 */
@media (max-width: 1150px) {
	article.top_voice .voice_content {
		padding: 0 20px;
		max-width: 1150px;
		width: 100%;
		margin: 0 auto;
	}
}
/* 580 */
@media (max-width: 580px) {
	article.top_voice ul.voice_list {
		margin-bottom: 0;
	}
	article.top_voice .voice_content::after {
		width: calc(100% - 7px);
	}
	article.top_voice a.btn.big {
		width: 80%;
	}
	/* prev next */
	article.top_voice .wrap .swiper-pager {
		position: absolute;
		top: 43%;
		right: 20px;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}
	article.top_voice .wrap .swiper-button-prev {
		display: none;
	}
	article.top_voice .wrap .swiper-button-next {
		right: -5px;
	}
}

/*--------------------------------------------------------------*/
/* 共通 voice_list */
/*--------------------------------------------------------------*/
ul.voice_list li figure {
	aspect-ratio: 1 / 1;
	width: 45%;
	border: 5px solid #95c8de;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto -30% auto;
	position: relative;
	z-index: 3;
}
ul.voice_list li a:hover figure img {
	opacity: 1;
}
ul.voice_list li .box {
	background: #fff;
	padding-top: 30%;
	border: 1px solid #eff4f6;
	border-radius: 30px;
	transition: .3s border ease;
	min-height: 300px;
}
ul.voice_list li .body {
	padding: 30px;
	min-height: 300px;
	position: relative;
}
ul.voice_list li .body h2 {
	font-size: 2.0rem;
	margin-bottom: 10px;
	line-height: 1.4;
}
ul.voice_list li .body p {
	font-size: 1.5rem;
}
ul.voice_list li .body p.spec {
	margin-top: 10px;
	text-align: right;
	position: absolute;
	bottom: 30px;
	right: 30px;
}
ul.voice_list li:hover .body h2,
ul.voice_list li:hover .body p {
	color: initial;
}
ul.voice_list li a:hover .box {
	border: 1px solid #95c8de;
}
/* 580 */
@media (max-width: 580px) {
	ul.voice_list li .box {
		min-height: 250px;
	}
	ul.voice_list li .body {
		padding: 20px;
		min-height: 250px;
	}
	ul.voice_list li .body h2 {
		font-size: 1.6rem;
	}
	ul.voice_list li .body p {
		font-size: 1.3rem;
	}
}

/*--------------------------------------------------------------*/
/* SUB共通 header#sub_header */
/*--------------------------------------------------------------*/
header#sub_header {
	padding: 120px 0 30px 0;
	background: url(../images/subhead_part.png) no-repeat;
	background-position: top 10% left 10%;
	position: relative;
	transition: .3s background ease;
}
header#sub_header .content h1 {
	margin-bottom: 60px;
}
header#sub_header .content .image {
	margin-right: calc((100vw - 1110px) / 2);
	width: calc(100% + ((100vw - 1110px) / 2));
	height: 550px;
	overflow: hidden;
}
header#sub_header .content .image img {
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
	height: 100%;
}
/* sub_header2 */
header#sub_header2 {
	position: relative;
	transition: .3s background ease;
}
/* 1150 */
@media (max-width: 1150px) {
	header#sub_header {
		padding: max(10.4vw, 40px) 0 30px 0;
		background-position: top 10% left 0;
		background-size: 60% auto;
	}
	header#sub_header .content .image {
		margin-right: -20px;
		width: calc(100% + 20px);
		height: max(50vw, 200px);
		overflow: hidden;
	}
}
/* 580 */
@media (max-width: 580px) {
	header#sub_header {
		background-position: top 10px left 0;
	}
	header#sub_header .content h1 {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* SUB共通 header#sub_header3 */
/*--------------------------------------------------------------*/
header#sub_header3 {
	margin-top: 68px;
	margin-bottom: 80px;
	padding: 150px 0 100px 0;
	background: url(../images/subhead_part.png), url(../images/subhead_reform.jpg);
	background-repeat: no-repeat, no-repeat;
	background-position: top left 10%, center right;
	background-size: 30%, auto 100%;
	position: relative;
	transition: .3s background ease;
	text-align: left;
}
header#sub_header3 .content h1 {
	margin-bottom: 20px;
}
header#sub_header3 .content .image {
	margin-right: calc((100vw - 1110px) / 2);
	width: calc(100% + ((100vw - 1110px) / 2));
	height: 550px;
	overflow: hidden;
}
header#sub_header3 .content .image img {
	object-fit: cover;
	object-position: 50% 50%;
	width: 100%;
	height: 100%;
}
/* 1000 */
@media (max-width: 1000px) {
	header#sub_header3 {
		margin-top: max(6.8vw, 30px); //68px;
		margin-bottom: max(8vw, 30px); //80px;
	}
}
/* 580 */
@media (max-width: 580px) {
	header#sub_header3 {
		margin-top: 20px;
		margin-bottom: 30px;
		padding: 50px 0 20px 0;
		background-position: top left 15%, bottom right;
		background-size: 75%, 90% auto;
	}
	header#sub_header3 .content h1 {
		margin-bottom: 0px;
		padding-left: 20px;
	}
	header#sub_header3 .content span.eng {
		letter-spacing: -0.5px;
		margin-bottom: 40px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 地盤ページ */
/*--------------------------------------------------------------*/
section.jiban02 .hr {
	margin-bottom: 0;
}
/* jiban02_01 */
section.jiban02_01 h2 {
	color: #95c8de;
	margin-bottom: 30px;
}
section.jiban02_01 p.txt {
	margin-bottom: 20px;
}
section.jiban02_01 .body:not(:last-child) {
	margin-bottom: 120px;
}
section.jiban02_01 .body.flex {
	margin-bottom: 70px;
}
section.jiban02_01 .body.flex p.txt {
	padding-right: 30px;
	width: 55%;
}
section.jiban02_01 .body.flex .img {
	width: 45%;
	text-align: left;
	transform: translateY(-50px);
}
/* jiban02_02 */
section.jiban02_02 h2 {
	color: #95c8de;
	margin-bottom: 30px;
}
section.jiban02_02 p.txt {
	margin-bottom: 20px;
}
section.jiban02_02 .body:not(:last-child) {
	margin-bottom: 120px;
}
/* ul.hosyou */
section.jiban02_02 ul.hosyou {
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 0;
}
section.jiban02_02 ul.hosyou li {
	color: #fbb03b;
	width: 31.5%;
	padding: 40px 20px;
	border: 2px solid #95c8de;
	text-align: center;
	font-size: 2.4rem;
}
/* ul.point */
section.jiban02_02 ul.point {
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 40px 5%;
	margin-bottom: 30px;
}
section.jiban02_02 ul.point li {
	width: calc(90% / 3);
}
section.jiban02_02 ul.point li .flex {
	align-items: center;
	gap: 0 15px;
	margin-bottom: -15px;
	position: relative;
	z-index: 2;
}
section.jiban02_02 ul.point li .flex span.circle {
	font-size: 1.5rem;
	display: block;
	aspect-ratio: 1 / 1;
	width: 90px;
	border-radius: 50px;
	background: #64b2cf;
	text-align: center;
	color: #fff;
	padding-top: 20px;
	position: relative;
}
section.jiban02_02 ul.point li .flex span.circle::after {
	content: '';
	width: 14px;
	height: 14px;
	display: block;
	position: absolute;
	bottom: -11px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	background: #64b2cf;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
}
section.jiban02_02 ul.point li .flex span.circle span.p {
	line-height: 1;
}
section.jiban02_02 ul.point li .flex span.circle span.num {
	display: block;
	font-size: 3.0rem;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}
section.jiban02_02 ul.point li .flex h2 {
	color: #333;
	font-size: 2.4rem;
	margin-bottom: 0;
	flex: 1;
	line-height: 1.2;
}
section.jiban02_02 ul.point li table {
	border-collapse: separate;
	border-spacing: 0 6px;
	width: 100%;
}
section.jiban02_02 ul.point li table td {
	border: 2px solid #64b2cf;
	text-align: center;
	padding: 3px 0;
}
/* 1200 */
@media (max-width: 1200px) {
	section.jiban02_02 ul.point li .flex span.circle {
		width: max(7.5vw, 65px);
		padding-top: max(1.666vw, 13px);
	}
	section.jiban02_02 ul.point li .flex span.circle span.num {
		font-size: max(2.5vw, 2.0rem);
	}
	section.jiban02_02 ul.point li .flex h2 {
		font-size: max(2vw, 1.8rem);
	}
}
/* 1000 */
@media (max-width: 1000px) {
	section.jiban02_02 ul.hosyou {
		margin-top: max(4vw, 20px);
	}
	section.jiban02_02 ul.hosyou li {
		font-size: max(2.4vw, 1.6rem);
	}
}
/* 768 */
@media (max-width: 768px) {
	section.jiban02_02 ul.point li {
		max-width: 500px;
		width: 100%;
		margin: 0 auto;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* jiban02_01 */
	section.jiban02_01 h2 {
		color: #95c8de;
		margin-bottom: 10px;
	}
	section.jiban02_01 .body:not(:last-child) {
		margin-bottom: 40px;
	}
	section.jiban02_01 .body.flex p.txt {
		padding-right: 0;
		width: 100%;
	}
	section.jiban02_01 .body.flex .img {
		width: 100%;
		text-align: center;
		transform: translateY(0);
	}
	/* jiban02_02 */
	section.jiban02_02 ul.point li .flex {
		margin-bottom: -10px;
	}
	section.jiban02_02 h2 {
		color: #95c8de;
		margin-bottom: 10px;
	}
	section.jiban02_02 .body:not(:last-child) {
		margin-bottom: 40px;
	}
	section.jiban02_02 ul.hosyou li {
		width: 100%;
		padding: 20px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 ドア door02 */
/*--------------------------------------------------------------*/
section.door02 .type02 .right .wrap span.flex {
	white-space: nowrap;
}
section.door02 .type02 .right .wrap span.flex img {
	width: 50%;
	max-width: 213px;
}
/* door02_01 */
section.door02_01 {
	background: #f9f9f9;
}
section.door02_01 ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
section.door02_01 ul li {
	width: 31.5%;
}
section.door02_01 ul li dl dt:nth-child(1) {
	font-size: 1.4rem;
	color: #2a71b9;
	margin-bottom: 5px;
}
section.door02_01 ul li dl dt:nth-child(2) {
	font-size: 2.0rem;
	margin-bottom: 13px;
}
section.door02_01 ul li dl dd img {
	margin-bottom: 13px;
	border-radius: 20px;
	width: 100%;
}
/* 580 */
@media (max-width: 580px) {
	section.door02_01 ul li {
		width: 100%;
		margin-bottom: 60px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 ドアラインナップ */
/*--------------------------------------------------------------*/
section.door_lineup.lineup01 .hr {
	margin-bottom: 60px;
}
section.door_lineup.lineup01 p.exp01 {
	font-size: 2.0rem;
	margin-top: 30px;
	text-align: center;
}
section.door_lineup.lineup01 a.btn.center {
	margin-bottom: 0;
}
/* 580 */
@media (max-width: 580px) {
	section.door_lineup.lineup01 p.exp01 {
		font-size: 1.5rem;
		margin-top: 20px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 ドアラインナップ（共通） */
/*--------------------------------------------------------------*/
ul.door {
	display: flex;
	flex-wrap: wrap;
}
ul.door li {
	width: calc(92% / 5);
	margin-right: 2%;
	margin-bottom: 25px;
}
ul.door li:nth-child(5n) {
	margin-right: 0;
}
/* 768 */
@media (max-width: 768px) {
	ul.door li {
		width: calc(94% / 4);
	}
	ul.door li:nth-child(5n) {
		margin-right: 2%;
	}
	ul.door li:nth-child(4n) {
		margin-right: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.door li {
		width: calc(96% / 3);
	}
	ul.door li:nth-child(4n) {
		margin-right: 2%;
	}
	ul.door li:nth-child(3n) {
		margin-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* 下層 カラーラインナップ（共通） */
/*--------------------------------------------------------------*/
ul.color {
	display: flex;
	flex-wrap: wrap;
}
ul.color li {
	width: calc(94% / 4);
	margin-right: 2%;
	margin-bottom: 25px;
}
ul.color li:nth-child(5n) {
	margin-right: 2%;
}
ul.color li:nth-child(4n) {
	margin-right: 0;
}
/* 768 */
@media (max-width: 768px) {
	ul.color li {
		width: calc(96% / 3);
	}
	ul.color li:nth-child(4n) {
		margin-right: 2%;
	}
	ul.color li:nth-child(3n) {
		margin-right: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.color li {
		width: calc(98% / 2);
	}
	ul.color li:nth-child(3n) {
		margin-right: 2%;
	}
	ul.color li:nth-child(2n) {
		margin-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* 下層 ドア door04_01 door05_01 */
/*--------------------------------------------------------------*/
section.door04_01,
section.door05_01 {
	background: #f9f9f9;
}
/* .point3 */
ul.point3 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
ul.point3 li {
	width: 31.5%;
}
ul.point3 li dl dt {
	color: #95c8de;
	font-weight: bold;
	font-size: 2.0rem;
	border-bottom: 1px solid #000;
	padding-bottom: 15px;
	margin-bottom: 20px;
}
/* 580 */
@media (max-width: 580px) {
	ul.point3 li {
		width: 100%;
		margin-bottom: 60px;
	}
	ul.point3 li:last-child {
		margin-bottom: 0;
	}
	ul.point3 li dl dt {
		font-size: 1.8rem;
	}
}

/*--------------------------------------------------------------*/
/* 下層 窓 mado01 */
/*--------------------------------------------------------------*/
section.mado01 small,
section.mado02 small {
	text-align: right;
	display: block;
}

/*--------------------------------------------------------------*/
/* 下層 キッチン */
/*--------------------------------------------------------------*/
section.kitchen01,
section.kitchen01 .content {
	position: relative;
}
section.kitchen01::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	max-width: 236px;
	width: 35%;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 70%;
	left: 10%;
	z-index: -1;
}
section.kitchen01::before {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	max-width: 148px;
	width: 25%;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 65%;
	right: 10%;
	z-index: -1;
}
section.kitchen01 .content::before {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	max-width: 100px;
	width: 20%;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 2%;
	right: 10%;
	z-index: -1;
}
section.kitchen01 header h1 {
	text-align: center;
	margin-bottom: 40px;
	color: #2a71b9;
}
section.kitchen01 ul {
	max-width: 840px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
section.kitchen01 ul li {
	width: 48%;
}
section.kitchen01 p {
	text-align: center;
}
/* kitchen02, 03 */
.kitchen02 .title,
.kitchen03 .title {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	color: #95c8de;
	margin-bottom: 20px;
}
.kitchen02 .title h2,
.kitchen03 .title h2 {
	margin-right: 25px;
}
.kitchen02 .title span.txt,
.kitchen03 .title span.txt {
	padding-bottom: 5px;
}
/* 580 */
@media (max-width: 580px) {
	.kitchen02 .title,
	.kitchen03 .title {
		display: block;
	}
	.kitchen02 .hr,
	.kitchen03 .hr {
		margin-right: 0;
		margin-left: 0;
	}
}
/* kitchen02_01 */
.kitchen02_01 p.txt {
	text-align: center;
}
.kitchen02_01 ul {
	display: flex;
	flex-wrap: wrap;
}
.kitchen02_01 ul li:nth-child(1) {
	width: 40.3%;
}
.kitchen02_01 ul li:nth-child(2) {
	width: 30.0%;
}
.kitchen02_01 ul li:nth-child(3) {
	width: 29.7%;
}
/* 580 */
@media (max-width: 580px) {
	.kitchen02_01 ul li:nth-child(1) {
		padding: 20px;
	}
	.kitchen02_01 ul li {
		width: 100%!important;
		text-align: center;
		background: #fff2e2;
	}
}
/* kitchen02_02 */
.kitchen02_02 ul.w50 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.kitchen02_02 ul.w50 li {
	width: 48.5%;
	margin-bottom: 30px;
}
.kitchen02_02 ul.c01 {
	display: flex;
	flex-wrap: wrap;
}
.kitchen02_02 ul.c01 li:nth-child(1) {
	width: 57.5%;
}
.kitchen02_02 ul.c01 li:nth-child(2) {
	width: 42.5%;
}
.kitchen02_02 .wrap {
	padding-top: 20px;
	text-align: center;
}
.kitchen02_02 p.exp01 {
	font-size: 2.0rem;
}
.kitchen02_02 a.btn.center {
	margin-bottom: 0;
}
/* 580 */
@media (max-width: 580px) {
	.kitchen02_02 ul.w50 li {
		width: 100%;
		margin-bottom: 30px;
	}
	.kitchen02_02 ul.c01 li:nth-child(1) {
		width: 100%;
		margin-bottom: 10px;
	}
	.kitchen02_02 ul.c01 li:nth-child(2) {
		width: 74%;
	}
	.kitchen02_02 .wrap {
		padding-top: 5px;
	}
	.kitchen02_02 p.exp01 {
		font-size: 1.6rem;
	}
}
.kitchen03 .gray {
	background: #e5e5e5;
	padding: 10px;
}
.kitchen03 ul {
	display: flex;
	flex-wrap: wrap;
}
.kitchen03 ul li {
	padding: 10px;
}
.kitchen03 ul li.w50 {
	width: 50%;
}
.kitchen03 ul li.w25 {
	width: 25%;
}

/* 580 */
@media (max-width: 580px) {
	.kitchen03 ul li.w50 {
		width: 100%;
	}
	.kitchen03 ul li.w25 {
		width: 50%;
	}
}

/*--------------------------------------------------------------*/
/* 下層 ラインナップ（共通）窓,浴槽 */
/*--------------------------------------------------------------*/
ul.mado {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
ul.mado li {
	text-align: center;
	padding: 0 10px;
	margin-bottom: 40px;
}
ul.mado li h2 {
	background: #95c8de;
	color: #fff;
	border-radius: 12px;
	padding: 10px 20px;
	margin-bottom: 25px;
	text-align: left;
	line-height: 1.1;
}
ul.mado li.w100 {
	width: 100%;
}
ul.mado li.w75 {
	width: 75%;
}
ul.mado li.w70 {
	width: 70%;
}
ul.mado li.w65 {
	width: 65%;
}
ul.mado li.w50 {
	width: 50%;
}
ul.mado li.w40 {
	width: 40%;
}
ul.mado li.w35 {
	width: 35%;
}
ul.mado li.w33 {
	width: calc(100% / 3);
}
ul.mado li.w30 {
	width: 30%;
}
ul.mado li.w26 {
	width: 26%;
}
ul.mado li.w25 {
	width: 25%;
}
ul.mado li.w20 {
	width: 20%;
}
ul.mado li.w15 {
	width: 15%;
}
ul.mado li.w12 {
	width: 12%;
}
ul.mado li.w10 {
	width: 10%;
}
/* 580 */
@media (max-width: 580px) {
	ul.mado li h2 {
		border-radius: 8px;
		padding: 10px;
	}
	ul.mado li.w75 {
		width: 100%;
	}
	ul.mado li.w70 {
		width: 100%;
	}
	ul.mado li.w65 {
		width: 100%;
	}
	ul.mado li.w50 {
		width: 100%;
	}
	ul.mado li.w35 {
		width: 50%;
	}
	ul.mado li.w30 {
		width: 50%;
	}
	ul.mado li.w25 {
		width: 50%;
	}
	ul.mado li.s100 {
		width: 100%!important;
	}
	ul.mado li.s70 {
		width: 70%!important;
	}
	ul.mado li.s50 {
		width: 50%!important;
	}
	ul.mado li.s30 {
		width: 30%!important;
	}
	ul.mado li:last-child {
		margin-bottom: 0;
	}
}
/* イレギュラー 共通 */
ul.mado li.two h2:nth-child(n+2) {
	margin-top: 30px;
}
ul.mado li.w100 .flex {
	justify-content: center;
	flex-wrap: wrap;
	max-width: 1000px;
	margin: 0 auto;
}
ul.mado li.w100 .flex.item5 img {
	width: 20%;
}
ul.mado li.w100 .flex.item2 img {
	width: 50%;
	max-width: 486px;
}
ul.mado li h2.f1-6 {
	padding: 14.5px;
}
/* イレギュラー door */
ul.mado li.m01 .flex {
	max-width: 770px;
	margin: 0 auto;
}
ul.mado li.m01 .flex img:nth-child(1) {
	width: 61%;
}
ul.mado li.m01 .flex img:nth-child(2) {
	width: 39%;
}
ul.mado li.m02 h2 {
	font-size: 120%;
}
ul.mado li.m03 h2 {
	padding: 15px 5px!important;
}
ul.mado li.m04 .flex img:nth-child(1) {
	width: calc(100% / 3);
	max-width: 317px;
}
ul.mado li.m04 .flex img:nth-child(2) {
	width: calc(100% / 3);
	max-width: 319px;
}
ul.mado li.m04 .flex img:nth-child(3) {
	width: calc(100% / 3);
	max-width: 318px;
}
ul.mado li.m05 .flex img:nth-child(1) {
	width: 63%;
}
ul.mado li.m05 .flex img:nth-child(2) {
	width: 37%;
}
ul.mado li.w12 h2 {
	padding: 6px 5px;
	font-size: 1.4rem;
	text-align: center;
}
/* 580 */
@media (max-width: 580px) {
	/* イレギュラー door */
	ul.mado li.m01 .flex {
		display: block;
	}
	ul.mado li.m01 .flex img:nth-child(1) {
		width: initial;
	}
	ul.mado li.m01 .flex img:nth-child(2) {
		width: 63%;
	}
	ul.mado li.w100 .flex {
		padding: 0 15px;
	}
	ul.mado li.w100 .flex img {
		width: 33%;
		margin-bottom: 20px;
	}
	ul.mado li.w100 .flex.item2 img {
		width: 100%;
	}
	ul.mado li.m04 .flex img:nth-child(2) {
		width: 100%;
	}
	ul.mado li.m04 .flex img:nth-child(3) {
		width: 100%;
	}
	ul.mado li.m05 .flex img:nth-child(1) {
		width: 100%;
	}
	ul.mado li.m05 .flex img:nth-child(2) {
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* 下層 ABOUTページ */
/*--------------------------------------------------------------*/
/* concept */
section.about_concept {
	position: relative;
}
section.about_concept::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 236px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 40%;
	right: 10%;
	z-index: -1;
}
section.about_concept::before {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 148px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 20%;
	right: 3%;
	z-index: -1;
}
section.about_concept header {
	text-align: center;
}
section.about_concept div.concept {
	margin-bottom: 80px;
}
section.about_concept div.concept .flex .left {
	width: 30%;
	min-width: 220px;
}
section.about_concept div.concept .flex .left img {
	max-width: 295px;
	min-width: 185px;
	margin-bottom: 30px;
	width: 90%;
}
section.about_concept div.concept .flex .left dl {
	padding-left: 3vw;
}
section.about_concept div.concept .flex .left dl dt.ceo {
	color: #a8bec4;
	font-size: 1.4rem;
}
section.about_concept div.concept .flex .left dl dt.name {
	color: #2a71b9;
	font-weight: bold;
}
section.about_concept div.concept .flex .left dl dd {
	font-size: 1.4rem;
}
section.about_concept div.concept .flex .right {
	flex: 1;
}
/* 1150 */
@media (max-width: 1150px) {
	section.about_concept div.concept .flex .left dl {
		padding-left: 10px;
		padding-right: 3vw;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.about_concept div.concept {
		margin-bottom: 20px;
	}
	section.about_concept div.concept .flex .left {
		width: 100%;
		min-width: initial;
		text-align: center;
		margin-bottom: 40px;
	}
	section.about_concept div.concept .flex .left img {
		width: 70%;
	}
	section.about_concept div.concept .flex .right {
		flex: 1;
		margin-bottom: 40px;
	}
}
/* company */
section.about article.company {
	position: relative;
}
section.about article.company header {
	text-align: center;
}
section.about article.company .kumo::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 140px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 13%;
	right: 15%;
	z-index: -1;
}
section.about article.company::before {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 140px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 30%;
	right: 5%;
	z-index: -1;
}
section.about article.company::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 290px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 50%;
	left: 5%;
	z-index: -1;
}
section.about article.company table {
	max-width: 800px;
	margin: 0 auto 120px auto;
}
section.about article.company table tr {
	border-bottom: 1px solid #bdcdd1;
}
section.about article.company table tr th {
	width: 30%;
	padding: 30px;
	text-align: left;
	color: #2a71b9;
	font-weight: bold;
	vertical-align: top;
}
section.about article.company table tr td {
	padding: 30px 30px 30px 0;
}
section.about article.company iframe {
	width: 100%;
	height: 600px;
}
/* 1150 */
@media (max-width: 1150px) {
	section.about article.company table {
		margin: 0 auto max(10.5vw, 70px) auto;
	}
	section.about article.company iframe {
		height: max(52vw, 300px);
	}
}
/* 580 */
@media (max-width: 580px) {
	section.about article.company .kumo::after {
		width: 90px;
	}
	section.about article.company::before {
		width: 90px;
	}
	section.about article.company::after {
		width: 180px;
	}
	section.about article.company table tr th {
		width: 100%;
		display: block;
		padding: 20px 15px 0 15px;
	}
	section.about article.company table tr td {
		width: 100%;
		display: block;
		padding: 10px 15px 20px 15px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 バスルームページ */
/*--------------------------------------------------------------*/
div.bath01_01 ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
div.bath01_01 ul li {
	width: 49.7%;
}
/* bath02_01 */
div.bath02_01 p.title {
	text-align: center;
	margin-bottom: 40px;
}
/* 768 */
@media (max-width: 768px) {
	div.bath01_01 ul li {
		width: 100%;
		text-align: center;
	}
}

/*--------------------------------------------------------------*/
/* ブログページ => .blog */
/*--------------------------------------------------------------*/
/* 共通 ul.cate 「blog & works」 */
ul.cate {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 800px;
	margin: 0 auto 60px auto;
}
ul.cate li {
	margin: 10px 15px;
	font-weight: bold;
	color: #888;
}
ul.cate li.active {
	color: #000;
}
ul.cate li:hover a {
	color: #000;
}
/* 共通 ul.blog_list */
ul.blog_list {
	display: flex;
	flex-wrap: wrap;
}
ul.blog_list > li {
	width: calc(94% / 3);
	margin-right: 3%;
	margin-bottom: 60px;
}
ul.blog_list > li:nth-child(3n) {
	margin-right: 0;
}
ul.blog_list > li h2 {
	font-size: 1.6rem;
	margin: 2px 0 5px 0;
	line-height: 1.4;
}
ul.blog_list > li p.txt {
	line-height: 1.5;
	font-size: 1.5rem;
	margin-bottom: 7px;
}
ul.blog_list > li figure {
	overflow: hidden;
	border-radius: 12px;
	margin-bottom: 10px;
}
ul.blog_list > li figure img {
	transition: .3s transform ease;
}
ul.blog_list > li figure:hover img {
	transform: scale(1.05,1.05);
	opacity: 1;
}
ul.blog_list > li time {
	font-family: futura-pt, sans-serif; /* futura 400 500 700 */
	font-size: 1.4rem;
	font-weight: 700;
	color: #bdcdd1;
}
ul.blog_list > li:hover h2,
ul.blog_list > li:hover p.txt {
	color: #000;
	opacity: 0.8;
}
ul.blog_list > li ul.cat {
	display: flex;
	flex-wrap: wrap;
}
ul.blog_list > li ul.cat li {
	margin-right: 8px;
}
ul.blog_list > li ul.cat li a {
	display: block;
	padding: 5px 8px;
	line-height: 1;
	background: #95c8de;
	color: #fff;
	font-size: 1.2rem;
}
ul.blog_list > li ul.cat li a:hover {
	background: #e3602e;
}
/* 768 */
@media (max-width: 768px) {
	section.blog ul.cate {
		margin: 0 auto 50px auto;
	}
	ul.blog_list > li {
		margin-bottom: 40px;
	}
	ul.blog_list > li h2 {
		font-size: 1.4rem;
	}
	ul.blog_list > li p.txt {
		font-size: 1.3rem;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.blog_list > li {
		width: calc(95% / 2);
		margin-right: 5%;
		margin-bottom: 40px;
	}
	ul.blog_list > li:nth-child(3n) {
		margin-right: 5%;
	}
	ul.blog_list > li:nth-child(2n) {
		margin-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* 下層 FAQページ */
/*--------------------------------------------------------------*/
.qa_lists dl:last-child {
	margin-bottom: 0;
}
.qa_lists dl {
	border-bottom: 1px solid #bdcdd1;
	background: #fdfdfd;
}
.qa_lists dl:nth-of-type(1) {
	border-top: 1px solid #bdcdd1;
}
.qa_lists dl dt.is-close {
	border-bottom: none;
}
.qa_lists dl dt.is-close.is-open {
	border-bottom: 1px solid #bdcdd1;
}
.qa_lists dl dt {
	width: 100%;
	color: #333;
	border-bottom: 1px solid #bdcdd1;
	line-height: 1.2;
	padding: 32px 70px 28px 25px;
	position: relative;
	cursor: pointer;
}
.qa_lists dl dt:hover {
	background: #fbfbfb;
}
.qa_lists dl dt.is-open .text,
.qa_lists dl dt:hover .text {
	background: #eb7077;
	color: #fff;
}
.qa_lists dl span.qq {
	font-size: 1.8rem;
	font-weight: bold;
	background: #95c8de;
	color: #fff;
	width: 36px;
	height: 36px;
	border-radius: 18px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	left: 30px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.qa_lists dl dd span.qq {
	background: #fff;
	color: #95c8de;
	border: 2px solid #95c8de;
	position: absolute;
	top: 12px;
	left: 0;
}
.qa_lists dl dt span.q_txt {
	margin-left: 55px;
	display: block;
	line-height: 1.4;
}
.qa_lists dl dd {
	color: #333;
	background: #f2f2f2;
	overflow: hidden;
}
.qa_lists dl dd .text {
	margin: 32px 70px 28px 30px;
	padding-left: 50px;
	position: relative;
}
.qa_lists dl dt.is-close + dd {
	display: none;
}
.qa_lists dl dt.is-open + dd {
	display: block;
}
.qa_lists dl dt::after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 20px;
	height: 4px;
	background: #333;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(-180deg);
}
.qa_lists dl dt.is-close:not(.is-open)::after,
.qa_lists dl dt.is-open::after {
	transform: rotate(-90deg);
}
.qa_lists dl dt.is-close.is-open::after {
	transform: rotate(-180deg);
}
.qa_lists dl dt::before {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 30px;
	width: 20px;
	height: 4px;
	background: #333;
	-webkit-transition-property: all;
	transition-property: all;
	-webkit-transition-duration: .6s;
	transition-duration: .6s;
	-webkit-transition-delay: 0;
	transition-delay: 0;
	-webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transform: rotate(0deg);
}
.qa_lists dl dt.is-close:not(.is-open)::before,
.qa_lists dl dt.is-open::before {
	transform: rotate(180deg);
}
.qa_lists dl dt.is-close.is-open::before {
	transform: rotate(0deg);
}
/* 768 */
@media (max-width: 768px) {
	.qa_lists dl dt {
		padding: 27px 50px 23px 5px;
	}
	.qa_lists dl dt span.qq {
		left: 14px;
	}
	.qa_lists dl dt::after {
		right: 20px;
	}
	.qa_lists dl dt::before {
		right: 20px;
	}
	.qa_lists dl dd .text {
		margin: 27px 50px 23px 14px;
		padding-left: 45px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.qa_lists dl dt {
		padding: 22px 45px 18px 5px;
	}
	.qa_lists dl dt span.qq {
		left: 14px;
	}
	.qa_lists dl dt::after {
		right: 12px;
	}
	.qa_lists dl dt::before {
		right: 12px;
	}
	.qa_lists dl dd .text {
		margin: 22px 45px 18px 14px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 コンセプトページ => Mission */
/*--------------------------------------------------------------*/
section.mission,
section.mission .content {
	position: relative;
}
section.mission .content::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 90px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: -5%;
	right: 25%;
	z-index: -1;
}
section.mission .content::before {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 120px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 80%;
	right: 10%;
	z-index: -1;
}
section.mission .content .kumo::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 190px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 25%;
	left: 0%;
	z-index: -1;
}
section.mission header {
	text-align: center;
}
section.mission header + p {
	max-width: 640px;
	margin: 0 auto 60px auto;
}
section.mission .mission_image {
	background: url(../images/mission01.jpg) no-repeat;
	background-size: cover;
	width: 100%;
	height: 420px;
}
/* 580 */
@media (max-width: 580px) {
	section.mission header + p {
		margin: 0 auto 40px auto;
	}
	section.mission .mission_image {
		height: 200px;
	}
	section.mission .content::after {
		width: 70px;
		top: -5%;
		right: 15%;
	}
	section.mission .content::before {
		width: 120px;
		top: 80%;
		right: 5%;
	}
	section.mission .content .kumo::after {
		width: 100px;
		top: 25%;
		left: 0%;
	}
}

/*--------------------------------------------------------------*/
/* 下層 コンセプトページ => こだわりの標準仕様 */
/*--------------------------------------------------------------*/
article.concept_spec {
	background: #f9f9f9;
}
article.concept_spec header {
	text-align: center;
}
article.concept_spec header p.txt {
	font-size: 2.0rem;
	margin-top: 40px;
}
/* ul.link */
article.concept_spec ul.link {
	display: flex;
	flex-wrap: wrap;
}
article.concept_spec ul.link li {
	width: 46%;
	margin-right: 4%;
	border-bottom: 1px solid #bdcdd1;
	padding: 30px 0;
	display: flex;
	flex-wrap: wrap;
}
article.concept_spec ul.link li:nth-child(2n) {
	margin-right: 0;
}
article.concept_spec ul.link li figure {
	min-width: 120px;
	width: 36%;
	margin-right: 15px;
}
article.concept_spec ul.link li figure img {
	border-radius: 30px;
}
article.concept_spec ul.link li div.text {
	flex: 1;
	padding-bottom: 50px;
	position: relative;
}
article.concept_spec ul.link li div.text h2 {
	color: #95c8de;
	margin-bottom: 5px;
}
article.concept_spec ul.link li div.text .link {
	position: absolute;
	bottom: 0;
	right: 0;
}
/* ul.point */
article.concept_spec ul.point {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0 5%;
	max-width: 700px;
	margin: 0 auto 40px auto;
}
article.concept_spec ul.point li {
	width: calc(90% / 3);
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	border: 2px solid #95c8de;
	background: #eff4f6;
	color: #2a71b9;
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
article.concept_spec .point_txt {
	text-align: center;
	margin-bottom: 80px;
}
/* 580 */
@media (max-width: 580px) {
	article.concept_spec header p.txt {
		font-size: 1.6rem;
		margin-top: 20px;
	}
	article.concept_spec ul.link li {
		width: 100%;
		margin-right: 0;
	}
	article.concept_spec ul.link li figure {
		min-width: 110px;
		width: 30%;
	}
	article.concept_spec ul.link li div.text {
		padding-bottom: 35px;
	}
	article.concept_spec ul.link li div.text .maru {
		width: 26px;
		font-size: 1.2rem;
		font-weight: bold;
	}
	article.concept_spec ul.point li {
		font-size: 1.5rem;
	}
	article.concept_spec .point_txt {
		text-align: center;
		margin-bottom: 40px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 コンセプトページ => 現在、好評分譲中 */
/*--------------------------------------------------------------*/
article.concept_bunjyou header {
	text-align: center;
	margin-bottom: 30px;
}
article.concept_bunjyou header span {
	margin-bottom: 15px;
	display: inline-block;
}
article.concept_bunjyou p.bunjyou_txt {
	margin: 50px 0 60px 0;
	text-align: center;
}
article.concept_bunjyou video {
	border-radius: 34px;
	width: 100%;
}
/* 580 */
@media (max-width: 580px) {
	article.concept_bunjyou header {
		margin-bottom: 20px;
	}
	article.concept_bunjyou header span {
		margin-bottom: 10px;
		width: 45%;
	}
	article.concept_bunjyou p.bunjyou_txt {
		margin: 30px 0 40px 0;
	}
	article.concept_bunjyou a.btn.big {
		max-width: 380px;
		width: 70%;
	}
}

/*--------------------------------------------------------------*/
/* 下層 コンセプトページ => FLOW */
/*--------------------------------------------------------------*/
article.concept_flow {
	background: #eff4f6;
}
article.concept_flow .content {
	background: #fff;
	padding: 5vw;
	border-radius: 30px;
}
article.concept_flow header {
	text-align: center;
}
article.concept_flow ol li {
	padding-bottom: 60px;
	position: relative;
	z-index: 2;
}
article.concept_flow ol li:not(:last-child)::before {
	content: '';
	display: block;
	width: 8px;
	height: 100%;
	background: #eff4f6;
	position: absolute;
	top: 0;
	left: 40px;
	z-index: 1;
}
article.concept_flow ol li dl {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
}
article.concept_flow ol li dl dt.step {
	aspect-ratio: 1 / 1;
	width: 86px;
	background: #95c8de;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding-top: 8px;
	position: relative;
	z-index: 2;
}
article.concept_flow ol li dl dt.step span.eng {
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	line-height: 1;
}
article.concept_flow ol li dl dt.step span.num {
	font-family: futura-pt, sans-serif; /* futura 400 500 700 */
	color: #fff;
	font-weight: 700;
	line-height: 1;
}
article.concept_flow ol li dl dt.title {
	width: 200px;
	padding-top: 30px;
	padding-left: 20px;
	color: #2a71b9;
	font-weight: bold;
	line-height: 1.3;
}
article.concept_flow ol li dl dd {
	padding-top: 33px;
	flex: 1;
}
/* 768 */
@media (max-width: 768px) {
	article.concept_flow .content {
		padding: 50px 20px 0 20px;
		border-radius: 30px;
		margin: 0 20px;
		width: calc(100% - 40px);
	}
	article.concept_flow ol li:not(:last-child)::before {
		left: 31px;
	}
	article.concept_flow ol li dl dt.step {
		width: 68px;
	}
	article.concept_flow ol li dl dt.step span.eng {
		font-size: 1.3rem;
	}
	article.concept_flow ol li dl dt.title {
		width: 147px;
	}
	article.concept_flow ol li dl dd {
		padding-top: 27px;
	}
}
/* 580 */
@media (max-width: 580px) {
	article.concept_flow .content {
		padding: 50px 20px 30px 20px;
		border-radius: 20px;
	}
	article.concept_flow ol li {
		padding-bottom: 20px;
	}
	article.concept_flow ol li:not(:last-child)::before {
		left: 21px;
	}
	article.concept_flow ol li dl dt.step {
		width: 50px;
	}
	article.concept_flow ol li dl dt.step span.eng {
		font-size: 1.1rem;
	}
	article.concept_flow ol li dl dt.title {
		padding-top: 15px;
		padding-left: 10px;
		width: 70%;
	}
	article.concept_flow ol li dl dd {
		padding-top: 0;
		flex: initial;
		width: 100%;
		padding-left: 60px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 コンセプトページ => スタッフ紹介 */
/*--------------------------------------------------------------*/
article.concept_staff .kumo,
article.concept_staff .content {
	position: relative;
}
article.concept_staff .kumo::before {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 140px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 20%;
	right: -10%;
	z-index: -1;
}
article.concept_staff .kumo::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 100px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 55%;
	left: -20%;
	z-index: -1;
}
article.concept_staff .content::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 120px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 30%;
	left: -10%;
	z-index: -1;
}
article.concept_staff .flex .title {
	max-width: 330px;
	min-width: 200px;
	width: 30%;
}
article.concept_staff .flex .text {
	flex: 1;
	padding-top: 3vw;
}
article.concept_staff ul {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
article.concept_staff ul li {
	width: calc(91% / 4);
	margin-right: 3%;
	position: relative;
}
article.concept_staff ul li:nth-child(4n) {
	margin-right: 0;
}
article.concept_staff ul li figure {
	backface-visibility: hidden;
	transform-style: preserve-3d;
	transition: 0.5s;
}
article.concept_staff ul li figure.ura {
	position: absolute;
	top: 0;
	left: 0;
	transform: rotateY( 180deg );
	opacity: 0;
}
article.concept_staff ul li figure img {
	aspect-ratio: 1 / 1;
	width: 100%;
	border: 5px solid #95c8de;
	border-radius: 50%;
	margin-bottom: 20px;
	overflow: hidden;
	position: relative;
	z-index: 3;
}
article.concept_staff ul li figure figcaption {
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
}
article.concept_staff ul li:hover figure {
	transform: rotateY(180deg);
}
article.concept_staff ul li:hover figure.ura {
	transform: rotateY(0deg);
}
article.concept_staff ul li:hover figure.ura {
	opacity: 1;
}
/* 1150 */
@media (max-width: 1150px) {
	article.concept_staff ul li figure figcaption {
		font-size: max(1.92vw, 1.6rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	article.concept_staff .flex .title {
		max-width: initial;
		text-align: center;
		width: 100%;
	}
	article.concept_staff .flex .text {
		flex: initial;
		padding-top: 3vw;
	}
	article.concept_staff ul {
		margin-bottom: 20px;
	}
	article.concept_staff ul li {
		width: calc(95% / 2);
		margin-right: 5%;
		margin-bottom: 30px;
	}
	article.concept_staff ul li:nth-child(4n) {
		margin-right: 5%;
	}
	article.concept_staff ul li:nth-child(2n) {
		margin-right: 0;
	}
	article.concept_staff .kumo::before {
		width: 100px;
		top: -2%;
		right: -1%;
	}
	article.concept_staff .kumo::after {
		width: 60px;
		top: 10%;
		left: 4%;
	}
	article.concept_staff .content::after {
		width: 80px;
		top: 20%;
		left: 2%;
	}
}

/*--------------------------------------------------------------*/
/* 下層 保証ページ 古 */
/*--------------------------------------------------------------*/
section.hosyou ul li {
	padding: 60px 0;
	border-top: 1px solid #000;
}
section.hosyou ul li h2 {
	color: #95c8de;
	margin-bottom: 10px;
}
section.hosyou ul li .flex .left {
	width: 50%;
	padding-right: 40px;
}
section.hosyou ul li .flex .right {
	width: 50%;
}
/* 580 */
@media (max-width: 580px) {
	section.hosyou ul li {
		padding: 30px 0;
	}
	section.hosyou ul li .flex .left {
		width: 100%;
		padding-right: 0;
		margin-bottom: 10px;
	}
	section.hosyou ul li .flex .right {
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* 下層 保証ページ 新 */
/*--------------------------------------------------------------*/
section.hosyou2024 ul.parrent > li:first-child {
	padding: 0 0 60px 0;
}
section.hosyou2024 ul.parrent > li:not(:first-child) {
	padding: 60px 0;
}
section.hosyou2024 ul.parrent > li h2 {
	color: #95c8de;
	margin-bottom: 10px;
}
section.hosyou2024 ul.parrent > li p.txt img {
	margin-top: 40px;
}
section.hosyou2024 ul.parrent > li figure.center {
	text-align: center;
}
section.hosyou2024 ul.parrent > li figure.center figcaption {
	margin: 80px 0 60px 0;
}
/* li.jirei */
section.hosyou2024 ul.parrent > li.jirei dl.one {
	margin-bottom: 60px;
}
section.hosyou2024 ul.parrent > li.jirei dl dt {
	background: #95c8de;
	color: #fff;
	border-radius: 10px;
	padding: 10px 20px;
	font-size: 2.4rem;
	line-height: 1.2;
	margin-bottom: 30px;
}
section.hosyou2024 ul.parrent > li.jirei dl dd {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
section.hosyou2024 ul.parrent > li.jirei dl dd figure {
	width: 340px;
	margin-right: 30px;
}
section.hosyou2024 ul.parrent > li.jirei dl dd div.text {
	flex: 1;
}
section.hosyou2024 ul.parrent > li.jirei dl dd div.text table {
	margin-bottom: 20px;
}
section.hosyou2024 ul.parrent > li.jirei dl dd div.text table tr th {
	font-size: 2.2rem;
	color: #95c8de;
	padding-bottom: 5px;
	width: 160px;
}
section.hosyou2024 ul.parrent > li.jirei dl dd div.text table tr td {
	font-size: 2.2rem;
	padding-bottom: 5px;
}
section.hosyou2024 ul.parrent > li.jirei dl dd div.text span.note {
	font-size: 2.2rem;
}
/* li.hitems */
section.hosyou2024 ul.parrent > li.hitems ul.items {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 2%;
	margin-top: 20px;
}
section.hosyou2024 ul.parrent > li.hitems ul.items li {
	width: calc(92% / 5);
}
section.hosyou2024 ul.parrent > li.hitems ul.items li figure figcaption {
	font-size: 2.2rem;
	font-weight: bold;
	margin: 7px 0;
	text-align: center;
}
section.hosyou2024 ul.parrent > li.hitems ul.items li p.txt {
	font-size: 1.2rem;
}
/* li.hosyou_faq */
section.hosyou2024 ul.parrent > li.hosyou_faq h2 {
	margin-bottom: 20px;
}
/* ul.setubi */
section.hosyou2024 ul.setubi {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 40px;
}
section.hosyou2024 ul.setubi li {
	width: 31.5%;
	border: 1px solid #95c8de;
	padding: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}
section.hosyou2024 ul.setubi li figure {
	margin-right: 15px;
	width: 77px;
}
section.hosyou2024 ul.setubi li:nth-child(3) figure {
	width: 60px;
}
section.hosyou2024 ul.setubi li span.txt {
	font-size: 2.4rem;
	text-align: center;
}
section.hosyou2024 ul.setubi li span.txt span.strong {
	color: #e7b254;
}
/* 1200 */
@media (max-width: 1200px) {
	section.hosyou2024 ul.setubi li span.txt {
		font-size: max(2vw, 1.8rem);
	}
}
/* 1000 */
@media (max-width: 1000px) {
	section.hosyou2024 ul.parrent > li:first-child {
		padding: 0 0 max(6vw, 30px) 0;
	}
	section.hosyou2024 ul.parrent > li:not(:first-child) {
		padding: max(6vw, 30px) 0;
	}
	section.hosyou2024 ul.parrent > li p.txt img {
		margin-top: max(4vw, 20px);
	}
	section.hosyou2024 ul.parrent > li figure.center figcaption {
		margin: max(8vw, 50px) 0 max(6vw, 30px) 0;
	}
	section.hosyou2024 ul.parrent > li.hitems ul.items li figure figcaption {
		font-size: max(2.2vw, 1.5rem);
	}
	/* li.jirei */
	section.hosyou2024 ul.parrent > li.jirei dl dt {
		font-size: max(2.4vw, 1.6rem);
		margin-bottom: max(3vw, 20px);
		padding: 10px 15px;
	}
	section.hosyou2024 ul.parrent > li.jirei dl dd figure {
		max-width: 340px;
		width: max(34vw, 240px);
		margin-right: max(3vw, 20px);
	}
	section.hosyou2024 ul.parrent > li.jirei dl dd div.text table tr th {
		font-size: max(2.2vw, 1.4rem);
		width: max(16vw, 90px);
	}
	section.hosyou2024 ul.parrent > li.jirei dl dd div.text table tr td {
		font-size: max(2.2vw, 1.4rem);
	}
	section.hosyou2024 ul.parrent > li.jirei dl dd div.text span.note {
		font-size: max(2.2vw, 1.4rem);
	}
	/* ul.setubi */
	section.hosyou2024 ul.setubi {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 40px;
		gap: 20px 0;
	}
	section.hosyou2024 ul.setubi li {
		width: 31.5%;
		border: 1px solid #95c8de;
		padding: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	section.hosyou2024 ul.setubi li figure {
		margin-right: max(1.5vw, 10px);
		width: max(7.7vw, 60px);
	}
	section.hosyou2024 ul.setubi li:nth-child(3) figure {
		width: max(6.0vw, 45px);
	}
	section.hosyou2024 ul.setubi li span.txt span.strong {
		color: #e7b254;
	}
}
/* 834 */
@media (max-width: 834px) {
	section.hosyou2024 ul.parrent > li.hitems ul.items {
		margin-bottom: 30px;
	}
	section.hosyou2024 ul.parrent > li.hitems ul.items li {
		width: calc(96% / 3);
	}
	/* ul.setubi */
	section.hosyou2024 ul.setubi li {
		max-width: 500px;
		width: 100%;
		margin: 0 auto;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.hosyou2024 ul.parrent > li:first-child {
		padding: 0 0 30px 0;
	}
	section.hosyou2024 ul.parrent > li:not(:first-child) {
		padding: 30px 0;
	}
	section.hosyou2024 ul.parrent > li.hitems ul.items {
		gap: 30px 3%;
	}
	section.hosyou2024 ul.parrent > li.hitems ul.items li {
		width: calc(97% / 2);
	}
	/* li.jirei */
	section.hosyou2024 ul.parrent > li.jirei dl dd figure {
		max-width: initial;
		width: 100%;
		margin-right: 0;
		margin-bottom: 10px;
	}
	section.hosyou2024 ul.parrent > li.jirei dl dd div.text {
		width: 100%;
	}
}

/*--------------------------------------------------------------*/
/* 下層 住宅設備保証10年 */
/*--------------------------------------------------------------*/
section.Jhosyou header {
	margin-bottom: 30px;
}
section.Jhosyou h2 {
	color: #95c8de;
	margin-bottom: 20px;
}
section.Jhosyou h2 + p.txt {
	margin-bottom: 20px;
}
section.Jhosyou ul.items {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 2%;
	margin-bottom: 20px;
}
section.Jhosyou ul.items li {
	width: calc(92% / 5);
}
section.Jhosyou ul.items li figure figcaption {
	font-size: 2.2rem;
	font-weight: bold;
	margin: 7px 0;
	text-align: center;
}
section.Jhosyou ul.items li p.txt {
	font-size: 1.2rem;
}
section.Jhosyou ul.note li {
	font-size: 1.4rem;
	margin-bottom: 5px;
	padding-left: 16px;
	position: relative;
}
section.Jhosyou ul.note li::before {
	content: '\203B';
	position: absolute;
	top: 0;
	left: 0;
}

/* 1000 */
@media (max-width: 1000px) {
	section.Jhosyou header {
		margin-bottom: max(3vw, 16px);
	}
	section.Jhosyou ul.items li figure figcaption {
		font-size: max(2.2vw, 1.5rem);
	}
}
/* 834 */
@media (max-width: 834px) {
	section.Jhosyou ul.items {
		margin-bottom: 30px;
	}
	section.Jhosyou ul.items li {
		width: calc(96% / 3);
	}
}
/* 580 */
@media (max-width: 580px) {
	section.Jhosyou h2 {
		margin-bottom: 15px;
	}
	section.Jhosyou ul.items {
		gap: 30px 3%;
	}
	section.Jhosyou ul.items li {
		width: calc(97% / 2);
	}
	section.Jhosyou ul.note li {
		font-size: 1.3rem;
	}
}

/*--------------------------------------------------------------*/
/* 下層 耐震ページ */
/*--------------------------------------------------------------*/
section.taishin03 h1 {
	color: #95c8de;
	margin-bottom: 60px;
}
/* taishin04 */
section.taishin04 ul li {
	margin-bottom: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
section.taishin04 ul li .text {
	width: 65%;
	padding-left: 5%;
}
section.taishin04 ul li .text h3 {
	font-size: 2.6rem;
	color: #95c8de;
	margin-bottom: 20px;
}
section.taishin04 ul li figure {
	width: 35%;
}
section.taishin04 ul li dl {
	display: flex;
	margin: 30px 0 0 0;
}
section.taishin04 ul li dl dt {
	padding: 5px 15px 7px 15px;
	background: #5289b7;
	color: #fff;
}
section.taishin04 ul li dl dd {
	padding: 5px 15px 7px 15px;
	font-size: 110%;
	font-weight: bold;
}
/* 580 */
@media (max-width: 580px) {
	section.taishin03 h1 {
		margin-bottom: 30px;
	}
	/* taishin04 */
	section.taishin04 ul li {
		margin-bottom: 20px;
	}
	section.taishin04 ul li .text {
		width: 100%;
		padding-right: 0;
		padding-left: 0;
		margin-bottom: 20px;
	}
	section.taishin04 ul li figure {
		width: 100%;
	}
	section.taishin04 ul li:nth-child(even) .text {
		padding-left: 0;
	}
	section.taishin04 ul li dl {
		margin: 30px 0 0 0;
	}
}

/*--------------------------------------------------------------*/
/* 下層 お客様の声ページ */
/*--------------------------------------------------------------*/
ul.voices {
	display: flex;
	flex-wrap: wrap;
	padding-top: 120px;
}
ul.voices > li {
	width: calc(95% / 2);
	margin-right: 5%;
	margin-bottom: 80px;
	padding: 30px 30px 60px 30px;
	box-shadow: 1px 1px 15px 0px rgb(0 0 0 / 8%);
	border-radius: 25px;
	position: relative;
}
ul.voices > li:nth-child(2n) {
	margin-right: 0;
}
ul.voices > li .flex {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	margin-top: -60px;
	margin-bottom: 30px;
}
ul.voices > li .flex figure {
	aspect-ratio: 1 / 1;
	max-width: 170px;
	min-width: 110px;
	width: 35%;
	border: 5px solid #95c8de;
	border-radius: 50%;
	overflow: hidden;
	position: relative;
	margin-right: 20px;
	z-index: 2;
}
ul.voices > li .flex h2 {
	flex: 1;
	font-size: 2.2rem;
	line-height: 1.4;
	padding-bottom: 30px;
}
ul.voices > li p.spec {
	position: absolute;
	bottom: 20px;
	right: 30px;
}
ul.voices > li div.link {
	position: absolute;
	bottom: 30px;
	right: 30px;
}
section.voices ul.page-numbers {
	margin: 30px 0 80px 0;
}
/* 1150 */
@media (max-width: 1150px) {
	ul.voices > li .flex h2 {
		font-size: max(1.9vw, 1.6rem);
		padding-bottom: max(2vw, 16px);
	}
}
/* 768 */
@media (max-width: 768px) {
	ul.voices > li {
		width: 100%;
		margin-right: 0;
	}
	ul.voices > li .flex h2 {
		padding-bottom: max(7vw, 16px);
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.voices {
		padding-top: 60px;
	}
	ul.voices > li {
		padding: 30px 20px 50px 20px;
		border-radius: 20px;
	}
	ul.voices > li .flex {
		margin-bottom: 15px;
	}
	ul.voices > li .flex h2 {
		padding-bottom: max(2vw, 16px);
	}
	ul.voices > li p.spec {
		right: 25px;
	}
	ul.voices > li .maru {
		width: 26px;
	}
	section.voices ul.page-numbers {
		margin: 0 0 50px 0;
	}
}

/*--------------------------------------------------------------*/
/* 下層 スタッフ紹介ページ */
/*--------------------------------------------------------------*/
ul.staff_list {
	display: flex;
	flex-wrap: wrap;
	padding-top: 120px;
	margin-bottom: 60px;
}
ul.staff_list.koumu {
	padding-top: 30px;
}
ul.staff_list li {
	width: calc(88% / 5);
	margin-right: 3%;
	margin-bottom: 60px;
	position: relative;
}
ul.staff_list li:nth-child(5n) {
	margin-right: 0;
}
ul.staff_list li figure {
	backface-visibility: hidden;
	transform-style: preserve-3d;
	transition: 0.5s;
}
ul.staff_list li figure.ura {
	position: absolute;
	top: 0;
	left: 0;
	transform: rotateY( 180deg );
	opacity: 0;
}
ul.staff_list li figure img {
	aspect-ratio: 1 / 1;
	width: 100%;
	border: 5px solid #95c8de;
	border-radius: 50%;
	margin-bottom: 20px;
	overflow: hidden;
	position: relative;
	z-index: 3;
}
ul.staff_list li figure figcaption {
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
}
ul.staff_list li p.name {
	font-weight: bold;
	text-align: center;
	margin-top: 15px;
	line-height: 1.4;
}
ul.staff_list li:hover figure {
	transform: rotateY(180deg);
}
ul.staff_list li:hover figure.ura {
	transform: rotateY(0deg);
}
ul.staff_list li:hover figure.ura {
	opacity: 1;
}
/* 1150 */
@media (max-width: 1150px) {
	ul.staff_list li figure img {
		margin-bottom: max(1.75vw, 6px);
	}
	ul.staff_list li figure figcaption {
		font-size: max(1.57vw, 1.5rem);
	}
}
/* 768 */
@media (max-width: 768px) {
	ul.staff_list {
		padding-top: 90px;
	}
	ul.staff_list li {
		width: calc(94% / 3);
	}
	ul.staff_list li:nth-child(5n) {
		margin-right: 3%;
	}
	ul.staff_list li:nth-child(3n) {
		margin-right: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.staff_list {
		padding-top: 40px;
	}
	ul.staff_list li {
		width: calc(95% / 2);
		margin-bottom: 30px;
		margin-right: 5%;
	}
	ul.staff_list li:nth-child(5n) {
		margin-right: 5%;
	}
	ul.staff_list li:nth-child(3n) {
		margin-right: 5%;
	}
	ul.staff_list li:nth-child(2n) {
		margin-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* 下層 モデルハウスページ */
/*--------------------------------------------------------------*/
ul.modelhouse_list {
	display: flex;
	flex-wrap: wrap;
	padding-top: 120px;
	margin-bottom: 60px;
}
ul.modelhouse_list > li {
	width: calc(94% / 4);
	margin-right: 2%;
	margin-bottom: 60px;
	position: relative;
}
ul.modelhouse_list > li:nth-child(4n) {
	margin-right: 0;
}
ul.modelhouse_list > li figure img {
	aspect-ratio: 4 / 3;
	width: 100%;
	border-radius: 20px;
	margin-bottom: 5px;
}
ul.modelhouse_list > li figure figcaption {
	padding-left: 10px;
	margin-bottom: 3px;
}
ul.modelhouse_list > li div.link {
	margin-left: 10px;
}
section.modelhouse ul.page-numbers {
	margin: 30px 0 80px 0;
}
ul.modelhouse_list > li img.v360 {
	position: absolute;
	top: 10px;
	right: 10px;
	border-radius: 5px;
	width: 46px;
}
/* 1150 */
@media (max-width: 1150px) {
	ul.modelhouse_list > li figure img {
		margin-bottom: max(1.75vw, 6px);
	}
	ul.modelhouse_list > li figure figcaption {
		font-size: max(1.57vw, 1.5rem);
	}
}
/* 768 */
@media (max-width: 768px) {
	ul.modelhouse_list {
		padding-top: 90px;
	}
	ul.modelhouse_list > li {
		width: calc(94% / 3);
	}
	ul.modelhouse_list > li:nth-child(5n) {
		margin-right: 3%;
	}
	ul.modelhouse_list > li:nth-child(3n) {
		margin-right: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.modelhouse_list {
		padding-top: 40px;
	}
	ul.modelhouse_list > li {
		width: calc(95% / 2);
		margin-bottom: 30px;
		margin-right: 5%;
	}
	ul.modelhouse_list > li:nth-child(5n) {
		margin-right: 5%;
	}
	ul.modelhouse_list > li:nth-child(3n) {
		margin-right: 5%;
	}
	ul.modelhouse_list > li:nth-child(2n) {
		margin-right: 0;
	}
	section.modelhouse ul.page-numbers {
		margin: 0 0 50px 0;
	}
}

/*--------------------------------------------------------------*/
/* 下層 モデルハウス詳細ページ */
/*--------------------------------------------------------------*/
/* model_detail01 */
section.model_detail01 {
	background: url(../images/machi2.png) no-repeat;
	background-repeat: repeat-x;
	background-position: bottom 10px left;
}
section.model_detail01 .content::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 90px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 8%;
	right: 12%;
	z-index: -1;
}
section.model_detail01 .content::before {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 160px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: -20%;
	right: 0%;
	z-index: -1;
}
/* model_detail01b */
section.model_detail01b .content {
	max-width: 1064px;
}
section.model_detail01b .bk {
	background: url(../images/machi2.png) no-repeat;
	background-repeat: repeat-x;
	background-position: bottom 10px left;
	min-height: 260px;
	padding-bottom: 30px;
}
section.model_detail01b .bk h1 {
	color: #95c8de;
	margin-bottom: 30px;
	line-height: 1.4;
}
section.model_detail01b .bk p.txt {
	margin-bottom: 30px;
}
section.model_detail01b .head_img {
	padding: 30px 0;
}

/* model_detail02 */
section.model_detail02 header {
	margin-bottom: 30px;
}
section.model_detail02 header h1 {
	color: #95c8de;
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
}
section.model_detail02 .flex .left {
	width: 50%;
	text-align: center;
	padding-right: 25px;
}
section.model_detail02 .flex .right {
	width: 50%;
	text-align: center;
	padding-left: 25px;
}
/* 580 */
@media (max-width: 580px) {
	section.model_detail02 .flex .left {
		padding-right: 15px;
	}
	section.model_detail02 .flex .right {
		padding-left: 15px;
	}
}

/* model_detail03 */
section.model_detail03 .flex .left {
	width: 50%;
	padding-right: 25px;
}
section.model_detail03 .flex .left header h1 {
	color: #95c8de;
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
}
section.model_detail03 .flex .right {
	width: 50%;
	padding-left: 25px;
}
section.model_detail03 .flex .right img {
	border-radius: 10px;
}
/* reverse */
section.model_detail03.reverse .flex {
	flex-direction: row-reverse;
}
section.model_detail03.reverse .flex .left {
	padding-right: 0;
	padding-left: 25px;
}
section.model_detail03.reverse .flex .right {
	padding-right: 25px;
	padding-left: 0;
}
/* 580 */
@media (max-width: 580px) {
	section.model_detail03 .flex .left,
	section.model_detail03.reverse .flex .left {
		width: 100%;
		padding-right: 0;
		padding-left: 0;
		margin-bottom: 20px;
	}
	section.model_detail03 .flex .right,
	section.model_detail03.reverse .flex .right {
		width: 100%;
		padding-right: 0;
		padding-left: 0;
	}
}

/* model_detail04 */
section.model_detail04 .flex img {
	border-radius: 10px;
	margin-bottom: 10px;
}
section.model_detail04 .flex h2 {
	color: #95c8de;
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
}
section.model_detail04 .flex .left {
	width: 50%;
	padding-right: 25px;
}
section.model_detail04 .flex .right {
	width: 50%;
	padding-left: 25px;
}
/* 580 */
@media (max-width: 580px) {
	section.model_detail04 .flex p.txt {
		margin-bottom: 20px;
	}
	section.model_detail04 .flex .left {
		width: 100%;
		padding-right: 0;
		margin-bottom: 40px;
	}
	section.model_detail04 .flex .right {
		width: 100%;
		padding-left: 0;
	}
}

/* model_detail05 */
section.model_detail05 header {
	margin-bottom: 30px;
}
section.model_detail05 header h1 {
	color: #95c8de;
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
}
section.model_detail05 .flex {
	margin-bottom: 20px;
}
section.model_detail05 .flex img {
	border-radius: 10px;
	margin-bottom: 10px;
}
section.model_detail05 .flex .left {
	width: 50%;
	padding-right: 15px;
}
section.model_detail05 .flex .right {
	width: 50%;
	padding-left: 15px;
}
/* 580 */
@media (max-width: 580px) {
	section.model_detail05 header {
		margin-bottom: 20px;
	}
	.sp_flex_re {
		display: flex;
		flex-direction: column-reverse;
	}
	section.model_detail05 p.txt {
		margin-bottom: 20px;
	}
}

/* model_theta */
section.model_theta header {
	margin-bottom: 30px;
}
section.model_theta header h1 {
	color: #95c8de;
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
}
section.model_theta .ricoh-theta-tour-image,
section.model_theta .ricoh-theta-tour-image iframe {
	width: 100%!important;
}
/* 580 */
@media (max-width: 580px) {
	section.model_theta header {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 施工事例ページ */
/*--------------------------------------------------------------*/
ul.works_list {
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
}
ul.works_list > li {
	width: calc(96% / 3);
	margin-right: 2%;
	margin-bottom: 60px;
}
ul.works_list > li.waku01.no_sale {
	width: 100%;
	text-align: center;
}
ul.works_list > li:nth-child(3n) {
	margin-right: 0;
}
ul.works_list > li figure {
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 10px;
}
ul.works_list > li figure img {
	aspect-ratio: 4 / 3;
	width: 100%;
	transition: transform .3s;
	transform: scale(1.01,1.01);
}
ul.works_list > li.fit figure img {
	object-fit: cover;
}
ul.works_list > li p {
	padding-left: 10px;
	margin-bottom: 3px;
	text-align: center;
}
ul.works_list > li a:hover p {
	color: #000;
}
#sub_page.works ul.page-numbers {
	margin: 30px 0 80px 0;
}
ul.works_list > li a:hover figure img {
	transform: scale(1.15,1.15);
	opacity: 1;
}
/* ul.cate */
#sub_page.works nav {
	padding: 0 20px;
}
#sub_page.works ul.cate {
	justify-content: flex-start;
	max-width: 1000px;
	margin: 60px auto;
}
#sub_page.works ul.cate li {
	width: calc(88% / 5);
	margin: 0;
	margin-right: 3%;
	margin-bottom: 10px;
	color: #333;
}
#sub_page.works ul.cate li:nth-child(5n) {
	margin-right: 0;
}
#sub_page.works ul.cate li a {
	display: block;
	padding: 10px;
	transition: background .3s ease, color .3s ease;
	border-bottom: 1px solid #bdcdd1;
}
#sub_page.works ul.cate li.active {
	color: #fff;
	background: #95c8de;
	padding: 10px;
}
#sub_page.works ul.cate li a:hover {
	color: #fff;
	background: #95c8de;
}
/* 580 */
@media (max-width: 580px) {
	ul.works_list > li {
		width: calc(95% / 2);
		margin-right: 5%;
		margin-bottom: 20px;
	}
	ul.works_list > li:nth-child(3n) {
		margin-right: 5%;
	}
	ul.works_list > li:nth-child(2n) {
		margin-right: 0;
	}
	ul.works_list > li figure {
		border-radius: 10px;
		margin-bottom: 5px;
	}
	/* ul.cate */
	#sub_page.works ul.cate {
		margin: 30px auto;
	}
	#sub_page.works ul.cate li {
		width: calc(94% / 3);
		margin-right: 3%;
		text-align: center;
	}
	#sub_page.works ul.cate li:nth-child(5n) {
		margin-right: 3%;
	}
	#sub_page.works ul.cate li:nth-child(3n) {
		margin-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* 下層 販売情報ページ */
/*--------------------------------------------------------------*/
body.sales,
body.sales .overflow {
	overflow-x: initial;
}
body.sales #sub_header {
	overflow-x: hidden;
}
#sub_page.sales .col2 {
	display: flex;
	flex-wrap: wrap;
	padding-top: 120px;
}
/* left */
#sub_page.sales .col2 > .left {
	max-width: 300px;
	min-width: 240px;
	width: 32%;
	position: relative;
}
#sub_page.sales .col2 > .left nav {
	position: sticky;
	display: block;
	top: 120px;
}
#sub_page.sales .col2 > .left nav ul {
	border-top: 1px solid #bdcdd1;
	max-width: 200px;
}
#sub_page.sales .col2 > .left nav ul li {
	border-bottom: 1px solid #bdcdd1;
}
#sub_page.sales .col2 > .left nav ul li a {
	font-weight: bold;
	display: block;
	padding: 18px;
}
#sub_page.sales .col2 > .left nav ul li a:hover {
	background: #95c8de;
	color: #fff;
}
/* right */
#sub_page.sales .col2 .right {
	flex: 1;
}
#sub_page.sales .col2 .right section {
	padding-top: 30px;
    margin-bottom: -30px;
}
#sub_page.sales .col2 .right section header {
	margin-bottom: 30px;
}
#sub_page.sales .col2 .right section header h1 {
	color: #95c8de;
}
/* ul.sales_list */
ul.sales_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
ul.sales_list > li {
	width: calc(94% / 3);
	margin-right: 3%;
	margin-bottom: 60px;
	position: relative;
}
ul.sales_list > li:nth-child(3n) {
	margin-right: 0;
}
ul.sales_list > li figure img {
	aspect-ratio: 4 / 3;
	width: 100%;
	border-radius: 20px;
	margin-bottom: 5px;
}
ul.sales_list > li figure figcaption {
	padding-left: 10px;
	margin-bottom: 3px;
}
ul.sales_list > li div.link {
	margin-left: 10px;
}
section.modelhouse ul.page-numbers {
	margin: 30px 0 80px 0;
}
ul.sales_list > li img.v360 {
	position: absolute;
	top: 10px;
	right: 10px;
	border-radius: 5px;
	width: 46px;
}
/* 1150 */
@media (max-width: 1150px) {
	ul.sales_list > li figure img {
		margin-bottom: max(1.75vw, 6px);
	}
	ul.sales_list > li figure figcaption {
		font-size: max(1.57vw, 1.5rem);
	}
}
/* 768 */
@media (max-width: 768px) {
	ul.sales_list {
		padding-top: 90px;
	}
	ul.sales_list > li {
		width: calc(97% / 2);
		margin-right: 3%;
		margin-bottom: 40px;
	}
	ul.sales_list > li:nth-child(3n) {
		margin-right: 3%;
	}
	ul.sales_list > li:nth-child(2n) {
		margin-right: 0;
	}
	ul.sales_list > li figure img {
		border-radius: 10px;
		margin-bottom: 4px;
	}
}
/* 580 */
@media (max-width: 580px) {
	#sub_page.sales .col2 {
		padding-top: 30px;
	}
	/* left */
	#sub_page.sales .col2 > .left {
		max-width: initial;
		width: 100%;
		margin-bottom: 40px;
	}
	#sub_page.sales .col2 > .left nav {
		position: initial;
		display: block;
		top: initial;
	}
	#sub_page.sales .col2 > .left nav ul {
		border-top: none;
		max-width: initial;
		display: flex;
		flex-wrap: wrap;
	}
	#sub_page.sales .col2 > .left nav ul li {
		width: calc(94% / 3);
		margin-right: 3%;
		margin-bottom: 10px;
		text-align: center;
	}
	#sub_page.sales .col2 > .left nav ul li:nth-child(3n) {
		margin-right: 0;
	}
	#sub_page.sales .col2 > .left nav ul li a {
		font-weight: bold;
		display: block;
		padding: 10px;
	}
	#sub_page.sales .col2 > .left nav ul li a:hover {
		background: #95c8de;
		color: #fff;
	}
	/* right */
	#sub_page.sales .col2 .right section header {
		margin-bottom: 20px;
	}
	#sub_page.sales .col2 .right div.link .maru2 {
		width: 18px;
		margin-right: 3px;
	}
	/* ul.sales_list */
	ul.sales_list {
		padding-top: 0;
	}
	ul.sales_list > li {
		width: calc(95% / 2);
		margin-bottom: 30px;
		margin-right: 5%;
	}
	ul.sales_list > li:nth-child(5n) {
		margin-right: 5%;
	}
	ul.sales_list > li:nth-child(3n) {
		margin-right: 5%;
	}
	ul.sales_list > li:nth-child(2n) {
		margin-right: 0;
	}
	ul.sales_list > li figure img {
		border-radius: 6px;
	}
	section.modelhouse ul.page-numbers {
		margin: 0 0 50px 0;
	}
	
}

/*--------------------------------------------------------------*/
/* 下層 販売情報詳細ページ */
/*--------------------------------------------------------------*/
section.sale .first header h1 {
	border-bottom: 1px solid #bdcdd1;
	margin-bottom: 60px;
}
section.sale .first figure {
	margin-bottom: 40px;
}
section.sale .first ul li {
	margin-bottom: 10px;
	padding-left: 30px;
	position: relative;
}
section.sale .first ul li span.maru2 {
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
section.sale .first ul li span.maru2::before {
	margin-left: 0;
	margin-bottom: 1.5px;
}
/* 共通 */
section.sale section h1 {
	background: #95c8de;
	color: #fff;
	padding: 5px 25px;
	margin-bottom: 20px;
	border-radius: 10px;
}
/* 共通 ul.tbl */
section.sale ul.tbl {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
section.sale ul.tbl li {
	width: 48%;
	border-bottom: 1px solid #eee;
	padding: 15px 20px;
}
section.sale ul.tbl li dl {
	display: flex;
	flex-wrap: wrap;
}
section.sale ul.tbl li dl dt {
	width: 100px;
	color: #757d83;
	font-weight: bold;
}
section.sale ul.tbl li dl dd {
	flex: 1;
}
section.sale ul.tbl li dl dd.flex {
	align-items: center;
}
section.sale ul.tbl li dl dd.flex div.link {
	display: inline-block;
	margin-left: 10px;
}
/* 768 */
@media (max-width: 768px) {
	section.sale ul.tbl li {
		width: 100%;
		border-bottom: 1px solid #eee;
		padding: 15px 20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.sale ul.tbl li {
		padding: 15px 10px;
	}
	section.sale ul.tbl li dl {
		display: block;
	}
	section.sale ul.tbl li dl dt {
		width: 100px;
		margin-bottom: 12px;
	}
	section.sale ul.tbl li dl dd {
		flex: 1;
	}
}

/* sale03 */
section.sale03 ul.zumen {
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
}
section.sale03 ul.zumen li {
	width: calc(96% / 3);
	margin-right: 2%;
	text-align: center;
	margin-bottom: 30px;
}
section.sale03 ul.zumen li:nth-child(3n) {
	margin-right: 0;
}
section.sale03 ul.zumen li figcaption {
	margin-top: 10px;
}
/* 580 */
@media (max-width: 580px) {
	section.sale03 ul.zumen li {
		width: calc(95% / 2);
		margin-right: 5%;
		margin-bottom: 20px;
	}
	section.sale03 ul.zumen li:nth-child(3n) {
		margin-right: 5%;
	}
	section.sale03 ul.zumen li:nth-child(2n) {
		margin-right: 0;
	}
}

/* sale04 */
/* table.pc */
section.sale04 table.pc tr {
	border-bottom: 1px solid #f9f9f9;
}
section.sale04 table.pc tr th,
section.sale04 table.pc tr td {
	padding: 15px;
	text-align: center;
}
section.sale04 table.pc tr:nth-child(1) th {
	font-weight: bold;
	color: #757d83;
	width: 150px;
}
section.sale04 table.pc tr:nth-child(n+2) th {
	background: #f9f9f9;
	color: #757d83;
	font-weight: bold;
	border-bottom: 1px solid #fff;
}
/* table.sp */
section.sale04 table.sp {
	width: 100%;
}
section.sale04 table.sp tr th,
section.sale04 table.sp tr td {
	padding: 15px;
	text-align: center;
	border-bottom: 1px solid #f9f9f9;
}
section.sale04 table.sp tr:nth-child(1) th {
	background: #f9f9f9;
	color: #757d83;
	font-weight: bold;
}
section.sale04 table.sp tr:nth-child(n+2) th {
	font-weight: bold;
	color: #757d83;
	width: 130px;
}
section.sale04 table.sp:not(:last-child) {
	margin-bottom: 30px;
}
/* 580 */
@media (max-width: 580px) {
	section.sale04 table.sp.sp_view {
		display: table;
	}
}
/* sale05 */
section.sale05 small.msg {
	margin-left: 10px;
}
section.sale05 ul.gallery {
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
}
section.sale05 ul.gallery li {
	aspect-ratio: 1 / 1;
	width: calc(90% / 6);
	margin-right: 2%;
	margin-bottom: 30px;
}
section.sale05 ul.gallery li:nth-child(6n) {
	margin-right: 0;
}
section.sale05 ul.gallery li img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	border-radius: 15px;
}
/* 768 */
@media (max-width: 768px) {
	section.sale05 ul.gallery li {
		width: calc(94% / 4);
		margin-right: 2%;
	}
	section.sale05 ul.gallery li:nth-child(6n) {
		margin-right: 2%;
	}
	section.sale05 ul.gallery li:nth-child(4n) {
		margin-right: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.sale05 ul.gallery li {
		width: calc(94% / 3);
		margin-right: 3%;
	}
	section.sale05 ul.gallery li:nth-child(6n) {
		margin-right: 3%;
	}
	section.sale05 ul.gallery li:nth-child(4n) {
		margin-right: 3%;
	}
	section.sale05 ul.gallery li:nth-child(3n) {
		margin-right: 0;
	}
}

/* sale06 */
section.sale06 iframe {
	width: calc(100% + ((100vw - 1130px) / 2));
	margin-left: calc(((100vw - 1130px) / 2) * -1);
	height: 550px;
	border-radius: 0 20px 20px 0;
}
/* 1150 */
@media (max-width: 1150px) {
	section.sale06 iframe {
		width: calc(100% + 20px);
		margin-left: -20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.sale06 iframe {
		height: 350px;
	}
}
/* sale07 */
section.sale07 ul.shisetsu {
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
}
section.sale07 ul.shisetsu li {
	aspect-ratio: 4 / 3;
	width: calc(94% / 4);
	margin-right: 2%;
	margin-bottom: 30px;
}
section.sale07 ul.shisetsu li:nth-child(4n) {
	margin-right: 0;
}
section.sale07 ul.shisetsu li img {
	object-fit: cover;
	width: 100%;
	/*height: 100%;*/
	border-radius: 15px;
	margin-bottom: 5px;
	aspect-ratio: 1.33 / 1;
}
section.sale07 ul.shisetsu li h5 {
	font-size: 1.6rem;
	font-weight: normal;
}
section.sale07 ul.shisetsu li p.txt {
	color: #757d83;
}
/* 768 */
@media (max-width: 768px) {
	section.sale07 ul.shisetsu li {
		width: calc(94% / 3);
		margin-right: 2%;
	}
	section.sale07 ul.shisetsu li:nth-child(4n) {
		margin-right: 2%;
	}
	section.sale07 ul.shisetsu li:nth-child(3n) {
		margin-right: 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.sale07 ul.shisetsu li {
		width: calc(95% / 2);
		margin-right: 5%;
		margin-bottom: 20px;
	}
	section.sale07 ul.shisetsu li:nth-child(4n) {
		margin-right: 5%;
	}
	section.sale07 ul.shisetsu li:nth-child(3n) {
		margin-right: 5%;
	}
	section.sale07 ul.shisetsu li:nth-child(2n) {
		margin-right: 0;
	}
}
/* sale08 */
section.sale08 .ricoh-theta-tour-image {
	width: 100%!important;
}
section.sale08 .ricoh-theta-tour-image iframe {
	width: 100%!important;
}
/* sale09 */
section.sale09 header {
	margin-bottom: 30px;
}
section.sale09 video {
	width: 100%;
}
/* 580 */
@media (max-width: 580px) {
	section.sale09 header {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 建具ページ */
/*--------------------------------------------------------------*/
section.tategu_img h1 {
	color: #95c8de;
	margin-bottom: 40px;
}
/* 580 */
@media (max-width: 580px) {
	section.tategu_img h1 {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 耐熱 */
/*--------------------------------------------------------------*/
section.heat01 h2 {
	text-align: center;
	margin: 30px 0;
}
section.heat div.img {
	text-align: center;
}
section.heat strong {
	background: linear-gradient(transparent 70%,#fff818 30%)!important;
}
section.heat p.strong {
	font-size: 2.2rem;
	font-weight: bold;
}
section.heat div.img {
	margin-bottom: 40px;
}
section.heat p.strong.sg01 {
	max-width: 800px;
	margin: 0 auto 65px auto;
	text-align: center;
}
section.heat01 .body {
	border-bottom: 1px solid #555;
}
section.heat02 h2 {
	color: #95c8de;
	margin: 60px 0 20px 0;
}
section.heat02 div.img {
	margin-bottom: 60px;
}
section.heat02 ul li {
	margin-bottom: 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
section.heat02 ul li .text {
	width: 65%;
	padding-right: 5%;
}
section.heat02 ul li .text h3 {
	font-size: 2.6rem;
	color: #95c8de;
	margin-bottom: 20px;
}
section.heat02 ul li figure {
	width: 35%;
}
section.heat02 ul li figure img {
	border-radius: 30px;
}
section.heat02 ul li:nth-child(even) {
	flex-direction: row-reverse;
}
section.heat02 ul li:nth-child(even) .text {
	padding-right: 0;
	padding-left: 5%;
}
section.heat02 a.btn.catalog_dl {
	max-width: 380px;
	min-width: 330px;
}
.img35_txt65 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.img35_txt65 figure {
	width: 35%;
}
.img35_txt65 .text {
	width: 65%;
	padding-left: 5%;
}
section.heat02 .ex01 h3 {
	font-size: 2.6rem;
	color: #95c8de;
	margin-bottom: 20px 
}
section.heat02 .ex01 h4 {
	font-size: 2.0rem;
	color: #95c8de;
	margin-bottom: 20px 
}
section.heat02 video {
	border-radius: 34px;
	width: 100%;
	margin: 30px 0 0 0;
	border: 1px solid #ccc;
}
section.heat02 a.btn {
	margin-top: 60px;
}
/* 1150 */
@media (max-width: 1150px) {
	section.heat01 p.strong.sg01 {
		margin-bottom: max(6vw, 40px);
	}
}
/* 1000 */
@media (max-width: 1000px) {
	section.heat .htype03 {
		margin-bottom: max(4vw, 15px);
	}
	section.heat01 h2,
	section.heat02 .ex01 h3 {
		font-size: max(3.2vw, 1.8rem);
		margin-bottom: max(3vw, 15px);
	}
	section.heat02 .ex01 h4 {
		font-size: max(2.0vw, 1.6rem);
		margin-bottom: max(3vw, 15px);
	}
	section.heat p.strong {
		font-size: max(2.2vw, 1.8rem);
	}
	section.heat02 ul li .text h3 {
		font-size: max(2.6vw, 1.8rem);
		margin-bottom: max(2vw, 15px);
	}
}
/* 580 */
@media (max-width: 580px) {
	section.heat02 ul li {
		margin-bottom: 40px;
	}
	section.heat02 ul li .text {
		width: 100%;
		padding-right: 0;
		padding-left: 0;
		margin-bottom: 20px;
	}
	section.heat02 ul li figure {
		width: 100%;
	}
	section.heat02 ul li:nth-child(even) .text {
		padding-left: 0;
	}
	.img35_txt65 figure {
		width: 100%;
		margin-bottom: 20px;
	}
	.img35_txt65 .text {
		width: 100%;
		padding-left: 0;
	}
}

/*--------------------------------------------------------------*/
/* 360度一覧ページ */
/*--------------------------------------------------------------*/
section.v360.modelhouse {
	padding-bottom: 0;
	margin-bottom: -80px;
}
section.v360.sales {
	padding-bottom: 0;
}
section.v360 header {
	margin-bottom: 30px;
}
section.v360 header h2 {
	color: #95c8de;
}
/* 580 */
@media (max-width: 580px) {
	section.v360 header {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* 下層 暮らしに、新しい息吹を。
        ユニハウスが叶える、あなたらしいリフォーム。 */
/*--------------------------------------------------------------*/
/* 共通 */
section.reform_sec header {
	text-align: center;
}
section.reform_sec header + p {
	max-width: 800px;
	margin: 0 auto 60px auto;
	text-align: center;
	line-height: 2;
}
/* ユニハウスのリフォームについて */
section.or_service,
section.or_service .content {
	position: relative;
}
section.or_service .content::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 90px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: -5%;
	right: 25%;
	z-index: -1;
}
section.or_service .content::before {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 120px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 80%;
	right: 10%;
	z-index: -1;
}
section.or_service .content .kumo::after {
	content: '';
	display: block;
	aspect-ratio: 1.45 / 1;
	width: 190px;
	background: url(../images/kumo.png) no-repeat;
	background-size: cover;
	position: absolute;
	top: 25%;
	left: 0%;
	z-index: -1;
}
section.or_service .mission_image {
	background: url(../images/mission01.jpg) no-repeat;
	background-size: cover;
	width: 100%;
	height: 420px;
}
/* 580 */
@media (max-width: 580px) {
	/* 共通 */
	section.reform_sec header {
		margin-bottom: 20px;
	}
	section.reform_sec header + p {
		margin: 0 auto 40px auto;
		text-align: left;
	}
	/* ユニハウスのリフォームについて */
	section.or_service .mission_image {
		height: 200px;
	}
	section.or_service .content::after {
		width: 70px;
		top: -5%;
		right: 15%;
	}
	section.or_service .content::before {
		width: 120px;
		top: 80%;
		right: 5%;
	}
	section.or_service .content .kumo::after {
		width: 100px;
		top: 25%;
		left: 0%;
	}
}
/* 画像＋テキスト */
#sub_page .reform header {
	text-align: center;
	margin-bottom: 80px;
}
#sub_page .reform .row {
	position: relative;
}
#sub_page .reform .row:not(:last-child) {
	margin-bottom: 80px;
}
#sub_page .reform .row .flex {
	align-items: center;
}
#sub_page .reform .row.reverse .flex {
	flex-direction: row-reverse;
}
/* left */
#sub_page .reform .row .flex .left {
	width: 55%;
	height: max(29vw, 450px);
}
#sub_page .reform .row .flex .left .box {
	position: absolute;
	top: 0;
	left: 0;
	height: max(29vw, 450px);
	width: 52%;
}
#sub_page .reform .row.reverse .flex .left .box {
	left: initial;
	right: 0;
}
#sub_page .reform .row .flex .left img {
	border-radius: 0 30px 30px 0;
	object-fit: cover;
	height: 100%;
}
#sub_page .reform .row.reverse .flex .left img {
	border-radius: 30px 0 0 30px;
}
/* right */
#sub_page .reform .row .flex .right {
	width: 45%;
	padding-left: 30px;
}
#sub_page .reform .row .flex .right .wrap {
	position: relative;
}
#sub_page .reform .row .flex .right .wrap .title {
	position: relative;
	margin-bottom: 40px;
}
#sub_page .reform .row .flex .right .wrap .title .num {
	font-size: 20rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: -5px;
	color: #f6fafb;
	position: absolute;
	bottom: -20px;
	right: 0;
	z-index: -1;
}
/* 1150 */
@media (max-width: 1150px) {
	#sub_page .reform .row .flex .right .wrap .title .num {
		font-size: max(17vw, 10rem);
	}
}
/* 580 */
@media (max-width: 580px) {
	#sub_page .reform header {
		margin-bottom: 40px;
	}
	#sub_page .reform .row:not(:last-child) {
		margin-bottom: 40px;
	}
	/* left */
	#sub_page .reform .row .flex .left {
		width: 100%;
		height: initial;
		margin-bottom: 35px;
	}
	#sub_page .reform .row .flex .left .box {
		position: initial;
		height: 220px;
		width: calc(100% + 20px);
		margin-left: -20px;
	}
	#sub_page .reform .row.reverse .flex .left .box {
		margin-left: 0;
		margin-right: -20px;
	}
	#sub_page .reform .row .flex .left img {
		border-radius: 0 30px 30px 0;
		object-fit: cover;
		height: 100%;
	}
	#sub_page .reform .row.reverse .flex .left img {
		border-radius: 30px 0 0 30px;
	}
	/* right */
	#sub_page .reform .row .flex .right {
		width: 100%;
		padding-left: 0;
	}
	#sub_page .reform .row .flex .right .wrap .title {
		margin-bottom: 20px;
	}
}
/* プラン */
section.reform_plan .flex {
	display: flex;
	flex-wrap: wrap;
}
section.reform_plan .flex .left {
	width: 50%;
}
section.reform_plan .flex .left figure figcaption {
	font-size: 12px;
	padding-top: 5px;
}
section.reform_plan .flex .right {
	width: 55%;
	margin-left: -5%;
	position: relative;
	z-index: 2;
}
section.reform_plan .blue {
	background: rgba(65,108,143,0.8);
	color: #fff;
	padding: 20px;
	border-radius: 20px 0 0 20px;
	margin-top: 60px;
	margin-bottom: 20px;
	font-family: dnp-shuei-mgothic-std, sans-serif;
}
section.reform_plan.koda .blue {
	background: rgba(56,136,113,0.8);
}
section.reform_plan.gaikan .blue {
    background: rgba(98, 115, 128, 0.8);
}
section.reform_plan .blue p.txt {
	line-height: 1.4;
}
section.reform_plan .blue h2 {
	line-height: 1.2;
	position: relative;
	padding-bottom: 16px;
	margin-bottom: 20px;
}
section.reform_plan .blue h2::after {
	content: '';
	display: block;
	width: 200%;
	border-bottom: 1px dotted #fff;
	position: absolute;
	bottom: 0;
	left: 0;
}
section.reform_plan .blue .price_info {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px 3px;
}
section.reform_plan .blue .price_info .price {
	white-space: nowrap;
	line-height: 1;
}
section.reform_plan .blue .price_info .info {
	font-size: 12px;
	border-left: 1px solid #fff;
	padding-left: 10px;
}
section.reform_plan .blue .price_info .price .num {
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-size: 3.6rem;
}

section.reform_plan .half_content {
	max-width: calc(1150px / 2);
}
section.reform_plan .half_content.posi_right {
	margin-left: auto;
	padding-left: 20px;
}
section.reform_plan .half_content.posi_right img {
	border-radius: 15px;
}
section.reform_plan .half_content.posi_left {
	margin-right: auto;
	padding-right: 20px;
}
section.reform_plan .photo ul {
	display: flex;
	gap: 0 20px;
}
section.reform_plan .photo ul li {
	width: calc(100% / 3);
}
section.reform_plan .photo ul li img {
	width: 100%;
	display: block;
	border-radius: 15px;
}
/* plan_exp */
section.reform_plan div.plan_exp {
	padding-top: 40px;
	padding-bottom: 40px;
}
section.reform_plan div.plan_exp p.txt {
	text-align: center;
	line-height: 2.4;
}
/* plan_info */
section.reform_plan div.plan_info .wrap {
	max-width: 720px;
	margin: 30px auto 0 auto;
	position: relative;
}
section.reform_plan div.plan_info .wrap h2 {
	font-size: 28px;
	text-align: center;
	line-height: 1.3;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #416C8F;
	color: #fff;
	padding: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	transform: translate(-20px, -20px);
	position: absolute;
	top: 0;
	left: 0;
}
section.reform_plan.gaikan div.plan_info .wrap h2 {
	padding: 20px;
	background: #627380;
}
section.reform_plan.gaikan div.plan_info .wrap h2 span.small {
	font-size: 12px;
	margin-top: 5px;
	line-height: 2;
	display: block;
}
section.reform_plan.koda div.plan_info .wrap h2 {
	background: #388871;
}
section.reform_plan div.plan_info .box {
	background: #F5EFE4;
	border-radius: 20px;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 20px 30px 20px 0;
	margin-left: 30px;
}
section.reform_plan div.plan_info .box ul {
	max-width: 540px;
	width: 100%;
}
section.reform_plan div.plan_info .box ul li {
	padding: 5px 0;
}
section.reform_plan div.plan_info .box ul li:not(:last-child) {
	border-bottom: 2px dotted #416C8F;
}
section.reform_plan.koda div.plan_info .box ul li:not(:last-child) {
	border-bottom: 2px dotted #388871;
}
section.reform_plan div.plan_info .box ul li dl {
	display: flex;
	align-items: center;
	gap: 0 30px;
}
section.reform_plan div.plan_info .box ul li dl dt {
	color: #416C8F;
	font-size: 24px;
	white-space: nowrap;
}
section.reform_plan.koda div.plan_info .box ul li dl dt {
	color: #388871;
}
section.reform_plan div.plan_info .box ul li dl dt i {
	margin-right: 8px;
}
/* gaikan */
section.reform_plan.gaikan .flex .right .text {
	margin-left: 15%;
}
section.reform_plan div.plan_info.mt {
	margin-top: 60px;
}
section.reform_plan div.plan_info .box2 {
	background: #F5EFE4;
	border-radius: 20px;
	padding: 30px;
	margin-left: 30px;
}
section.reform_plan div.plan_info .box2 .box2head {
	padding-left: 110px;
}
section.reform_plan div.plan_info .box2 .box2head span.catch {
	line-height: 1.2;
}
section.reform_plan div.plan_info .box2 .box2head h3 {
	line-height: 1.2;
	color: #627380;
	border-top: 2px dotted #627380;
	margin-top: 10px;
	margin-bottom: 40px;
	padding-top: 5px;
}
section.reform_plan div.plan_info .box2 h4 {
	font-size: 20px;
	line-height: 1.2;
	color: #627380;
	border-left: 5px solid #627380;
	padding-left: 8px;
	margin: 20px 0 20px 0;
}
section.reform_plan div.plan_info .box2 img {
	border-radius: 15px;
}
section.reform_plan.gaikan div.plan_info .box2 img {
    border-radius: 0px;
}
section.reform_plan div.plan_info .box2 .images {
	background: #DEF2FD;
	border-radius: 15px;
	padding: 10px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
section.reform_plan div.plan_info .box2 .images img {
	border-radius: 0;
	width: 50%;
}
/* slider */
.rp5_slider {
	margin-bottom: 80px;
}
.rp5_slider .slick-slide {
	margin: 0 14px;
	position: relative;
	overflow: hidden;
}
.rp5_slider .slick-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 15px;
}
.rp5_slider .slick-arrow {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #fff;
	cursor: pointer;
	border: none;
	outline: none;
	font-size: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	z-index: 1;
	border: 2px solid #2A71B9;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.rp5_slider .slick-arrow::before {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	border: 1px solid #2A71B9;
	border-width: 2px 2px 0 0;
	position: absolute;
	top: 56%;
	left: 40%;
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
}
.rp5_slider .slick-next {
	right: 30px;
}
.rp5_slider .slick-prev {
	left: 30px;
}
.rp5_slider .slick-next::before {
}
.rp5_slider .slick-prev::before {
	border-width: 0 0 2px 2px;
}
.rp5_slider + a.btn.cc {
	max-width: 380px;
	min-width: 310px;
	width: 80%;
}
/* 1170 */
@media (max-width: 1170px) {
	section.reform_plan .photo ul {
		display: flex;
		gap: 0 max(1.709vw, 12px);
	}
}
/* 760 */
@media (max-width: 760px) {
	section.reform_plan div.plan_info .wrap {
		margin: 0 auto 0 auto;
	}
	section.reform_plan div.plan_info .wrap h2 {
		font-size: 16px;
		line-height: 1.3;
		aspect-ratio: initial;
		border-radius: 15px;
		padding: 7px 20px;
		display: inline-flex;
		transform: translate(0px, 16px);
		position: initial;
		top: 0;
		left: 0;
	}
	section.reform_plan div.plan_info .wrap h2 br.sp_none {
		display: none;
	}
	section.reform_plan div.plan_info .box {
		border-radius: 0 20px 20px 20px;
		display: flex;
		justify-content: center;
		padding: 20px;
		margin-left: 20px;
	}
	section.reform_plan div.plan_info .box2 .box2head {
		padding-left: 0px;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* プラン */
	section.reform_plan .flex .left {
		width: 100%;
	}
	section.reform_plan .flex .right {
		width: 100%;
		margin-left: 0;
	}
	section.reform_plan .flex .left figure figcaption {
		display: none;
	}
	section.reform_plan .half_content {
		max-width: initial;
		padding: 0 20px;
	}
	section.reform_plan .blue {
		padding: 20px;
		margin-top: -40px;
		margin-left: 40px;
	}
	section.reform_plan .blue .price_info .info {
		font-size: 11px;
		border-left: none;
		padding-left: 0px;
	}
	section.reform_plan .blue .half_content {
		padding: 0;
	}
	section.reform_plan .blue h2 {
		font-size: 2.0rem;
		padding-bottom: 12px;
		margin-top: 8px;
		margin-bottom: 10px;
	}
	section.reform_plan .photo.half_content.posi_left span.note {
		display: block;
		margin-top: 10px;
		font-size: 1.1rem;
	}
	section.reform_plan div.plan_exp {
		padding-top: 20px;
		padding-bottom: 10px;
	}
	section.reform_plan div.plan_exp p.txt {
		text-align: left;
		line-height: 1.8;
	}
	section.reform_plan div.plan_info .box ul li dl {
		gap: 0 10px;
	}
	section.reform_plan div.plan_info .box ul li dl dt {
		font-size: 14px;
	}
	section.reform_plan div.plan_info .box ul li dl dd {
		font-size: 11px;
	}
	/* gaikan */
	section.reform_plan.gaikan .flex .right .text {
		margin-left: 0;
	}
	section.reform_plan.gaikan .flex .right .text span.note {
		display: block;
		margin-bottom: 20px;
		font-size: 1.1rem;
	}
	section.reform_plan.gaikan div.plan_info .wrap h2 {
		display: inline-block;
		padding: 5px 14px;
		transform: translate(0px, 8px);
		margin-top: 21px;
	}
	section.reform_plan.gaikan div.plan_info .wrap h2 span.small {
		font-size: 11px;
		margin-top: 5px;
		display: inline;
	}
	section.reform_plan div.plan_info .box2 {
		padding: 20px;
		margin-left: 10px;
	}
	section.reform_plan div.plan_info .box2 .box2head span.catch {
		font-size: 13px;
	}
	section.reform_plan div.plan_info .box2 .box2head h3 {
		border-top: 1px dotted #627380;
		margin-top: 8px;
		margin-bottom: 20px;
		padding-top: 8px;
		font-size: 16.5px;
	}
	section.reform_plan div.plan_info .box2 h4 {
		font-size: 16.5px;
		border-left: 3px solid #627380;
		padding-left: 8px;
		margin: 20px 0 18px 0;
	}
	section.reform_plan div.plan_info .box2 .images {
		display: block;
	}
	section.reform_plan div.plan_info .box2 .images img {
		width: 100%;
	}
	/* slider */
	.rp5_slider {
		margin-bottom: 60px;
	}
	.rp5_slider .slick-slide {
		margin: 0 10px;
	}
	.rp5_slider .slick-arrow {
		width: 40px;
		height: 40px;
		border: 1px solid #2A71B9;
	}
	.rp5_slider .slick-arrow::before {
		width: 10px;
		height: 10px;
		border-width: 1px 1px 0 0;
		left: 38%;
	}
	.rp5_slider .slick-next {
		right: 10px;
	}
	.rp5_slider .slick-prev {
		left: 10px;
	}
	.rp5_slider .slick-prev::before {
		border-width: 0 0 1px 1px;
	}
}

/*--------------------------------------------------------------*/
/* 注文住宅 slug => custom-built */
/*--------------------------------------------------------------*/
section.custom_built div.bk {
	background: #f5efe4;
}
section.custom_built header#built_header .content {
	position: relative;
	height: 100%;
}
section.custom_built header#built_header {
	background: url(../images/subhead_custom-built.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	height: 745px;
	padding-top: 60px;
}
section.custom_built header#built_header h1 {
	color: #fff;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin: 0 auto;
	text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7);
}
section.custom_built header#built_header ul.hlink {
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0 3%;
	position: absolute;
	bottom: -60px;
	left: 0;
	padding: 0 20px;
}
section.custom_built header#built_header ul.hlink li {
	width: calc(94% / 3);
	background: rgba(250, 185, 81, 0.8);
	transition: background .3s ease;
}
section.custom_built header#built_header ul.hlink li:hover {
	background: rgba(250, 185, 81, 1);
}
section.custom_built header#built_header ul.hlink li a {
	color: #333;
	display: block;
	padding: 15px 0 5px 0;
	text-align: center;
	transition: color .3s ease;
}
section.custom_built header#built_header ul.hlink li a:hover {
	color: #000;
}
section.custom_built header#built_header ul.hlink li a span.mn {
	display: block;
	font-size: 22px;
	font-weight: bold;
}
section.custom_built header#built_header ul.hlink li a i {
	font-size: 22px;
}
/* section.built_works */
section.built_works {
	padding-top: 200px;
}
section .flex.tate {
	display: flex;
	align-items: flex-start;
}
section .flex.tate .thead {
	width: 120px;
	padding-top: 30px;
	position: relative;
}
section .flex.tate .thead::before {
	content: '';
	display: block;
	width: 56px;
	height: 4px;
	background: #2A71B9;
	position: absolute;
	top: -30px;
	left: 0;
}
section .flex.tate .thead .abso {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
section .flex.tate .thead .abso span.eng {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
section .flex.tate .thead .abso h1 {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
section .flex.tate .tbody {
	flex: 1;
}
section .flex.tate .tbody p.msg {
	margin-bottom: 40px;
}
.breakout {
	background: #fff;
	margin-left: -20px;
	padding-top: 30px;
	padding-bottom: 80px;
	position: relative;
}
.breakout::after {
	content: '';
	display: block;
	background: #fff;
	width: 50%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 100%;
	z-index: 0;
}
.breakout-right {
	width: 100vw;
	margin-left: calc((100vw - 100%) / -2);
	margin-right: calc((100vw - 100%) / -2);
	padding-left: calc(((100vw - 1150px) / 2)  + 130px); 
	padding-right: 0;
	position: relative;
	z-index: 1;
}
.breakout-right-inner {
	padding-left: 20px;
}
section.built_works a.btn_orange {
	margin-top: -25px;
}
/* 1150px */
@media (max-width: 1150px) {
	.breakout-right {
		padding-left: 140px;
	}
	section.custom_built header#built_header ul.hlink li a span.mn {
		font-size: max(1.913vw, 15px); //22px;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.custom_built header.built_header span.eng {
		font-size: 18px;
		letter-spacing: -0.5px;
	}
	/* section.built_works */
	section.built_works {
		padding-top: 120px;
	}
	section .flex.tate .thead {
		width: 90px;
	}
	section .flex.tate .thead::before {
		width: 40px;
		height: 4px;
	}
	section .flex.tate .thead .abso {
		gap: 10px;
	}
	section .flex.tate .thead .abso span.eng {
		font-size: 1.4rem;
		letter-spacing: -0.2px;
	}
	.breakout {
		margin-left: 10px;
		margin-right: -20px;
	}
	.breakout-right {
		width: initial;
		margin-left: initial;
		margin-right: initial;
		padding-left: 30px;
		padding-right: initial;
	}
	.breakout-right-inner {
		padding-left: initial;
	}
	section.custom_built header#built_header {
		height: calc(100svh - 60px);
		padding-top: 40px;
	}
	section.custom_built header#built_header ul.hlink {
		bottom: -30px;
		justify-content: center;
		gap: 0 5%;
	}
	section.custom_built header#built_header ul.hlink li {
		width: calc(95% / 2);
	}
	section.custom_built header#built_header ul.hlink li:nth-child(2) {
		display: none;
	}
	section.built_works a.btn_orange {
		margin-top: -21px;
		max-width: 246px;
	}
}

/*--------------------------------------------------------------*/
/* 注文住宅 SLIDER */
/*--------------------------------------------------------------*/
/* slider */
.built_slider .slick-slide {
	margin-right: 14px;
	position: relative;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}
.built_slider .slick-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.built_slider .slick-arrow {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background-color: #fff;
	cursor: pointer;
	border: none;
	outline: none;
	font-size: 0;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	z-index: 1;
	border: 2px solid #2A71B9;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.built_slider .slick-arrow::before {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	border: 1px solid #2A71B9;
	border-width: 2px 2px 0 0;
	position: absolute;
	top: 56%;
	left: 40%;
	-webkit-transform: rotate(45deg) translate(-50%, -50%);
	transform: rotate(45deg) translate(-50%, -50%);
}
.built_slider .slick-next {
	right: 20px;
}
.built_slider .slick-prev {
	left: -15px;
}
.built_slider .slick-next::before {
}
.built_slider .slick-prev::before {
	border-width: 0 0 2px 2px;
}
.built_slider + a.btn.cc {
	max-width: 380px;
	min-width: 310px;
	width: 80%;
}
/* 580 */
@media (max-width: 580px) {
	/* slider */
	.built_slider .slick-slide {
		margin: 0;
	}
	.built_slider .slick-arrow {
		width: 40px;
		height: 40px;
		border: 1px solid #2A71B9;
	}
	.built_slider .slick-arrow::before {
		width: 10px;
		height: 10px;
		border-width: 1px 1px 0 0;
		left: 38%;
	}
	.built_slider .slick-next {
		right: 10px;
	}
	.built_slider .slick-prev {
		left: -45px;
	}
	.built_slider .slick-prev::before {
		border-width: 0 0 1px 1px;
	}
}

/*--------------------------------------------------------------*/
/* 注文住宅 -> こだわり */
/*--------------------------------------------------------------*/
section.built_kodawari {
	padding-top: 150px;
}
header.built_header {
	text-align: center;
	position: relative;
	padding-top: 60px;
	margin-bottom: 60px;
}
header.built_header::before {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background: #2A71B9;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
header.built_header h1 {
	margin-bottom: 8px;
}
header.built_header span.eng {
	margin-bottom: 15px;
	display: block;
}
section.built_kodawari ul {
	display: flex;
	flex-direction: column;
	gap: 80px 0;
}
section.built_kodawari ul li {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 25px 0;
}
section.built_kodawari ul li:nth-child(even) {
	flex-direction: row-reverse;
}
section.built_kodawari ul li figure {
	width: 50%;
}
section.built_kodawari ul li figure img {
	display: block;
}
section.built_kodawari ul li div.text {
	width: 50%;
	padding-left: 30px;
}
section.built_kodawari ul li:nth-child(even) div.text {
	padding-left: 0px;
	padding-right: 30px;
}
section.built_kodawari ul li div.text h2 {
	font-size: 24px;
}
section.built_kodawari ul li div.text h3 {
	font-size: 24px;
	padding-bottom: 25px;
	margin-bottom: 25px;
	position: relative;
}
section.built_kodawari ul li div.text h3::before {
	content: '－';
	margin-right: 10px;
}
section.built_kodawari ul li div.text h3::after {
	content: '';
	display: block;
	height: 2px;
	width: 110%;
	background: #2A71B9;
	position: absolute;
	bottom: 0;
	left: -10%;
}
section.built_kodawari ul li:nth-child(even) div.text h3::after {
	left: 0;
	right: -10%;
}
/* 1150 */
@media (max-width: 1150px) {
	section.built_kodawari ul {
		gap: max(6.957vw, 45px); //80px 0;
	}
	section.built_kodawari ul li div.text h2 {
		font-size: max(2.087vw, 17px); //24px;
	}
	section.built_kodawari ul li div.text h3 {
		font-size: max(2.087vw, 17px); //24px;
		padding-bottom: max(2.174vw, 10px); //25px;
		margin-bottom: max(2.174vw, 10px); //25px;
	}
}
/* 580 */
@media (max-width: 580px) {
	header.built_header {
		padding-top: 40px;
		margin-bottom: 40px;
	}
	section.built_kodawari ul li figure {
		width: 100%;
	}
	section.built_kodawari ul li div.text {
		width: 100%;
		padding-left: 30px;
		position: relative;
	}
	section.built_kodawari ul li:nth-child(even) div.text {
		padding-left: 30px;
	}
	section.built_kodawari ul li div.text::after {
		content: '';
		display: block;
		height: 140px;
		width: 2px;
		background: #2A71B9;
		position: absolute;
		top: -20%;
		left: 10px;
	}
	section.built_kodawari ul li:nth-child(even) div.text {
		padding-right: 0px;
	}
	section.built_kodawari ul li div.text h3::after {
		display: none;
	}
}

/*--------------------------------------------------------------*/
/* 注文住宅 -> 流れ */
/*--------------------------------------------------------------*/
section.built_flow {
	padding-top: 120px;
}
section.built_flow .tbody ol {
	display: flex;
	flex-direction: column;
	gap: 45px 0;
}
section.built_flow .tbody ol li:not(:last-child)::after {
	content: '\f3d0';
	font-family: "Ionicons";
	color: #2A71B9;
	font-size: 40px;
	display: block;
	text-align: center;
	margin-top: 45px;
}
section.built_flow .tbody ol li span.num {
	color: #fff;
	font-size: 82px;
	font-style: italic;
	line-height: 1;
}
section.built_flow .tbody ol li dl {
	margin-top: -42px;
	padding-left: 62px;
}
section.built_flow .tbody ol li dl dt {
	font-size: 24px;
	font-weight: bold;
	color: #2A71B9;
	margin-bottom: 20px;
}
section.built_flow .tbody ol li dl dd {
	line-height: 2;
}
/* 1150 */
@media (max-width: 1150px) {
	section.built_flow .tbody ol {
		gap: max(3.913vw, 25px) 0;
	}
	section.built_flow .tbody ol li:not(:last-child)::after {
		font-size: max(3.478vw, 28px); //40px;
		margin-top: max(3.913vw, 25px); //45px;
	}
	section.built_flow .tbody ol li span.num {
		font-size: max(7.13vw, 50px); //82px;
	}
	section.built_flow .tbody ol li dl {
		margin-top: max(-3.652vw, -34px); //-42px;
		padding-left: max(5.391vw, 43px); //62px;
	}
	section.built_flow .tbody ol li dl dt {
		font-size: max(2.087vw, 17px); //24px;
		margin-bottom: max(1.739vw, 14px); //20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.built_flow .tbody ol {
		margin-left: -45px;
	}
}

/*--------------------------------------------------------------*/
/* 注文住宅 -> モデルハウス */
/*--------------------------------------------------------------*/
section.built_model {
	padding-top: 120px;
}
section.built_model div.body {
	text-align: center;
	color: #fff;
	background: url(../images/built_model_bk.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	padding: 40px 0;
	position: relative;
}
section.built_model div.body::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(51,51,51,0.7);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
section.built_model .content {
	position: relative;
	z-index: 1;
}
section.built_model div.body p.kengaku {
	font-size: 24px;
	margin-bottom: 15px;
}
section.built_model div.body p.kengaku span.txt {
	position: relative;
}
section.built_model div.body p.kengaku span.txt::before {
	content: '';
	display: block;
	width: 2px;
	height: 30px;
	background: #fff;
	position: absolute;
	top: 0;
	left: -25px;
	transform: rotate(-30deg);
}
section.built_model div.body p.kengaku span.txt::after {
	content: '';
	display: block;
	width: 2px;
	height: 30px;
	background: #fff;
	position: absolute;
	top: 0;
	right: -25px;
	transform: rotate(30deg);
}
section.built_model div.body h2 {
	margin-bottom: 25px;
}
section.built_model .btn_orange {
	max-width: 225px;
}
/* 1150 */
@media (max-width: 1150px) {
	section.built_model {
		padding-top: max(10.435vw, 80px); //120px;
	}
	section.built_model div.body {
		padding: max(3.478vw, 25px) 0 max(3.478vw, 0px) 0; //40px 0;
	}
	section.built_model div.body p.kengaku {
		font-size: max(2.087vw, 17px); //24px;
		margin-bottom: 15px;
	}
	section.built_model div.body p.kengaku span.txt::before {
		height: max(2.609vw, 21px); //30px;
	}
	section.built_model div.body p.kengaku span.txt::after {
		height: max(2.609vw, 21px); //30px;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.built_model div.body p.kengaku span.txt::before {
		width: 1px;
		left: -15px;
	}
	section.built_model div.body p.kengaku span.txt::after {
		width: 1px;
		right: -15px;
	}
}

/*--------------------------------------------------------------*/
/* 注文住宅 -> FAQ */
/*--------------------------------------------------------------*/
section.built_faq {
	padding-top: 80px;
	padding-bottom: 80px;
}
section.built_faq .qa_lists dl dt span.qq {
	font-family: futura-pt, sans-serif;
	font-size: 1.8rem;
	font-weight: normal;
	background: url(../images/qq_bk.svg) no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius: 0;
	width: 41px;
	height: 41px;
}
section.built_faq .qa_lists dl dt span.q_txt {
	font-size: 20px;
	font-weight: bold;
	margin-left: 65px;
}
section.built_faq .qa_lists dl dd .text {
	padding-left: 60px;
}
section.built_faq .qa_lists dl dd span.qq {
	font-family: futura-pt, sans-serif;
	font-size: 1.8rem;
	font-weight: normal;
	color: #2A71B9;
	background: url(../images/aa_bk.svg) no-repeat;
	background-position: center center;
	background-size: cover;
	border: none;
	border-radius: 0;
	width: 41px;
	height: 41px;
}
.qa_lists dl dt::before,
.qa_lists dl dt::after {
	background: #888;
	height: 2px;
}
/* 580 */
@media (max-width: 580px) {
	section.built_faq {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	section.built_faq .qa_lists dl dt span.qq {
		font-size: 1.5rem;
		width: 32px;
		height: 32px;
	}
	section.built_faq .qa_lists dl dt span.q_txt {
		font-size: 16px;
		margin-left: 50px;
	}
	section.built_faq .qa_lists dl dd .text {
		padding-left: 43px;
	}
	section.built_faq .qa_lists dl dd span.qq {
		font-size: 1.5rem;
		width: 32px;
		height: 32px;
	}
	.qa_lists dl dt::before,
	.qa_lists dl dt::after {
		background: #888;
		height: 2px;
	}
}

/*--------------------------------------------------------------*/
/* 注文住宅 -> 見学予約 */
/*--------------------------------------------------------------*/
section.built_reserve {
	padding-top: 80px;
	padding-bottom: 80px;
	transition: padding .3s ease;
}
section.built_reserve .flex {
	background: #F5EFE4;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
section.built_reserve .flex figure {
	width: 40%;
	position: relative;
	z-index: 2;
}
section.built_reserve .flex figure img {
	transform: translate(-60px, -60px);
	transition: transform .3s ease;
}
section.built_reserve .flex div.text {
	width: 60%;
	transition: padding .3s ease;
}
section.built_reserve .flex div.text h1 {
	margin-bottom: 20px;
}
section.built_reserve .flex div.text p.txt {
	margin-bottom: 40px;
}
section.built_reserve a.btn_orange {
	margin-top: -25px;
	max-width: 340px;
}
/* 1245*/
@media (max-width: 1245px) {
	section.built_reserve .flex figure img {
		transform: translate(0px, 0px);
	}
	section.built_reserve .flex div.text {
		padding-left: 40px;
	}
}
/* 1150 */
@media (max-width: 1150px) {
	section.built_reserve {
		padding-top: max(6.957vw, 30px); //80px;
		padding-bottom: max(6.957vw, 30px); //80px;
	}
	section.built_reserve .flex div.text h1 {
		font-size: max(2.78vw, 1.8rem); //3.2rem;
		margin-bottom: max(1.739vw, 14px); //20px;
	}
}
/* 850 */
@media (max-width: 850px) {
	section.built_reserve .flex {
		background: initial;
		display: block;
	}
	section.built_reserve .flex figure {
		width: 50%;
		margin-left: 15%;
	}
	section.built_reserve .flex div.text {
		background: #F5EFE4;
		margin-top: -40px;
		margin: -40px auto 0 auto;
		padding: 80px 20px 20px 20px;
		width: 60%;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.built_reserve .content {
		padding: 0;
	}
	section.built_reserve .flex figure {
		width: 87%;
		margin-left: 20px;
	}
	section.built_reserve .flex div.text {
		background: #F5EFE4;
		margin-top: -40px;
		margin: -40px 0 0 auto;
		padding: 60px 40px 20px 30px;
		width: 87%;
	}
	section.built_reserve a.btn_orange {
		max-width: 287px;
		margin: -25px 17px 20px auto;
	}
}


/*--------------------------------------------------------------*/
/* お知らせ */
/*--------------------------------------------------------------*/
body.blog header#sub_visual,
body.single header#sub_visual,
body.archive header#sub_visual {
	margin-bottom: 30px;
}
body.blog .col2,
body.single .col2,
body.archive .col2 {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 0 20px 0 20px;
}
/* main */
body.blog .col2 div.main,
body.single .col2 div.main,
body.archive .col2 div.main {
	width: 68%;
}
body.blog .col2 div.main ul.post_list > li,
body.archive .col2 div.main ul.post_list > li {
	box-shadow: 0px 1px 4px 0px rgb(0 0 0 / 30%);
	padding: 30px 20px;
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	border-radius: 5px;
}
body.blog .col2 div.main ul.post_list > li figure,
body.archive .col2 div.main ul.post_list > li figure {
	max-width: 300px;
	width: 40%;
	margin-right: 25px;
}
body.blog .col2 div.main ul.post_list > li div.text,
body.archive .col2 div.main ul.post_list > li div.text {
	flex: 1;
}
body.blog .col2 div.main ul.post_list > li div.text time,
body.single .col2 div.main time,
body.archive .col2 div.main ul.post_list > li div.text time {
	font-size: 1.4rem;
	display: block;
	margin-bottom: 7px;
}
body.blog .col2 div.main ul.post_list > li div.text ul.tags li,
body.single .col2 div.main ul.tags li,
body.archive .col2 div.main ul.post_list > li div.text ul.tags li {
	font-size: 1.2rem;
	background: #faffb1;
	display: inline-block;
	padding: 0 5px;
	margin: 0 10px 10px 0;
}
body.blog .col2 div.main ul.post_list > li div.text h2,
body.archive .col2 div.main ul.post_list > li div.text h2 {
	font-size: 1.8rem;
	font-weight: bold;
	color: #95c8de;
	margin-bottom: 10px;
}
body.blog .col2 div.main ul.post_list > li div.text h2 + p.txt,
body.archive .col2 div.main ul.post_list > li div.text h2 + p.txt {
	margin-bottom: 20px;
}
body.blog .col2 div.main ul.post_list > li div.text .btn_link.more,
body.archive .col2 div.main ul.post_list > li div.text .btn_link.more {
	margin: 0 0 0 auto;
	padding: 2px;
}
/* sidebar */
body.blog .col2 aside#sidebar,
body.single .col2 aside#sidebar,
body.archive .col2 aside#sidebar {
	width: 29%;
}
body.blog .col2 aside#sidebar ul.parent > li,
body.single .col2 aside#sidebar ul.parent > li,
body.archive .col2 aside#sidebar ul.parent > li {
	margin-bottom: 30px;
}
body.blog .col2 aside#sidebar h3,
body.single .col2 aside#sidebar h3,
body.archive .col2 aside#sidebar h3 {
	font-size: 2.0rem;
	background: #95c8de;
	color: #fff;
	padding: 6px 6px 6px 12px;
}
body.blog .col2 aside#sidebar h3 + ul,
body.single .col2 aside#sidebar h3 + ul,
body.archive .col2 aside#sidebar h3 + ul {
	padding: 10px 0 20px 0;
}

body.blog .col2 aside#sidebar h3 + ul > li,
body.single .col2 aside#sidebar h3 + ul > li,
body.archive .col2 aside#sidebar h3 + ul > li {
	padding: 10px 20px;
	border-bottom: 1px solid #FFE7E5;
}
/* 768 */
@media (max-width: 768px) {
	/* main */
	body.blog .col2 div.main,
	body.single .col2 div.main,
	body.archive .col2 div.main {
		width: 100%;
		margin-bottom: 40px;
	}
	/* sidebar */
	body.blog .col2 aside#sidebar,
	body.single .col2 aside#sidebar,
	body.archive .col2 aside#sidebar {
		width: 100%;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* ul.post_list */
	body.blog .col2 div.main ul.post_list > li,
	body.archive .col2 div.main ul.post_list > li {
		display: block;
	}
	body.blog .col2 div.main ul.post_list > li figure,
	body.archive .col2 div.main ul.post_list > li figure {
		max-width: 100%;
		width: 100%;
		margin-right: 0;
		margin-bottom: 5px;
	}
	body.blog .col2 div.main ul.post_list > li figure img,
	body.archive .col2 div.main ul.post_list > li figure img {
		width: 100%;
	}
	body.blog .col2 div.main ul.post_list > li div.text,
	body.archive .col2 div.main ul.post_list > li div.text {
		width: 100%;
	}
	/* col2 */
	body.blog .col2,
	body.single .col2,
	body.archive .col2 {
		padding: 0 20px;
	}
	body.blog .col2 div.main ul.post_list > li div.text h2 + p.txt,
	body.archive .col2 div.main ul.post_list > li div.text h2 + p.txt {
		font-size: 1.5rem;
	}
}
/* single */
article.post-wrap header {
	margin-bottom: 40px;
	color: #fff;
}
article.post-wrap header .content.waku {
	position: relative;
	padding-left: 60px;
	padding-bottom: 10px;
}
article.post-wrap header .content.waku::before {
	content: '';
	display: block;
	width: 465px;
	height: 316px;
	background: url(../images/subhead_part2.png) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: -30px;
	left: 0;
}
article.post-wrap header .title {
	background: #1c4d8c;
	padding: 260px 0 130px 0;
	position: relative;
	z-index: -1;
}
article.post-wrap header .title.noimg {
	padding-bottom: 30px;
}
article.post-wrap header figure {
	line-height: 0;
	border: 40px solid #fff;
	border-radius: 30px;
	box-sizing: content-box;
	margin: -80px -40px 0 -40px;
    background: #fff;
}
article.post-wrap header figure img {
	width: 100%;
	transform: translateY(20px);
}
article.post-wrap div.entry p {
	margin-bottom: 15px;
}
article.post-wrap div.entry a {
	color: blue;
	text-decoration: underline;
	transition: .2s ease;
}
article.post-wrap div.entry a:hover {
	color: orange;
	text-decoration: none;
}
article.post-wrap div.entry figure {
	line-height: 1;
	margin-bottom: 20px;
}
article.post-wrap div.entry figure img {
	height: auto;
}
article.post-wrap div.entry figure figcaption {
	padding: 7px 5px;
	margin-top: -3px;
	background: #ecfcff;
	line-height: 1.3;
	font-size: 1.4rem;
}
/* h1～h6 */
article.post-wrap div.entry h1 {
	font-size: 2.4rem;
	font-weight: bold;
	background: #f3fbff;
	border-left: 5px solid #95c8de;
	padding: 5px 5px 5px 10px;
	margin-top: 35px;
	margin-bottom: 15px;
}
article.post-wrap div.entry h2 {
	font-size: 2.4rem;
	color: #2a71b9;
	padding: 18px 0 0 0;
	margin-top: 35px;
	margin-bottom: 15px;
	position: relative;
}
article.post-wrap div.entry h2::before {
	content: '';
	display: block;
	height: 5px;
	width: 40px;
	background: #2a71b9;
	border-radius: 3px;
	position: absolute;
	top: 0;
	left: 0;
}
article.post-wrap div.entry h3 {
	font-size: 1.8rem;
	color: #95c8de;
	margin-top: 35px;
	margin-bottom: 15px;
}
article.post-wrap div.entry h4 {
	font-size: 1.8rem;
	margin-top: 35px;
	margin-bottom: 15px;
	color: #000;
}
article.post-wrap div.entry h5 {
	font-size: 1.6rem;
	margin-top: 20px;
	margin-bottom: 10px;
	padding: 3px;
	border-bottom: 2px solid #95c8de;
}
article.post-wrap div.entry ul {
	list-style-type: disc;
	margin-left: 20px;
	margin-top: 20px;
	margin-bottom: 15px;
}
article.post-wrap div.entry ul li {
	margin-bottom: 7px;
}
article.post-wrap div.entry ol {
	list-style-type: number;
}
article.post-wrap div.entry ol {
	counter-reset: list-count;
	list-style: none;
}
article.post-wrap div.entry ol > li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 7px;
}
article.post-wrap div.entry ol > li::before {
	content: counter(list-count);
	counter-increment: list-count;
	font-family: futura-pt, sans-serif;
	font-weight: 700;
	color: #2a71b9;
	margin-right: 10px;
	position: absolute;
	left: 0;
	top: 1px;
}
::marker {
	color: #2a71b9;
}

/* blockquote */
article.post-wrap div.entry blockquote {
	position: relative;
	padding: 27px 15px 7px 15px;
	box-sizing: border-box;
	background: #F6F6F6;
	border-left: 4px solid #95c8de;
}
article.post-wrap div.entry blockquote::before{
	display: inline-block;
	position: absolute;
	top: 5px;
	left: 3px;
	content: "\201D";
	font-family: sans-serif;
	color: #95c8de;
	font-size: 60px;
	line-height: 1;
}
article.post-wrap div.entry blockquote p {
	padding: 0;
	margin: 7px 0;
	line-height: 1.7;
}
article.post-wrap div.entry blockquote cite {
	display: block;
	text-align: right;
	color: #888888;
	font-size: 0.9em;
}
/* hr */
article.post-wrap div.entry hr {
	border-top: none;
	border-bottom: 1px dotted #dcdcdc;
	margin: 30px 0;
}
/* wp-block-columns */
.wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
/* wp-block-button */
.wp-block-button {
	display: inline-block;
	margin: 10px;
}
.wp-block-button .wp-block-button__link {
	display: block;
	position: relative;
	max-width: 200px;
	width: 100%;
	text-align: center;
	margin: 20px;
	padding: 10px;
	color: #fff;
	background: #c1007b;
	border: none;
	font-size: 1.6rem;
	transition: 0.3s all;
}
.wp-block-button .wp-block-button__link::after {
	position: absolute;
	top: 50%;
	right: 15px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	color: #fff;
	font-family: "Ionicons";
	content: '\f488';
	font-size: 1.4rem;
	transition: 0.3s all;
}
.wp-block-button .wp-block-button__link:hover {
	background: #c1007b;
	color: #fff;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.4);
	opacity: 0.9;
}
.wp-block-button .wp-block-button__link:hover::after {
	right: 10px;
}
/* table */
article.post-wrap table {
	width: 100%;
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
}
article.post-wrap table th {
	color: #fff;
	background: #708392;
	text-align: center;
}
article.post-wrap table th,
article.post-wrap table td {
	padding: 15px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
article.post-wrap table.page_navi {
	margin-top: 30px;
	width: 100%;
	background: #fff;
	border: none;
}
article.post-wrap table.page_navi th,
article.post-wrap table.page_navi td {
	border: none;
	width: calc(100%/3);
	text-align: center;
}
article.post-wrap table td.left_navi {
	text-align: left;
}
article.post-wrap table td.left_navi a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
article.post-wrap table td.right_navi a {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
article.post-wrap table td a .maru2 {
	background: #000;
	border: none;
}
article.post-wrap table td div.next a .maru2 {
	margin-left: 7px;
}
article.post-wrap table td a:hover .maru2 {
	background: #2a71b9;
	color: #fff;
}
article.post-wrap table td.right_navi a .maru2 {
	margin-right: 0;
	margin-left: 7px;
}
article.post-wrap table td.right_navi a:hover,
article.post-wrap table td.left_navi a:hover {
	color: initial;
}
article.post-wrap table.page_navi td a.blog_index {
	display: inline-block;
	padding: 10px max(3vw, 20px);
	border-radius: 30px;
	background: #2a71b9;
	color: #fff;
	transition: .3s background ease;
}
article.post-wrap table.page_navi td a.blog_index:hover {
	background: #000;
}
/* gallery */
article.post-wrap div.entry ul.blocks-gallery-grid {
	list-style-type: none;
	margin: 0;
	display: flex;
	justify-content: space-between;
}
/* sns */
.sns__container {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
.sns__container a {
	width: 25%;
	text-align: center;
	color: #fff;
	padding: 5px;
	border-radius: 1px;
	line-height: 0;
}
.sns__container a:hover {
	opacity: 0.6;
}
.sns__container a i {
	font-size: 20px;
}
.sns__twitter {
	background: #55acee;
}
.sns__facebook {
	background: #3b5998;
}
.sns__line {
	background: #1dcd00;
}
.sns__pinterest {
	background: #e30224;
}
.sns__hatena {
	background: #00a5df;
}
.fa-hatena:before {
	content: "B!";
	font-family: Verdana;
	font-weight: bold
}
/* a.btn_link.news_list */
a.btn_link.news_list {
	width: 100%;
	padding: 12px;
	border-radius: 20px;
	max-width: 300px;
}
/* 1200 */
@media (max-width: 1200px) {
	article.post-wrap header .tt .time {
		width: max(7.8vw, 50px);
		padding-right: 12px;
	}
	article.post-wrap header .tt h1 {
		padding-left: max(2vw, 10px);
	}
}
/* 580 */
@media (max-width: 580px) {
	article.post-wrap header .content.waku {
		padding-left: 35px;
		padding-bottom: 0;
	}
	article.post-wrap header .content.waku::before {
		background: url(../images/subhead_part2_sp.png) no-repeat;
		background-size: contain;
		width: 240px;
		height: 165px;
		bottom: 20px;
		left: 0;
	}
	article.post-wrap header .title {
		padding: 135px 0 100px 0;
	}
	article.post-wrap header .title time {
		display: block;
		margin-bottom: 5px;
	}
	article.post-wrap header .title h1 {
		line-height: 1.4;
	}
	article.post-wrap header figure {
		border: 20px solid #fff;
		border-radius: 20px;
		margin: -80px 0 0 0;
	}
	article.post-wrap div.entry p {
		font-size: 1.4rem;
	}
	/* h1～h6 */
	article.post-wrap div.entry h1 {
		font-size: 1.8rem;
	}
	article.post-wrap div.entry h2 {
		font-size: 1.8rem;
	}
	article.post-wrap div.entry h3 {
		font-size: 1.6rem;
	}
	article.post-wrap div.entry h4 {
		font-size: 1.6rem;
	}
	article.post-wrap div.entry h5 {
		font-size: 1.6rem;
	}
	article.post-wrap div.entry h6 {
		font-size: 1.6rem;
	}
	article.post-wrap table.page_navi td {
		padding-left: 0;
		padding-right: 0;
	}
	article.post-wrap table.page_navi td a.blog_index {
		padding: 5px 20px;
	}
	/* sidebar */
	body.blog .col2 aside#sidebar h3,
	body.single .col2 aside#sidebar h3,
	body.archive .col2 aside#sidebar h3 {
		font-size: 2.2rem;
	}
	.sns__container a i {
		font-size: 1.4rem;
	}
}

/*--------------------------------------------------------------*/
/* pager */
/*--------------------------------------------------------------*/
.navigation {
	margin-top: 20px;
	overflow: hidden;
}
.navigation ul li:hover::before {
	position: initial;
	left: 0;
	content: "";
	border-left: none;
	height: 0;
	top: 0;
}
ul.page-numbers {
	padding: 10px 0;
	text-align: center;
	margin-top: 50px;
	display: flex;
	justify-content: center;
}
ul.page-numbers li {
	margin: 0 4px;
}
ul.page-numbers li span,
ul.page-numbers li a {
	font-family: futura-pt, sans-serif; /* futura 400 500 700 */
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 25px;
	height: 40px;
	color: #000;
	border-bottom: 3px solid #fff;
	transition: .3s border ease;
}
ul.page-numbers li span {
	border-bottom: 3px solid #95c8de;
}
ul.page-numbers li a:hover {
	border-bottom: 3px solid #95c8de;
}
/* a.next */
ul.page-numbers li a.prev,
ul.page-numbers li a.next {
	border: none;
	width: 38px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #000;
	color: #fff;
	font-size: 1.8rem;
	padding-top: 2px;
	margin-left: 10px;
	transition: .3s background ease;
}
ul.page-numbers li a.prev:hover,
ul.page-numbers li a.next:hover {
	background: #2a71b9;
}
ul.page-numbers li a.prev {
	margin-left: 0;
	margin-right: 10px;
}
ul.page-numbers li a.next::before {
	color: #fff;
	transition: .3s all;
	font-family: "Ionicons";
	content: "\f125";
	font-size: 1.4rem;
}
ul.page-numbers li a.prev::before {
	color: #fff;
	transition: .3s all;
	font-family: "Ionicons";
	content: "\f124";
	font-size: 1.4rem;
}
/* 768 */
@media (max-width: 768px) {
	ul.page-numbers {
		margin-top: 40px;
	}
}
/* 580 */
@media (max-width: 580px) {
	ul.page-numbers li span,
	ul.page-numbers li a {
		width: 20px;
		height: 30px;
	}
	/* a.next */
	ul.page-numbers li a.prev,
	ul.page-numbers li a.next {
		font-size: 1.4rem;
		width: 30px;
		margin-top: -2px;
		margin-left: 0;
	}
	ul.page-numbers li a.prev {
		margin-right: 0;
	}
}

/*--------------------------------------------------------------*/
/* 404 */
/*--------------------------------------------------------------*/
#fn404 .content {
	text-align: center;
}
#fn404 .content h2 {
	margin-bottom: 20px;
}
#fn404 .content p {
	line-height: 2.2;
}
/* 580 */
@media (max-width: 580px) {
	#fn404 .content p {
		text-align: left;
	}
}

/*--------------------------------------------------------------*/
/* お問い合わせページ */
/*--------------------------------------------------------------*/
body.contact .breadcrumbs .content,
body.confirm .breadcrumbs .content,
body.send .breadcrumbs .content {
	max-width: 1040px;
}
section.contact .content {
	max-width: 1040px;
}
section.contact .content p.contact_txt {
	margin-bottom: 60px;
	text-align: center;
}
section.contact .content p.contact_txt span.note {
	color: red;
}
/* フォーム */
section.contact form table {
	width: 100%;
	border-top: 1px solid #dfdfdf;
}
section.contact form table tr {
	border-bottom: 1px solid #dfdfdf;
}
section.contact form table tr th,
section.contact form table tr td {
	padding-top: 30px;
	padding-bottom: 30px;
	padding-right: 20px;
}
section.contact form table th {
	width: 210px;
	white-space: nowrap;
	text-align: left;
	padding: 0 55px 0 10px;
	vertical-align: middle;
	position: relative;
}
section.contact form table tr th span.hissu {
	position: absolute;
	top: 50%;
	right: 14px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	display: inline-block;
	padding: 5px;
	background: #E81A2B;
	color: #fff;
	font-size: 1.0rem;
	line-height: 1;
}
section.contact form table tr td textarea {
	width: 100%;
	height: 200px;
}
section.contact form table tr th.ue {
	vertical-align: top;
	padding-top: 40px;
}
section.contact form table tr th.ue span.hissu {
	top: 53px;
	right: 14px;
}
section.contact form input[type=text],
section.contact form input[type=email],
section.contact form textarea {
	padding: 10px;
	width: 100%;
}
section.contact form input[type=text],
section.contact form input[type=email] {
	width: 100%;
}
section.contact form input.tel {
	width: 120px;
}
section.contact form input.zipcode {
	width: 90px;
}
section.contact form table tr td h3 {
	font-size: 1.6rem;
	margin-bottom: 5px;
	color: #2d6085;
}
section.contact form table tr td div.area {
	display: flex;
	flex-wrap: wrap;
}
section.contact form table tr td div.area span.mwform-checkbox-field {
	width: calc(100% / 4);
	margin-left: 0!important;
}
section.contact form button {
	margin: 20px auto!important;
}
/* 確認画面 */
body.confirm section.contact form table th,
body.confirm section.contact form table td {
	padding: 20px 5px;
}
body.confirm section.contact form table tr th.ue span.hissu {
	top: 50%;
}
body.confirm section.contact section.privacy {
	display: none;
}
body.confirm section.contact div.confirm {
	margin-top: 40px;
	text-align: center;
}
body.confirm section.contact div.confirm button {
	display: inline-block;
	max-width: 200px;
	margin: 30px 5px;
}
body.confirm section.contact div.confirm button.back span.txt {
	padding-right: 0px;
	padding-left: 20px;
}
body.confirm section.contact div.confirm button.back span.txt::after {
	right: 0;
	left: 25%;
	-webkit-transform: translate(0, -50%) rotate(180deg);
	transform: translate(0, -50%) rotate(180deg);
}
body.confirm section.contact div.confirm button.back:hover span.txt::after {
	left: 23%;
}
body.confirm div.confirm {
	text-align: center;
}
body.confirm div.confirm button {
	display: inline-block;
	max-width: 200px;
	margin: 0 10px;
}
/* 送信完了 */
.mw_wp_form .error,
body.send section.contact span.note {
	color: red;
}
.mw_wp_form_send_error {
	color: red;
	padding-top: 30px;
}
body.send section.contact div.main.send {
	padding: 30px 0;
}
/* 1000 */
@media (max-width: 1000px) {
	section.contact .flex div {
		padding: 20px 15px;
	}
	section.contact h2 {
		font-size: 3vw;
	}
	section.contact p.tel a {
		font-size: 5vw;
	}
}
/* 768 */
@media (max-width: 768px) {
	section.contact .flex div {
		width: 100%;
		margin-bottom: 30px;
	}
	section.contact h2 {
		font-size: 2.2rem;
		margin-bottom: 5px;
	}
	section.contact p.tel {
		font-size: 2.6rem;
		text-align: center;
	}
	section.contact p.tel a {
		font-size: 3.4rem;
	}
	/* 送信完了 */
	body.send section.contact div.main.send {
		padding: 40px 0 0 0;
	}
}
/* 580 */
@media (max-width: 580px) {
	section.contact .content p.contact_txt {
		margin-bottom: 40px;
	}
	section.contact a.btn_link2 {
		max-width: 70%;
	}
	/* フォーム */
	section.contact form dl.note {
		padding: 20px;
	}
	section.contact form dl.note dt {
		font-size: 1.7rem;
	}
	body.confirm section.contact div.confirm button {
		max-width: 130px;
	}
	/* table */
	section.contact form table tr th,
	body.confirm section.contact form table tr th {
		display: block;
		width: 100%;
		padding: 20px 5px 5px 5px;
		font-weight: bold;
	}
	section.contact form table tr th span.hissu {
		top: calc(50% + 5px)
	}
	/* tr:last-child */
	section.contact form table tr th.ue {
		vertical-align: top;
		padding: 20px 5px 5px 5px;
	}
	section.contact form table tr th.ue span.hissu {
		top: calc(50% + 5px);
		right: 10px;
	}
	section.contact form table tr td {
		display: block;
		width: 100%;
		padding: 5px 5px 20px 5px;
	}
	section.contact form table tr td h3 {
		font-size: 1.4rem;
	}
	section.contact form table tr td div.area span.mwform-checkbox-field {
		width: calc(100% / 2);
	}
	section.contact form table td textarea {
		height: 180px;
	}
	section.contact form input[type=text],
	section.contact form input[type=email],
	section.contact form textarea {
		padding: 10px;
		width: 100%;
	}
	section.contact form input.tel {
		width: 29%;
	}
	section.contact form input.zipcode {
		width: 25%;
	}
	section.contact form form {
		margin-bottom: 60px;
	}
	section.contact form .btn_link {
		display: inline-block;
		margin: 40px 10px 0 10px;
	}
	/* 送信完了 */
	body.send section.contact div.main.send {
		padding: 20px 0 0 0;
		margin-bottom: -40px;
	}
}

/*--------------------------------------------------------------*/
/* お問い合わせページ -> 個人情報保護方針 */
/*--------------------------------------------------------------*/
section.contact section.privacy {
	padding: 60px 0;
}
section.privacy strong {
	color: initial!important;
	background: initial!important;
}
section.contact section.privacy .privacy_scroll {
	border: 1px solid #ccc;
	max-width: 1000px;
	margin: 0 auto;
	padding: 20px;
	height: 250px;
	overflow-y: scroll;
	background: #f9f9f9;
}
section.contact section.privacy .privacy_scroll header h1 {
	font-size: 2.0rem;
	margin-bottom: 20px;
}
section.contact section.privacy .privacy_scroll header p {
	margin-bottom: 20px;
	font-size: 1.4rem;
}
section.contact section.privacy .privacy_scroll dl dt {
	font-size: 1.5rem;
	margin-bottom: 5px;
}
section.contact section.privacy .privacy_scroll dl dd {
	font-size: 1.4rem;
	margin-bottom: 15px;
}
/* 580 */
@media (max-width: 580px) {
	section.contact section.privacy {
		padding: 60px 0 20px 0;
	}
	section.contact section.privacy .privacy_scroll header h1 {
		font-size: 1.8rem;
	}
	section.contact section.privacy .privacy_scroll header p {
		font-size: 1.3rem;
	}
	section.contact section.privacy .privacy_scroll dl dt {
		font-size: 1.4rem;
	}
	section.contact section.privacy .privacy_scroll dl dd {
		font-size: 1.3rem;
	}
}

/*--------------------------------------------------------------*/
/* プライバシーポリシー ページ */
/*--------------------------------------------------------------*/
section.privacy_page h1 {
	font-size: 2.4rem;
	margin-bottom: 30px;
}
section.privacy_page header p {
	margin-bottom: 20px;
}
section.privacy_page strong {
	color: initial!important;
	background: initial!important;
}
section.privacy_page dl dt {
	margin-bottom: 5px;
}
section.privacy_page dl dd {
	margin-bottom: 30px;
}
/* 580 */
@media (max-width: 580px) {
	section.privacy_page h1 {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------*/
/* form validation message */
/*--------------------------------------------------------------*/
div.alert-success {
	color: blue;
	margin-bottom: 20px;
}
div.alert-danger {
	color: red;
	margin-bottom: 20px;
}

/*--------------------------------------------------------------*/
/* #pageTop */
/*--------------------------------------------------------------*/
#pageTop {
	position: fixed;
	background: rgb(82 137 183 / 55%);
	border-radius: 6px;
	bottom: 20px;
	right: 20px;
	height: 45px;
	width: 45px;
	cursor: pointer;
	display: none;
	z-index: 2;
}
#pageTop::before {
	font-family: "Ionicons";
	font-size: 2.2rem;
	color: rgba(255, 255, 255, 0.6);
	content: "\f10d";
	display: block;
	text-align: center;
	margin-top: 10px;
}
#pageTop:hover {
	background: rgb(82 137 183 / 85%)
}
/* 580 */
@media (max-width: 580px) {
	#pageTop {
		border-radius: 4px;
		height: 40px;
		width: 40px;
	}
	#pageTop::before {
		font-family: "Ionicons";
		font-size: 2.0rem;
		margin-top: 9px;
	}
}

/*--------------------------------------------------------------*/
/* breadcrumbs */
/*--------------------------------------------------------------*/
.breadcrumbs {
	padding: 18px 0;
}
.breadcrumbs .content,
.breadcrumbs span {
	font-size: 1.4rem;
}
.breadcrumbs span:first-child {
	margin-right: 3px;
}
.breadcrumbs span:nth-child(n+2) {
	margin-left: 3px;
}
/* 580 */
@media (max-width: 580px) {
	.breadcrumbs span {
		font-size: 1.2rem;
	}
}

/*--------------------------------------------------------------*/
/* foot_contact */
/*--------------------------------------------------------------*/
.foot_contact {
	margin-bottom: 60px;
}
.foot_contact .flex {
	display: flex;
	align-items: flex-end;
	flex-direction: row-reverse;
	flex-wrap: wrap;
}
/* left */
.foot_contact .flex .left {
	width: 50%;
	color: #fff;
	position: relative;
}
.foot_contact .flex .left::after {
	content: '';
	display: block;
	position: absolute;
	top: -60px;
	left: -80%;
	z-index: -1;
	width: 260%;
	height: 100%;
	background: #5289b7;
	padding: 60px 0;
	box-sizing: content-box;
	border-radius: 0 20px 20px 0;
}
.foot_contact .flex .left  header h1 {
	line-height: 1.4;
	margin-bottom: 10px;
}
.foot_contact .flex .left p.txt.h {
	font-size: 2.0rem;
	margin-bottom: 25px;
}
.foot_contact .flex .left a.tel {
	font-weight: bold;
}
.foot_contact .flex .left a.tel span.txt::before {
	color: #5289b7;
	background: #fff;
	border-radius: 20px;
	display: inline-block;
	width: 40px;
	height: 40px;
	text-align: center;
	font-size: 3.2rem;
	padding: 5px 0 3px 0;
	margin-right: 13px;
}
.foot_contact .flex .left a.btn {
	border: none;
	filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.4));
}
/* right */
.foot_contact .flex .right {
	width: 50%;
}
.foot_contact .flex .right img {
	border-radius: 20px;
}

/* 768 */
@media (max-width: 768px) {
	.foot_contact .flex .left a.tel span.txt::before {
		width: 32px;
		height: 32px;
		font-size: 2.6rem;
		padding: 3px 0 1px 0;
		margin-right: 11px;
	}
}
/* 580 */
@media (max-width: 580px) {
	.foot_contact {
		margin-bottom: 20px;
	}
	.foot_contact .flex .left::after {
		padding: 40px 0;
	}
	/* left */
	.foot_contact .flex .left {
		width: 100%;
	}
	.foot_contact .flex .left p.txt.h {
		font-size: 1.6rem;
	}
	.foot_contact .flex .left::after {
		top: -60px;
		left: -20px;
		z-index: -1;
		width: calc(100% + 20px);
		padding: 60px 0 10px 0;
	}
	/* right */
	.foot_contact .flex .right {
		width: 100%;
		margin-bottom: 0;
		padding: 20px;
	}
}


/*--------------------------------------------------------------*/
/* footer */
/*--------------------------------------------------------------*/
footer {
	background: #eff6f8;
	padding-bottom: 0;
}
footer .pd_std2 {
	padding-bottom: 0;
}
footer .flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
/* .left */
footer .flex .left {
	width: 32%;
	padding-right: 30px;
}
footer .flex .left h2 {
	border-bottom: 3px solid #5289b7;
	text-align: center;
	padding-bottom: 10px;
	margin-bottom: 20px;
}
footer .flex .left h2 img {
	margin-bottom: 10px;
}
footer .flex .left address {
	margin-bottom: 10px;
}
footer .flex .left dl * {
	font-size: 1.4rem;
	line-height: 1.8;
}
footer .flex .left dl dt {
	width: 51px;
	letter-spacing: 2px;
	text-indent: 2px;
	text-align: right;
	font-weight: bold;
	float: left;
}
footer .flex .left dl dd {
	padding-left: 65px;
}
footer .flex .left a.btn {
	display: none;
}

/* グループ会社追加 */
footer .flex .left .group p{
	font-size: 1.4rem;
}

/* .right */
footer .flex .right {
	max-width: 700px;
	width: 64%;
	padding-left: 30px;
}
footer .flex .right ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 70px;
}
footer .flex .right ul li * {
	font-size: 1.4rem;
}
footer .flex .right ul li dl dt {
	font-weight: bold;
}
footer .flex .right ul li dl dt::before {
	content: '\25CF';
	display: inline-block;
	vertical-align: middle;
	font-size: 0.9rem;
	color: #5289b7;
	margin-right: 6px;
}
footer .flex .right ul li dl dd {
	margin-top: 8px;
	padding-left: 15px;
}
footer .flex .right dl dd::before {
	content: '\221F';
	display: inline-block;
	font-size: 0.9rem;
	vertical-align: top;
	margin-right: 2px;
}
footer .flex .right ul li dl:nth-of-type(n+2) {
	margin-top: 20px;
}
/* .copy */
footer .copy {
	padding: 25px 0 35px 0;
}
footer .copy .content {
	font-size: 1.3rem;
	color: #a8bec4;
}
/* 900 */
@media (max-width: 900px) {
	footer .flex .right ul {
		display: block;
		columns: 2;
	}
	footer .flex .right ul li {
		width: 100%;
		break-inside: avoid;
		margin-bottom: 20px;
	}
}
/* 580 */
@media (max-width: 580px) {
	/* .left */
	footer .flex .left {
		width: 100%;
		padding-right: 0;
		margin-bottom: 20px;
		text-align: left;
	}
	footer .flex .left h2 {
		text-align: left;
		padding-left: 5px;
	}
	footer .flex .left address {
		padding-left: 20px;
	}
	footer .flex .left dl dt {
		width: 80px;
		padding-right: 9px;
	}
	footer .flex .left dl dd {
		padding-left: initial;
		text-align: left;
	}
	footer .flex .left a.btn {
		display: block;
	}
	/* .right */
	footer .flex .right {
		width: 100%;
		padding-left: 0;
	}
	footer .flex .right ul {
		columns: 1;
		text-align: left;
		width: 175px;
		margin-left: 20px;
	}
	footer .flex .right a.btn {
		display: none;
	}
	/* .copy */
	footer .copy {
		padding: 0 0 35px 20px;
	}
	footer .copy .content {
		font-size: 1.2rem;
	}
}