@charset "UTF-8";
/* common.css */

*,
*::before,
*::after  {
	font-family:'Noto Sans JP', noto-sans-cjk-jp, sans-serif;
	font-feature-settings: "palt";
	letter-spacing: .12em;
	box-sizing: border-box;
	border-collapse: collapse;
}
/* wordpress ログインバーの調整 */
#wpadminbar *,
#wpadminbar *:before,
#wpadminbar *:after   {
	font-family: dashicons;
}

.page_link {
	margin-top:  0;
	padding-top: 0;
}
.page_link#link_blog {
	margin-top:  calc(min(6vw,60px)*-1);
	padding-top: min(6vw,60px);
}
.page_link#link_contact {
	margin-top:  calc(clamp(100px,12vw,120px)*-1);
	padding-top: clamp(100px,12vw,120px);
}
.page_link#link_faq {
	margin-top:  calc(clamp(80px,10vw,100px)*-1);
	padding-top: clamp(80px,10vw,100px);
}

/* --- パンくずリスト --- */
.fbc-wrap {
	margin-bottom:  10px !important;
	padding-bottom: 10px !important;
}
.fbc-page .fbc-wrap .fbc-items {
	background-color: transparent !important;
}
.fbc-page .fbc-wrap .fbc-items li {
	padding-left:  .25em !important;
	padding-right: .25em !important;
}
.fbc-wrap li,
.fbc-wrap i,
.fbc-wrap a,
.fbc-wrap span {
	font-size: 14px !important;
	line-height: 1 !important;
}
.fbc-wrap li {
	padding-top:    0 !important;
	padding-bottom: 0 !important;
}
.fbc-wrap i {
	font-size: 15px !important;
	margin-right: .25em !important;
}
.fbc-wrap a {
	text-decoration: underline;
}
.fbc-wrap i:before {
	font-family: FontAwesome !important;
}
.fbc-wrap .fbc-items li:first-of-type {
	padding-left: 0 !important;
}
.fbc-wrap .fbc-items li:last-of-type {
	padding-right: 0 !important;
}

/* ▼ ▼ レイアウト調整 ▼ ▼ */

/* パンくず親 */
.fbc-wrap {
  overflow-x: scroll;
}

/* パンくずリスト本体 */
.fbc-items {
  display: flex;
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* パンくず各要素 */
.fbc-items li {
  white-space: nowrap;
  flex-shrink: 0;
}

/* 最後のパンくず（タイトル）のliだけ縮んでもよいように */
.fbc-items li.active {
  flex-shrink: 1;
  min-width: 0;
}

/* 最後のタイトルテキスト */
.fbc-items li.active span {
  display: block;
  white-space: nowrap;
  width: 100%;
}

@media screen and (min-width:769px) {
	.fbc-wrap::-webkit-scrollbar{
		display: none;
	}
}




/* --- Container --- */
.bg_wrap,
.wrap {
	width: 100%;
	margin: auto;
	padding: 0 min(6vw,60px);
}
.wrap {
	max-width: 1000px;
}
.bg_wrap.pad_none {
	padding: 0;
}
.pad_none > .wrap,
.bg_wrap > .wrap,
.wrap > .wrap   {
	padding: 0;
}
.flex_box {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.bg_brown {
	background-color: #e2d9c2;
}
.bg_white,
.white_box {
	background-color: #fff;
}
.bg_gray {
	background-color: #4d4d4d;
}
.bg_triangle,
.bg_triangle_light,
.bg_triangle_dark  {
	background-image: url(../img/bg01.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 100%;
}
.bg_triangle_light {
	background-image: url(../img/bg03.png);
}
.bg_triangle_dark {
	background-image: url(../img/bg04.png);
}
.bg_city {
	background-image:  url(../img/bg02.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center bottom;
}
.bg_sky {
	position: relative;
	background-image:  url(../img/bg_sky.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.bg_sky:before {
	content: "";
	width:  100%;
	height: 100%;
	display: block;
	position: absolute;
	top:  0;
	left: 0;
	background-color: rgba(51,51,51,.8);
}
.bg_sky > div {
	position: relative;
	z-index: 2;
}

/* --- font style --- */
.ff_notos { font-family:'Noto Sans JP', noto-sans-cjk-jp, sans-serif !important; }
.ff_zengo { font-family:zen-kaku-gothic-new, "Zen Kaku Gothic New", sans-serif !important; }

.color_red   { color:#be3223; }
.color_brown { color:#aa8c46; }


/* --- text --- */
html,
h1,
h2,
h3,
h4,
a { color:inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: bold;
	line-height: 1.5em;
	letter-spacing: .15em;
}
h2 {
	font-size: clamp(30px,4.8vw,48px);
	letter-spacing: .1em;
}
h3 {
	font-size: 24px;
}
h3 span:first-of-type {
	letter-spacing: .15em;
	margin-right: .75em;
}
h3 span.mar0_R {
	margin-right: 0 !important;
}
ul,
li,
dl,
dd,
dt,
a,
p {
	font-size: 16px;
	font-size: clamp(12px,1.6vw,16px);
	line-height:   1.7em;
	letter-spacing: .1em;
}
.p_big {
	font-size: 32px;
	font-size: clamp(20px,3.2vw,32px);
}
.p_middle {
	font-size: 20px;
	font-size: clamp(14px,1.8vw,20px);
	line-height: 1.7;
}
p       { text-align:justify;   }
span    { letter-spacing:.1em;  }
a       { text-decoration:none; }
a:hover { color:inherit; text-decoration:none; }

.fw_normal { font-weight:normal !important; }
.fw_500    { font-weight:500 !important;    }
.fw_bold   { font-weight:bold !important;   }
.alignL    { text-align:left !important;    }
.alignR    { text-align:right !important;   }
.alignC    { text-align:center !important;  }
.alignJ    { text-align:justify !important; }

.small     { font-size:.75em; }
.copyright,
span.small { font-size:12px; font-weight:normal; }
.copyright { text-align:center; }


/* --- others --- */
.pc_blk  { display:block !important; }
.sp_blk  { display:none !important;  }
.tab_blk { display:none !important;  }

.pc_inline { display:inline !important; }
.sp_inline { display:none !important;   }

.flex_box.pc_blk { display:flex !important; }
.flex_box.sp_blk { display:none !important; }

.text_indent { text-indent:-1em; padding-left:1em; }

/* mar & pad */
.marXXL_T { margin-top:120px !important; }
.marXL_T  { margin-top:100px !important; }
.marL_T   { margin-top: 80px !important; }
.marM_T   { margin-top: 60px !important; }
.marS_T   { margin-top: 40px !important; }
.marXS_T  { margin-top: 30px !important; }
.marXXS_T { margin-top: 20px !important; }
.mar0_T   { margin-top:  0px !important; }

.marXXL_B { margin-bottom:120px !important; }
.marXL_B  { margin-bottom:100px !important; }
.marL_B   { margin-bottom: 80px !important; }
.marM_B   { margin-bottom: 60px !important; }
.marS_B   { margin-bottom: 40px !important; }
.marXS_B  { margin-bottom: 30px !important; }
.marXXS_B { margin-bottom: 20px !important; }
.mar0_B   { margin-bottom:  0px !important; }

/* pad */
.padXXL_T { padding-top:120px !important; }
.padXL_T  { padding-top:100px !important; }
.padL_T   { padding-top: 80px !important; }
.padM_T   { padding-top: 60px !important; }
.padS_T   { padding-top: 40px !important; }
.padXS_T  { padding-top: 30px !important; }
.padXXS_T { padding-top: 20px !important; }

.padXXL_B { padding-bottom:120px !important; }
.padXL_B  { padding-bottom:100px !important; }
.padL_B   { padding-bottom: 80px !important; }
.padM_B   { padding-bottom: 60px !important; }
.padS_B   { padding-bottom: 40px !important; }
.padXS_B  { padding-bottom: 30px !important; }
.padXXS_B { padding-bottom: 20px !important; }

/* ----- vw変換 ----- */
.marXXL_T { margin-top:min(12vw,120px) !important; }
.marXL_T  { margin-top:min(10vw,100px) !important; }
.marL_T   { margin-top: min(8vw,80px) !important; }
.marM_T   { margin-top: min(6vw,60px) !important; }
.marS_T   { margin-top: min(4vw,40px) !important; }
.marXS_T  { margin-top: min(3vw,30px) !important; }
.marXXS_T { margin-top: min(2vw,20px) !important; }

.marXXL_B { margin-bottom:min(12vw,120px) !important; }
.marXL_B  { margin-bottom:min(10vw,100px) !important; }
.marL_B   { margin-bottom: min(8vw,80px) !important; }
.marM_B   { margin-bottom: min(6vw,60px) !important; }
.marS_B   { margin-bottom: min(4vw,40px) !important; }
.marXS_B  { margin-bottom: min(3vw,30px) !important; }
.marXXS_B { margin-bottom: min(2vw,20px) !important; }

/* pad */
.padXXL_T { padding-top:min(12vw,120px) !important; }
.padXL_T  { padding-top:min(10vw,100px) !important; }
.padL_T   { padding-top: min(8vw,80px) !important; }
.padM_T   { padding-top: min(6vw,60px) !important; }
.padS_T   { padding-top: min(4vw,40px) !important; }
.padXS_T  { padding-top: min(3vw,30px) !important; }
.padXXS_T { padding-top: min(2vw,20px) !important; }
.pad0_T   { padding-top: 0px !important; }

.padXXL_B { padding-bottom:min(12vw,120px) !important; }
.padXL_B  { padding-bottom:min(10vw,100px) !important; }
.padL_B   { padding-bottom: min(8vw,80px) !important; }
.padM_B   { padding-bottom: min(6vw,60px) !important; }
.padS_B   { padding-bottom: min(4vw,40px) !important; }
.padXS_B  { padding-bottom: min(3vw,30px) !important; }
.padXXS_B { padding-bottom: min(2vw,20px) !important; }
.pad0_B   { padding-bottom: 0px !important; }

/* img */
img { width:100%; height:auto; }

/* table */
.table_wrap {
	overflow-x: scroll;
}
.table_wrap table {
	min-width: 500px;
}
tr,
th,
td {
	padding: 1em;
	border:  1px solid;
}

/* btn */
.btn_sankaku {
	width: fit-content;
	display: block;
	background-color: #fff;
	background-image: linear-gradient(172deg, rgba(255, 255, 255, 1) 50%, rgba(242, 242, 240, 1) 50%);
	margin: auto;
	box-shadow: 0px 0px 7px 0px #fff;
}
.btn_sankaku a,
.btn_sankaku div,
.btn_sankaku button,
.btn_sankaku input,
.btn_sankaku .uk-modal-close {
	width: 50vw;
	max-width: 500px;
	font-size: 28px;
	font-size: clamp(20px,2.5vw,28px);
	font-family: zen-kaku-gothic-new, "Zen Kaku Gothic New", sans-serif;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	text-align: center;
	padding: .75em 1.5em;
	color: #aa8c46;
}


.btn_sankaku a:after,
.btn_sankaku div:after,
.btn_sankaku button:after,
.btn_sankaku input:after,
.btn_sankaku .uk-modal-close:after {
	content: "";
	width:  1em;
	height: 1em;
	display: block;
	background-image: url(../img/svg/sanakaku_brown.svg);
	background-position: left center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: .5em;
	transform: translateY(.05em);
}
.btn_sankaku .uk-modal-close {
	cursor: pointer;
}

/* 茶色いボタン */
.btn_sankaku.btn_brown {
	background-image: linear-gradient(172deg, rgba(180, 157, 103, 1) 50%, rgba(170, 140, 70, 1) 50%);
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,.3);
}
.btn_sankaku.btn_brown a,
.btn_sankaku.btn_brown .uk-modal-close,
.btn_sankaku.btn_red div,
.btn_sankaku.btn_red button,
.btn_sankaku.btn_red input {
	color: #fff;
}
.btn_sankaku.btn_brown a:after {
	margin-left:   2em;
	margin-right: -2em;
	background-image: url(../img/svg/sanakaku_white.svg);
}
.btn_sankaku.btn_brown .uk-modal-close:after {
	width:  .75em;
	height: .75em;
	background-image: url(../img/svg/batu_white.svg);
}
/* 白いボタン */
.btn_sankaku.btn_white {
	background-color: #fff;
	background-image: none;
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,.3);
}
.btn_sankaku.btn_white a {
	color: #96141e;
}
.btn_sankaku.btn_white a:after {
	background-image: url(../img/svg/sanakaku_red.svg);
}
.btn_sankaku.btn_red {
	background-image: linear-gradient(172deg, rgba(160, 43, 52, 1) 50%, rgba(150, 20, 30, 1) 50%);
	box-shadow: 0px 0px 7px 0px rgba(0,0,0,.3);
}
form .btn_sankaku div {
	padding: 0 !important;
}
form .btn_sankaku input {
	width:  100%;
	height: 100%;
	font-size: 28px;
	font-size: clamp(20px,2.5vw,28px);
	padding: .75em 1.5em;
	border: none !important;
}
form .btn_sankaku.btn_red div:after,
form .btn_sankaku.btn_red button:after {
	pointer-events: none;
	margin-left: 8em;
	position: absolute;
	background-image: url(../img/svg/sanakaku_white.svg);
}
form .btn_sankaku.btn_red .wpcf7-submit:disabled {
	background-image: linear-gradient(172deg, rgba(180, 180, 180, 1) 50%, rgba(170, 170, 170, 1) 50%);
}

/* 戻るボタン */
form .btn_sankaku.btn_gray {
	background-color: #bebebe;
	background-image: none;
}
form .btn_sankaku.btn_gray div,
form .btn_sankaku.btn_gray a {
	color: #fff;
}
form .btn_sankaku.btn_gray div:after,
form .btn_sankaku.btn_gray a:after   {
	content: none;
}
/* マルチステップフォーム ステップ2 */
#form_tocheck,
#form_tosend {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
#form_tocheck > div,
#form_tosend > div   {
	width: calc(100%/2 - 20px);
}
#form_tocheck > div > *,
#form_tosend > div > * {
	width: 100%;
}
#form_tocheck button,
#form_tocheck button:after,
#form_tosend button,
#form_tosend button:after {
	content: none;
}
#form_tocheck .btn_sankaku,
#form_submit  .btn_sankaku {
	box-shadow:  none;
}

/* form確認画面のボタンflex */
#form_submit.flex_box {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
}
#form_submit.flex_box > div {
	width: calc(50% - 10px);
}
#form_submit.flex_box div div {
	width: 100%;
}

/* 実績ページの「トップ絵へ戻る」ボタン */
.totop_jisseki {
	background-image: none !important;
	background-color: rgba(170, 140, 70, 1);
	box-shadow: none !important;
}
.totop_jisseki  a {
	width: 40vw;
	max-width: 400px;
	font-size: clamp(18px,2vw,22px);
}



/* ===== header menu ===== */
header {
	width: 100%;
	height: 6vw;
	max-height: 80px;
	min-height: 60px;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top:  0;
	left: 0;
	background-color: #fff;
	box-shadow: 0px 0px 3px 0px rgba(0,0,0,.15);
	z-index: 1000;
}
main {
	margin-top: 80px;
	margin-top: clamp(60px,6vw,80px);
}
/* 中身 */
header div,
.header_tel,
.header_btn {
	height: 100%;
}
header img {
	height: 100%;
	object-fit: contain;
}
.header_flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	padding-left: min(1.5vw,15px);
}
.header_logo {
	width: 12%;
	max-width: 75px;
	margin-right: min(1.5vw,20px);
}
.header_cont {
	font-size: clamp(9px,1vw,14px) !important;
	line-height: 1.7;
	letter-spacing: .1em;
}
.header_btn {
	width: 20%;
	max-width: 280px;
	margin-left: 1.5%;
	background-color: #96141e;
}
.header_tel {
	width: 20%;
	max-width: 250px;
	min-width: 170px;
	margin-left: auto;
}


/* ===== footer menu ===== */
.footer_wrap {
	padding: 60px;
	padding: min(6vw,60px);
	background-color: #333;
}
.footer_flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
}
.footer_logo {
	width: 25%;
	max-width: 250px;
	width: 15%;
	max-width: 150px;
}
/* munu */
footer ul {
	width: 75%;
	max-width: 600px;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-end;
	margin-left: 3%;
}
footer li {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
}
footer li:after {
	content: "";
	width:  1px;
	height: 1em;
	display: block;
	margin: 0 .85em;
	background-color: #fff;
}
footer li:last-of-type:after {
	content: none;
}
footer li a {
	font-size: 14px;
	font-size: clamp(12px,1.4vw,14px);
	color: #fff;
}
footer li a:hover {
	color: #fff;
}
/* 公式サイトへのリンク */
.fend_wrap .co_link {
	width: 100%;
	font-size: 14px;
	font-size: clamp(12px,1.4vw,14px);
	font-size: 12px;
	text-align: right;
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	color: #fff;
	margin-bottom: .5em;
}
.fend_wrap .co_link:after {
	content: "";
	width:  1.1em;
	height: 1.1em;
	display: block;
	background-image: url(../img/blank_icon.svg);
	margin-top:  -.05em;
	margin-left:  .25em;
	margin-right: .25em;
}

/* copyright */
.copyright {
	font-size: 12px;
	text-align: right;
	color: #fff;
}


/* ===== pagenation ===== */
.wp-pagenavi {
	width: fit-content;
	position: relative;
	margin: 20px auto 0;
}
.wp-pagenavi * {
	font-size: 12px;
}
.wp-pagenavi .page {
	display: inline-block;
	text-align: center;
	width: 32px;
	line-height: 30px;
	border: solid 1px #333;
	border-radius: 21px;
	margin: auto 6px;
	transition: 0.3s ease-out;
}
.wp-pagenavi .page:hover {
	background: #f6f6f6;
}
.wp-pagenavi .current {
	display: inline-block;
	text-align: center;
	width: 32px;
	line-height: 30px;
	color: #fff;
	background: #333;
	border: solid 1px #333;
	border-radius: 21px;
	margin: auto 6px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	position: absolute;
}
.wp-pagenavi .previouspostslink {
	left: -20px;
}
.wp-pagenavi .nextpostslink {
	right: -20px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
	line-height: 30px;
	margin: auto 8px;
	transition: 0.3s ease-out;
}
@media screen and (max-width:768px) {
	.wp-pagenavi * {
		font-size: 11px;
	}
	.wp-pagenavi .page {
		display: inline-block;
		text-align: center;
		width: 32px;
		line-height: 30px;
		border-radius: 21px;
		margin: auto 3px;
	}
	.wp-pagenavi .current {
		width: 32px;
		line-height: 30px;
		border: solid 1px #333;
		border-radius: 21px;
		margin: auto 3px;
	}
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink {
		position: absolute;
	}
	.wp-pagenavi .previouspostslink {
		left: -20px;
	}
	.wp-pagenavi .nextpostslink {
		right: -20px;
	}
	.wp-pagenavi .previouspostslink,
	.wp-pagenavi .nextpostslink,
	.wp-pagenavi .extend,
	.wp-pagenavi .first,
	.wp-pagenavi .last {
		line-height: 30px;
		margin: auto 4px;
	}
}


/* ===== form ===== */

/* --- contactform7 自動出力の非表示 --- */
/* エラー非表示 項目右出現 */
/* 
.wpcf7-not-valid-tip {
	display: none !important;
} */
.wpcf7-not-valid-tip {
	font-size: 14px !important;
	margin-top: .5em;
}
/* エラー非表示 フォーム上部出現 */
div.screen-reader-response{
	display: none !important;
}
/* ラジオボタンの文言（自動追加）非表示 */
form .wpcf7-list-item-label {
	display: none !important;
}
.radio_can_write span > div {
	display: block !important;
}
.wpcf7-form-control.wpcf7-radio,
.wpcf7-spinner {
	width: 0 !important;
	display: none !important;
}

/* フォーム下errorの調整 */
.wpcf7-response-output {
	line-height: 1.7;
	text-align: center;
	margin-top: 1em;
	color: #be3223;
}


/* --- レイアウト --- */
form div *,
form .form_cat span {
	font-size: clamp(14px,1.6vw,16px);
}


form div small {
	font-size: .8em;
	margin-left: .25em;
}
form h3,
form h4 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 30px;
	color: #aa8c46;
}
.form_borderT {
	border-top: 1px solid #bebebe;
}
.form_borderB {
	border-bottom: 1px solid #bebebe;
}
/* 必須 */
form .form_cat {
	width:     4em;
	min-width: 4em;
	text-align: center;
	font-weight: normal;
	margin-left: .75em;
}
form .form_cat span {
	width:  100%;
	height: 100%;
	display: inline-block;
	padding: .2em 0;
	color: #fff;
	background-color: #bebebe;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border: none !important;	
}


/* --- form項目 --- */
form dl {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
:focus-visible {
	outline: 0 !important;
}
.form_wrap > dl {
	padding: 30px 0;
}
.form_wrap > dl > dt {
	min-width: 9em;
	font-weight: bold;
	margin-right: 2em;
}
form dt,
form dd {
	font-weight: normal;
}
form dd {
	width: 100%;
}
form select,
form input,
form textarea {
	line-height: 1.5;
	padding: .25em .5em;
}
form input,
form textarea {
	width: 100%;
	border: 1px solid #bebebe;
}
form input::placeholder,
form textarea::placeholder {
	color: #bebebe;
}
form textarea {
	min-height: 200px;
	resize: vertical;
}

/* 物件の所在地 */
form dl dl:not(:first-of-type) {
	margin-top: 1em;
}
form dl dl dt {
	min-width: 4.4em;
	align-self: flex-start;
	margin-right: 1em;
}
form .form_bukken dd {
	width: 100%;
}
form .form_bukken select,
form .form_bukken input   {
	width: auto;
	min-width: 16em;
}
form .form_bukken input {
	min-width: 16.1em;
}
form .span_select {
	display: inline-flex;
	position: relative;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	border: 1px solid #bebebe;
}
form .span_select:after {
	content: "";
	width:  2em;
	height: 100%;
	display: block;
	position: absolute;
	right: 0;
	background-image: url(../img/svg/sanakaku_gray.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 50%;
	padding-left: .1em;
	border-left: none;
	border-left: 1px solid #bebebe;
	pointer-events: none;
}
form select {
	position: relative;
	padding-right: 2.4em;	
}
/* 郵便番号 */
.dd_postal input {
	width: 8.8em !important;
	min-width: inherit !important;
}
/* 郵便番号検索 */
.dd_postal {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
}
.dd_postal .wpcf7-not-valid-tip {
	display: none !important;
}
form .kensaku_btn {
	min-width: fit-content;
	margin-left: .5em;
}
form .kensaku_btn a {
	font-size: clamp(14px,1.6vw,16px);
	line-height: 1.5;
	display: inline-block;
	padding: .25em .75em;
	color: #fff;
	border: 1px solid #aa8c46;
	background-color: #aa8c46;
	transition: border-color .3s, background-color .3s;
}
form .kensaku_btn a:hover {
	border-color:     #b49d67;
	background-color: #b49d67;
}
form .kensaku_btn small {
	line-height: 1;
	display: inline-block;
	margin:  0 !important;
	padding: 0 !important;
	transform: translateY(-.1em);
}
/* 住所 */
form .flex_align_center {
	align-items: center;
}
.dd_yuubin input {
	width: 100% !important;
}
.ul_form_place {
	margin-bottom: 1em;
}
/* 住所選択肢「査定物件と同じ」場合、テキスト入力欄を入力不可能とする */
.text_disabled {
	background-color: #ddd;
}


/* ラジオボタン flex */
form dl ul {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
}
form [type="radio"] {
	width: auto;
	margin-right: .5em;
}
form dl label {
	display: flex;
	flex-wrap: nowrap;
	position: relative;
	align-items: center;
	justify-content: flex-start;
	margin-right: 1.5em;
	cursor: pointer;
}
form dl label span {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	line-height: 1;
}
form dl label [type="text"] {
	width: 11em;
}

/* ラジオボタン デザイン */
form label::before,
form label:has(:checked)::after {
    border-radius: 50%;
    content: '';
}
form label::before {
    width:  24px;
    height: 24px;
	min-width:  24px;
	min-height: 24px;
	margin-right: .5em;
    background-color: #fff;
	border: 1px solid #000;
}
form label:has(:checked)::after {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translate(-50%, -50%);
    width:  10px;
    height: 10px;
    background-color: #000;
}
label [type="radio"] {
    display: none;
}
/* セレクトボックスの入力エラー 位置調整 */
.span_select .wpcf7-not-valid-tip {
	position: absolute;
	left: inherit;
	bottom: inherit;
}
.form_wrap .span_select.has-error {
	margin-bottom: 1.5em;
}
select.wpcf7-validates-as-required.wpcf7-not-valid + .wpcf7-not-valid-tip {
	margin-top: .25em;
}


/* 承諾確認 チェックボックス デザイン */
#before_send_check {
	width: fit-content;
	margin-left:  auto;
	margin-right: auto;
}
#before_send_check label .wpcf7-list-item-label {
	display: inline-block !important;
	margin-top: -.25em;
}
#before_send_check label {
    display: flex;
    align-items: flex-start;
    gap: 0 .25em;
    position: relative;
    cursor: pointer;
}
#before_send_check label::before,
#before_send_check label:has(:checked)::after {
    content: '';
}
#before_send_check label::before {
    width:  20px;
    height: 20px;
	min-width:  20px;
	min-height: 20px;
    border-radius: 3px;
    background-color: #fff;
}
#before_send_check label:has(:checked)::before {
    background-color: #000;
	border-radius: 3px !important;
}
#before_send_check label:has(:checked)::after {
	position: absolute;
    top:  2px;
    left: 7px;
    transform: rotate(45deg);
    width: 6px;
    height: 12px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    border-radius: 0 !important;
    background-color: transparent;
}
#before_send_check input {
    display: none;
}
#before_send_check label a {
	text-decoration: underline;
	color: #96141e;
}



@media screen and (max-width:768px) {
	.page_link#link_blog {
		margin-top:  -30px;
		padding-top:  30px;
	}
	.page_link#link_contact {
		margin-top:  -30px;
		padding-top:  30px;
	}
	.page_link#link_faq {
		margin-top:  -30px;
		padding-top:  30px;
	}

	/* --- Container --- */
	.bg_wrap,
	.wrap {
		width: 100%;
		margin: auto;
		padding: 0 20px;
	}
	.wrap {
		max-width: 500px;
	}
	.bg_wrap > .wrap {
		padding-left:  0;
		padding-right: 0;
	}
	.bg_triangle,
	.bg_triangle_light,
	.bg_triangle_dark  {
		background-image: url(../img/bg01_sp.png);
	}
	.bg_triangle_light {
		background-image: url(../img/bg03_sp.png);
	}
	.bg_triangle_dark {
		background-image: url(../img/bg04_sp.png);
	}
	.bg_city {
		background-image:  url(../img/bg02_sp.png);
	}

	/* --- text --- */
	h2 {
		font-size: 24px;
	}
	h3 {
		font-size: 20px;
	}
	h3 span:first-of-type {
		display: inline-block;
		margin-right: 0;
	}
	h3 .small {
		width: 100%;
		line-height: 2;
		display: block;
	}


	ul,
	li,
	dl,
	dd,
	dt,
	a,
	p { font-size: 16px; }

	.p_big,
	.p_middle { font-size:16px; }

	.fb_normal-SP { font-weight:normal !important; }
	.fb_500-SP    { font-weight:500 !important;    }
	.fb_bold-SP   { font-weight:bold !important;   }
	.alignL-SP    { text-align:left !important;    }
	.alignR-SP    { text-align:right !important;   }
	.alignC-SP    { text-align:center !important;  }
	.alignJ-SP    { text-align:justify !important; }

	/* mar & pad */
	/* mar */
	.marXXL_T { margin-top:60px !important; }
	.marXL_T  { margin-top:50px !important; }
	.marL_T   { margin-top:40px !important; }
	.marM_T   { margin-top:30px !important; }
	.marS_T   { margin-top:20px !important; }
	.marXS_T  { margin-top:10px !important; }
	.mar0_T   { margin-top:0px !important;  }

	.marXXL_B { margin-bottom:60px !important; }
	.marXL_B  { margin-bottom:50px !important; }
	.marL_B   { margin-bottom:40px !important; }
	.marM_B   { margin-bottom:30px !important; }
	.marS_B   { margin-bottom:20px !important; }
	.marXS_B  { margin-bottom:10px !important; }
	.marXXS_B { margin-bottom:5px !important;  }

	.marXXL_T-SP { margin-top:60px !important; }
	.marXL_T-SP  { margin-top:50px !important; }
	.marL_T-SP   { margin-top:40px !important; }
	.marM_T-SP   { margin-top:30px !important; }
	.marS_T-SP   { margin-top:20px !important; }
	.marXS_T-SP  { margin-top:10px !important; }
	.mar0_T-SP   { margin-top: 0px !important; }

	.marXXL_B-SP { margin-bottom:60px !important; }
	.marXL_B-SP  { margin-bottom:50px !important; }
	.marL_B-SP   { margin-bottom:40px !important; }
	.marM_B-SP   { margin-bottom:30px !important; }
	.marS_B-SP   { margin-bottom:20px !important; }
	.marXS_B-SP  { margin-bottom:10px !important; }
	.mar0_B-SP   { margin-bottom: 0px !important; }

	/* pad */
	.padXXL_T { padding-top:60px !important; }
	.padXL_T  { padding-top:50px !important; }
	.padL_T   { padding-top:40px !important; }
	.padM_T   { padding-top:30px !important; }
	.padS_T   { padding-top:20px !important; }
	.padXS_T  { padding-top:10px !important; }

	.padXXL_B { padding-bottom:60px !important; }
	.padXL_B  { padding-bottom:50px !important; }
	.padL_B   { padding-bottom:40px !important; }
	.padM_B   { padding-bottom:30px !important; }
	.padS_B   { padding-bottom:20px !important; }
	.padXS_B  { padding-bottom:10px !important; }

	.padXXL_T-SP { padding-top:60px !important; }
	.padXL_T-SP  { padding-top:50px !important; }
	.padL_T-SP   { padding-top:40px !important; }
	.padM_T-SP   { padding-top:30px !important; }
	.padS_T-SP   { padding-top:20px !important; }
	.padXS_T-SP  { padding-top:10px !important; }
	.pad0_T-SP   { padding-top: 0px !important; }

	.padXXL_B-SP { padding-bottom:60px !important; }
	.padXL_B-SP  { padding-bottom:50px !important; }
	.padL_B-SP   { padding-bottom:40px !important; }
	.padM_B-SP   { padding-bottom:30px !important; }
	.padS_B-SP   { padding-bottom:20px !important; }
	.padXS_B-SP  { padding-bottom:10px !important; }
	.pad0_B-SP   { padding-bottom: 0px !important; }

	/* --- others --- */
	.pc_blk { display:none  !important; }
	.sp_blk { display:block !important; }

	.pc_inline { display:none  !important;  }
	.sp_inline { display:inline !important; }

	.flex_box.pc_blk { display:none !important; }
	.flex_box.sp_blk { display:flex !important; }

	.flex_box { flex-wrap:wrap; }

	/* --- btn --- */
	.btn_sankaku {
		width: 100%;
		max-width: 280px;
		box-shadow: 0px 0px 3px 0px #fff;
	}
	.btn_sankaku a,
	.btn_sankaku div,
	.btn_sankaku .uk-modal-close {
		width: 100%;
		max-width: inherit;
		font-size: 18px;
		padding: 15px;
	}
	/* 共通 formlinkBOXの白ボタン */
	.btn_sankaku.btn_white {
		width: 100%;
		box-shadow: 0px 0px 3px 0px rgba(0,0,0,.3);
	}
	/* 茶色いボタン */
	.btn_sankaku.btn_brown {
		box-shadow: 0px 0px 3px 0px rgba(0,0,0,.3);
	}


	/* ===== header menu ===== */
	header {
		height: 55px;
		max-height: inherit;
		min-height: inherit;
		justify-content: center;
	}
	main {
		margin-top: 55px;
	}
	.header_flex {
		width: 100%;
		justify-content: center;
		padding: 10px 15px;
	}
	.header_logo {
		width: 50%;
		max-width: 200px;
		width: auto;
		margin-right: 0;
	}
	/* bottom fixed */
	footer {
		margin-bottom: 65px;
	}
	.header_btn.sp_blk {
		width: 100%;
		max-width: inherit;
		height: 65px;
		display: flex !important;
		flex-wrap: nowrap;
		position: fixed;
		left:   0;
		bottom: 0;
		margin-left: auto;
		z-index: 500;
		background: transparent;
	}
	.header_btn a {
		width: 50%;
		height: 100%;
		display: inline-block;
	}
	.header_btn img {
		width:  100%;
		height: 100%;
		object-fit: contain;
		object-position: center;
	}
	.hsp_left {
		background-color: #000;
	}
	.hsp_right {
		background-color: #96141e;
	}
	/* ----- 電話番号のみ表示（マルチステップフォーム・入力確認） ----- */
	#tel_only .hsp_left {
		width: 100%;
	}


	/* ===== footer menu ===== */
	.footer_wrap {
		padding: 40px 20px;
	}
	.footer_logo {
		width: 80%;
		max-width: 250px;
		width: 30%;
		max-width: 100px;
		margin: auto;
		margin-bottom: min(5.333vw,30px);
	}
	.footer_flex {
		flex-wrap: wrap;
		flex-direction: column;
	}
	footer ul {
		width: 100%;
		max-width: 380px;
		justify-content: center;
		margin-left:  auto !important;
		margin-right: auto !important;
	}
	footer li  {
		margin-bottom: .5em;
	}
	footer li a {
		font-size: 14px;
	}
	/* 公式サイトへのリンク */
	.fend_wrap .co_link {
		justify-content: center;
	}
	/* コピーライト */
	.copyright {
		text-align: center;
	}


	/* ===== form ===== */
	form h3,
	form h4 {
		font-size: 16px;
		margin-bottom: 20px;
	}
	.form_wrap > dl {
		position: relative;
		flex-wrap: wrap;
	}
	.form_wrap > dl > dt:first-of-type {
		width: 100%;
		min-width: inherit;
	}
	.form_wrap > dl > dt {
		font-size: 14px !important;
		margin-right: 5em;
		margin-bottom: .85em;
	}
	form .form_cat {
		position: absolute;
		right: 0;
		transform: translateY(-.25em);
	}
	form .form_cat span {
		font-size: 12px !important;
		padding: .1em 0;
	}
	form dt,
	form dd,
	form dt *,
	form dd * {
		font-size: 14px;
	}
	form dd {
		width: 100%;
	}
	form .form_bukken dl {
		flex-wrap: wrap;
	}
	form .form_bukken dt {
		margin-bottom: .5em;
	}
	form .form_bukken input {
		width: 100%;
		min-width: inherit;
	}
	form dl label [type="text"] {
		width: 4em;
	}
	form dl label input[name="text_kakaku"],
	form dl label input[name="text_kankei"] {
		width: 10em;
	}
	form dl ul {
		flex-wrap: wrap;
	}
	form li {
		white-space: nowrap;
		margin-bottom: .5em;
	}
	.wpcf7-not-valid-tip {
		font-size: 12px !important;
	}
	.wpcf7-response-output {
		font-size: 14px;
		text-align: justify;
	}
	/* マルチステップフォーム */
	#form_tocheck,
	#form_tosend  {
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}
	#form_tocheck > div,
	#form_tosend > div   {
		width: 100%;
	}
	#form_tocheck > div,
	#form_tosend > div   {
		margin-bottom: 15px;
	}

}





