@charset "utf-8";

/* -----------------------------------------------------------
共通パーツ
------------------------------------------------------------- */
html {
	scroll-padding-top: 110px;
	/* 追従メニューの高さに応じて適切な値を設定 */
}

body {
	font-family: "Zen Old Mincho", serif;
	font-size: 16px;
	text-align: justify;
	line-height: 1.5em;
}

.sans-serif-fonts {
	font-family: "Inter", "Noto Sans JP", "游ゴシック体", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

main {
	margin-top: 110px;
	overflow: hidden;
}

a {
	text-decoration: none;
	color: inherit;
}

a:visited {
	color: inherit;
}

img {
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

ul li {
	list-style: none;
}

ol li {
	list-style-type: decimal;
	list-style-position: inside;
}


.underline_none {
	text-decoration: none !important;
}

.container {
	width: 1200px;
	max-width: 94%;
	display: block;
	margin: auto;
}

@media(max-width:768px) {
	html {
		scroll-padding-top: 70px;
		/* 追従メニューの高さに応じて適切な値を設定 */
	}

	body {
		font-size: 13px;
	}

	.sp_none {
		display: none !important;
	}
}

@media(min-width:769px) {
	.pc_none {
		display: none !important;
	}
}

.txtC {
	text-align: center;
}

.txtR {
	text-align: right;
}

.txtL {
	text-align: left;
}

.txtJ {
	text-align: justify;
}

@media(max-width:768px) {
	.sp_txtC {
		text-align: center;
	}

	.sp_txtR {
		text-align: right;
	}

	.sp_txtL {
		text-align: left;
	}

	.sp_txtJ {
		text-align: justify;
	}
}

.bold {
	font-weight: bold;
}

.txtM {
	vertical-align: middle;
}

.cf:before,
.cf:after {
	content: " ";
	display: table;
}

.cf:after {
	clear: both;
}

.cf {
	*zoom: 1;
}

.table_w10 {
	width: 10%;
}

.table_w15 {
	width: 15%;
}

.table_w20 {
	width: 20%;
}

.table_w25 {
	width: 25%;
}

.table_w30 {
	width: 30%;
}

.table_w35 {
	width: 35%;
}

.table_w37 {
	width: 37.5%;
}

.table_w40 {
	width: 40%;
}

.table_w50 {
	width: 50%;
}

.table_w60 {
	width: 60%;
}

.table_w70 {
	width: 70%;
}

.table_w80 {
	width: 80%;
}

.w100 {
	width: 100%;
}

.w20 {
	width: 18%;
}

.w25 {
	width: 23%;
}

.w30 {
	width: 28%;
}

.w35 {
	width: 33%;
}

.w40 {
	width: 38%;
}

.w45 {
	width: 43%;
}

.w50 {
	width: 48%;
}

.w55 {
	width: 53%;
}

.w60 {
	width: 58%;
}


.w65 {
	width: 63%;
}

.w70 {
	width: 68%;
}

.w80 {
	width: 78%;
}

@media(max-width:768px) {

	.w20,
	.w25,
	.w30,
	.w35,
	.w40,
	.w45,
	.w50,
	.w55,
	.w60,
	.w65,
	.w70,
	.w80 {
		width: 100%;
	}
}

/*_____フレックス_____*/
.flex {
	display: -ms-flexbox;
	display: flex;
}

.flexR {
	flex-direction: row-reverse;
}

.justC {
	justify-content: center;
}

.justS {
	justify-content: flex-start;
}

.justE {
	justify-content: flex-end;
}

.justB {
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.justA {
	-ms-flex-pack: distribute;
	justify-content: space-around;
}

.flexW {
	flex-wrap: wrap;
}

.alignS {
	align-items: start;
}

.alignC {
	align-items: center;
}

.alignB {
	align-items: flex-end;
}

@media (max-width: 768px) {
	.sp_flclear {
		display: block;
	}

	.sp_flex {
		display: flex;
	}
}

/*_____余白_____*/
.m0auto {
	margin: 0 auto
}

.mb0 {
	margin-bottom: 0;
}

.mb8 {
	margin-bottom: 8px;
}

.mb16 {
	margin-bottom: 16px;
}

.mb24 {
	margin-bottom: 24px;
}

.mb32 {
	margin-bottom: 32px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb48 {
	margin-bottom: 48px;
}

.mb56 {
	margin-bottom: 56px;
}

.mb64 {
	margin-bottom: 64px;
}

.mb72 {
	margin-bottom: 72px;
}

.mb80 {
	margin-bottom: 80px;
}

.mb88 {
	margin-bottom: 88px;
}

.mb96 {
	margin-bottom: 96px;
}

.mb104 {
	margin-bottom: 104px;
}

.mb112 {
	margin-bottom: 112px;
}

.mb120 {
	margin-bottom: 120px;
}

.mt0 {
	margin-top: 0;
}

.mt8 {
	margin-top: 8px;
}

.mt16 {
	margin-top: 16px;
}

.mt24 {
	margin-top: 24px;
}

.mt32 {
	margin-top: 32px;
}

.mt40 {
	margin-top: 40px;
}

.mt48 {
	margin-top: 48px;
}

.mt56 {
	margin-top: 56px;
}

.mt64 {
	margin-top: 64px;
}

.mt72 {
	margin-top: 72px;
}

.mt80 {
	margin-top: 80px;
}

.mt88 {
	margin-top: 88px;
}

.mt96 {
	margin-top: 96px;
}

.mt104 {
	margin-top: 104px;
}

.mt112 {
	margin-top: 112px;
}

.mt120 {
	margin-top: 120px;
}

.mt-8 {
	margin-top: -8px;
}

.mt-16 {
	margin-top: -16px;
}

.mt-24 {
	margin-top: -24px;
}

.mt-32 {
	margin-top: -32px;
}

.mt-40 {
	margin-top: -40px;
}

.mt-48 {
	margin-top: -48px;
}

.mt-56 {
	margin-top: -56px;
}

.mt-64 {
	margin-top: -64px;
}

.mt-72 {
	margin-top: -72px;
}

.mt-80 {
	margin-top: -80px;
}

.mt-88 {
	margin-top: -88px;
}

.mt-96 {
	margin-top: -96px;
}

.mt-104 {
	margin-top: -104px;
}

.mt-112 {
	margin-top: -112px;
}

.mt-120 {
	margin-top: -120px;
}

.mr0 {
	margin-right: 0;
}

.mr8 {
	margin-right: 8px;
}

.mr16 {
	margin-right: 16px;
}

.mr24 {
	margin-right: 24px;
}

.mr32 {
	margin-right: 32px;
}

.mr40 {
	margin-right: 40px;
}

.mr48 {
	margin-right: 48px;
}

.mr56 {
	margin-right: 56px;
}

.mr64 {
	margin-right: 64px;
}

.mr72 {
	margin-right: 72px;
}

.mr80 {
	margin-right: 80px;
}

.mr88 {
	margin-right: 88px;
}

.mr96 {
	margin-right: 96px;
}

.mr104 {
	margin-right: 104px;
}

.mr112 {
	margin-right: 112px;
}

.mr120 {
	margin-right: 120px;
}

.ml0 {
	margin-left: 0;
}

.ml8 {
	margin-left: 8px;
}

.ml16 {
	margin-left: 16px;
}

.ml24 {
	margin-left: 24px;
}

.ml32 {
	margin-left: 32px;
}

.ml40 {
	margin-left: 40px;
}

.ml48 {
	margin-left: 48px;
}

.ml56 {
	margin-left: 56px;
}

.ml64 {
	margin-left: 64px;
}

.ml72 {
	margin-left: 72px;
}

.ml80 {
	margin-left: 80px;
}

.ml88 {
	margin-left: 88px;
}

.ml96 {
	margin-left: 96px;
}

.ml104 {
	margin-left: 104px;
}

.ml112 {
	margin-left: 112px;
}

.ml120 {
	margin-left: 120px;
}

.pd0 {
	padding: 0px;
}

.pd8 {
	padding: 8px;
}

.pd16 {
	padding: 16px;
}

.pd24 {
	padding: 24px;
}

.pd32 {
	padding: 32px;
}

.pd40 {
	padding: 40px;
}

.pd48 {
	padding: 48px;
}

.pt0 {
	padding-top: 0;
}

.pt8 {
	padding-top: 8px;
}

.pt16 {
	padding-top: 16px;
}

.pt24 {
	padding-top: 24px;
}

.pt32 {
	padding-top: 32px;
}

.pt40 {
	padding-top: 40px;
}

.pt48 {
	padding-top: 48px;
}

.pt56 {
	padding-top: 56px;
}

.pt64 {
	padding-top: 64px;
}

.pt72 {
	padding-top: 72px;
}

.pt80 {
	padding-top: 80px;
}

.pt88 {
	padding-top: 88px;
}

.pt96 {
	padding-top: 96px;
}

.pt104 {
	padding-top: 104px;
}

.pt112 {
	padding-top: 112px;
}

.pt120 {
	padding-top: 120px;
}

.pb0 {
	padding-bottom: 0;
}

.pb8 {
	padding-bottom: 8px;
}

.pb16 {
	padding-bottom: 16px;
}

.pb24 {
	padding-bottom: 24px;
}

.pb32 {
	padding-bottom: 32px;
}

.pb40 {
	padding-bottom: 40px;
}

.pb48 {
	padding-bottom: 48px;
}

.pb56 {
	padding-bottom: 56px;
}

.pb64 {
	padding-bottom: 64px;
}

.pb72 {
	padding-bottom: 72px;
}

.pb80 {
	padding-bottom: 80px;
}

.pb88 {
	padding-bottom: 88px;
}

.pb96 {
	padding-bottom: 96px;
}

.pb104 {
	padding-bottom: 104px;
}

.pb112 {
	padding-bottom: 112px;
}

.pb120 {
	padding-bottom: 120px;
}

.pl40 {
	padding-left: 40px;
}

.pr40 {
	padding-right: 40px;
}

@media (max-width: 768px) {
	.sp_mb0 {
		margin-bottom: 0;
	}

	.sp_mt0 {
		margin-top: 0;
	}

	.sp_mr0 {
		margin-right: 0;
	}

	.sp_ml0 {
		margin-left: 0;
	}

	.sp_mb8 {
		margin-bottom: 8px;
	}

	.sp_mb16 {
		margin-bottom: 16px;
	}

	.sp_mb24 {
		margin-bottom: 24px;
	}

	.sp_mb32 {
		margin-bottom: 32px;
	}

	.sp_mb40 {
		margin-bottom: 40px;
	}

	.sp_mb48 {
		margin-bottom: 48px;
	}

	.sp_mb56 {
		margin-bottom: 56px;
	}

	.sp_mb64 {
		margin-bottom: 64px;
	}

	.sp_mb72 {
		margin-bottom: 72px;
	}

	.sp_mt8 {
		margin-top: 8px;
	}

	.sp_mt16 {
		margin-top: 16px;
	}

	.sp_mt24 {
		margin-top: 24px;
	}

	.sp_mt32 {
		margin-top: 32px;
	}

	.sp_mt40 {
		margin-top: 40px;
	}

	.sp_mt48 {
		margin-top: 48px;
	}

	.sp_mt56 {
		margin-top: 56px;
	}

	.sp_mt64 {
		margin-top: 64px;
	}

	.sp_mt72 {
		margin-top: 72px;
	}


	.sp_mr8 {
		margin-right: 8px;
	}

	.sp_mr16 {
		margin-right: 16px;
	}

	.sp_mr24 {
		margin-right: 24px;
	}

	.sp_mr32 {
		margin-right: 32px;
	}

	.sp_mr40 {
		margin-right: 40px;
	}

	.sp_mr48 {
		margin-right: 48px;
	}

	.sp_mr56 {
		margin-right: 56px;
	}

	.sp_mr64 {
		margin-right: 64px;
	}

	.sp_mr72 {
		margin-right: 72px;
	}

	.sp_ml8 {
		margin-left: 8px;
	}

	.sp_ml16 {
		margin-left: 16px;
	}

	.sp_ml24 {
		margin-left: 24px;
	}

	.sp_ml32 {
		margin-left: 32px;
	}

	.sp_ml40 {
		margin-left: 40px;
	}

	.sp_ml48 {
		margin-left: 48px;
	}

	.sp_ml56 {
		margin-left: 56px;
	}

	.sp_ml64 {
		margin-left: 64px;
	}

	.sp_ml72 {
		margin-left: 72px;
	}

	.sp_pd24 {
		padding: 24px;
	}

	.sp_pb0 {
		padding-bottom: 0px;
	}

	.sp_pb8 {
		padding-bottom: 8px;
	}

	.sp_pb16 {
		padding-bottom: 16px;
	}

	.sp_pb16 {
		padding-bottom: 16px;
	}

	.sp_pb24 {
		padding-bottom: 24px;
	}

	.sp_pb32 {
		padding-bottom: 32px;
	}

	.sp_pb40 {
		padding-bottom: 40px;
	}

	.sp_pb48 {
		padding-bottom: 48px;
	}

	.sp_pb56 {
		padding-bottom: 56px;
	}

	.sp_pb64 {
		padding-bottom: 64px;
	}


	.sp_pt40 {
		padding-top: 40px;
	}
}

/*_____テキスト_____*/
.tx7 {
	font-size: 7px;
}

.tx9 {
	font-size: 9px;
	line-height: 150%;
}

.tx10 {
	font-size: 10px;
	line-height: 150%;
}

.tx11 {
	font-size: 11px;
	line-height: 150%;
}

.tx12 {
	font-size: 12px;
	line-height: 150%;
}

.tx13 {
	font-size: 13px;
	line-height: 150%;
}

.tx14 {
	font-size: 14px;
	line-height: 200%;
}

.tx15 {
	font-size: 15px;
	line-height: 150%;
}

.tx16 {
	font-size: 16px;
	line-height: 150%;
}

.tx17 {
	font-size: 17px;
	line-height: 150%;
}

.tx18 {
	font-size: 18px;
	line-height: 150%;
}

.tx19 {
	font-size: 19px;
	line-height: 150%;
}

.tx20 {
	font-size: 20px;
	line-height: 150%;
}

.tx22 {
	font-size: 22px;
	line-height: 150%;
}

.tx23 {
	font-size: 23px;
	line-height: 150%;
}

.tx24 {
	font-size: 24px;
	line-height: 150%;
}

.tx25 {
	font-size: 25px;
	line-height: 150%;
}

.tx26 {
	font-size: 26px;
	line-height: 150%;
}

.tx27 {
	font-size: 27px;
	line-height: 150%;
}

.tx28 {
	font-size: 28px;
	line-height: 150%;
}

.tx29 {
	font-size: 29px;
	line-height: 150%;
}

.tx30 {
	font-size: 30px;
	line-height: 150%;
}

.tx32 {
	font-size: 32px;
	line-height: 150%;
}

.tx35 {
	font-size: 35px;
	line-height: 170%;
}

.tx36 {
	font-size: 36px;
	line-height: 170%;
}

.tx37 {
	font-size: 37px;
	line-height: 170%;
}

.tx39 {
	font-size: 39px;
	line-height: 150%;
}

.tx40 {
	font-size: 40px;
	line-height: 150%;
}

.tx45 {
	font-size: 45px;
	line-height: 140%;
}

.tx50 {
	font-size: 50px;
	line-height: 140%;
}

.tx56 {
	font-size: 56px;
	line-height: 150%;
}

.tx68 {
	font-size: 68px;
	line-height: 150%;
}

.tx10h {
	font-size: 10px;
	line-height: 200%;
}

.tx11h {
	font-size: 11px;
	line-height: 200%;
}

.tx12h {
	font-size: 12px;
	line-height: 200%;
}

.tx13h {
	font-size: 13px;
	line-height: 200%;
}

.tx14h {
	font-size: 14px;
	line-height: 190%;
}

.tx15h {
	font-size: 15px;
	line-height: 180%;
}

.tx16h {
	font-size: 16px;
	line-height: 180%;
}

.tx17h {
	font-size: 17px;
	line-height: 200%;
}

.tx18h {
	font-size: 17px;
	line-height: 250%;
}

.tx22h {
	font-size: 22px;
	line-height: 180%;
}

.tx24h {
	font-size: 24px;
	line-height: 200%;
}


@media (max-width: 768px) {
	.sp_tx10 {
		font-size: 10px;
	}

	.sp_tx12 {
		font-size: 12px;
	}

	.sp_tx13 {
		font-size: 13px;
	}

	.sp_tx14 {
		font-size: 14px;
	}

	.sp_tx16 {
		font-size: 16px;
	}

	.sp_tx18 {
		font-size: 18px;
	}

	.sp_tx20 {
		font-size: 20px;
	}

	.sp_tx22 {
		font-size: 22px;
	}

	.sp_tx24 {
		font-size: 24px;
	}

	.sp_tx27 {
		font-size: 27px;
	}

	.sp_tx28 {
		font-size: 28px;
	}

	.sp_tx30 {
		font-size: 30px;
	}

	.sp_tx35 {
		font-size: 35px;
	}

	.sp_tx40 {
		font-size: 40px;
	}
}

/**********ヘッダー**********/

header {
	background: rgba(229, 229, 229, 0.90);
	display: flex;
	justify-content: center;
	align-items: center;
	height: 110px;
	position: fixed;
	top: 0px;
	width: 100%;
	z-index: 500;
}

.header-contents {
	width: 90%;
	max-width: 1290px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #616A6C;
	font-size: 18px;
}

header nav.pc-nav ul {
	display: flex;
	justify-content: space-between;
}

header nav.pc-nav {
	width: 760px;
}

header nav.pc-nav .child-menu {
	display: none;
}

header .logo-img {
	margin-right: 8px;
}

.sns-icon ul {
	display: flex;
	justify-content: space-around;
	margin-top: 16px;
}

li.has-child:hover {
	cursor: pointer;
}

li.has-child {
	position: relative;
}

.pc-nav .child-menu {
	position: absolute;
	top: 67px;
	left: -25px;
}

.pc-nav .child-menu li {
	background-color: #2F4170;
	padding: 0.7em;
	width: 200px;
	color: #fff;
	text-align: center;
	font-size: 16px;
}

.child-menu li:hover {
	background-color: #212e4f;
}

li.has-child span {
	position: relative;
	display: inline-block;
	padding-right: 10px;
}

li.has-child span::before {
	content: '';
	width: 8px;
	height: 8px;
	border-top: solid 2px #5B6566;
	border-right: solid 2px #5B6566;
	position: absolute;
	right: -3px;
	top: -10px;
	transform: rotate(45deg);
}

.sp-nav li.has-child span::before {
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
}

li.has-child.active span::before {
	transform: rotate(135deg);
	top: -14px;
}

@media (min-width: 951px) {
	nav.sp-nav {
		display: none !important;
	}
}

@media (max-width: 1050px) {
	.header-contents {
		font-size: 16px;
		font-weight: bold;
		width: 94%;
	}

	.labo-btn {
		padding: 4px 20px;
		padding: 10px 35px;
		font-size: 16px;
		font-weight: normal;
	}

	.labo-btn::before {
		top: 45%;
		right: -20px;
	}
}

@media (max-width: 950px) {
	main {
		margin-top: 70px;
	}

	header {
		height: 70px;
	}

	nav.pc-nav,
	.header-contents .top-button {
		display: none !important;
	}

	nav.sp-nav .child-menu {
		display: none;
	}

	nav.sp-nav {
		display: none;
		background-color: #2F4170;
		position: fixed;
		top: 70px;
		left: 0px;
		width: 100vw;
		color: #fff;
		text-align: center;
		z-index: 500;
	}

	nav.sp-nav li {
		cursor: pointer;
		height: 50px;
		line-height: 50px;
	}

	nav.sp-nav li:hover {
		background-color: #212e4f;
	}

	nav.sp-nav .child-menu li {
		background-color: #5B6566;
	}

	nav.sp-nav .child-menu li:hover {
		background-color: #4e5354;
	}

	nav.sp-nav .has-child.active {
		height: auto;
	}

	.burger {
		position: absolute;
		/*ボタン内側の基点となるためrelativeを指定*/
		cursor: pointer;
		width: 30px;
		height: 35px;
		right: 20px;
	}


	/*ボタン内側*/
	.burger span {
		display: inline-block;
		transition: all .4s;
		/*アニメーションの設定*/
		position: absolute;
		height: 3px;
		border-radius: 2px;
		background: #616A6C;
		width: 100%;
	}

	.burger span:nth-of-type(1) {
		top: 7px;
	}

	.burger span:nth-of-type(2) {
		top: 15px;
	}

	.burger span:nth-of-type(3) {
		top: 24px;
	}

	/*activeクラスが付与されると線が回転して×に*/

	.burger.active span:nth-of-type(1) {
		top: 10px;
		left: 3px;
		transform: translateY(6px) rotate(-45deg);
		width: 100%;
	}

	.burger.active span:nth-of-type(2) {
		opacity: 0;
		/*真ん中の線は透過*/
	}

	.burger.active span:nth-of-type(3) {
		top: 22px;
		left: 3px;
		transform: translateY(-6px) rotate(45deg);
		width: 100%;
	}

}

/**********フッター**********/

footer {
	background-color: #606060;
	padding: 136px 0px;
	font-family: "Inter", "Noto Sans JP", sans-serif;
	color: #fff;
}

footer .footer-container {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	width: 100%;
	max-width: 96%;
	margin: auto;
}

.COPYRIGHT {
	width: 100%;
	max-width: 96%;
	margin: 16px auto;
	display: block;
	font-size: 12px;
}


footer .footer-link-box {
	font-size: 14px;
	width: 75%;
	display: flex;
	justify-content: space-between;
}

footer .footer-link-list {
	max-width: 200px;
	width: 20%;
	margin-right: 16px;
}

footer .footer-link-list p,
footer .footer-link-list li {
	margin-bottom: 8px;
}

footer .footer-link-list li a:hover {
	color: #d0b08a;
}

.sns-icon {
	width: 100%;
}


.info_container {
	margin-right: 24px;
	width: 16%;
	display: flex;
	flex-wrap: wrap;
	height: 190px;
	min-width: 230px;
}


@media (max-width: 768px) {
	footer {
		padding: 72px 0px;
	}

	footer .hard-info {
		margin-top: 48px;
		width: 330px;
	}

	footer .footer-container {
		display: block;
		margin: auto;
	}

	footer .footer-link-box {
		width: 96%;
		flex-wrap: wrap;
		justify-content: flex-start;
	}

	footer .footer-link-list {
		width: 30%;
		margin-bottom: 24px;
		margin-right: 12px;
	}

	footer .footer-link-list:last-child {
		width: 100%;
	}
}

/*ボタン*/
.labo-btn {
	/*矢印の基点とするためrelativeを指定*/
	position: relative;
	/*ボタンの形状*/
	border: 1.5px solid #1D2D57;
	padding: 0px 35px;
	line-height: 40px;
	height: 42px;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	color: #1D2D57;
	outline: none;
	font-size: 17px;
	/*アニメーションの指定*/
	transition: all .2s linear;
	background: #FFF;
	white-space: nowrap;
}

header .labo-btn {
	/* ヘッダーお問い合わせボタンのみ調整 */
	margin-left: 8px;
	padding: 0px 32px;
}

.labo-btn:visited {
	color: #1D2D57;
}

.labo-btn.navy-btn {
	/*ボタンの形状*/
	border: 1.5px solid #2F4170;
	color: #fff;
	background: #2F4170;
}

.labo-btn.navy-btn_W {
	/*ボタンの形状*/
	border: 1.5px solid #2F4170;
	color: #2F4170;
	background: #fff;
}


.labo-btn:hover {
	background: #1D2D57;
	color: #fff;
}

.labo-btn.navy-btn:hover {
	background: #fff;
	color: #2F4170;
}

.labo-btn.navy-btn_w:hover {
	background: #2F4170;
	color: #fff;
}

/*矢印と下線の形状*/
.labo-btn::before {
	content: "";
	/*絶対配置で下線の位置を決める*/
	position: absolute;
	top: 50%;
	right: -22px;
	/*下線の形状*/
	width: 35px;
	height: 1.5px;
	background: #1D2D57;
	/*アニメーションの指定*/
	transition: all .2s linear;
}

.labo-btn::after {
	content: "";
	/*絶対配置で矢印の位置を決める*/
	position: absolute;
	top: 30%;
	right: -17px;
	/*矢印の形状*/
	width: 1.5px;
	height: 8px;
	background: #1D2D57;
	transform: skewX(45deg);
	/*アニメーションの指定*/
	transition: all .2s linear;
}


/*hoverした際の移動*/
.labo-btn:hover::before {
	right: -30px;
}

.labo-btn:hover::after {
	right: -25px;
}

.kochira-link {
	color: #2856D0;
	border-bottom: 1px #2856D0 solid;
}

.kochira-link:visited {

	color: #2856D0;
}

.red-txt {
	color: #FF5959 !important;
}

.navy-txt {
	color: #2F4170;
}

.beige-bg {
	background-color: #E6E5E1;
}

.white-bg {
	background-color: #fff;
}

.btn_gradient {
	/*矢印の基点とするためrelativeを指定*/
	position: relative;
	/*ボタンの形状*/
	border: 1.5px solid #2F4170;
	padding: 0px 35px;
	line-height: 42px;
	height: 42px;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	color: #fff;
	outline: none;
	font-size: 15px;
	/*アニメーションの指定*/
	transition: all .2s linear;
	background: #2F4170;
	white-space: nowrap;
	margin-top: 56px;
}

.btn_gradient:visited {
	color: #fff;
}

.btn_gradient:hover {
	background: #fff;
	color: #2F4170;
}

/*矢印と下線の形状*/
.btn_gradient::before {
	content: "";
	/*絶対配置で下線の位置を決める*/
	position: absolute;
	top: 50%;
	right: -22px;
	/*下線の形状*/
	width: 35px;
	height: 1.5px;
	background: #1D2D57;
	/*アニメーションの指定*/
	transition: all .2s linear;
}

.btn_gradient::after {
	content: "";
	/*絶対配置で矢印の位置を決める*/
	position: absolute;
	top: 30%;
	right: -17px;
	/*矢印の形状*/
	width: 1.5px;
	height: 8px;
	background: #1D2D57;
	transform: skewX(45deg);
	/*アニメーションの指定*/
	transition: all .2s linear;
}

/*hoverした際の移動*/
.btn_gradient:hover::before {
	right: -30px;
}

.btn_gradient:hover::after {
	right: -25px;
}

/**********サイドメニュー**********/
.side-menu {
	position: fixed;
	top: 200px;
	right: 0px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: end;
	z-index: 201;
}

.side-menu-bar {
	background-color: #2F4170;
	display: flex;
	align-items: center;
	width: 70px;
	height: 70px;
	overflow: hidden;
	border-radius: 5px 0px 0px 5px;
	-webkit-border-radius: 5px 0px 0px 5px;
	-moz-border-radius: 5px 0px 0px 5px;
	margin-bottom: 4px;
	transition: .5s;
}

.side-menu-icon {
	min-width: 70px;
	max-width: 70px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.side-menu-txt {
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	white-space: nowrap;
}

.side-menu-bar:hover {
	width: 280px;
}

@media (max-width: 768px) {
	.side-menu {
		top: auto;
		bottom: 0px;
		right: auto;
		flex-direction: row;
		justify-content: center;
		width: 100%;
	}

	.side-menu li {
		width: 32%;
		max-width: 130px;
		margin-right: 8px;
	}

	.side-menu li:last-child {
		margin-right: 0px;
	}

	.side-menu-bar {
		background-color: #2F4170;
		display: block;
		height: 80px;
		width: 100%;
		border-radius: 5px 5px 0px 0px;
		margin-bottom: 0px;
		text-align: center;
	}

	.side-menu-icon {
		min-width: 20px;
		max-width: 20px;
		height: 20px;
		display: block;
		margin: 8px auto;
	}

	.side-menu-txt {
		line-height: 1.2em;
	}

	.side-menu-bar p.side-contact,
	.side-menu-bar p.side-event {
		margin-top: 20px;
	}

	.side-menu-bar p.side-catalog {
		margin-top: 10px;
	}

	.side-menu-bar:hover {
		background-color: #26355b;
		width: auto;
	}
}

/**********メインビジュアル**********/
#housemaking .main-visual {
	background-image: url(../housemaking/imgs/main_visual.jpg);
}

#flow .main-visual {
	background-image: url(../housemaking/imgs/flow_main_visual.jpg);
}

#privacy-policy .main-visual {
	background-image: url(../privacy/imgs/main_visual.jpg);
}

#eventform .main-visual {
	background-image: url(../eventform/imgs/main_visual.jpg);
}

#information .main-visual {
	background-image: url(../imgs/cms_image/main_visual_news.jpg);
}

#voice .main-visual {
	background-image: url(../imgs/cms_image/main_visual_voice.jpg);
}

#works .main-visual {
	background-image: url(../imgs/cms_image/main_visual_works.jpg);
}

#labremake .main-visual {
	background-image: url(../imgs/cms_image/main_visual_labremake.jpg);
}

#event .main-visual {
	background-image: url(../imgs/cms_image/main_visual_event.jpg);
}

#realestate .main-visual {
	background-image: url(../imgs/cms_image/main_visual_realestate.jpg);
}

#blog .main-visual {
	background-image: url(../imgs/cms_image/main_visual_blog.jpg);
}

#aboutus .main-visual {
	background-image: url(../aboutus/imgs/main_visual.jpg);
}

#staff .main-visual {
	background-image: url(../staff/imgs/main_visual.jpg);
}

#contact .main-visual {
	background-image: url(../contact/imgs/main_visual.jpg);
}

#pamphlet .main-visual {
	background-image: url(../pamphlet/imgs/main_visual.jpg);
}

#model .main-visual {
	background-image: url(../model/imgs/main_visual.jpg);
}

#maintenance .main-visual {
	background-image: url(../housemaking/imgs/maintenance_main_visual.jpg);
}

#design .main-visual {
	background-image: url(../housemaking/imgs/design_main_visual.jpg);
}

#high-performance .main-visual {
	background-image: url(../housemaking/imgs/highperformance_main_visual.jpg);
}

#recruit .main-visual {
	background-image: url(../recruit/imgs/main_visual_recruit.jpg);
}

.main-visual {
	position: relative;
	background-size: contain;
	background-repeat: no-repeat;
	height: 28.9vw;
}

h1.main-title {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	font-size: 45px;
	line-height: 120%;
	color: #fff;
	white-space: nowrap;
	text-align: center;
}

/**********パンくずリスト**********/
.bread-list {
	display: flex;
	padding: 24px 0px 80px 0px;
	flex-wrap: wrap;
}

.bread-list li {
	position: relative;
	font-size: 14px;
	font-family: "Inter", "Noto Sans JP", sans-serif;
}

.bread-list li::after {
	content: '';
	width: 5px;
	height: 5px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	position: absolute;
	right: -15px;
	top: 10px;
	transform: rotate(45deg);
}

.bread-list li:last-child::after {
	display: none;
}

/**********アンダーラインの見出し**********/
.main-midashi-box h2 {
	font-size: 28px;
	color: #5B6566;
	font-family: "Crimson Text", serif;
}

.main-midashi-box h2 span {
	font-size: 16px;
	vertical-align: middle;
	font-family: "Zen Old Mincho", serif;
}

.main-midashi-box.normal-midashi {
	padding: 104px 0px 16px 0px;
	border-bottom: #5B6566 1px solid;
}

.bread-list+.main-midashi-box.normal-midashi {
	padding: 0px 0px 16px 0px;
}

.main-midashi-box.black-midashi h2 {
	color: #2E3536;
}

.main-midashi-box.normal-midashi.black-midashi {
	padding: 104px 0px 16px 0px;
	border-bottom: #2E3536 1px solid;
}

.main-midashi-box.white-midashi h2 {
	color: #fff;
}

.main-midashi-box.white-midashi {
	padding: 104px 0px 16px 0px;
	border-bottom: #fff 1px solid;
}

.main-midashi-box {
	align-items: flex-end;
}

@media (max-width: 768px) {
	.main-visual {
		background-size: cover;
	}

	h1.main-title {
		font-size: 24px;
	}

	.main-midashi-box h2 {
		font-size: 24px;
	}

	.main-midashi-box h2 span {
		font-size: 14px;
	}

	.top-main-visual {
		margin-left: 0px;
		height: 100svh;
	}

	.top-slider img {
		height: 100svh;
		width: 100%;
		object-fit: cover;
	}

	.main-midashi-box.white-midashi {
		padding: 32px 0px 5px 0px;
	}
}

/**********トップページ**********/
#top-main-bg {
	background-image: url(../imgs/top_main_bg.jpg);
	background-repeat: no-repeat;
	background-color: #E4E4E4;
	background-size: cover;
	color: #5B6566;
	padding-bottom: 80px;
}


.top-main-txt {
	text-align: center;
	max-width: 500px;
}

.top-main-txt .tx16,
.top-main-txt .tx30,
.top-main-txt .tx27 {
	letter-spacing: .2em;
	padding: 0px 1em;
}


.top-main-txt {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	z-index: 40;
}

#top-main-bg a.arrow-btn,
#top-info a.arrow-btn {
	color: #5B6566;
}

#top-main-bg a.arrow-btn::after,
#top-info a.arrow-btn::after {
	background-color: #5B6566;
}

#top-main-bg a.arrow-btn::before,
#top-info a.arrow-btn::before {
	background-color: #5B6566;
}

.top-event-box {
	color: #3C4444;
	width: 32%;
	display: block;
	margin-bottom: 40px;
}

.top-event-box:hover {
	opacity: 80%;
}

@media (min-width: 769px) {

	/* パソコン表示の場合は4件目を隠す */
	div.flex a.top-event-box:last-child {
		display: none;
	}
}

dl.top-event-date {
	display: flex;
	align-items: center;
}

.top-event-date dt.white-title {
	font-size: 12px;
	color: #000;
	background-color: #fff;
	border-radius: 5px;
	padding: .3em 1em;
	margin-right: 16px;
	white-space: nowrap;
}

.top-event-date dd.date {
	font-size: 14px;
	color: #3C4444;
}

#top-model-bg {
	background-image: url(../imgs/top_model_bg.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 80px;
}

.top-model-box .main-midashi-box.normal-midashi {
	padding: 0px;
	border-bottom: none;
}

.top-model-box {
	width: 49%;
	max-width: 590px;
	padding: 4px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 3px;
	height: 215px;
}

.top-model-inner-box {
	border: solid 1px #AAA197;
	display: flex;
	align-items: center;
	height: 100%;
	border-radius: 3px;
}

#sns-link {
	background-color: #E6E5E1;
	padding-bottom: 80px;
}

a.sns-arrow-btn {
	font-size: 18px;
	border-bottom: 1px solid #5B6566;
	color: #5B6566;
	/*矢印と下線の基点とするためrelativeを指定*/
	position: relative;
	/*形状*/
	display: inline-block;
	text-decoration: none;
	outline: none;
	font-weight: bold;
	margin-right: 64px;
}


/*矢印と下線の形状*/
a.sns-arrow-btn::before {
	content: '';
	/*絶対配置で下線の位置を決める*/
	position: absolute;
	bottom: 8px;
	right: -48px;
	/*下線の形状*/
	width: 35px;
	height: 2px;
	background: #5B6566;
	/*アニメーションの指定*/
	transition: all .3s;
}

a.sns-arrow-btn::after {
	content: '';
	/*絶対配置で矢印の位置を決める*/
	position: absolute;
	bottom: 11px;
	right: -49px;
	/*矢印の形状*/
	width: 10px;
	height: 2px;
	background: #5B6566;
	transform: rotate(45deg);
	/*アニメーションの指定*/
	transition: all .3s;
}

/*hoverした際の移動*/
a.sns-arrow-btn:hover::before {
	right: -56px;
}

a.sns-arrow-btn:hover::after {
	right: -57px;
}

.sns-link-box {
	width: 253px;
	height: 63px;
	background-color: #fff;
	margin-right: 13px;
}

#top-contact-area {
	background: url(../imgs/top_contact_bg_bright.jpg) center;
	background-repeat: no-repeat;
}

/* インスタ埋め込み表示 */
.top-instagram-list ul {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: start;
	flex-wrap: wrap;
}

.top-instagram-list ul li {
	width: 19%;
	margin-bottom: 1%;
}

.top-instagram-list ul li img {
	vertical-align: bottom;
	object-fit: cover;
	aspect-ratio: 1/1;
}


/* 初期状態で1枚目だけ表示 */
.top-slider .top_main_item {
	display: none;
}

.top-slider .top_main_item:first-child {
	display: block;
	transform: scale(1.05);
}


/* Slickが初期化されたら通常のスライド表示 */
.top-slider.slick-initialized .top_main_item {
	display: block;
}


@media (max-width: 768px) {

	.bread-list {
		padding: 16px 0px 32px 0px;
	}

	.bread-list li {
		font-size: 13px;
	}

	.bread-list li::after {
		width: 4px;
		height: 4px;
		top: 7px;
	}


	.top-main-txt {
		top: 50%;
		left: 17vw;
		transform: translateY(-50%) translateX(-15%);
	}

	.top-event-box {
		width: 48%;
	}

	.flexwrap {
		flex-wrap: wrap;
	}

	.top-model-box {
		width: 100%;
		max-width: 100%;
		height: 165px;
	}

	.top-model-inner-box {
		justify-content: center;
	}

	.top-model-container {
		text-align: center;
	}

	.sns-link-box {
		margin: 16px auto;
	}

	.top-instagram-list ul li {
		width: 31%;
		margin: 0 1% 2% 1%;
	}

	.top-instagram-list ul li:nth-child(n+7) {
		display: none;
	}
}



/**********スライド関連**********/
/*****トップページ*****/
.slide-animation {
	animation: fadezoom 5s 0s forwards;
}

@keyframes fadezoom {
	0% {
		transform: scale(1.05);
	}

	100% {
		transform: scale(1);
	}
}

/*****施工事例*****/
.slide-outer-box {
	position: relative;
	width: 1200px;
	max-width: 100%;
}

.slide-items {
	width: 2000px;
	padding-top: 80px;
}

.slide-item {
	width: 285px;
	margin-right: 24px;
}

.slick-dots {
	height: 20px;
	width: 300px;
	position: absolute;
	top: 25px;
	/* 画面下部からの距離 */
	right: 750px;
	/* 画面左端からの距離 */
}

#case-study-area .slick-slide img {
	width: 285px;
	height: 338px;
	object-fit: cover;
}

.slick-dots li {
	margin-right: 16px;
	color: #07112B;
	opacity: 0.5;
	/* 初期状態で薄く表示 */
}

.slick-dots li.slick-active {
	opacity: 1;
	/* アクティブな状態で濃く表示 */
}

.slick-slider {
	position: static;
}

.slick-dots {
	left: auto;
	right: 0;
	width: auto;
}

#case-study-area .slick-prev,
#case-study-area .slick-next {
	position: absolute;
	z-index: 200;
	background-color: rgba(0, 0, 0, 0.6);
	width: 40px;
	height: 40px;
	top: 260px;
}

.slick-prev {
	left: -20px;
}

.slick-next {
	/* left: 1150px; */
	left: auto;
	right: -20px;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
	background-color: rgba(0, 0, 0, 0.4);
}

.slick-prev:before,
.slick-next:before {
	content: '';
	display: block;
	border-top: 4px solid #FFF;
	border-right: 4px solid #FFF;
	width: 16px;
	height: 16px;
	font-size: 50px;
	font-weight: bolder;
	line-height: 1;
	color: white;
	opacity: 1;
}

.slick-prev:before {
	transform: rotate(-135deg);
	margin-left: 14px;
}

.slick-next:before {
	transform: rotate(45deg);
	margin-left: 6px;
}

.slide-item p {
	color: #202828;
	line-height: 1em;
	margin: 16px 0px;
}

a.tag-txt {
	font-size: 12px;
	color: #3D4646;
	font-family: "Inter", "Noto Sans JP", sans-serif;
	background-color: #fff;
	border: 1px #1D2D57 solid;
	border-radius: 30px;
	padding: 0px 1em;
	margin: 8px 8px 0px 0px;
	line-height: 2em;
	display: inline-block;
}

.tag-area {
	text-align: left;
}

.tag-area .tag-txt {
	font-size: 16px;
}

.tag-txt:last-child {
	margin-right: 0px;
}

@media (max-width: 1220px) {
	.slick-dots {}
}

/**********ホームラボの家づくり**********/
#housemaking #top-copy {
	background-image: url(../housemaking/imgs/main_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
}

#top-copy .top-txt .tx01 {
	color: #3C4444;
	font-size: 36px;
	line-height: 1.5em;
}

#top-copy .top-txt .tx02 {
	font-size: 24px;
}

#top-copy .top-txt .tx03 {
	color: #2F4170;
	font-size: 40px;
	font-weight: bold;
}

#top-copy .top-txt .tx04 {
	line-height: 200%;
}

#point-area {
	background-color: #5C626C;
	padding: 80px 0px;
}

#point-area .point-box {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 410px;
	border-bottom: #fff 2px solid;
}

#point-area .point-box:last-child {
	border-bottom: none;
}

.point01.point-box:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	background: url(../housemaking/imgs/point01_bg.png) no-repeat center center;
	background-size: cover;
	transition: all .3s ease-out;
}

.point02.point-box:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	background: url(../housemaking/imgs/point02_bg.png) no-repeat center center;
	background-size: cover;
	transition: all .3s ease-out;
}

.point03.point-box:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	background: url(../housemaking/imgs/point03_bg.png) no-repeat center center;
	background-size: cover;
	transition: all .3s ease-out;
}

.point-box:hover:after {
	transform: scale(1.1);
}

.point-box a {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
}

.point01,
.point03 {
	color: #fff;
}

.point02 {
	color: #475152;
}

.arrow-btn,
.long-arrow-btn {
	/*矢印と下線の基点とするためrelativeを指定*/
	position: relative;
	/*形状*/
	display: inline-block;
	padding: 10px 25px;
	color: #fff;
	text-decoration: none;
	outline: none;
}

.arrow-btn:hover,
.long-arrow-btn:hover {
	cursor: pointer;
}

/*矢印と下線の形状*/
.arrow-btn::before,
.long-arrow-btn::before {
	content: '';
	/*絶対配置で下線の位置を決める*/
	position: absolute;
	bottom: 6px;
	left: 15%;
	/*下線の形状*/
	width: 85%;
	height: 1px;
	background: #fff;
	transition: all .3s;
}

.arrow-btn::after,
.long-arrow-btn::after {
	content: '';
	/*絶対配置で矢印の位置を決める*/
	position: absolute;
	bottom: 10px;
	right: -2px;
	/*矢印の形状*/
	width: 10px;
	height: 1px;
	background: #fff;
	transform: rotate(50deg);
	transition: all .3s;
}

.gray-txt.arrow-btn {
	color: #5B6566;
}

.gray-txt.arrow-btn::before {
	background: #5B6566;
}

.gray-txt.arrow-btn::after {
	background: #5B6566;
}

/*hoverした際の移動*/
.arrow-btn:hover::before {
	left: 20%;
}

.arrow-btn:hover::after {
	right: -8%;
}


.point-contents {
	width: 1100px;
	max-width: 95%;
	margin: 56px auto;
}

.point-midashi {
	display: flex;
	justify-content: space-between;
	border-bottom: .75px solid #fff;
	padding-bottom: 8px;
	font-weight: bold;
}

.point-midashi span {
	font-size: 43px;
}

.point02 .point-midashi {
	border-bottom: #475152 solid .75px;
}

.point02 .arrow-btn {
	color: #475152;
}

/*矢印と下線の形状*/
.point02 .arrow-btn::before {
	background: #475152;
}

.point02 .arrow-btn::after {
	background: #475152;
}

#flow-area {
	background-color: #CACACA;
}

#case-study-area {
	background-image: url(../housemaking/imgs/casestudy_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
}

#case-study-area .arrow-btn {
	color: #2E3536;
}

/*矢印と下線の形状*/
#case-study-area .arrow-btn::before {
	background: #2E3536;
}

#case-study-area .arrow-btn::after {
	background: #2E3536;
}

#case-study-area .voice-box,
#top-info .voice-box {
	margin-bottom: 32px;
	transition: .5s
}

#case-study-area .voice-box:hover,
#top-info .voice-box:hover {
	opacity: 0.6;
	filter: brightness(115%);
}

#case-study-area .voice-box img {
	filter: drop-shadow(0px 0px 10px #919191);
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

#top-info .voice-box img {
	filter: drop-shadow(0px 0px 5px #dedede);
	object-fit: cover;
	aspect-ratio: 3 / 2;
}

.voice-info {
	font-size: 12px;
	font-weight: bold;
	display: inline-block;
	padding: 0.1em 1em;
	background-color: #E9E8E9;
	border-radius: 5px;
	background-color: rgba(233, 232, 233, 0.6);
}

#contact-area {
	padding: 104px 0px;
	background-image: url(../imgs/contact_bg.png);
	background-size: cover;
	background-repeat: no-repeat;
}

.modelhouse-box {
	background-color: #fff;
	display: flex;
	height: 203px
}

.modelhouse-txt {
	padding: 24px 40px;
}

.modelhouse-box img {
	height: 203px;
}

.modelhouse-txt h2 {
	font-size: 36px;
	color: #5B6566;
	font-family: "Crimson Text", serif;
}

.modelhouse-box h2 span {
	font-size: 16px;
	vertical-align: middle;
	font-family: "Zen Old Mincho", serif;
}

.contact-box {
	background-color: #fff;
	width: 587px;
	height: 308px;
}

.contact-inner-box {
	color: #2F4170;
	text-align: center;
	font-weight: 900;
}

.contact-inner-box a {
	display: block;
}

@media (max-width: 1010px) {
	#top-copy .top-txt .tx01 {
		font-size: 18px;
	}

	#top-copy .top-txt .tx02 {
		font-size: 16px;
	}

	#top-copy .top-txt .tx03 {
		font-size: 24px;
	}


	#point-area {
		background-color: #5C626C;
		padding: 40px 0px;
	}

	#point-area .point-box {
		height: 320px;
	}

	.point-midashi {
		display: block;
	}

	.point-contents {
		text-align: right;
		margin: 32px auto;
	}

	.point-contents .tx23 {
		text-align: left;
		font-size: 16px;
		text-indent: -2.5em;
		padding-left: 2.5em;
	}

	.point-contents .tx23 span {
		font-size: 24px;
	}

	.point-contents .tx14 {
		text-align: left;
	}

	#flow-area img {
		height: 160px;
		object-fit: cover;
	}
}

@media (max-width: 768px) {

	#case-study-area .voice-box img,
	#top-info .voice-box img {
		width: 40%;
	}

	.voice-box .voice-txt {
		font-size: 14px;
		line-height: 1.4em;
	}

	#case-study-area .voice-box,
	#top-info .voice-box {
		margin-bottom: 24px;
	}

	.modelhouse-box {
		display: block;
		height: auto;
		background-color: transparent;
	}

	.modelhouse-txt {
		padding: 8px 0px;
		font-size: 14px;
	}

	.modelhouse-box img {
		height: auto;
		width: 100%;
	}

	.modelhouse-txt h2 {
		font-size: 26px;
	}

	.modelhouse-box h2 span {
		font-size: 12px;
	}

	#contact-area {
		padding: 24px 0px;
	}

	.contact-box {
		background-color: #fff;
		width: 49%;
		height: auto;
		padding: 24px 0px;
	}

	.contact-inner-box {
		color: #2F4170;
		text-align: center;
		width: 100%;
	}


	.contact-inner-box a {
		width: 100%;
	}

	.contact-inner-box img {
		max-width: 24px;
		max-height: 36px;
	}

	.contact-inner-box>p:first-of-type {
		font-size: 3vw;
	}

	.contact-box .labo-btn {
		width: 72%;
		height: auto;
		margin-left: 8%;
		padding: 6px 0;
		line-height: 1.4;
		text-align: center;
		white-space: normal;
	}

	.contact-box .labo-btn::after {
		top: 36%;
	}
}

@media (max-width: 500px) {
	.contact-inner-box>p:first-of-type {
		font-size: 3vw;
	}

	.contact-box .labo-btn::after {
		top: 34%;
	}
}

/**********自由設計の家**********/
#design #comment-area p {
	color: #3C4444;
}

.design-box01,
.design-box02 {
	height: 370px;
	padding: 24px;
}

.design-box01 {
	background-image: url(../housemaking/imgs/design01_bg.jpg);
	background-position: left;
	background-repeat: no-repeat;
	background-size: cover;
}

.design-box02 {
	background-image: url(../housemaking/imgs/design02_bg.jpg);
	background-position: right;
	background-repeat: no-repeat;
	background-size: cover;
}

.design-box01 p.tx16h,
.design-box02 p.tx16h {
	color: #3C4444;
	text-shadow: #ffffff 1px 0 10px;
	text-align: justify;
}

.design-box-txt {
	max-width: 500px;
}

@media (max-width: 768px) {


	.design-box01 {
		background-image: url(../housemaking/imgs/design01_bg_sp.jpg);
		background-position: bottom;
	}

	.design-box02 {
		background-image: url(../housemaking/imgs/design02_bg_sp.jpg);
		background-position: bottom;
	}

	.design-box01 .beige-bg-txt,
	.design-box02 .beige-bg-txt {
		white-space: nowrap;
		font-size: max(4vw, 16px);
	}

	.design-box01,
	.design-box02 {
		padding: 8px;
		height: 80vh;
		display: flex;
		align-items: flex-start;
		padding-top: 24px;
	}

	.design-box-txt {
		max-width: 100%;
	}

	.design-box-txt.txtR {
		text-align: left;
	}

	#design #comment-area img {
		height: 160px;
		object-fit: cover;
		border-radius: 5px;
	}
}

/**********高性能の家**********/
#high-performance #top-copy {
	background-image: url(../housemaking/imgs/highperformance_main_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
}

.anchor-btn p {
	font-size: 24px;
	color: #fff;
	font-weight: bold;
}

.anchor-btn {
	display: block;
	max-width: 200px;
	text-align: center;
	margin: 0px 24px 80px 24px;
}

.anchor-circle {
	width: 150px;
	height: 150px;
	border-radius: 80px;
	background: rgba(229, 229, 229, 0.50);
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.anchor-circle::after {
	content: '';
	width: 18px;
	height: 18px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	position: absolute;
	right: 42%;
	bottom: -80px;
	transform: rotate(135deg);
}

h5.highperformance-title {
	font-size: 33px;
	color: #7D6A55;
	line-height: 1.5em;
	margin-bottom: 32px;
	text-align: left;
}

h5.highperformance-title span {
	border-bottom: 1px solid #7D6A55;
}

.acc-box-block {
	background-color: #fff;
	padding: 20px;
	text-align: center;
	position: relative;
}

img.acc-box-block {
	padding: 0px;
}

p.highperformance-sub-title {
	color: #7D6A55;
	font-weight: bold;
	font-size: 20px;
}

span.navy-line-txt {
	border-bottom: 1px solid #2F4170;
	color: #2F4170;
	font-weight: bold;
}

span.gold-line-txt {
	border-bottom: 1px #917E67 solid;
	color: #917E67;
	font-weight: bold;
}

.wline-midashi {
	color: #616A6C;
	border-left: solid #616A6C 2px;
	border-right: solid #616A6C 2px;
	padding: .25em .8em;
	text-align: center;
	display: inline-block;
	font-weight: bold;
}

.wline-midashi.gold-midashi {
	color: #7D6A55;
	border-left: solid #7D6A55 2px;
	border-right: solid #7D6A55 2px;
}

.triangle {
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 26px solid transparent;
	border-left: 26px solid transparent;
	border-top: 31.5px solid #d9d9d9;
	border-bottom: 0;
	margin: 24px auto;
}

.acc-box-txt {
	text-align: justify;
}

.acc-box-txt h6 {
	background-color: #DAD6CD;
	font-size: 16px;
	padding: .2em .8em;
	margin-bottom: 8px;
}

.navy-title {
	background-color: #2F4170;
	font-size: 16px;
	color: #fff;
	font-weight: bold;
	padding: .2em 1em;
	display: inline-block;
	position: absolute;
	left: 0px;
	top: 0px;
}

.air-water-gray-box {
	background-color: #E5E5E5;
	padding: 16px 24px;
	font-family: "Inter", "Noto Sans JP", "游ゴシック体", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	margin: 16px 0px;
}

.air-water-line {
	border-bottom: 1px solid #2F4170;
	margin-bottom: 24px;
}

.air-water-midashi {
	color: #5B6566;
	margin-bottom: 16px;
	line-height: 160%;
}

.air-water-midashi span {
	border: 1px solid #5B6566;
	padding: .2em 1em;
	margin-right: .8em;
}

table.air-water-table {
	border: solid 1px #B3B3B3;
	width: 100%;
	text-align: center;
}

table.air-water-table thead th {
	padding: .8em .1em;
}

table.air-water-table td,
table.air-water-table th {
	border: solid 1px #B3B3B3;
	vertical-align: middle;
}

table.air-water-table td {
	padding: .3em .1em;
}

table.air-water-table thead tr th {
	background-color: #E6E5E1;
}

table.air-water-table thead tr:first-child th {
	background-color: #2F4170;
	color: #fff;
}

.air-water-gradation {
	background: linear-gradient(to right, rgb(188, 199, 220), transparent);
	/* 左から右にかけてのグラデーション */
	color: #000;
	/* テキストの色を透明にする */
	font-size: 20px;
	/* 適切なフォントサイズに調整 */
	font-weight: bold;
	padding: 5px 32px;
}

@media (max-width: 768px) {

	.anchor-btn {
		display: block;
		width: 97px;
		text-align: center;
		margin: 0px 8px 64px 8px;
	}

	.anchor-circle {
		width: 90px;
		height: 90px;
	}

	.anchor-circle::after {
		width: 12px;
		height: 12px;
		right: 42%;
		bottom: -52px;
	}

	.anchor-btn p {
		font-size: 15px;
	}

	.wline-midashi {
		width: 100%;
		max-width: 350px;
	}

	h5.highperformance-title {
		font-size: 18px;
		margin-bottom: 16px;
	}

	p.highperformance-sub-title {
		font-size: 18px;
	}

	.air-water-gray-box img.w20 {
		max-width: 350px;
		display: block;
		margin: 16px auto;
	}
}

/**********安心の家**********/
#maintenance #top-copy {
	background-image: url(../housemaking/imgs/maintenance_main_bg.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

#maintenance .acc-box {
	padding: 32px;
	color: #3C4444;
	background-color: #fff;
}

#maintenance .acc-box img {
	width: 100%;
}

#maintenance-contents {
	background-color: #A19F9B;
	padding: 120px 0px;
}

h5.acc-title {
	font-size: 24px;
	color: #5B6566;
	border-bottom: #5B6566 1px solid;
	padding-bottom: 0.3em;
	margin: 48px 0px 16px 0px;
	line-height: 1.2em;
}

table.acc-box-table {
	border: solid 1px #3C4444;
	width: 100%;
	font-family: "Inter", "Noto Sans JP", "游ゴシック体", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	text-align: center;
}

table.acc-box-table thead {
	background-color: #E6E6E1;
	text-align: center;
}

table.acc-box-table th,
table.acc-box-table td {
	vertical-align: middle;
	padding: 0.2em 0.5em;
	border: 1px solid #5B6566;
}

table.acc-box-table tbody th {
	background-color: #A0A09B;
	color: #fff;
}

.table-scroll table,
.table-scroll img {
	min-width: 650px;
}

img.circle-icon {
	max-width: 100px;
}

.caption-txt {
	padding-left: 1.4em;
	text-indent: -1.4em;
	font-size: 14px;
}

.acc-small-title {
	border-bottom: 1px solid #5B6566;
	display: inline-block;
	font-size: 20px;
	margin: 16px 0px;
}

.acc-gray-box-title {
	font-size: 22px;
	color: #3C4444;
	font-weight: bold;
	margin: 32px 0px 16px 0px;
}

.acc-gray-box-title span.square {
	color: #2F4170;
}

.acc-gray-box-title span.option-pattern {
	font-size: 10px;
	font-family: "Inter", "Noto Sans JP", "游ゴシック体", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	border: solid 2px #2F4170;
	border-radius: 3px;
	padding: .2em .5em;
	vertical-align: .3em;
	margin-left: .8em;
}

.acc-gray-box-title span.option-pattern.gray-bg {
	background-color: #DADADA;
}

.acc-gray-box {
	padding: 1em;
	background-color: #E6E5E1;
	border-radius: 5px;
	margin-bottom: 24px;
}

.acc-gray-box-container {
	padding: 0.5em 1.5em;
}

img.link-img {
	max-height: 60px;
}

.acc-gray-box-list dt {
	font-family: "Inter", "Noto Sans JP", "游ゴシック体", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	margin-bottom: 8px;
}

.acc-gray-box-list dt::before {
	content: "●";
}

.acc-gray-box-list dd {
	display: flex;
	padding-left: 1em;
	margin-bottom: 24px;
}

.acc-method-title {
	font-size: 18px;
	color: #2F4170;
	font-weight: bold;
	padding: 0.8em 0.5em 0.5em 0.5em;
	background-color: #fff;
	border-radius: 5px;
	display: inline-block;
}

.acc-gray-box-container ol {
	padding: 1.2em;
	text-indent: -1.2em;
}

.maintenance-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32%;
	background: rgba(229, 229, 229, 0.50);
	font-size: 20px;
	text-align: center;
	padding: 0.5em;
	line-height: 1.5em;
	color: #3C4444;
	position: relative;
	margin-bottom: 72px;
}

.maintenance-link::after {
	content: '';
	width: 18px;
	height: 18px;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	position: absolute;
	right: 48%;
	bottom: -40px;
	transform: rotate(135deg);
}

@media (max-width: 768px) {
	h5.acc-title {
		font-size: 16px;
	}

	.acc-small-title {
		font-size: 16px;
	}

	.acc-method-title {
		font-size: 16px;
	}

	.acc-gray-box-title {
		font-size: 16px;
		line-height: 140%;
		margin: 0px;
	}

	.maintenance-link {
		width: 100%;
		font-size: 14px;
		margin-bottom: 16px;
		padding: 0.5em 2em 0.5em 0.5em;
	}

	.maintenance-link::after {
		width: 10px;
		height: 10px;
		border-top: solid 2px #2F4170;
		border-right: solid 2px #2F4170;
		right: 10%;
		bottom: 40%;
	}

	.table-scroll {
		overflow-x: scroll;
	}

	.table-scroll table {
		font-size: 13px;
		width: auto;
	}

	img.link-img {
		max-width: 80%;
		text-align: left;
	}

	.acc-gray-box-list dd {
		display: block;
	}

	.acc-gray-box-title span.option-pattern {
		margin-left: 0px;
	}

	.caption-txt {
		font-size: 12px;
	}

	#maintenance-contents {
		padding: 32px 0px;
	}
}

/**********家づくりの流れ**********/
#flow #top-copy {
	background-image: url(../housemaking/imgs/flow_main_bg.jpg);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

#flow-contents {
	background-color: #5C626C;
	padding: 0px 0px 120px 0px;
	color: #fff;
}

.flow-line {
	border-left: dashed #fff 1px;
	display: block;
	height: 100%;
	position: absolute;
	top: 80px;
	left: 110px;
}

.flow-number {
	background: #5C626C;
	font-size: 63px;
	font-weight: bold;
	min-width: 135px;
	height: 135px;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0px 40px;
	position: relative;
	z-index: 10;
}

.flow-number-txt {
	text-align: center;
}

.flow-box {
	display: flex;
	margin: 40px 0px;
	position: relative;
}

.flow-box a {
	color: #fff;
}

.flow-box a:visited {
	color: #fff;
}

.flow-txt {
	margin: 40px;
}

.flow-txt span {
	vertical-align: middle;
}

.flow-txt .long-arrow-btn::after {
	background: #fff;
}

.flow-txt .long-arrow-btn::before {
	background: #fff;
}

.flow-txt .long-arrow-btn:first-child {
	margin-left: -20px;
}

@media (max-width: 800px) {

	.flow-txt .long-arrow-btn {
		margin-left: -20px;
	}
}

@media (max-width: 768px) {

	#flow-contents {
		padding: 0px 0px 32px 0px;
	}

	.flow-number {
		font-size: 40px;
		min-width: 80px;
		height: 90px;
		margin: 0px;
	}

	.flow-line {
		left: 40px;
	}

	.flow-txt {
		margin: 0px;
	}

	.flow-txt .long-arrow-btn:first-child {
		margin-left: -16px;
	}

	.flow-box {
		margin: 16px 0px;
	}
}

/**********物件情報**********/
#realestate .tag-area .tag-txt {
	font-size: 14px;
	margin-bottom: 8px;
}

#modelhouse-area .modelhouse-area {
	width: 100%;
	height: 330px;
	background-image: url(../imgs/cms_image/model_house_bg.jpg);
	margin-bottom: 120px;
	padding: 24px;
	display: flex;
	align-items: last baseline;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.realestate-contents dt {
	white-space: nowrap;
}

@media (max-width: 768px) {
	#modelhouse-area .modelhouse-area {
		height: 170px;
		margin-bottom: 40px;
	}

	#realestate .tag-area .tag-txt {
		font-size: 12px;
		margin-bottom: 8px;
	}
}

/**********物件情報詳細**********/
.spec-area {
	margin-bottom: 72px;
}

.g-map iframe {
	width: 100%;
	height: 320px;
	margin-bottom: 40px;
}

#realestate-artilcle .facility-list {
	margin-left: 8%;
	margin-top: 24px;
}

#realestate-artilcle .facility-list:nth-child(3n+1) {
	margin-left: 0%;
}

#realestate-artilcle .facility-list dt {
	font-size: 18px;
	color: #2F4170;
	font-weight: bold;
	margin-bottom: 8px;
}

#realestate-artilcle .facility-list dd {
	font-size: 16px;
	color: #616A6C;
	padding-left: 1em;
	text-indent: -1em;
}

#realestate-artilcle .facility-list dd::before {
	content: "●";
}

#realestate-artilcle .facility-list dd.mark-none::before {
	content: "";
}

@media (max-width: 768px) {
	.spec-area {
		margin-bottom: 32px;
	}

	#realestate-artilcle .facility-list {
		margin-left: 0%;
	}

	.g-map iframe {
		height: 200px;
	}

	#realestate-artilcle .facility-list dt {
		font-size: 16px;
	}

	#realestate-artilcle .facility-list dd {
		font-size: 13px;
	}
}

/*******アコーディオン*******/
.acc-box {
	display: none;
	background-color: #F7F7F7;
	padding: 96px 32px;
}

.acc-trigger {
	padding: 15px 32px;
	font-weight: bold;
	color: #fff;
	font-size: 26px;
	background: #2F4170;
	position: relative;
	margin-top: 32px;
}

.acc-trigger:hover {
	cursor: pointer;
}

.acc-trigger::before {
	/* 閉じている時 */
	content: "＋";
	position: absolute;
	font-size: 30px;
	right: 32px;
	top: 25%;
}

.acc-trigger.active::before {
	/* 開いている時 */
	content: "－";
	font-size: 30px;
}

/*******ソート用*******/

.sort-acc-price,
.sort-acc-style,
.sort-acc-keyword,
.sort-acc-category {
	padding: 24px 8px;
	font-weight: bold;
	color: #fff !important;
	font-size: 20px;
	background: #2F4170;
	position: relative;
	text-align: center;
	width: 32%;
	cursor: pointer;
	white-space: nowrap;
	margin-top: 16px;
}

.sort-acc-category {
	width: 100%;
}

.sort-acc-price-box,
.sort-acc-style-box,
.sort-acc-keyword-box,
.sort-acc-category-box {
	display: none;
	background-color: #F5F5F5;
	padding: 48px 40px;
}

.sort-acc-price span,
.sort-acc-style span,
.sort-acc-keyword span,
.sort-acc-category span,
.model-link span {
	position: relative;
}

.sort-acc-price span:before,
.sort-acc-style span:before,
.sort-acc-keyword span:before,
.sort-acc-category span::before,
.model-link span::before {
	content: '';
	width: 10px;
	height: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	position: absolute;
	left: 15px;
	top: 8px;
	transform: rotate(135deg);
}

.sort-item-midashi {
	font-size: 22px;
	font-weight: bold;
	color: #2F4170 !important;
	padding-left: 0.5em;
	border-left: 5px solid #2F4170;
	margin-bottom: 24px;
}

.sort-acc-price-box .tag-txt,
.sort-acc-style-box .tag-txt,
.sort-acc-keyword-box .tag-txt,
.sort-acc-category-box .tag-txt {
	font-size: 18px;
	color: #2F4170 !important;
	background-color: #fff;
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
}

.sort-acc-keyword-form {
	margin-top: 40px;
}

.sort-acc-keyword-form input {
	font-size: 18px;
	color: #2F4170 !important;
	font-family: "Zen Old Mincho", serif;
	font-weight: bold;
	padding: 0 16px;
	height: 40px;
	width: calc(100% - 120px);
	max-width: 480px;
}

.sort-acc-keyword-form button {
	width: 100px;
	height: 40px;
}

@media (max-width: 768px) {

	.acc-trigger {
		font-size: 16px;
		padding: 12px 20px;
		margin-top: 16px;
	}

	.acc-box {
		padding: 16px !important;
	}

	.acc-trigger::before {
		/* 閉じている時 */
		font-size: 25px;
		right: 16px;
	}

	.acc-trigger.active::before {
		/* 開いている時 */
		font-size: 25px;
	}


	.sort-item-midashi {
		font-size: 16px;
		margin-bottom: 8px;
	}

	.sort-acc-price span:before,
	.sort-acc-style span:before,
	.sort-acc-keyword span:before {

		width: 8px;
		height: 8px;
		left: -5px;
		top: 0px;
	}

	.sort-acc-price-box .tag-txt,
	.sort-acc-style-box .tag-txt,
	.sort-acc-keyword-box .tag-txt,
	.sort-acc-category-box .tag-txt {
		font-size: 12px;
	}

	.sort-acc-price,
	.sort-acc-style,
	.sort-acc-keyword,
	.sort-acc-category {
		padding: 8px;
		font-size: 14px;
		white-space: wrap;
	}

	.sort-acc-price-box,
	.sort-acc-style-box,
	.sort-acc-keyword-box,
	.sort-acc-category-box {
		padding: 16px;
	}

	.sort-acc-category span::before {
		top: auto;
	}

}

/*******表組み*******/
table.labo-table {
	width: 100%;
	max-width: 100%;
	background-color: #fff;
	color: #2F4170;
	font-size: 14px;
	font-family: "Inter", "Noto Sans JP", "游ゴシック体", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	border: 1px #AAAAAA solid;
	word-break: break-all;
}

table.labo-table th {
	background-color: #EFECE9;
	width: 153px;
	text-align: center;
	padding: 0.8em;
	white-space: nowrap;
}

table.labo-table td {
	padding: 0.8em;
}

table.labo-table tr {
	border-bottom: 1px #AAAAAA solid;
}

table.labo-table tr:last-child {
	border-bottom: none;
}

@media (max-width: 768px) {

	table.labo-table th {
		width: 121px;
	}

	table.labo-table {
		font-size: 13px;
	}
}

/**********イベント / 物件情報**********/
#event .event-box,
#realestate .event-box {
	background-color: #F1F1EE;
	min-height: 305px;
	margin-bottom: 48px;
}

/* 
#event .event-box img,
#realestate .event-box img {
	max-width: 440px;
} */
.event-box-img {
	overflow: hidden;
}

.event-box-img img {
	object-fit: cover;
	object-position: center;
	max-width: 440px;
	height: 100%;
	width: 100%;
}

#event .event-box h5,
#realestate .event-box h5 {
	color: #3C4444;
}

#event .event-box dl,
#realestate .event-box dl {
	color: #1D2D57;
}

#event .event-box .event-txt,
#realestate .event-box .event-txt {
	padding: 24px;
	width: 60%;
	display: flex;
	align-items: center;
}

.event-txt-container {
	width: 100%;
}

.long-arrow-btn {
	color: #5B6566;
}

.long-arrow-btn::before {
	background: #5B6566;
	left: 8%;
	width: 92%;
}

.long-arrow-btn::after {
	background: #5B6566;
}

/*hoverした際の移動*/
.long-arrow-btn:hover::before {
	left: 12%;
}

.long-arrow-btn:hover::after {
	right: -5%;
}

.tohold-txt,
.book-txt {
	font-size: 14px;
	border: solid 1px #1D2D57;
	padding: .1em .7em;
	margin-bottom: 8px;
}

.tohold-txt {
	color: #3D4646;
	background-color: #fff;
	margin-right: 8px;
}

.book-txt {
	color: #fff;
	background-color: #1D2D57;
	font-weight: bold;
}

@media (max-width: 768px) {

	.tohold-txt,
	.book-txt {
		font-size: 12px;
		margin-bottom: 8px;
	}

	#event .event-box,
	#realestate .event-box {
		max-width: 100%;
		height: auto;
		margin: 24px auto;
	}

	#event .event-box img,
	#realestate .event-box img {
		max-width: 100%;
		width: 100%;
		max-height: 60vh;
		object-fit: cover;
	}

	#event .event-box .event-txt,
	#realestate .event-box .event-txt {
		padding: 16px;
		width: 100%;
	}

	#event .event-box .event-txt .justE,
	#realestate .event-box .event-txt .justE {
		justify-content: center;
		margin-top: 16px;
	}
}

/**********イベント詳細**********/
.detail_description {
	font-weight: bold;
}

.detail_schedule table {
	width: 100%;
	margin: 72px 0px;
	font-weight: bold;
}

.detail_schedule table tr {
	display: flex;
	margin-bottom: 24px;
	height: auto !important;
}

.detail_schedule table th {
	background-color: #E6E5E1;
	text-align: center;
	width: 115px !important;
	padding: 0.5rem;
	border-radius: 5px;
	vertical-align: middle;
	height: auto !important;
}

.detail_schedule table td {
	padding: 0.5rem 1rem;
	font-size: 17px;
}

/**********施工事例 / リフォーム**********/
#works .house-col p,
#labremake .house-col p {
	color: #3C4444;
}

.place-txt {
	border-bottom: solid .5px #3C4444;
	color: #3C4444;
	display: inline-block;
	line-height: 1em;
	margin: 8px 0px;
}

.house-col {
	max-width: 30%;
	margin-left: 5%;
	margin-bottom: 64px;
	transition: .5s;
}

.house-col img {
	object-fit: cover;
	aspect-ratio: 1 / 1;
}

.house-col:hover {
	opacity: 0.6;
	filter: brightness(110%);
}

.house-container {
	margin-top: 104px;
}

.house-container .house-col:nth-child(3n+1) {
	margin-left: 0;
}

@media (max-width: 768px) {
	.detail_schedule table {
		margin: 24px 0px;
	}

	.detail_schedule table tr {
		margin-bottom: 16px;
	}

	.detail_schedule table td {
		font-size: 14px;
	}

	#article-contents .tag-txt {
		font-size: 12px;
	}

	.house-container {
		margin-top: 40px;
	}

	.place-txt {
		font-size: 12px;
	}

	.house-col {
		width: 100%;
		max-width: 100%;
		margin-left: 0px;
		margin-bottom: 16px;
		display: flex;
		align-items: flex-start;
	}

	.house-txt {
		margin-left: 16px;
	}

	.house-col img {
		width: 30%;
		aspect-ratio: 3 / 2;
	}
}



/**********　物件詳細　**********/

#article-contents .owner-box {
	max-width: 700px;
	display: block;
	margin: 88px auto;
	text-align: center;
}

#article-contents .owner-box a {
	transition: .5s;
}

#article-contents .owner-box a:hover {
	opacity: 0.9;
	filter: brightness(107%);
}

#article-contents .voice-info {
	font-size: 16px;
	margin-bottom: 8px;
}

#article-contents .voice-txt {
	text-align: left;
}

#article-contents .owner-box .owner-img {
	width: 320px;
}

#article-contents .owner-title {
	font-size: 20px;
	border-bottom: 1px solid #3C4444;
	display: inline-block;
}

#works-artilcle .main-slide {
	margin: 40px 0px 48px 0px;
}

#works-artilcle .main-slide-item,
#works-artilcle .main-slide .slick-slide img {
	aspect-ratio: 2 / 1;
	object-fit: cover;
	margin: 0 auto;
}

#works-artilcle .sub-slide {
	max-width: 94%;
	margin: auto;
	position: relative;
}

#works-artilcle .sub-slide-item,
#works-artilcle .sub-slide .slick-slide img {
	aspect-ratio: 2 / 1;
	object-fit: cover;
}

#works-artilcle .sub-slide-item,
#works-artilcle .sub-slide .slick-slide {
	max-width: 23%;
	margin: 0px 16px;
}

#works-artilcle .slide-arrow {
	background-color: transparent;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 20px;
	height: 20px;
	border-top: 4px solid #3C4444;
	border-right: 4px solid #3C4444;
	border-bottom: 0;
	border-left: 0;
}

#works-artilcle .prev-arrow {
	left: -15px;
	transform: rotate(-135deg);
}

#works-artilcle .next-arrow {
	right: -15px;
	transform: rotate(45deg);
}

#works-artilcle button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0;
}

.pre-next-btn {
	border-bottom: solid #5B6566 1px;
	border-top: solid #5B6566 1px;
	font-size: 20px;
	display: flex;
	width: 100%;
	justify-content: space-between;
	align-items: center;
	padding: 48px 0px;
}

.pre-next-btn .flex {
	width: 100%;
}

.pre-btn,
.next-btn {
	position: relative;
	/*形状*/
	display: inline-block;
}

.pre-btn {
	padding-left: 96px;
}

.next-btn {
	padding-right: 96px;
}

.pre-btn::before,
.next-btn::before {
	content: "";
	/*絶対配置で下線の位置を決める*/
	position: absolute;
	/*下線の形状*/
	width: 80px;
	height: 1px;
	background: #333;
	/*アニメーションの指定*/
	transition: all .2s linear;
}

.pre-btn::before {
	top: 50%;
	left: 8px;
}

.next-btn::before {
	top: 50%;
	right: 8px;
}

.pre-btn::after,
.next-btn::after {
	content: "";
	/*絶対配置で矢印の位置を決める*/
	position: absolute;
	/*矢印の形状*/
	width: 1px;
	height: 8px;
	background: #333;
	/*アニメーションの指定*/
	transition: all .2s linear;
}

.pre-btn::after {
	top: 22%;
	left: 12px;
	transform: skewX(-45deg);
}

.next-btn::after {
	top: 22%;
	right: 12px;
	transform: skewX(45deg);
}

@media (max-width: 768px) {


	#article-contents .voice-info {
		font-size: 14px;
	}

	#article-contents .owner-box {
		margin: 64px 0px;
	}

	#works-artilcle .sub-slide-item {
		max-width: 23%;
		aspect-ratio: 2 / 2;
		object-fit: cover;
		margin: 0px 8px;
	}

	#article-contents .owner-title {
		font-size: 16px;
	}

	.pre-next-btn {
		font-size: 16px;
		padding: 24px 0px;
	}

	.pre-btn {
		padding-left: 72px;
	}

	.next-btn {
		padding-right: 72px;
	}

	.pre-btn::before,
	.next-btn::before {
		width: 64px;
	}
}

/*hoverした際の移動*/
.next-btn:hover::before {
	right: 0px;
}

.next-btn:hover::after {
	right: 2px;
}

/*hoverした際の移動*/
.pre-btn:hover::before {
	left: 0px;
}

.pre-btn:hover::after {
	left: 3px;
}

/**********リフォーム詳細**********/
#article-contents {
	color: #3C4444;
}

#article-contents .main-txt {
	font-size: 16px;
	line-height: 1.8em;
}

#article-contents .main-img {
	margin: 40px 0px;
}

#article-contents .place-txt {
	font-size: 18px;
	margin-top: 24px;
}

#article-contents .ttl_sub {
	font-size: 28px;
	font-family: "Crimson Text", serif;
	color: #5B6566;
	margin: 120px 0px 40px 0px;
	text-align: center;
}

#article-contents .ttl_sub span {
	font-size: 16px;
}

#article-contents .list_col3,
#article-contents .list_col4 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#article-contents .col {
	margin-right: 32px;
	min-width: 260px;
	text-align: center;
}

#article-contents .labremake_txt {
	text-align: center;
	margin-bottom: 8px;
	font-size: 18px;
}

#article-contents .col:last-child {
	margin-right: 0px;
}

#article-contents .col img {
	object-fit: cover;
	aspect-ratio: 1 / 1;
}

h3.article-title {
	font-size: 36px;
	font-weight: 900;
	margin: 32px 0px;
	line-height: 120%;
}

@media (max-width: 768px) {

	h3.article-title {
		font-size: 18px;
		margin: 16px 0px;
	}

	#article-contents .main-txt {
		font-size: 13px;
	}

	#article-contents .main-img {
		height: 250px;
		object-fit: cover;
		width: 100%;
		margin: 16px 0px;
	}

	#article-contents .place-txt {
		font-size: 14px;
	}

	#article-contents .labremake_txt {
		font-size: 14px;
	}

	#article-contents .col {
		margin-bottom: 16px;
	}

	#article-contents .ttl_sub {
		font-size: 16px;
		margin: 80px 0px 40px 0px;
	}

	#article-contents .ttl_sub span {
		font-size: 11px;
	}
}


/**********お客様の声**********/
#voice p {
	color: #3C4444;
}

#voice .voice-info {
	font-size: 16px;
	margin-bottom: 8px;
}

#voice .voice-col {
	width: 30%;
	margin-left: 5%;
	margin-bottom: 56px;
	transition: .5s;
}

.voice-col:hover {
	opacity: 0.8;
	filter: brightness(106%);
}

#voice .voice-container .voice-col:nth-child(3n+1) {
	margin-left: 0;
}

#voice .voice-col img {
	width: 100%;
	height: 220px;
	object-fit: cover;
}

#voice .voice-txt {
	margin: 16px 0px;
}

@media (max-width: 768px) {
	#voice .voice-col {
		width: 100%;
		max-width: 100%;
		margin-left: 0px;
		margin-bottom: 32px;
		display: flex;
		align-items: flex-start;
	}

	#voice .voice-info {
		font-size: 12px;
	}

	#voice .voice-txt {
		margin: 0px 0px 0px 16px;
	}

	#voice .voice-col img {
		width: 35%;
		aspect-ratio: 3 / 2;
		height: auto;
	}
}

/**********モデルハウス**********/
#model #top-copy p {
	color: #3C4444;
}

.model-img-box {
	height: 173px;
	background-repeat: no-repeat;
	padding: 8px;
	background-size: cover;
}

.model-img-box.model-img01 {
	background-image: url(../model/imgs/model_img01.png);
}

.model-img-box.model-img02 {
	background-image: url(../model/imgs/model_img02-02.png);
}

.beige-bg-txt {
	display: inline-block;
	background: rgba(110, 104, 97, 0.8);
	color: #fff !important;
	font-weight: bold;
	padding: .1em .4em;
	white-space: nowrap;
}

.model-link-box {
	width: 285px;
	max-width: 50%;
	margin-right: 24px;
}

.model-link-box:last-child {
	margin-right: 0px;
}

.model-link {
	background-color: #2F4170;
	text-align: center;
	color: #fff !important;
	width: 100%;
	display: inline-block;
	font-size: 18px;
	padding: .7em 0px;
}

dl.model-info {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	color: #3C4444;
	font-size: 16px;
}

dl.model-info dt {
	width: 30%;
	height: 35px;
	max-width: 115px;
	background-color: #E6E5E1;
	padding: 0px 1em;
	border-radius: 5px;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
}

dl.model-info dd {
	width: 68%;
	margin-left: 2%;
	margin-bottom: 24px;
}

.model-txt {
	color: #3C4444;
}

.model-room-txt {
	position: relative;
	top: -40px;
	left: -24px;
	color: #3C4444;
}

.room-name {
	font-size: 20px;
	font-weight: bold;
	height: 48px;
	background-color: #E6E5E1;
	display: inline-block;
	padding: .5em 1em;
}

.model-point {
	padding: 80px 0px;
}

.model-point p.tx24 {
	border-bottom: 1px solid #3C4444;
	color: #3C4444;
	display: inline-block;
}

.model-point-txt {
	color: #7D6A55;
	font-size: 20px;
	border-bottom: 1px solid #7D6A55;
	font-weight: bold;
	display: inline-block;
}

.model-point-box .tx14 {
	line-height: 1.5em;
}

.reservation-area {
	background-color: #2F4170;
	display: flex;
	align-items: center;
	color: #fff;
	padding: 32px 0px;
}

.reservation-area span {
	font-family: "Inter", "Noto Sans JP", "游ゴシック体", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	font-size: 13px;
	vertical-align: 3px;
	border-radius: 5px;
	border: solid 1px #EFECE9;
	padding: .4em .7em;
}

.reservation-area a.labo-btn {
	color: #2F4170;
}

.reservation-area a.labo-btn:hover {
	color: #fff;
}

.reservation-area .labo-btn::before {
	background: #fff;
}

.reservation-area .labo-btn::after {
	background: #fff;
}

#consul-meeting {
	text-align: center;
	padding: 64px 0px;
	font-family: "Inter", "Noto Sans JP", "游ゴシック体", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

#consul-meeting .consul-title {
	font-size: 64px;
	font-weight: bold;
	color: #2F4170;
	letter-spacing: .2em;
}

#consul-meeting p.tx20 {
	color: #3C4444;
	font-weight: bold;
	margin: 32px 0px;
}

.consul-circle {
	width: 280px;
	height: 280px;
	aspect-ratio: 1 / 1;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
}

.consul-circle p {
	color: #2F4170;
	font-weight: bold;
	font-size: 20px;
	line-height: 160%;
}

.model-faq {
	font-size: 20px;
	margin: 48px 0px 104px 0px;
}

.model-faq dt {
	color: #2F4170;
	margin-bottom: 15px;
	font-weight: bold;
}

.model-faq dd {
	color: #3C4444;
	margin-bottom: 16px;
}

.model-faq dt::before {
	content: "Q　";
}

.model-faq dd::before {
	content: "A　";
}


/* ０５０７追加 */
.modelhouse_container {
	width: 30%;
	display: flex;
	gap: 15px;
}

.modelhouse_box p {
	font-size: 18px;
	text-align: center;
}

.modelhouse_box {
	width: 100%;
	transition: .5s;
}

.modelhouse_box img {
	box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.10);
}

.modelhouse_box:hover {
	opacity: 0.6;
	filter: brightness(115%);
}



@media (max-width: 768px) {

	#consul-meeting {
		padding: 32px 0px;
	}

	#modelhouse01 img,
	#modelhouse02 img {
		height: 50vw;
		object-fit: cover;
		width: 100%;
	}

	#modelhouse01 img.p-map,
	#modelhouse02 img.p-map {
		height: auto;
	}

	.model-point {
		padding: 40px 0px;
	}

	.model-point-txt {
		font-size: 16px;
	}

	.room-name {
		font-size: 16px;
		height: 38px;
		padding: .5em 1.5em;
	}

	.madori-imgs img {
		height: 100%;
		max-width: 30%;
		object-fit: contain !important;
	}

	.model-link-box {
		width: 48%;
		max-width: 100%;
		margin-right: 0px;
		margin: 16px auto;
	}

	.model-link {
		font-size: 14px;
		padding: .5em 0px;
	}

	.model-link span::before {
		width: 8px;
		height: 8px;
		top: 4px;
	}

	.model-link-box:last-child {
		margin: 16px auto;
	}

	.beige-bg-txt.sp_tx13 {
		font-size: 3.2vw;
	}

	.model-img-box {
		height: 30vw;
	}


	.model-point-box {
		margin-bottom: 40px;
	}

	dl.model-info {
		margin-top: 16px;
		font-size: 13px;
	}

	dl.model-info dt {
		width: 20%;
		height: 25px;
	}


	#consul-meeting .consul-title {
		font-size: 24px;
	}

	#consul-meeting p.tx20 {
		font-size: 16px;
		margin: 16px 0px;
	}

	.consul-circle {
		width: 165px;
		height: 165px;
	}

	.consul-circle p {
		font-size: 12px;
	}

	.model-room-txt {
		left: -20px;
	}

	.model-faq {
		font-size: 14px;
		line-height: 150%;
		margin: 48px 0px;
	}
}

/**********お客様の声詳細**********/
#voice-artilcle .voice-info {
	font-size: 20px;
	padding: 0.3em 1em;
	margin-right: 16px;
}

.voice_detail_detail_box {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	margin-bottom: 72px;
}

.fixed_detail_img {
	width: 38%;
}

.detail_txt_box {
	width: 58%;
}

.detail_txt_box h4 {
	font-size: 22px;
	font-weight: normal;
	margin-bottom: 8px;
	text-indent: -1em;
	padding-left: 1em;
}

.detail_txt_box h4 span.ttl_voice {
	border-bottom: 1px solid #3D4343;
}

.detail_txt_box p {
	padding-left: 1.5em;
}

@media (max-width: 768px) {
	.detail_txt_box h4 {
		font-size: 14px;
	}

	#voice-artilcle .voice-info {
		font-size: 14px;
	}

	.voice_detail_detail_box {
		display: block;
		margin-bottom: 40px;
	}

	.voice_detail_detail_box img {
		height: 50vw;
		width: 100%;
		object-fit: cover;
	}

	.fixed_detail_img {
		width: 100%;
	}

	.detail_txt_box {
		width: 100%;
		margin-top: 8px;
	}

}

/**********スタッフ紹介**********/
#staff .house-container {
	margin-top: 0px;
}

#staff .staff-txt {
	color: #3C4444;
	text-align: center;
}

#staff .house-col:hover {
	opacity: 1;
	filter: brightness(100%);
}

#staff .staff-category-txt {
	border-right: #3C4444 solid 1px;
	border-left: #3C4444 solid 1px;
	display: inline-block;
	padding: 0 0.8em;
	margin: 8px 0px;
}

#staff .staff-txt span {
	vertical-align: 3px;
}

#staff .staff-txt .tx16 {
	text-align: justify;
	margin: 16px 0px;
	color: #000;
}

@media (max-width: 768px) {
	#staff .house-col {
		max-width: 100%;
		margin-bottom: 64px;
		display: block;
		text-align: center;
	}

	#staff .house-col img {
		width: 55vw;
		aspect-ratio: 1 / 1;
	}
}

/**********スタッフ紹介02(あと消す)**********/
#staff02 .house-container {
	margin-top: 0px;
}

#staff02 .staff-txt {
	color: #3C4444;
	text-align: center;
}

#staff02 .staff-category-txt {
	border-right: #3C4444 solid 1px;
	border-left: #3C4444 solid 1px;
	display: inline-block;
	padding: 0 0.8em;
	margin: 8px 0px;
}

#staff02 .staff-txt span {
	vertical-align: 3px;
}

#staff02 .staff-txt .tx16 {
	text-align: justify;
	margin: 16px 0px;
	color: #000;
}

@media (max-width: 768px) {
	#staff02 .house-col {
		max-width: 100%;
		margin-bottom: 64px;
		display: block;
	}

	#staff02 .house-col img {
		width: 100%;
	}
}

/**********インフォメーション**********/
.info-list {
	width: 100%;
	color: #5B6566;
}

.info-link {
	display: flex;
	border-bottom: solid 1px #D9D9D9;
}

.info-link dt,
.info-link dd {
	padding: 1em 3em;
}

.backnumber-link {
	display: flex;
	justify-content: center;
	margin-top: 80px;
	flex-wrap: wrap;
}

.backnumber-link li a {
	color: #07112B;
	margin-right: 24px;
	opacity: 40%;
}

.backnumber-link li a.current_page_number {
	color: #07112B;
	margin-right: 24px;
	opacity: 100%;
}

@media (max-width: 768px) {

	.info-link dt,
	.info-link dd {
		padding: 1em;
	}

	.backnumber-link {
		margin-top: 40px;
	}

}

/**************ブログ**************/
.blog-top a.tag-txt {
	font-size: 16px;
	margin: 0px 0px 0px 16px;
}

.blog-top h3.article-title,
.blog-txt {
	color: #3C4444;
	line-height: 1.8em;
	font-weight: normal
}

.blog-box {
	margin-bottom: 80px;
}

.blog-box .blog-top .flex {
	flex-wrap: wrap;
}

.blog-box .blog-img-box {
	display: flex;
	margin-top: 40px;
}

.blog-box .blog-img-box img {
	margin-right: 16px;
}

.blog-box .blog-img-box img:last-child {
	margin-right: 0px;
}

.blog-wrap {
	display: flex;
	justify-content: space-between;
}

.blog-wrap .blog-side {
	width: 300px;
	padding-left: 16px;
	color: #5B6566;
	font-weight: bold;
}

.blog-side .blog-side-title {
	font-size: 25px;
	font-family: "Crimson Text", serif;
	font-weight: bold;
	padding-bottom: 0.5em;
	border-bottom: 1px #5B6566 solid;
}

.blog-wrap .blog-side .blog-side-box {
	margin-bottom: 88px;
}

.blog-wrap .blog-side .blog-side-box:last-child {
	margin-bottom: none;
}

.blog-wrap .blog-side .blog-side-box .blog-side-link {
	font-size: 14px;
}

.blog-wrap .blog-side .blog-side-box .blog-side-link li {
	margin: 18px 0px;
}

.blog-wrap .blog-side .blog-side-box .blog-side-link span.blog-number {
	font-size: 12px;
	border: 1px solid #5B6566;
	border-radius: 20px;
	padding: 0px .5em;
	margin-left: 8px;
}

@media (max-width: 768px) {
	.blog-box {
		margin-bottom: 64px;
	}

	.blog-wrap {
		display: block;
	}

	.blog-wrap .blog-side {
		width: 100%;
	}

	.blog-top a.tag-txt {
		font-size: 12px;
		line-height: 1.6em;
		margin: 4px 0px 4px 16px;
	}

}

/**********会社概要**********/
#aboutus #profile .labo-table {
	border-left: none;
	border-right: none;
}

#aboutus #profile .labo-table .table-list {
	padding-left: 1em;
}

#aboutus #profile .labo-table .table-list dt {
	text-indent: -1em;
}

#aboutus #profile .labo-table .table-list dt::before {
	content: "・";
}

#aboutus #access .g-map iframe {
	width: 100%;
	height: 400px;
}

@media (max-width: 768px) {
	#aboutus #top-message {
		text-align: center;
	}

	#aboutus #access .g-map iframe {
		height: 200px;
	}

	#aboutus img.president-img {
		width: 60vw;
	}
}

/**********お問合せ**********/
#contact-txt {
	padding-bottom: 80px;
}

#form-area {
	color: #3C4444;
}

.form-box {
	margin-bottom: 48px;
}

.form-box .msg {
	/* CGIでエラーメッセージに付与 */
	color: #FF5959 !important;
}

.form-box dt {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 16px;
}

.form-box dd {
	font-size: 20px;
}

.form-box.checkbox dd {
	font-size: 17px;
}

.form-box dd textarea,
.form-box input,
.form-box select {
	width: 100%;
	padding: 16px 24px;
	background-color: #F4F4F4;
	border: none;
	border-radius: 5px;
}

.form-box.checkbox input[type="checkbox"] {
	width: 15px;
	height: 15px;
}

.form-box.address-box dd input,
.form-box.address-box dd select {
	max-width: 500px;
	margin-bottom: 32px;
	color: #3C4444;
}


.form-box.address-box dd:last-child input,
.form-box.address-box dd:last-child select {
	margin-bottom: 0px;
}

.form-box.address-box dd select {
	appearance: none;
	background-image: url(../pamphlet/imgs/select_bg.png);
	background-repeat: no-repeat;
	background-position: right 20px center;
	height: 61px;
}

.contact-privacy {
	margin: 80px 0px;
}

.contact-privacy input {
	width: 17px;
	height: 17px;
	vertical-align: -2px;
	background-color: #F4F4F4;
	border: #919191 1px solid;
}

.contact-btn-box {
	margin-bottom: 120px;
	text-align: center;
}

/* チェックされていない場合のボタンのスタイル */
.contact-btn-box .labo-btn[disabled] {
	opacity: 50%;
	cursor: not-allowed;
	/* カーソルをデフォルトから変更して操作できないことを示す */
}

/* チェックされている場合のボタンのスタイル */
.contact-btn-box .navy-btn:not([disabled]) {
	border: 1.5px solid #2F4170;
	color: #fff;
	background: #2F4170;
	cursor: pointer;
}

.contact-btn-box .navy-btn:not([disabled]):hover {
	background: #fff;
	color: #2F4170;
}


@media (max-width: 768px) {
	#contact-txt {
		padding-bottom: 40px;
	}

	.form-box {
		margin-bottom: 24px;
	}

	.form-box dt {
		font-size: 14px;
		margin-bottom: 8px;
	}

	.form-box dd {
		font-size: 13px;
	}

	.form-box.checkbox dd {
		font-size: 14px;
		display: block;
	}

	.form-box.address-box dd input,
	.form-box.address-box dd select {
		margin-bottom: 16px;
	}

	.form-box.address-box dd:last-child input,
	.form-box.address-box dd:last-child select {
		margin-bottom: 0px;
	}

	.form-box dd textarea,
	.form-box input,
	.form-box select {
		padding: 10px 16px;
	}

	.contact-btn-box .labo-btn {
		width: 90%;
	}
}

/**********プライバシーポリシー**********/

#privacy-policy #policy p {
	color: #3D4343;
}

#privacy-policy .policy-box {
	margin-bottom: 32px;
}

#privacy-policy .policy-box:last-child {
	margin-bottom: 120px;
}

#privacy-policy ol {
	padding-left: 3em;
	/* サイトに合せて調整 */
}

#privacy-policy ol li {
	list-style-type: none;
	counter-increment: cnt;
	color: #3D4343;
	margin-bottom: 8px;
}

#privacy-policy ol li::before {
	content: "（ " counter(cnt) " ）";
	display: inline-block;
	text-indent: -3em;
}

/**404ページ**/

#not-found .container {
	color: #3C4444;
	line-height: 200%;
}


/* ０５０１追加 */

.insta_title {
	display: block;
	margin: 0 auto 32px;
}

.insta_title_sp {
	display: none;
}

.hard-info {
	display: block;
}


.hard-info_sp {
	display: none;
}

.sns-icon_sp {
	display: none;
}

@media (max-width: 1200px) {
	.hard-info {
		width: 40%;
		margin-right: 20px;
	}
}

@media (max-width: 768px) {

	#privacy-policy .policy-box:last-child {
		margin-bottom: 64px;
	}

	.sns-icon ul {
		display: flex;
		width: 70%;
		justify-content: space-around;
		margin-top: 16px;
	}

	/* モデルハウス */
	.modelhouse_container {
		width: 100%;
	}
}

@media (max-width: 500px) {

	main {
		margin-top: 50px;
	}

	nav.sp-nav {
		top: 50px;
	}

	.main-midashi-box h2 {
		font-size: 16px;
	}

	.main-midashi-box h2 span {
		font-size: 11px;
	}

	/* ヘッダー */

	.header-contents img {
		width: 80%;
	}

	header {
		height: 50px;
	}

	/*ボタン内側*/
	.burger span {
		height: 2px;
	}

	/* スライダー */

	.top-slider img {
		height: 100svh;
		object-fit: cover;
		width: 100%;
	}

	/* メインビジュアル */

	.top-main-visual {
		margin-left: 0px;
		height: 100svh;
	}

	/* コンセプト */

	.concept_img {
		/* width: auto; */
		height: 160px;
		object-fit: cover;
		position: relative;
		object-position: bottom;
	}


	/* イベント情報	 */
	.top-event-date dt.white-title {
		padding: .1em 1em;
	}

	.top-event-date dt.white-title {
		font-size: 9px;
		padding: 0 0.75em;
		margin-right: 8px;
		white-space: nowrap;
		line-height: 13px;
	}

	.top-event-box {
		margin-bottom: 20px;
	}

	.top-event-date dd.date {
		font-size: 10px;
	}

	#top-main-bg {
		padding-bottom: 20px;
	}

	.sp_mt_no {
		margin-top: 0;
	}

	.sp_mb_no {
		margin-bottom: 0;
	}

	/* 施工事例 */


	.slick-dots li {
		margin-right: 8px;
	}

	.slick-dots {
		top: 10px;
	}

	.slick-dots li {
		font-size: 12px;
	}

	.slide-items {
		padding-top: 50px;
	}

	.slide-item p {
		margin: 8px 0px;
	}

	#case-study-area .slick-slide img {
		width: 150px;
		height: 185px;
	}

	.slide-item {
		width: 150px;
	}

	a.tag-txt {
		font-size: 8px;
	}

	#case-study-area .slick-prev,
	#case-study-area .slick-next {
		height: 60px;
		top: 150px;
	}

	.slick-prev:before,
	.slick-next:before {
		border-top: 2px solid #FFF;
		border-right: 2px solid #FFF;
	}


	/* フォントサイズ調整 */

	.sp_size20 {
		font-size: 20px !important;
	}

	.sp_size16 {
		font-size: 16px !important;
	}

	.sp_size13 {
		font-size: 13px !important;
	}


	/* 見出しアキ調整 */

	.main-midashi-box.normal-midashi {
		padding: 36px 0px 5px 0px;
	}

	.main-midashi-box.normal-midashi.black-midashi {
		padding: 25px 0px 5px 0px;
	}


	.bread-list+.main-midashi-box.normal-midashi {
		padding: 0px 0px 5px 0px;
	}


	/* ボタン */

	.labo-btn {
		padding: 0px 40px;
		font-size: 13px;
	}

	.labo-btn_sp {
		padding: 0px 15px;
	}

	.labo-btn_sp::before {
		right: -15px;
		width: 25px;
	}

	.labo-btn_sp::after {
		right: -11px;
	}

	/* 一覧を見る */
	.arrow-btn,
	.long-arrow-btn {
		font-size: 12px;
	}


	/* お客様の声 */

	.voice-box .voice-txt {
		font-size: 13px;
	}

	.voice-info {
		font-size: 10px;
	}

	/* モデルハウス */

	.model_house_img {
		height: 200px;
		object-fit: cover;
	}

	.top-model-box {
		width: 48%;
		max-width: 100%;
		height: 140px;
	}

	.sp_br {
		display: block;
	}

	.model_house_h2 {
		font-size: 16px !important;
	}

	.model_house_h2>span {
		font-size: 11px;
	}

	#top-model-bg {
		padding-bottom: 50px;
	}

	.modelhouse_box p {
		font-size: 13px;
	}

	.modelhouse_container {
		width: 100%;
	}


	/* sns */

	.insta_title {
		display: none;
	}

	.sns-link-box {
		width: 182px;
		height: 40px;
	}

	.insta_title_sp {
		display: block;
		width: 70%;
		margin: 0 auto 32px;
	}

	#sns-link {
		padding-bottom: 40px;
	}

	/* お知らせ */
	.info-link dt,
	.info-link dd {
		padding: 0.7em;
	}

	.info-link dt,
	.info-link dd {
		font-size: 13px;
	}

	/* お問い合わせ */
	#top-contact-area {
		background-size: 150%;
		background-position: left 5% top 30%;
	}

	.sp_pb32im {
		padding-bottom: 32px !important;
	}

	footer {
		padding: 35px 10px;
	}

	footer .footer-container {
		height: 380px;
	}

	footer .footer-link-box {
		width: 100%;
		font-size: 12px;
	}

	footer .footer-link-list p,
	footer .footer-link-list li {
		margin-bottom: 2px;
	}

	.footer-link-list:first-child {
		width: 35%;
	}

	.footer-link-list:nth-child(2) {
		width: 35%;
	}

	.footer-link-list:nth-child(3) {
		width: 20%;
	}

	.footer-link-list:nth-child(4) {
		width: 35%;
	}

	.footer-link-list:nth-child(5) {
		width: 40%;
	}

	.hard-info {
		display: none;
	}

	.hard-info_sp {
		display: flex;
		justify-content: space-around;
		width: 100%;
		gap: 00px;
	}

	.hard-info_sp p {
		line-height: 2rem;
	}

	.sns-icon_sp {
		display: block;
	}

	.sns-icon_sp ul {
		display: flex;
		justify-content: space-evenly;
		width: 40%;
		position: relative;
		bottom: 30px;
		left: 00px;
	}

	.sns-icon_sp ul img {
		/* width: 10%; */
		height: 20px;
	}


	.COPYRIGHT {
		font-size: 10px;
	}


	.side-menu-bar {
		background-color: #2F4170;
		display: block;
		height: 45px;
		width: 100%;
		border-radius: 5px 5px 0px 0px;
		margin-bottom: 0px;
		text-align: center;
	}

	.side-menu-icon img {
		width: 80%;
		display: inline-block;
		position: relative;
		top: 0px;
		right: 45px;
	}

	.side-menu-icon .icon_a {
		top: 5px;
		left: -27px;
	}

	.side-menu-icon .icon_b {
		top: 5px;
		left: -42px;
	}


	.side-menu-bar p.side-contact,
	.side-menu-bar p.side-event {
		top: -23px;
		margin-top: 0px;
	}

	.side-menu-bar p.side-catalog {
		top: -27px;
		margin-top: 0px;
	}

	.reserve_txt {
		left: 5px;
	}

	.side-menu-txt {
		font-size: 12px;
		width: 30%;
		display: inline-block;
		position: relative;
		bottom: 30px;
		right: 10px;
	}



}

@media (max-width: 400px) {
	.top-model-box .labo-btn {
		padding: 0px 15px;
	}

	.side-menu-txt {
		right: 10px;
	}

	footer .footer-link-box {
		font-size: 10.5px;
	}

	.footer-link-list:first-child {
		width: 35%;
	}

	.footer-link-list:nth-child(2) {
		width: 33%;
	}

	.footer-link-list:nth-child(3) {
		width: 20%;
	}

	footer .footer-link-list:last-child {
		width: 50%;
	}

	.hard-info_sp P {
		font-size: 12px;
		margin-left: 10px;
	}

}


/* =========================================
* 採用情報
* ======================================== */

/* 「住人十色」
* ---------------------------------- */


/* 働く上での魅力と特徴
* ---------------------------------- */
.work-point-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.work-point-col {
	background-color: #E6E5E1;
	text-align: center;
	padding: 16px 24px;
}

.works-point-txt {
	display: inline-block;
	position: relative;
}

.works-point-txt::before,
.works-point-txt::after {
	content: "";
	width: 1px;
	height: 60%;
	background-color: #3C4444;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}

.works-point-txt::before {
	left: -.8em;
}

.works-point-txt::after {
	right: -.8em;
}

/* 福利厚生・教育制度
* ---------------------------------- */

.work-circle-wrap {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.work-circle-col {
	background-color: #2F4170;
	color: #fff;
	border: 1px solid #AAA197;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: min(2vw, 24px);
	line-height: 150%;
}

/* 数字で見るホームラボ
* ---------------------------------- */
.number-wrap {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.number-col {
	border-radius: 3px;
	border: 1px solid #AAA197;
	text-align: center;
	padding: min(2.9vw, 32px);
}

.recruit-number-txt {
	display: flex;
	align-items: end;
	justify-content: center;
	color: #2F4170;
}

.recruit-number {
	font-size: min(5vw, 72px);
	font-weight: 400;
	line-height: 110%;
}

.recruit-number-txt .tx24 {
	font-size: min(2vw, 24px);
	font-weight: 600;
}

/* 採用情報
* ---------------------------------- */
.recruit-flow-wrap {
	display: flex;
	justify-content: space-between;
}

.recruit-flow-col {
	border-radius: 50%;
	border: 1px solid #AAA197;
	background-color: #2F4170;
	aspect-ratio: 1/1;
	width: 16%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	position: relative;
}

.recruit-flow-col::before {
	content: "";
	position: absolute;
	transform: translateX(-50%);
	top: 45%;
	left: -15%;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 12px solid transparent;
	border-bottom: 12px solid transparent;
	border-left: 16px solid #2f4170;
	border-right: 0;
}

.recruit-flow-col:first-child:before {
	display: none;
}

.job-col ul,
.entry-table-list {
	padding-left: 2em;
	text-indent: -1.5em;
}

.job-col ul li,
.entry-table-list li {
	list-style-type: disc;
	list-style-position: inside;
}

/* =========================================
* 採用エントリー
* ======================================== */

/* エントリーフォーム
* ---------------------------------- */
.file-box input {
	background-color: transparent;
	padding: 8px 0;
	cursor: pointer;
}

.file-btn::file-selector-button {
	background-color: #F4F4F4;
	border: 1px solid #000;
	cursor: pointer;
	font-family: "Zen Old Mincho", serif;
	border-radius: 8px;
	padding: 8px 16px;
	margin-right: 1em;

}

.form-box .note {
	padding-left: 1em;
	text-indent: -1em;
}

@media (max-width: 768px) {

	/* =========================================
* 採用情報
* ======================================== */

	/* 「住人十色」
* ---------------------------------- */
	.recruit-img {
		object-fit: cover;
		aspect-ratio: 183 / 125;
	}

	/* 働く上での魅力と特徴
* ---------------------------------- */
	.work-point-wrap {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	/* 福利厚生・教育制度
* ---------------------------------- */

	.work-circle-wrap {
		grid-template-columns: repeat(4, 1fr);
		gap: 8px;
	}

	.work-circle-col {
		font-size: max(3vw, 14px);
	}

	/* 数字で見るホームラボ
* ---------------------------------- */
	.number-wrap {
		display: block;
	}

	.number-col {
		margin-bottom: 16px;
		padding: 16px;
	}


	.recruit-number {
		font-size: 48px;
	}

	.recruit-number-txt .tx24 {
		font-size: 18px;
	}

	/* 採用情報
* ---------------------------------- */
	.recruit-flow-wrap {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		gap: 16px 10%;
	}

	.recruit-flow-col {
		width: 26%;
	}

	.recruit-flow-col::before {
		border-top: 9px solid transparent;
		border-bottom: 9px solid transparent;
		border-left: 12px solid #2f4170;
		left: -18%;
	}

	.recruit-flow-col:first-child:before {
		display: none;
	}

	/* =========================================
	* 採用エントリー
	* ======================================== */

	/* 募集要項
	* ---------------------------------- */

	#entry .labo-table {
		border-left: none;
		border-right: none;
	}

	#entry .labo-table .table-list {
		padding-left: 1em;
	}
}

/* =========================================
* モデルハウスボタン追加2025/10/23
* ======================================== */
.float-btn {
	position: fixed;
	right: 32px;
	bottom: 40px;
	aspect-ratio: 1/1;
	border-radius: 100%;
	width: 170px;
	background-color: #E6E5E1;
	border: 2px solid #2f4170;
	color: #2f4170;
	display: grid;
	place-items: center;
	z-index: 100;
	padding: 1em;
	font-weight: 600;
	text-align: center;
	font-size: 18px;
	transition: all .3s;
	box-shadow: 0px 0px 15px -5px #2f4170;


	span {
		font-size: .8em;
		display: inline-block;
		margin-bottom: .5em;
	}


	&:visited {
		color: #2f4170;
	}

	&:hover {
		background-color: #2f4170;
		color: #fff;
		transition: all.3s;
	}
}

@media (max-width: 768px) {
	.float-btn {
		right: 16px;
		bottom: 56px;
		width: 130px;
		font-size: 14px;
	}
}