/* WELLBE RIGHT v1 — トップカンプv5 の CSS（_to_theme.py が書き出し。手で直さない） */

/* TOPカンプ v4 — 元のSTUDIOサイト（Well-Be Right PR）の構成と文字組に忠実に。配色=M1、仕上げ=R-3/4/5。
   元の実測: 大見出し44px/1.4（SP 30px）・リード20px/1.8（SP 16px）・節見出し36px/1.4（SP 24px）・本文18px/1.8（SP 15px）・事業名28px（SP 22px）。
   見出しは見出ゴMB1（STUDIO専用のモリサワ書体）→ 無料で使える Zen Kaku Gothic New の太字で置き換え。英字ラベルは Poppins。
   レイアウト: 最大1440px・左右の余白 clamp(20px,5vw,100px)。375〜2560pxで文字と余白を連続的に変える */
:root{
  --paper:#FAF9F5; --ground:#EFEDE8; --line:#D6D2CA; --mist:#DEE1D8; --mist2:#C7CDC1;
  --ink:#1E1F1D; --ink2:#5A5D58; --sage:#4C7864; --sage-t:#3D6553; --deep:#2F4A3F; --hl:rgba(76,120,100,.22);
  --jp:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; --en:Poppins,"Helvetica Neue",Arial,sans-serif;
  --gut:clamp(20px,5vw,100px); --max:1440px; --hh:clamp(64px,5.6vw,80px);
  --fs-body:clamp(15px,.25vw + 14px,18px); --fs-lead:clamp(16px,.35vw + 14.6px,20px); --fs-small:clamp(13px,.15vw + 12.4px,14.5px);
  --fs-h2:clamp(24px,1vw + 20px,40px); --fs-h3:clamp(20px,.55vw + 18px,28px);
  --sec:clamp(96px,8vw + 48px,180px);
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--hh)}
body{background:var(--paper);color:var(--ink);font-family:var(--jp);font-weight:400;font-size:var(--fs-body);line-height:1.8;letter-spacing:.06em;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
h1,h2,h3,h4{font-weight:700;line-height:1.4;font-feature-settings:"palt";text-wrap:balance}
.nw{display:inline-block}
.en{font-family:var(--en)}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--deep);color:#fff;padding:8px 14px}.skip:focus{left:8px}

/* header（元: 右上に英字ナビ・相談は濃い四角） */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;height:var(--hh);display:flex;align-items:center;justify-content:space-between;padding-left:var(--gut);background:rgba(239,237,232,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.logo{display:flex;align-items:center;gap:12px;min-width:0}.logo img{width:clamp(28px,2.4vw,36px)}
.logo b{display:block;font-weight:700;font-size:clamp(12px,.3vw + 11px,14px);letter-spacing:.14em;line-height:1.35;white-space:nowrap}
.logo small{display:block;font-family:var(--en);font-weight:400;font-size:12px;letter-spacing:.12em;color:var(--ink2)}
.nav{display:flex;align-items:center;height:100%}
.nav a.l{position:relative;font-family:var(--en);font-weight:600;font-size:clamp(15px,.3vw + 13px,18px);letter-spacing:.02em;padding:0 clamp(12px,1.2vw,20px)}
.nav a.l::after{content:"";position:absolute;left:clamp(12px,1.2vw,20px);right:clamp(12px,1.2vw,20px);bottom:-6px;height:1.5px;background:var(--sage);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.6,0,.2,1)}
.nav a.l:hover::after{transform:scaleX(1)}
.nav .cta{height:100%;display:grid;place-items:center;background:var(--deep);color:#fff;padding:0 clamp(20px,2.2vw,36px);font-weight:700;font-size:14px;letter-spacing:.14em;margin-left:clamp(8px,1vw,16px);transition:background .3s}
.nav .cta:hover{background:var(--sage)}
.menu{display:none;width:var(--hh);height:100%;background:none;border:0;cursor:pointer;color:var(--ink)}
.menu i{display:block;width:22px;height:1.5px;background:currentColor;margin:0 auto;transition:transform .35s}.menu i+i{margin-top:7px}
.sheet{position:absolute;top:100%;left:0;right:0;height:calc(100dvh - var(--hh));overflow-y:auto;overscroll-behavior:contain;z-index:49;background:var(--ground);padding:clamp(32px,8vw,64px) var(--gut);display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .3s,visibility 0s .3s}
.sheet a{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:18px 0;font-weight:700;font-size:17px;letter-spacing:.12em}.sheet a span{font-family:var(--en);font-weight:500;font-size:12px;color:var(--ink2);letter-spacing:.16em}
.sheet .cta2{margin-top:28px;justify-content:center;background:var(--deep);color:#fff;border:0}
.open .sheet{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .3s}
.open .menu i:first-child{transform:translateY(4.25px) rotate(30deg)}.open .menu i:last-child{transform:translateY(-4.25px) rotate(-30deg)}

/* hero（格子をやめ無地に。元の面の重なりは残し、読み込み時に見出しが行ごとに立ち上がる） */
.hero{position:relative;background:var(--ground);overflow:hidden;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6.2fr);align-items:center;min-height:min(calc(100svh - var(--hh)),960px)}
.blk{position:absolute;left:20%;right:0;bottom:0;height:42%;background:var(--mist)}
.blk2{position:absolute;right:0;bottom:0;width:15%;height:14%;background:var(--mist2)}
.h-txt{position:relative;z-index:2;padding:clamp(48px,5vw,96px) clamp(24px,3.4vw,64px) clamp(56px,5vw,96px) var(--gut)}
.h-k{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-family:var(--en);font-weight:500;font-size:clamp(13px,.35vw + 11.5px,18px);letter-spacing:.04em}
.h-k::before{content:"";width:28px;height:1px;background:var(--ink)}
.h-k i{font-style:normal;color:var(--sage-t)}.h-k .jp{font-family:var(--jp);font-size:max(12px,.92em)}
h1{font-size:clamp(30px,1.6vw + 21px,60px);line-height:1.4;letter-spacing:.1em;margin-top:clamp(20px,2vw,34px);font-weight:500}
h1 .ln{display:block;overflow:hidden;padding-bottom:.08em}
h1 .ln>span{display:inline-block}
h1 .ob{margin-left:-.5em}
h1 em{font-style:normal;font-weight:700;background:linear-gradient(transparent 68%,var(--hl) 68%);padding:0 .04em}
.h-sub{margin-top:clamp(22px,2vw,36px);font-size:var(--fs-lead);line-height:1.8;max-width:26em}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:clamp(220px,18vw,260px);height:clamp(54px,4.2vw,60px);background:var(--deep);color:#fff;font-weight:700;letter-spacing:.16em;font-size:clamp(14px,.2vw + 13px,16px);margin-top:clamp(32px,3vw,48px);transition:background .35s}
.btn::after{content:"";position:absolute;right:-20px;top:50%;width:40px;height:1px;background:var(--ink);transition:width .4s cubic-bezier(.6,0,.2,1)}
.btn:hover{background:var(--sage)}.btn:hover::after{width:64px}
.h-img{position:relative;z-index:2;align-self:start;margin-top:clamp(28px,3vw,40px);height:min(calc(100svh - var(--hh) - 120px),720px);min-height:420px;overflow:hidden}
.h-img img{width:100%;height:100%;object-fit:cover}
.h-img figcaption{position:absolute;left:0;bottom:0;transform:translateY(calc(100% + 10px));font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--ink2)}
.h-img{overflow:visible}.h-img .ph{height:100%;overflow:hidden}
/* 読み込み時の動き（JSが動くときだけ・動きを減らす設定では止める） */
.js .hero h1 .ln>span{transform:translateY(110%);transition:transform 1.1s cubic-bezier(.2,.7,.1,1)}
.js .hero h1 .ln+.ln>span{transition-delay:.12s}
.js .hero .h-k,.js .hero .h-sub,.js .hero .btn{opacity:0;transform:translateY(12px);transition:opacity .9s .35s,transform .9s .35s cubic-bezier(.2,.7,.1,1)}
.js .hero .h-sub{transition-delay:.45s}.js .hero .btn{transition-delay:.55s}
.js .hero .h-img img{transform:scale(1.08);transition:transform 2.4s cubic-bezier(.2,.6,.2,1)}
.js .loaded .hero h1 .ln>span,.js .loaded .hero .h-k,.js .loaded .hero .h-sub,.js .loaded .hero .btn{transform:none;opacity:1}
.js .loaded .hero .h-img img{transform:none}

/* 節の見出し（元: 英字の大見出し＋「— 日本語」。R-4: 英字は輪郭線で節の上端にまたがせる） */
.sec{position:relative;padding-block:var(--sec)}
.bg{background:var(--ground)}
.sh{position:relative}
.sh .big{font-family:var(--en);font-weight:600;font-size:clamp(56px,6.4vw + 20px,150px);line-height:.86;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px var(--mist2);margin-top:calc(-1 * var(--sec) - .44em);position:relative;z-index:2;pointer-events:none;user-select:none}
.bg .sh .big{-webkit-text-stroke-color:var(--sage);opacity:.42}
.dark .sh .big{-webkit-text-stroke-color:rgba(255,255,255,.35)}
.sh .jp{display:flex;align-items:center;gap:14px;font-weight:700;font-size:clamp(14px,.2vw + 13px,16px);letter-spacing:.14em;margin-top:clamp(16px,1.4vw,24px)}
.sh .jp::before{content:"";width:28px;height:1px;background:currentColor}
.h2{font-size:var(--fs-h2);letter-spacing:.1em}

/* about（写真と本文の2段＋一本の木の6つの部位） */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,120px);align-items:start;margin-top:clamp(48px,4.6vw,80px)}
.ab-ph{position:relative;isolation:isolate;position:sticky;top:calc(var(--hh) + 32px)}
.ab-ph img{aspect-ratio:4/5;object-fit:cover}
.ab-ph::before{content:"";position:absolute;left:clamp(16px,1.6vw,28px);top:clamp(16px,1.6vw,28px);right:calc(-1 * clamp(16px,1.6vw,28px));bottom:calc(-1 * clamp(16px,1.6vw,28px));background:var(--mist);z-index:-1}
.ab-ph figcaption{margin-top:clamp(24px,2.2vw,40px);font-size:var(--fs-small);color:var(--ink2);letter-spacing:.12em}
.ab-tx .lead{font-size:var(--fs-lead);margin-top:clamp(22px,2vw,32px)}
.ab-tx p.b{margin-top:clamp(16px,1.4vw,22px);color:var(--ink2)}
.parts{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,56px);margin-top:clamp(36px,3.4vw,56px);border-top:1px solid var(--ink)}
.parts li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;padding:clamp(20px,1.8vw,28px) 0;border-bottom:1px solid var(--line);align-content:start}
.parts .k{grid-row:1/3;width:clamp(38px,3vw,46px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font-weight:700;font-size:clamp(15px,.3vw + 14px,18px)}
.parts b{font-weight:700;font-size:clamp(16px,.3vw + 15px,19px);letter-spacing:.12em;line-height:1.5}
.parts b small{display:block;font-weight:500;font-size:var(--fs-small);color:var(--sage-t);letter-spacing:.08em}
.parts span:not(.k){grid-column:2;font-size:var(--fs-small);color:var(--ink2);line-height:1.8}
/* 10/14 根→幹→枝→葉→実の流れ+土は木の下に敷く帯 */
.parts li.fr{grid-column:1/-1}
.ab-soil{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 16px;align-content:start;margin-top:clamp(14px,1.2vw,20px);padding:clamp(18px,1.6vw,24px) clamp(18px,1.6vw,26px);background:var(--ground);border-top:3px solid var(--c)}
.ab-soil .k{grid-row:1/3;width:clamp(38px,3vw,46px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--c);color:#fff;font-weight:700;font-size:clamp(15px,.3vw + 14px,18px)}
.ab-soil b{font-weight:700;font-size:clamp(16px,.3vw + 15px,19px);letter-spacing:.12em;line-height:1.5}
.ab-soil b small{display:block;font-weight:500;font-size:var(--fs-small);color:var(--sage-t);letter-spacing:.08em}
.ab-soil span:not(.k){grid-column:2;font-size:var(--fs-small);color:var(--ink2);line-height:1.8}
.ab-more{margin-top:clamp(28px,2.6vw,40px)}
/* 副ボタン（枠線＋矢印・ホバーで深緑に塗る）＝会社概要を見る／15業種の見本を見る */
.ab-more,.smp-f a.go2{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-width:clamp(220px,18vw,250px);min-height:52px;padding:0 22px 0 26px;border:1px solid var(--deep);background:var(--paper);color:var(--deep);font-weight:700;letter-spacing:.12em;font-size:clamp(14px,.2vw + 13px,15px);overflow:hidden;isolation:isolate;transition:color .4s}
.ab-more::after,.smp-f a.go2::after{content:"";position:absolute;inset:0;width:0;height:100%;background:var(--deep);z-index:-1;transition:width .5s cubic-bezier(.6,0,.2,1)}
.ab-more:hover,.smp-f a.go2:hover{color:#fff}
.ab-more:hover::after,.smp-f a.go2:hover::after{width:100%}
.ab-more i,.smp-f a.go2 i{font-style:normal;font-family:var(--en);font-weight:500;transition:transform .4s cubic-bezier(.6,0,.2,1)}
.ab-more:hover i{transform:translateX(4px)}
.smp-f a.go2:hover i{transform:translate(3px,-3px)}
.ab-more:focus-visible,.smp-f a.go2:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* service（元: 上罫・行・提供メニューのチップ・黒丸の矢印） */
.svc-side{position:absolute;right:0;top:0;bottom:0;width:30%;background:var(--mist)}
.svc-hd{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,5vw,96px);align-items:end;margin-top:clamp(40px,4vw,64px)}
.svc-hd p{color:var(--ink2)}
.rows{margin-top:clamp(40px,4vw,64px);border-top:1px solid var(--ink)}
.row{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) clamp(56px,5vw,72px);gap:12px clamp(20px,2.4vw,40px);align-items:center;padding:clamp(28px,2.4vw,36px) 0;border-bottom:1px solid var(--ink)}
.row h3{font-size:var(--fs-h3);letter-spacing:.06em}
.row .no{align-self:start;min-width:2.2em;font-family:var(--en);font-size:clamp(22px,.6vw + 18px,30px);line-height:1.2;color:var(--sage-t);letter-spacing:.04em;font-variant-numeric:lining-nums}
.row p{font-size:var(--fs-small);margin-top:8px;line-height:1.85}
.row .m b{display:flex;align-items:center;gap:10px;font-size:clamp(13px,.15vw + 12.5px,15px);font-weight:700;letter-spacing:.12em}.row .m b::before{content:"";width:18px;height:1px;background:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chips span{font-size:13px;font-weight:500;padding:4px 14px;background:var(--paper);border-radius:999px;letter-spacing:.06em}
.row .go{justify-self:end;width:clamp(52px,4.8vw,70px);aspect-ratio:1;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;font-family:var(--en);font-size:16px;transition:transform .45s cubic-bezier(.6,0,.2,1),background .3s}
.row:hover .go{transform:translateX(6px);background:var(--sage)}
.row.pick{isolation:isolate}.row.pick::before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:calc(-1 * clamp(16px,1.6vw,28px));right:calc(-1 * clamp(16px,1.6vw,28px));background:var(--paper)}
.pk{display:inline-flex;align-items:center;gap:8px;font-family:var(--en);font-weight:600;font-size:12px;letter-spacing:.16em;color:#fff;background:var(--sage-t);padding:3px 10px;margin-bottom:10px}
.row.pick .chips span{background:var(--ground)}
.row.pick .fb{display:block;font-size:var(--fs-small);font-weight:700;color:var(--sage-t);margin-top:6px;letter-spacing:.08em}

/* strength = Feather Be を前に（写真＋ファインダーの角＋撮影が効く現場8項目） */
.str{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,5vw,96px);align-items:center;margin-top:clamp(48px,4.6vw,80px)}
.fb-ph{position:relative;aspect-ratio:16/10;overflow:hidden}
.fb-ph img{width:100%;height:100%;object-fit:cover}
.fb-ph i{position:absolute;width:clamp(22px,2vw,34px);height:clamp(22px,2vw,34px);border:1.5px solid #fff}
.fb-ph .c1{left:clamp(14px,1.6vw,26px);top:clamp(14px,1.6vw,26px);border-right:0;border-bottom:0}.fb-ph .c2{right:clamp(14px,1.6vw,26px);top:clamp(14px,1.6vw,26px);border-left:0;border-bottom:0}
.fb-ph .c3{left:clamp(14px,1.6vw,26px);bottom:clamp(14px,1.6vw,26px);border-right:0;border-top:0}.fb-ph .c4{right:clamp(14px,1.6vw,26px);bottom:clamp(14px,1.6vw,26px);border-left:0;border-top:0}
.fb-ph .rec{position:absolute;left:clamp(40px,3.8vw,64px);top:clamp(16px,1.7vw,28px);font-family:var(--en);font-size:12px;letter-spacing:.2em;color:#fff;display:flex;align-items:center;gap:8px}.fb-ph .rec::before{content:"";width:7px;height:7px;border-radius:50%;background:#E0533D}
.fb-ph .lab{position:absolute;right:clamp(40px,3.8vw,64px);bottom:clamp(16px,1.7vw,28px);font-family:var(--en);font-size:12px;letter-spacing:.2em;color:#fff}
.fb-sub{position:absolute;right:calc(-1 * clamp(0px,2vw,40px));bottom:calc(-1 * clamp(28px,3vw,56px));width:36%;aspect-ratio:4/3;border:clamp(6px,.6vw,10px) solid var(--ground);overflow:hidden;z-index:2}
.fb-sub img{width:100%;height:100%;object-fit:cover}
.fb-wrap{position:relative}
.fb-tx .tag{font-family:var(--en);font-weight:600;font-size:clamp(12px,.2vw + 11.5px,14px);letter-spacing:.24em;color:var(--sage-t)}
.fb-tx .fbh{font-size:var(--fs-h2);letter-spacing:.1em;margin-top:10px}
.fb-tx p{margin-top:clamp(18px,1.6vw,26px);color:var(--ink2)}
.fields{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(20px,1.8vw,28px)}.fields span{font-size:13px;font-weight:500;padding:4px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);letter-spacing:.06em}
.fb-tx .btn{margin-top:clamp(28px,2.6vw,40px)}
.nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);margin-top:clamp(72px,7vw,128px)}
.nums div{padding:clamp(26px,2.4vw,36px) clamp(18px,2vw,30px) 4px 0}.nums div+div{border-left:1px solid var(--line);padding-left:clamp(18px,2vw,30px)}
.nums .n{font-family:var(--en);font-weight:500;font-size:clamp(40px,2.6vw + 18px,76px);line-height:1;color:var(--deep);letter-spacing:.01em}.nums .n small{font-size:.36em;margin-left:4px}
.nums h3{font-size:clamp(16px,.3vw + 15px,19px);margin-top:18px;letter-spacing:.1em}.nums p{font-size:var(--fs-small);color:var(--ink2);margin-top:6px}

/* sample（制作見本・架空の事業者） */
.smp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,32px);margin-top:clamp(40px,4vw,64px)}
.smp a .im{aspect-ratio:3/2;overflow:hidden;background:var(--ground)}.smp a .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1)}.smp a:hover .im img{transform:scale(1.04)}
.smp b{display:block;word-break:keep-all;font-size:clamp(15px,.2vw + 14px,17px);margin-top:14px;letter-spacing:.08em}.smp span{display:block;font-size:13px;color:var(--ink2)}
.smp-f{display:flex;justify-content:space-between;align-items:center;gap:16px 32px;flex-wrap:wrap;margin-top:clamp(28px,2.6vw,40px);border-top:1px solid var(--line);padding-top:20px;font-size:13px;color:var(--ink2)}


/* contact（元: 灰緑の帯・英字の大見出し・丸い矢印） */
.contact{background:var(--mist2);padding-block:clamp(80px,7vw,140px)}
.contact .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px}
.contact .big{font-family:var(--en);font-weight:600;font-size:clamp(44px,4vw + 16px,96px);line-height:1;letter-spacing:.02em}
.contact .jp{display:flex;align-items:center;gap:14px;font-weight:700;letter-spacing:.14em;font-size:clamp(14px,.2vw + 13px,16px);margin-top:12px}.contact .jp::before{content:"";width:28px;height:1px;background:currentColor}
.contact p.t{margin-top:20px;max-width:34em}
.contact .go{width:clamp(80px,7vw,120px);aspect-ratio:1;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;font-family:var(--en);font-size:clamp(20px,1.6vw,26px);transition:transform .45s cubic-bezier(.6,0,.2,1),background .3s}
.contact .go:hover{transform:scale(1.06);background:var(--sage)}

/* footer（元: ロゴ左・英字の見出し・下に罫） */
.ftr{background:var(--ground);padding-block:clamp(56px,5vw,88px) calc(28px + env(safe-area-inset-bottom,0px))}
.ftr .wrap{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:clamp(28px,4vw,64px)}
.f-logo img{width:clamp(56px,5vw,80px)}.f-logo b{display:block;margin-top:14px;font-weight:700;letter-spacing:.14em}.f-logo p{font-size:13px;color:var(--ink2);margin-top:6px;line-height:1.9}
.ftr .fh{font-family:var(--en);font-weight:500;font-size:clamp(16px,.3vw + 15px,19px);letter-spacing:.02em}.ftr li{list-style:none;font-size:13.5px;margin-top:8px}.ftr li a:hover{color:var(--sage-t)}
.copy{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;font-size:12px;color:var(--ink2);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* R-5: 写真が画面に入ると下から開く（JSが動くときだけ。2.5秒で必ず開く） */
.js .rv{clip-path:inset(100% 0 0 0);transition:clip-path 1.2s cubic-bezier(.7,0,.2,1)}
.js .rv.on{clip-path:inset(0 0 0 0)}
.js .rv img{transform:scale(1.08);transition:transform 1.8s cubic-bezier(.2,.6,.2,1)}.js .rv.on img{transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .rv{clip-path:none}.js .rv img,.js .hero *{transform:none!important;opacity:1!important}*{transition-duration:.01ms!important}}

/* 可変幅 */
@media (min-width:2000px){:root{--max:1640px}}
@media (max-width:1180px){.nav a.l{padding:0 10px;font-size:15px}.nav a.l::after{left:10px;right:10px}}
@media (max-width:1024px){
  .nav a.l{display:none}.menu{display:block}.nav .cta{margin-left:0}
  .hero{grid-template-columns:1fr;min-height:0}
  .h-img{order:-1;margin:0 0 0 var(--gut);height:clamp(280px,56vw,560px);min-height:0}
  .h-img figcaption{left:auto;right:var(--gut)}
  .h-txt{padding:clamp(56px,8vw,88px) var(--gut) clamp(64px,9vw,104px)}
  .blk{left:0;height:30%}
  .about,.svc-hd,.str{grid-template-columns:1fr}
  .ab-ph{position:relative;top:auto;max-width:520px}
  .svc-side{display:none}
  .row{grid-template-columns:minmax(0,1fr) clamp(48px,6vw,56px);gap:8px 16px}.row .m{grid-column:1}.row .go{grid-row:1/3;grid-column:2}
  .fb-sub{right:0}
  .smp{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr .wrap{grid-template-columns:1fr 1fr}.f-logo{grid-column:1/-1}
}
@media (max-width:720px){.nums{grid-template-columns:1fr}.nums div,.nums div+div{border-left:0;padding-left:0;padding-right:0}.nums div+div{border-top:1px solid var(--line)}.nums div{padding-bottom:24px}.parts{grid-template-columns:1fr}}
@media (max-width:600px){
  .nav .cta{display:none}
  h1 .ob{margin-left:-.45em}
  .row{padding:24px 0}.row.pick::before{left:-12px;right:-12px}
  .contact .wrap{grid-template-columns:1fr}.contact .go{justify-self:start}
  .ftr .wrap{grid-template-columns:1fr}
  .fb-sub{display:none}
}

/* ===== v5: テンプレート固有の意匠を、自社の印（一本の木の6部位と色）に置き換える ===== */
:root{--c-root:#AB9B89;--c-trunk:#2B475C;--c-leaf:#5E8A75;--c-branch:#3B6562;--c-soil:#6E5044;--c-fruit:#A36932}
/* 10/14 ブランドガイドライン v1.2 の色にそろえた(丸の字は 6 色とも白=Naotoさん判断) */
/* 1 ヒーロー: 写真の背後に1枚の縦の面・下端に6色の帯（根・土・幹・枝・葉・実＝10/28 Naotoさん決定・資料と同じ並び） */
.blk,.blk2{display:none}
.pane{position:absolute;right:0;top:0;bottom:0;width:calc(100% / 11.2 * 6.2 - clamp(40px,4vw,80px));background:var(--mist)}
.tc{position:absolute;left:0;right:0;bottom:0;height:5px;display:grid;grid-template-columns:repeat(6,1fr);z-index:3}
.tc i:nth-child(1){background:var(--c-root)}.tc i:nth-child(2){background:var(--c-soil)}.tc i:nth-child(3){background:var(--c-trunk)}.tc i:nth-child(4){background:var(--c-branch)}.tc i:nth-child(5){background:var(--c-leaf)}.tc i:nth-child(6){background:var(--c-fruit)}
.h-img{margin-bottom:clamp(40px,4vw,64px)}
/* 2 節の見出しの印 */
.sh .jp::before,.contact .jp::before{display:none}
.pt{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--c);color:#fff;font-size:13px;font-weight:700;letter-spacing:0;flex:none}
.pt.lg{width:clamp(36px,3vw,44px);height:clamp(36px,3vw,44px);font-size:clamp(14px,.3vw + 13px,17px)}
/* 3 ボタン: 内側の矢印＋左から満ちる面 */
.btn{gap:18px;padding:0 26px;overflow:hidden;isolation:isolate}
.btn::after{content:"";position:absolute;inset:0;right:auto;top:0;width:0;height:100%;background:var(--sage);z-index:-1;transition:width .5s cubic-bezier(.6,0,.2,1)}
.btn:hover{background:var(--deep)}.btn:hover::after{width:100%}
.btn i{font-style:normal;font-family:var(--en);transition:transform .4s cubic-bezier(.6,0,.2,1)}.btn:hover i{transform:translateX(4px)}
.btn.inv{background:var(--paper);color:var(--deep)}.btn.inv::after{background:#fff}
/* 4 事業の行 */
.row{grid-template-columns:auto minmax(0,1.25fr) minmax(0,1fr) auto}
.row .pr{font-size:clamp(14px,.15vw + 13.5px,16px);font-weight:700;margin-top:10px;letter-spacing:.04em;font-feature-settings:"palt"}
.row .pr i{font-style:normal;color:var(--line);margin:0 .5em;font-weight:400}
.row .go{width:auto;aspect-ratio:auto;border-radius:0;background:none;color:var(--deep);font-family:var(--jp);font-size:var(--fs-small);font-weight:700;letter-spacing:.12em;display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid currentColor;padding-bottom:4px}
.row .go i{font-style:normal;font-family:var(--en);transition:transform .4s cubic-bezier(.6,0,.2,1)}
.row:hover .go{background:none;transform:none;color:var(--sage-t)}.row:hover .go i{transform:translateX(4px)}
/* 5 相談の帯: 和文の見出し＋ボタン＋メール */
.contact{background:var(--deep);color:#F3F1EA}
.contact .wrap{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:clamp(32px,5vw,96px)}
.contact .jp{gap:12px}
.ct-h{font-size:clamp(28px,1.8vw + 20px,54px);letter-spacing:.1em;margin-top:clamp(16px,1.6vw,24px)}
.contact p.t{color:#D5DDD6}
.ct-r{display:grid;gap:18px;justify-items:start}
.ct-r .btn{margin-top:0;min-width:clamp(260px,22vw,320px)}
.mail{font-size:var(--fs-small);color:#D5DDD6;letter-spacing:.08em}.mail span{color:#fff;font-family:var(--en);letter-spacing:.04em;user-select:all}
.ftr{border-top:0}
@media (max-width:1024px){.pane{width:auto;left:var(--gut);top:0;bottom:auto;height:clamp(280px,56vw,560px)}.row{grid-template-columns:auto minmax(0,1fr) auto}.row .m{grid-column:2}.row .go{grid-column:3;grid-row:1/3}.contact .wrap{grid-template-columns:1fr}}
@media (max-width:600px){.row{grid-template-columns:auto minmax(0,1fr);gap:8px 14px}.row .go{grid-column:2;grid-row:auto;justify-self:start}.row .m{grid-column:2}.pt.lg{width:34px;height:34px;font-size:14px}}
@media (max-width:1024px){.tc{height:4px}.hero{padding-bottom:clamp(20px,4vw,40px)}}

/* v5.1: 英字の大見出し＝塗り（セージの淡色）・ABOUTは色の帯の下に・小見出しをサブタイトルに */
:root{--big:#C9D3C6;--big-bg:#FAF9F5}
.sh .big{color:var(--big);-webkit-text-stroke:0;font-weight:600;letter-spacing:.01em;opacity:1}
.bg .sh .big{color:var(--big);-webkit-text-stroke:0;opacity:1}
#about{padding-top:clamp(56px,5vw,96px)}
#about .sh .big{margin-top:0}
.sh .jp,.contact .jp{font-size:clamp(16px,.35vw + 14.6px,20px);font-weight:700;letter-spacing:.18em;color:var(--deep);gap:0;margin-top:clamp(14px,1.2vw,20px)}
.contact .jp{color:#CFE0D3}
.sh .big::before{content:attr(data-w)}


/* ===== v5.2 Fable視覚レビュー（10/7）への対応 ===== */
/* 必1 ナビで節へ移動したとき英字大見出しが固定ヘッダーに隠れない */
html{scroll-padding-top:calc(var(--hh) + .5 * clamp(56px,6.4vw + 20px,150px))}
/* 必2 1640px〜 ヒーローの左端を本文の左端に揃える */
.h-txt{padding-left:max(var(--gut),calc((100vw - var(--max)) / 2 + var(--gut)))}
/* 必3 1文字だけの孤立行をなくす */
.h-sub{text-wrap:balance}p,.parts span,.smp span,.nums p{text-wrap:pretty}
@media (max-width:600px){.h-sub .nw{display:inline}}
/* 必4 375のSAMPLEを1列に */
@media (max-width:480px){.smp{grid-template-columns:1fr}}
/* 必5 375のSERVICE丸印を見出しの行に */
@media (max-width:600px){.row{align-items:start}.pt.lg{margin-top:-3px}}
/* 任1 721〜1024のABOUTは2段のまま（空きをなくす） */
@media (min-width:721px) and (max-width:1024px){.about{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}.ab-ph{max-width:none}.parts{grid-template-columns:1fr}}
/* 任2 SERVICE右の淡い面を「詳しく」の列だけに（文字列を横切らない） */
.svc-side{width:clamp(96px,10vw,140px)}
/* 任3 「FEATHER BE」ラベルを左下へ（差し込み写真と重ならない） */
.fb-ph .lab{right:auto;left:clamp(40px,3.8vw,64px)}
/* 任4 375のABOUTの面を右端まで */
@media (max-width:600px){.ab-ph::before{right:calc(-1 * var(--gut))}}
/* 任5 860px以下は強みの数字を1列に（見出し2行のズレを防ぐ） */
@media (max-width:860px){.nums{grid-template-columns:1fr}.nums div,.nums div+div{border-left:0;padding-left:0;padding-right:0}.nums div+div{border-top:1px solid var(--line)}.nums div{padding-bottom:24px}}
html,body{overflow-x:clip}
/* フッターのリンクのタップ領域を広げる（10/7 Fable） */
.ftr li a,.ftr .copy a{display:inline-block;padding:6px 0}

/* 10/14 スマホの縦の長さを詰める(Naotoさん「推奨でGO」+制作見本の2列): 余白はスマホ実測221件の中央値56px/ABOUTは丸・見出しだけを細い縦線でつなぐ/SERVICEは主なメニューを事業内容ページに任せる/フッターは2列 */
@media (max-width:600px){
  :root{--sec:56px}
  .parts li{position:relative;padding:10px 0;border-bottom:0}
  .parts li:not(:last-child)::after{content:"";position:absolute;left:18.5px;top:52px;bottom:-6px;width:1px;background:var(--line)}
  .parts span:not(.k){display:none}
  .parts{padding-top:6px}
  .ab-soil{margin-top:12px;padding:14px 16px}
  .ab-soil span:not(.k){display:none}
  .row .m{display:none}
  .ftr .wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:16px}
  .ftr .f-logo,.ftr .copy{grid-column:1/-1}
  /* 制作見本: 2列(画像3:2は保つ・字を一段小さく) */
  .smp{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px;margin-top:28px}
  .smp b{font-size:14px;margin-top:10px;letter-spacing:.04em;line-height:1.5}
  .smp span{margin-top:3px;font-size:12px;line-height:1.6;letter-spacing:.02em;word-break:keep-all;overflow-wrap:anywhere}
  .smp-f{margin-top:24px}
  /* 私たちの強み: 数字は左・説明は右の横組みに/現場のタグを一段小さく/間の余白を詰める */
  .str{margin-top:28px;gap:24px}
  .fb-tx p{margin-top:14px}
  .fields{gap:6px;margin-top:16px}
  .fields span{font-size:12px;padding:3px 10px;letter-spacing:.04em}
  .fb-tx .btn{margin-top:22px}
  .nums{margin-top:40px}
  .nums div,.nums div+div{display:grid;grid-template-columns:88px minmax(0,1fr);column-gap:14px;align-items:start;padding:18px 0}
  .nums .n{grid-column:1;grid-row:1/3;font-size:34px;line-height:1.05}
  .nums h3{grid-column:2;grid-row:1;margin-top:0;font-size:15px;letter-spacing:.06em;line-height:1.5}
  .nums p:not(.n){grid-column:2;grid-row:2;margin-top:4px;line-height:1.7}
}

/* 10/14 改行位置をそろえる(Naotoさん「幅を統一。どの画角でも」): ①本文の text-wrap:pretty をやめる(iPhone の Safari は段落全体の行末を揃えにいき、右端が手前で折れていた)②段落は置かれた枠いっぱいに(個別の最大幅 26em/34em を外す。枠が広すぎる下層の導入文だけ PC で共通の 34rem)③導入文の途中で改行させない指定を外す。見出しの balance はそのまま */
:root{--measure:34rem}
p,li,dd,.parts span,.ab-soil span,.smp span,.nums p,.h-sub{text-wrap:wrap}
.h-sub,.contact p.t{max-width:none}
.h-sub .nw{display:inline}

/* 10/14 トップの事業内容: 画面の中央に来た行が「育つ」(Naotoさん「色を抜いてシンプルになったので、中央に来たら色が変わるなど」)。番号=木の緑→琥珀(10/14 Naotoさん「ベースを緑、中央寄りでオレンジ系に」)・行の上端に琥珀の線が左から伸びる・矢印が少し進む。線は 0.9 秒・色は 0.6 秒(演出実測 11 サイトの出現の中央値 0.6 秒) */
.js .rows .row .no{color:var(--c-leaf);transition:color .6s cubic-bezier(.2,.6,.2,1)}
.js .rows .row.is-on .no{color:var(--c-fruit)}
.js .rows .row::after{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--c-fruit);transform:scaleX(0);transform-origin:left center;transition:transform .9s cubic-bezier(.7,0,.2,1);pointer-events:none}
.js .rows .row.is-on::after{transform:scaleX(1)}
.js .rows .row .go{transition:color .6s cubic-bezier(.2,.6,.2,1)}
.js .rows .row.is-on .go{color:var(--sage-t)}
.js .rows .row.is-on .go i{transform:translateX(4px)}

/* 10/14 ヒーローの見出しを 1 行に(Naotoさん「できれば 1 行で。その分、適切な行間を」): 文字の大きさを列の幅に合わせる(1 行の幅=約 14 字分 → 7cqi)。これまでの上限(clamp)は残す。入りきらない文言のときは自然に 2 行になる。上下の間隔を広げる */
.h-txt{container-type:inline-size}
.hero h1{font-size:min(clamp(30px,1.6vw + 21px,60px),7cqi);line-height:1.5;margin-top:clamp(24px,2.6vw,44px)}
.hero h1 .ln{display:inline-block;vertical-align:top}
.hero .h-sub{margin-top:clamp(26px,2.8vw,48px)}
.hero h1 em{background:linear-gradient(transparent 68%,rgba(210,134,64,.38) 68%)} /* 10/14 Naotoさん「共感の根のアンダーラインを琥珀に」→ 同日「アンバーは少し暗い。ブランドカラーのオレンジ寄りに」=明るい琥珀 #D28640(ガイドラインの「強調の印・線」の色) */
@media (max-width:600px){.h-k{gap:4px 8px;letter-spacing:.02em}.h-k::before{width:18px}} /* 冒頭の英字の行をスマホで 1 行に */

/* 10/14 Naotoさん: ①本文の <em> を色のアンダーライン(琥珀・見出しの『共感の根』と同じ考え方)に。文言は管理画面の「文言(ページ別)」で <em>…</em> を付けた所だけ ②PICK UP の背景が上下の線より左右にはみ出していた → 背景は線の幅ちょうどに、5 行とも中身を左右に少し内側へ(番号の位置はそろったまま) */
main p em{font-style:normal;color:var(--ink);background:linear-gradient(transparent 62%,rgba(210,134,64,.34) 62%);padding:0 .04em}
.rows .row{padding-inline:clamp(12px,1.6vw,28px)}
.rows .row.pick::before{left:0;right:0}

/* 10/14 追従ボタン(Naotoさん「各ページに追従ボタン。PC とモバイルでそれぞれベストに」): 学習データの BtoB の型=PC は右端の縦書きタブ 2 枚・スマホは下端の 2 分割バー(スマホ実測 221 件の中央値 62px/地域の事業者 17 件中 5 件)。色は相談=深緑・もう一つ=紙の色。1 画面目の後に出し、相談の帯とフッターでは引っ込める */
.fcta{position:fixed;z-index:45;right:0;top:50%;display:flex;flex-direction:column;transform:translate(110%,-50%);transition:transform .5s cubic-bezier(.2,.7,.1,1);box-shadow:-6px 8px 24px rgba(30,31,29,.08)}
.fcta.on{transform:translate(0,-50%)}
.fcta a{display:flex;flex-direction:column;align-items:center;gap:12px;width:54px;padding:20px 0 22px;font-weight:700;font-size:14px;letter-spacing:.22em;line-height:1;transition:background .3s,color .3s}
.fcta a span:not(.vh){writing-mode:vertical-rl}
.fcta svg{width:20px;height:20px;flex:none}
@media (max-width:1180px){.fcta a{width:46px;font-size:13px;padding:16px 0 18px;gap:10px}.fcta svg{width:18px;height:18px}}
.fcta-c{background:var(--deep);color:#fff}.fcta-c:hover{background:var(--sage)}
.fcta-s{background:var(--paper);color:var(--deep);border:1px solid var(--line);border-right:0;border-top:0}.fcta-s:hover{background:var(--ground)}
.fcta a:focus-visible{outline:2px solid var(--c-fruit);outline-offset:-4px}
.m-open .fcta{visibility:hidden}
@media (max-width:600px){
  .fcta{left:0;top:auto;bottom:0;flex-direction:row;transform:translateY(110%);background:var(--paper);box-shadow:0 -1px 0 var(--line),0 -6px 20px rgba(30,31,29,.06);padding-bottom:env(safe-area-inset-bottom,0px)}
  .fcta.on{transform:none}
  .fcta a span:not(.vh){writing-mode:horizontal-tb}
  .fcta a{flex-direction:row;justify-content:center;gap:8px;width:auto;height:58px;padding:0 10px;font-size:14px;letter-spacing:.08em}
  .fcta svg{width:18px;height:18px}
  .fcta-s{order:0;flex:1;border:0}.fcta-c{order:1;flex:1}
}

/* ===== ロゴ(2026-10-14 会社ロゴ v7.6: ヘッダー=極小用マーク+英字/フッター=副題つき) ===== */
.logo picture{display:block;line-height:0}.logo img.logo-img{width:auto;height:clamp(40px,3.9vw,56px)}
.f-logo img.f-logo-img{width:clamp(230px,21vw,290px);height:auto}
/* ===== WordPress 用（ブロックテーマの外枠を消す） ===== */
.wp-site-blocks{padding:0!important}
:where(.wp-site-blocks)>*{margin-block-start:0!important;margin-block-end:0}
.wbr-main,.wbr-main>*{margin-block-start:0;margin-block-end:0}
.wp-block-template-part.hdr{margin:0}

/* Feather Be の動画（写真と同じく枠いっぱい・10/20） */
.fb-vid{display:block;width:100%;height:100%;object-fit:cover;background:#1E1F1D}

/* ===== WBR-CN-20261028 トップ「地域のつながり」誘導の帯 ===== */
.cn-band{padding-block:clamp(64px,6vw,120px)}
.cn-band-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,96px);align-items:center}
.cn-band .cn-lb{font-weight:700;font-size:clamp(13px,.15vw + 12.4px,14.5px);letter-spacing:.2em;color:var(--sage-t)}
.cn-band h2{font-size:var(--fs-h2);letter-spacing:.12em;line-height:1.55;margin-top:.5em}
.cn-band-t{color:var(--ink2);margin-top:1em;max-width:30em}
.cn-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cn-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1em;align-items:baseline;padding:1.1em 0;border-bottom:1px solid var(--line)}
.cn-list li b{font-size:clamp(17px,.5vw + 15px,21px);letter-spacing:.06em}
.cn-list li>span{font-size:clamp(13px,.15vw + 12.4px,14.5px);color:var(--ink2);white-space:nowrap}
.cn-list li.more b{font-weight:500;color:var(--ink2);font-size:clamp(13px,.15vw + 12.4px,14.5px)}
.cn-btn{margin-top:28px}
@media (max-width:820px){.cn-band-g{grid-template-columns:minmax(0,1fr)}.cn-btn{width:100%}}

/* WBR-WIDE-20261029 1600px より広い画面だけ: 中身の幅を画面の約 79% まで・文字と余白を 2560px で 1.15 倍まで(1600px で今と同じ)。_wide1029.py が書き出す */
@media (min-width:1601px){
:root{--gut:max(clamp(20px,5vw,100px), min(calc(80px + (100vw - 1600px) * 0.03646), 115px));--max:min(calc(1440px + (100vw - 1600px) * .6), 2016px);--hh:max(clamp(64px,5.6vw,80px), min(calc(80px + (100vw - 1600px) * 0.0125), 92px));--fs-body:max(clamp(15px,.25vw + 14px,18px), min(calc(18px + (100vw - 1600px) * 0.00281), 20.7px));--fs-lead:max(clamp(16px,.35vw + 14.6px,20px), min(calc(20px + (100vw - 1600px) * 0.00313), 23px));--fs-small:max(clamp(13px,.15vw + 12.4px,14.5px), min(calc(14.5px + (100vw - 1600px) * 0.00227), 16.675px));--fs-h2:max(clamp(24px,1vw + 20px,40px), min(calc(36px + (100vw - 1600px) * 0.01042), 46px));--fs-h3:max(clamp(20px,.55vw + 18px,28px), min(calc(26.8px + (100vw - 1600px) * 0.00562), 32.2px));--sec:max(clamp(96px,8vw + 48px,180px), min(calc(176px + (100vw - 1600px) * 0.03229), 207px))}
*{margin:0;padding:0}
body{font-size:var(--fs-body)}
img{max-width:100%;height:auto}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.skip{left:-999px;top:min(calc(8px + (100vw - 1600px) * 0.00125), 9.2px);padding:min(calc(8px + (100vw - 1600px) * 0.00125), 9.2px) min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px)}
.skip:focus{left:min(calc(8px + (100vw - 1600px) * 0.00125), 9.2px)}
.hdr{top:env(safe-area-inset-top,0px);height:var(--hh);padding-left:var(--gut)}
.logo{gap:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px);min-width:0}
.logo img{width:max(clamp(28px,2.4vw,36px), min(calc(36px + (100vw - 1600px) * 0.00562), 41.4px))}
.logo b{font-size:max(clamp(12px,.3vw + 11px,14px), min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px))}
.logo small{font-size:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px)}
.nav{height:100%}
.nav a.l{font-size:max(clamp(15px,.3vw + 13px,18px), min(calc(17.8px + (100vw - 1600px) * 0.00302), 20.7px));padding:0 max(clamp(12px,1.2vw,20px), min(calc(19.2px + (100vw - 1600px) * 0.00396), 23px))}
.nav a.l::after{left:max(clamp(12px,1.2vw,20px), min(calc(19.2px + (100vw - 1600px) * 0.00396), 23px));right:max(clamp(12px,1.2vw,20px), min(calc(19.2px + (100vw - 1600px) * 0.00396), 23px));bottom:max(calc(-6px + (100vw - 1600px) * -0.00094), -6.9px);height:1.5px}
.nav .cta{height:100%;padding:0 max(clamp(20px,2.2vw,36px), min(calc(35.2px + (100vw - 1600px) * 0.00646), 41.4px));font-size:min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px);margin-left:max(clamp(8px,1vw,16px), min(calc(16px + (100vw - 1600px) * 0.0025), 18.4px))}
.menu{width:var(--hh);height:100%}
.menu i{width:min(calc(22px + (100vw - 1600px) * 0.00344), 25.3px);height:1.5px;margin:0 auto}
.menu i+i{margin-top:min(calc(7px + (100vw - 1600px) * 0.00109), 8.05px)}
.sheet{top:100%;left:0;right:0;height:calc(100dvh - var(--hh));padding:max(clamp(32px,8vw,64px), min(calc(64px + (100vw - 1600px) * 0.01), 73.6px)) var(--gut)}
.sheet a{padding:min(calc(18px + (100vw - 1600px) * 0.00281), 20.7px) 0;font-size:min(calc(17px + (100vw - 1600px) * 0.00266), 19.55px)}
.sheet a span{font-size:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px)}
.sheet .cta2{margin-top:min(calc(28px + (100vw - 1600px) * 0.00437), 32.2px)}
.hero{grid-template-columns:minmax(0,5fr) minmax(0,6.2fr);min-height:min(calc(100svh - var(--hh)),960px)}
.blk{left:20%;right:0;bottom:0;height:42%}
.blk2{right:0;bottom:0;width:15%;height:14%}
.h-txt{padding:max(clamp(48px,5vw,96px), min(calc(80px + (100vw - 1600px) * 0.03167), 110.4px)) max(clamp(24px,3.4vw,64px), min(calc(54.4px + (100vw - 1600px) * 0.02), 73.6px)) max(clamp(56px,5vw,96px), min(calc(80px + (100vw - 1600px) * 0.03167), 110.4px)) var(--gut)}
.h-k{gap:min(calc(4px + (100vw - 1600px) * 0.00062), 4.6px) min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px);font-size:max(clamp(13px,.35vw + 11.5px,18px), min(calc(17.1px + (100vw - 1600px) * 0.00375), 20.7px))}
.h-k::before{width:min(calc(28px + (100vw - 1600px) * 0.00437), 32.2px);height:1px}
.h-k .jp{font-size:max(12px,.92em)}
h1{font-size:max(clamp(30px,1.6vw + 21px,60px), min(calc(46.6px + (100vw - 1600px) * 0.02333), 69px));margin-top:max(clamp(20px,2vw,34px), min(calc(32px + (100vw - 1600px) * 0.0074), 39.1px))}
h1 .ln{padding-bottom:.08em}
h1 .ob{margin-left:-.5em}
h1 em{padding:0 .04em}
.h-sub{margin-top:max(clamp(22px,2vw,36px), min(calc(32px + (100vw - 1600px) * 0.00979), 41.4px));font-size:var(--fs-lead);max-width:26em}
.btn{min-width:max(clamp(220px,18vw,260px), min(calc(260px + (100vw - 1600px) * 0.04063), 299px));height:max(clamp(54px,4.2vw,60px), min(calc(60px + (100vw - 1600px) * 0.00937), 69px));font-size:max(clamp(14px,.2vw + 13px,16px), min(calc(16px + (100vw - 1600px) * 0.0025), 18.4px));margin-top:max(clamp(32px,3vw,48px), min(calc(48px + (100vw - 1600px) * 0.0075), 55.2px))}
.btn::after{right:max(calc(-20px + (100vw - 1600px) * -0.00313), -23px);top:50%;width:min(calc(40px + (100vw - 1600px) * 0.00625), 46px);height:1px}
.btn:hover::after{width:min(calc(64px + (100vw - 1600px) * 0.01), 73.6px)}
.h-img{margin-top:max(clamp(28px,3vw,40px), min(calc(40px + (100vw - 1600px) * 0.00625), 46px));height:min(calc(100svh - var(--hh) - 120px),720px);min-height:min(calc(420px + (100vw - 1600px) * 0.06562), 483px)}
.h-img img{width:100%;height:100%}
.h-img figcaption{left:0;bottom:0;font-size:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px)}
.h-img .ph{height:100%}
.sec{padding-block:var(--sec)}
.sh .big{font-size:max(clamp(56px,6.4vw + 20px,150px), min(calc(122.4px + (100vw - 1600px) * 0.05219), 172.5px));margin-top:calc(-1 * var(--sec) - .44em)}
.sh .jp{gap:min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px);font-size:max(clamp(14px,.2vw + 13px,16px), min(calc(16px + (100vw - 1600px) * 0.0025), 18.4px));margin-top:max(clamp(16px,1.4vw,24px), min(calc(22.4px + (100vw - 1600px) * 0.00542), 27.6px))}
.sh .jp::before{width:min(calc(28px + (100vw - 1600px) * 0.00437), 32.2px);height:1px}
.h2{font-size:var(--fs-h2)}
.about{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:max(clamp(40px,6vw,120px), min(calc(96px + (100vw - 1600px) * 0.04375), 138px));margin-top:max(clamp(48px,4.6vw,80px), min(calc(73.6px + (100vw - 1600px) * 0.01917), 92px))}
.ab-ph{top:calc(var(--hh) + 32px)}
.ab-ph::before{left:max(clamp(16px,1.6vw,28px), min(calc(25.6px + (100vw - 1600px) * 0.00687), 32.2px));top:max(clamp(16px,1.6vw,28px), min(calc(25.6px + (100vw - 1600px) * 0.00687), 32.2px));right:min(calc(-1 * clamp(16px,1.6vw,28px)), max(calc(-25.6px + (100vw - 1600px) * -0.00687), -32.2px));bottom:min(calc(-1 * clamp(16px,1.6vw,28px)), max(calc(-25.6px + (100vw - 1600px) * -0.00687), -32.2px))}
.ab-ph figcaption{margin-top:max(clamp(24px,2.2vw,40px), min(calc(35.2px + (100vw - 1600px) * 0.01125), 46px));font-size:var(--fs-small)}
.ab-tx .lead{font-size:var(--fs-lead);margin-top:max(clamp(22px,2vw,32px), min(calc(32px + (100vw - 1600px) * 0.005), 36.8px))}
.ab-tx p.b{margin-top:max(clamp(16px,1.4vw,22px), min(calc(22px + (100vw - 1600px) * 0.00344), 25.3px))}
.parts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 max(clamp(24px,3vw,56px), min(calc(48px + (100vw - 1600px) * 0.01708), 64.4px));margin-top:max(clamp(36px,3.4vw,56px), min(calc(54.4px + (100vw - 1600px) * 0.01042), 64.4px))}
.parts li{grid-template-columns:auto minmax(0,1fr);gap:min(calc(4px + (100vw - 1600px) * 0.00062), 4.6px) min(calc(16px + (100vw - 1600px) * 0.0025), 18.4px);padding:max(clamp(20px,1.8vw,28px), min(calc(28px + (100vw - 1600px) * 0.00437), 32.2px)) 0}
.parts .k{width:max(clamp(38px,3vw,46px), min(calc(46px + (100vw - 1600px) * 0.00719), 52.9px));font-size:max(clamp(15px,.3vw + 14px,18px), min(calc(18px + (100vw - 1600px) * 0.00281), 20.7px))}
.parts b{font-size:max(clamp(16px,.3vw + 15px,19px), min(calc(19px + (100vw - 1600px) * 0.00297), 21.85px))}
.parts b small{font-size:var(--fs-small)}
.parts span:not(.k){font-size:var(--fs-small)}
.ab-soil{grid-template-columns:auto minmax(0,1fr);gap:min(calc(4px + (100vw - 1600px) * 0.00062), 4.6px) min(calc(16px + (100vw - 1600px) * 0.0025), 18.4px);margin-top:max(clamp(14px,1.2vw,20px), min(calc(19.2px + (100vw - 1600px) * 0.00396), 23px));padding:max(clamp(18px,1.6vw,24px), min(calc(24px + (100vw - 1600px) * 0.00375), 27.6px)) max(clamp(18px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px))}
.ab-soil .k{width:max(clamp(38px,3vw,46px), min(calc(46px + (100vw - 1600px) * 0.00719), 52.9px));font-size:max(clamp(15px,.3vw + 14px,18px), min(calc(18px + (100vw - 1600px) * 0.00281), 20.7px))}
.ab-soil b{font-size:max(clamp(16px,.3vw + 15px,19px), min(calc(19px + (100vw - 1600px) * 0.00297), 21.85px))}
.ab-soil b small{font-size:var(--fs-small)}
.ab-soil span:not(.k){font-size:var(--fs-small)}
.ab-more{margin-top:max(clamp(28px,2.6vw,40px), min(calc(40px + (100vw - 1600px) * 0.00625), 46px))}
.ab-more,.smp-f a.go2{gap:min(calc(20px + (100vw - 1600px) * 0.00313), 23px);min-width:max(clamp(220px,18vw,250px), min(calc(250px + (100vw - 1600px) * 0.03906), 287.5px));min-height:min(calc(52px + (100vw - 1600px) * 0.00812), 59.8px);padding:0 min(calc(22px + (100vw - 1600px) * 0.00344), 25.3px) 0 min(calc(26px + (100vw - 1600px) * 0.00406), 29.9px);font-size:max(clamp(14px,.2vw + 13px,15px), min(calc(15px + (100vw - 1600px) * 0.00234), 17.25px))}
.ab-more::after,.smp-f a.go2::after{inset:0;width:0;height:100%}
.ab-more:hover::after,.smp-f a.go2:hover::after{width:100%}
.vh{width:1px;height:1px}
.svc-side{right:0;top:0;bottom:0;width:30%}
.svc-hd{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:max(clamp(24px,5vw,96px), min(calc(80px + (100vw - 1600px) * 0.03167), 110.4px));margin-top:max(clamp(40px,4vw,64px), min(calc(64px + (100vw - 1600px) * 0.01), 73.6px))}
.rows{margin-top:max(clamp(40px,4vw,64px), min(calc(64px + (100vw - 1600px) * 0.01), 73.6px))}
.row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) max(clamp(56px,5vw,72px), min(calc(72px + (100vw - 1600px) * 0.01125), 82.8px));gap:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px) max(clamp(20px,2.4vw,40px), min(calc(38.4px + (100vw - 1600px) * 0.00792), 46px));padding:max(clamp(28px,2.4vw,36px), min(calc(36px + (100vw - 1600px) * 0.00562), 41.4px)) 0}
.row h3{font-size:var(--fs-h3)}
.row .no{min-width:2.2em;font-size:max(clamp(22px,.6vw + 18px,30px), min(calc(27.6px + (100vw - 1600px) * 0.00719), 34.5px))}
.row p{font-size:var(--fs-small);margin-top:min(calc(8px + (100vw - 1600px) * 0.00125), 9.2px)}
.row .m b{gap:min(calc(10px + (100vw - 1600px) * 0.00156), 11.5px);font-size:max(clamp(13px,.15vw + 12.5px,15px), min(calc(14.9px + (100vw - 1600px) * 0.00245), 17.25px))}
.row .m b::before{width:min(calc(18px + (100vw - 1600px) * 0.00281), 20.7px);height:1px}
.chips{gap:min(calc(8px + (100vw - 1600px) * 0.00125), 9.2px);margin-top:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px)}
.chips span{font-size:min(calc(13px + (100vw - 1600px) * 0.00203), 14.95px);padding:min(calc(4px + (100vw - 1600px) * 0.00062), 4.6px) min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px)}
.row .go{width:max(clamp(52px,4.8vw,70px), min(calc(70px + (100vw - 1600px) * 0.01094), 80.5px));font-size:min(calc(16px + (100vw - 1600px) * 0.0025), 18.4px)}
.row.pick::before{top:0;bottom:0;left:min(calc(-1 * clamp(16px,1.6vw,28px)), max(calc(-25.6px + (100vw - 1600px) * -0.00687), -32.2px));right:min(calc(-1 * clamp(16px,1.6vw,28px)), max(calc(-25.6px + (100vw - 1600px) * -0.00687), -32.2px))}
.pk{gap:min(calc(8px + (100vw - 1600px) * 0.00125), 9.2px);font-size:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px);padding:min(calc(3px + (100vw - 1600px) * 0.00047), 3.45px) min(calc(10px + (100vw - 1600px) * 0.00156), 11.5px);margin-bottom:min(calc(10px + (100vw - 1600px) * 0.00156), 11.5px)}
.row.pick .fb{font-size:var(--fs-small);margin-top:min(calc(6px + (100vw - 1600px) * 0.00094), 6.9px)}
.str{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:max(clamp(36px,5vw,96px), min(calc(80px + (100vw - 1600px) * 0.03167), 110.4px));margin-top:max(clamp(48px,4.6vw,80px), min(calc(73.6px + (100vw - 1600px) * 0.01917), 92px))}
.fb-ph img{width:100%;height:100%}
.fb-ph i{width:max(clamp(22px,2vw,34px), min(calc(32px + (100vw - 1600px) * 0.0074), 39.1px));height:max(clamp(22px,2vw,34px), min(calc(32px + (100vw - 1600px) * 0.0074), 39.1px))}
.fb-ph .c1{left:max(clamp(14px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px));top:max(clamp(14px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px))}
.fb-ph .c2{right:max(clamp(14px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px));top:max(clamp(14px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px))}
.fb-ph .c3{left:max(clamp(14px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px));bottom:max(clamp(14px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px))}
.fb-ph .c4{right:max(clamp(14px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px));bottom:max(clamp(14px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px))}
.fb-ph .rec{left:max(clamp(40px,3.8vw,64px), min(calc(60.8px + (100vw - 1600px) * 0.01333), 73.6px));top:max(clamp(16px,1.7vw,28px), min(calc(27.2px + (100vw - 1600px) * 0.00521), 32.2px));font-size:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px);gap:min(calc(8px + (100vw - 1600px) * 0.00125), 9.2px)}
.fb-ph .rec::before{width:min(calc(7px + (100vw - 1600px) * 0.00109), 8.05px);height:min(calc(7px + (100vw - 1600px) * 0.00109), 8.05px)}
.fb-ph .lab{right:max(clamp(40px,3.8vw,64px), min(calc(60.8px + (100vw - 1600px) * 0.01333), 73.6px));bottom:max(clamp(16px,1.7vw,28px), min(calc(27.2px + (100vw - 1600px) * 0.00521), 32.2px));font-size:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px)}
.fb-sub{right:min(calc(-1 * clamp(0px,2vw,40px)), max(calc(-32px + (100vw - 1600px) * -0.01458), -46px));bottom:min(calc(-1 * clamp(28px,3vw,56px)), max(calc(-48px + (100vw - 1600px) * -0.01708), -64.4px));width:36%}
.fb-sub img{width:100%;height:100%}
.fb-tx .tag{font-size:max(clamp(12px,.2vw + 11.5px,14px), min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px))}
.fb-tx .fbh{font-size:var(--fs-h2);margin-top:min(calc(10px + (100vw - 1600px) * 0.00156), 11.5px)}
.fb-tx p{margin-top:max(clamp(18px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px))}
.fields{gap:min(calc(8px + (100vw - 1600px) * 0.00125), 9.2px);margin-top:max(clamp(20px,1.8vw,28px), min(calc(28px + (100vw - 1600px) * 0.00437), 32.2px))}
.fields span{font-size:min(calc(13px + (100vw - 1600px) * 0.00203), 14.95px);padding:min(calc(4px + (100vw - 1600px) * 0.00062), 4.6px) min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px)}
.fb-tx .btn{margin-top:max(clamp(28px,2.6vw,40px), min(calc(40px + (100vw - 1600px) * 0.00625), 46px))}
.nums{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:max(clamp(72px,7vw,128px), min(calc(112px + (100vw - 1600px) * 0.03667), 147.2px))}
.nums div{padding:max(clamp(26px,2.4vw,36px), min(calc(36px + (100vw - 1600px) * 0.00562), 41.4px)) max(clamp(18px,2vw,30px), min(calc(30px + (100vw - 1600px) * 0.00469), 34.5px)) min(calc(4px + (100vw - 1600px) * 0.00062), 4.6px) 0}
.nums div+div{padding-left:max(clamp(18px,2vw,30px), min(calc(30px + (100vw - 1600px) * 0.00469), 34.5px))}
.nums .n{font-size:max(clamp(40px,2.6vw + 18px,76px), min(calc(59.6px + (100vw - 1600px) * 0.02896), 87.4px))}
.nums .n small{font-size:.36em;margin-left:min(calc(4px + (100vw - 1600px) * 0.00062), 4.6px)}
.nums h3{font-size:max(clamp(16px,.3vw + 15px,19px), min(calc(19px + (100vw - 1600px) * 0.00297), 21.85px));margin-top:min(calc(18px + (100vw - 1600px) * 0.00281), 20.7px)}
.nums p{font-size:var(--fs-small);margin-top:min(calc(6px + (100vw - 1600px) * 0.00094), 6.9px)}
.smp{grid-template-columns:repeat(4,minmax(0,1fr));gap:max(clamp(16px,2vw,32px), min(calc(32px + (100vw - 1600px) * 0.005), 36.8px));margin-top:max(clamp(40px,4vw,64px), min(calc(64px + (100vw - 1600px) * 0.01), 73.6px))}
.smp a .im img{width:100%;height:100%}
.smp b{font-size:max(clamp(15px,.2vw + 14px,17px), min(calc(17px + (100vw - 1600px) * 0.00266), 19.55px));margin-top:min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px)}
.smp span{font-size:min(calc(13px + (100vw - 1600px) * 0.00203), 14.95px)}
.smp-f{gap:min(calc(16px + (100vw - 1600px) * 0.0025), 18.4px) min(calc(32px + (100vw - 1600px) * 0.005), 36.8px);margin-top:max(clamp(28px,2.6vw,40px), min(calc(40px + (100vw - 1600px) * 0.00625), 46px));padding-top:min(calc(20px + (100vw - 1600px) * 0.00313), 23px);font-size:min(calc(13px + (100vw - 1600px) * 0.00203), 14.95px)}
.contact{padding-block:max(clamp(80px,7vw,140px), min(calc(112px + (100vw - 1600px) * 0.05104), 161px))}
.contact .wrap{grid-template-columns:minmax(0,1fr) auto;gap:min(calc(40px + (100vw - 1600px) * 0.00625), 46px)}
.contact .big{font-size:max(clamp(44px,4vw + 16px,96px), min(calc(80px + (100vw - 1600px) * 0.03167), 110.4px))}
.contact .jp{gap:min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px);font-size:max(clamp(14px,.2vw + 13px,16px), min(calc(16px + (100vw - 1600px) * 0.0025), 18.4px));margin-top:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px)}
.contact .jp::before{width:min(calc(28px + (100vw - 1600px) * 0.00437), 32.2px);height:1px}
.contact p.t{margin-top:min(calc(20px + (100vw - 1600px) * 0.00313), 23px);max-width:34em}
.contact .go{width:max(clamp(80px,7vw,120px), min(calc(112px + (100vw - 1600px) * 0.02708), 138px));font-size:max(clamp(20px,1.6vw,26px), min(calc(25.6px + (100vw - 1600px) * 0.00448), 29.9px))}
.ftr{padding-block:max(clamp(56px,5vw,88px), min(calc(80px + (100vw - 1600px) * 0.02208), 101.2px)) calc(28px + env(safe-area-inset-bottom,0px))}
.ftr .wrap{grid-template-columns:2fr 1fr 1.4fr;gap:max(clamp(28px,4vw,64px), min(calc(64px + (100vw - 1600px) * 0.01), 73.6px))}
.f-logo img{width:max(clamp(56px,5vw,80px), min(calc(80px + (100vw - 1600px) * 0.0125), 92px))}
.f-logo b{margin-top:min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px)}
.f-logo p{font-size:min(calc(13px + (100vw - 1600px) * 0.00203), 14.95px);margin-top:min(calc(6px + (100vw - 1600px) * 0.00094), 6.9px)}
.ftr .fh{font-size:max(clamp(16px,.3vw + 15px,19px), min(calc(19px + (100vw - 1600px) * 0.00297), 21.85px))}
.ftr li{font-size:min(calc(13.5px + (100vw - 1600px) * 0.00211), 15.525px);margin-top:min(calc(8px + (100vw - 1600px) * 0.00125), 9.2px)}
.copy{padding-top:min(calc(22px + (100vw - 1600px) * 0.00344), 25.3px);font-size:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px);gap:min(calc(16px + (100vw - 1600px) * 0.0025), 18.4px)}
@media (min-width:2000px){:root{--max:min(calc(1440px + (100vw - 1600px) * .6), 2016px)}}
.pane{right:0;top:0;bottom:0;width:calc(100% / 11.2 * 6.2 - clamp(40px,4vw,80px))}
.tc{left:0;right:0;bottom:0;height:min(calc(5px + (100vw - 1600px) * 0.00078), 5.75px);grid-template-columns:repeat(6,1fr)}
.h-img{margin-bottom:max(clamp(40px,4vw,64px), min(calc(64px + (100vw - 1600px) * 0.01), 73.6px))}
.pt{width:min(calc(28px + (100vw - 1600px) * 0.00437), 32.2px);height:min(calc(28px + (100vw - 1600px) * 0.00437), 32.2px);font-size:min(calc(13px + (100vw - 1600px) * 0.00203), 14.95px)}
.pt.lg{width:max(clamp(36px,3vw,44px), min(calc(44px + (100vw - 1600px) * 0.00687), 50.6px));height:max(clamp(36px,3vw,44px), min(calc(44px + (100vw - 1600px) * 0.00687), 50.6px));font-size:max(clamp(14px,.3vw + 13px,17px), min(calc(17px + (100vw - 1600px) * 0.00266), 19.55px))}
.btn{gap:min(calc(18px + (100vw - 1600px) * 0.00281), 20.7px);padding:0 min(calc(26px + (100vw - 1600px) * 0.00406), 29.9px)}
.btn::after{inset:0;right:auto;top:0;width:0;height:100%}
.btn:hover::after{width:100%}
.row{grid-template-columns:auto minmax(0,1.25fr) minmax(0,1fr) auto}
.row .pr{font-size:max(clamp(14px,.15vw + 13.5px,16px), min(calc(15.9px + (100vw - 1600px) * 0.0026), 18.4px));margin-top:min(calc(10px + (100vw - 1600px) * 0.00156), 11.5px)}
.row .pr i{margin:0 .5em}
.row .go{width:auto;font-size:var(--fs-small);gap:min(calc(10px + (100vw - 1600px) * 0.00156), 11.5px);padding-bottom:min(calc(4px + (100vw - 1600px) * 0.00062), 4.6px)}
.contact .wrap{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:max(clamp(32px,5vw,96px), min(calc(80px + (100vw - 1600px) * 0.03167), 110.4px))}
.contact .jp{gap:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px)}
.ct-h{font-size:max(clamp(28px,1.8vw + 20px,54px), min(calc(48.8px + (100vw - 1600px) * 0.01385), 62.1px));margin-top:max(clamp(16px,1.6vw,24px), min(calc(24px + (100vw - 1600px) * 0.00375), 27.6px))}
.ct-r{gap:min(calc(18px + (100vw - 1600px) * 0.00281), 20.7px)}
.ct-r .btn{margin-top:0;min-width:max(clamp(260px,22vw,320px), min(calc(320px + (100vw - 1600px) * 0.05), 368px))}
.mail{font-size:var(--fs-small)}
#about{padding-top:max(clamp(56px,5vw,96px), min(calc(80px + (100vw - 1600px) * 0.03167), 110.4px))}
#about .sh .big{margin-top:0}
.sh .jp,.contact .jp{font-size:max(clamp(16px,.35vw + 14.6px,20px), min(calc(20px + (100vw - 1600px) * 0.00313), 23px));gap:0;margin-top:max(clamp(14px,1.2vw,20px), min(calc(19.2px + (100vw - 1600px) * 0.00396), 23px))}
.h-txt{padding-left:max(var(--gut),calc((100vw - var(--max)) / 2 + var(--gut)))}
.svc-side{width:max(clamp(96px,10vw,140px), min(calc(140px + (100vw - 1600px) * 0.02187), 161px))}
.fb-ph .lab{right:auto;left:max(clamp(40px,3.8vw,64px), min(calc(60.8px + (100vw - 1600px) * 0.01333), 73.6px))}
.ftr li a,.ftr .copy a{padding:min(calc(6px + (100vw - 1600px) * 0.00094), 6.9px) 0}
.h-sub,.contact p.t{max-width:none}
.js .rows .row::after{left:0;right:0;top:-1px;height:min(calc(2px + (100vw - 1600px) * 0.00031), 2.3px)}
.hero h1{font-size:min(clamp(30px,1.6vw + 21px,60px),7cqi);margin-top:max(clamp(24px,2.6vw,44px), min(calc(41.6px + (100vw - 1600px) * 0.00937), 50.6px))}
.hero .h-sub{margin-top:max(clamp(26px,2.8vw,48px), min(calc(44.8px + (100vw - 1600px) * 0.01083), 55.2px))}
main p em{padding:0 .04em}
.rows .row{padding-inline:max(clamp(12px,1.6vw,28px), min(calc(25.6px + (100vw - 1600px) * 0.00687), 32.2px))}
.rows .row.pick::before{left:0;right:0}
.fcta{right:0;top:50%}
.fcta a{gap:min(calc(12px + (100vw - 1600px) * 0.00187), 13.8px);width:min(calc(54px + (100vw - 1600px) * 0.00844), 62.1px);padding:min(calc(20px + (100vw - 1600px) * 0.00313), 23px) 0 min(calc(22px + (100vw - 1600px) * 0.00344), 25.3px);font-size:min(calc(14px + (100vw - 1600px) * 0.00219), 16.1px)}
.fcta svg{width:min(calc(20px + (100vw - 1600px) * 0.00313), 23px);height:min(calc(20px + (100vw - 1600px) * 0.00313), 23px)}
.logo img.logo-img{width:auto;height:max(clamp(40px,3.9vw,56px), min(calc(56px + (100vw - 1600px) * 0.00875), 64.4px))}
.f-logo img.f-logo-img{width:max(clamp(230px,21vw,290px), min(calc(290px + (100vw - 1600px) * 0.04531), 333.5px));height:auto}
.wp-site-blocks{padding:0!important}
:where(.wp-site-blocks)>*{margin-block-start:0!important;margin-block-end:0}
.wbr-main,.wbr-main>*{margin-block-start:0;margin-block-end:0}
.wp-block-template-part.hdr{margin:0}
.fb-vid{width:100%;height:100%}
.cn-band{padding-block:max(clamp(64px,6vw,120px), min(calc(96px + (100vw - 1600px) * 0.04375), 138px))}
.cn-band-g{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:max(clamp(28px,5vw,96px), min(calc(80px + (100vw - 1600px) * 0.03167), 110.4px))}
.cn-band .cn-lb{font-size:max(clamp(13px,.15vw + 12.4px,14.5px), min(calc(14.5px + (100vw - 1600px) * 0.00227), 16.675px))}
.cn-band h2{font-size:var(--fs-h2);margin-top:.5em}
.cn-band-t{margin-top:1em;max-width:30em}
.cn-list{margin:0;padding:0}
.cn-list li{grid-template-columns:minmax(0,1fr) auto;gap:1em;padding:1.1em 0}
.cn-list li b{font-size:max(clamp(17px,.5vw + 15px,21px), min(calc(21px + (100vw - 1600px) * 0.00328), 24.15px))}
.cn-list li>span{font-size:max(clamp(13px,.15vw + 12.4px,14.5px), min(calc(14.5px + (100vw - 1600px) * 0.00227), 16.675px))}
.cn-list li.more b{font-size:max(clamp(13px,.15vw + 12.4px,14.5px), min(calc(14.5px + (100vw - 1600px) * 0.00227), 16.675px))}
.cn-btn{margin-top:min(calc(28px + (100vw - 1600px) * 0.00437), 32.2px)}
:root{--max:min(calc(1440px + (100vw - 1600px) * .6), 2016px)}
}
/* WBR-VIDEOSTOP-20261031 映像の止めるボタン(案A)。押せる範囲は44px。地は白い映像の上でも白とのコントラスト比4.0 */
.fb-stop{position:absolute;z-index:3;width:36px;height:36px;margin:0;padding:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(20,22,24,.55);color:#fff;cursor:pointer;transition:background .3s}
.fb-stop::after{content:"";position:absolute;inset:-4px}
.fb-stop svg{display:block;width:13px;height:13px;fill:currentColor}
.fb-stop:hover{background:rgba(20,22,24,.8)}
.fb-stop:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px rgba(20,22,24,.8)}
.fb-ph .fb-stop{top:clamp(20px,2.15vw,34px);right:clamp(20px,2.15vw,34px)}
.lh-ph .fb-stop{left:14px;bottom:14px}
@media print{.fb-stop{display:none}}
