@charset "UTF-8";



/* Galleries --------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}
.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}
.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.gallery-columns-9 { grid-template-columns: repeat(9, 1fr); }
.gallery-caption { display: block; }

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility --------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments --------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}
.alignright {
	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}









:root{
	--site-header-height: 135rem;
	--yane-height: 25vw;
	--yane-overflow: -28vw;
	--yane-shift: -280rem;

	--text_color: #231815;
	--text_color2: #251e1c;
	--color1: #ededed;
	--color2: #d7224c;
	--color3: #a9a5a4;
	--color4: #49418e;
	--color5: #00a844;
	--color6: #4f4f4f;
	--color7: #767576;
	--color8: #06c755;
	--color_blog_cat_date: #767576;
}

@font-face {
	font-family: "sns_icon";
	src: url("fonts/sns_icon.woff") format("woff");
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

html{
	font-size: min(1px, 0.086vw);
	scroll-behavior: smooth;
	scroll-padding-top: 70px;
}

html[lang]{
	margin: 0 !important;
}
#wpadminbar{
	display: none;
	opacity: 0.5;
}

body{
	padding: 0;
	margin: 0;
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 400;
	font-size: 15rem;
	line-height: 1.8;
	word-break: break-all;
	overflow-wrap: anywhere;
	overflow-x: hidden;
	color: var(--text_color);
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%; /* iPhoneだけ文字が大きくなる現象を防ぐ */
	/*font-feature-settings: "palt";*/ /* 文字詰め（フォントにカーニング情報が含まれる場合） */

	/* iPhoneで上下のバーを抜いた高さ */
	height: -webkit-fill-available;
	height: -moz-available;
}
html[lang="en"] body{
	overflow-wrap: break-word;
}

::-webkit-input-placeholder{ color: #bbb; }
:-moz-placeholder          { color: #bbb; }
:-ms-input-placeholder     { color: #bbb; }

html.pc .sp{ display: none !important; }
html.sp .pc{ display: none !important; }

img{
	max-width: 100%;
	width: auto;
	height: auto;
	vertical-align: middle;
}
iframe{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

h1, h2{
	word-break: keep-all;
	white-space: nowrap;
	font-family: "garamond-premier-pro", serif;
	font-weight: 700;
	font-size: 67rem;
	letter-spacing: 0.05em;
	line-height: 1;
	margin: -0.13em 0 0;
}
h1{
	margin: 70rem 0 30rem;
}
:is(h1, h2) small{
	display: block;
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-size: 0.22em;
	letter-spacing: 0;
	margin: 0 0 0 5rem;
}
:is(h1, h2) span ~ small{
	margin: 10rem 0 0 5rem;
}

h3{
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-weight: 700;
	font-size: 28rem;
	line-height: 1.5;
}

hr{
	border: 0;
	border-top: 1px solid var(--color3);
	margin: 10rem 0;
}

p{
	text-align: justify;
}

b{
	display: inline-block;
	font-size: inherit;
	font-weight: inherit;
	font-style: inherit;
	font-family: inherit;
}

a,
a:link,
a:visited{
	color: inherit;
}
a:hover{

}

.ib{
	display: inline-block;
}

.button1,
.button2,
.button3,
.button4{
	text-decoration: none;
	font-weight: 700;
	font-size: 16rem;
	writing-mode: horizontal-tb;
	letter-spacing: 0;
	padding: 0.5em 2.1em;
	border: 1rem solid #fff;
	transition: 0.15s linear;
}
.button1:hover{
	background-color: rgba(255, 255, 255, 0.2);
}
body .button2{
	color: #fff;
	background-color: var(--color5);
	border: 0;
}
body .button2:hover{
	filter: brightness(1.1);
}
.button3{
	position: relative;
	text-align: center;
	font-size: 19rem;
	box-sizing: border-box;
	padding: 0.6em 3em;
	border: 1rem solid #000;
	transition: background-color 0.15s linear;
}
.button3:hover{
	background-color: var(--color1);
}
.button3::after {
  content: "";
  position: absolute;
  right: 25rem; /* 右端からの距離 */
  width: 16rem;  /* 矢印のサイズ */
  aspect-ratio: 1;

  /* 上と右だけに線を引いて「L」字を作る */
  border-top: 1rem solid #3d3431;
  border-right: 1rem solid #3d3431;

  /* 45度回転させて「>」にする */
  transform: translateY(-50%) rotate(45deg);

  /* 垂直中央に配置 */
  top: 50%;
}
body .button4{
	color: #fff;
	background-color: var(--text_color);
	padding: 0.2em 6em 0.3em;
	border: 0;
}
body .button4:hover{
	opacity: 0.7;
}

input[type="radio"] {
	/* 標準のラジオボタンを消す */
	appearance: none;
	-webkit-appearance: none;

	/* ボックスのサイズと枠線 */
	position: relative;
	top: 0.15em;
	width: 1em;
	aspect-ratio: 1;
	border: 1px solid #333;
	margin: 0 3rem 0 0;
	cursor: pointer;

	/* transitionで変化を滑らかに */
	transition: background 0.2s;
}

/* チェックが入った時の状態（背景に斜めのグラデーションを入れる） */
input[type="radio"]:checked {
	background: linear-gradient(45deg, #a2a2a2 50%, #333 50%, #a2a2a2 calc(50% + 1px));
}

@keyframes kara_a {
	0%   { opacity: 1; }
	50%  { opacity: 0; }
	100% { opacity: 1; }
}
a[href=""]{
/*	animation: kara_a 0.5s linear 0s infinite;*/
}

.guide_line1, .guide_line2, .guide_line3{
	pointer-events: none;
	position: fixed;
	height: 100vh;
	top: 0;
	left: 50%;
	border-left: 1px solid#0ff;
	z-index: 2000;
}
.guide_line2{
	left: calc(50% - 512px);
}
.guide_line3{
	left: calc(50% + 512px);
}

#page{
	min-height: 100vh;
}

.center_block{
	max-width: 94%;
	width: 1024px;
	margin: 0 auto;
}

/* パンくずリスト */
.breadcrumb{
	margin: 24rem 0 0;
}
.breadcrumb__list{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4rem 0;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 12rem;
	line-height: 1.5;
	color: var(--color7);
}
.breadcrumb__item{
	display: flex;
	align-items: center;
	min-width: 0;
}
.breadcrumb__item:not(:last-child)::after{
	content: "›";
	margin: 0 10rem;
	color: var(--color3);
}
.breadcrumb__item a{
	color: var(--color7);
	text-decoration: none;
}
.breadcrumb__item a:hover{
	color: var(--text_color);
	text-decoration: underline;
}
.breadcrumb__item span[aria-current]{
	color: var(--text_color);
	font-weight: 700;
}

.site-header-height{
	height: var(--site-header-height);
	background-color: var(--color1);
}
.site-header{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1100;
}
.site-header.nav_open{
	z-index: 3000;
}
.site-header-1{
	--shrink: 75rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	padding: 5rem 3vw;
	height: var(--site-header-height);
	background-color: var(--color1);
	border-bottom: 0.5px solid transparent;
	transition: height 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
.site-header-1.cocoro_home,
.site-header-1  .site-branding :is(.cocoro_home_logo, .veil_home_logo){
	display: none;
}
.site-header-1.is-shrink{
	height: calc(var(--site-header-height) - var(--shrink));
}
.site-header.nav_open .site-header-1{
	background-color: #fff;
	border-bottom: 0.5px solid var(--color3);
}
.site-header-1 .nav_knob{
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10rem;
	margin: 0 29rem 0;
	transition: opacity 0.2s linear;
}
.site-header-1 .nav_knob img{
	width: 28rem;
}
.site-header.nav_open .site-header-1 .nav_knob{
	opacity: 0;
}
.site-header-1 .site-branding{
	font-size: 15rem;
	margin: 0;
}
.site-header-1 .site-branding img{
	height: 98rem;
	transition: 0.3s ease-in-out;
}
.site-header-1.is-shrink .site-branding img{
	height: 47rem;
}
.site-header-1 .site-header-sns{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 25rem;
	min-width: 119rem;
	font-family: sns_icon;
	font-size: 23rem;
	transition: opacity 0.2s linear;
}
.site-header.nav_open .site-header-1 .site-header-sns{
	opacity: 0;
	pointer-events: none;
}
.site-header-1 .site-header-sns a{
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
}
.site-header-1 .site-header-sns a[href=""]{
	display: none;
}
.site-header-1 .site-header-sns a img{
	width: 22rem;
}

#site-navigation{
	position: fixed;
	display: flex;
	flex-direction: column;
	background-color: #fff;
	width: 100%;

	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s linear;
}
.site-header.nav_open #site-navigation{
	opacity: 1;
	pointer-events: auto;
}
.site-navigation-1,
.site-navigation-2{
	display: flex;
	flex-direction: column;
}
#site-navigation :is(.site-navigation-1, .site-navigation-2) div{
	display: flex;
	justify-content: center;
	align-items: center;
	border-bottom: 0.5px solid var(--color3);
	box-sizing: border-box;
	min-height: 50rem;
	padding: 7rem 0;
}
:is(.site-navigation-1, .site-navigation-2) a{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 20rem;
	text-decoration: none;
	font-family: "garamond-premier-pro", serif;
	font-weight: 700;
	font-size: 18rem;
	/*padding: 10rem 0;*/
	transition: opacity 0.2s linear;
}
:is(.site-navigation-1, .site-navigation-2) a:hover{
	opacity: 0.4;
}
.site-navigation-1 a small{
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-size: 0.61em;
	margin: 0rem 0 0;
}
.site-navigation-2{
	height: 80vh;
}
.site-nav-c img{
	width: 216rem;
}
.site-nav-v img{
	width: 159rem;
}
#site-navigation div.site-nav-sns{
	align-items: start;
	gap: 70rem;
	padding: 15rem 0;
	border-bottom: 0;
}
#site-navigation div.site-nav-sns a{
	font-family: sns_icon;
	font-weight: normal;
	font-size: 36rem;
}
#site-navigation div.site-nav-sns a[href=""]{
	display: none;
}
#site-navigation .site-navigation-2 .site-nav-k{
	display: none;
}
.site-nav-k img{
	width: 45rem;
}


.site-footer{
	position: sticky;
	top: 100vh;

	font-size: 12rem;
	color: #fff;
	background-color: var(--color6);
	padding: 80rem 0 30rem;
	margin: 150rem 0 0;
}
.site-footer a{
	text-decoration: none;
}
.site-footer .footer1{
	display: flex;
	justify-content: space-between;
	padding: 0 50rem;
}
.site-footer .footer1 .left{
	display: flex;
	gap: 50rem;
}
.site-footer .footer1 .left .logo{
	margin: 5rem 0 0;
}
.site-footer .footer1l_2{
	letter-spacing: 0.05em;
}
.site-footer .footer1l_2 .jusyo{
	line-height: 1.3;
	margin: 0.3em 0;
}
.site-footer .footer1r_1{
	display: flex;
	gap: 30rem;
	font-family: "garamond-premier-pro", serif;
	font-weight: 500;
	margin: 0 0 5rem;
}
.site-footer .footer1r_1 .fudousan{
	position: relative;
	top: -0.2em;
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-weight: 500;
}
.site-footer .footer1r_2{
	display: flex;
	gap: 30rem;
}
.site-footer .ks_holding2{
	position: relative;
	top: -4rem;
}
.site-footer .cocoro_home2{
	width: 102rem;
}
.site-footer .veil_home2{
	width: 75rem;
}
.site-footer .footer1r_3{
	display: flex;
	gap: 30rem;
	font-weight: 500;
	font-size: 11rem;
	margin: 13rem 0 13rem;
}
.site-footer .footer_sns{
	display: flex;
	gap: 25rem;
	font-family: sns_icon;
	font-size: 23rem;
}
.site-footer .footer_sns a[href=""]{
	display: none;
}
.site-footer .coryright{
	text-align: center;
	font-weight: 700;
	margin: 50rem 0 0;
}

.anchor_target{
	position: relative;
	top: -100rem;
}

table.type1{
	border-collapse: collapse;
	border-top: 1px solid #c2c2c2;
	width: 100%;
}
table.type1 :is(th, td){
	text-align: left;
	border-bottom: 1px solid #c2c2c2;
	padding: 15rem 30rem;
	background-clip: padding-box; /* Firefox対策。border が表示されるようにする。 */
}
table.type1 th{
	white-space: nowrap;
	font-weight: 500;
	padding-left: 60rem;
}
table.type1 td{
	font-weight: 400;
	width: 80%;
}






/* トップ *************************************************************************** */

body.home .img_1{
	width: 100%;
}

body.home .top-page-nav{
	margin: 20rem 0;
}
body.home .top-page-nav .site-navigation-1{
	flex-direction: row;
	justify-content: space-between;
}
body.home .top-page-nav .site-navigation-1 a{
	flex-direction: column;
	gap: 0;
}

body.home #news{
	display: flex;
	justify-content: space-between;
	gap: 60rem;
	margin: 90rem 0;
}
body.home #news h2{
	/*line-height: 1;*/
	/*margin: -0.13em 0 0;*/
}
body.home #news h2 small{
	/*margin: 10rem 0 0 5rem;*/
}
body.home #news .right{
	flex-grow: 1;
}
body.home #news .list{
	border-top: 1px solid var(--color3);
}
body.home #news .row{
	display: flex;
	text-decoration: none;
	border-bottom: 1px solid var(--color3);
	padding: 13rem 13rem;
	transition: background-color 0.2s linear;
}
body.home #news .row:hover{
	background-color: var(--color1);
}
body.home #news .row .date{
	min-width: 150rem;
	font-size: 15rem;
	font-weight: 500;
}
body.home #news .row .title{
}

body.home #concept{
	padding-top: 1px;
}
body.home #concept .inner{
	--margin-top: 262rem;
	margin: var(--margin-top) 0 0;
	padding: 1px 0 0;
	background-color: var(--color1);
}

body.home #concept .concept_1{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin: calc(var(--margin-top) * -1) 0 40rem;
}
body.home #concept .concept_1 .h2{
	position: relative;
	z-index: 200;
	padding: 0 0 50rem;
}
body.home #concept .concept_1 .img_2{
	text-align: right;
	margin: 0 0 0 -83rem;
}
body.home #concept .concept_1 .img_2 img{
	width: 780rem;
}
body.home #concept .concept_2{
	background-color: #fff;
	padding-bottom: calc(var(--yane-height) + 50rem);
}

.row_type1{
	display: flex;
	/*justify-content: space-between;*/
	gap: 80rem;
	padding: 60rem 60rem;
	font-size: 19rem;
	line-height: 2.1;
}
.row_type1 .left{
	display: flex;
	/*justify-content: center;*/
	align-items: center;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	-webkit-font-feature-settings: "vert";
	font-feature-settings: "vert";
	font-weight: 700;
	font-size: 37rem;
	letter-spacing: 0.05em;
	line-height: 1.8;
}
/* Google Chromeの場合 */
_:lang(x)::-internal-media-controls-overlay-cast-button, .row_type1 .left{
	letter-spacing: -0.37em;
}
.row_type1 .left img{
	padding: 0 15rem;
}
.row_type1 h3{
	margin: 0rem 0 0;
}
.row_type1{
}

body.home #cocoro_home{
	color: #fff;
}
body.home #cocoro_home .yane{
	overflow: hidden;
	margin: calc(var(--yane-height) * -1) 0 -1px;
}
body.home #cocoro_home .yane:before{
	content: "";
	position: relative;
	left: var(--yane-shift);
	display: block;
	background-color: var(--color2);
	height: var(--yane-height);
	margin: 0 var(--yane-overflow) 0;
	clip-path: polygon(0% 100%, 50% 0%, 100% 100%);
}
body.home #cocoro_home .body{
	background-color: var(--color2);
	padding: 1px 0 0;
}
body.home #cocoro_home .body .inner{
	position: relative;
	margin: calc(var(--yane-height) * -1) 0 0;
	z-index: 200;
}
body.home #cocoro_home .cocoro_home_1{
	display: flex;
	align-items: flex-end;
	gap: 50rem;
	margin: 0 0 50rem;
}
body.home #cocoro_home .cocoro_home_1 h2 small{
	font-size: 0.24em;
	letter-spacing: 0.15em;
}
body.home #cocoro_home .cocoro_home_1 .img3_1{
	width: 460rem;
}
body.home #cocoro_home .cocoro_home_1 .img3_2{
	width: 438rem;
}
body.home #cocoro_home .cocoro_home_2{
	margin: 30rem 0;
}
body.home #cocoro_home .cocoro_home_2 .left .bottom{
	margin: 60rem 0 0;
}
.cocoro_home_3{
	text-align: center;
	color: var(--text_color);
	background-color: #fff;
	padding: 60rem 60rem calc(var(--yane-height) + 50rem);
	margin: 30rem 0;
}
.cocoro_home_3_1_1{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: 50rem;
	margin: 60rem 0 ;
}
.cocoro_home_3_1_1 h3{
	text-align: left;
	font-size: 37rem;
	color: var(--color4);
	margin: 0 0 -17rem;
}
.cocoro_home_3 p{
	text-align: center;
	font-size: 19rem;
	line-height: 2.1;
}

.yane_clip{
	position: relative;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	clip-path: polygon(calc(50% - 78000px) 25000px, calc(50% + var(--yane-shift)) 0%, calc(50% + 78000px) 25000px);
	margin: calc(var(--yane-height) * -1 - 30rem) 0 0;
	padding: 200rem 0 0;
	z-index: 300;
}
body.home #veil_home{
	background-image: url(img/top/4_1.webp);
	padding-bottom: 450rem;
}
body.home #veil_home h2{
	color: var(--color5);
}
body.home #veil_home h2 small{
	font-size: 0.24em;
	letter-spacing: 0.15em;
}
body.home #veil_home h2 img{
	width: 340rem;
}
body.home #veil_home .veil_home_1 h3{
	font-size: 43rem;
	line-height: 1.8;
}
body.home #veil_home .veil_home_1 .right{
	padding: 20rem 0 0;
}
body.home #veil_home .veil_home_1_2_1{
	margin: 20rem 0 0;
}

body.home #veil_home_archive{
	padding-bottom: 50rem;
}
body.home #veil_home_archive .button4{
	color: var(--color5);
	background-color: #fff;
}

#company{
	margin: 80rem 0;
}
#company h2{
	margin: 0 0 40rem 0;
}

body.home .view_more{
	text-align: center;
}

.post_list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 50rem 0;
	margin: 30rem 0 20rem;
}
.post_list .box{
	flex-basis: 30%;
}
.post_list .box.dummy{
	margin: 0;
}
.post_list .box a.frame{
	--color: rgba(255, 255, 255, 0);
	display: block;
	text-decoration: none;
	transition: 0.15s linear;
	box-shadow: 0 0 0 10rem var(--color);
}
.post_list .box a.frame:hover{
	--color: rgba(0, 0, 0, 0.07);
	background-color: var(--color);
	box-shadow: 0 0 0 10rem var(--color);
}
.post_list .box .image{
	aspect-ratio: 500 / 378;
	overflow: hidden;
}
.post_list .box .image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50%;
	display: block;
}
.category_date{
	display: flex;
	flex-wrap: wrap;
	gap: 0 5rem;
	font-weight: 700;
	font-size: 12rem;
	color: var(--color_blog_cat_date);
	margin: 8rem 0 0;
}
.category_date .category{
}
.category_date .date{
	white-space: nowrap;
	font-weight: 300;
}
.post_list .box .title{
	font-weight: 500;
	font-size: 18rem;
	line-height: 1.4;
	margin: 10rem 0 3rem;
}
.post_list .box .area_sqm{
	font-weight: 500;
	font-size: 18rem;
	line-height: 1.4;
}
.post_list .box .more{
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: #aaa;
	font-weight: 700;
	font-size: 15rem;

	@media (-webkit-min-device-pixel-ratio: 2){
		text-decoration-thickness: 0.5px;
		text-decoration-color: #000;
	}
}

.link_type1{
	font-family: "roboto", sans-serif;
	font-weight: 700;
	font-size: 20rem;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.8em;
}

.line_mail{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 40rem;
	margin: 100rem 0;
}
.line_mail .button3{
	min-width: 350rem;
}





/* Blog *************************************************************************** */

.category_block{
	display: flex;
	align-items: center;
	gap: 20rem;
	margin: 0 0 65rem;
}

.category_block .title{
	font-family: "roboto", sans-serif;
	font-weight: 700;
	font-size: 16rem;
	white-space: nowrap;
	color: #fff;
	background-color: #000;
	padding: 0 20rem;
}
.category_block .category_list{
	display: flex;
	flex-wrap: wrap;
	gap: 10rem 25rem;
	font-weight: 700;
	font-size: 18rem;
}
.category_block .category_list label{
	cursor: pointer;
}
.category_block .category_list input[type="radio"]{
	width: 18rem;
}

/* ページネーション全体 */
.pagination {
	user-select: none;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10rem; /* 数字間のスペース */
	margin: 20rem 0 150rem;
}

/* 数字とPREV/NEXTの共通スタイル */
.pagination .page-numbers {
	display: flex;
	justify-content: center;
	align-items: center;
	white-space: nowrap;
	font-weight: 700;
	width: 35rem;
	aspect-ratio: 1;
	text-decoration: none;
	color: #fff;            /* 文字を白に */
	background-color: #000; /* 背景を黒に */
	transition: opacity 0.15s linear;
}
.pagination .page-numbers:hover{
	opacity: 0.5;
}

/* PREV / NEXT の文字デザイン（枠をつけない場合） */
.pagination :is(.prev, .next, .dots) {
	background-color: transparent !important;
	color: #000;
	width: auto;
	aspect-ratio: none;
}
.pagination .prev{
	margin: 0 15rem 0 0;
}
.pagination .next{
	margin: 0 0 0 15rem;
}

/* 現在のページ（必要であれば個別に装飾） */
.pagination .page-numbers.current {
	color: #000;
	background-color: transparent; /* 現在地の色を変える場合 */
}
.pagination .page-numbers:is(.current, .dots):hover {
	opacity: 1;
}


body.single article{
	padding: 70rem 0 30rem 0;
	border-bottom: 1px solid var(--color3);
}
body.single article .category_date{
	font-size: 13rem;
	margin: 8rem 0 0;
}
body.single article .category_date a{
	text-decoration: none;
}
body.single article .category_date a:hover{
	text-decoration: underline;
}
body.single article .category_date .date{
	display: block;
	font-weight: 700;
}
body.single article .title{
	font-weight: 500;
	font-size: 36rem;
	line-height: 1.5;
	margin: 30rem 0;
	white-space: normal; /* グローバル h1,h2 の nowrap を解除して折り返す */
	word-break: normal;
}
body.single article .eyecatch{
	aspect-ratio: 16 / 8;
	margin: 30rem 0;
	overflow: hidden;
}
body.single article .eyecatch img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50%;
}
body.single article .content{
	font-weight: 500;
	font-size: 16rem;
}

body.post-template-default article .content :is(h1,h2,h3,h4,h5,h6){
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 400;
	line-height: 1.4em;
	margin: 1.0em 0 0.5em;
	white-space: normal;
}
body.post-template-default article .content h1{ font-size: 36rem; }
body.post-template-default article .content h2{ font-size: 30rem; }
body.post-template-default article .content h3{ font-size: 24rem; }
body.post-template-default article .content h4{ font-size: 20rem; }
body.post-template-default article .content h5{ font-size: 17rem; }
body.post-template-default article .content h6{ font-size: 14rem; }

body.post-template-default article .content p{
	margin: 0.2em 0 1.0em;
}

body.single article .content img{
	width: 100%;
}


/* =========================================================================
   記事ページ（投稿 post）専用デザイン
   - スコープは body.single-post のみ。
   - 施工事例(cocoro_home_works)・物件(veil_home_property)は single.php を共用するが
     single-post クラスが付かないため、ここで定義する装飾は適用されない。
   ========================================================================= */

body.single-post article .content{
	line-height: 2;
	letter-spacing: 0.02em;
	color: var(--text_color);
}

/* 見出し（h2: 下線＋アクセント / h3: 左ライン） */
body.single-post article .content h2{
	position: relative;
	font-weight: 700;
	padding: 0 0 14rem;
	margin: 2.4em 0 1em;
	border-bottom: 1px solid var(--color3);
}
body.single-post article .content h2::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 64rem;
	height: 3rem;
	background-color: var(--color2);
}
body.single-post article .content h3{
	font-weight: 700;
	padding-left: 16rem;
	margin: 2em 0 0.8em;
	border-left: 4rem solid var(--color2);
}
body.single-post article .content h4{
	font-weight: 700;
	margin: 1.8em 0 0.6em;
}

/* 本文・リンク・強調 */
body.single-post article .content p{
	margin: 0 0 1.6em;
}
body.single-post article .content a{
	color: var(--color4);
	text-decoration: underline;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
	overflow-wrap: break-word;
}
body.single-post article .content a:hover{
	color: var(--color2);
}
body.single-post article .content strong{
	font-weight: 700;
	background: linear-gradient(transparent 62%, rgba(215, 34, 76, 0.18) 62%);
}

/* リスト（ul: ドット / ol: 連番バッジ） */
body.single-post article .content :is(ul, ol){
	margin: 0 0 1.6em;
	padding-left: 0;
	list-style: none;
}
body.single-post article .content ul > li{
	position: relative;
	padding-left: 24rem;
	margin: 0 0 0.6em;
}
body.single-post article .content ul > li::before{
	content: "";
	position: absolute;
	left: 4rem;
	top: 0.7em;
	width: 8rem;
	height: 8rem;
	border-radius: 50%;
	background-color: var(--color2);
}
body.single-post article .content ol{
	counter-reset: ksh-ol;
}
body.single-post article .content ol > li{
	position: relative;
	padding-left: 34rem;
	margin: 0 0 0.6em;
	counter-increment: ksh-ol;
}
body.single-post article .content ol > li::before{
	content: counter(ksh-ol);
	position: absolute;
	left: 0;
	top: 0.2em;
	width: 22rem;
	height: 22rem;
	font-size: 13rem;
	font-weight: 700;
	line-height: 22rem;
	text-align: center;
	color: #fff;
	background-color: var(--color2);
	border-radius: 50%;
}

/* 引用 */
body.single-post article .content blockquote{
	margin: 1.8em 0;
	padding: 18rem 24rem;
	background-color: var(--color1);
	border-left: 4rem solid var(--color3);
	color: var(--color6);
}
body.single-post article .content blockquote p:last-child{
	margin-bottom: 0;
}

/* 画像・キャプション */
body.single-post article .content figure{
	margin: 1.8em 0;
}
body.single-post article .content figcaption{
	margin-top: 8rem;
	font-size: 13rem;
	color: var(--color7);
	text-align: center;
}

/* テーブル */
body.single-post article .content table{
	width: 100%;
	border-collapse: collapse;
	margin: 1.8em 0;
	font-size: 15rem;
}
body.single-post article .content :is(th, td){
	padding: 12rem 16rem;
	border: 1px solid var(--color3);
	text-align: left;
	vertical-align: top;
}
body.single-post article .content th{
	background-color: var(--color1);
	font-weight: 700;
	white-space: normal;
}

/* 区切り線 */
body.single-post article .content hr{
	border: 0;
	border-top: 1px solid var(--color3);
	margin: 2.4em 0;
}

/* 記事下部「よくある質問」（FAQ）。投稿のみ表示 */
body.single-post .post-faq{
	margin: 60rem 0 10rem;
}
body.single-post .post-faq__title{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 700;
	font-size: 28rem;
	line-height: 1.4;
	white-space: normal;
	margin: 0 0 24rem;
	padding: 0 0 14rem;
	border-bottom: 2px solid var(--text_color);
}
body.single-post .post-faq__item{
	padding: 22rem 0;
	border-bottom: 1px solid var(--color3);
}
body.single-post .post-faq__item:last-child{
	border-bottom: 0;
}
body.single-post .post-faq__q,
body.single-post .post-faq__a{
	position: relative;
	padding-left: 42rem;
}
body.single-post .post-faq__q{
	font-weight: 700;
	font-size: 17rem;
	line-height: 1.7;
}
body.single-post .post-faq__a{
	margin: 14rem 0 0;
	font-size: 16rem;
	line-height: 1.9;
	color: var(--color6);
}
body.single-post .post-faq__q::before,
body.single-post .post-faq__a::before{
	content: "";
	position: absolute;
	left: 0;
	top: 1rem;
	width: 28rem;
	height: 28rem;
	line-height: 28rem;
	text-align: center;
	font-family: roboto, sans-serif;
	font-weight: 700;
	font-size: 15rem;
	border-radius: 50%;
}
body.single-post .post-faq__q::before{
	content: "Q";
	color: #fff;
	background-color: var(--color2);
}
body.single-post .post-faq__a::before{
	content: "A";
	color: var(--color2);
	background-color: var(--color1);
}
body.single-post .post-faq__a a{
	color: var(--color4);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}
body.single-post .post-faq__a a:hover{
	color: var(--color2);
}


/* =========================================================================
   記事ページ サイドバー付き2カラム（投稿 post のみ）
   ========================================================================= */

body.single-post .single-layout{
	display: flex;
	align-items: flex-start;
	gap: 56rem;
}
body.single-post .single-main{
	flex: 1 1 auto;
	min-width: 0; /* flex 子の折り返し・はみ出し対策 */
}
body.single-post .single-side{
	flex: 0 0 300rem;
	width: 300rem;
	padding-top: 70rem; /* 本文の上パディングと頭を揃える */
	position: sticky;
	top: calc(var(--site-header-height) + 20rem);
}

/* ウィジェット共通 */
body.single-post .side-widget{
	margin: 0 0 44rem;
}
body.single-post .side-widget__title{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 700;
	font-size: 18rem;
	line-height: 1.4;
	white-space: normal;
	margin: 0 0 16rem;
	padding: 0 0 10rem;
	border-bottom: 1px solid var(--color3);
}

/* カテゴリー */
body.single-post .side-cats{
	list-style: none;
	margin: 0;
	padding: 0;
}
body.single-post .side-cats li{
	margin: 0;
}
body.single-post .side-cats a{
	position: relative;
	display: block;
	padding: 11rem 4rem 11rem 18rem;
	font-size: 15rem;
	font-weight: 500;
	text-decoration: none;
	color: var(--text_color);
	border-bottom: 1px solid var(--color1);
	transition: color 0.15s linear, padding 0.15s linear;
}
body.single-post .side-cats li:last-child a{
	border-bottom: 0;
}
body.single-post .side-cats a::before{
	content: "›";
	position: absolute;
	left: 2rem;
	color: var(--color2);
	font-weight: 700;
}
body.single-post .side-cats a:hover{
	color: var(--color2);
	padding-left: 24rem;
}
body.single-post .side-cats .children{
	list-style: none;
	margin: 0 0 0 14rem;
	padding: 0;
}

/* ブランド回遊カード */
body.single-post .side-brands{
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 10rem;
}
body.single-post .side-brand{
	display: flex;
	flex-direction: column;
	gap: 3rem;
	padding: 14rem 18rem;
	text-decoration: none;
	border: 1px solid var(--color3);
	border-left-width: 4rem;
	border-radius: 6rem;
	transition: 0.15s linear;
}
body.single-post .side-brand:hover{
	border-color: var(--text_color);
	background-color: var(--color1);
}
body.single-post .side-brand--cocoro,
body.single-post .side-brand--works{
	border-left-color: #d7224c; /* COCORO HOME ブランドカラー */
}
body.single-post .side-brand--veil,
body.single-post .side-brand--estate{
	border-left-color: #00a844; /* VEIL HOME ブランドカラー */
}
body.single-post .side-brand--ks{
	border-left-color: var(--text_color); /* 親ブランドは重複回避で濃色 */
}
body.single-post .side-brand__en{
	font-family: roboto, sans-serif;
	font-weight: 700;
	font-size: 16rem;
	letter-spacing: 0.04em;
	color: var(--text_color);
}
body.single-post .side-brand__ja{
	font-size: 12rem;
	color: var(--color7);
}

/* お問い合わせ CTA */
body.single-post .side-cta{
	display: grid;
	gap: 10rem;
}
body.single-post .side-cta a{
	display: block;
	text-align: center;
	padding: 14rem;
	border-radius: 6rem;
	font-weight: 700;
	font-size: 14rem;
	text-decoration: none;
	transition: 0.15s linear;
}
body.single-post .side-cta .side-cta__line{
	background-color: var(--color8);
	color: #fff;
}
body.single-post .side-cta .side-cta__mail{
	background-color: var(--text_color);
	color: #fff;
}
body.single-post .side-cta a:hover{
	opacity: 0.85;
}

/* 関連記事（フッター）のデザイン調整 */
body.single-post .related-title{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 700;
	font-size: 30rem;
	line-height: 1.4;
	white-space: normal;
	text-align: center;
	margin: 90rem 0 44rem;
}
body.single-post .post_list{
	margin: 0 0 50rem;
}
body.single-post .post_list .box a.frame{
	height: 100%;
	border: 1px solid var(--color3);
	border-radius: 8rem;
	overflow: hidden;
	box-shadow: none;
}
body.single-post .post_list .box a.frame:hover{
	background-color: #fff;
	box-shadow: 0 10rem 24rem rgba(0, 0, 0, 0.08);
	transform: translateY(-4rem);
}
body.single-post .post_list .box .image{
	aspect-ratio: 500 / 320;
}
body.single-post .post_list .box .category_date{
	padding: 14rem 16rem 0;
}
body.single-post .post_list .box .title{
	padding: 0 16rem;
	font-size: 16rem;
}
body.single-post .post_list .box .more{
	display: inline-block;
	margin: 10rem 0 16rem;
	padding: 0 16rem;
}

/* 本文下・関連記事の前のお問い合わせ CTA（投稿のみ） */
body.single-post .post-cta{
	margin-top: 100rem;
}
body.single-post .post-cta__inner{
	position: relative;
	padding: 76rem 40rem 72rem;
	text-align: center;
	background:
		radial-gradient(120% 120% at 50% 0%, #ffffff 0%, #f2f1ef 60%, #ebeae7 100%);
	border-radius: 18rem;
	overflow: hidden;
}
/* 内側の繊細なフレーム（上質感の演出） */
body.single-post .post-cta__inner::before{
	content: "";
	position: absolute;
	inset: 16rem;
	border: 1px solid rgba(35, 24, 21, 0.14);
	border-radius: 12rem;
	pointer-events: none;
}
/* 英字アイブロウ（左右にヘアライン） */
body.single-post .post-cta__en{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18rem;
	font-family: garamond-premier-pro, serif;
	font-weight: 700;
	font-size: 22rem;
	letter-spacing: 0.28em;
	color: var(--color2);
	margin: 0 0 14rem;
}
body.single-post .post-cta__en::before,
body.single-post .post-cta__en::after{
	content: "";
	width: 44rem;
	height: 1px;
	background-color: currentColor;
	opacity: 0.55;
}
body.single-post .post-cta__title{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 700;
	font-size: 34rem;
	line-height: 1.5;
	letter-spacing: 0.02em;
	white-space: normal;
	color: var(--text_color);
	margin: 0 0 16rem;
}
body.single-post .post-cta__text{
	max-width: 620rem;
	margin: 0 auto 40rem;
	font-size: 15rem;
	line-height: 1.9;
	color: var(--color6);
	text-align: center;
	text-wrap: balance; /* 2行を均等に折り返して中央バランスを整える */
}
body.single-post .post-cta__btns{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20rem;
}
body.single-post .post-cta__btn{
	position: relative;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 290rem;
	padding: 19rem 58rem 19rem 34rem;
	border-radius: 50rem;
	font-weight: 700;
	font-size: 16rem;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
/* 矢印 */
body.single-post .post-cta__btn::after{
	content: "";
	position: absolute;
	right: 30rem;
	width: 8rem;
	height: 8rem;
	border-top: 2rem solid currentColor;
	border-right: 2rem solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}
body.single-post .post-cta__btn:hover::after{
	transform: translateX(4rem) rotate(45deg);
}
body.single-post .post-cta__btns .post-cta__btn--line{
	background-color: var(--color8);
	color: #fff;
	box-shadow: 0 12rem 26rem rgba(6, 199, 85, 0.30);
}
body.single-post .post-cta__btn--line:hover{
	transform: translateY(-3rem);
	box-shadow: 0 18rem 34rem rgba(6, 199, 85, 0.38);
}
body.single-post .post-cta__btns .post-cta__btn--mail{
	background-color: var(--text_color);
	color: #fff;
	box-shadow: 0 12rem 26rem rgba(35, 24, 21, 0.22);
}
body.single-post .post-cta__btn--mail:hover{
	transform: translateY(-3rem);
	box-shadow: 0 18rem 34rem rgba(35, 24, 21, 0.30);
}


/* =========================================================================
   不動産物件 詳細ページ（SUUMO 風）  body.single-veil_home_property
   ========================================================================= */
body.single-veil_home_property article.vhp-single{
	padding: 30rem 0 0;
	border-bottom: 0;
}
body.single-veil_home_property .vhp-single{
	--vhp-accent: #00a844;
}

/* ヘッダー */
.vhp-head__meta{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10rem;
	margin: 0 0 14rem;
}
.vhp-head__meta .vhp-tag{
	display: inline-block;
	padding: 5rem 14rem;
	background-color: var(--vhp-accent);
	color: #fff; /* グローバル a:visited{color:inherit} に勝つため詳細度を上げる */
	font-size: 13rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 4rem;
}

/* 販売ステータスバッジ */
.vhp-status{
	display: inline-block;
	padding: 5rem 14rem;
	border-radius: 4rem;
	font-size: 13rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: 0.02em;
}
.vhp-status--onsale{ background-color: #00a844; }
.vhp-status--talking{ background-color: #e8820c; }
.vhp-status--sold{ background-color: #8a8a8a; }

/* =========================================================================
   不動産一覧（veil_home_property アーカイブ）SUUMO 風 横長カード
   ========================================================================= */
body.veil_home_archive .post_list{
	display: block;
	gap: 0;
	margin: 0 0 50rem;
	padding: 0;
}
.post_list.veil_home_archive{
	padding: 0;
	gap:20rem;
}
body.veil_home_archive .post_list .box{
	flex-basis: auto;
	width: 100%;
	margin: 0 0 20rem;
}
body.veil_home_archive .post_list .box.dummy{
	display: none;
}
.vhp-card{
	display: flex;
	gap: 24rem;
	background-color: #fff;
	color: var(--text_color); /* 緑セクションの白文字継承を解除（面積値などの不可視化防止） */
	border: 1px solid var(--color3);
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow 0.15s linear, transform 0.15s linear;
}
.vhp-card:hover{
	box-shadow: 0 8rem 22rem rgba(0, 0, 0, 0.09);
	transform: translateY(-2rem);
}
.vhp-card__media{
	flex: 0 0 38%;
	align-self: stretch;
	aspect-ratio: 4 / 3;
	background-color: var(--color1);
	overflow: hidden;
}
.vhp-card__media img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.vhp-card__info{
	flex: 1 1 auto;
	min-width: 0;
	padding: 22rem 24rem 22rem 0;
}
.vhp-card__meta{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8rem;
	margin: 0 0 12rem;
}
.vhp-card__cat{
	display: inline-block;
	padding: 4rem 12rem;
	border: 1px solid var(--color3);
	border-radius: 4rem;
	font-size: 12rem;
	color: var(--color6);
}
.vhp-card__title{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 700;
	font-size: 19rem;
	line-height: 1.4;
	white-space: normal;
	color: var(--text_color);
	margin: 0 0 8rem;
}
.vhp-card__loc{
	font-size: 13rem;
	color: var(--color6);
	margin: 0 0 10rem;
}
.vhp-card__price{
	font-family: roboto, sans-serif;
	font-weight: 700;
	font-size: 26rem;
	line-height: 1;
	color: #00a844;
	margin: 0 0 12rem;
}
.vhp-card__price small{
	font-size: 0.5em;
	margin-left: 3rem;
	color: var(--text_color);
}
.vhp-card__specs{
	display: flex;
	flex-wrap: wrap;
	gap: 6rem 18rem;
	margin: 0;
}
.vhp-card__specs > div{
	display: flex;
	align-items: baseline;
	gap: 8rem;
	font-size: 13rem;
}
.vhp-card__specs dt{
	color: var(--color6);
	font-weight: 700;
}
.vhp-card__specs dd{
	margin: 0;
	font-weight: 500;
}

/* トップ/ブランドページの物件カード（.post_list.veil_home_archive）は
   PC では縦型グリッドカード（従来の見た目を維持）、モバイルでは一覧と同じ横並び。 */
.post_list.veil_home_archive .vhp-card{
	flex-direction: column;
}
.post_list.veil_home_archive .vhp-card__media{
	flex: 0 0 auto;
	width: 100%;
	aspect-ratio: 4 / 3;
}
.post_list.veil_home_archive .vhp-card__info{
	padding: 16rem 18rem 20rem;
}

/* サイドバー付きページ（ブランドページ等）の物件グリッドは PC 2列（小さくなりすぎ防止） */
.vhp-archive-main .post_list.veil_home_archive{
	gap: 28rem;
	justify-content: flex-start;
}
.vhp-archive-main .post_list.veil_home_archive .box{
	flex-basis: calc(50% - 14rem);
}
.vhp-archive-main .post_list.veil_home_archive .box.dummy{
	display: none;
}

/* 不動産アーカイブ：検索サイドバー2カラム */
.vhp-archive-layout{
	display: flex;
	align-items: flex-start;
	gap: 36rem;
	margin: 30rem 0 0;
}
.vhp-archive-main{
	flex: 1 1 auto;
	min-width: 0;
}
.vhp-archive-main .post_list{
	margin-top: 0;
}
.vhp-search{
	flex: 0 0 280rem;
	width: 280rem;
	color: var(--text_color); /* 緑アーカイブの白文字継承を解除 */
}
.vhp-search__form{
	background-color: #fff;
	border: 1px solid var(--color3);
	padding: 22rem 22rem 24rem;
}
.vhp-search__title{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 700;
	font-size: 17rem;
	white-space: normal;
	margin: 0 0 18rem;
	padding: 0 0 12rem;
	border-bottom: 2px solid var(--text_color);
}
.vhp-search__group{
	margin: 0 0 18rem;
}
.vhp-search__label{
	display: block;
	font-size: 13rem;
	font-weight: 700;
	color: var(--color6);
	margin: 0 0 8rem;
}
.vhp-search__group input[type="text"],
.vhp-search__group select{
	width: 100%;
	box-sizing: border-box;
	padding: 9rem 10rem;
	border: 1px solid var(--color3);
	border-radius: 5rem;
	font-family: inherit;
	font-size: 14rem;
	background-color: #fff;
}
/* セレクトはカスタム矢印にし、矢印用の余白を確保（テキストとの重なり防止） */
.vhp-search__group select{
	appearance: none;
	-webkit-appearance: none;
	padding-right: 26rem;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5l3.5 3.5 3.5-3.5' fill='none' stroke='%23767576' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 9rem center;
	background-size: 11rem;
}
.vhp-search__check{
	display: flex;
	align-items: center;
	gap: 8rem;
	font-size: 14rem;
	padding: 5rem 0;
	cursor: pointer;
}
.vhp-search__check input{
	flex: 0 0 auto;
}
.vhp-search__range{
	display: flex;
	align-items: center;
	gap: 8rem;
}
.vhp-search__range select{
	flex: 1;
	min-width: 0;
	font-size: 12rem;
	padding-left: 8rem;
	padding-right: 22rem;
	background-position: right 7rem center;
	background-size: 10rem;
}
.vhp-search__tilde{
	flex: 0 0 auto;
	color: var(--color6);
}
.vhp-search__actions{
	margin-top: 22rem;
}
.vhp-search__submit{
	display: block;
	width: 100%;
	padding: 13rem;
	border: 0;
	border-radius: 6rem;
	background-color: var(--color5);
	color: #fff;
	font-weight: 700;
	font-size: 15rem;
	cursor: pointer;
	transition: 0.15s linear;
}
.vhp-search__submit:hover{
	filter: brightness(1.08);
}
.vhp-search__reset{
	display: block;
	text-align: center;
	margin-top: 12rem;
	font-size: 13rem;
	color: var(--color6);
}
/* FAB・閉じるボタンは PC では非表示（モバイルのモーダル用） */
.vhp-fab{
	display: none;
}
.vhp-search__close{
	display: none;
}
.vhp-no{
	font-size: 13rem;
	font-weight: 700;
	color: var(--color7);
}
.vhp-title{
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 700;
	font-size: 23rem;
	line-height: 1.4;
	white-space: normal;
	margin: 0 0 4rem;
}
.vhp-summary-sec{
	margin-top: 44rem;
}
.vhp-summary{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0;
	border: 1px solid var(--color3);
	border-radius: 8rem;
	overflow: hidden;
}
.vhp-summary__price{
	flex: 1 1 280rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4rem;
	padding: 22rem 28rem;
	background-color: #f3faf5;
}
.vhp-summary__label{
	font-size: 13rem;
	font-weight: 700;
	color: var(--color6);
}
.vhp-summary__price-val{
	font-family: roboto, sans-serif;
	font-weight: 700;
	font-size: 36rem;
	line-height: 1.1;
	color: var(--vhp-accent);
}
.vhp-summary__price-val small{
	font-size: 0.46em;
	margin-left: 4rem;
	color: var(--text_color);
}
.vhp-summary__tsubo{
	font-size: 13rem;
	color: var(--color6);
}
.vhp-summary__facts{
	flex: 1 1 280rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0;
	margin: 0;
	padding: 0;
}
.vhp-summary__facts > div{
	display: flex;
	border-top: 1px solid var(--color1);
}
.vhp-summary__facts > div:first-child{
	border-top: 0;
}
.vhp-summary__facts dt{
	flex: 0 0 96rem;
	padding: 12rem 14rem;
	background-color: var(--color1);
	font-size: 13rem;
	font-weight: 700;
	color: var(--color6);
}
.vhp-summary__facts dd{
	flex: 1;
	margin: 0;
	padding: 12rem 16rem;
	font-size: 15rem;
	font-weight: 500;
}

/* ギャラリー（スライダー・最上部） */
.vhp-gallery{
	margin: 0 0 30rem;
}
.vhp-gallery__stage{
	position: relative;
}
.vhp-gallery__viewport{
	position: relative;
	z-index: 1;
	aspect-ratio: 16 / 10;
	background-color: var(--color1);
	border-radius: 10rem;
	overflow: hidden;
	touch-action: pan-y;
}
.vhp-gallery__track{
	display: flex;
	height: 100%;
	transition: transform 0.35s ease;
}
.vhp-gallery__slide{
	flex: 0 0 100%;
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	background-size: cover;
	background-position: center;
}
/* 余白を同じ画像のぼかしで埋める（縦長画像でも全体を表示） */
.vhp-gallery__slide::before{
	content: "";
	position: absolute;
	inset: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	filter: blur(24rem) brightness(0.9);
	transform: scale(1.15);
}
.vhp-gallery__slide img{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.vhp-gallery__nav{
	position: absolute;
	z-index: 2;
	top: 50%;
	transform: translateY(-50%);
	width: 46rem;
	height: 46rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 4rem;
	border: 0;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.92);
	color: var(--text_color);
	font-size: 30rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2rem 10rem rgba(0, 0, 0, 0.22);
	transition: background-color 0.15s linear;
}
.vhp-gallery__nav:hover{
	background-color: #fff;
}
.vhp-gallery__nav--prev{
	left: 14rem;
}
.vhp-gallery__nav--next{
	right: 14rem;
}
.vhp-gallery__counter{
	position: absolute;
	z-index: 2;
	right: 14rem;
	bottom: 14rem;
	padding: 5rem 13rem;
	background-color: rgba(0, 0, 0, 0.62);
	color: #fff;
	font-family: roboto, sans-serif;
	font-size: 12rem;
	letter-spacing: 0.05em;
	border-radius: 20rem;
}
.vhp-gallery__thumbs{
	display: flex;
	flex-wrap: wrap;
	gap: 10rem;
	list-style: none;
	margin: 12rem 0 0;
	padding: 0;
}
.vhp-gallery__thumb{
	width: 96rem;
	aspect-ratio: 4 / 3;
	padding: 0;
	border: 2rem solid transparent;
	border-radius: 6rem;
	overflow: hidden;
	cursor: pointer;
	background: none;
	transition: border-color 0.15s linear;
}
.vhp-gallery__thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.vhp-gallery__thumb.is-active{
	border-color: var(--vhp-accent);
}

/* セクション共通 */
.vhp-section{
	margin: 34rem 0 0;
}
.vhp-section__title{
	position: relative;
	font-family: zen-kaku-gothic-new, sans-serif;
	font-weight: 700;
	font-size: 18rem;
	white-space: normal;
	padding-left: 14rem;
	margin: 0 0 14rem;
}
.vhp-section__title::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0.1em;
	bottom: 0.1em;
	width: 5rem;
	border-radius: 3rem;
	background-color: var(--vhp-accent);
}

/* おすすめポイント */
.vhp-appeal{
	background-color: #f3faf5;
	border-radius: 10rem;
	padding: 28rem 30rem;
}
.vhp-appeal .vhp-section__title{
	margin-bottom: 12rem;
}
.vhp-appeal__catch{
	font-size: 17rem;
	font-weight: 700;
	line-height: 1.6;
	margin: 0 0 10rem;
}
.vhp-appeal__body{
	font-size: 15rem;
	line-height: 1.9;
	margin: 0;
}

/* 物件説明本文 */
.vhp-desc__body{
	font-size: 16rem;
	line-height: 1.9;
}
.vhp-desc__body img{
	max-width: 100%;
	height: auto;
}

/* 物件概要テーブル */
.vhp-table{
	display: grid;
	grid-template-columns: 1fr 1fr; /* PC も 2列 */
	border-top: 1px solid var(--color3);
	border-left: 1px solid var(--color3);
	border-radius: 8rem;
	overflow: hidden;
	font-size: 14rem;
}
.vhp-table__item{
	display: grid;
	grid-template-columns: 120rem 1fr;
	border-right: 1px solid var(--color3);
	border-bottom: 1px solid var(--color3);
}
.vhp-table__item--full{
	grid-column: 1 / -1;
}
.vhp-table__item--filler{
	background-color: #fff;
}
.vhp-table__label,
.vhp-table__value{
	padding: 11rem 14rem;
	line-height: 1.6;
}
.vhp-table__label{
	background-color: var(--color1);
	font-weight: 700;
	border-right: 1px solid var(--color3);
}

/* 設備・インフラ */
.vhp-infra__list{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.vhp-infra__item{
	display: flex;
	flex-direction: column;
	gap: 6rem;
	padding: 18rem 16rem;
	border: 1px solid var(--color3);
	border-radius: 8rem;
	text-align: center;
}
.vhp-infra__label{
	font-size: 13rem;
	font-weight: 700;
	color: #fff;
	background-color: var(--vhp-accent);
	border-radius: 20rem;
	padding: 4rem 0;
}
.vhp-infra__value{
	font-size: 15rem;
	font-weight: 500;
}

/* 敷地図 */
.vhp-siteplan img{
	width: 100%;
	height: auto;
	border: 1px solid var(--color3);
	border-radius: 8rem;
}

/* 地図・アクセス */
.vhp-access__text{
	font-size: 15rem;
	line-height: 1.9;
	margin: 0 0 18rem;
}
.vhp-access__map{
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 8rem;
	overflow: hidden;
}
.vhp-access__map :is(iframe, img){
	width: 100% !important;
	height: 100% !important;
	border: 0;
	display: block;
}

/* CTA */
.vhp-cta{
	margin: 34rem 0 0;
	padding: 30rem 30rem;
	background-color: var(--vhp-accent);
	border-radius: 12rem;
	text-align: center;
}
.vhp-cta__lead{
	color: #fff;
	font-size: 16rem;
	font-weight: 700;
	margin: 0 0 18rem;
}
.vhp-cta__btns{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16rem;
}
.vhp-cta__btns a{
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 240rem;
	padding: 15rem 28rem;
	border-radius: 6rem;
	font-weight: 700;
	font-size: 15rem;
	line-height: 1.5;
	text-decoration: none;
	transition: 0.15s linear;
}
.vhp-cta__btns .vhp-cta__line{
	background-color: #fff;
	color: var(--vhp-accent);
}
.vhp-cta__btns .vhp-cta__mail{
	background-color: var(--text_color);
	color: #fff;
}
.vhp-cta__btns a:hover{
	opacity: 0.88;
}
.vhp-cta__lead{
	text-align: center;
}

/* フッター追尾 CTA（スクロール時に下部固定で表示） */
.vhp-sticky-cta{
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 1000;
	width: 100%;
	display: flex;
	justify-content: center;
	gap: 12rem;
	padding: 12rem 16rem;
	background-color: rgba(255, 255, 255, 0.96);
	box-shadow: 0 -2rem 16rem rgba(0, 0, 0, 0.14);
	transform: translateY(120%);
	transition: transform 0.28s ease;
}
.vhp-sticky-cta.is-visible{
	transform: translateY(0);
}
.vhp-sticky-cta a{
	flex: 1 1 0;
	max-width: 320rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14rem 16rem;
	border-radius: 6rem;
	font-weight: 700;
	font-size: 15rem;
	text-decoration: none;
}
.vhp-sticky-cta .vhp-sticky-cta__line{
	background-color: var(--color8);
	color: #fff;
}
.vhp-sticky-cta .vhp-sticky-cta__mail{
	background-color: var(--text_color);
	color: #fff;
}

/* 取扱店舗 */
.vhp-company{
	margin: 30rem 0 0;
	padding: 22rem 26rem;
	border: 1px solid var(--color3);
	border-radius: 8rem;
}
.vhp-company__label{
	font-size: 12rem;
	font-weight: 700;
	color: var(--vhp-accent);
	margin: 0 0 6rem;
}
.vhp-company__name{
	font-size: 17rem;
	font-weight: 700;
	margin: 0 0 6rem;
}
.vhp-company__addr,
.vhp-company__tel{
	font-size: 13rem;
	color: var(--color6);
	margin: 2rem 0 0;
}
.vhp-company__tel a{
	color: var(--text_color);
	text-decoration: none;
}


body.single .back_to_list{
	text-align: center;
	margin: 70rem 0;
}

body.single .post_list{
	margin: 150rem 0;
}





/* プライバシーポリシー  特定商取引法に基づく表記  *************************************************************************** */

.pp_ln h1{
	text-align: center;
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-weight: 500;
	font-size: 32rem;
	letter-spacing: 0;
	margin: 100rem 0 70rem;
}
.pp_ln h1 small{
	display: block;
	font-family: "roboto", sans-serif;
	font-weight: 300;
	font-size: 0.625em;
	color: var(--color7);
	margin: 0 0 20rem;
}
.pp_ln h2{
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-weight: 700;
	font-size: 18rem;
	background-color: var(--color1);
	padding: 15rem 20rem;
	margin: 50rem 0 0;
}
.pp_ln p{
	font-weight: 500;
	font-size: 16rem;
	line-height: 1.8;
}

.pp_ln table.type1 th{
	font-weight: 400;
}





/* COCORO HOME *************************************************************************** */

.cocoro_veil .site-header-height{
	background-color: transparent;
}
.cocoro_veil .site-header-1{
	display: none;
}
.cocoro_veil .site-header-1.cocoro_home{
	display: flex;
	background-color: transparent;
	padding: 5rem 3vw 5rem 6vw;
}
.cocoro_veil .site-header-1.is-shrink{
	background-color: #fff;
}
.cocoro_home .site-header-1 .site-branding .cocoro_home_logo{
	display: inline;
}
.cocoro_veil .site-header-1 .site-branding{
	flex-grow: 1;
}
.cocoro_veil .site-header-1 .site-branding img{
	height: auto;
}
.cocoro_veil .site-header-1 .nav_knob{
	margin: 0 0 0 40rem;
}
.cocoro_veil .site-header.nav_open .site-header-1{
	justify-content: center;
	background-color: #fff;
	padding: 5rem 3vw;
}
.cocoro_veil .site-header.nav_open .site-header-1 .site-branding{
	flex-grow: 0;
}
.cocoro_veil .site-header.nav_open .site-header-1 :is(.site-header-sns, .nav_knob){
	display: none;
}
.cocoro_veil #site-navigation .site-navigation-2 div{
	border-bottom: 0;
}
.cocoro_home #site-navigation .site-nav-c{
	display: none;
}
.cocoro_home #site-navigation .site-nav-v{
	order: 3;
}
.cocoro_veil #site-navigation .site-nav-k{
	display: flex;
	order: 2;
}
.cocoro_veil .pagination{
	margin: 100rem 0 0;
}

.page-template-cocoro_home #story{
	text-align: center;
	margin: 80rem 0;
}
.page-template-cocoro_home #story p{
	text-align: center;
	font-size: 19rem;
	width: 833rem;
	margin: 20rem auto;
}

.page-template-cocoro_home .main_image{
	clip-path: polygon(calc(50% - 78000px) 25000px, calc(50% + 170rem) 0%, calc(50% + 78000px) 25000px);
	background-image: url(img/cocoro_home/1.webp);
	height: 800rem;
	margin: -70rem 0 0;
}

.page-template-cocoro_home .instagram :is(.sb_instagram_header, #sbi_load){
	display: none;
}
.page-template-cocoro_home .instagram #sbi_images{
	gap: min(50rem, 3vw) !important;
}

.page-template-cocoro_home #prewall .row_type1{
	padding-top: 40rem;
}
.page-template-cocoro_home #prewall .row_type1 .left{
	padding-top: 10rem;
}
.page-template-cocoro_home .cocoro_home_3{
	padding: 0;
}
@media (min-width: 551px) {
	.page-template-cocoro_home .cocoro_home_3 .cocoro_home_3_1{
		display: flex;
		align-items: center;
	}
	.page-template-cocoro_home .cocoro_home_3 .cocoro_home_3_1_1{
		padding: 0 70rem;
	}
	.page-template-cocoro_home .cocoro_home_3 .cocoro_home_3_1_1 img {
		min-width: 135rem;
	}
	.page-template-cocoro_home .cocoro_home_3 .cocoro_home_3_1_1 h3 {
		display: none;
	}
	.page-template-cocoro_home .cocoro_home_3 .cocoro_home_3_1_2 p{
		text-align: left;
		margin: 0;
	}
}


#cocoro_home_archive{
	background-color: var(--color1);
	padding: 100rem 0 50rem;
}
#cocoro_home_archive h1{
	margin: 0;
}

#cocoro_home_archive .category_date .date{
	font-weight: 700;
	font-size: 14rem;
}
#cocoro_home_archive .box .title{
	font-weight: 700;
	font-size: 23rem;
	word-break: break-word;
}
#cocoro_home_archive .view_more{
	text-align: center;
}

#cocoro_home_archive .post_list .box a.frame{
	--color: rgba(255,255,255, 0);
}
#cocoro_home_archive .post_list .box a.frame:hover{
	--color: rgba(255,255,255, 0.8);
}








/* COCORO HOME WORKS *************************************************************************** */

/*.cocoro_home .archive{
	padding: 1px 0;
	background-color: var(--color1);
}*/
.post-type-archive-cocoro_home_works .site-footer{
	margin-top: 0;
}






/* VEIL HOME *************************************************************************** */

.veil_home .site-header-1 .site-branding .veil_home_logo{
	display: inline;
}
.veil_home #site-navigation .site-nav-c{
	order: 3;
}
.veil_home #site-navigation .site-nav-v{
	display: none;
}

.page-template-veil_home .main_image{
	clip-path: polygon(calc(50% - 78000px) 25000px, calc(50% - 170rem) 0%, calc(50% + 78000px) 25000px);
	background-image: url(img/veil_home/1.webp);
	height: 800rem;
	margin: -60rem 0 0;
}

.page-template-veil_home .img_2{
	margin: 60rem 0 0;
}
.page-template-veil_home .veil_home_2{
	margin: 0 0 70rem;
}

#veil_home_archive{
	background-color: var(--color5);
	color: #fff;
	padding: 100rem 0 150rem;
}
#veil_home_archive :is(h1, h2){
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-weight: 700;
	font-size: 36rem;
	margin: 0 0 30rem;
}
#veil_home_archive .category_date{
	color: #fff;
}
#veil_home_archive .category_date .categories{
}
#veil_home_archive .category_date .date{
	font-family: "roboto", sans-serif;
	font-weight: 300;
}

#veil_home_archive .pagination .page-numbers{
	color: #000;
	background-color: #fff;
}
#veil_home_archive .pagination :is(.prev, .next, .dots) {
	color: #fff;
}
#veil_home_archive .pagination .page-numbers.current {
	color: #fff;
	background-color: transparent; /* 現在地の色を変える場合 */
}
#veil_home_archive .post_list .box a.frame:hover{
	--color: rgba(255,255,255, 0.2);
}



:is(.post-type-archive-veil_home_property, .tax-veil_home_property_category) .site-footer{
	margin-top: 0;
}



.single-veil_home_property article .pankuzu{
	display: flex;
	gap: 5rem;
	font-size: 16rem;
	font-weight: 700;
	color: var(--text_color2);
}
.single-veil_home_property article .pankuzu a{
	text-decoration: none;
}
.single-veil_home_property article .pankuzu a:hover{
	text-decoration: underline;
}

.single-veil_home_property article .number{
	font-size: 22rem;
	margin: 60rem 0 0;
}

body.single-veil_home_property article .title{
	font-weight: 400;
	font-size: 37rem;
	line-height: 1.4;
	margin: 10rem 0 25rem;
	white-space: normal; /* グローバル h1,h2 の nowrap を解除して折り返す */
	word-break: normal;
}

.single-veil_home_property .price_area{
	display: flex;
	gap: 20rem;
	flex-wrap: wrap;
	white-space: nowrap;
	margin: 0 0 50rem;
}
.single-veil_home_property .price_area > div{
	display: flex;
	align-items: center;
	gap: 8rem;
}
.single-veil_home_property .price_area .name{
	text-align: center;
	font-size: 13rem;
	line-height: 1;
	color: #fff;
	background-color: var(--color5);
	padding: 4rem 0 6rem;
	min-width: 70rem;
}
.single-veil_home_property .price_area .value{
	font-size: 24rem;
	line-height: 1;
	padding-bottom: 3rem;
}

.single-veil_home_property article p{
	font-size: 19rem;
	line-height: 2;
}

.single-veil_home_property .vhp-meta-table{
	margin: 50rem 0;
}

.single-veil_home_property .map{
	margin: 0 0 50rem 0;
}
.single-veil_home_property .map iframe{
	width: 100%;
	height: min(580rem, 100vmin);
}

.single-veil_home_property .sikitizu{
	text-align: center;
	margin: 0 0 50rem 0;
}

.single-veil_home_property .line_inquiry_url{
	display: flex;
	text-decoration: none;
	justify-content: center;
	align-items: center;
	gap: 20rem;
	font-weight: 700;
	font-size: 16rem;
	color: #fff;
	background-color: var(--color8);
	border-radius: 20rem;
	padding: 18rem;
	transition: filter 0.15s linear;
}
.single-veil_home_property .line_inquiry_url:hover{
	filter: brightness(1.07);
}





/* お問合せ *************************************************************************** */

.page-template-contact .contents{
	font-weight: 500;
}
.page-template-contact .contents h1{
	margin-bottom: 10rem;
}
.page-template-contact .contents .red{
	color: #e50182;
}
.page-template-contact .contents .p1{
	font-size: 12rem;
	margin: 0 0 70rem;
}
.page-template-contact .contents dd{
	margin: 5rem 0 30rem;
}

div.wpcf7 .wpcf7-form .ajax-loader{
	display: none;
}

.wpcf7-not-valid-tip{
	position: absolute;
	margin-top: -5rem;
}
[data-name="checkbox-pp"]{
	display: inline-block;
	margin: 0 0 10rem;
}
[data-name="checkbox-pp"] .wpcf7-not-valid-tip{
	margin: -12rem 0 0 20rem;
}

.page-template-contact .privacy_policy_area{
	text-align: center;
	margin: 60rem 0 40rem;
}
.page-template-contact .submit_area{
	position: relative;
	text-align: center;
}

.wpcf7-submit,
.wpcf7cp-cfm-edit-btn {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	cursor: pointer;
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-weight: 500;
	font-size: 16rem;
	color: #fff;
	background-color: #000;
	box-sizing: border-box;
	padding: 30rem;
	width: 100%;
	margin: 30rem 0 0;

	transition: filter 0.15s linear;
}
.wpcf7-submit:hover,
.wpcf7cp-cfm-edit-btn:hover {
	filter: opacity(0.7);
}

#page .wpcf7-response-output{
	box-sizing: border-box;
	width: 900px;
	max-width: 85vw;
	margin: 30rem auto;
}

.wpcf7-spinner{
	position: absolute;
	top: calc(50% + 5rem);
	left: calc(50% + 20rem);
}

.thanks_url{
	display: none;
}

table.type_cf7,
table.type_cf7 tbody,
table.type_cf7 tr,
table.type_cf7 th,
table.type_cf7 td{
	display: block;
	border-collapse: collapse;
	width: 100%;
}
table.type_cf7 :is(th, td),
#wpcf7cpcnf table :is(th, td){
	text-align: left;
}
table.type_cf7 th,
#wpcf7cpcnf table th{
	/*position: relative;*/
	font-weight: 500;
	white-space: nowrap;
}
table.type_cf7 td,
#wpcf7cpcnf table td{
	/*width: 80%;*/
	padding: 3rem 0 25rem;
}
table.type_cf7 p,
#wpcf7cpcnf table p{
	margin: 0;
}
#wpcf7cpcnf table{
	width: 100%;
}
#wpcf7cpcnf table :is(th, td){
	text-align: left;
	padding: 15rem 30rem;
}
#wpcf7cpcnf table td{
	width: 80%;
	font-weight: 400;
}


input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="search"],
textarea,
select{
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-size: 16rem;
	font-weight: 400;
	box-sizing: border-box;
	border: 1px solid #777;
	border-radius: 0;
	outline: 0;
	padding: 25rem;
	margin: 0;
	width: 100%;
	-webkit-appearance: none; /* iPhone の入力欄へのエフェクトを消す */
}

select{
	padding-right: 70rem;
	/*width: auto;*/
	background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 30rem top 55%;
}

input[name="yubin"]{
	width: 200rem;
}

.wpcf7 form .wpcf7-response-output{
	position: fixed;
	z-index: 2000;
	top: min(100px, 13vmin);
	left: 0;
	right: 0;
	box-sizing: border-box;
	width: 900px;
	margin: auto;
	max-width: 94%;
	font-weight: 600;
	color: #fff;
	background-color: #02c2c7;
	border: 0;
	padding: 20rem 30rem;
	box-shadow: 0 8rem 10rem rgba(0, 0, 0, 0.3);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{
	background-color: #ffb900;
}




/* 404 *************************************************************************** */

.error-404{
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 0rem 0 0;
	height: calc(100vh - 750rem);
}






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

@media (max-width: 550px) {
	.pc{
		display: none !important;
	}
	:root{
		--site-header-height: 105rem;
		--yane-height: 30vw;
		--yane-overflow: -41vw;
		--yane-shift: -37vw;
	}
	html{
		font-size: 0.18vw;
	}
	body{
		font-size: 15rem;
	}
	.button1, .button2, .button3, .button4{
		font-size: 20rem;
	}
	.row_type1{
		flex-direction: column;
		gap: 40rem;
		font-size: 20rem;
		padding: 20rem 0;
	}
	.row_type1 .left{
		line-height: 1.4;
		margin-bottom: 30rem;
	}

	.contents{
		overflow: hidden;
	}

	.site-header-1{
		--shrink: 40rem;
	}
	.cocoro_veil .site-header-1{
		--shrink: 55rem;
	}
	.site-header-1 .nav_knob{
		margin: 0 55rem 0 5rem;
	}
	.site-header-1 .nav_knob img{
		width: 37rem;
	}
	.site-header-1 .site-branding img{
		height: 70rem;
	}
	.site-header-1 .site-header-sns{
		visibility: hidden;
	}
	.cocoro_veil .site-header-1 .site-header-sns{
		display: none;
	}
	#site-navigation :is(.site-navigation-1, .site-navigation-2) div{
		min-height: 70rem;
	}
	:is(.site-navigation-1, .site-navigation-2) a{
		font-size: 28rem;
	}
	.site-navigation-2 .site-nav-c img{
		height: 26rem;
		width: auto;
	}
	.site-navigation-2 .site-nav-v img{
		height: 25rem;
		width: auto;
	}
	.site-nav-k img {
		width: 55rem;
	}

	body.home .top-page-nav{
		/*display: none;*/
	}
	body.home #news{
		flex-direction: column;
	}
	body.home #news .row{
		flex-direction: column;
	}
	body.home #concept .inner{
		background-color: transparent;
		margin-top: 0;
	}
	body.home #concept .concept_1{
		margin-top: 0;

	}
	body.home #concept .concept_1 .h2{
		/*display: none;*/
	}
	body.home #concept .concept_1 .img_2{
		margin: 0 -3vw;
	}
	body.home #concept .concept_2{
		padding-bottom: calc(var(--yane-height) + 27vw);
	}
	body.home #concept .concept_2 h3{
		margin: 10rem 0 30rem;
	}
	body.home #concept .concept_2 .left{
		/*line-height: 1.4;*/
		/*margin-bottom: 30rem;*/
	}
	body.home #cocoro_home .body .inner{
		margin: calc(var(--yane-height) * -1 - 15vw) 0 0;
	}
	body.home #cocoro_home .cocoro_home_1{
		flex-direction: column-reverse;
	}
	body.home #cocoro_home .cocoro_home_1 h2{
		width: 100%;
		margin-top: 5vw;
	}
	body.home #cocoro_home .cocoro_home_1 h2 small{
		font-size: 0.28em;
	}
	body.home #cocoro_home .cocoro_home_1 .img3_1{
		width: 100%;
	}
	body.home #cocoro_home .cocoro_home_1 .img3_2{
		width: 71vw;
	}
	body.home #cocoro_home .img3_3{
		width: 100vw;
		max-width: none;
		margin: 0 0 0 -3vw;
	}
	body.home #cocoro_home .cocoro_home_2 .right{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 50rem;
	}
	.cocoro_home_3{
		padding: 3vw 3vw 40vw;
	}
	.cocoro_home .cocoro_home_3{
		margin-bottom: 60rem;
	}
	.cocoro_home_3_1_1{
		gap: 30rem;
	}
	.cocoro_home_3_1_1 h3{
		font-size: 27rem;
		margin: 0 0 -13rem;
	}
	.cocoro_home_3_1_1 img[srcset*="/prewall."]{
		max-width: 12vw;
	}
	.cocoro_home_3 p{
		font-size: 22rem;
	}
	body.home #veil_home{
		background-size: 250%;
		background-position: 48% 0;
		padding-bottom: 50rem;
	}
	body.home #veil_home .h2{
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 100rem 0 580rem;
	}
	body.home #veil_home .h2 img{
		/*height: 41rem;*/
	}
	body.home #veil_home .veil_home_1 h3{
		font-size: 37rem;
		line-height: 1.4;
	}
	body.home #veil_home .veil_home_1_2{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: 50rem;
	}
	.view_more{
		margin: 60rem 0 20rem;
	}

	.post_list{
		/* flex-direction: column; */
		padding: 0 5vw;
	}
	.post_list .box{
		flex-basis: 100%;
	}
	.post_list .box.dummy{
		display: none;
	}
	.post_list .box :is(.title, .area_sqm){
		font-size: 25rem;
	}
	.post_list .box .more{
		font-size: 19rem;
	}
	.category_date{
		font-size: 15rem;
	}

	/* パンくず: モバイルは文字を読みやすく */
	.breadcrumb__list{
		font-size: 17rem;
	}
	/* 記事: パンくず〜本文の上余白を詰める */
	body.single-post .single-main{
		padding-top: 22rem;
	}

	/* 不動産物件詳細: モバイル調整（コンパクト化） */
	.vhp-title{ font-size: 27rem; margin-bottom: 20rem; } /* 下marginを約15px(0.18vw基準) */
	.vhp-tag, .vhp-no, .vhp-status{ font-size: 14rem; }
	/* 販売価格の横に土地面積・所在地を並べてコンパクトに */
	.vhp-summary{ flex-direction: row; flex-wrap: nowrap; }
	.vhp-summary__price{ flex: 0 0 38%; padding: 13rem 12rem; }
	.vhp-summary__label{ font-size: 13rem; }
	.vhp-summary__price-val{ font-size: 30rem; }
	.vhp-summary__tsubo{ font-size: 12rem; }
	.vhp-summary__facts{ flex: 1 1 62%; }
	.vhp-summary__facts dt{ flex-basis: 84rem; font-size: 13rem; padding: 9rem 10rem; }
	.vhp-summary__facts dd{ font-size: 14rem; padding: 9rem 10rem; }
	.vhp-section__title{ font-size: 21rem; }
	.vhp-gallery__thumb{ width: 120rem; }
	.vhp-gallery__nav{ width: 60rem; height: 60rem; font-size: 38rem; }
	.vhp-gallery__counter{ font-size: 16rem; padding: 6rem 14rem; }
	.vhp-appeal__catch{ font-size: 20rem; }
	.vhp-appeal__body, .vhp-desc__body, .vhp-access__text{ font-size: 18rem; }

	/* 物件概要: モバイルも2列、各セルはラベル上・値下に積む */
	.vhp-table{ font-size: 16rem; }
	.vhp-table__item{ display: block; }
	.vhp-table__label{ border-right: 0; background-color: #fff; color: var(--color6); font-size: 14rem; padding: 8rem 12rem 0; }
	.vhp-table__value{ padding: 2rem 12rem 9rem; }

	/* 設備・インフラ: 4列で横並び・コンパクト */
	.vhp-infra__list{ grid-template-columns: repeat(4, 1fr); gap: 7rem; }
	.vhp-infra__item{ padding: 10rem 5rem; gap: 5rem; }
	.vhp-infra__label{ font-size: 13rem; padding: 3rem 0; }
	.vhp-infra__value{ font-size: 13rem; }
	/* CTA: padding 15/20・ボタン横並び・中央揃え */
	.vhp-cta{ padding: 15rem 20rem; }
	.vhp-cta__lead{ font-size: 17rem; margin-bottom: 14rem; }
	.vhp-cta__btns{ flex-direction: row; flex-wrap: nowrap; gap: 10rem; }
	.vhp-cta__btns a{ flex: 1; width: auto; min-width: 0; font-size: 14rem; padding: 14rem 6rem; }
	.vhp-sticky-cta{ padding: 9rem 10rem; gap: 8rem; }
	.vhp-sticky-cta a{ max-width: none; font-size: 14rem; padding: 14rem 6rem; }
	.vhp-company__name{ font-size: 18rem; }
	.vhp-company__addr, .vhp-company__tel{ font-size: 14rem; }

	/* 不動産一覧カード: モバイル */
	.vhp-card{ gap: 12rem; }
	.vhp-card__media{ flex-basis: 40%; }
	.vhp-card__info{ padding: 14rem 12rem 14rem 0; }
	.vhp-card__meta{ gap: 6rem; margin-bottom: 8rem; }
	.vhp-card__cat{ font-size: 14rem; }
	.vhp-card__title{ font-size: 21rem; }
	.vhp-card__loc{ font-size: 15rem; }
	.vhp-card__price{ font-size: 30rem; }
	.vhp-card__specs{ gap: 4rem 14rem; }
	.vhp-card__specs > div{ font-size: 15rem; }

	/* トップ/ブランドの物件カード: モバイルは一覧と同じ横並び（左画像・右テキスト） */
	.post_list.veil_home_archive .vhp-card{ flex-direction: row; }
	.post_list.veil_home_archive .vhp-card__media{ flex: 0 0 40%; width: auto; }
	.post_list.veil_home_archive .vhp-card__info{ padding: 14rem 12rem 14rem 0; }
	.vhp-archive-main .post_list.veil_home_archive .box{ flex-basis: 100%; } /* モバイルは1列フル幅 */

	/* ブランドアーカイブ: パンくずをフルヘッダーの大ロゴ下まで下げる */
	body.veil_home_archive .breadcrumb,
	body.cocoro_home_archive .breadcrumb{
		margin-top: 80rem;
	}

	/* 検索: モバイルは右下フローティングボタン＋モーダル */
	.vhp-archive-layout{ flex-direction: column; gap: 0; }
	.vhp-fab{
		display: inline-flex;
		align-items: center;
		gap: 8rem;
		position: fixed;
		right: 14px;
		bottom: 18px;
		z-index: 1500;
		padding: 14rem 24rem;
		border: 0;
		border-radius: 50rem;
		background-color: var(--color5);
		color: #fff;
		font-weight: 700;
		font-size: 16rem;
		box-shadow: 0 6rem 20rem rgba(0, 0, 0, 0.28);
		cursor: pointer;
		transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
	}
	/* 不動産セクション外ではフェードで隠す（ブランドページ等） */
	.vhp-fab.is-hidden{
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateY(20rem);
	}
	.vhp-fab__icon{
		width: 17rem;
		height: 17rem;
		border: 2rem solid #fff;
		border-radius: 50%;
		position: relative;
	}
	.vhp-fab__icon::after{
		content: "";
		position: absolute;
		right: -5rem;
		bottom: -4rem;
		width: 8rem;
		height: 2rem;
		background-color: #fff;
		transform: rotate(45deg);
	}
	body.vhp-search-open .vhp-fab{ display: none; }

	/* 検索フォームをモーダル化 */
	.vhp-search{
		position: fixed;
		inset: 0;
		z-index: 2000;
		width: auto;
		flex-basis: auto;
		display: none;
		background-color: rgba(0, 0, 0, 0.5);
		padding: 40rem 16rem;
		overflow-y: auto;
	}
	body.vhp-search-open{ overflow: hidden; }
	body.vhp-search-open .vhp-search{ display: block; }
	.vhp-search__form{
		position: relative;
		max-width: 520rem;
		margin: 0 auto;
	}
	.vhp-search__close{
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: 6rem;
		right: 6rem;
		width: 44rem;
		height: 44rem;
		padding: 0;
		border: 0;
		background: none;
		color: var(--color6);
		font-size: 32rem;
		line-height: 1;
		cursor: pointer;
	}
	.vhp-search__title{ font-size: 22rem; padding-right: 40rem; }
	.vhp-search__label{ font-size: 15rem; }
	.vhp-search__group input[type="text"],
	.vhp-search__group select{ font-size: 16rem; padding: 11rem 12rem; }
	.vhp-search__check{ font-size: 16rem; }
	.vhp-search__tilde{ font-size: 16rem; }
	.vhp-search__submit{ font-size: 17rem; padding: 15rem; }
	.vhp-search__reset{ font-size: 15rem; }

	/* ブログ一覧: モバイルは左画像・右テキストの横並び（アーカイブ＋トップのBlogセクション） */
	body.blog:not(.single) .post_list .box .frame,
	body.home .post_list.blog .box .frame{
		display: flex;
		gap: 14rem;
		align-items: stretch;
	}
	body.blog:not(.single) .post_list .box .image,
	body.home .post_list.blog .box .image{
		flex: 0 0 38%;
		aspect-ratio: 4 / 3;
	}
	body.blog:not(.single) .post_list .box .box__body,
	body.home .post_list.blog .box .box__body{
		flex: 1 1 auto;
		min-width: 0;
		padding: 2rem 0;
	}
	body.blog:not(.single) .post_list .box .title,
	body.home .post_list.blog .box .title{
		font-size: 20rem;
		margin: 6rem 0 4rem;
	}
	body.blog:not(.single) .post_list .box .more,
	body.home .post_list.blog .box .more{
		font-size: 15rem;
	}
	body.blog:not(.single) .post_list .box .category_date,
	body.home .post_list.blog .box .category_date{
		font-size: 13rem;
	}

	/* 記事本文: モバイルは約15pxで読みやすく（0.18vw基準で20rem≈15px @414px） */
	body.single-post article .content{
		font-size: 20rem;
		line-height: 1.9;
	}
	body.single-post .post-faq__q{
		font-size: 21rem;
	}
	body.single-post .post-faq__a{
		font-size: 20rem;
	}

	/* サイドバー内テキスト: モバイルは本文スケール（≈15px）に合わせて拡大 */
	body.single-post .side-widget__title{
		font-size: 26rem;
	}
	body.single-post .side-cats a{
		font-size: 20rem;
		padding-top: 14rem;
		padding-bottom: 14rem;
	}
	body.single-post .side-brand__en{
		font-size: 22rem;
	}
	body.single-post .side-brand__ja{
		font-size: 18rem;
	}
	body.single-post .side-cta a{
		font-size: 20rem;
		padding: 18rem;
	}

	/* CTA: モバイルは本文スケールに合わせて拡大・ボタン縦積み */
	body.single-post .post-cta{
		margin-top: 80rem;
	}
	body.single-post .post-cta__inner{
		padding: 56rem 22rem 52rem;
		border-radius: 14rem;
	}
	body.single-post .post-cta__inner::before{
		inset: 12rem;
		border-radius: 9rem;
	}
	body.single-post .post-cta__br{
		display: none;
	}
	body.single-post .post-cta__en{
		font-size: 26rem;
		gap: 14rem;
	}
	body.single-post .post-cta__en::before,
	body.single-post .post-cta__en::after{
		width: 32rem;
	}
	body.single-post .post-cta__title{
		font-size: 40rem;
	}
	body.single-post .post-cta__text{
		font-size: 19rem;
		margin-bottom: 36rem;
	}
	body.single-post .post-cta__btns{
		flex-direction: column;
		gap: 14rem;
	}
	body.single-post .post-cta__btn{
		width: 100%;
		min-width: 0;
		font-size: 21rem;
		padding: 22rem 56rem 22rem 34rem;
	}
	body.single-post .post-cta__btn::after{
		width: 10rem;
		height: 10rem;
	}

	/* 記事サイドバー: モバイルは本文の下に縦積み */
	body.single-post .single-layout{
		flex-direction: column;
		gap: 0;
	}
	body.single-post .single-side{
		flex-basis: auto;
		width: 100%;
		padding-top: 40rem;
		margin-top: 40rem;
		border-top: 1px solid var(--color3);
		position: static;
	}
	body.single-post .related-title{
		margin: 80rem 0 40rem;
		font-size: 38rem;
	}
	body.single-post .post_list .box .title{
		font-size: 25rem;
	}
	body.single-post .post_list .box .more{
		font-size: 19rem;
	}

	.category_block{
		flex-direction: column;
		align-items: start;
		gap: 12rem;
	}

	.pagination{
		margin: 100rem 0 100rem;
	}

	body.single article .title{
		font-size: 32rem;
	}

	.cocoro_veil .site-header-1.cocoro_home{
		/*flex-direction: column-reverse;
		padding: 25rem 3vw;
		height: auto;
		gap: 30rem;*/
		padding: 5rem 3vw;
	}
	.cocoro_veil .site-header-1.is-shrink.cocoro_home{
		/*flex-direction: row;*/
		padding: 5rem 3vw;
	}
	.cocoro_veil .site-header-1 .site-branding :is(.cocoro_home_logo, .veil_home_logo) img{
		position: relative;
		top: 0rem;
		left: 0;
		min-width: 0vw;
	}
	.cocoro_veil .site-header:not(.nav_open) .site-header-1:not(.is-shrink) .site-branding .cocoro_home_logo img{
		top: 75rem;
		left: 6.5vw;
		min-width: 80vw;
		margin-right: -100rem;
	}
	.cocoro_veil .site-header-1.cocoro_home .nav_knob{
		/*align-self: flex-end;*/
	}

	.cocoro_veil .site-header:not(.nav_open) .site-header-1:not(.is-shrink) .site-branding .veil_home_logo img{
		top: 75rem;
		left: 18vw;
		min-width: 320rem;
	}
	.page-template-veil_home .main_image{
		height: 75vw;
		margin-top: 120rem;
	}

	.page-template-cocoro_home .main_image{
		height: 75vw;
		margin: 120rem 0 70rem;
	}
	.page-template-cocoro_home .row_type1 .left{
		margin: 40rem 0;
	}
	.page-template-cocoro_home #story p{
		width: 100%;
	}
	.page-template-cocoro_home #prewall .row_type1{
		flex-direction: row;
	}
	#cocoro_home_archive{
		padding-bottom: 50rem;
	}
	.post-type-archive-cocoro_home_works #cocoro_home_archive{
		margin-top: 100rem;
	}
	.single-cocoro_home_works .contents{
		margin-top: 50rem;
	}

	.page-template-veil_home .veil_home_2{
		margin-bottom: 40rem;
	}
	.page-template-veil_home .veil_home_2 .left{
		margin: 40rem 0;
	}
	.page-template-veil_home .img_2{
		margin: 0rem 0 80rem;
	}
	#veil_home_archive :is(h1, h2){
		font-size: 40rem;
		margin: 10rem 5vw 50rem;
	}
	.single-veil_home_property .vhp-meta-table{
		width: 100%;
	}

	#veil_home_archive{
		padding: 13vw 0;
	}
	.veil_home_archive #veil_home_archive{
		margin-top: 24rem;
	}
	.single-veil_home_property .contents{
		margin-top: 50rem;
	}

	table.type1,
	table.type1 tbody,
	table.type1 tr,
	table.type1 th,
	table.type1 td{
		display: block;
	}
	table.type1{
		width: 100vw;
		margin: 0 0 0 -3vw;
	}
	table.type1 :is(th, td){
		padding: 2vw 3vw;
	}
	table.type1 th{
		border: 0;
		padding-bottom: 0;
	}
	table.type1 td{
		width: auto;
		padding-top: 0;
	}

	.page-template-legal table.type1{
		width: 100%;
		margin: 0 0 50rem;
	}
	.page-template-legal h1{
		text-align: left;
	}

	.line_mail{
		flex-direction: column;
	}

	.page-template-contact .contents .p1{
		font-size: 24rem;
		margin: 50rem 0 10rem;
	}
	table.type_cf7 :is(th, td), #wpcf7cpcnf table :is(th, td){
		font-size: 24rem;
	}
	#wpcf7cpcnf table,
	#wpcf7cpcnf table thead,
	#wpcf7cpcnf table tbody,
	#wpcf7cpcnf table tr,
	#wpcf7cpcnf table th,
	#wpcf7cpcnf table td{
		display: block;
	}
	#wpcf7cpcnf table th{
		padding-bottom: 0;
	}
	#wpcf7cpcnf table td{
		padding-top: 0;
		padding-left: 2em;
	}

	input[type="text"],
	input[type="email"],
	input[type="number"],
	input[type="tel"],
	input[type="url"],
	input[type="password"],
	input[type="datetime"],
	input[type="datetime-local"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="search"],
	textarea,
	select{
		font-size: 20rem;
	}
	.page-template-contact .submit_area{
		margin-bottom: 80rem;
	}
	.wpcf7-submit, .wpcf7cp-cfm-edit-btn{
		font-size: 24rem;
	}
	#page .wpcf7-response-output{
		font-size: 20rem;
	}
	.wpcf7-not-valid-tip{
		font-size: 20rem;
	}
	.wpcf7-spinner {
		top: calc(50% + 0rem);
		left: calc(50% + 39rem);
	}

	.site-footer{
		margin-top: 0;
	}
	.site-footer .footer1{
		flex-direction: column;
		padding: 0;
	}
	.site-footer .footer1 .left{
		justify-content: center;
	}
	.site-footer .footer1 img[srcset*="/ks_logo@2x."]{
		min-width: 90rem;
	}
	.site-footer .footer1l_2{
		font-size: 15rem;
	}
	.site-footer .footer1r_1{
		justify-content: space-between;
		margin: 50rem 0;
		font-size: 20rem;
	}
	.cocoro_veil .site-footer .footer1r_1{
		justify-content: center;
	}
	.site-footer .footer1r_2{
		flex-direction: column;
		align-items: center;
		gap: 70rem;
		margin: 60rem 0;
	}
	.site-footer img[srcset*="/footer/cocoro_home."]{
		min-width: 170rem;
	}
	.site-footer img[srcset*="/footer/veil_home."]{
		min-width: 110rem;
	}
	.site-footer .ks_holding2{
		min-width: 260rem;
	}
	.site-footer :is(.cocoro_home2, .veil_home2){
		height: 36rem;
		width: auto;
	}
	.site-footer .footer1r_3{
		justify-content: center;
		font-size: 15rem;
		margin: 50rem 0;
	}
	.site-footer .footer_sns{
		justify-content: center;
		gap: 55rem;
		font-size: 55rem;
	}
	.site-footer .coryright{
		font-size: 15rem;
	}
}

/* =========================================================================
 * COCORO HOME WORKS 施工実績 詳細ページ（single-cocoro_home_works.php）
 * すべて body.single-cocoro_home_works にスコープ。
 * COCORO HOME のテイスト（garamond 英字見出し＋zen-kaku 和文 / #d7224c）に準拠。
 * ======================================================================= */

body.single-cocoro_home_works .chw-single{
	overflow: hidden;
}
body.single-cocoro_home_works .breadcrumb{
	position: relative;
	z-index: 5;
}

/* --- 共通見出し ---------------------------------------------------------- */
body.single-cocoro_home_works .chw-heading{
	white-space: normal;
	font-size: 46rem;
	line-height: 1;
	margin: 0 0 44rem;
	color: var(--text_color);
}
body.single-cocoro_home_works .chw-heading span{
	display: block;
}
body.single-cocoro_home_works .chw-heading small{
	font-size: 0.3em;
	letter-spacing: 0.08em;
	color: var(--color2);
	margin-top: 12rem;
}
body.single-cocoro_home_works .chw-heading::after{
	content: "";
	display: block;
	width: 46rem;
	height: 3rem;
	background: var(--color2);
	margin: 20rem 0 0;
}
body.single-cocoro_home_works .chw-heading--center{
	text-align: center;
}
body.single-cocoro_home_works .chw-heading--center::after{
	margin: 20rem auto 0;
}

/* --- ① ヒーロー ---------------------------------------------------------- */
body.single-cocoro_home_works .chw-hero{
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 620rem;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	margin-top: -20rem;
}
body.single-cocoro_home_works .chw-hero__overlay{
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.15) 45%, rgba(0,0,0,0.62) 100%);
}
body.single-cocoro_home_works .chw-hero__inner{
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 1024px;
	max-width: 94%;
	padding: 0 0 84rem;
	color: #fff;
}
body.single-cocoro_home_works .chw-hero__label{
	order: -1;
	font-family: "garamond-premier-pro", serif;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 26rem;
}
body.single-cocoro_home_works .chw-hero__label span{
	display: inline-block;
	font-size: 30rem;
	letter-spacing: 0.08em;
}
body.single-cocoro_home_works .chw-hero__label small{
	display: inline-block;
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-size: 13rem;
	letter-spacing: 0.14em;
	margin-left: 14rem;
	padding-left: 14rem;
	border-left: 1px solid rgba(255,255,255,0.6);
	vertical-align: middle;
}
body.single-cocoro_home_works .chw-hero__catch{
	font-size: 40rem;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.02em;
	margin: 0 0 22rem;
	text-shadow: 0 2rem 24rem rgba(0,0,0,0.35);
	max-width: 20em;
}
body.single-cocoro_home_works .chw-hero__title{
	order: 3;
	white-space: normal;
	word-break: break-word;
	font-family: "zen-kaku-gothic-new", sans-serif;
	font-size: 19rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.04em;
	margin: 4rem 0 0;
	opacity: 0.95;
}
body.single-cocoro_home_works .chw-hero__meta{
	order: 4;
	display: flex;
	flex-wrap: wrap;
	gap: 10rem;
	margin: 22rem 0 0;
}
body.single-cocoro_home_works .chw-chip{
	display: inline-block;
	font-size: 13rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1;
	padding: 9rem 16rem;
	border-radius: 100rem;
	background: rgba(255,255,255,0.92);
	color: var(--text_color);
	backdrop-filter: blur(2px);
}
body.single-cocoro_home_works .chw-chip--type{
	background: var(--color2);
	color: #fff;
}

/* --- ② クイックスペック（ヒーローに重なるカード） ----------------------- */
body.single-cocoro_home_works .chw-quickspec{
	position: relative;
	z-index: 3;
}
body.single-cocoro_home_works .chw-quickspec .center_block{
	margin-top: -46rem;
}
body.single-cocoro_home_works .chw-quickspec__list{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	background: #fff;
	border-radius: 10rem;
	box-shadow: 0 18rem 50rem rgba(35,24,21,0.10);
	overflow: hidden;
}
body.single-cocoro_home_works .chw-quickspec__item{
	flex: 1 1 0;
	min-width: 0;               /* 全項目を1段に均等配置（単独回り込みを防ぐ） */
	box-sizing: border-box;
	padding: 26rem 14rem;
	border-right: 1px solid #eee;
	text-align: center;
}
body.single-cocoro_home_works .chw-quickspec__item:last-child{
	border-right: 0;
}
body.single-cocoro_home_works .chw-quickspec__item dt{
	font-size: 12rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--color7);
	margin: 0 0 10rem;
}
body.single-cocoro_home_works .chw-quickspec__item dd{
	font-size: 17rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
	color: var(--text_color);
}

/* --- レイアウト共通 ------------------------------------------------------ */
body.single-cocoro_home_works .chw-body{
	position: relative;
	z-index: 1;
}
body.single-cocoro_home_works .chw-section{
	margin: 96rem 0;
}

/* --- ③ CONCEPT ---------------------------------------------------------- */
body.single-cocoro_home_works .chw-concept{
	text-align: center;
}
body.single-cocoro_home_works .chw-concept .chw-heading{
	display: inline-block;
	text-align: center;
}
body.single-cocoro_home_works .chw-concept .chw-heading::after{
	margin: 20rem auto 0;
}
body.single-cocoro_home_works .chw-concept__lead{
	font-size: 18rem;
	line-height: 2.1;
	color: #3a3330;
	max-width: 780rem;
	margin: 0 auto;
}
body.single-cocoro_home_works .chw-points{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16rem 24rem;
	list-style: none;
	margin: 44rem 0 0;
	padding: 0;
	text-align: left;
}
body.single-cocoro_home_works .chw-points li{
	position: relative;
	background: var(--color1);
	border-radius: 8rem;
	padding: 20rem 24rem 20rem 52rem;
	font-size: 16rem;
	font-weight: 500;
	line-height: 1.6;
}
body.single-cocoro_home_works .chw-points li::before{
	content: "";
	position: absolute;
	left: 22rem;
	top: 50%;
	width: 16rem;
	height: 9rem;
	border-left: 3rem solid var(--color2);
	border-bottom: 3rem solid var(--color2);
	transform: translateY(-70%) rotate(-45deg);
}

/* --- ④ GALLERY ---------------------------------------------------------- */
body.single-cocoro_home_works .chw-gallery__stage{
	position: relative;
}
body.single-cocoro_home_works .chw-gallery__viewport{
	overflow: hidden;
	border-radius: 10rem;
	background: var(--color1);
}
body.single-cocoro_home_works .chw-gallery__track{
	display: flex;
	transition: transform 0.45s cubic-bezier(0.4,0,0.2,1);
}
body.single-cocoro_home_works .chw-gallery__slide{
	position: relative;
	flex: 0 0 100%;
	aspect-ratio: 16 / 10;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
/* 余白（レターボックス）は同じ画像のぼかしで埋める。縦長・横長どちらも全体表示 */
body.single-cocoro_home_works .chw-gallery__slide::before{
	content: "";
	position: absolute;
	inset: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center;
	filter: blur(28rem) brightness(0.72);
	transform: scale(1.15);
}
body.single-cocoro_home_works .chw-gallery__slide img{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;   /* トリミングせず画像全体を表示 */
	display: block;
}
body.single-cocoro_home_works .chw-gallery__cap{
	position: absolute;
	left: 0;
	bottom: 0;
	max-width: 80%;
	font-size: 13rem;
	color: #fff;
	background: rgba(0,0,0,0.55);
	padding: 8rem 16rem;
	border-top-right-radius: 8rem;
}
body.single-cocoro_home_works .chw-gallery__nav{
	position: absolute;
	top: 50%;
	/* translateZ(0) で独立した合成レイヤーに昇格し、ぼかし背景(filter)による
	   初回未描画バグを防ぐ */
	transform: translateY(-50%) translateZ(0);
	z-index: 3;
	width: 54rem;
	height: 54rem;
	border: 0;
	border-radius: 50%;
	background: rgba(255,255,255,0.92);
	color: var(--text_color);
	font-size: 26rem;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 4rem 16rem rgba(0,0,0,0.18);
	transition: background 0.2s, color 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.single-cocoro_home_works .chw-gallery__nav:hover{
	background: var(--color2);
	color: #fff;
}
body.single-cocoro_home_works .chw-gallery__nav--prev{ left: 20rem; }
body.single-cocoro_home_works .chw-gallery__nav--next{ right: 20rem; }
body.single-cocoro_home_works .chw-gallery__counter{
	position: absolute;
	right: 18rem;
	bottom: 16rem;
	z-index: 3;
	transform: translateZ(0);
	font-size: 13rem;
	color: #fff;
	background: rgba(0,0,0,0.5);
	padding: 6rem 14rem;
	border-radius: 100rem;
	letter-spacing: 0.05em;
}
body.single-cocoro_home_works .chw-gallery__thumbs{
	display: flex;
	flex-wrap: wrap;
	gap: 12rem;
	list-style: none;
	margin: 18rem 0 0;
	padding: 0;
}
body.single-cocoro_home_works .chw-gallery__thumb{
	display: block;
	width: 96rem;
	height: 66rem;
	padding: 0;
	border: 2rem solid transparent;
	border-radius: 6rem;
	overflow: hidden;
	cursor: pointer;
	background: none;
	opacity: 0.6;
	transition: opacity 0.2s, border-color 0.2s;
}
body.single-cocoro_home_works .chw-gallery__thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
body.single-cocoro_home_works .chw-gallery__thumb.is-active,
body.single-cocoro_home_works .chw-gallery__thumb:hover{
	opacity: 1;
	border-color: var(--color2);
}

/* --- ⑤ STORY（本文） ---------------------------------------------------- */
body.single-cocoro_home_works .chw-story__body{
	font-size: 16rem;
	line-height: 2.0;
	color: #3a3330;
}
body.single-cocoro_home_works .chw-story__body p{
	margin: 0 0 28rem;
}
body.single-cocoro_home_works .chw-story__body img{
	border-radius: 8rem;
	margin: 12rem 0;
}
/* STORY 本文の見出し（h2=帯付き / h3=下線ドット、それぞれ別デザイン） */
body.single-cocoro_home_works .chw-story__body :is(h2, h3){
	white-space: normal;
	font-family: "zen-kaku-gothic-new", sans-serif;
	line-height: 1.5;
}
body.single-cocoro_home_works .chw-story__body h2{
	position: relative;
	font-size: 26rem;
	font-weight: 700;
	color: var(--text_color);
	margin: 56rem 0 24rem;
	padding: 0 0 16rem;
	border-bottom: 1px solid #e2ddda;
}
body.single-cocoro_home_works .chw-story__body h2::before{
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 64rem;
	height: 3rem;
	background: var(--color2);
}
body.single-cocoro_home_works .chw-story__body h3{
	display: flex;
	align-items: center;
	gap: 12rem;
	font-size: 21rem;
	font-weight: 700;
	color: var(--color2);
	margin: 40rem 0 16rem;
}
body.single-cocoro_home_works .chw-story__body h3::before{
	content: "";
	flex: 0 0 auto;
	width: 12rem;
	height: 12rem;
	border-radius: 50%;
	border: 3rem solid var(--color2);
	box-sizing: border-box;
}

/* --- ⑥ VOICE（お客様の声） ---------------------------------------------- */
body.single-cocoro_home_works .chw-voice__box{
	position: relative;
	background: var(--color1);
	border-left: 4rem solid var(--color2);
	border-radius: 0 10rem 10rem 0;
	padding: 44rem 50rem 44rem 92rem;
	margin: 0;
	font-size: 16rem;
	line-height: 2.0;
	color: #3a3330;
}
body.single-cocoro_home_works .chw-voice__box::before{
	content: "\201C";
	position: absolute;
	left: 34rem;
	top: 18rem;
	font-family: "garamond-premier-pro", serif;
	font-size: 72rem;
	line-height: 1;
	color: var(--color2);
	opacity: 0.5;
}

/* --- ⑦ DATA（施工データ / 2列コンパクトグリッド） ---------------------- */
body.single-cocoro_home_works .chw-data__grid{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;                 /* 背景色を隙間に見せて罫線化 */
	margin: 0;
	background: #e7e3e2;
	border: 1px solid #e7e3e2;
	border-radius: 8rem;
	overflow: hidden;
}
body.single-cocoro_home_works .chw-data__item{
	display: flex;
	background: #fff;
}
body.single-cocoro_home_works .chw-data__item--full{
	grid-column: 1 / -1;
}
/* 奇数個の半幅セルを埋める空セル（白背景でグレーの透けを防ぐ） */
body.single-cocoro_home_works .chw-data__item--filler{
	background: #fff;
}
body.single-cocoro_home_works .chw-data__item dt{
	flex: 0 0 92rem;
	padding: 13rem 16rem;
	font-size: 13rem;
	font-weight: 700;
	color: var(--text_color);
	background: #faf9f8;
	display: flex;
	align-items: center;
}
body.single-cocoro_home_works .chw-data__item dd{
	flex: 1 1 auto;
	margin: 0;
	padding: 13rem 16rem;
	font-size: 14rem;
	line-height: 1.6;
	display: flex;
	align-items: center;
}

/* --- ⑧ CTA -------------------------------------------------------------- */
body.single-cocoro_home_works .chw-cta{
	background: linear-gradient(135deg, #d7224c 0%, #b21a3e 100%);
	color: #fff;
	text-align: center;
	padding: 84rem 0;
	margin-top: 100rem;
}
body.single-cocoro_home_works .chw-cta__lead{
	font-size: 30rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 18rem;
	text-align: center; /* グローバル p{text-align:justify} を打ち消し PC中央に */
}
body.single-cocoro_home_works .chw-cta__sub{
	font-size: 15rem;
	line-height: 1.9;
	opacity: 0.95;
	margin: 0 0 40rem;
	text-align: center;
}
body.single-cocoro_home_works .chw-cta__btns{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 18rem;
}
body.single-cocoro_home_works .chw-cta__btn{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 280rem;
	padding: 20rem 40rem;
	border-radius: 100rem;
	font-size: 16rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	transition: transform 0.2s, box-shadow 0.2s, opacity 0.2s;
}
body.single-cocoro_home_works .chw-cta__btn--primary{
	background: #fff;
	color: var(--color2);
	box-shadow: 0 10rem 30rem rgba(0,0,0,0.18);
}
body.single-cocoro_home_works .chw-cta__btn--line{
	background: var(--color8);
	color: #fff;
	box-shadow: 0 10rem 30rem rgba(6,199,85,0.35);
}
body.single-cocoro_home_works .chw-cta__btn:hover{
	transform: translateY(-2rem);
	opacity: 0.94;
}

/* --- ⑨ OTHER WORKS（関連） ---------------------------------------------- */
body.single-cocoro_home_works .chw-related{
	margin: 96rem 0 40rem;
}
body.single-cocoro_home_works .chw-related .chw-heading{
	margin-bottom: 30rem;
}

/* --- レスポンシブ（スマホ: html font-size 0.18vw のため文字/余白を拡大） - */
@media (max-width: 550px) {
	body.single-cocoro_home_works .chw-hero{
		min-height: 96vw;
		margin-top: -10rem;
	}
	body.single-cocoro_home_works .chw-hero__inner{
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding: 0 26rem 60rem;
	}
	body.single-cocoro_home_works .chw-hero__label span{ font-size: 40rem; }
	body.single-cocoro_home_works .chw-hero__label small{ font-size: 18rem; }
	/* コンテナ幅に依存せずビューポート内に確実に収める（vw 基準で折り返し） */
	body.single-cocoro_home_works .chw-hero__catch{ font-size: 30rem; line-height: 1.5; max-width: 86vw; }
	body.single-cocoro_home_works .chw-hero__title{ font-size: 22rem; max-width: 86vw; }
	body.single-cocoro_home_works .chw-hero__meta{ max-width: 86vw; }
	body.single-cocoro_home_works .chw-chip{ font-size: 18rem; padding: 12rem 20rem; }

	body.single-cocoro_home_works .chw-heading{ font-size: 60rem; }
	body.single-cocoro_home_works .chw-heading small{ font-size: 0.34em; }

	body.single-cocoro_home_works .chw-section{ margin: 76rem 0; }

	body.single-cocoro_home_works .chw-quickspec__item{
		flex: 1 1 50%;
		min-width: 0;
		padding: 22rem 14rem;
		border-bottom: 1px solid #eee;
	}
	body.single-cocoro_home_works .chw-quickspec__item:nth-child(even){ border-right: 0; }
	body.single-cocoro_home_works .chw-quickspec__item dt{ font-size: 17rem; }
	body.single-cocoro_home_works .chw-quickspec__item dd{ font-size: 22rem; }

	body.single-cocoro_home_works .chw-concept__lead{ font-size: 24rem; line-height: 2.0; }
	body.single-cocoro_home_works .chw-points{ grid-template-columns: 1fr; gap: 12rem; }
	body.single-cocoro_home_works .chw-points li{ font-size: 22rem; padding: 22rem 22rem 22rem 58rem; }
	body.single-cocoro_home_works .chw-points li::before{ left: 24rem; width: 18rem; height: 10rem; }

	body.single-cocoro_home_works .chw-gallery__nav{ width: 64rem; height: 64rem; font-size: 34rem; }
	body.single-cocoro_home_works .chw-gallery__thumb{ width: 120rem; height: 80rem; }
	body.single-cocoro_home_works .chw-gallery__counter,
	body.single-cocoro_home_works .chw-gallery__cap{ font-size: 18rem; }

	/* スマホの本文は固定15px・行間1.75（可読性を確定させる） */
	body.single-cocoro_home_works .chw-story__body{ font-size: 15px; line-height: 1.75; }
	body.single-cocoro_home_works .chw-story__body h2{ font-size: 33rem; margin: 60rem 0 24rem; }
	body.single-cocoro_home_works .chw-story__body h2::before{ width: 84rem; height: 4rem; }
	body.single-cocoro_home_works .chw-story__body h3{ font-size: 27rem; margin: 46rem 0 16rem; }
	body.single-cocoro_home_works .chw-story__body h3::before{ width: 16rem; height: 16rem; border-width: 4rem; }

	body.single-cocoro_home_works .chw-voice__box{
		font-size: 22rem;
		padding: 40rem 34rem 40rem 34rem;
	}
	body.single-cocoro_home_works .chw-voice__box::before{ font-size: 90rem; left: 20rem; top: 10rem; opacity: 0.25; }

	/* DATA: スマホも2列を維持しつつ、各セルはラベル上・値下の縦積みでコンパクトに */
	body.single-cocoro_home_works .chw-data__item{ flex-direction: column; }
	body.single-cocoro_home_works .chw-data__item dt{
		flex: none;
		width: 100%;
		padding: 14rem 16rem 4rem;
		font-size: 17rem;
		background: transparent;
		color: var(--color7);
	}
	body.single-cocoro_home_works .chw-data__item dd{
		width: 100%;
		padding: 0 16rem 16rem;
		font-size: 21rem;
		align-items: flex-start;
	}

	/* CTA: モバイルは左揃え（PCはセンターのまま） */
	body.single-cocoro_home_works .chw-cta{ padding: 68rem 0; text-align: left; }
	body.single-cocoro_home_works .chw-cta__lead{ font-size: 40rem; text-align: left; }
	body.single-cocoro_home_works .chw-cta__sub{ font-size: 21rem; text-align: left; }
	body.single-cocoro_home_works .chw-cta__btns{ justify-content: flex-start; }
	body.single-cocoro_home_works .chw-cta__btn{ width: 100%; min-width: 0; font-size: 22rem; padding: 26rem 30rem; }
}

/* --- 施工実績 一覧カード（archive / COCORO HOMEトップ / 関連） ---------- */
.post_list .box .chw-card-type{
	display: inline-block;
	font-size: 12rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #fff;
	background: var(--color2);
	padding: 6rem 12rem;
	border-radius: 100rem;
}
.post_list .box .chw-card-loc{
	margin-top: 8rem;
	font-size: 13rem;
	color: var(--color7);
	letter-spacing: 0.02em;
}
.post_list .box .chw-card-loc::before{
	content: "📍";
	margin-right: 4rem;
	font-size: 0.9em;
}
@media (max-width: 550px) {
	.post_list .box .chw-card-type{ font-size: 17rem; padding: 8rem 16rem; }
	.post_list .box .chw-card-loc{ font-size: 19rem; }
}
