@charset "utf-8";
@import url('css/font.css');
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(font/materialicons.woff2) format('woff2');
  font-display: swap;
}
.reason-items .reason-item .icon .material-symbols-outlined, .material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -moz-font-feature-settings: 'liga';
  -moz-osx-font-smoothing: grayscale;
}
html body {
  font-family: 'Noto Sans JP', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
  color: var(--col_text_main);
  font-weight: 400;
}
.slide-text {
  font-family: var(--font_serif);
}
.serif, .mincho {
  font-family: var(--font_serif);
  font-feature-settings: "palt"1;
  letter-spacing: 0.1em;
}
.telnum {
  font-family: 'Arial', 'Helvetica', "sans-serif"
}
/*BRAND*/ :root {
  --col_key01: #493628; /*ナビなどで使用*/
  --col_key02: #ab886d;
  --col_key03: #d6c0b3;
  --col_key04: #faf8f6; /*薄い背景など*/
  --col_key05: #836752; /*ボタン*/
  --col_text_main: #454545;
  --col_text_link: #3C3835;
  --hdr-height: 100px;
  --hdr-height-sm: 60px;
  --font_serif: 'Noto Serif JP', serif;
}
.col_key01 {
  color: var(--col_key01) !important;
}
.col_bg_key01 {
  background: var(--col_key01) !important;
}
.col_key02 {
  color: var(--col_key02) !important;
}
.col_bg_key02 {
  background: var(--col_key02) !important;
}
.col_key03 {
  color: var(--col_key03) !important;
}
.col_bg_key04 {
  background: var(--col_key04) !important;
}
.col_key05 {
  color: var(--col_key05) !important;
}
.col_bg_key05 {
  background: var(--col_key05) !important;
}
.col_key_bg01 {
  background: var(--col_key04);
}
#main {
  font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
}
/*
h1,h2,h3,h4,h5,h6,.gothic{
font-family: 'Noto Sans JP', sans-serif;
color: #222;
}
*/
.over_btn .todetail a {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  padding: 0 !important;
  overflow: hidden;
  text-indent: -150%;
  white-space: nowrap;
  border: 0 !important;
}
a, #headnav ul li a, .home-menu a:link, .home-menu a:visited {
  color: #3C3835;
}
body.home #breadcrumb {
  display: none;
}
/*ラッパー最大幅*/
.wrapper.container {
  max-width: 1230px;
}
/*HEADER*/
#wrapper .btn-gnavi {
  right: 3%;
  top: 50px;
  transform: translateY(-50%);
}
#globalheader {
  z-index: 300;
  position: fixed;
  right: 0;
  left: 0;
  top: calc(var(--hdr-height) * 0.5);
  margin-left: 3%;
  margin-right: 3%;
  transform: translateY(-50%);
  transition: transform 0.3s ease; /* ← これを追加 */
}
#globalheader .sitetitle {
  max-width: 120px;
  width: 100%;
}
#globalheader .sitetitle .w100 {
  display: block;
  position: relative;
  height: 100%;
}
#globalheader .sitetitle img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#header:before {
  content: "";
  position: fixed;
  display: block;
  top: 0;
  background: rgba(255, 255, 255, 1);
  /*
backdrop-filter:blur( 5px );
-webkit-backdrop-filter: blur(5px);
*/
  width: 100%;
  height: var(--hdr-height);
  z-index: 299;
}
#header {
  padding-top: var(--hdr-height);
}
#headnav {
  margin-right: 50px;
}
@media screen and (min-width:1480px) {}
#headnav ul {
  font-size: 0;
  letter-spacing: 0;
  margin: 0;
  white-space: nowrap;
  text-align: right;
}
#headnav ul li {
  font-size: 14px;
}
#headnav ul li a {
  white-space: nowrap;
  padding: 19px 1vw;
  display: block;
}
#headnav ul li a:hover {}
#headnav .home-menu {
  margin: 0;
  padding: 0;
}
.home-menu li {
  padding: 0;
}
.home-menu li li {
  text-align: left;
}
#headnav .home-menu li:not(.links_offer) a {
  line-height: 1.5;
}
#headnav .home-menu li:not(.links_offer) a:after {
  content: "";
  display: block;
  height: 2px;
  background: var(--col_key03);
  width: 0;
  opacity: 0;
  transition: .3s;
  margin-left: -0.3em;
}
#headnav .home-menu li:not(.links_offer) a:hover:after {
  width: calc(100% + .6em);
  opacity: 1;
}
#headnav .home-menu .sub-menu li a:after {
  content: none;
}
#headnav .home-menu .sub-menu li a {
  padding: 0.5rem 2rem;
  position: relative;
}
#headnav .home-menu .sub-menu li a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: var(--col_key03);
  opacity: 0;
  transition: .3s;
}
#headnav .home-menu .sub-menu li a:hover:before {
  background: var(--col_key03);
  opacity: 0.3;
}
.home-menu .sub-menu {
  margin-left: 1.5em;
}
.home-menu .sub-menu > .menu-item a {
  padding: 0.3em 0.5em;
  line-height: 16px;
}
#headnav ul li.links_offer a {
  color: #fff;
  padding-top: 23px;
  padding-bottom: 23px;
}
#headnav ul li.links_offer a:hover {
  opacity: .8;
}
li.links_offer a:before {
  font-family: 'Material Icons';
  display: inline-flex;
  justify-content: center;
  font-size: 1.4em;
  margin-right: 0.4em;
  vertical-align: middle;
}
li.links_offer.to_event a {
  background: var(--col_key01);
}
li.links_offer.to_event a:before {
  content: "\efff";
}
li.links_offer.to_shiryou a {
  background: var(--col_key02);
}
li.links_offer.to_shiryou a:before {
  content: "\e873";
}
li.links_offer.to_inquiry a {
  background: var(--col_key03);
}
li.links_offer.to_inquiry a:before {
  content: "\e158";
}
#headnav .home-menu .menu > li {
  vertical-align: top;
}
#headnav li.links_offer.to_sns a, #headnav li.links_offer.to_call a {
  width: 2rem;
}
.home-menu .snslink li {
  display: none;
}
#headnav .home-menu .snslink, #headnav .home-menu .snslink > ul {
  display: contents;
}
#headnav .home-menu .snslink > ul li {
  width: auto;
  display: inline-block;
  margin: 0;
}
.home-menu .snslink > ul li svg {
  width: 1.7rem;
  height: auto;
}
.home-menu .snslink > ul li a, .home-menu .snslink > ul li svg path {
  height: auto;
  line-height: 1;
  transition: .2s;
}
.home-menu .snslink > ul li a {
  padding: 1rem 0.5rem !important;
}
.home-menu .snslink > ul li svg path {
  fill: #333;
  opacity: 0.6;
}
.home-menu .snslink > ul li a:hover svg path {
  opacity: 1;
}
.home-menu .snslink ul li a:after {
  display: none !important;
}
@media screen and (max-width: 767.98px) {
  #header:before {
    height: var(--hdr-height-sm);
  }
  #header {
    padding-top: var(--hdr-height-sm);
  }
  #wrapper .btn-gnavi {
    top: 25px;
  }
  #globalheader {
    top: calc(var(--hdr-height-sm) * 0.5);
  }
  #globalheader .sitetitle .to_home {
    /*max-width: 100px;*/
    max-height: none;
  }
  #globalheader .sitetitle img {}
  .home-menu .snslink > ul li a {
    padding: 0.5rem !important;
  }
}
@media screen and (max-width: 575.98px) {
  #headnav {
    max-width: calc(100% - 120px);
    overflow: hidden;
  }
}
#foot-offer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 399;
  /*background: rgba(0, 0, 0, 0.10);*/
}
#foot-offer .flexbox {
  max-width: 800px;
  margin: 0 auto;
}
#foot-offer .flexbox > li {
  width: calc(100% / 3);
  margin: 0;
  display: block;
  list-style: none;
}
#foot-offer .flexbox > li a {
  display: block;
  padding: 0.8em 0.3em;
  text-align: center;
  font-size: 1rem;
}
@media screen and (max-width: 575.98px) {
  #foot-offer .flexbox > li a:before {
    display: block;
    margin: 0;
  }
  #foot-offer .flexbox > li a {
    font-size: clamp(0.813rem, 0.578rem + 1.17vw, 1rem);
  }
  /*ヘッダーのSNSアイコン　スマホでは非表示 */
  #headnav .home-menu .snslink > ul {
    display: none;
  }
}
#global-navi #access li.links_offer {
  display: none !important;
}
#foot-offer li a {
  text-decoration: none;
}
@media screen and (max-width: 1199.98px) {
  #headnav .links_offer.to_shiryou, #headnav .links_offer.to_inquiry {
    display: none;
  }
}
/*@media screen and (max-width:767.98px) {
  #headnav .home-menu .menu > li:not(.links_offer) {
    display: none !important;
  }
}20260124*/
/*HOME*/
#home-slider {
  max-width: 2048px;
  height: auto;
  margin: 0 auto;
  z-index: 50;
  position: relative;
  overflow: hidden;
}
#home-slider .nivo-caption {
  display: none !important;
}
.nivo-controlNav {
  display: none;
}
#slideshow:hover .nivo-directionNav a {}
#slideshow .nivo-directionNav a {
  display: block;
  width: 30px;
  height: 30px;
  background: url("images/arrows.png");
  text-indent: 110%;
  white-space: nowrap;
  overflow: hidden;
  transition: all 200ms ease-in-out;
}
#slideshow a.nivo-nextNav {
  background-position: -30px 0;
  right: -45px;
}
#slideshow a.nivo-prevNav {
  left: -45px;
}
#slideshow:hover a.nivo-nextNav {
  background-position: -30px 0;
  right: 15px;
}
#slideshow:hover a.nivo-prevNav {
  left: 15px;
}
/*CAROUSEL*/
#home-carousel {
  background: #fff;
  letter-spacing: 1%;
  z-index: 55;
  position: relative;
  overflow-x: hidden;
}
@media screen and (max-width:991.98px) {
  #home-carousel {
    margin-top: 0;
  }
}
#calousel_ttl .ttl {
  margin: 0 auto 0.7em;
  display: block;
}
#inc-eventposts {
  position: relative;
}
#inc-eventposts .owl-carousel .owl-nav {
  display: block;
  margin: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
}
#inc-eventposts .owl-carousel .owl-nav button {
  opacity: 0;
  display: block;
  margin: 0;
  border-radius: 0;
  background: rgba(0, 0, 0, 0.80);
  color: #fff;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  transition: all .3s ease;
  pointer-events: auto !important;
}
#inc-eventposts .owl-carousel:hover .owl-nav button {
  opacity: 0.7;
  transition: all .3s ease;
}
#inc-eventposts .owl-carousel .owl-nav.disabled {
  display: block !important;
}
.owl-carousel .owl-nav button {
  display: block;
  width: 32px;
  height: 55px;
  overflow: hidden;
}
.owl-carousel .owl-nav button.owl-next {
  right: -55px;
}
.owl-carousel .owl-nav button.owl-prev {
  left: -55px;
}
.owl-carousel:hover .owl-nav button.owl-next {
  right: 0;
}
.owl-carousel:hover .owl-nav button.owl-prev {
  left: 0;
}
.owl-carousel .owl-nav button.owl-next:before, .owl-carousel .owl-nav button.owl-prev:before {
  font-size: 2.5rem;
  display: inline-flex;
  justify-content: center;
}
.owl-carousel .owl-nav button.owl-next:before {
  font-family: 'Material Icons';
  content: "\e5cc";
}
.owl-carousel .owl-nav button.owl-prev:before {
  font-family: 'Material Icons';
  content: "\e5cb";
}
.content_header {
  position: relative;
}
.content_header .to_index {
  position: absolute;
  bottom: 0em;
  right: 0;
  text-align: right;
  font-size: 1rem;
  line-height: 1;
  text-decoration: none;
}
.content_header .to_index:before {
  font-family: 'Material Icons';
  content: "\e896";
  display: inline-block;
  vertical-align: middle;
  opacity: 0.7;
  font-size: 1.4em;
  margin-right: 0.2em;
}
.content_header .to_index.grid:before {
  content: "\e5c3";
}
.content_header .to_index.staff:before {
  content: "\ea1d";
}
body.home .content_header > h2.ttl {}
.content_header a.to_index:hover {
  color: #999;
}
#home-concept:before, #home-concept #home-concept-header .ttl, #concept_choice ul {
  background: var(--col_key04);
}
#home-concept {
  position: relative;
}
#home-concept:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: -3;
}
#home-concept .inbox {
  position: relative;
}
#home-concept .inbox:before {
  content: "";
  display: block;
  position: absolute;
  border: 1px solid #595757;
  width: 100%;
  max-width: 1100px;
  margin-left: 50%;
  transform: translate(-50%);
  bottom: 0;
  top: 0;
  margin-top: 1em;
  z-index: -1
}
#home-concept #home-concept-header .ttl {
  display: inline-block;
  padding: 0 2em;
}
#home-concept #home-concept-header + div p {
  line-height: 2em;
}
#home-concept .inbox + .btn {
  margin-top: -2em;
  cursor: default;
}
#concept_item {
  margin-left: calc(-44vw + 50%);
  margin-right: calc(-44vw + 50%);
}
@media screen and (max-width: 767.98px) {
  #concept_item {
    margin-left: 2rem;
    margin-right: 2rem;
  }
}
#concept_item .nav-item .w100 {
  height: 0;
  padding-top: clamp(12rem, 65%, 6rem);
}
#concept_choice li, #concept_choice li div, #concept_choice li img {
  position: relative;
}
#concept_choice li a {}
#concept_choice li:before {
  position: absolute;
  content: "";
  background: #fff;
  top: 0;
  bottom: 0;
  left: 15px;
  right: 15px;
  display: block;
}
#concept_choice li a {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
}
#concept_choice li .txtcell {
  padding: 0.2em 0.7em 1.5em;
}
#concept_choice li .subttl {
  display: block;
  margin-bottom: 1em;
}
#concept_choice li .ttl {
  font-size: 17px;
  line-height: 1.6em;
}
#concept_choice li figure {
  position: relative;
}
#concept_choice li figure:after {}
#concept_choice li:hover figure img {
  opacity: 0.7;
}
@media screen and (max-width:991.98px) {
  #concept_choice li .ttl {
    font-size: 1.5vw;
  }
}
@media screen and (max-width:767.98px) {
  #concept_choice li .ttl {
    font-size: 3vw;
  }
}
#home-concept .to_detail a {
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
}
#before-after {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
/*HOME-INFOAREA*/
#home-infoarea .content_header {}
#home-infoarea .content_header a {
  color: #454545;
}
#home-news .content_header + .posts {
  position: relative;
  padding-top: 2rem;
}
#home-news .content_header + .posts:before {
  content: "";
  display: block;
  height: 1rem;
  border-top: 1px solid #595757;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
}
#home-news {
  background: var(--col_key04);
  box-shadow: 0 0 0 100vmax var(--col_key04);
  clip-path: inset(0 -100vmax);
}
#home-news .posts, #home-event .posts {}
#home-news > .arrow.btn, #home-event > .arrow.btn {
  margin-top: auto;
  display: block;
  padding-top: 1em;
}
#home-news .posts .post .thumbnail {
  max-width: none;
}
#home-news .posts .post .thumbnail .attachment {
  padding-top: 87%;
  margin-bottom: 10%;
}
/*HOME-EVENTS*/
@media screen and (max-width:767.98px) {
  #home-event .posts .post.style-event {
    flex: 100%;
  }
}
/*HOME-VOICE*/
#home-voice {}
#home-voice .posts.post.style-voice {}
#home-voice .posts .post .thumbnail, #home-voice .posts .post .metabox {
  width: 100%;
  max-width: none;
}
#home-voice .posts .post .attachment {
  position: relative;
}
#home-voice .posts .post.style-voice:before {}
#home-greeting {}
#president .row figure img {
  object-fit: cover;
  aspect-ratio: 2 / 3;
  max-height: 300px;
}
@media screen and (max-width: 575.98px) {
  #president .row figure img {
    aspect-ratio: 3 / 2;
  }
}
#home-staff {}
#home-staff .flexbox > * {
  background: #fff;
  width: calc(100% / 5 - 6px);
  padding: 0.5rem;
  margin: 0 3px;
  margin-bottom: 1.5em;
}
#home-staff .user_info {
  position: relative;
  background: #F6F7FB;
}
@media screen and (max-width:767.98px) {
  #home-staff .flexbox > * {
    width: calc(94% / 3);
  }
  .page-staff .user_info {
    width: calc(94% / 2);
  }
}
@media screen and (max-width:575.98px) {
  #home-staff .user_info, #home-staff .staff-list {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  #home-staff .photobox, #home-staff .staff-meta {
    display: inline-block;
    vertical-align: top;
    text-align: left;
  }
  #home-staff .photobox {
    width: 20%;
    margin-bottom: 0;
  }
  #home-staff .staff-meta {
    width: 75%;
  }
  #home-staff .staff-list a {
    text-align: center;
  }
  #home-staff .staff-list a img {
    display: none;
  }
  #home-staff .staff-list a:after {
    content: "> RECRUIT";
    color: #595757;
  }
}
/*HOME-BOUT*/
#home-blog {}
.post.style-inc_blog {}
.post.style-inc_blog:before {
  content: "";
  background: #fff;
  position: absolute;
  left: 0.5rem;
  right: 0.5rem;
  top: 0.5rem;
  bottom: 0.5rem;
  border-radius: 0.4rem;
}
.home-posts {
  position: relative;
}
.aboveright.arrow.toindex {
  text-align: center;
}
.aboveright.arrow.toindex a {
  color: #3C3835;
  text-decoration: none;
}
@media screen and (min-width:1200px) {
  .aboveright.arrow.toindex {
    position: absolute;
    right: 0;
    top: 1.5em;
  }
}
/*ZEH ACHIEVEMENT*/
.zeh {
  margin: 100px auto 150px;
}
.zeh1 .title {
  color: #059A38;
}
.zeh1 p {
  margin-bottom: 0.5em;
  line-height: 1.5em;
}
.zeh2 {
  width: 100%;
  display: table;
  overflow: hidden;
  border: 1px solid #595757;
  color: #595757;
}
.zeh3 {
  display: table-cell;
  border-right: 1px solid #595757;
  width: 40%;
  text-align: center;
  vertical-align: middle;
  font-size: 20px;
  white-space: normal;
}
.zeh4 {
  padding: 10px 30px 10px 40px;
}
#zeh_achievement {}
#zeh_achievement .zeh_achievement p {
  margin: 0;
}
@media screen and (max-width:767.98px) {
  .zeh2, .zeh3, .zeh4 {
    width: 100%;
    display: block !important;
    border: none;
    padding: 0.5em;
  }
  .zeh3 {
    border-bottom: 1px solid #595757;
  }
}
.include-contact {
  color: #fff;
  background: var(--col_key02);
}
.include-contact .telnum {
  font-size: min(7vw, 30px);
}
.include-contact .telnum, .include-contact.telnum a {
  color: #fff;
}
.include-contact .btn a {
  padding: 0.7em 0;
}
.include-contact .btn.to_shiryou a {
  background: var(--col_key05);
  color: #222;
}
.include-contact .btn.to_inquiry a {
  background: var(--col_key04);
  color: #fff;
}
.include-contact .telnum a {
  color: #fff;
}
.posts .post {
  position: relative;
}
.noimg::before {
  background:
    url("images/sitetitle.webp") no-repeat center #eee;
  background-size: auto;
  background-size: 50%;
  filter: grayscale(10%) opacity(40%);
  border: none;
  outline-offset: inherit;
}
/*HOME-EXAMPLE*/
/*POST EXAMPLE　REFORM　VOICE*/
/*
body.archive.tax-reform_cat .wrapper,
body.archive.post-type-archive-reform .wrapper,*/
body.archive.tax-ex_cat .wrapper, body.archive.post-type-archive-example .wrapper, body.archive.tax-voice_cat .wrapper, body.archive.post-type-archive-voice .wrapper {
  max-width: 1380px;
}
body.archive.tax-ex_cat .entry-header h1, body.archive.post-type-archive-example .entry-header h1, body.archive.tax-voice_cat .entry-header h1, body.archive.post-type-archive-voice .entry-header h1 {
  border-top: 0;
}
.posts .linkarea.post.style-example:hover .todetail a {
  background: transparent;
}
.posts .post.style-example .thumbnail .attachment {
  padding-top: 56.25%
}
.posts .post.style-example .attachment img {
  transition: all 0.4s ease;
}
.posts .post.style-example:hover .attachment img {
  transform: scale(110%) translate(-45%, -45%);
}
.posts .post.style-voice .catch, .posts .post.style-example .catch, .posts .post.style-voice .title, .posts .post.style-example .title {
  align-content: stretch;
  padding: 0;
  display: block;
}
.posts .post.style-voice .title a, .posts .post.style-example .title a {
  display: block;
  text-align: center;
}
.posts .post.style-example .title .todetail a {
  background: #D18E35;
  color: #fff;
  border: none;
  opacity: 1;
}
.posts .post.style-example .title .todetail a:hover {
  opacity: 0.8;
}
.posts .post.style-example .title .todetail a:after {
  color: #fff;
}
.posts .post.style-voice .metabox {}
.posts .post.style-voice .metabox .todetail {}
.posts .post.style-voice .thumbnail .attachment {
  padding-top: 62%;
}
.example-item-inner {
  position: absolute;
  text-align: center;
  color: #fff;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: block;
  background: rgba(0, 0, 0, 0.70);
  opacity: 0;
  font-size: 0.8rem;
  transition: 0.3s;
  text-decoration: none;
}
.linkarea a.example-item-inner:hover {
  opacity: 1 !important;
  color: #fff;
  text-decoration: none;
  background: rgba(0, 0, 0, 0.7);
}
#home-example .linkarea:hover {
  opacity: 1 !important;
}
.example-item-inner .inbox {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  padding: 0 0.5rem;
}
.posts .post.style-home-example .ttl {
  font-size: 1.1rem;
}
@media screen and (max-width: 575.98px) {
  .posts .post.style-home-example .ttl {
    font-size: clamp(0.813rem, 0.738rem + 0.37vw, 0.875rem);
  }
}
.posts .post.style-home-example .thumbnail {
  position: relative;
  height: 0;
  /*padding-top: 66%;*/
  padding-top: 56.25%;
  background: #efefef;
}
.posts .post.style-home-example .thumbnail img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
body.home #home-example .posts .post.style-home-example .thumbnail {
  padding-top: 140%;
  overflow: hidden;
}
body.home #home-example .posts .post.style-home-example .thumbnail > img {
  height: 100%;
  max-width: none;
  width: auto;
}
.posts .post.post.style-event.closed .event-status {
  display: none;
}
.posts .post.style-event .metabox .todetail {
  padding-top: 1em;
}
.posts .post.style-event .metabox .todetail span {
  background: #fff;
  border-radius: 1.5em;
  padding: 0.5em 1.5em;
  border: 1px solid #ccc;
}
.post.style-event .to_detail {
  display: inline-block;
  vertical-align: middle;
  margin-top: 1rem;
}
.post.style-event .to_detail:before {
  font-family: 'Material Icons';
  display: inline-block;
  vertical-align: middle;
  content: "\e890";
  color: #9c9a99;
  font-size: 1.5em;
  margin-right: 0.3em;
}
@media screen and (max-width: 575.98px) {
  .posts .post.style-event .metabox .todetail span {
    display: block;
    text-align: center;
  }
}
/*HOME-EVENTS*/
.event-meta {
  font-size: clamp(0.75rem, 0.705rem + 0.23vw, 0.875rem);
}
.posts .post.style-event a.event-closed {
  background: rgba(255, 255, 255, 0.70);
}
@media screen and (max-width:767.98px) {
  #home-event .posts .post.style-event {
    flex: 100%;
  }
}
.event_type_icon {
  font-size: 12px !important;
}
.outerwrap::before {
  background: var(--col_key04);
}
/*HOME-REASON*/
/*#home-reason.outerwrap:before{
	background: url("images/reason-bg.webp") center no-repeat;
	background-size: cover;
}
*/
#home-reason {}
#home-reason .nav-item .nav-item-inner {
  bottom: 0;
  right: 0;
  left: 0;
  padding: 0.5rem;
  background: rgba(255, 255, 255, 0.60);
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
  top: inherit;
  transform: none;
  color: #000;
  text-shadow: none;
}
#home-reason .nav-item .w100 {
  padding-top: min(12rem, 75%);
}
#home-reason .nav-item .w100 img {
  filter: none;
}
#home-reason .nav-item .nav-item-inner {
  font-size: clamp(0.75rem, 0.659rem + 0.45vw, 1rem);
}
/*アイコン表示*/
.reason-items .reason-item {
  position: relative;
}
.reason-items .reason-item .item_bg {
  content: "";
  background: #fff;
  position: absolute;
  left: 0.5rem;
  right: 0.5rem;
  top:  0;
  bottom: 0.5rem;
  z-index: -1;
  border: 0.2rem solid #ccc;
  box-sizing: border-box;
}
.reason-items .reason-item .icon .material-symbols-outlined, .reason-items .reason-item .icon .material-icons {
  font-size: 4.5rem;
}
.reason-items .reason-item a {
  font-size: 0.85em;
  padding: 0.3em;
  position: absolute;
  bottom: 1.5rem;
  left: 2rem;
  right: 2rem;
  transition: .3s;
}
.reason-items .reason-item a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 575.98px) {
  .reason-items .reason-item .item_bg {
    top: 0;
  }
  .reason-items .reason-item .icon {
    width: 6rem;
  }
  #home-reason .reason-items .reason-item .rsn_ttl {
    width: calc(100% - 6rem);
  }
  .reason-items .reason-item a {
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1rem;
  }
}
/*個別設定*/
.reason-items .reason-item, .reason-items .reason-item .item_bg {
  transition: .3s;
}
.reason-items .reason-item:hover {
  opacity: 0.8;
}
.reason-items .reason-item {
  position: relative;
}
.reason-items .reason-item a {
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
}
.reason-items .reason-item a .arrow {
  position: absolute;
  left: 1.5rem;
  right: 1.5rem;
  bottom: 1.5rem;
  background: #fff;
}
.reason-items .reason-item a .arrow:before {
  content: "\e5cc";
  font-family: 'Material Icons';
  display: inline-block;
  opacity: 1;
  vertical-align: middle;
}
@media screen and (max-width: 575.98px) {
  .reason-items .reason-item:before {
    content: "\e5cc";
    font-family: 'Material Icons';
    display: inline-block;
    opacity: 1;
    vertical-align: middle;
    color: #fff;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    font-size: 1.3em;
    width: 1.3em;
    height: 1.3em;
    line-height: 1.3;
    text-align: center;
    border-radius: 50%;
    border: 1px solid #fff;
    transform: translateY(-50%);
  }
  /*.reason-items .reason-item a .arrow {
    display: none;*/
}
.nav-item > *:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
}
.nav-item > * {
  position: relative;
  margin-bottom: 0;
  overflow: hidden;
}
.nav-item .nav-item-inner {
  position: absolute;
  top: 1.5rem;
  left: 1rem;
  right: 1rem;
  color: #fff;
  text-shadow: 0 0 1.5rem #000, 00 0 1rem #000, 0 0 0.5rem #000;
}
.nav-item .nav-item-inner {
  font-size: 1.1rem;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
}
.nav-item .w100 {
  height: 0;
  padding-top: clamp(6rem, 75%, 12rem);
  /*	padding-top: clamp(7rem, 70%, 14rem) ;*/
}
.nav-item .w100 img {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
  filter: brightness(75%) saturate(115%);
  transition: .3s;
}
.nav-item .w100:hover img {
  filter: brightness(100%) saturate(100%);
}
@media screen and (max-width: 575.98px) {
  .nav-item .nav-item-inner {}
}
/*HOME-VOICE*/
#home-voice {}
#home-voice .posts.post.style-voice {}
#home-voice .posts .post .thumbnail, #home-voice .posts .post .metabox {
  width: 100%;
  max-width: none;
}
#home-voice .posts .post .attachment {
  position: relative;
}
#home-voice .posts .post.style-voice:before {}
#home-greeting {}
#home-staff {}
#home-staff .flexbox {
  margin-left: -3px;
  margin-right: -3px;
}
#home-staff .flexbox > * {
  background: #fff;
  width: calc(100% / 5 - 6px);
  margin: 0 3px;
}
#home-staff .user_info {
  position: relative;
  background: var(--col_key04);
}
@media screen and (max-width:767.98px) {
  #home-staff .flexbox > * {
    width: calc(94% / 3);
  }
  .page-staff .user_info {
    width: calc(94% / 2);
  }
}
@media screen and (max-width:575.98px) {
  #home-staff .user_info, #home-staff .staff-list {
    width: 100%;
    margin-bottom: 1px;
  }
  #home-staff .photobox, #home-staff .staff-meta {
    display: inline-block;
    vertical-align: top;
    text-align: left;
  }
  #home-staff .photobox {
    width: 20%;
    margin-bottom: 0;
  }
  #home-staff .staff-meta {
    width: 75%;
  }
  #home-staff .staff-list a {
    text-align: center;
  }
  #home-staff .staff-list a img {
    display: none;
  }
  #home-staff .staff-list a:after {
    content: "> RECRUIT";
    color: #595757;
  }
}
/*ABOUT*/
#main.page-template-htmlpage_about h2 {}
#about-filter li .title {
  background: #9F8369;
  border-left: 0;
  color: #fff;
}
/*STAFF POPUP*/
.staff_list {}
.staff_list .edit_theme.staff {
  position: initial;
  display: block;
  width: 100%;
  clear: both;
  text-align: right;
}
.user_info .staff-post, .user_info .staff-division {
  line-height: 1.8em;
  color: #B56B31;
}
.user_info .staff-post, .user_info .staff-division {
  line-height: 1.4em;
  font-size: 0.9em;
}
.user_info .staff-name {
  font-size: 1.1em;
}
.user_info .staff-kana {
  font-size: 0.8em;
}
.user_info .staff-meta {
  text-align: center;
}
.user_info .staff-meta > div {
  width: auto;
}
#staff-inbox {}
#staff-inbox .user_info {
  position: inherit;
  padding: 0;
}
#staff-inbox .user_info > .inbox {
  position: relative;
}
#staff-inbox .user_info .user_name > span {
  margin-right: 1em;
}
.user_info .userphoto, .user_info .photo {
  object-fit: cover;
  aspect-ratio: 2 / 3;
  max-height: 300px;
}
#staff-inbox .user_info .thumbnail {
  float: left;
}
#staff-inbox .user_info .photobox {
  position: relative;
}
#staff-inbox .user_info .photobox img.photo {
  max-width: 152px;
  margin: 0 auto;
  display: block;
}
#staff-inbox .user_info .user-meta {
  float: right;
  width: calc(100% - 220px);
}
.user_info {}
.user_info .staffpopup {
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  padding-bottom: 200%;
  visibility: hidden;
  opacity: 0;
}
.user_info .staffpopup .inbox {
  z-index: 99;
  background: #fff;
  padding: 1em 2%;
  box-sizing: border-box;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 800px;
  border-radius: 0.5rem;
}
.user_info .staffpopup .inbox .w100 {
  position: relative;
  margin-bottom: 1em;
}
.user_info .staffpopup .inbox .w100 .romaji {
  margin-left: 15px;
  margin-right: 15px;
}
.user_info img {
  width: 100%;
}
.user_info label {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
body.page-about .user_info label, body.page-staff .user_info label {
  cursor: pointer;
}
.user_info label span {}
.user_info label span:hover {
  cursor: pointer;
}
.user_info input[type="checkbox"] {
  display: none;
}
.user_info input[type="checkbox"]:checked + .staffpopup {
  z-index: 400;
}
.user_info input[type="checkbox"]:checked + .staffpopup {
  visibility: visible;
  opacity: 1;
  transition: .3s;
}
.userinfo_detail {
  /*    font-size: 0.85em;*/
  line-height: 1.6;
  font-size: 1em;
  ;
}
.userinfo_detail .user_post_division {}
.userinfo_detail .user_post_division > span {
  display: inline-block;
  margin-right: 1em;
}
.userinfo_detail em {
  font-style: normal;
}
.userinfo_detail .credential, .userinfo_detail .from {
  font-size: 0.9em;
  margin-bottom: 0.5em;
  ;
}
body.home .user_info input[type="checkbox"]:checked + .staffpopup {
  display: none;
}
/*PAGE*/
#main .entry-content h2:not(.page-template-htmlpage_renovation #main .entry-content h2:) {
  font-size: clamp(1.25rem, 1rem + 1.25vw, 2rem);
  margin-bottom: 1em;
  margin-top: 1em;
}
#main .entry-content h3 {
  font-size: clamp(1.25rem, 1.125rem + 0.63vw, 1.625rem);
  margin-bottom: 1em;
  margin-top: 1em;
}
#main .entry-content h4 {
  font-size: clamp(1.063rem, 1rem + 0.31vw, 1.25rem);
  margin-bottom: 0.5em;
  margin-top: 0.5em;
}
#main .entry-content h2, #main .entry-content h3, #main .entry-content h4, #main .entry-content h5, #main .entry-content h6 {
  font-feature-settings: "palt"1;
}
.entry-content .anchor {
  margin-bottom: 7em;
}
@media screen and (min-width:768px) {
  .entry-content .anchor {
    margin-bottom: 4em;
  }
}
#topinfo.page_header {
  background: url("images/pg_hdr-bg@2x.jpg") center no-repeat;
  background-size: cover;
  padding: 8%;
  color: #fff;
  text-align: center;
  font-weight: normal;
}
#topinfo.page_header .subttl {
  font-size: 0.85rem;
  display: block;
}
#topinfo.page_header .ttl_img {
  margin-left: auto;
  margin-right: auto;
}
body.page-template-htmlpage_onecolumn_notitle #content .entry-content:first-child {
  padding-top: 0;
  padding-bottom: 0;
}
/*ENTRY*/
h1.index-title, h1.entry-title, h1.page-title, header.entry-header span.entry-title {
  font-weight: 500;
  color: #000;
  letter-spacing: .04em;
  margin: calc(20em/40) 0 calc(28em/40);
  margin-bottom: 1.5rem
}
@media screen and (min-width:576px) {
  h1.index-title, h1.entry-title, h1.page-title, header.entry-header span.entry-title {
    font-size: 1.3em;
    margin-bottom: 3rem
  }
}
h2[style="text-align: center;"], h3[style="text-align: center;"], h4[style="text-align: center;"], h5[style="text-align: center;"] {
  background: none;
  padding-left: 0;
  padding-right: 0;
}
.ttl.merit {
  color: var(--col_key02);
  background: none;
  vertical-align: middle;
  padding-left: 0;
}
.ttl.merit > span {
  background: var(--col_key02);
  color: #fff;
  display: inline-block;
  padding: 0.2em 1em;
  border-radius: 3px;
  vertical-align: middle;
  font-size: 1rem;
  margin-right: 0.8rem;
}
.ttl.point {
  color: var(--col_key01);
  background: none;
  vertical-align: middle;
  border-bottom: 0;
  padding-left: 5em;
  text-indent: -5em;
}
.ttl.point > span {
  background: var(--col_key01);
  color: #fff;
  padding: 0.2em 1em;
  border-radius: 3px;
  vertical-align: middle;
  margin-right: 1em;
  font-size: 1rem;
  letter-spacing: 0;
}
.ttl_ribbon, .entry-content .ttl_ribbon {
  background: #E49A0F none;
  color: #fff;
  text-align: center;
  padding-right: 0;
  max-width: 1200px;
  margin: 0 auto 1em;
  border: 0;
  padding: 0.5em;
}
.ttl_ribbon.btn {}
.wide.btn {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  background: transparent;
}
.wide.btn a {
  display: block;
  width: 100%;
  padding: 0.6em;
  background: #EEB118 none;
}
/*工務店コンテンツ　、REASONコンテンツ*/
/*builder_content*/
body.page-about {}
body.page-about .row figure {
  height: 100%;
}
body.page-about .row figure img {
  object-fit: cover;
  aspect-ratio: 2 / 3;
}
@media screen and (max-width: 575.98px) {
  body.page-about .row figure img {
    aspect-ratio: 2 / 2;
  }
}
#main > .builder_content .entry-content img {
  border-radius: clamp(0.188rem, 0.142rem + 0.23vw, 0.313rem);
}
#main > .builder_content .entry-content .rounded-0 img {
  border-radius: 0;
}
#main > .builder_content .entry-content .col-sm-6 img, #main > .builder_content .entry-content .col-md-6 img {
  max-width: 350px;
  margin-left: auto;
  margin-right: auto;
}
#main > .builder_content header.builder_content_ttl {
  padding: 0;
  position: relative;
  margin-bottom: 0;
}
#main > .builder_content .builder_content_ttl .entry-title {
  /*h1　非表示*/
  display: block;
  text-indent: 110%;
  overflow: hidden;
  white-space: nowrap;
  height: 3rem;
}
@media screen and (min-width: 768px) {
  #main > .builder_content header.builder_content_ttl {
    padding: 1.5rem 0 0.5rem calc(clamp(11.25rem, 0.139rem + 23.15vw, 17.5rem) * 15 / 100 + 0.5rem - 1px);
  }
}
#main > .builder_content .entry-title {
  font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
  margin: 0 !important;
}
#main > .builder_content .builder_content_ttl .entry-title {
  padding: 1rem 0 0;
  opacity: 0.65;
}
.builder_content .left_nav_wrapper .entry-content .anchor.mt-0:before, .builder_content .left_nav .anchor.mt-0:before {
  content: none;
}
.hentry.builder_content .entry-content dl.flow dt {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #ccc;
  padding-bottom: 1rem;
}
.hentry.builder_content .entry-content section:not(#home-reason) h2, #main.page-template-htmlpage_about .entry-content h2 {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #ccc;
  padding-bottom: 1rem;
  padding-left: clamp(1rem, 0.273rem + 3.64vw, 3rem);
  margin-left: clamp(-3rem, -1 * (0.273rem + 3.64vw), -1rem);
}
.hentry.builder_content .entry-content section:not(#home-reason) h2, #main.page-template-htmlpage_about .entry-content h2 {
  margin-left: clamp(-3rem, -1 * (0.273rem + 3.64vw), -1rem);
}
.hentry.builder_content .entry-content dl.flow dd::before {
  border-bottom: 0;
}
.hentry.builder_content .entry-content dl.flow dd {
  padding-bottom: 2rem;
}
.hentry.builder_content .entry-content section:not(#home-reason) h2.ttl.point, .hentry.builder_content .entry-content section:not(#home-reason) h3.ttl.point {
  margin-left: 0;
  padding-left: 7rem;
  text-indent: 0;
}
.hentry.builder_content .entry-content section:not(#home-reason) h2.ttl.point > span, .hentry.builder_content .entry-content section:not(#home-reason) h3.ttl.point > span {
  margin-left: -7rem;
}
/*page BUILDER*/
.pagetab.pagetab-main.fixed {}
#main > .builder_content .left_nav .sub-menu {}
#main > .builder_content .left_nav ul, #main > .builder_content .left_nav ul li {
  padding: 0;
}
#main > .builder_content .left_nav.fixed {
  position: fixed;
  top: var(--hdr-height);
  opacity: 1;
  visibility: visible;
  transition: .3s;
}
#main > .builder_content .left_nav {
  margin-top: 0;
  background: rgba(255, 255, 255, 0.80);
  z-index: 1;
}
.left_nav.pagetab > div {
  width: 70%;
  margin-left: 15%;
  margin-right: auto;
}
.left_nav.pagetab li.current > a::after, .left_nav.pagetab li.current_page_item > a::after, .left_nav.pagetab li a:hover::after {
  width: calc(100% - 1rem);
  left: -0;
  background: var(--col_key03);
}
.left_nav.pagetab li.not-current > a::after, .left_nav.pagetab li.current-menu-ancestor.has-current > a::after {
  background: transparent;
}
@media screen and (min-width: 768px) {
  .left_nav.pagetab li.current-menu-ancestor.not-current > a::after {
    width: calc(100% - 1rem);
    left: -0;
    background: var(--col_key03);
  }
  #main > .builder_content .entry-content {
    min-height: 55vh;
  }
  #main.page-template-htmlpage_about > .builder_content .entry-content {
    padding-bottom: 10rem;
  }
  #main > .builder_content .left_nav {
    width: clamp(15rem, 8.333rem + 13.89vw, 18.75rem);
    left: 0;
    right: inherit;
    position: absolute;
  }
  #main > .builder_content .left_nav.fixed_bottom {
    top: 0;
    opacity: 0;
    visibility: hidden;
  }
  #main > .builder_content .left_nav ul li {
    display: block;
    text-align: left;
  }
  #main > .builder_content .left_nav ul {
    display: block;
  }
  #main > .builder_content .entry-content {
    padding-left: calc(clamp(12.5rem, 1.389rem + 23.15vw, 18.75rem) + clamp(1rem, 0.273rem + 3.64vw, 3rem));
    position: relative;
  }
}
@media screen and (min-width: 1200px) {
  #main > .builder_content .left_nav {
    left: calc(50vw - 600px);
  }
  #main > .builder_content header.builder_content_ttl:before {
    left: calc(-50vw + 50%);
    right: calc(-50vw + 50%);
  }
}
@media screen and (max-width: 767.98px) {
  .left_nav.pagetab ul.menu > li > a:after {
    font-family: 'Material Icons';
    display: inline-flex;
    justify-content: center;
    align-items: center;
    content: "\e313";
    background: transparent;
    width: auto;
    line-height: inherit;
    position: relative;
    vertical-align: middle;
    padding-left: 0.5em;
    font-size: 2.0em;
    font-weight: 200;
    color: #fff;
    opacity: 1;
  }
  #main > .builder_content .left_nav {
    padding-right: 0.6rem;
    padding-top: 0.6rem;
    background: transparent;
  }
  .left_nav.pagetab > div {
    width: 100%;
    text-align: right;
  }
  .left_nav.pagetab > div > ul {
    display: inline-block;
  }
  .left_nav.pagetab ul.menu > li > a {
    background: var(--col_key01);
    opacity: 0.7;
    color: #fff;
    border-radius: 3px;
    padding: 0.4rem 1rem;
    display: inline-block;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
  }
  .left_nav.pagetab ul.menu > li > a:hover {
    opacity: 0.9;
  }
  #main > .builder_content .left_nav {
    margin-bottom: 0;
    top: -2rem;
  }
  #main > .builder_content .left_nav.fixed {
    top: var(--hdr-height-sm);
    right: 0;
    left: 0;
  }
  #main > .builder_content .left_nav .sub-menu {
    display: none;
  }
    
  .modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }
  .modal-content {
    background: #fff;
    padding: 20px;
    border-radius: 8px;
    width: 90%;
    max-width: 500px;
    overflow-y: auto;
  }
  .modal.active {
    display: flex;
  }
}
.modal-content .modal-close {
  position: absolute;
  right: 0.5rem;
  top: 0.5rem;
}
.modal-content .modal-close > span {
  display: block;
  width: 2rem;
  line-height: 2rem;
  background: #666;
  color: #fff;
  border-radius: 50%;
}
/*PAGE CONCEPT*/
#main.page-concept #page_concept00:before {
  background: url("images/pg-concept00-gb.jpg") no-repeat center #E6E3DB;
  background-size: cover;
  padding: 2% 0 2%;
}
/*CONCEPT INFOALIVR*/
.spec_price {
  text-align: center;
}
.spec_price > * {
  width: 100%;
  vertical-align: bottom;
  padding: 1em;
  box-sizing: border-box;
}
.spec_price table {
  width: 100%;
}
.spec_price table td, .spec_price table th {
  border: 1px solid #ccc;
  font-weight: normal;
  padding: 0.4em;
}
.spec_price > div {}
.spec_price .price {
  font-size: 1.2em;
  margin-bottom: 0;
}
.spec_price .price-box {
  padding: 2em 0 0;
  border-bottom: 1px solid #595757;
}
.spec_price .price-box .ttl {
  text-align: left;
}
.spec_price .price-box .price {
  text-align: right;
}
.spec_price .price .number {
  font-size: 2em;
  color: #C60505;
  margin-left: 1em;
}
.pagetab.concept-nav li {
  position: relative;
}
.pagetab.concept-nav li.concept1 a {
  background: #E3597E;
}
.pagetab.concept-nav li.concept2 a {
  background: #D39E46;
}
.pagetab.concept-nav li.concept3 a {
  background: #5388BE;
}
.pagetab.concept-nav li.concept4 a {
  background: #72A757;
}
.pagetab.concept-nav li a:hover, .pagetab.concept-nav li.current-menu-item a {
  border: 0;
  opacity: 0.8;
  color: #fff;
}
.pagetab.concept-nav li a::before {
  background: #361B02;
  color: #fff;
  opacity: 1;
}
@media screen and (min-width:992px) {
  .pagetab.concept-nav li {
    width: 25%;
  }
}
#page_concept-intro {}
#page_concept-intro p {
  line-height: 2em;
}
.page_concept_content:nth-child(even) .imgcell figure {
  margin-left: -28%;
}
.page_concept_content:nth-child(odd) .imgcell figure {
  margin-right: -28%;
}
.page_concept_content h3.ttl.noicon {
  padding-left: 0 !important;
  padding-top: 0;
  margin-top: 0;
}
.page_concept_content .textcell p {
  line-height: 2em;
}
@media screen and (max-width:767.98px) {
  #page_concept-intro p.txt-llll {
    font-size: 5.5vw;
  }
  #page_concept-intro p.txt-l {
    font-size: 3.6vw;
  }
  #main.page-concept .page_concept_content .textcell h2 {
    font-size: 5.5vw;
    border: 0;
    padding-left: 0;
    padding-right: 0;
    text-align: center;
  }
  #main.page-concept .imgcell figure {
    margin-left: -10%;
    margin-right: -10%;
  }
}
/*PAGE OHIKIWATASHI FLOW*/
main.page-ohikiwatashi-flow {}
main.page-ohikiwatashi-flow dl.flow dt {
  color: var(--col_key01);
}
main.page-ohikiwatashi-flow dl.flow dt:before {
  background: var(--col_key01);
}
/*PAGE　KURASHI*/
main.page-kurashi .page_concept_content .row > div {
  z-index: 3;
  position: relative;
}
main.page-kurashi .page_concept_content:after {
  height: calc(100% - 7.8em);
  top: 7.8em;
  z-index: 1;
  left: -15px;
  width: 100vw;
}
@media screen and (min-width:1200px) {
  main.page-kurashi .page_concept_content:after {
    z-index: 1;
    left: calc(600px - 50vw);
  }
}
/*BUILDER*/
.builder_page_h1 {}
.builder_page_h1 h1 {
  font-size: 1.4em;
  padding: 0.5em;
  color: #fff;
  background: #5F401D;
  text-align: center;
}
/*FOOTER*/
#global-navi-logo > a {}
#hiddendiv {
  z-index: inherit;
}
.gtn-contgact {
  text-align: center;
}
.gtn-contgact > * {
  display: inline-block;
  vertical-align: middle;
}
.gtn-contgact .inc_contact-btn .btn_set {
  margin: 0;
}
.gtn-contgact .inc_contact-btn a {
  width: auto;
  padding: 0.3em 1.5em;
}
.gtn-contgact .inc_contact-btn .btn {
  margin: 0;
  padding: 0.2em
}
@media screen and (max-width:575.98px) {
  .gtn-contgact .inc_contact-btn .btn {
    width: 100%;
  }
}
@media screen and (max-width:767.98px) {
  #wrapper #global-navi {
    padding-top: 0;
  }
  #global-navi-logo > a {
    max-width: 200px;
  }
}
.wpcf7-validates-as-date {
  min-width: 8em;
  min-height: 1.7em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
#footer {}
#footer_img {
  display: none;
}
#footer_inbox {
  background: #3C3835;
}
#footer, #footer a {
  color: #fff;
}
#footer .footer-contact {
  border-bottom: 1px solid #fff;
}
/*cookie-notice*/
#cookie-notice {
  background: rgba(50, 50, 58, 0.4) !important;
  top: 0;
}
#cookie-notice.cookie-notice-hidden {
  display: none;
}
#cookie-notice .cookie-notice-container {
  background: #fff;
  width: 90%;
  border-radius: 4px;
  max-width: 640px;
  margin: 50vh auto 0;
  position: relative;
}
#cookie-notice #cn-notice-text {
  color: #333;
}
#cookie-notice #cn-close-notice {
  position: absolute;
  display: block;
  right: 3px;
  top: calc(100% - 15px);
}
.cookie-notice-container #cn-notice-buttons a {
  margin-bottom: 5px !important;
}
#wrapper #global-navi {
  background: rgba(65, 56, 53, 0.8);
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
}
#wrapper #global-navi ul li a {
  color: #fff;
}
.entry-content {}
#main.single-example {}
#example-content .example-entry {
  line-height: 2;
}
#example-content .example-entry p {
  margin-bottom: 1.5rem;
}
#galleryslider {
  background: transparent;
  position: relative;
}
#main.single-reform .entry-header::before, #main.single-example .entry-header::before {}
@media screen and (min-width: 576px) {
  .story_set .img-cell figure {
    display: block;
    margin-left: calc(-25vw + 50%);
    margin-right: calc(-25vw + 50%);
    overflow: hidden;
    position: relative;
    max-height: 85vh;
  }
  .story_set .text-cell {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 3;
    line-height: 2.0;
  }
}
/* ギャラリー全体 */
/* 共通（ベース） */
.gallery {
  display: grid;
  gap: 16px;
  margin: 30px 0;
}
/* カラム数 2〜9 */
.gallery.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.gallery.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}
.gallery.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}
.gallery.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}
.gallery.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}
.gallery.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}
.gallery.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}
.gallery.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}
/* 画像 */
.gallery-item {
  position: relative;
}
.gallery-item img {
  width: 100%;
  height: auto;
  display: block;
}
/* ホバーエフェクト（軽いズーム） */
.gallery-item:hover img {
  opacity: 0.8;
}
/* ---------------------------------------
   ギャラリー（slick-slider 以外）にのみ適用
---------------------------------------- */
/* aタグにクリックを通すため position を指定 */
.gallery:not(.slick-slider) .gallery-item a {
  position: relative;
  z-index: 2; /* 最前面に置く */
  display: block;
}
/* 暗転用オーバーレイ（背面へ） */
.gallery:not(.slick-slider) .gallery-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background .3s ease;
  z-index: 1; /* aタグより下にする！ */
}
/* キャプション（画像の上に表示） */
.gallery:not(.slick-slider) .gallery-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-shadow: 1px 1px 3px #000;
  padding: 10px 14px;
  font-size: 0.9rem;
  color: #fff;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .3s ease, transform .3s ease;
  z-index: 3; /* オーバーレイより上 */
}
/* ホバー時 */
.gallery:not(.slick-slider) .gallery-item:hover::before {
  background: rgba(0, 0, 0, 0.99);
}
.gallery:not(.slick-slider) .gallery-item:hover .gallery-caption {
  opacity: 1;
  transform: translateY(0);
}
/*============================================================================================


ここからスタイル上書き★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
font/color

============================================================================================*/
/*BRAND*/ :root {
  --col_key01: #493628; /*ナビなどで使用*/
  --col_key02: #ab886d;
  --col_key03: #d6c0b3;
  --col_key04: #faf8f6; /*薄い背景など*/
  --col_key05: #836752; /*ボタン*/
  --col_text_main: #000000;
  --col_text_link: #000000;
  --hdr-height: 80px;
  --hdr-height-sm: 60px;
  --font_serif: 'Noto Serif JP', serif;
}
/*font.cssでGoggleFont読込*/
html body {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  font-style: normal;
}
/*========================================================================================

共通設定

=========================================================================================*/
/*修正 条件追加*/
.page-id-11225 .hentry img, .page-id-11222 .hentry img, .page-id-11228 .hentry img, .page-template-htmlpage_order .hentry img, .page-template-htmlpage_renovation .hentry img, .page-template-htmlpage_reform .hentry img, .page-id-101 .hentry img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  vertical-align: bottom;
}
/*.page-id-101 .hentry .sw-cta__body img, .page-template-htmlpage_renovation .hentry img {
  height: auto;
}*/
.page-template-htmlpage_renovation .hentry .sw-cta__box img {
  height: 100%;
}
.page-template-htmlpage_renovation .hentry .sw-cta__box .sw-cta__body img {
  height: auto;
}
a {
  transition: all .3s ease;
  cursor: pointer;
  text-decoration: none;
}
/*========================================================================================

クラス名指定機能

=========================================================================================*/
.col-90 {
  width: 90%;
  margin-inline: auto;
}
.col-87 {
  width: 87%;
}
.col-85 {
  width: 85%;
}
.col-83 {
  width: 83%;
}
.col-80 {
  width: 80%;
}
.col-75 {
  width: 75%;
}
.col-70 {
  width: 70%;
}
.col-65 {
  width: 65%;
}
.col-60 {
  width: 60%;
}
.col-55 {
  width: 55%;
}
.col-50 {
  width: 50%;
}
.col-46 {
  width: 46%;
}
.col-47 {
  width: 47%;
}
.col-48 {
  width: 48%;
}
.col-45 {
  width: 45%;
}
.col-42 {
  width: 42%;
}
.col-40 {
  width: 40%;
}
.col-37 {
  width: 37%;
}
.col-35 {
  width: 35%;
}
.col-33 {
  width: 33.33333%;
}
.col-32 {
  width: 32%;
}
.col-31 {
  width: 31%;
}
.col-30 {
  width: 30%;
}
.col-28 {
  width: 28%;
}
.col-25 {
  width: 25%;
}
.col-20 {
  width: 20%;
}
.col-15 {
  width: 15%;
}
.col-12 {
  width: 12%;
}
.col-10 {
  width: 10%;
}
.col-5 {
  width: 5%;
}
.mb-ten5em {
  margin-bottom: 0.5em;
}
.mb-1em {
  margin-bottom: 1em;
}
.mb-2em {
  margin-bottom: 2em;
}
.mb-short {
  margin-bottom: clamp(20px, 4vw, 80px);
}
.mb-mid {
  margin-bottom: clamp(40px, 6vw, 100px);
}
.mb-large {
  margin-bottom: clamp(80px, 10vw, 140px);
}
.mb-xlarge {
  margin-bottom: clamp(100px, 15vw, 180px);
}
.aspect1-1, img.aspect1-1 {
  aspect-ratio: 1 / 1;
}
.aspect2-1, img.aspect2-1 {
  aspect-ratio: 2 / 1;
}
.aspect2-3, img.aspect2-3 {
  aspect-ratio: 2 / 3;
}
.aspect3-2, img.aspect3-2 {
  aspect-ratio: 3 / 2;
}
.aspect3-4, img.aspect3-4 {
  aspect-ratio: 3 / 4;
}
.aspect4-5, img.aspect4-5 {
  aspect-ratio: 4 / 5;
}
.aspect19-7, img.aspect19-7 {
  aspect-ratio: 19 / 7;
}
/*仕様*/
.radius20 {
  border-radius: 20px;
}
.radius30 {
  border-radius: 30px;
}
.radius40 {
  border-radius: 40px;
}
.radius100, .radius100 .img {
  border-radius: 100px;
}
/*.m-auto {
  margin: 0 auto;
}
.t-center {
  text-align: center;
}*/
/*.d-none {
  display: none;
}
.d-block {
  display: block;
}
.d-inline-block {
  display: inline-block;
}*/
.relative {
  position: relative;
  z-index: 1;
}
.bold {
  font-weight: 700;
}
.font-2xlarge {
  font-size: clamp(3rem, 2rem + 2.8vw, 6rem);
  font-weight: 700;
  line-height: 1.5;
}
.font-xlarge {
  font-size: clamp(3rem, 2rem + 2.2vw, 5rem);
  font-weight: 700;
  line-height: 1.5;
}
.font-large {
  font-size: clamp(2rem, 1.1rem + 2.8vw, 4rem);
  font-weight: 700;
  line-height: 1.5;
}
.font-mid.font-mid {
  font-size: clamp(2rem, 1.5rem + 1.0vw, 3rem);
  font-weight: 700;
  line-height: 1.8;
}
.font-small {
  font-size: clamp(1.6rem, 1.45rem + 0.45vw, 2rem);
}
.font-xsmall {
  font-size: clamp(1.6rem, 1.4rem + 0.3vw, 1.8rem);
  line-height: 2.5;
  font-weight: 700;
  text-align: left;
}
.font-xxsmall {
  font-size: clamp(1rem, 0.927rem + 0.36vw, 1.2rem);
  line-height: 2.5;
  font-weight: 500;
  text-align: left;
}
.font-3xsmall {
  font-size: clamp(0.8rem, 0.727rem + 0.36vw, 1rem);
  line-height: 2;
  font-weight: 500;
  text-align: left;
}
.font-wh {
  color: #ffffff;
}
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-items: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex-reverse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*align-items: flex-start;*/
  justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -ms-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}
body.home #main#main#main, body.page-id-11225 #main#main#main, body.page-id-11222 #main#main#main, body.page-id-11228 #main#main#main, body.page-template-htmlpage_order #main#main#main, body.page-template-htmlpage_renovation #main#main#main, body.page-template-htmlpage_reform #main#main#main, body.page-id-101 .hentry #main#main#main {
  padding-left: 0;
  padding-right: 0;
  /*padding: 0 1rem;を解除*/
}
/*========================================================================================

レスポンシブ

=========================================================================================*/
.sp-none {
  display: block;
}
@media screen and (max-width: 600px) {
  .sp-none {
    display: none;
  }
}
/*========================================================================================

アニメーション設定

=========================================================================================*/
/* ////////汎用パララックス：画像（共通）//////// */
.js-parallax {
  position: relative;
  overflow: hidden;
}
/* 中の画像を動かす（親に class を付ける） */
.js-parallax img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: translate3d(0, var(--paraImgY, 0px), 0) scale(1.08);
  will-change: transform;
}
/*========================================================================================

ヘッダー

=========================================================================================*/
/* 共通UI：body.home なし */
.edit_slider.billboard {
  background-color: #faf8f6;
}
#globalheader .sitetitle {
  max-width: 280px;
}
.btn-gnavi-menu {
  text-align: center;
  font-size: 9px;
  color: #000000;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 700;
}
#wrapper .btn-gnavi span {
  background: #000000;
}
#wrapper .btn-gnavi {
  top: 35px;
}
#headnav .home-menu li:not(.links_offer) a {
  font-size: 16px;
}
#headnav .home-menu li:not(.links_offer) a::after {
  background: #000000;
}
#header:before {
  box-shadow: none;
}
/* 共通UI：ヘッダーのSP調整 */
@media screen and (max-width: 820px) {
  /* @media screen and (max-width: 767.98px) を解除 */
  #headnav .home-menu .menu > li:not(.links_offer) {
    display: none !important;
  }
  /* 323行目を解除 */
  #globalheader .sitetitle .to_home {
    max-width: 180px;
  }
}
/*========================================================================================

★★★★★ TOP/スライダー ★★★★★

=========================================================================================*/
/* TOP専用：body.home 付き */
body.home .slider-wrap.slider-wrap, body.home .post.slide-attachment.post.slide-attachment {
  height: 95vh;
}
/* TOP専用：body.home 付き */
body.home .slide-text {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}
/* スライダー状の文字は hublogslider.php で読込 */
body.home #slideshow {
  position: relative;
}
body.home #slideshow .slider-wrap {
  position: relative;
}
/* 右上に固定＋縦書き */
body.home #slideshow .fv-catch {
  position: absolute;
  top: 10vw;
  right: 7vw;
  z-index: 9999;
  pointer-events: none;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1em;
}
/* 1列ずつ座布団（文字幅なり） */
body.home #slideshow .fv-catch__line {
  display: inline-flex; /* 縦書きでも座布団が字幅なりで安定 */
  width: fit-content;
  background: rgba(255, 255, 255, .96);
  padding: 0.3em 0.1em 0;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .18);
  color: #111;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1.25;
  font-size: clamp(1.6rem, 1.45rem + 0.45vw, 2rem);
  white-space: nowrap; /* 縦書きなので折り返し無し */
  max-height: calc(80vh - 40px); /* 高さが長くなりすぎた時の保険 */
}
/* 横書きの時につけてた上下マージンが残ってたら無効化 */
body.home #slideshow .fv-catch__line + .fv-catch__line {
  margin-top: 0 !important;
}
/* アワードのロゴ */
body.home #slideshow .fv-award {
  position: absolute;
  top: 1vw;
  left: 1vw;
  z-index: 9999;
  pointer-events: none;
  width: 25vw;
}
@media (max-width: 820px) {
  body.home #slideshow .fv-catch {
    gap: 8px;
  }
  body.home #slideshow .fv-catch__line {
    font-size: 1.25rem; /* clamp(0.95rem, 3.6vw, 1.25rem) */
    padding: 12px 10px;
    max-height: calc(70vh - 24px);
  }
  body.home #slideshow .fv-award {
    top: 1vw;
    left: 5vw;
    width: 40vw;
  }
}
@media screen and (max-width: 600px) {
  /* “本物の1枚目” だけ（cloned除外） */
  .slider-wrap .slick-slide[data-slick-index="0"]:not(.slick-cloned) img.wp-post-image {
    left: 66vw;
    transform: translateX(-50%);
  }
  .slider-wrap .slick-slide[data-slick-index="2"]:not(.slick-cloned) img.wp-post-image {
    left: 60vw;
    transform: translateX(-50%);
  }
  body.home #slideshow .fv-catch {
    top: 4vw;
    right: 4vw;
  }
  body.home #slideshow .fv-award {
    left: 3vw;
    top: 5vw;
    width: 50vw;
  }
}
/*========================================================================================

★★★★★ TOP/共通（見出し/背景） ★★★★★

=========================================================================================*/
/* TOP専用：body.home 付き */
body.home .title_design-En {
  padding: 50px 0 0 0;
  font-weight: 700;
  text-align: center;
  letter-spacing: 4px;
}
body.home .title_design-En span.sub-en {
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
  font-style: normal;
  display: block;
  font-size: clamp(1.6rem, 1.45rem + 0.45vw, 2rem);
  padding-top: 0.5em;
  letter-spacing: 1px;
}
/* TOP専用（色ユーティリティがTOPだけならここでOK。共通にしたいなら body.home を外す） */
body.home .txt-or {
  color: #e94119;
}
body.home .txt-ye {
  color: #FFC107;
}
body.home .txt-gr {
  color: #009688;
}
body.home #home-concept .inbox.wrapper, body.home #home-voice {
  background: var(--col_key04);
}
body.home #home-blog.outerwrap::before {
  background: #ffffff;
}
@media (max-width: 600px) {
  body.home .title_design-En {
    padding: 0;
    letter-spacing: 1px;
  }
}
/*========================================================================================

★★★★★ TOP/カードバナー ★★★★★

=========================================================================================*/
/* TOP専用：body.home 付き */
body.home .card-bnr {
  cursor: pointer;
  overflow: hidden;
  position: relative;
  margin-inline: auto;
  aspect-ratio: 16 / 9;
}
/* カード全体リンク化 */
body.home .card-bnr__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
/* 画像 */
body.home .card-bnr img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
  z-index: 0;
}
body.home .card-bnr:hover img {
  transform: scale(1.1);
}
/* オーバーレイ */
body.home .card-bnr::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .3);
  opacity: 1;
  transition: opacity .6s ease;
  z-index: 1;
  pointer-events: none; /* ←クリック邪魔しない */
}
body.home .card-bnr:hover::before {
  opacity: 0;
}
/* ボタン（表示はspanに変更） */
body.home .card-bnr__btn {
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
  font-weight: 700;
  background-color: #000;
  color: #fff;
  padding: 1em 2em;
  position: absolute;
  bottom: 8%;
  right: 10%;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 1px;
  border-radius: 100px;
  z-index: 2;
  transition: .3s ease;
}
body.home .card-bnr:hover .card-bnr__btn {
  background-color: #fff;
  color: #000;
}
/* 仕切り線 */
body.home .card-bnr:not(:last-of-type) {
  border-right: 1px solid #fff;
}
body.home .card-bnr {
  border-top: 1px solid #fff;
}
/* TB */
@media screen and (max-width: 820px) {
  body.home .card-bnr__btn {
    padding: 0.5em 1em;
    width: 140px;
    bottom: 10%;
    right: 5%;
  }
}
/* SP */
@media screen and (max-width: 600px) {
  body.home .card-bnr {
    aspect-ratio: 5 / 2;
    width: 100%;
    border-right: none;
    border-top: none;
    border-bottom: 1px solid #fff;
  }
  body.home .card-bnr:not(:last-of-type) {
    border-right: none;
  }
  body.home .card-bnr:first-of-type {
    border-top: 1px solid #fff;
  }
}
/*========================================================================================

★★★★★ TOP/コンセプト ★★★★★

=========================================================================================*/
/* TOP専用：body.home 付き */
body.home #home-concept {
  position: relative;
  padding: 12vw 0 12vw;
}
body.home #home-concept #home-concept-header .ttl {
  padding: 0;
}
/* 崩れやすい：TOP専用化（他ページのh2を壊しやすいので） */
body.home main h2 {
  font-weight: 700;
  font-size: clamp(1.5rem, 1.5rem + 1.0vw, 3rem);
  text-align: left;
}
body.home main #home-concept #home-concept-header h2.ttl.big {
  padding: 0;
  letter-spacing: 2px;
  line-height: 1.5;
  font-weight: 700;
  font-size: clamp(2rem, 1.1rem + 2.8vw, 4rem);
}
body.home #home-concept .inbox:before {
  content: none;
}
/* 共通UI：ヘッダー内リンク方針なので body.home なし */
#headnav ul li a {
  font-weight: 700;
}
/* .btn 系は他ページにも波及しやすいので TOP専用に寄せる */
body.home .btn.to_detail.pill {
  padding: 0;
  text-align: right;
}
body.home .btn a.col_bg_key05 {
  background: #000000 !important;
  border: 1px solid #000000;
  transition: all 0.4s;
  padding: 1em 2em;
}
body.home .btn a.col_bg_key05.col_bg_key05:hover {
  background: #ffffff !important;
  color: #000000;
}
body.home .txt-ll {
  font-size: 1.1em;
  line-height: 2.5;
  text-align: left;
}
body.home #concept_item {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 820px) {
  body.home #home-concept {
    padding: 18vw 0 16vw;
  }
}
@media screen and (max-width: 600px) {
  body.home #home-concept {
    padding: 22vw 0 14vw;
  }
  body.home #home-concept .col-47 {
    width: 80%;
    overflow: auto !important;
    margin: auto;
  }
  body.home #home-concept .inbox .col-47:first-of-type {
    margin-bottom: 4em;
  }
  body.home .btn a.col_bg_key05 {
    padding: 0.6em 2em;
  }
  body.home main .zeh1 h2 {
    font-size: 1.25rem;
  }
}
/*========================================================================================

★★★★★ TOP/施工事例（新築） ★★★★★

=========================================================================================*/
/* TOP専用：body.home 付き */
body.home #home-example a.btnshine::before, body.home #home-example a.btnshine::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  transition: none !important;
  transform: none !important;
  background: none !important;
}
body.home #home-example a.btnshine:hover {
  filter: none !important;
  box-shadow: none !important;
}
body.home #home-example .linkarea a:hover {
  box-shadow: none !important;
}
.content_header .to_index {
  right: 20px;
}
.sec-des {
  text-align: center;
  line-height: 2;
  padding: 2rem 0 1rem;
  font-size: 1.1em;
}
@media screen and (max-width: 600px) {
  body.home #home-example.py-4 {
    padding-top: 2.5rem !important;
  }
  /* スライド左右余白（見え方そのまま） */
  body.home #home-example .slick-slide {
    padding: 0 10px;
    box-sizing: border-box;
  }
  /* カード（中身）を80%に縮小 */
  body.home #home-example .posts .post.style-home-example {
    transform: scale(0.8);
    transform-origin: center top;
  }
  /* 4:5（=125%） */
  body.home #home-example .posts .post.style-home-example .thumbnail {
    padding-top: 125% !important;
    overflow: hidden;
  }
  body.home #home-example .posts .post.style-home-example .thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  /* 矢印 */
  body.home #home-example .slick-prev, body.home #home-example .slick-next {
    z-index: 50;
    width: 36px;
    height: 36px;
  }
  body.home #home-example .slick-prev {
    left: 14px;
    top: 41%;
  }
  body.home #home-example .slick-next {
    right: 14px;
    top: 41%;
  }
  body.home #home-example .slick-prev:before, body.home #home-example .slick-next:before {
    font-size: 30px;
  }
  #home-example .slick-slider {
    margin-bottom: -22vw;
  }
  .sec-des {
    padding: 2rem 1rem 1rem;
    text-align: left;
  }
}
/*========================================================================================

★★★★★ TOP/施工事例（リフォーム） ★★★★★

=========================================================================================*/
/* TOP専用：body.home 付き */
body.home #home-reform.pb-md-5.pb-md-5 {
  padding-bottom: 5rem !important;
}
body.home #home-reform .post-thumbnail {
  padding: 0 0 1em 0;
}
body.home .linkarea a:hover {
  box-shadow: none;
}
@media screen and (max-width: 600px) {
  body.home #home-reform .row.pb-4.pb-4 {
    padding: 0 !important;
  }
  body.home #home-reform.pb-md-5.pb-md-5 {
    padding-bottom: 3rem !important;
  }
}
/* 画像ズーム共通（施工事例 / ブログ / お客様の声） */
/* TOP専用：body.home 付き */
body.home .style-example .post-thumbnail, body.home .style-inc_blog .thumbnail {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #ffffff;
}
body.home .style-example .post-thumbnail img, body.home .style-inc_blog .thumbnail img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block;
  transform: scale(1) !important;
  transform-origin: center;
  transition: transform .3s ease, filter .3s ease;
  will-change: transform;
  top: auto !important;
  left: auto !important;
}
body.home .style-voice .post-thumbnail {
  position: relative;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
  width: 80%;
  margin-inline: auto;
}
body.home .style-voice .post-thumbnail::before {
  content: "";
  display: block;
  padding-top: 100%;
}
body.home .style-voice .post-thumbnail img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: scale(1);
  transform-origin: center;
  transition: transform .3s ease, filter .3s ease;
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  body.home .style-example.linkarea:hover .post-thumbnail img, body.home .style-inc_blog.linkarea:hover .thumbnail img, body.home .style-voice.linkarea:hover .post-thumbnail img {
    transform: scale(1.06) !important;
    filter: brightness(.92);
  }
}
@media screen and (max-width: 600px) {
  body.home #home-reform .posts.row > article.post {
    flex: 90% !important;
    max-width: 90% !important;
    margin-inline: auto;
  }
  /*body.home #home-reform, body.home #home-event, body.home #home-voice {
    padding: 0 20px;
  }*/
}
/*========================================================================================

★★★★★ TOP/ニュース＆ブログ ★★★★★

=========================================================================================*/
/* TOP専用 */
body.home #home-news.home-content.pt-5.pb-4.mb-4.mb-md-5.px-0.px-md-3.mx-auto {
  padding: 5.5rem 0 0 !important;
}
/*===== タブメニュー =====*/
/* タブ中身：基本は非表示、selectedだけ表示 */
.tab-container > .tab-content {
  display: none;
}
.tab-container > .tab-content.selected {
  display: block;
}
/* 共通UI：body.home なし*/
.tab-container {
  position: relative;
}
.tab-container ul {
  margin: 0;
  list-style: none;
  display: flex;
  background: #eeeeee;
  border-radius: 48px;
  padding: 13px;
  margin-bottom: 2em;
  position: relative;
  overflow: hidden;
}
.tab-container ul .slide-indicator {
  position: absolute;
  top: 6px;
  left: 6px;
  height: calc(100% - 12px);
  width: calc((100% - 12px) / 3);
  background: #000;
  border-radius: 48px;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 1;
  pointer-events: none;
}
.tab-container ul li {
  flex: 1;
  padding: 10px 0;
  text-align: center;
  cursor: pointer;
  position: relative;
  z-index: 2;
  font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);
  font-weight: 700;
  color: #000;
  border-radius: 48px;
  background: transparent;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tab-container ul li.selected {
  color: #fff;
  font-weight: 600;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
/* TOP専用 */
body.home #home-news .posts .post .thumbnail .attachment {
  padding-top: 65%;
  margin-bottom: 10%;
}
/*====== ブログ ======*/
/* TOP専用：body.home 付き */
body.home #home-blog.mb-5 {
  margin-top: 3rem !important;
}
body.home .posts.row > article.post {
  flex: 0 0 33.3333% !important;
  max-width: 33.3333% !important;
}
@media screen and (max-width: 820px) {
  body.home #home-news .content_header .to_index {
    position: absolute;
    bottom: 0em;
    right: 20px;
  }
}
@media screen and (max-width: 600px) {
  body.home #home-news .posts.row > article.post {
    flex: 0 0 90% !important;
    max-width: 90% !important;
    margin-inline: auto;
  }
  body.home #home-news.home-content.pt-5.pb-4.mb-4.mb-md-5.px-0.px-md-3.mx-auto {
    padding: 4rem 0 5rem !important;
    margin-bottom: 3rem !important;
  }
}
/*========================================================================================

★★★★★ TOP/画像ループ（モザイク版） ★★★★★

=========================================================================================*/
/* TOP専用：body.home 付き */
body.home .scroll-infinity {
  margin: clamp(80px, 10vw, 140px) calc(50% - 50vw) 0;
  width: 100vw;
  background: #faf8f6;
}
body.home .scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
}
body.home .scroll-infinity__list {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
  width: max-content;
  gap: clamp(12px, 1.2vw, 22px);
  will-change: transform;
  margin-right: clamp(12px, 1.2vw, 22px);
}
body.home .scroll-infinity__item {
  flex: 0 0 auto;
  width: clamp(520px, 50vw, 650px);
  height: clamp(240px, 50vw, 500px);
}
/* アニメ：右方向に流す（見た目は左→右へ動く） */
body.home .scroll-infinity__list--right {
  animation: infinity-scroll-right 80s linear infinite;
}
@keyframes infinity-scroll-right {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
/*==== モザイクギャラリー ====*/
body.home .mosaic {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: clamp(10px, 1vw, 18px);
}
body.home .mosaic figure {
  margin: 0;
  overflow: hidden;
}
body.home .mosaic__big {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}
body.home .mosaic__top {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
body.home .mosaic__bottom {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}
body.home .mosaic img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.position-30 img {
  object-position: 30%;
}
@media screen and (max-width: 820px) {
  body.home .scroll-infinity__item {
    width: min(92vw, 620px);
    height: clamp(300px, 44vw, 320px);
  }
  body.home .scroll-infinity {
    margin: clamp(80px, 10vw, 140px) calc(50% - 50vw) 0;
  }
}
@media screen and (max-width: 600px) {
  body.home .scroll-infinity {
    margin: clamp(60px, 10vw, 140px) calc(50% - 50vw) 0;
  }
}
/*========================================================================================

★★★★★ TOP/イベントのご案内 ★★★★★

=========================================================================================*/
/* TOP専用：body.home 付き */
body.home #home-event.pb-md-5.pb-md-5 {
  margin-top: 3em;
}
body.home #home-event.py-md-5.py-md-5 {
  padding-bottom: 5.5rem !important;
}
/* home-event だけで上書き */
body.home #home-event .posts.row > article.post {
  flex: initial !important;
  max-width: initial !important;
}
body.home #home-event .posts.row {
  display: flex;
  flex-wrap: wrap;
}
body.home #home-event .posts.row > article.post {
  flex: 0 0 50% !important;
  max-width: 50% !important;
}
body.home #home-event .sec-des {
  padding: 0 0 2rem;
}
@media screen and (max-width: 600px) {
  body.home #home-event.py-md-5.py-md-5 {
    padding-bottom: 3rem !important;
  }
  body.home #home-event .posts.row > article.post.post {
    flex: 0 0 90% !important;
    max-width: 90% !important;
    margin-inline: auto;
  }
  body.home #home-event {
    padding: 40px 0 0;
  }
  body.home #home-infoarea.mb-5 {
    margin-bottom: 1rem !important;
  }
  body.home #home-event .sec-des {
    padding: 2rem 1rem 1rem;
  }
}
/*========================================================================================

★★★★★ TOP/お客様の声 ★★★★★

=========================================================================================*/
/* TOP専用：body.home 付き */
body.home #home-voice.py-md-5 {
  padding: 6rem 0 8rem !important;
}
body.home #home-voice article div {
  padding: 1em 2em 0 !important;
}
body.home #home-voice .post .post-thumbnail img, body.home #home-voice .post .post-thumbnail .noimg {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 100vw;
  object-fit: cover;
}
body.home .post-thumbnail {
  position: relative;
}
body.home #home-voice .sec-des {
  padding: 1rem 0 1rem;
}
@media screen and (max-width: 820px) {
  body.home #home-voice.py-md-5 {
    padding: 6rem 0 6rem !important;
  }
  body.home .wrapper#home-voice {
    width: 100%;
  }
  /* タブレットで強制的に３列（home-voice 内だけに限定するのが安全） */
  body.home #home-voice .posts.row > article.post {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
  }
}
@media screen and (max-width: 600px) {
  body.home #home-voice.py-md-5 {
    padding: 4rem 0 3rem !important;
  }
  body.home #home-voice .posts.row > article.post {
    flex: 0 0 90% !important;
    max-width: 90% !important;
    margin-inline: auto;
  }
  body.home .style-voice .post-thumbnail {
    width: 60%;
  }
  /* スマホで１列（home-voice 内に限定） */
  body.home #home-voice .posts.row > article.post {
    flex: 0 0 90% !important;
    max-width: 90% !important;
    margin-inline: auto;
  }
  body.home #home-voice .sec-des {
    padding: 2rem 1rem 1rem;
  }
}
/*========================================================================================

★★★★★ TOP/ZEH普及実績と今後の目標 ★★★★★

=========================================================================================*/
/* TOP専用化 */
body.home hr {
  border-top: 1px solid rgb(0 0 0);
  width: 70%;
}
.zeh1 .title {
  color: #8abd24;
}
/*===== パララックス：背景（ZEH） =====*/
#target-pp {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 80px 0;
  color: #fff;
}
#target-pp::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/wp-content/uploads/2026/02/10d182d8e604703b3b2cceebad77438b.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: translate3d(0, var(--paraBgY, 0px), 0) scale(1.12);
  will-change: transform;
  z-index: -2;
}
#target-pp::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
  z-index: -1;
}
#target-pp p ,
#target-pp p a {
  color: #fff;
}
.zeh1 {
  margin-bottom: 2em;
}
.zeh2 {
  width: 100%;
  display: table;
  overflow: hidden;
  border: 0.5px solid #ffffff;
  color: #ffffff;
}
.zeh3 {
  display: table-cell;
  border-right: 0.5px solid #ffffff;
  font-size: clamp(1.2rem, 1.127rem + 0.36vw, 1.4rem);
  padding: 0.5em;
}
.zeh4 hr {
  border-top: 0.5px solid #ffffff !important;
}
@media screen and (max-width: 767.98px) {
  .zeh2 {
    width: 100%;
    display: block;
  }
  .zeh3 {
    display: block;
    border-right: none;
    border-bottom: 1px solid #ffffff;
  }
  .zeh4 hr {
    display: none;
  }
  #target-pp {
    padding: 30px 0;
  }
}
/*========================================================================================

フッター

=========================================================================================*/
/* 共通UI：body.home なし */
#footer .pt-5, .py-5 {
  padding: 7rem 0 3rem !important;
}
#footer_inbox {
  background: var(--col_key04);
}
#footer a.w100.maxw-200.mx-auto {
  max-width: 300px;
}
#footer, #footer a {
  color: #000000;
}
#footer .footer-contact {
  border-bottom: 1px solid #000000;
}
#footer .footer-contact-inner1.col-md-4.mb-4, #footer .col-md-5.mb-4 {
  max-width: 50%;
  flex: 0 0 50%;
}
@media screen and (max-width: 600px) {
  #footer .footer-contact-inner1.col-md-4.mb-4, #footer .col-md-5.mb-4 {
    max-width: 100%;
    flex: 0 0 100%;
  }
  #footer .pt-5, .py-5 {
    padding: 3rem 1rem 3rem !important;
  }
}
/*========================================================================================

固定CTAボタン,TOPボタン

=========================================================================================*/
/* 共通UI：body.home なし */
#foot-offer .flexbox > li a {
  padding: 1em 0.3em;
  font-size: 1rem;
  line-height: 1rem;
}
#foot-offer .flexbox {
  max-width: 100%;
}
li.links_offer.to_event a {
  background: #e94119;
}
li.links_offer.to_shiryou a {
  background: #FFC107;
}
li.links_offer.to_inquiry a {
  background: #219aa1;
}
#pageTop a:before {
  color: rgb(0 0 0);
}
#pageTop.fixed {
  bottom: 60px;
}
.footer-navi-menu ul.menu, .global-navi_widgets ul.menu {
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 600px) {
  #foot-offer .flexbox > li a {
    padding: 0.7em 0.3em;
    font-size: 1rem;
    line-height: 1.4rem;
  }
}
/*========================================================================================

コンセプトページ◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎

=========================================================================================*/
@media screen and (min-width: 819px) {
  body.page-concept .wrapper {
    width: 90%;
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.page-concept .pad-5 {
  padding: 0 5%;
  background: url(/wp-content/uploads/2026/02/0b99c33cd12216b0d7662a00061a3d9f.jpg) no-repeat left 5% / 50%;
}
body.page-concept #main .entry-content h2.big {
  font-size: clamp(2rem, 1.1rem + 2.8vw, 4rem);
  margin: 0;
  text-align: left;
  line-height: 2;
}
.award3 img {
  padding: 4em 8em 6em 6em;
}
/* ===== Collageギャラリー ===== */
/* Collage（パララックス + 両端見切れ）
  - PC：4列×3段
  - Tablet：PCと同じ並び（600px超は同レイアウト）
  - SP（<=600px）：画像少なく */ :root {
  --c-gap: 16px; /* 画像の隙間 */
  --c-bleed: 240px; /* 左右の見切れ量 */
  --c-pad: 16px; /* 100vwより大きいグリッド内の左右余白 */
}
/* セクション */
.collage-section {
  width: 100%;
}
/* 画面端まで広げて見切れを作る箱 */
.collage-bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden; /* ここで左右見切れ */
}
/* PC/Tablet 共通：4列×3段（並びは変えない） */
.collage.collage--bleed {
  width: calc(100vw + var(--c-bleed));
  margin-left: calc(var(--c-bleed) / -2);
  padding: 0 var(--c-pad);
  display: grid;
  gap: calc(var(--c-gap) * 0.7);
  align-items: stretch;
  /* 4列×3段（安定） */
  grid-template-columns:
    minmax(360px, 1.35fr) minmax(240px, 1fr) minmax(240px, 1fr) minmax(340px, 1.25fr);
  grid-template-rows:
    minmax(140px, 200px) minmax(260px, 1fr) minmax(140px, 200px);
  grid-template-areas:
    "L  T1 T2 R"
    "L  C  C  R"
    "BL C  C  R";
  background: transparent;
  opacity: 1;
  filter: none;
  transform: none;
}
/* アイテム共通 */
.collage__item {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
  min-width: 0;
  line-height: 0;
  background: #eee;
}
/* エリア割当 */
.collage__item.is-left {
  grid-area: L;
}
.collage__item.is-top1 {
  grid-area: T1;
}
.collage__item.is-top2 {
  grid-area: T2;
}
.collage__item.is-center {
  grid-area: C;
}
.collage__item.is-bottomLeft {
  grid-area: BL;
}
.collage__item.is-right {
  grid-area: R;
}
/* 画像：パララックス前提（PC/Tablet） */
.page-id-101 .collage-section .hentry img, .page-id-101 .collage-section .collage__item > img {
  position: absolute;
  left: 0;
  top: -10%;
  width: 100%;
  height: 120%;
  object-fit: cover;
  object-position: center;
  display: block;
  max-width: none;
  will-change: transform;
  transform: translate3d(0, var(--paraImgY, 0px), 0);
}
/* 右縦長：切れやすい場合だけ（不要なら消してOK） */
.collage__item.is-right > img {
  object-position: 65% center;
}
/* Tablet（<=1024）：並びは変えず、サイズだけ調整 */
@media (max-width: 1024px) {
  :root {
    --c-bleed: 160px;
    --c-pad: 14px;
  }
  .collage.collage--bleed {
    /* 4列は維持。最小値だけ下げて潰れ回避 */
    grid-template-columns:
      minmax(260px, 1.25fr) minmax(170px, 1fr) minmax(170px, 1fr) minmax(240px, 1.15fr);
    grid-template-rows:
      minmax(120px, 180px) minmax(220px, 1fr) minmax(120px, 180px);
  }
}
/* Tablet（<=820）：PCと同じ並びのまま */
@media (max-width: 820px) {
  :root {
    --c-bleed: 120px;
    --c-pad: 12px;
  }
  .collage.collage--bleed {
    /* 4列×3段は維持 */
    grid-template-columns:
      minmax(220px, 1.18fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(210px, 1.05fr);
    grid-template-rows:
      minmax(110px, 170px) minmax(210px, 1fr) minmax(110px, 170px);
  }
}
/* SP（<=600）：画像一部削除 */
@media (max-width: 600px) {
  :root {
    --c-bleed: 72px;
    --c-pad: 12px;
  }
  .collage.collage--bleed {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    grid-template-rows: auto;
    /* SPは並び替え */
    grid-template-areas:
      "L  L"
      "T1 T2"
      "C  C"
      "BL BL"
      "R  R";
  }
  /* ★全画像が見える：各アイテムの高さを保証 */
  .collage__item.is-left {
    aspect-ratio: 3 / 2;
  }
  .collage__item.is-top1 {
    aspect-ratio: 1 / 1;
  }
  .collage__item.is-top2 {
    aspect-ratio: 1 / 1;
  }
  .collage__item.is-center {
    aspect-ratio: 16 / 9;
  }
  .collage__item.is-bottomLeft {
    aspect-ratio: 16 / 9;
  }
  .collage__item.is-right {
    aspect-ratio: 3 / 4;
    min-height: 320px;
  }
  /* SPは「見える」優先：上下はみ出しを減らす */
  .collage__item > img {
    top: 0;
    height: 100%;
    transform: translate3d(0, var(--paraImgY, 0px), 0);
  }
}
/* =====コンセプトのリスト===== */
/* 奇数=右ブリード / 偶数=左ブリード） */
.concept-bleed {
  margin-inline: auto;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start;
  gap: 100px;
  background: url(/wp-content/uploads/2026/02/538900ef26e67717c8322fbe55571645.jpg) no-repeat left top / 45%;
  padding: 5vw 0 0 5vw;
}
.concept-bleed:nth-of-type(even) {
  background: url(/wp-content/uploads/2026/02/538900ef26e67717c8322fbe55571645.jpg) no-repeat right top / 45%;
  padding: 5vw 5vw 0 0;
}
/* テキスト（concept-txt / text-cell 両対応） */
.concept-bleed .concept-txt, .concept-bleed .text-cell {
  flex: 1 1 520px;
  min-width: 0;
}
/* 画像（concept-img / img-cell 両対応） */
.concept-bleed .concept-img, .concept-bleed .img-cell {
  flex: 0 0 clamp(400px, 52vw, 820px);
  min-width: 0;
}
/* 奇数：テキスト左 / 画像右（右ブリード） */
.concept-bleed .concept-txt, .concept-bleed .text-cell {
  order: 1;
}
.concept-bleed .concept-img, .concept-bleed .img-cell {
  order: 2;
  margin-right: calc(50% - 50vw);
  margin-left: 0;
}
/* 偶数：画像左（左ブリード） / テキスト右 */
.concept-bleed:nth-of-type(even) .concept-img, .concept-bleed:nth-of-type(even) .img-cell {
  order: 1;
  margin-left: calc(50% - 50vw);
  margin-right: 0;
}
.concept-bleed:nth-of-type(even) .concept-txt, .concept-bleed:nth-of-type(even) .text-cell {
  order: 2;
}
/* 画像：3:2固定・角丸なし */
.concept-bleed figure {
  margin: 0;
  border-radius: 0;
  overflow: hidden;
}
.concept-bleed img {
  width: 100%;
  aspect-ratio: 3 / 2;
  display: block;
  object-fit: cover;
}
.concept-bleed img.award-img {
  aspect-ratio: auto;
  width: 100%;
}
/* SP：縦並び（ブリード解除） */
@media screen and (min-width: 1280px) {
  .text-cell {
    padding-left: 3rem !important;
  }
}
@media (max-width: 820px) {
  .concept-bleed {
    gap: 40px;
  }
}
@media (max-width: 600px) {
  .concept-bleed {
    flex-direction: column-reverse !important;
    gap: 16px;
    padding: 0; /* ★親に左右paddingを持たせない（画像を端に付ける） */
    margin: 0 0 40px;
    background: url(/wp-content/uploads/2026/02/538900ef26e67717c8322fbe55571645.jpg) no-repeat left top / 100%;
  }
  /* 偶数も同じ（背景だけ揃える） */
  .concept-bleed:nth-of-type(even) {
    padding: 0;
    background: url(/wp-content/uploads/2026/02/538900ef26e67717c8322fbe55571645.jpg) no-repeat left top / 100%;
  }
  /* 画像ブロック*/
  .concept-bleed .concept-img, .concept-bleed .img-cell {
    order: 1;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 !important; /* ★PCの margin-left/right: calc(...) を殺す */
  }
  /* テキストブロック */
  .concept-bleed .concept-txt, .concept-bleed .text-cell {
    order: 2;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0 16px;
  }
  /* figure/img */
  .concept-bleed figure {
    margin: 0;
    border-radius: 0;
    overflow: hidden;
  }
  .concept-bleed img {
    width: 100%;
    display: block;
    aspect-ratio: 3 / 2;
    object-fit: cover;
  }
  .collage-section.mb-large {
    margin-bottom: 40px;
  }
  .page-concept .col-48 {
    width: 90%;
    margin-inline: auto;
  }
  .page-concept .pad-5 {
    padding: 0;
    background: url(/wp-content/uploads/2026/02/0b99c33cd12216b0d7662a00061a3d9f.jpg) no-repeat left 5% / 100%;
  }
  /* 位置調整 */
  body.page-concept #home-example .slick-slider {
    margin-bottom: 0;
  }
  .mx-fit, global-navi-menu .mx-fit.wrapper {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-inline: auto;
  }
  /*フォント・画像調整*/
  .page-id-101 .font-xxsmall {
    line-height: 2;
  }
  .page-id-101 .font-3xsmall {
    font-size: clamp(1rem, 0.727rem + 0.36vw, 1rem);
  }
  .award3 img {
    padding: 2em;
  }
  .content_header .to_index {
    bottom: -2em;
  }
}
/*========================================================================================

建物仕様（注文住宅）◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎

=========================================================================================*/
/* 初期：PC想定 */
.zima-ill-sp {
  display: none;
}
.zima-ill-pc img, .zima-ill-sp img {
  max-width: 100%;
  height: auto;
  display: block;
}
body.page-template-htmlpage_order .entry-content h2.mb-4 {
  margin-top: 0 !important;
}
/* ========安心サービス（Reason Cards）のカードリンク======== */
/* タイトル */
.content_header .ttl {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: .08em;
  margin-bottom: 60px;
}
/* 一覧（UL） */
.reason-items {
  gap: 30px;
  padding-left: 0;
  list-style: none;
}
/* カード（LI） */
.reason-item {
  position: relative;
  background: #a8876a;
  color: #fff;
  border-radius: 28px;
  overflow: hidden;
  /* 正方形 */
  aspect-ratio: 1 / 1;
  /* 均等配置：上（アイコン）/ 中（タイトル）/ 下（ボタン） */
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  align-items: center !important;
  /* d-flex の justify-content-around 等を無効化 */
  gap: 0 !important;
  padding: 56px 28px;
  text-align: center;
  /* hover枠が出る原因排除 */
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
/* hover */
.reason-item:hover {
  transform: translateY(-6px);
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
/* 擬似要素が枠を描いているケース完全停止 */
.reason-item::before, .reason-item::after {
  content: none !important;
  display: none !important;
}
/* アイコン */
.reason-item .icon {
  margin: 0 !important;
  line-height: 1;
}
/* Material Icons（span） */
.reason-item .material-icons, .reason-item .material-symbols-outlined {
  font-size: 72px;
  color: #fff;
  display: inline-block;
  line-height: 1;
}
/* タイトル */
.reason-item .rsn_ttl {
  margin: 0 !important;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.7;
  font-weight: 600;
  text-align: center;
  padding: 0 6px;
}
/* ボタン */
.reason-item a {
  text-decoration: none;
}
.reason-item .btn.arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35em;
  background: #f4f4f4;
  color: #333;
  padding: 14px 26px;
  border-radius: 14px;
  font-size: .95rem;
  font-weight: 700;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  transition: transform .25s ease, background-color .25s ease;
}
.reason-item .btn.arrow::before {
  content: "›";
  font-weight: 900;
  transform: translateY(-.02em);
}
.reason-item .btn.arrow:hover {
  background: #fff;
  transform: translateY(-2px);
  box-shadow: none !important;
}
.reason-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 18px;
}
.reason-item a {
  margin-top: auto;
}
.reason-item .rsn_ttl {
  padding-right: 0 !important;
  margin-bottom: 0 !important;
}
.reason-item::before, .reason-item::after {
  display: none !important;
}
/* ====== Responsive ====== */
/* Tablet */
@media (max-width: 820px) {
  .reason-items {
    gap: 22px;
  }
  .reason-item {
    border-radius: 24px;
    padding: 48px 22px;
  }
  .reason-item .material-icons, .reason-item .material-symbols-outlined {
    font-size: 64px;
  }
  .reason-item .rsn_ttl {
    font-size: 1rem;
  }
}
/* Mobile */
@media (max-width: 600px) {
  .content_header .ttl {
    margin-bottom: 40px;
  }
  .reason-items {
    gap: 16px;
    width: 90%;
    margin-inline: auto;
  }
  .reason-item {
    aspect-ratio: auto;
    min-height: 200px;
    border-radius: 22px;
    padding: 40px 18px;
  }
  .reason-item .material-icons, .reason-item .material-symbols-outlined {
    font-size: 52px;
  }
  .reason-item .rsn_ttl {
    font-size: .98rem;
    line-height: 1.65;
  }
  .reason-item .btn.arrow {
    padding: 12px 20px;
    font-size: .9rem;
    border-radius: 12px;
  }
  .page-order #main .entry-content h2, .page-order #main .entry-content h3, .page-order #main .entry-content h4, .page-order #main .entry-content h5, .page-order #main .entry-content h6 {
    padding: 0 1rem;
  }
}
body.page-template-htmlpage_reason .modal-content li.reason-item,
body.page-template-htmlpage_reason .left_nav li.reason-item{
}
body.page-template-htmlpage_reason .modal-content li.reason-item,
body.page-template-htmlpage_reason .left_nav li.reason-item{
    aspect-ratio: initial !important;
    border-radius: 0;
    background: transparent !important;
    min-height: inherit;
}
body.page-template-htmlpage_reason .left_nav li.reason-item .item_bg{
    background: transparent !important;
}
body.page-template-htmlpage_reason  .modal-content li.reason-item .rsn_ttl,
body.page-template-htmlpage_reason .left_nav li.reason-item .rsn_ttl{
    color: #222;
    text-align: left;
    font-size: 16px;
    width: 100%;
    font-weight: normal;
}
body.page-template-htmlpage_reason  .modal-content li.reason-item .rsn_ttl{
    text-align: center;
}


body.page-template-htmlpage_reason .modal-content li.reason-item:hover,
body.page-template-htmlpage_reason .left_nav li.reason-item:hover{
    transform: translateY(0);
    box-shadow: initial !important;       
}
body.page-template-htmlpage_reason .left_nav .current-menu-ancestor a:after{
    
    
}
body.page-template-htmlpage_reason .modal-content .current-menu-ancestor{
    text-align: center;
}

.left_nav.pagetab > div{
width: 90%;
}
body.page-template-htmlpage_reason .left_nav.pagetab li{
	line-height: 1.4;
}
body.page-template-htmlpage_reason .left_nav.pagetab li .item_bg{
border-radius: 0;
bottom: 0;
left: 0;
right: 0;
top: 0;
}
body.page-template-htmlpage_reason .left_nav.pagetab li .item_bg{
border:0;
}


body.page-template-htmlpage_reason .left_nav.pagetab li figure{
display: none;
}
body.page-template-htmlpage_reason .left_nav.pagetab li.reason-item:before{
content: none;
}
body.page-template-htmlpage_reason .modal-content li.reason-item .to_detail,
body.page-template-htmlpage_reason .left_nav.pagetab li.reason-item .to_detail{
display: none;
}

body.page-template-htmlpage_reason .modal-content .reason-items .reason-item .icon {
display: none;
}
body.page-template-htmlpage_reason .modal-content .reason-items .reason-item .rsn_ttl {
color: #000;;
}
body.page-template-htmlpage_reason .modal-content .reason-items .reason-item .item_bg{
background: transparent;
}

body.page-template-htmlpage_reason .reason-items .reason-item .item_bg {
    top: 0.5rem;
}


/* =====フッター上のインクルードセクションの見出し===== */
body.page-concept .title_design-En span.sub-en, body.page-template-htmlpage_order .title_design-En span.sub-en, .page-template-htmlpage_renovation .title_design-En span.sub-en {
  display: none;
}
@media (max-width: 820px) {}
@media (max-width: 600px) {
  .page-template-htmlpage_order .font-xxsmall {
    padding: 1em;
    line-height: 1.8;
  }
  .page-template-htmlpage_order .col-80 {
    width: 100%;
  }
  .zima-ill-pc {
    display: none;
  }
  .zima-ill-sp {
    display: block;
  }
}
/*========================================================================================

建物仕様（リノベーション）◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎

=========================================================================================*/
.page-template-htmlpage_renovation .entry-content .flex.flex {
  justify-content: space-between;
  background: #ac896d;
  padding: 2em;
  border-radius: 10px;
}
.page-template-htmlpage_renovation #main .entry-content.entry-content header {
  padding-bottom: 1.5rem !important;
}
/* ====== スーパーウォール断熱リフォーム ====== */
.sw-reform__inner {
  max-width: 1200px;
  margin: 0 auto;
}
/* titles */
.sw-title {
  font-size: clamp(20px, 3vw, 30px);
  font-weight: 700;
  margin-bottom: 2em;
}
.sw-intro .sw-title {
  margin-bottom: 1em;
}
.sw-title--center {
  text-align: center;
}
.sw-lead {
  font-size: 18px;
  line-height: 2;
  font-weight: 700;
}
.sw-list {
  margin-top: 10px;
  padding-left: 1.2em;
  line-height: 1.9;
}
/* hero */
.sw-hero img {
  width: 100%;
  border-radius: 12px;
}
/* intro */
.sw-intro__grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 32px;
}
.sw-intro__figure img {
  width: 90%;
  margin-inline: auto;
}
/* flow*/
.sw-ba.sw-ba img {
  width: 85%;
  margin-inline: auto;
  margin-bottom: clamp(40px, 6vw, 100px);
}
/* recommend */
.sw-recommend__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.sw-recommend__item {
  text-align: center;
  padding: 1.5em 0;
  border-radius: 15px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .15), 0 2px 6px rgba(0, 0, 0, .12);
}
.sw-recommend__item img {
  width: 100%;
}
/* feature */
.sw-feature {
  margin-top: 40px;
}
.sw-feature__row {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 4em;
  align-items: center;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 8px 24px, rgba(0, 0, 0, 0.12) 0px 2px 6px;
  border-radius: 12px;
  padding: 1em 3em;
  margin-bottom: 3em;
}
.sw-feature__row img {
  width: 100%;
  border-radius: 10px;
}
/* cta */
.sw-cta {
  margin-top: 40px;
}
.sw-cta__box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 8px 24px, rgba(0, 0, 0, 0.12) 0px 2px 6px;
}
.sw-cta__body {
  padding: 3em;
}
.sw-cta__btn {
  display: inline-block;
  padding: 0.8em 3em;
  background: #000;
  color: #fff;
  border: 1px solid #000000;
  border-radius: 999px;
  text-decoration: none;
}
.sw-cta__btn:hover {
  background: #fff;
  color: #000;
  text-decoration: none;
}
.t-right {
  text-align: right;
}
.sw-cta__box .studio-img {
  height: 100%;
}
/* responsive */
@media (max-width: 600px) {
  .sw-reform {
    padding: 1.5em;
  }
  .sw-intro__grid, .sw-recommend__grid, .sw-feature__row, .sw-cta__box {
    grid-template-columns: 1fr;
  }
  .page-template-htmlpage_renovation .entry-content {
    padding: 1.5em;
  }
  .page-template-htmlpage_renovation .entry-content .font-xxsmall {
    line-height: 1.8;
  }
  .page-template-htmlpage_renovation .entry-content .col-55, .page-template-htmlpage_renovation .entry-content .col-40 {
    width: 100%;
  }
  .col-70.sw-ba {
    width: 100%;
  }
  .sw-recommend .sw-recommend__grid, .sw-feature .sw-feature__row {
    width: 80%;
    margin-inline: auto;
  }
  .sw-intro__figure img {
    width: 50%;
    margin-inline: auto;
  }
  .sw-feature__row {
    gap: 1em;
    padding: 2em 1em 1em;
    margin-bottom: 2em;
  }
  .pd-2em {
    padding: 0 2em;
  }
	/* flow*/
.sw-ba.sw-ba img {
    width: 100%;
}
}
/*========================================================================================

家づくりの流れ◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎

=========================================================================================*/
.build-flow {
  padding: 44px 20px 80px;
  color: #111;
  font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", sans-serif;
}
.build-flow__inner {
  max-width: 1120px;
  margin: 0 auto;
  position: relative;
}
/* 縦ドット罫線（時間の経過） */
.build-flow__inner::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 140px; /* rail-x */
  width: 2px; /* rail-w */
  background:
    radial-gradient(circle, #acacac 1.25px, transparent 1.35px) center top / 2px 8px repeat-y;
  z-index: 1;
}
/* Group（出会い/ご相談/...） */
.build-flow__group {
  position: relative;
}
.build-flow__stage {
  position: relative;
  margin-bottom: 22px;
}
/* 左の丸ラベル */
.build-flow__stageCircle {
  width: 160px; /* stage-size */
  height: 160px;
  margin-left: calc(140px - 80px); /* rail-x - stage/2 */
  display: grid;
  place-items: center;
  border-radius: 999px;
  border: 1px solid #a7866a;
  background: #a7866a;
  font-weight: 700;
  letter-spacing: .08em;
  color: #fff;
  text-align: center;
  line-height: 1.25;
  padding: 10px;
  box-sizing: border-box;
  position: relative;
  z-index: 6; /* 縦線より上 */
  font-size: 18px;
}
/* 円の内側だけ塗って縦線を隠す */
.build-flow__stageCircle::before {
  content: "";
  position: absolute;
  inset: 6px;
  background: #a7866a;
  border-radius: 999px;
  z-index: -1;
  pointer-events: none;
}
/* Items（カード群） */
.build-flow__items {
  display: grid;
  row-gap: 18px;
}
/* 1行（レール＋カード） */
.build-flow__item {
  position: relative;
  display: grid;
  grid-template-columns: 260px 1fr; /* rail-x(140) + arm-len(120) */
  align-items: start;
}
/* ドット（＋元の横棒の基点） */
.build-flow__rail {
  position: absolute;
  left: 140px; /* rail-x */
  top: 30px; /* 微調整OK */
  transform: translateX(-50%);
  width: 1px;
  height: 1px;
  pointer-events: none;
  z-index: 4; /* しっぽより前 */
}
.build-flow__dot {
  position: absolute;
  left: 0;
  top: 0;
  width: 15px; /* dot-size */
  height: 15px;
  border-radius: 50%;
  background: #111;
  transform: translate(-50%, -50%);
  z-index: 5; /* 黒点が最前面 */
}
/* 横棒 */
.build-flow__arm {
  position: absolute;
  left: 0;
  top: 0;
  width: 120px; /* arm-len */
  height: 1px;
  background: #acacac;
  transform: translate(0, -50%);
  z-index: 2;
  display: none !important;
}
/* Card（右） */
.build-flow__card {
  grid-column: 2;
  position: relative;
  z-index: 3;
  background: #fff;
  border-radius: 6px;
  padding: 22px 28px;
  box-sizing: border-box;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .15), 0 2px 6px rgba(0, 0, 0, .12);
  /* border:1px solid #dcdcdc; */
}
/* 吹き出しのしっぽ（鋭角・横長） */
.build-flow__card::before {
  content: "";
  position: absolute;
  left: -34px;
  top: 20px;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 34px solid #fff; /* card-bg */
  filter: drop-shadow(-3px 3px 4px rgba(0, 0, 0, .15));
  z-index: 2;
}
/* 見出し行 */
.page-flow #main .entry-content h3.build-flow__title {
  font-size: clamp(1.25rem, 1.125rem + 0.63vw, 1.8rem);
  font-weight: 700;
}
.build-flow__cardHead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.build-flow__title {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.35;
}
.build-flow__text {
  margin: 12px 0 0;
  color: #555;
  font-size: 16px;
  line-height: 1.95;
}
.build-flow__card--compact {
  padding: 16px 20px;
}
/* ボタン */
.build-flow__btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.build-flow__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0 40px;
  border-radius: 100px;
  text-decoration: none;
  font-size: 14px;
  box-sizing: border-box;
  background: #111;
  color: #fff;
  border: 1px solid #111;
}
.entry-content a.build-flow__btn {
  text-decoration: none;
}
.build-flow__btn:hover {
  background: #fff;
  color: #111;
  border: 1px solid #111;
}
.page-id-11222 .hentry .col-35 img {
  aspect-ratio: 3 / 2;
}
/* ===== Responsive ===== */
@media (max-width:1000px) {
  .build-flow__inner::before {
    left: 110px;
    width: 2px;
    background:
      radial-gradient(circle, #acacac 1.25px, transparent 1.35px) center top / 2px 8px repeat-y;
  }
  .build-flow__stageCircle {
    width: 132px;
    height: 132px;
    margin-left: calc(110px - 66px);
  }
  .build-flow__item {
    grid-template-columns: 180px 1fr; /* rail-x(110) + arm-len(70) */
  }
  .build-flow__rail {
    left: 110px;
    top: 28px;
  }
  .build-flow__title {
    font-size: 18px;
  }
}
@media (max-width:820px) {
  .build-flow__inner::before {
    left: 86px;
    width: 2px;
    background:
      radial-gradient(circle, #acacac 1.25px, transparent 1.35px) center top / 2px 8px repeat-y;
  }
  .build-flow__stageCircle {
    width: 112px;
    height: 112px;
    margin-left: calc(86px - 56px);
  }
  .build-flow__item {
    grid-template-columns: 160px 1fr; /* rail-x(86) + arm-len(74) */
  }
  .build-flow__rail {
    left: 86px;
    top: 26px;
  }
}
@media (max-width:600px) {
  .build-flow__inner::before {
    left: 42px;
    width: 2px;
    background:
      radial-gradient(circle, #acacac 1.25px, transparent 1.35px) center top / 2px 8px repeat-y;
  }
  .build-flow__stageCircle {
    width: 88px;
    height: 88px;
    margin-left: calc(42px - 44px);
    font-size: 16px; /* 小さくして詰まり回避（必要なければ削除OK） */
  }
  .build-flow__item {
    grid-template-columns: 78px 1fr; /* rail-x(42) + arm-len(22) + 14px */
  }
  .build-flow__rail {
    left: 42px;
    top: 22px;
  }
  .build-flow__card {
    padding: 18px 16px;
  }
  .build-flow__title {
    font-size: 16px;
  }
  .build-flow__text {
    font-size: 13.5px;
    line-height: 1.9;
  }
  /* SP：吹き出しのしっぽ（カードに密着） */
  .build-flow__card::before {
    top: 14px;
    left: -18px;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-right: 18px solid #fff;
  }
  .page-id-11222 .hentry .col-35 {
    width: 100%;
  }
}
/*========================================================================================

お金の相談◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎

=========================================================================================*/
/* ====== Intro Card Link Grid (screenshot-like) ====== */
.mlinks * {
  box-sizing: border-box;
}
.mlinks a {
  color: inherit;
  text-decoration: none;
}
.mlinks {
  padding: 40px 20px clamp(60px, 10vw, 120px);
  background: #fff;
}
.mlinks__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.mlinks__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border: 1px solid #a8876a;
  background: #fff;
}
/* card */
.mlinks__card {
  position: relative;
  min-height: 170px;
  padding: 30px 20px 30px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  border-right: 1px solid #a8876a;
  border-bottom: 1px solid #a8876a;
  background: #fff;
  transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
/* remove borders at grid edges */
.mlinks__card:nth-child(3n) {
  border-right: none;
}
.mlinks__card:nth-last-child(-n + 3) {
  border-bottom: none;
}
.mlinks__card:hover {
  background: #f7f4f1;
}
.mlinks__icon {
  font-size: 40px;
  line-height: 1;
  color: rgba(0, 0, 0, .72);
}
.mlinks__text {
  text-align: center;
  font-weight: 800;
  line-height: 1.55;
  letter-spacing: .02em;
  color: #a8876a;
  font-size: 20px;
}
/* bottom-right small corner */
.mlinks__corner {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 46px;
  height: 46px;
  background: #a8876a;
  display: grid;
  place-items: center;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.mlinks__corner .material-icons {
  color: #fff;
  font-size: 18px;
  transform: translate(6px, 6px);
  line-height: 1;
}
/* (optional) small ribbon like screenshot top-left */
.mlinks__card.is-ribbon::before {
  content: "迷ったらこちら";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 28px;
  background: rgba(224, 122, 46, .35);
  color: rgba(0, 0, 0, .70);
  font-weight: 800;
  font-size: 12px;
  display: grid;
  place-items: center;
}
.mlinks__card.is-ribbon::after {
  content: "";
  position: absolute;
  top: 28px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid rgba(224, 122, 46, .35);
}
/* responsive */
@media (max-width: 820px) {
  .mlinks__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mlinks__card:nth-child(3n) {
    border-right: 1px solid #a8876a;
  }
  .mlinks__card:nth-child(2n) {
    border-right: none;
  }
  .mlinks__card:nth-last-child(-n + 3) {
    border-bottom: 1px solid #a8876a;
  }
  .mlinks__card:nth-last-child(-n + 2) {
    border-bottom: none;
  }
}
@media (max-width: 600px) {
  .mlinks__grid {
    grid-template-columns: 1fr;
  }
  .mlinks__card {
    min-height: 140px;
  }
  .mlinks__card {
    border-right: none;
  }
  .mlinks__card:nth-last-child(-n + 2) {
    border-bottom: 1px solid #a8876a;
  }
  .mlinks__card:last-child {
    border-bottom: none;
  }
  .mlinks__text {
    font-size: 16px;
  }
}
/* ===== base ===== */
.mc * {
  box-sizing: border-box;
}
.mc img {
  max-width: 100%;
  height: auto;
  display: block;
}
.mc a {
  /*color: inherit;*/
  text-decoration: none;
}
.mc {
  color: #1f1f1f;
  line-height: 1.8;
}
/* wrap */
.mc-wrap {
  width: min(1200px, 100%);
  margin: 0 auto;
  padding: 0 22px;
}
/* sections */
.mc-sec {
  padding: clamp(34px, 4vw, 66px) 0;
  position: relative;
}
/* intro */
.mc-kicker {
  display: inline-flex;
  align-items: center;
  gap: .6em;
  font-weight: 800;
  color: rgba(0, 0, 0, .55);
  letter-spacing: .02em;
  margin: 0 0 12px;
}
.mc-kicker::after {
  content: "";
  width: 64px;
  height: 2px;
  background: rgba(0, 0, 0, .18);
  border-radius: 999px;
}
.mc-pageTitle {
  margin: 0;
  font-weight: 1000;
  letter-spacing: .02em;
  line-height: 1.15;
  font-size: clamp(28px, 3.2vw, 44px);
}
/* group head */
.mc-groupHead {
  margin: 0 0 18px;
}
#main .entry-content h3.mc-groupTitle {
  margin: 0;
  font-weight: 1000;
  letter-spacing: .02em;
  font-size: clamp(1.6rem, 1.4rem + 0.3vw, 1.8rem);
  color: rgba(0, 0, 0, .82);
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}
/* blocks */
.mc-block {
  padding: clamp(40px, 7vw, 80px) 0;
}
/* main grid */
.mc-head {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(16px, 3vw, 44px);
  align-items: start;
}
.mc-titleArea {
  padding: 6px 0;
}
/* bracket title（【〜】） */
.mc-bracketTitle {
  margin: 0 0 1.5em;
  display: block;
  font-weight: 1000;
  color: #a8876a;
  font-size: clamp(18px, 1.8vw, 24px);
  line-height: 1.5;
}
/* catch */
.mc-catch {
  margin: 0 0 1.5em;
  font-weight: 900;
  font-size: clamp(16px, 1.35vw, 18px);
  line-height: 1.8;
}
.mc-catch strong {
  color: #a8876a;
  font-weight: 1000;
}
/* sub */
.mc-sub {
  margin: 0;
  color: rgba(0, 0, 0, .62);
  font-size: 15px;
  line-height: 1.95;
}
/* photo */
.mc-photo {
  background: #fff;
  overflow: hidden;
  /*box-shadow: 0 18px 44px rgba(0, 0, 0, .08);*/
  transition: transform .18s ease, box-shadow .18s ease;
}
.mc-photo img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
  filter: saturate(1.02) contrast(1.02);
}
/* ===== lower area ===== */
.mc-lower {
  margin-top: clamp(18px, 3vw, 34px);
  background: #f7f4f1;
  padding: clamp(20px, 5vw, 50px);
  box-shadow: rgba(0, 0, 0, .15) 0 8px 24px, rgba(0, 0, 0, .12) 0 2px 6px;
}
.mc-lowerGrid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: clamp(16px, 3vw, 34px);
  align-items: start;
}
/* lower titles */
.page-money #main h4.mc-lTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #a8876a;
  font-weight: 1000;
  letter-spacing: .06em;
  margin-bottom: 2em;
  font-size: 20px;
}
.page-money #main h4.mc-lTitle::before, .page-money #main h4.mc-lTitle::after {
  content: "";
  height: 2px;
  width: 100px;
  background-color: #a8876a;
  border-radius: 999px;
}
/* ===== recommend list ===== */
.mc-check {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 20px;
}
.mc-check li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  line-height: 1.7;
  font-weight: 800;
  padding: 15px 20px;
  background: #fff;
}
.mc-check li::before {
  content: "✓";
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #a8876a;
  color: #f7f4f1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 1000;
  flex: 0 0 24px;
  margin-top: 1px;
}
/* ===== Voices ===== */
.mc-voices--chat {
  display: grid;
  gap: 18px;
  padding: 6px 4px;
}
/* row */
.mc-voices--chat .mc-chat {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}
.mc-chat .material-icons {
  font-size: 50px;
  color: #a7866a;
}
/* 吹き出し */
.mc-voices--chat .mc-chat__bubble {
  position: relative;
  background: #ffffff;
}
/* しっぽ（外側：枠線） */
.mc-voices--chat .mc-chat__bubble::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 12px;
  height: 12px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
}
/* しっぽ（内側：白で枠を整える） */
.mc-voices--chat .mc-chat__bubble::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px;
  height: 10px;
  background: #fff;
}
/* 左アイコンのとき：しっぽを左に */
.mc-voices--chat .mc-chat.is-left .mc-chat__bubble::before {
  left: -7px;
  border-right: none;
  border-top: none;
}
.mc-voices--chat .mc-chat.is-left .mc-chat__bubble::after {
  left: -6px;
}
/* ちょい“ふわっ”とさせる */
.mc-voices--chat .mc-chat__bubble {
  padding: 16px 18px;
}
/* avatar left/right */
.mc-voices--chat .mc-chat.is-left .mc-chat__avatar {
  grid-column: 1;
}
/* avatar box */
.mc-voices--chat .mc-chat__avatar {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .18);
  display: grid;
  place-items: center;
  box-shadow: 0 10px 18px rgba(0, 0, 0, .06);
}
/* ===== notes ===== */
.mc-note {
  margin: 14px 0 0;
  color: rgba(0, 0, 0, .62);
  font-weight: 700;
  line-height: 1.9;
}
/* ===== CTA ===== */
.mc-ctaWrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(30px, 6vw, 60px);
  flex-wrap: wrap;
  gap: 10px;
  text-align: center;
}
.mc-cta {
  background: #000000 !important;
  border: 1px solid #000000;
  transition: all 0.4s;
  padding: 1em 2em;
  border-radius: 10rem;
  background-color: #595757;
  display: inline-block;
  border-radius: 3px;
  padding: 0.6em 2em;
  color: #fff;
  box-sizing: border-box;
  text-decoration: none;
  margin-bottom: 0.5em;
  border-radius: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2em;
  transition: all 0.3s;
  border: 1px solid;
}
.mc-cta:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
  /*box-shadow: 0 22px 46px rgba(224, 122, 46, .34);*/
  background-color: #ffffff !important;
  color: #000000;
}
.mc-cta:active {
  transform: translateY(0);
  filter: brightness(1);
}
.mc-miniNote {
  margin: 0;
  font-size: 13px;
  color: rgba(0, 0, 0, .55);
}
/* ===== 北島先生の紹介 ===== */
.consult-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  /*background: #f7f4f1;*/
  /*box-shadow: rgba(0, 0, 0, .15) 0 8px 24px, rgba(0, 0, 0, .12) 0 2px 6px;*/
}
.consult-banner__text {
  min-width: 0;
}
.consult-banner__catch {
  margin: 0 0 6px;
  font-size: 16px;
  margin-bottom: 1em;
  font-weight: 800;
  color: #a8876a;
  letter-spacing: .02em;
  line-height: 1.2;
}
.consult-banner__company {
  margin: 0 0 2px;
  font-size: 12px;
  font-weight: 700;
  color: #111;
  line-height: 1.2;
}
.consult-banner__name {
  margin: 0;
  font-size: 16px;
  font-weight: 900;
  color: #111;
  line-height: 1.2;
  letter-spacing: .02em;
}
.consult-banner__role {
  font-size: 12px;
  font-weight: 700;
  color: #111;
}
.consult-banner__photo {
  flex: 0 0 auto;
  width: 100px;
  height: 100px;
  border-radius: 999px;
  background: #fff;
  display: grid;
  place-items: center;
  overflow: hidden;
}
.consult-banner__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* ちょい小さめ端末 */
@media (max-width:360px) {
  .consult-banner {
    padding: 10px 12px;
  }
  .consult-banner__catch {
    font-size: 12px;
  }
  .consult-banner__name {
    font-size: 15px;
  }
  .consult-banner__photo {
    width: 54px;
    height: 54px;
  }
}
/* ---------- responsive ---------- */
@media (max-width: 820px) {
  .mc-head {
    grid-template-columns: 1fr;
  }
  .mc-lowerGrid {
    grid-template-columns: 1fr;
  }
  .mc-cta {
    min-width: 100%;
  }
  .mc-lowerGrid {
    gap: clamp(40px, 8vw, 60px);
  }
}
/* small devices */
@media (max-width: 600px) {
  .mc-wrap {
    padding: 0 16px;
  }
  .mc-check li {
    padding: 10px 10px;
  }
  .mc-voices--chat .mc-chat {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
  }
  .mc-voices--chat .mc-chat__avatar {
    width: 40px;
    height: 40px;
  }
  .mc-voices--chat .mc-chat__bubble {
    padding: 12px 14px;
  }
  .mc-voices--chat .mc-chat__avatar svg {
    width: 20px;
    height: 20px;
  }
  .page-money #main h4.mc-lTitle::before, .page-money #main h4.mc-lTitle::after {
    width: 60px;
  }
  .page-money #main h4.mc-lTitle {
    font-size: 16px;
  }
}
/*========================================================================================

保険と保証/アフターフォロー◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎◼︎

=========================================================================================*/
/* ===== layout wrapper ===== */
.service-sec {
  background: #fff;
  color: #111;
  padding: clamp(44px, 4vw, 72px) 20px;
}
.service-sec .inner {
  max-width: 1120px;
  margin: 0 auto;
}
/* ===== sections ===== */
.service-block {
  padding: clamp(50px, 8vw, 100px) 0;
  border-top: 1px solid #e7e7e7;
}
.service-block:first-of-type {
  border-top: 0;
  padding-top: 0;
}
.service-head {
  display: grid;
  gap: clamp(20px, 5vw, 40px);
  margin-bottom: clamp(20px, 5vw, 40px);
}
.service-no {
  display: inline-flex;
  align-items: center;
  gap: 40px;
}
/* --- Number badge switch ---
  1) 丸バッジ：そのまま
  2) 角丸タグ：下のコメントを外して上書き
*/
.service-no .badge {
  width: 160px;
  height: 160px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 2px solid #000000;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: 30px;
}
.service-title {
  margin: 0;
  font-size: clamp(20px, 2.2vw, 34px);
  font-weight: 900;
  letter-spacing: .06em;
  line-height: 1.25;
}
.service-lead {
  margin: 0;
  font-size: 18px;
  line-height: 2;
}
/* ===== photo grid ===== */
.service-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 5vw, 40px);
  margin-top: clamp(18px, 2vw, 26px);
}
/* ===== cards (上品：罫線＋角丸) ===== */
.service-card {
  background: #fff;
  /* border: 1px solid #e7e7e7; */
  /* border-radius: 22px; */
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .15), 0 2px 6px rgba(0, 0, 0, .12);
}
.service-card__media {
  width: 100%;
  aspect-ratio: 16/10;
  background: #f4f4f4;
  overflow: hidden;
}
.service-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
}
.service-card__body {
  padding: 16px 18px 18px;
}
.service-card__kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  font-weight: 800;
  letter-spacing: .08em;
}
.service-card__kicker::before {
  content: "";
  width: 5px;
  height: 24px;
  /* border-radius: 2px; */
  background: #111;
}
.service-card__desc {
  margin: 0;
  color: #666;
  font-size: 16px;
  line-height: 1.8;
}
/* ===== responsive ===== */
@media (max-width: 820px) {
  .service-nav {
    border-radius: 22px;
    justify-content: flex-start;
  }
  .service-title {
    letter-spacing: .04em;
  }
}
@media (max-width: 600px) {
  .service-grid {
    grid-template-columns: 1fr;
  }
  /* .service-card { border-radius: 14px } */
  .service-card__media {
    aspect-ratio: 16/11;
  }
  .service-nav a {
    padding: 9px 12px;
    font-size: 13px;
  }
  .service-nav .num {
    width: 26px;
    height: 26px;
  }
  .service-no .badge {
    width: 100px;
    height: 100px;
    font-size: 20px;
  }
  .service-no .badge {
    width: 80px;
    height: 80px;
  }
  .service-lead {
    font-size: 16px;
  }
  .service-card__desc {
    font-size: 14px;
  }
}

/*施工事例singleでのhome-exampleタイトル位置調整*/
body.single-example .content_header .to_index{
    bottom:-3rem;
}


/*建物仕様左右マージン調整*/
@media screen and (max-width: 767.98px) {
body.page-template-htmlpage_order #main#main#main,
body.page-template-htmlpage_renovation #main#main#main,
body.page-template-htmlpage_reform #main#main#main{
    padding-left: 1rem;
    padding-right: 1rem;
}
body.page-template-htmlpage_order #main#main#main #target-pp,
body.page-template-htmlpage_renovation #main#main#main #target-pp,
body.page-template-htmlpage_reform #main#main#main #target-pp{
    margin-left: -1rem;
    margin-right: -1rem;
}
    
::placeholder {
   color: #aaa;
}