/* ===== 20_site.css ===== */
/* ============================================================
   20_site.css ― S01412 有限会社グリーンハウスサンマルヨン
   受領データ（index.html）の head 内CSS ＋ フッター用CSS を1本にしたもの。
   受領の記述は順序・値ともそのまま。除いたのは次の3つだけ:
     ・.pg / .pg.is-active …… 確認用サイトのページ切替スキャフォールド
     ・@media print の [data-reveal] 打ち消し …… 演出をCommonsのfade_upへ委譲したため
     ・image-slot …… 受領HTMLに該当要素が無い死にルール
   書き換えたのは R-27 対策の1点だけ:
     ・.sx1/.sx2 の疑似要素（content 宣言が追加CSS欄で落ちる）→ 実要素 .lc-wipe
   ============================================================ */

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#222;line-height:1.9;background:#fff;-webkit-text-size-adjust:100%;}
img{max-width:100%;display:block;}
a{color:#245a8a;text-decoration:none;}
a:hover{color:#3a78ba;text-decoration:none;}
:focus-visible{outline:3px solid #e0555c;outline-offset:2px;}
span.line-chunk{display:inline-block;overflow-wrap:anywhere;word-break:normal;}
.fv-grid,.fv-grid>div,.fv-grid>div>div,.thought-grid,.thought-grid>div,.sp-stack>div,.sp-stack>div>div{min-width:0;}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}
/* === add.css 貼り付け ここから === */
  /* --- 新着情報帯（design-parts-52 系） --- */
  [class*="design-parts-52"]{background:#ffffff!important;border:0!important;padding:0!important;}
[class*="design-parts-52"] .container{width:100%!important;max-width:1500px!important;margin:0 auto!important;padding:0 20px!important;}
[class*="design-parts-52"] .content{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px 20px!important;padding:14px 0!important;}
[class*="design-parts-52"] h4.banner-area{background:#245a8a!important;color:#fff!important;font-size:12px!important;font-weight:700!important;letter-spacing:.18em!important;line-height:1!important;margin:0!important;padding:10px 16px!important;border-radius:2px!important;white-space:nowrap!important;}
[class*="design-parts-52"] ul.mb-0{list-style:none!important;margin:0!important;padding:0!important;flex:1 1 260px!important;min-width:0!important;}
[class*="design-parts-52"] ul.mb-0 li{margin:0!important;}
[class*="design-parts-52"] ul.mb-0 li a{display:block!important;min-height:44px!important;color:#222!important;text-decoration:none!important;padding:4px 0!important;}
[class*="design-parts-52"] .parts-52-textarea{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:4px 20px!important;min-width:0!important;min-height:44px!important;}
[class*="design-parts-52"] ul.mb-0 li a:hover span.d-inline-block{text-decoration:none!important;color:#245a8a!important;}
[class*="design-parts-52"] span.date{color:#555!important;font-size:13px!important;letter-spacing:.06em!important;font-variant-numeric:tabular-nums!important;white-space:nowrap!important;}
[class*="design-parts-52"] span.d-inline-block{display:inline-block!important;min-width:0!important;max-width:100%!important;font-size:15px!important;font-weight:500!important;line-height:1.6!important;}
@media (min-width:992px){
    [class*="design-parts-52"] .content{flex-wrap:nowrap!important;padding:0!important;}
    [class*="design-parts-52"] ul.mb-0 li a{min-height:60px!important;}
    [class*="design-parts-52"] .parts-52-textarea{flex-wrap:nowrap!important;min-height:60px!important;}
    [class*="design-parts-52"] span.d-inline-block{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
  }
/* --- 記事カード（parts131415_blog 系） --- */
  [class*="parts131415_blog"]{background:#f3f1ec!important;background-image:none!important;padding:clamp(56px,8vw,104px) 20px!important;}
[class*="parts131415_blog"] .container-lg{width:100%!important;max-width:1500px!important;margin:0 auto!important;padding:0!important;}
[class*="parts131415_blog"] .parts131415_blog_title_wrap{margin:0 0 clamp(28px,4vw,44px)!important;padding:0!important;text-align:center!important;}
[class*="parts131415_blog"] .parts131415_blog_title_wrap h2{color:#1c2b38!important;font-family:'Zen Old Mincho',serif!important;font-size:clamp(20px,2.6vw,28px)!important;font-weight:700!important;letter-spacing:.22em!important;margin:0!important;padding:0!important;border:none!important;line-height:1.5!important;}
[class*="parts131415_blog"] .parts131415_blog_title_wrap p{color:#666!important;font-size:13.5px!important;letter-spacing:.06em!important;margin:10px 0 0!important;}
[class*="parts131415_blog"] .row{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;margin:0!important;padding:0!important;}
@media (min-width:576px){[class*="parts131415_blog"] .row{grid-template-columns:repeat(2,1fr)!important;}}
@media (min-width:992px){[class*="parts131415_blog"] .row{grid-template-columns:repeat(3,1fr)!important;}}
[class*="parts131415_blog"] .row>.col{width:auto!important;max-width:none!important;flex:none!important;padding:0!important;}
[class*="parts131415_blog"] .card{background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;height:100%!important;}
[class*="parts131415_blog"] .card-body{padding:0!important;display:flex!important;flex-direction:column-reverse!important;gap:0!important;height:100%!important;}
[class*="parts131415_blog"] h5.card-title{color:#8a8377!important;font-size:11px!important;letter-spacing:.2em!important;font-weight:700!important;text-align:left!important;margin:12px 0 0!important;}
[class*="parts131415_blog"] .card-body>a{display:flex!important;flex-direction:column-reverse!important;gap:14px!important;text-decoration:none!important;color:#222!important;min-height:44px!important;}
[class*="parts131415_blog"] .card-body>a:hover p.card-text{color:#245a8a!important;}
[class*="parts131415_blog"] p.card-text{font-size:15.5px!important;font-weight:700!important;line-height:1.8!important;margin:0!important;}
[class*="parts131415_blog"] .parts131415_blog_thumbnail{overflow:hidden!important;padding:0!important;background:#e3e0d9!important;}
[class*="parts131415_blog"] .parts131415_blog_thumbnail img{width:100%!important;height:280px!important;object-fit:cover!important;display:block!important;}
@media (min-width:992px){[class*="parts131415_blog"] .parts131415_blog_thumbnail img{height:310px!important;}}
@media (prefers-reduced-motion: reduce){h1 .line-chunk>span,h1 .line-chunk>.lc-wipe{animation:none!important;}}
@media (max-width:640px){
    .sp-stack{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 10px!important;}
    .sp-stack>div:nth-child(even){margin-top:34px;}
    .sp-stack>div:nth-child(odd){margin-bottom:34px;}
    .sp-stack h3{font-size:14.5px!important;letter-spacing:.02em!important;}
    .sp-stack p{font-size:12.5px!important;line-height:1.85!important;}
  }
@media (max-width:991px) and (orientation:portrait){
    /* スマホFV：写真を左右交互に寄せ、コピーを写真に食い込ませる */
    .fv-grid{grid-template-columns:1fr!important;grid-template-rows:auto auto!important;height:auto!important;min-height:0!important;gap:0!important;overflow:visible!important;}
    .fv-grid>div:last-child{order:-1;width:88%!important;margin:0 12% 0 0!important;height:auto!important;aspect-ratio:3/4!important;min-height:0!important;}
    .fv-grid>div:first-child{height:auto!important;min-height:0!important;align-items:stretch!important;position:relative;}
    .fv-grid>div:first-child>div:first-child{flex:0 0 auto;position:relative;z-index:3;width:100%!important;max-width:none!important;background:#fff!important;margin:-40px 16px 0!important;width:calc(100% - 32px)!important;padding:clamp(18px,4vw,26px) clamp(16px,4vw,22px)!important;}
    .fv-grid>div:first-child>div:last-child{flex:0 0 auto!important;width:88%!important;margin:0 0 0 12%!important;height:auto!important;min-height:0!important;max-width:none!important;aspect-ratio:4/3!important;padding:clamp(10px,3vw,18px) 0 0 clamp(18px,6vw,44px)!important;}
    .fv-grid h1{line-height:1.25!important;margin-bottom:16px!important;}
    .fv-grid h1 .line-chunk{white-space:normal!important;display:block!important;width:fit-content!important;}
    .fv-grid h1 .line-chunk+.line-chunk{margin-top:6px!important;}

  }
@media (max-width:991px) and (orientation:landscape){
    .fv-grid{grid-template-columns:1fr!important;height:auto!important;min-height:0!important;}
    .fv-grid>div:last-child{order:-1;}
    .fv-grid h1 .line-chunk{white-space:normal!important;}
  }
@media (min-width:992px){
    .fv-grid>div:last-child{aspect-ratio:auto!important;height:100%!important;}
  }
@media (max-width:1299px){
    .thought-grid,.pickup-grid{grid-template-columns:minmax(0,1fr)!important;align-items:start!important;padding:0!important;}
    .thought-grid>div,.pickup-grid>div{min-width:0!important;}
    .thought-grid>div:first-child,.pickup-grid>div:last-child{max-width:none!important;aspect-ratio:4/3!important;order:0!important;}
    .thought-grid>div:last-child,.pickup-grid>div:first-child{order:1!important;width:calc(100% - 40px)!important;box-sizing:border-box!important;margin:-28px 20px 0!important;z-index:2!important;}
  }
@media (max-width:640px){
    .area-list{max-width:332px!important;}
    .thought-grid>div:last-child,.pickup-grid>div:first-child{margin:-20px 16px 0!important;width:calc(100% - 32px)!important;}
  }
@media (max-width:1299px){
    .mh-grid{grid-template-columns:minmax(0,1fr)!important;align-items:start!important;}
    .mh-grid>div{min-width:0!important;}
    .mh-grid>.mh-photos{order:0!important;max-width:none!important;margin:0!important;}
    .mh-grid>.mh-card{order:1!important;width:calc(100% - 40px)!important;box-sizing:border-box!important;margin:clamp(16px,2.4vw,24px) 20px 0!important;z-index:2!important;}
  }
@media (max-width:640px){
    .mh-grid>.mh-card{margin:16px 16px 0!important;width:calc(100% - 32px)!important;}
    .mh-grid>.mh-photos{grid-template-columns:1fr 1fr!important;grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr)!important;aspect-ratio:1/1.24!important;}
    .mh-grid>.mh-photos>div:nth-child(4){grid-column:1/3!important;grid-row:3!important;}
    .mh-grid>.mh-photos>div:nth-child(2){grid-column:1/3!important;grid-row:1!important;aspect-ratio:16/10!important;}
    .mh-grid>.mh-photos>div:nth-child(1){grid-column:1!important;grid-row:2!important;aspect-ratio:1/1!important;}
    .mh-grid>.mh-photos>div:nth-child(3){grid-column:2!important;grid-row:2!important;aspect-ratio:1/1!important;}
  }
@keyframes marqueeX{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes fvWipe{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes fvTextIn{from{opacity:0;}to{opacity:1;}}
/* === add.css 貼り付け ここまで === */
  @media (min-width:992px){
    .fv-grid>div:last-child{aspect-ratio:auto!important;height:100%!important;}
  }
@media (max-width:1299px){.h-spacer{height:52px!important;}}
a{color:#245a8a;}
a:hover{color:#3a78ba;}
@media (max-width:640px){
    .spec-table th,.spec-table td{display:block!important;width:auto!important;border-bottom:0!important;}
    .spec-table th{border-bottom:0!important;}
    .spec-table td{border-top:0!important;}
    .spec-table tr+tr th{border-top:0!important;}
    .spec-table tr:last-child td{border-bottom:1px solid #e2ded5!important;}
  }
@media (max-width:1024px) and (orientation:portrait){
    .two-col{grid-template-columns:minmax(0,1fr)!important;gap:0!important;align-items:start!important;}
    .two-col>div{min-width:0!important;}
    .two-col>div:has(img){order:1!important;margin:0!important;max-width:none!important;width:100%!important;}
    .two-col>div:not(:has(img)){order:2!important;position:relative;z-index:2;background:#fff;box-sizing:border-box;width:calc(100% - 32px)!important;margin:-44px 16px 0!important;padding:clamp(20px,4.5vw,32px)!important;}
  }
@media (max-width:640px){
    .two-col>div:not(:has(img)){width:calc(100% - 24px)!important;margin:-32px 12px 0!important;}
  }
@media (max-width:640px){.nat-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.nat-gallery>div:first-child{grid-column:span 2;aspect-ratio:3/2!important;}}
@media (min-width:1025px),(orientation:landscape){.ceo-photo{position:sticky!important;top:96px;}}
/* === add.css 貼り付け ここから（物件紹介＝parts228系） === */
  .parts228_section{background:#fff!important;padding:clamp(40px,6vw,80px) 20px!important;}
.parts228_wrap{width:100%!important;max-width:1200px!important;margin:0 auto!important;}
.parts228_main{width:100%!important;}
.parts228_post_list{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;list-style:none!important;margin:0!important;padding:0!important;}
@media (min-width:576px){.parts228_post_list{grid-template-columns:repeat(2,1fr)!important;}}
@media (min-width:992px){.parts228_post_list{grid-template-columns:repeat(3,1fr)!important;}}
.parts228_post_wrap{background:#fff!important;border:1px solid #e2ded5!important;display:flex!important;flex-direction:column!important;height:100%!important;}
.parts228_post_img{background:#dfe6ee!important;overflow:hidden!important;}
.parts228_post_img a{display:block!important;}
.parts228_post_img img{width:100%!important;height:300px!important;object-fit:cover!important;}
.parts228_post_status{padding:14px 16px 0!important;}
.parts228_post_date{color:#555!important;font-size:13px!important;letter-spacing:.06em!important;font-variant-numeric:tabular-nums!important;}
.parts228_post_title-excerpt{padding:6px 16px 0!important;flex:1!important;}
.parts228_post_title{font-size:17px!important;font-weight:700!important;line-height:1.7!important;margin:0!important;}
.parts228_post_title a{color:#222!important;text-decoration:none!important;}
.parts228_post_title a:hover{color:#245a8a!important;text-decoration:underline!important;}
.parts228_post_excerpt{padding:8px 16px 0!important;font-size:14px!important;color:#555!important;line-height:1.8!important;margin:0!important;}
.parts-blog-ex-tag_wrap{display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:14px 16px 18px!important;margin:0!important;list-style:none!important;}
.parts-blog-ex_tag{display:inline-block!important;background:#eef4fa!important;border:1px solid #3a78ba!important;color:#245a8a!important;border-radius:999px!important;padding:5px 14px!important;font-size:12.5px!important;font-weight:700!important;text-decoration:none!important;}
.parts228_pagenation{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:8px!important;list-style:none!important;margin:clamp(32px,4vw,48px) 0 0!important;padding:0!important;}
.parts228_pagenation a,.parts228_pagenation span{display:grid!important;place-items:center!important;min-width:44px!important;min-height:44px!important;padding:0 12px!important;border:1px solid #3a78ba!important;color:#245a8a!important;background:#fff!important;text-decoration:none!important;font-size:14px!important;font-weight:700!important;}
.parts228_pagenation .pagination_num.current a,.parts228_pagenation .pagination_num.current span,.parts228_pagenation a.current{background:#245a8a!important;border-color:#245a8a!important;color:#fff!important;}
.parts228_pagenation a:hover{background:#eef4fa!important;}
/* === add.css 貼り付け ここまで === */
  @media (max-width:1299px){.h-spacer{height:52px!important;}}
/* === add.css 貼り付け ここから（ブログ＝parts222系） === */
  .parts222_section{background:#fff!important;padding:clamp(40px,6vw,80px) 20px!important;}
.parts222_section>h2{max-width:1200px!important;margin:0 auto clamp(24px,3vw,36px)!important;color:#245a8a!important;font-family:'Zen Old Mincho',serif!important;font-size:clamp(21px,2.7vw,30px)!important;font-weight:700!important;letter-spacing:.1em!important;padding-left:14px!important;border-left:5px solid #e0555c!important;line-height:1.4!important;}
.parts222_wrap{width:100%!important;max-width:1200px!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr!important;gap:clamp(32px,4vw,48px)!important;align-items:start!important;}
@media (min-width:992px){.parts222_wrap{grid-template-columns:minmax(0,1fr) 300px!important;}}
.parts222_main{min-width:0!important;}
.parts222_post_list{display:grid!important;grid-template-columns:1fr!important;gap:24px!important;list-style:none!important;margin:0!important;padding:0!important;}
@media (min-width:576px){.parts222_post_list{grid-template-columns:repeat(2,1fr)!important;}}
.parts222_post_wrap{display:flex!important;flex-direction:column!important;background:#fff!important;border:1px solid #e2ded5!important;text-decoration:none!important;color:#222!important;height:100%!important;}
.parts222_post_wrap:hover .parts222_post_title{color:#245a8a!important;text-decoration:underline!important;}
.parts222_post_img{background:#dfe6ee!important;overflow:hidden!important;}
.parts222_post_img img{width:100%!important;height:300px!important;object-fit:cover!important;}
.parts222_post_status{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px 14px!important;padding:14px 16px 0!important;}
.parts222_post_date{color:#555!important;font-size:13px!important;font-variant-numeric:tabular-nums!important;}
.parts222_post_category{color:#3a78ba!important;font-size:12px!important;font-weight:700!important;letter-spacing:.1em!important;}
.parts222_post_title-excerpt{padding:6px 16px 18px!important;flex:1!important;}
.parts222_post_title{font-size:17px!important;font-weight:700!important;line-height:1.7!important;margin:0!important;}
.parts222_pagenation{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:8px!important;list-style:none!important;margin:clamp(32px,4vw,48px) 0 0!important;padding:0!important;}
.parts222_pagenation a,.parts222_pagenation span{display:grid!important;place-items:center!important;min-width:44px!important;min-height:44px!important;padding:0 12px!important;border:1px solid #3a78ba!important;color:#245a8a!important;background:#fff!important;text-decoration:none!important;font-size:14px!important;font-weight:700!important;}
.parts222_pagenation .pagination_num.current a,.parts222_pagenation .pagination_num.current span{background:#245a8a!important;border-color:#245a8a!important;color:#fff!important;}
.parts222_pagenation a:hover{background:#eef4fa!important;}
.parts222_sidebar{min-width:0!important;}
.parts222_sidebar_wrap{margin:0 0 28px!important;border:1px solid #e2ded5!important;background:#fff!important;}
.parts222_sidebar_wrap>h3{margin:0!important;padding:12px 16px!important;background:#eef4fa!important;color:#245a8a!important;font-size:14px!important;font-weight:700!important;letter-spacing:.1em!important;border-bottom:1px solid #e2ded5!important;}
.parts222_sidebar_wrap>ul{list-style:none!important;margin:0!important;padding:0!important;}
.parts222_sidebar_wrap li{border-bottom:1px solid #eef4fa!important;}
.parts222_sidebar_wrap li:last-child{border-bottom:none!important;}
.parts222_sidebar_wrap li a{display:flex!important;flex-direction:column!important;gap:4px!important;padding:12px 16px!important;min-height:44px!important;text-decoration:none!important;color:#222!important;}
.parts222_sidebar_wrap li a:hover{background:#eef4fa!important;}
.parts222_sidebar_date{color:#555!important;font-size:12px!important;font-variant-numeric:tabular-nums!important;}
.parts222_sidebar_post_title{margin:0!important;font-size:14px!important;font-weight:700!important;line-height:1.7!important;}
.parts222_sidebar_wrap.category_post_count li a{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
.parts222_sidebar_post_category{margin:0!important;font-size:14px!important;font-weight:500!important;}
.parts222_sidebar_post_category_count{display:inline-grid!important;place-items:center!important;min-width:28px!important;padding:2px 8px!important;border:1px solid #e2ded5!important;font-size:12px!important;color:#555!important;}
/* === add.css 貼り付け ここから（お問い合わせ＝parts210系導入文＋parts213系フォーム） === */
  .parts210_section_content{background:#fff!important;padding:clamp(36px,5vw,64px) 20px 0!important;}
.parts210_content_wrap{width:100%!important;max-width:760px!important;margin:0 auto!important;}
.parts210_content{font-size:16px!important;line-height:1.95!important;margin:0!important;color:#222!important;}
.contact_section{background:#fff!important;border:none!important;box-shadow:none!important;border-radius:0!important;padding:clamp(28px,4vw,48px) 20px clamp(48px,7vw,88px)!important;}
.parts213_section_form{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;}
.parts213_form_wrap{width:100%!important;max-width:760px!important;margin:0 auto!important;background:transparent!important;border:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;}
.parts213_form_wrap dl{display:block!important;margin:0 0 22px!important;}
.parts213_form_wrap dt{display:flex!important;flex-wrap:wrap!important;align-items:baseline!important;gap:6px 10px!important;margin:0 0 8px!important;font-size:15px!important;font-weight:700!important;color:#222!important;}
.parts213_form_wrap dd{margin:0!important;}
.parts213_form_wrap .required{display:inline-block!important;background:#c0343c!important;color:#fff!important;font-size:11px!important;font-weight:700!important;padding:5px 8px!important;border-radius:2px!important;}
.parts213_form_wrap .attention{display:block!important;width:100%!important;color:#c0343c!important;font-size:12.5px!important;font-weight:400!important;line-height:1.7!important;}
.parts213_form_wrap input[type="text"],.parts213_form_wrap input[type="email"],.parts213_form_wrap input[type="tel"],.parts213_form_wrap textarea{width:100%!important;min-height:48px!important;padding:12px 14px!important;font-family:inherit!important;font-size:16px!important;line-height:1.7!important;color:#222!important;background:#fff!important;border:1px solid #b9c6d4!important;border-radius:2px!important;box-shadow:none!important;}
.parts213_form_wrap textarea{min-height:180px!important;resize:vertical!important;}
.parts213_form_wrap input:focus-visible,.parts213_form_wrap textarea:focus-visible{outline:3px solid #e0555c!important;outline-offset:1px!important;}
.parts213_form_wrap dd label{display:flex!important;align-items:center!important;gap:10px!important;min-height:44px!important;font-size:15px!important;cursor:pointer!important;}
.parts213_form_wrap input[type="checkbox"]{width:20px!important;height:20px!important;accent-color:#3a78ba!important;}
.parts213_form_wrap .error{display:block!important;margin:6px 0 0!important;color:#c0343c!important;font-size:13px!important;}
.contact_submit{margin:clamp(28px,4vw,40px) 0 0!important;text-align:center!important;}
.contact_submit input[type="submit"]{-webkit-appearance:none!important;appearance:none!important;display:inline-block!important;min-height:52px!important;min-width:220px!important;padding:14px 32px!important;font-family:inherit!important;font-size:16px!important;font-weight:700!important;color:#fff!important;background:#3a78ba!important;border:1px solid #3a78ba!important;border-radius:0!important;cursor:pointer!important;}
.contact_submit input[type="submit"]:hover{background:#245a8a!important;border-color:#245a8a!important;}
/* ===== 共通ヘッダー（CSSのみで開閉。JS読み込み前から表示される） ===== */
  .h-toggle,.h-sub-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
  .site-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:9000;background:rgba(255,255,255,.97);backdrop-filter:blur(6px);}
  .h-inner{max-width:1500px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;}
  .h-inner>a.h-logo{display:flex;align-items:center;text-decoration:none;}
  .h-logo img{display:block;height:36px;width:auto;}
  .h-pc{display:none;}
  .h-pc ul{display:flex;align-items:center;gap:14px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:500;}
  .h-pc a{text-decoration:none;color:#222;padding:8px 0;display:inline-block;transition:color .2s;}
  .h-pc a:hover{color:#3a78ba;}
  .h-pc a.h-cta{display:inline-block;background:#3a78ba;color:#fff;padding:12px 18px;font-weight:700;transition:background .2s;}
  .h-pc a.h-cta:hover{background:#245a8a;color:#fff;}
  .h-has-sub{position:relative;}
  .h-has-sub>a{display:inline-flex;align-items:center;gap:6px;}
  .h-has-sub>ul{display:none;position:absolute;top:100%;left:-14px;margin:0;padding:6px 0;list-style:none;min-width:220px;background:#fff;border:1px solid #e2ded5;box-shadow:0 8px 20px rgba(36,90,138,.12);}
  .h-has-sub:hover>ul,.h-has-sub:focus-within>ul{display:block;}
  .h-has-sub>ul a{display:block;padding:11px 20px;font-size:13.5px;white-space:nowrap;transition:color .2s,background .2s;}
  .h-has-sub>ul a:hover{color:#3a78ba;background:#f3f6fa;}
  .h-burger{width:48px;height:48px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:#fff;border:1px solid #e2ded5;cursor:pointer;padding:0;}
  .h-burger span{display:block;flex:0 0 auto;width:22px;height:2px;background:#245a8a;transition:transform .25s ease,opacity .2s ease;}
  .h-toggle:checked~.h-inner .h-burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .h-toggle:checked~.h-inner .h-burger span:nth-child(2){opacity:0;}
  .h-toggle:checked~.h-inner .h-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  #sp-nav{display:none;width:100%;height:calc(100dvh - 64px);max-height:calc(100vh - 64px);border-top:1px solid #e2ded5;background:#fff;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;}
  #sp-nav::-webkit-scrollbar{width:0;height:0;}
  .h-toggle:checked~#sp-nav{display:block;}
  #sp-nav>ul{list-style:none;margin:0;padding:8px 0 40px;display:flex;flex-direction:column;gap:2px;}
  #sp-nav>ul>li>a,#sp-nav>ul>li>div>a{display:block;padding:14px 16px;min-height:44px;text-decoration:none;color:#222;font-weight:500;}
  #sp-nav>ul>li>a{border-bottom:1px solid #eef4fa;}
  #sp-nav .h-sp-row{display:flex;align-items:stretch;border-bottom:1px solid #eef4fa;}
  #sp-nav .h-sp-row>a{flex:1;}
  #sp-nav .h-sp-plus{width:48px;min-height:44px;display:grid;place-items:center;background:transparent;border:0;border-left:1px solid #eef4fa;cursor:pointer;color:#3a78ba;font-size:16px;line-height:1;transition:transform .25s ease;}
  #sp-nav .h-sub-toggle:checked~ul .h-sp-plus{transform:rotate(45deg);}
  #sp-nav .h-sp-sub{display:none;list-style:none;margin:0;padding:0;}
  #sp-nav .h-sub-toggle:checked~ul .h-sp-sub{display:block;}
  #sp-nav .h-sp-sub a{display:flex;align-items:center;gap:8px;padding:13px 32px;min-height:44px;text-decoration:none;color:#555;font-weight:500;font-size:14.5px;border-bottom:1px solid #eef4fa;}
  #sp-nav .h-sp-cta{margin-top:20px;}
  #sp-nav .h-sp-cta a{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:56px;padding:16px 20px;background:#3a78ba;color:#fff;text-decoration:none;font-weight:700;font-size:14.5px;letter-spacing:.08em;transition:background .2s;}
  #sp-nav .h-sp-cta a:hover{background:#245a8a;color:#fff;}
  @media (min-width:992px){
    .fv-grid>div:last-child{aspect-ratio:auto!important;height:100%!important;}
  }
  @media (max-width:1299px){
    .h-inner{padding:0 16px;min-height:52px;}
    .h-logo img{height:30px;}
    .h-burger{width:40px;height:40px;}
    #sp-nav{height:calc(100dvh - 52px);max-height:calc(100vh - 52px);border-top:0;}
    #sp-nav>ul>li:first-child>a{border-top:0;}
  }
  @media (min-width:1300px){
    .h-pc{display:block;}
    .h-burger,#sp-nav{display:none!important;}
  }

.sx1>.lc-wipe{position:absolute;left:0;top:0;right:0;bottom:0;background:#1c2b38;transform:scaleX(1);transform-origin:left center;animation:fvWipe .7s cubic-bezier(.7,0,.25,1) .15s both;}
.sx2>.lc-wipe{position:absolute;left:0;top:0;right:0;bottom:0;background:#1c2b38;transform:scaleX(1);transform-origin:left center;animation:fvWipe .7s cubic-bezier(.7,0,.25,1) .5s both;}
.sx3:hover{background:rgb(238,244,250);}
.sx4:hover{color:#c0343c;}
.sx5:hover{color:#c0343c;}
.sx6:hover{color:#c0343c;}
.sx7:hover{color:#c0343c;}
.sx8:hover{background:#a02b32;border-color:#a02b32;}
.sx9:hover{background:#a02b32;border-color:#a02b32;}
.sx10:hover{background:#a02b32;border-color:#a02b32;}
.sx11:hover{background:#e6ecf2;border-color:#e6ecf2;}
.sx12:hover{background:#e6ecf2;border-color:#e6ecf2;}
.sx13:hover{background:#fff;color:#245a8a;}
.sx14:hover{background:#e6ecf2;}
.sx15:hover{background:#e6ecf2;border-color:#e6ecf2;}
.sx16:hover{background:#e6ecf2;border-color:#e6ecf2;}
.sx17:hover{background:#fff;color:#245a8a;}
.sx18:hover{background:#e6ecf2;border-color:#e6ecf2;}
.sx19:hover{background:#eef4fa;}
.sx20:hover{background:#eef4fa;}
.sx21:hover{background:#eef4fa;}
.sx22:hover{background:#eef4fa;}
.sx23:hover{background:#eef4fa;}
.sx24:hover{background:#e6ecf2;border-color:#e6ecf2;}
.sx25:hover{background:#fff;color:#245a8a;}
.sx26:hover{color:#7fb4e0;}
.sx27:hover{color:#7fb4e0;}
.sx28:hover{color:#7fb4e0;}
.sx29:hover{color:#7fb4e0;}
.sx30:hover{color:#7fb4e0;}
.sx31:hover{color:#7fb4e0;}
.sx32:hover{color:#7fb4e0;}
.sx33:hover{color:#7fb4e0;}
.sx34:hover{color:#7fb4e0;}
.sx35:hover{color:#7fb4e0;}
.sx36:hover{color:#7fb4e0;}
.sx37:hover{color:#7fb4e0;}

/* ===== フッター（受領のページ末尾にあった追補CSS） ===== */
@media (min-width:900px){
    .f-grid{grid-template-columns:minmax(0,1fr) auto auto!important;gap:28px 64px!important;justify-content:end!important;}
  }
  @media (min-width:900px) and (max-width:1299px){
    .f-grid nav ul{font-size:13px!important;}
    .f-grid nav a{white-space:nowrap!important;}
    .f-info p{font-size:13px!important;white-space:nowrap!important;}
  }
  @media (max-width:899px){
    .f-grid{grid-template-columns:1fr!important;gap:0!important;}
    .f-grid nav{margin:0!important;}
    .f-grid nav ul{flex-direction:column!important;gap:0!important;}
    .f-grid nav a{white-space:nowrap!important;display:block!important;padding:14px 0!important;border-top:1px solid rgba(255,255,255,.2)!important;}
    .f-grid nav:last-of-type ul li:last-child a{border-bottom:1px solid rgba(255,255,255,.2)!important;}
    .f-info{margin-bottom:24px!important;}
    .f-info p{white-space:nowrap!important;}
  }
  @media (max-width:640px){
    .f-info p{white-space:normal!important;}
  }

/* ===== フッターの電話番号（R-24でタップ発信化した分の配色） =====
   受領は素のテキストだったので a 要素が無く、既定の a｛color:#245a8a｝では濃紺地に埋もれる。
   同じ段落の他の文字（opacity:.92 の白）に合わせる。 */
.f-info .f-tel{color:#fff;text-decoration:none;}
.f-info .f-tel:hover{color:#7fb4e0;}

/* ===== Googleマップへの導線（2026-09-16 追加・フッター／会社概要の住所） =====
   受領デザインに無かったボタン。既存の意匠に合わせて枠線ボタンにしてある:
     ・会社概要（白地）…… 受領の「見学を申し込む」と同じ 白地＋ブランド青の枠
     ・フッター（濃紺地）…… 同じ形で白抜き（濃紺の上で青枠は沈むため）
   タップ領域は 44px 以上（R-19 軸②）。外部リンクなので target と rel を付けている。 */
.gh-gmap{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 18px;font-size:13px;font-weight:700;letter-spacing:.06em;line-height:1.5;text-decoration:none;color:#245a8a;background:#fff;border:1px solid #245a8a;transition:background .2s,color .2s;}
.gh-gmap:hover{background:#eef4fa;color:#245a8a;}
.f-info .gh-gmap{color:#fff;background:transparent;border-color:rgba(255,255,255,.55);}
.f-info .gh-gmap:hover{background:rgba(255,255,255,.12);color:#fff;}

/* ===== スクロールフェード（Commons の fade_up の見た目） =====
   受領の演出JS（IntersectionObserver で opacity と translateY を操作）は R-2 に従って
   Commons の fade_up クラスへ委譲した。ただし **Commons はクラスを付け外しするだけ**で、
   見た目の定義は持っていない（実測: Commons v1.3 は読込時に fade_up を外し、
   スクロールで画面に入ったら付け直す）。テーマCSS（theme_default.css）にも .fade_up は無いため、
   ここで定義しないと **クラスが付いても何も起きない＝演出が消える**（実機 1542 で実測）。
   値は受領JSと同じ（opacity 0→1／translateY 28px→0／0.8s ease）。
   ★JSが動かなくてもクラスはHTMLに残ったままなので、その場合は読込時にこの animation が
     1回再生されて**必ず表示される**（R-4 の「JS前提の初期非表示」にはならない）。
   ★prefers-reduced-motion では受領CSS冒頭の打ち消し（!important）が勝ち、静止して表示される。 */
@keyframes ghFadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:none;}}
.fade_up{animation:ghFadeUp .8s ease both;}

/* ===== インラインstyleから退避した animation / transition =====
   CueZilla はフリーコード本文の style 属性から animation / transition 宣言を
   サニタイズで落とす（教訓 cuezilla-strips-inline-animation-transition・実測 O01404）。
   @keyframes は追加CSS欄で生き残るため、放置すると「keyframes は在るのに動かない」になる。
   ★値は受領のまま。宣言の置き場所をインラインからクラスへ移しただけで、見た目の意図は不変。
   ★prefers-reduced-motion の打ち消し（受領CSS冒頭）は !important なので、これより後でも勝つ。 */
.gh-m1{transition:color .2s;}
.gh-m2{animation:fvTextIn .35s ease .8s both;}
.gh-m3{animation:fvTextIn .35s ease 1.15s both;}
.gh-m4{transition:background .2s;}
.gh-m5{transition:background .2s,border-color .2s;}
.gh-m6{animation:marqueeX 40s linear infinite;}
.gh-m7{transition:background .2s,color .2s;}


/* ===== 29_override.css ===== */
/* ============================================================
   29_override.css ― S01412 有限会社グリーンハウスサンマルヨン
   案件の上書き専用（R-30）。20_site.css の後ろに結合される＝同じ詳細度なら後勝ち。

   ★このサイトは共通スキン（cuezilla-skin.css）を同梱していない。
     受領データが動的パーツ（物件紹介 parts228 / ブログ parts222 / お問い合わせ parts210・213 /
     お知らせ帯 design-parts-52 / トップのブログ枠 parts131415_blog）を
     すべて自前CSSで ！important 付きで組み上げているため、スキンを重ねると
     受領デザインを上書きして逆に崩す（cz-judgment §3 の「自前完結型＝skin不採用」）。
     よってここには、受領CSSが手当てしていない「CMSテーマ側の加害」だけを最小限で書く。
   ============================================================ */

/* ---- A. CueZilla自動パンくずの二重表示を止める（R-10a） ----------------
   固定ページ本文・下層ヘッダーの各ブロックに、受領デザインのパンくずを内包している。
   CueZillaが自動挿入する parts231_breadcrumb と二重になるため非表示にする。 */
.parts231_breadcrumb{display:none !important;}

/* ---- B. 一覧のゴースト列（テーマ共有CSSの ::after） --------------------
   テーマは .partsNNN_post_list に ::after（content:"";width:32.465% 等）を持つ。
   受領CSSが一覧を grid 化しているため、この疑似要素が「空のカード」として1マス占める。
   ★打ち消しに content:none は使えない（追加CSS欄のサニタイズで content 宣言ごと落ちる＝R-27）。
     サニタイズで残る display で消す。 */
.parts228_post_list::after,
.parts222_post_list::after,
.parts-blog-ex-tag_wrap::after{display:none !important;}

/* ---- C. カード・サイドバーの max-width 潰れ（R-28 の既知崩れ） --------
   テーマは一覧カード／サイドバーに max-width:28〜48% を既定で当てる。
   受領CSSは幅を grid の列に任せているため、解除しないと列幅の 1/3 に縮む。 */
.parts228_post_wrap,
.parts222_post_wrap,
.parts222_sidebar,
.parts222_sidebar_wrap,
.parts222_post_img,
.parts228_post_img{max-width:none !important;}

/* ---- D. list-style を外した ul の UA 既定インデント（R-28） ------------
   受領CSSは主要な ul に padding:0 を当てているが、テーマが後から足す一覧系に備えて地ならし。 */
.parts228_post_list,
.parts222_post_list,
.parts222_sidebar_wrap>ul,
.parts-blog-ex-tag_wrap{padding-left:0 !important;}

/* ---- D2. 物件紹介一覧の自動見出しを消す --------------------------------
   テーマ共有CSSは .partsNNN_section h2 に「main色・35px・中央寄せ」の自動大見出しを描く
   （templates/dynamic-blog-works.md §3）。物件紹介ページは 04a の下層ヘッダーが h1「物件紹介」を
   出しているので、そのままだと同じ言葉が2つ並ぶ。
   ★ブログ一覧（parts222）の h2 は消さない。受領CSSが「左に赤い罫線のセクション見出し」として
     整えており、そこに `BLOG` を入れる設計だから（04e_動的ページ_設置メモ.md §4）。 */
.parts228_section>h2{display:none !important;}

/* ---- E. トップのブログ枠パーツ 下余白 ----------------------------------
   受領デザインでは「記事一覧を見る」ボタンがこのパーツのセクション内にあったが、
   CueZillaのブログ枠パーツにボタン欄が無いため、直後の独立ブロック（05c の先頭）へ出した。
   パーツ側の下余白をそのまま残すと ブロック間余白（下限約100px）と足し算になって
   カードとボタンが離れすぎるので、下だけ詰める。左右・上は受領のまま。 */
[class*="parts131415_blog"]{padding-bottom:0 !important;}

/* ---- E1. 日本語の禁則（行頭にくる小書きかな・長音符） ------------------
   幅の掃引（verify/responsive-audit.mjs）で「行頭が約物『っ』『ッ』『ー』」が出る。
   ブラウザ既定の line-break:auto は小書きかなと長音符の行頭を許すため。
   strict にすると禁則が効いて行頭に来なくなる。**本文は1文字も変えない**（改行位置だけが動く）。 */
body{line-break:strict;}

/* ---- E2. 320px 幅での横はみ出し ----------------------------------------
   受領デザインは 375px 以上を想定していて、320px（iPhone SE 第1世代など）では2か所が画面外へ出る:
     ・幅 300px 固定のCTAボタン（左右の余白20px×2を足すと340px）… 20px はみ出し
     ・会社概要の表にあるグループ会社URL（途中で折り返せない1語）… 11px はみ出し
   359px 以下だけに限定して当てるので、375px 以上の見え方は1pxも変わらない。 */
@media (max-width:359px){
  [style*="width:300px"]{width:100% !important;max-width:300px !important;}
  .spec-table td, .spec-table th{overflow-wrap:anywhere !important;}
}

/* ---- F. 固定ヘッダーへの潜り込み（R-18） --------------------------------
   このサイトは 02_header.html の末尾に .h-spacer（PC 64px / 1299px以下 52px）を含めており、
   共通ヘッダー枠は全ページに入るので、CueZillaが描くページ（送信完了・404・一覧・フォーム）でも
   先頭が固定ヘッダーに潜らない。

   ★投入転記シートの「先頭に :root｛--fixed-header-h: XXpx｝ があるか」は、この案件では
     **不要が正解**。あの変数を読むのは共通スキンだけで、このサイトはスキンを同梱していないため
     書いても誰も参照しない（＝値が二重管理になるだけ）。上余白は .h-spacer が実体で作っている。

   ★投入後、/form/complete/inquiry と /not-found-page を実機で開いて先頭が隠れていないことを必ず見る。 */