/* 楽建舎ローカル確認用・共通ヘッダー推奨案。 */
body.rks-nav-v2 > .toggle,
body.rks-nav-v2 > .header-text,
body.rks-nav-v2 > #header,
body.rks-nav-v2 > #nav,
body.rks-nav-v2 > #nav + .clear { display: none !important; }

body.rks-nav-v2 .rks-site-header {
  position: relative;
  z-index: 30;
  width: 100%;
  background: #fafaf7;
  border-bottom: 1px solid #dbe0d6;
  color: #30382f;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
}
.rks-site-header, .rks-site-header * { box-sizing: border-box; }
.rks-site-header__inner {
  width: min(1200px, calc(100% - 48px));
  height: 90px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 24px;
}
.rks-site-header a,
.rks-site-header a:link,
.rks-site-header a:visited {
  color: #30382f !important;
  background: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
}
.rks-site-header a:hover,
.rks-site-header a:focus-visible { color: #54782e !important; }
.rks-site-header a:focus-visible,
.rks-site-header button:focus-visible { outline: 3px solid #789b43; outline-offset: 3px; }
.rks-site-header__brand { display: block; flex: none; line-height: 0; }
.rks-site-header__brand img { display: block; width: 158px; height: 41px; max-width: none; object-fit: contain; }
.rks-site-header__desktop {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: clamp(11px, 1.45vw, 22px);
  white-space: nowrap;
}
.rks-site-header__desktop a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}
.rks-site-header__sns svg,
.rks-site-header__social svg { display: block; width: 20px; height: 20px; flex: none; }
.rks-site-header a.rks-site-header__sns { width: 44px; min-width: 44px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.rks-site-header a.rks-site-header__sns,
.rks-site-header a.rks-site-header__sns:link,
.rks-site-header a.rks-site-header__sns:visited,
.rks-site-header a.rks-site-header__sns svg { color: #758071 !important; }
.rks-site-header a.rks-site-header__sns:hover,
.rks-site-header a.rks-site-header__sns:focus-visible,
.rks-site-header a.rks-site-header__sns:hover svg,
.rks-site-header a.rks-site-header__sns:focus-visible svg { color: #54782e !important; }
.rks-site-header__social { display: flex; gap: 12px; }
.rks-site-header__sns-group { display: flex; align-items: center; gap: 0; }
.rks-site-header__desktop .rks-site-header__consult,
.rks-site-header__desktop .rks-site-header__consult:link,
.rks-site-header__desktop .rks-site-header__consult:visited {
  padding: 0 19px;
  background: #36472f !important;
  color: #fff !important;
}
.rks-site-header__desktop .rks-site-header__consult:hover { background: #516747 !important; }
.rks-site-header__mobile { display: none; }
.rks-site-header__drawer[hidden] { display: none !important; }

@media (max-width: 1100px) {
  .rks-site-header__inner { width: 100%; height: 76px; padding: 0 16px; gap: 8px; }
  .rks-site-header__brand { margin-right: auto; }
  .rks-site-header__brand img { width: clamp(100px, 28vw, 124px); height: auto; }
  .rks-site-header__desktop { display: none; }
  .rks-site-header__mobile { display: flex; align-items: center; gap: 8px; }
  .rks-site-header__mobile .rks-site-header__sns svg { width: 26px; height: 26px; }
  .rks-site-header .rks-site-header__mobile a.rks-site-header__sns { width: 36px; min-width: 36px; }
  .rks-site-header__mobile-instagram,
  .rks-site-header__toggle {
    min-width: 50px;
    min-height: 52px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 0;
    color: #30382f;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
  }
  .rks-site-header__mobile .rks-site-header__mobile-consult,
  .rks-site-header__mobile .rks-site-header__mobile-consult:link,
  .rks-site-header__mobile .rks-site-header__mobile-consult:visited {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    background: #36472f !important;
    color: #fff !important;
    border: 1px solid #36472f;
    border-radius: 8px;
    box-shadow: 0 2px 5px #26351f26;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
  }
  .rks-site-header__mobile-consult::after { display: none; }
  .rks-site-header__mobile .rks-site-header__mobile-consult:hover { background: #516747 !important; }
  .rks-site-header__toggle { border: 0; background: none; cursor: pointer; font-family: inherit; }
  .rks-site-header__toggle-symbol { font-size: 24px; line-height: 1; }
  .rks-site-header__drawer { padding: 10px 20px 25px; background: #fafaf7; border-top: 1px solid #dbe0d6; }
  .rks-site-header__drawer-inner { max-width: 600px; margin: auto; }
  .rks-site-header__label { margin: 2px 0 8px; color: #627661; font-size: 11px; letter-spacing: .1em; }
  .rks-site-header__info a,
  .rks-site-header__info a:link,
  .rks-site-header__info a:visited {
    min-height: 58px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 2px;
    border-bottom: 1px solid #dbe0d6;
    font-size: 16px;
    font-weight: 700;
  }
  .rks-site-header__info a span { color: #70865f; }
  .rks-site-header__actions { display: grid; gap: 9px; margin-top:20px; }
  .rks-site-header__actions a,
  .rks-site-header__actions a:link,
  .rks-site-header__actions a:visited {
    min-height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 15px;
    border: 1px solid #a4b09f;
    font-size: 14px;
    font-weight: 700;
  }
  .rks-site-header__actions .rks-site-header__consult,
  .rks-site-header__actions .rks-site-header__consult:link,
  .rks-site-header__actions .rks-site-header__consult:visited { background: #36472f !important; border-color: #36472f; color: #fff !important; }
  .rks-site-header__social { margin-top: 12px; padding: 0; background: none; justify-content: center; gap: 8px; }
  .rks-site-header__social svg { width: 28px; height: 28px; }
  .rks-site-header__social a,
  .rks-site-header__social a:link,
  .rks-site-header__social a:visited { width: 48px; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 0; font-size: 14px; font-weight: 700; }
}

@media (max-width: 1100px) {
  .rks-site-header__mobile .rks-site-header__mobile-consult { min-width: 44px; }
  .rks-site-header__mobile-consult::after { display: none; }
  .rks-site-header__toggle { min-width: 44px; }
  .rks-site-header__toggle[aria-expanded="false"] .rks-site-header__toggle-label { font-size: 0; }
  .rks-site-header__toggle[aria-expanded="false"] .rks-site-header__toggle-label::after { content: 'MENU'; font-size: 10px; }
}

@media (min-width: 361px) and (max-width: 400px) {
  .rks-site-header__brand img { width: 100px; }
  .rks-site-header__mobile .rks-site-header__mobile-consult,
  .rks-site-header__mobile .rks-site-header__mobile-consult:link,
  .rks-site-header__mobile .rks-site-header__mobile-consult:visited { padding: 0 8px; }
}

@media (max-width: 360px) {
  .rks-site-header__inner { padding: 0 8px 0 12px; gap: 5px; }
  .rks-site-header__brand img { width: 100px; }
  .rks-site-header__mobile { gap: 0; }
  .rks-site-header__mobile-instagram { min-width: 38px; }
  .rks-site-header__mobile-instagram span { display: none; }
  .rks-site-header__toggle { min-width: 44px; }
  .rks-site-header__mobile .rks-site-header__mobile-consult,
  .rks-site-header__mobile .rks-site-header__mobile-consult:link,
  .rks-site-header__mobile .rks-site-header__mobile-consult:visited { padding: 0 6px; }
}

@media (max-width: 320px) {
  .rks-site-header__mobile .rks-site-header__sns-group { display: none; }
}

/* 既存components.htmlの色・幅・余白・部品ルールを、公開HTMLに適用した横断検討案。 */
:root{--rks-bg:#eaeaea;--rks-surface:#f3f3f0;--rks-ink:#353535;--rks-muted:#687069;--rks-link:#318f92;--rks-brand:#8ec31f;--rks-rule:#cfcfcf}
html{scroll-behavior:smooth}
body{background:var(--rks-bg)!important;color:var(--rks-ink);line-height:1.8}
a{color:var(--rks-link);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--rks-brand);outline-offset:3px}
img{max-width:100%;height:auto}
.wrapper,#main{min-width:0}
#main>.row{max-width:960px;margin-left:auto;margin-right:auto}
#main .breadcrumb{margin:0 0 28px;color:var(--rks-muted);font-size:12px;line-height:1.6}
#main .breadcrumb a{color:#526e66}
#main .pagetitle,#main .blog-title{margin:0 0 27px!important;padding:0!important;border:0!important;background:none!important;color:var(--rks-ink);font-size:clamp(25px,2.6vw,34px)!important;font-weight:700;line-height:1.4}
#main .margin-bottom30{margin-bottom:34px!important;color:#5f665f;font-size:15px;line-height:1.8}
#main .page-contents,#main .single-contents{color:var(--rks-ink);font-size:15px;line-height:1.9}
#main .page-contents p,#main .single-contents p{margin:0 0 20px;line-height:1.9}
#main .page-contents h2,#main .single-contents h2{margin:58px 0 18px;padding:0!important;border:0!important;background:none!important;color:var(--rks-ink);font-size:26px;line-height:1.45}
#main .page-contents h3,#main .single-contents h3{margin:38px 0 13px;padding:0!important;border:0!important;background:none!important;color:#454d48;font-size:21px;line-height:1.5}
#main .page-contents h4,#main .single-contents h4{margin:28px 0 10px;padding:0!important;border:0!important;color:#59625b;font-size:18px;line-height:1.55}
#main .page-contents img,#main .single-contents img{display:block;max-width:100%;height:auto;margin:16px 0 24px;border:0}
#main .page-contents img+br,#main .single-contents img+br{display:none}
#main .page-contents ul,#main .page-contents ol,#main .single-contents ul,#main .single-contents ol{margin:14px 0 28px;padding-left:1.4em}
#main .page-contents li,#main .single-contents li{margin:6px 0}
#main .page-contents table,#main .single-contents table{width:100%!important;margin:26px 0 40px;border-collapse:collapse!important;font-size:14px}
#main .page-contents th,#main .page-contents td,#main .single-contents th,#main .single-contents td{padding:14px 13px;border:0;border-bottom:1px solid var(--rks-rule);vertical-align:top;text-align:left}
#main .page-contents th,#main .single-contents th{font-weight:700;color:#59625b}
#main .page-contents iframe,#main .single-contents iframe{max-width:100%}
/* 一覧カード。現行の情報・写真は保持し、共通の3:2カードに寄せる。 */
#main ul.block-two,#main ul.block-three{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px 22px;margin:0 0 44px!important;padding:0!important;list-style:none}
#main ul.block-two>li.item,#main ul.block-three>li.item{float:none!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important;min-width:0}
#main .item-img{margin:0 0 11px!important;padding:0!important;border:0!important;overflow:hidden;aspect-ratio:3/2;background:#dfe2dc}
#main .item-img img{display:block;width:100%!important;height:100%!important;object-fit:cover}
#main .item-date,#main .item-cat{color:var(--rks-muted);font-size:11px;line-height:1.5}
#main .item-cat a{color:var(--rks-muted)}
#main .item-title{margin:8px 0!important;padding:0!important;border:0!important;font-size:17px!important;line-height:1.5!important}
#main .item-title a{color:var(--rks-ink);text-decoration:none}
#main .item-title a:hover{text-decoration:underline}
#main .item-text{margin:0!important;color:#5f665f;font-size:13px;line-height:1.7}
/* フォーム、表、相談導線。 */
#main input[type=text],#main input[type=email],#main input[type=tel],#main textarea,#main select{box-sizing:border-box;max-width:100%;min-height:44px;padding:9px 12px;border:1px solid #aeb9b2;border-radius:0;background:#fff;color:var(--rks-ink);font:inherit}
#main textarea{min-height:132px}
#main input[type=submit],#main button[type=submit]{min-height:44px;padding:9px 20px;border:1px solid #455149;background:#455149;color:#fff;font-weight:700}
#main input[type=submit]:disabled,#main button[type=submit]:disabled{opacity:.48;cursor:not-allowed}
#main .wpcf7,#main form{max-width:100%}
#main .page-contents table tr:nth-child(odd){background:rgba(255,255,255,.3)}
/* トップ確定版と同じ、深い緑灰色のサイト共通フッター。 */
#footer{position:relative;background:#303d36!important;color:#e9eee9!important}
#footer::before{content:"";display:block;height:5px;background:#8ec31f}
#footer .footer-inner{padding-top:54px!important;padding-bottom:28px!important}
#footer .rks-footer-brand{margin:0 0 24px;color:#f4f7f2;font-size:30px;font-weight:700;letter-spacing:.1em;line-height:1.3}
#footer .rks-footer-brand a{color:inherit!important;text-decoration:none}
#footer .footer-widget-title{margin-bottom:14px!important;padding-bottom:0!important;border:0!important;color:#b9cfb1!important;font-size:14px!important;font-weight:700;letter-spacing:.06em}
#footer .widget{padding-top:12px!important;padding-bottom:12px!important}
#footer .widget li{border:0!important}
#footer .widget li a{display:block;padding:3px 0;color:#e9eee9!important;text-decoration:none}
#footer .widget li a:hover,#footer .widget li a:focus-visible,#footer .rks-footer-brand a:hover,#footer .rks-footer-brand a:focus-visible{color:#c9eb80!important;text-decoration:underline;text-underline-offset:4px}
#footer .social-button{color:#d7e5d6!important}
#footer .social-button a{color:inherit!important}
#footer .social-button a:hover,#footer .social-button a:focus-visible{color:#c9eb80!important}
#footer #copyright{background:#303d36!important;border:0!important;color:#c2cdc3!important}
#footer #copyright a,#footer #copyright a:link,#footer #copyright a:visited{background:transparent!important;color:#c2cdc3!important}
#footer #copyright a:hover,#footer #copyright a:focus-visible{background:transparent!important;color:#e9eee9!important}
@media(max-width:767px){#footer .footer-inner{padding-top:38px!important;padding-bottom:18px!important}#footer .rks-footer-brand{margin-bottom:16px;font-size:26px}}
/* トップは確定版CSSの構成・区切りに揃える。 */
body.home #main .widget-title{border:0!important;padding:0!important;font-size:30px;line-height:1.4}
body.home #main .textwidget{line-height:1.8}
body.home #main .textwidget img{display:block;max-width:100%;height:auto;margin:14px 0 20px}
@media(min-width:768px){#main .page-contents>p,#main .page-contents>h3,#main .page-contents>h4,#main .page-contents>ul,#main .page-contents>ol{max-width:680px;margin-left:0;margin-right:auto}#main .page-contents>p:has(img),#main .page-contents>p:has(iframe),#main .page-contents>table{max-width:960px}}
@media(max-width:767px){#main>.row{width:auto;margin-inline:27px}#main .pagetitle,#main .blog-title{font-size:26px!important}#main .page-contents h2,#main .single-contents h2{margin-top:46px;font-size:23px}#main .page-contents h3,#main .single-contents h3{font-size:19px}#main ul.block-two,#main ul.block-three{grid-template-columns:1fr;gap:30px}#main .item-title{font-size:16px!important}#main .page-contents table,#main .page-contents tbody,#main .page-contents tr,#main .page-contents th,#main .page-contents td{display:block;width:100%!important}#main .page-contents table tr{padding:12px 0;border-bottom:1px solid var(--rks-rule)}#main .page-contents th,#main .page-contents td{padding:2px 0;border:0}body.home #main .widget-title{font-size:26px}}

/* 下層ページは本文から関連情報まで一列で読む。 */
.wrapper{box-sizing:border-box;width:min(960px,calc(100% - 54px));max-width:none;padding:30px 0 50px}
#main{width:100%;max-width:none;margin:0 auto}
#main>.row{display:flex;flex-direction:column;width:100%;max-width:none;margin:0}
#main>.row>.twothird,#main>.row>.third{float:none;width:100%;max-width:none;margin-left:0;margin-right:0}
#main>.row>.third{margin-top:64px;padding-top:30px;border-top:1px solid var(--rks-rule)}
#main>.row>.third .sidebar{width:100%;max-width:none}
#main>.row>.third .sidebox-new ul{display:block}
#main>.row>.third .sidebox-new li{width:100%;float:none}
/* 一覧のカードも縦に一件ずつ流す。PCでは写真と本文を一行に収める。 */
#main ul.block-two,#main ul.block-three{grid-template-columns:minmax(0,1fr);gap:0;min-width:0}
#main ul.block-two>li.item,#main ul.block-three>li.item{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);column-gap:24px;align-content:start;box-sizing:border-box;min-width:0;height:auto!important;padding:22px 0!important;border-bottom:1px solid var(--rks-rule)!important}
#main ul.block-two>li.item:first-child,#main ul.block-three>li.item:first-child{padding-top:0!important}
#main ul.block-two>li.item>.item-img,#main ul.block-three>li.item>.item-img{grid-column:1;grid-row:1/7;width:100%;min-width:0;height:auto!important;margin:0!important}
#main ul.block-two>li.item>:not(.item-img),#main ul.block-three>li.item>:not(.item-img){grid-column:2}
@media(max-width:767px){.wrapper{width:calc(100% - 54px);padding:30px 0 50px}#main{width:100%}#main>.row{width:100%;margin:0}#main>.row>.third{margin-top:44px;padding-top:24px}#main ul.block-two>li.item,#main ul.block-three>li.item{display:block;width:100%!important;height:auto!important;padding:22px 0!important}#main ul.block-two>li.item>.item-img,#main ul.block-three>li.item>.item-img{width:100%;height:auto!important;margin-bottom:11px!important}}

/* 下層の見出し階層。H2の線だけで大きな節を区切り、H3は文字で示す。 */
#main .page-contents h2,#main .single-contents h2,#main .rks-section-heading{
  margin:68px 0 23px!important;padding:0 0 10px!important;border:0!important;
  border-bottom:2px solid #76847a!important;
  background:none!important;color:#353535!important;
  font-size:29px!important;font-weight:700!important;line-height:1.4!important;
}
#main .page-contents h3,#main .single-contents h3{
  margin:38px 0 12px!important;padding:0!important;border:0!important;
  background:none!important;color:#59625b!important;
  font-size:20px!important;font-weight:600!important;line-height:1.5!important;
}
#main .page-contents h4,#main .single-contents h4{
  margin:26px 0 10px!important;padding:0!important;border:0!important;
  background:none!important;color:#626b64!important;
  font-size:16px!important;font-weight:600!important;line-height:1.55!important;
}
/* H2直下のH3は同じ節の副題として近づける。 */
#main .page-contents h2:has(+ h3),#main .single-contents h2:has(+ h3){margin-bottom:14px!important}
#main .page-contents h2+h3,#main .single-contents h2+h3{margin-top:0!important}
@media(max-width:767px){
  #main .pagetitle{font-size:30px!important}
  #main .page-contents h2,#main .single-contents h2,#main .rks-section-heading{margin:56px 0 20px!important;font-size:25px!important}
  #main .page-contents h3,#main .single-contents h3{margin:36px 0 12px!important;font-size:18px!important}
  #main .page-contents h4,#main .single-contents h4{margin:25px 0 9px!important;font-size:15px!important}
}

/* components.html: N02, C06, F01/F02, C10, E01, C11 を実ページへ適用。 */
#main .rks-pagination{display:flex;flex-wrap:wrap;gap:7px;margin:36px 0 50px}
#main .rks-pagination .page-numbers{display:inline-grid;min-width:44px;min-height:44px;padding:8px 12px;place-items:center;box-sizing:border-box;border:1px solid var(--rks-rule);color:#455149;text-decoration:none;font-size:13px}
#main .rks-pagination .current{border-color:#455149;background:#455149;color:#fff;font-weight:700}
#main .rks-pagination .dots{border-color:transparent}
#main .rks-data-table{border-top:1px solid var(--rks-rule)}
#main .rks-data-table th,#main .rks-data-table td{overflow-wrap:anywhere}
#main .rks-data-table th{width:180px;background:rgba(255,255,255,.5)}
#main .rks-form-stack{max-width:680px;margin:32px auto;padding:26px;background:#e1e5df}
#main .rks-form-stack>p{margin:0 0 17px}
#main .rks-field{display:block;font-size:13px;font-weight:700;line-height:1.7}
#main .rks-field .wpcf7-form-control-wrap{display:block;margin-top:7px}
#main .rks-field input,#main .rks-field textarea{width:100%;font-weight:400}
#main .rks-required{display:inline-block;margin-left:8px;padding:1px 5px;background:#59655b;color:#fff;font-size:10px}
#main .rks-form-stack input[type=submit]{width:auto;min-width:180px;cursor:not-allowed}
#main .rks-plan-card{max-width:680px;margin:20px auto 30px;padding:23px 26px;background:#f5f6f3;border:1px solid var(--rks-rule)}
#main .rks-plan-card h3{margin-top:0!important}
#main .rks-plan-card h4.rks-price-label{margin-top:26px!important}
#main .rks-plan-card h4.rks-price-label+ul{margin-top:8px}
#main .rks-plan-card h4.rks-price-label+ul li{font-weight:700}
#main .page-contents h3.rks-step-heading{margin-top:34px!important}
#main .rks-cta-panel{margin:38px auto!important;padding:24px 27px;background:#e1e5df;font-weight:700}
#main .rks-cta-panel a{display:inline-flex;min-height:44px;padding:9px 15px;align-items:center;border:1px solid #455149;background:#455149;color:#fff;text-decoration:none}
#main .rks-notice{padding:17px 19px;border-left:4px solid #789b4c;background:#eef2e9}
#main .rks-contact-panel{padding:25px;background:#e1e5df;font-style:normal}
#main .rks-contact-panel a{display:inline-block;margin:6px 0;color:#39483f;font-size:clamp(23px,4vw,29px);font-weight:700;text-decoration:none}
/* 会社案内・家づくり：文章と写真を残したまま、案内と章立てで読み進めやすくする。 */
body.rks-editorial-page{--rks-block-light:#f3f3f0;--rks-block-dark:#e5e7e4}
body.rks-editorial-page #main .page-contents{display:block}
#main .rks-page-guide,#main .rks-chapter{position:relative;isolation:isolate}
#main .rks-page-guide::before,#main .rks-chapter::before{content:'';position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background:var(--rks-chapter-bg)}
#main .rks-page-guide{--rks-chapter-bg:var(--rks-block-light);margin:0;padding:30px 0 36px}
#main .rks-page-guide-title{margin:0 0 13px!important;color:#526057;font-size:13px;font-weight:700;letter-spacing:.08em}
#main .rks-page-guide ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;margin:0;padding:0;list-style:none;counter-reset:chapter}
#main .rks-page-guide li{margin:0;counter-increment:chapter;border-bottom:1px solid #d7ded4}
#main .rks-page-guide a{display:flex;min-height:48px;align-items:center;gap:14px;color:#35473d;font-size:14px;font-weight:700;text-decoration:none}
#main .rks-page-guide a::before{content:counter(chapter,decimal-leading-zero);flex:none;color:#688a43;font-size:12px;font-weight:700}
#main .rks-page-guide a::after{content:'↘';margin-left:auto;color:#688a43;font-weight:400}
#main .rks-page-guide a:hover{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1000px){
  #main .rks-page-guide{padding:24px 0 28px}
  body.rks-company-page #main .rks-page-guide ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px}
  body.rks-custom-home-page #main .rks-page-guide ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}
  #main .rks-page-guide a{gap:9px}
}
#main .rks-chapter{--rks-chapter-bg:var(--rks-block-dark);min-width:0;padding:52px 0 62px;scroll-margin-top:28px}
#main .rks-chapter:nth-of-type(even){--rks-chapter-bg:var(--rks-block-light)}
#main .rks-chapter>h2{margin:48px 0 20px!important}
#main .rks-chapter>h2:first-child{margin-top:0!important}
#main .rks-chapter>h2:not(:first-child){padding-top:42px!important;border-top:1px solid #c8d1c7!important}
#main .rks-chapter>h2:has(+ h3){margin-bottom:14px!important}
/* 家づくりの長い章では、H2上の補助線を外し、見出し直下の線だけを残す。 */
body.rks-custom-home-page #main .rks-chapter>h2:not(:first-child){margin-top:66px!important;padding-top:0!important;border-top:0!important}
#main .rks-chapter>p,#main .rks-chapter>h3,#main .rks-chapter>h4,#main .rks-chapter>ul,#main .rks-chapter>ol,#main .rks-chapter>blockquote{max-width:680px}
#main .rks-chapter>p:has(img),#main .rks-chapter>p:has(iframe){max-width:100%}
#main .rks-chapter>p>img{margin-left:auto;margin-right:auto}
#main .rks-chapter iframe{display:block;width:100%;height:min(54vw,440px)}
#main .rks-chapter .rks-data-table{max-width:100%}
@media(max-width:767px){
  body.rks-editorial-page{--rks-block-light:#f2f2ef;--rks-block-dark:#e4e6e3}
  #main .rks-page-guide{padding:25px 0 29px}
  #main .rks-page-guide ol{grid-template-columns:1fr;gap:0}
  #main .rks-page-guide a{min-height:46px;font-size:13px}
  #main .rks-chapter{padding:42px 0 49px}
  #main .rks-chapter>h2:not(:first-child){margin-top:38px!important;padding-top:34px!important}
  body.rks-custom-home-page #main .rks-chapter>h2:not(:first-child){margin-top:54px!important;padding-top:0!important}
  #main .rks-chapter iframe{height:320px}
}
@media(max-width:767px){
  #main .rks-form-stack{padding:21px 18px}
  #main .rks-form-stack input[type=submit]{width:100%}
  #main .rks-plan-card{padding:20px 18px}
  #main .rks-cta-panel{padding:19px 18px}
  #main .rks-data-table th{width:100%}
  #nav.rks-nav-open{display:block!important;height:auto!important;visibility:visible!important;opacity:1!important}
  #nav.rks-nav-open .nav-menu{display:block!important;height:auto!important}
  #nav.rks-nav-open .nav-menu li{display:block!important;width:100%!important}
  #nav.rks-nav-open .nav-menu a{display:block;min-height:44px;padding:12px 27px}
}
/* 会社概要の表はSPで各項目を一組にし、元テーマの白い見出し帯を外す。 */
@media(max-width:767px){
  body.rks-company-page #main .rks-chapter .rks-data-table{margin:24px 0 36px;border:0;background:transparent}
  body.rks-company-page #main .rks-chapter .rks-data-table tr{margin:0;padding:16px 0 18px;border-bottom:1px solid #bdc5bf;background:transparent!important}
  body.rks-company-page #main .rks-chapter .rks-data-table tr:first-child{border-top:1px solid #bdc5bf}
  body.rks-company-page #main .rks-chapter .rks-data-table th,
  body.rks-company-page #main .rks-chapter .rks-data-table td{display:block;box-sizing:border-box;width:100%!important;margin:0;padding:0;border:0;background:transparent!important;line-height:1.7}
  body.rks-company-page #main .rks-chapter .rks-data-table th{margin-bottom:5px;color:#59645d;font-size:12px;font-weight:700;letter-spacing:.04em}
  body.rks-company-page #main .rks-chapter .rks-data-table td{color:#353535;font-size:15px;overflow-wrap:anywhere}
}
/* 新築施工事例・完成見学会の詳細サンプル。本文と写真は公開ページの複製。 */
body.rks-detail-page #main .pagedate{margin:0 0 9px;color:#687069;font-size:12px}
body.rks-detail-page #main .single-contents{max-width:960px}
body.rks-detail-page #main .rks-detail-lead{max-width:720px;margin:0 0 32px;padding:0 0 21px;border-bottom:1px solid #cbd1ca;color:#505c53;font-size:17px;line-height:1.8}
body.rks-detail-page #main .rks-detail-lead p{margin:0}
body.rks-detail-page #main .single-contents>p{max-width:720px}
body.rks-detail-page #main .single-contents>p:has(img){max-width:960px}
body.rks-detail-page #main .single-contents>p img{width:100%;height:auto;margin:0}
body.rks-detail-page #main .rks-detail-facts{margin:52px 0 56px;padding:0;background:transparent}
body.rks-detail-page #main .rks-detail-facts h2{margin:0 0 22px!important}
body.rks-detail-page #main .rks-detail-facts dl{display:grid;grid-template-columns:150px minmax(0,1fr);margin:0}
body.rks-detail-page #main .rks-detail-facts dt,body.rks-detail-page #main .rks-detail-facts dd{margin:0;padding:11px 0;border-bottom:1px solid #c5ccc6;line-height:1.7}
body.rks-detail-page #main .rks-detail-facts dt{color:#59645d;font-size:13px;font-weight:700}
body.rks-detail-page #main .rks-detail-facts dd{font-size:15px;overflow-wrap:anywhere}
body.rks-detail-page #main .rks-detail-contact{margin:56px 0 0;padding:0;background:transparent}
body.rks-detail-page #main .rks-detail-contact h2{margin:0 0 17px!important}
body.rks-detail-page #main .rks-detail-contact .rks-form-stack{margin:28px 0 0;padding:0;background:transparent}
body.rks-detail-page #main .similar-head{margin:58px 0 20px;padding:0 0 10px;border:0;border-bottom:2px solid #76847a;color:#353535;font-size:26px;font-weight:700}
body.rks-detail-page #main .similar ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 20px;margin:0;padding:0;list-style:none}
body.rks-detail-page #main .similar li{float:none;width:auto;margin:0;padding:0;border:0}
body.rks-detail-page #main .rks-related-card>a{display:block;aspect-ratio:3/2;overflow:hidden;background:#dfe2dc}
body.rks-detail-page #main .rks-related-card img{display:block;width:100%;height:100%;object-fit:cover}
body.rks-detail-page #main .rks-related-card h3{margin:9px 0 0;font-size:15px;line-height:1.55}
body.rks-detail-page #main .rks-related-card h3 a{color:#353535;text-decoration:none}
body.rks-detail-page #main .rks-related-card h3 a:hover{text-decoration:underline}
body.rks-detail-page #main #next{margin:45px 0 0;padding-top:17px;border-top:1px solid #cbd1ca}
body.rks-detail-page #main #next ul{display:flex;justify-content:space-between;gap:20px;margin:0;padding:0;list-style:none}
body.rks-detail-page #main #next li{float:none;width:auto;max-width:45%}
body.rks-case-detail #main .rks-case-gallery{columns:2;column-gap:22px;margin:0 0 42px}
body.rks-case-detail #main .rks-case-gallery figure{display:block;break-inside:avoid;margin:0 0 27px}
body.rks-case-detail #main .rks-case-gallery figure:first-child{column-span:all}
body.rks-case-detail #main .rks-case-gallery img{display:block;width:100%;height:auto;margin:0 0 7px}
body.rks-case-detail #main .rks-case-gallery figcaption{color:#626c64;font-size:12px;line-height:1.6}
body.rks-tour-detail #main .rks-sample-note{max-width:720px;margin:0 0 28px;padding:13px 17px;border-left:3px solid #8a9d71;background:#f3f3f0;color:#526057;font-size:13px;line-height:1.7}
body.rks-tour-detail #main .rks-event-facts>p{margin:0;padding:12px 0;border-bottom:1px solid #c5ccc6}
body.rks-tour-detail #main .rks-event-facts>p:last-child{border:0}
@media(max-width:767px){
  body.rks-detail-page #main .rks-detail-lead{font-size:16px}
  body.rks-detail-page #main .rks-detail-facts{margin:42px 0 46px;padding:0}
  body.rks-detail-page #main .rks-detail-facts h2{font-size:22px!important}
  body.rks-detail-page #main .rks-detail-facts dl{display:block}
  body.rks-detail-page #main .rks-detail-facts dt{padding-bottom:0;border:0}
  body.rks-detail-page #main .rks-detail-facts dd{padding-top:2px}
  body.rks-detail-page #main .rks-detail-contact{margin-top:46px;padding:0}
  body.rks-detail-page #main .similar-head{font-size:23px}
  body.rks-detail-page #main .similar ul{grid-template-columns:1fr;gap:23px}
  body.rks-detail-page #main .rks-related-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:13px;align-items:start}
  body.rks-detail-page #main .rks-related-card h3{margin:0;font-size:14px}
  body.rks-detail-page #main #next li{max-width:48%}
  body.rks-case-detail #main .rks-case-gallery{columns:1}
}

/* 2026-10-10本人レビュー: 一覧PC2列、詳細は掲載比較4と同じ800px。 */
body.rks-two-column-list #main>.row>.third{display:none!important}
body.rks-two-column-list #main ul.block-two,
body.rks-two-column-list #main ul.block-three{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 28px}
body.rks-two-column-list #main ul.block-two>li.item,
body.rks-two-column-list #main ul.block-three>li.item{display:block;padding:0 0 24px!important}
body.rks-two-column-list #main ul.block-two>li.item>.item-img,
body.rks-two-column-list #main ul.block-three>li.item>.item-img{margin-bottom:14px!important}
body.rks-compact-detail #main .single-contents{max-width:800px;margin-inline:auto}
body.rks-compact-detail #main .single-contents>p:has(img){max-width:800px}
body.rks-compact-detail #main .rks-case-gallery{columns:1}
body.rks-compact-detail #main .single-contents img.rks-portrait-image{max-width:500px;margin-inline:auto}
@media(max-width:767px){
  body.rks-two-column-list #main ul.block-two,
  body.rks-two-column-list #main ul.block-three{grid-template-columns:1fr;gap:28px}
}
/* テーマのスクロール処理によるインライン表示指定より優先する。 */
body.rks-contact-in-view #topcontrol{visibility:hidden !important;pointer-events:none !important}
