/* 公開サイト（トップ・商品とメニュー・かんたん試算・相談・COTARUについて）の見た目。
   取引先（/app/）・管理（/admin/）には読み込まない。 */

/* ---- 土台 ----
   プレビュー（preview/dist）の CSS のうち、公開ページで実際に効いていた分だけを、元の書き方のまま残したもの。
   ここは触らず、見た目の調整は下の「公開サイト」に足す。 */
:root{--ink:#1f2b24;--sub:#5d6b63;--line:#d8e0da;--paper:#f7f3e9;--milk:#fff;--green:#285d45;--green2:#5d8b70;--gold:#9a6a15;--rose:#a63d37;--pale:#eaf2ec;--radius:16px;--shadow:0 16px 40px #1f2b240b;font-family:'LINE Seed JP','Hiragino Sans','Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);font-size:16px;line-height:1.75}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.5}
img{display:block;max-width:100%;object-fit:cover}
h1,h2,h3,p{margin:0}
h1{font-size:clamp(30px,3.25vw,46px);line-height:1.5;letter-spacing:.01em;font-weight:600}
h2{font-size:clamp(23px,2.2vw,32px);line-height:1.5}
h3{font-size:19px;line-height:1.5}
small,.small{font-size:13px;line-height:1.7}
.muted{color:var(--sub)}
.mt{margin-top:22px}
.btn{min-height:46px;padding:10px 19px;display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;white-space:normal;text-align:center}
.btn:hover{background:var(--pale);border-color:var(--green)}
.btn.primary{background:var(--green);color:white;border-color:var(--green)}
.btn.primary:hover{background:#184236}
.btn.big{min-height:54px;padding-inline:24px;font-size:16px}
.pill{padding:10px 18px;min-height:46px;border:1px solid var(--line);border-radius:30px;color:var(--sub);background:transparent;font-size:14px}
.pill:hover{border-color:var(--green)}
.skip{position:fixed;top:-100px;left:10px;z-index:90;background:#fff;padding:12px}
.skip:focus{top:10px}
:focus-visible{outline:3px solid #b8873d;outline-offset:3px}
main:focus{outline:none}
.field{display:block;min-width:0}
.field>span:first-child{display:block;font-size:14px;font-weight:600;line-height:1.7;margin-bottom:7px}
.field input,.field select,.field textarea{width:100%;border:1px solid #bdc9c1;border-radius:7px;background:#fff;color:var(--ink);min-height:46px;padding:10px 12px;font-size:16px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}
.field input::placeholder,.field textarea::placeholder{color:#89918d;font-size:14px}
.field input[aria-invalid=true]{border-color:#b6473c;background:#fff5f0}
.field textarea{min-height:110px;resize:vertical}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.fields .wide{grid-column:1/-1}
.check-label{display:flex;align-items:flex-start;gap:12px;padding:14px 0;font-size:14px;cursor:pointer}
.check-label input{margin-top:5px;width:19px;height:19px;accent-color:var(--green);flex-shrink:0}
@media(max-width:600px){
body{font-size:15px}
.fields{gap:17px 13px}
.field>span:first-child{font-size:13px}
.field input,.field select,.field textarea{font-size:16px;padding:10px;min-height:47px}}
@media(max-width:360px){
.fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){
*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
p{overflow-wrap:anywhere}
input[type=checkbox]{accent-color:var(--green)}
:root{--cream:#f7f3e9;--surface:#fff;--brand:#285d45;--brand-strong:#1f4a37;--mint:#eaf2ec;--muted:#5d6b63;--focus:#1e6fe8}
body{background:var(--cream);font-family:'LINE Seed JP','Hiragino Sans','Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink)}
h1,h2,h3{font-family:inherit;letter-spacing:0}
.btn{border-radius:10px;min-height:48px}
.btn.primary{background:var(--brand);border-color:var(--brand)}
.btn.primary:hover{background:var(--brand-strong)}
:root{--brand:#0b8b59;--brand-strong:#067147;--sky:#e8f7ff;--sky-2:#d9f1fb;--navy:#07365b;--soft-line:#d9e8ee;--mint:#edf8f2;--cream:#fff;--paper:#fff;--ink:#07365b;--muted:#526b7c;--line:#dbe8ed}
body{background:#fff;color:var(--navy)}
.btn.primary{background:linear-gradient(135deg,#10a968,#07834f);border-color:#07834f;border-radius:999px;box-shadow:0 8px 20px #07834f26}
.btn.primary:hover{background:#067147}
.btn:not(.primary){border-radius:999px}
@media screen and (max-width:690px){
body[data-page=consult] #consult-form .fields{grid-template-columns:1fr}
body[data-page=consult] #consult-form .field{grid-column:1}
}
body:not([data-page="buyer"]):not([data-page="manage"]):not([data-page="admin"]){
  --brand:#1b5e3e;--brand-strong:#123e2b;--green:#1b5e3e;--navy:#183d2d;
  --ink:#253c31;--sub:#5b685e;--muted:#5b685e;--cream:#f5f2e9;--paper:#f5f2e9;
  --milk:#fffdf8;--surface:#fffdf8;--mint:#ecf0e8;--sky:#f1efe7;--sky-2:#e8ebe3;
  --line:#d9ded3;--soft-line:#d9ded3;--focus:#1b5e3e;--wood:#99764f;
  --brand-serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',Georgia,serif;
  color:var(--ink);background:var(--cream);font-size:16px;line-height:1.8;
}
body[data-page=consult] .fields{gap:20px 16px}
body[data-page=consult] .field input,body[data-page=consult] .field textarea{font-size:16px}
body[data-page=consult] .check-label{align-items:flex-start;font-size:14px;line-height:1.7}
body[data-page=consult] .check-label input{flex-shrink:0;margin-top:3px}
#consult-form{margin-top:24px}
.journey-consult-review{border-top:1px solid #d7dfd6;margin-top:24px;padding-top:20px}
.journey-consult-review h2{font-size:22px}
.journey-consult-review>p{margin:10px 0 16px}
@media(max-width:690px){
.journey-consult-review h2{font-size:20px}}
body:is([data-page="home"],[data-page="diagnosis"],[data-page="plan"],[data-page="consult"]){--brand:#075440;--brand-strong:#064432;--green:#075440;--cream:#f7f6ee;--milk:#fffefa;--mint:#eaf3eb;--line:#dae3da;background:var(--cream)}

/* ---- 公開サイト ----
   方向性: 上質で温かい。ミルク色の地・深い牧草の緑・明朝体の見出し・実物の写真を大きく。
   数値はすべて変数（--ps-*）から取る。余白は 8px を基準にした段階、文字は決まった段階だけを使う。
   画面幅の区切りは 2 つ: md = 768px 以上（タブレット）、lg = 1024px 以上（PC）。 */
/* トークン */
body.ps-site{/* 色 */
--ps-bg:#fff;--ps-paper:#fff;--ps-cream:#f3ede2;--ps-stone:#e9e6e0;--ps-ink:#1d2620;--ps-body:#38403a;--ps-sub:#5f6b63;--ps-line:#dfe3df;--ps-field:#cfc7b8;--ps-green:#1f4a37;--ps-green-deep:#163628;--ps-green-soft:#e6ede6;--ps-wood:#8a5e2c;--ps-error:#b42318;--ps-on-dark:#f4efe6;--ps-on-dark-sub:#c9d4ca;--ps-on-dark-line:#ffffff2e;/* 文字 */
--ps-serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;--ps-sans:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;/* 数字と英字は欧文書体（和文はそれぞれの書体に落ちる） */
--ps-num:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;--ps-fs-xs:12px;--ps-fs-sm:14px;--ps-fs-md:16px;--ps-fs-lg:18px;--ps-fs-xl:20px;--ps-fs-2xl:24px;--ps-fs-h3:20px;--ps-fs-h2:26px;--ps-fs-h1:30px;--ps-fs-hero:30px;--ps-fs-num:40px;--ps-lh-body:1.75;--ps-lh-tight:1.5;--ps-measure:36em;/* 余白（8px 基準） */
--ps-s1:4px;--ps-s2:8px;--ps-s3:12px;--ps-s4:16px;--ps-s5:24px;--ps-s6:32px;--ps-s7:40px;--ps-s8:48px;--ps-s9:64px;--ps-s10:80px;--ps-s11:96px;--ps-s12:128px;--ps-gutter:var(--ps-s5);--ps-maxw:1120px;--ps-sec:var(--ps-s9);--ps-head-gap:var(--ps-s7);--ps-grid-gap:var(--ps-s5);--ps-header-h:64px;/* 形 */
--ps-r-sm:8px;--ps-r-md:12px;--ps-r-lg:24px;--ps-r-pill:999px;--ps-btn-h:56px;--ps-btn-h-sm:44px;--ps-tap:44px;background:var(--ps-bg);color:var(--ps-ink);font-family:var(--ps-sans);font-size:var(--ps-fs-md);line-height:var(--ps-lh-body);letter-spacing:.03em;-webkit-font-smoothing:antialiased}
@media (min-width:768px){body.ps-site{--ps-gutter:var(--ps-s7);--ps-sec:var(--ps-s11);--ps-head-gap:var(--ps-s8);--ps-grid-gap:var(--ps-s6);--ps-fs-h2:32px;--ps-fs-h1:40px;--ps-fs-hero:40px;--ps-fs-num:40px}}
@media (min-width:1024px){body.ps-site{--ps-gutter:var(--ps-s8);--ps-sec:var(--ps-s12);--ps-head-gap:var(--ps-s9);--ps-fs-h2:32px;--ps-fs-h1:48px;--ps-fs-hero:56px;--ps-fs-num:64px;--ps-header-h:72px}}
/* 土台（プレビュー側の body の背景より優先する） */
body.ps-site{background:var(--ps-bg)!important;line-height:var(--ps-lh-body)!important}
body.ps-site .ps-main{display:block}
.ps-inner{max-width:calc(var(--ps-maxw) + var(--ps-gutter) * 2);margin:0 auto;padding:0 max(var(--ps-gutter),env(safe-area-inset-right)) 0 max(var(--ps-gutter),env(safe-area-inset-left))}
html{scroll-padding-top:calc(var(--ps-header-h) + var(--ps-s4))}
.ps-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ps-site p{margin:0}.ps-site figure{margin:0}
.ps-site img{max-width:100%}
/* 文字の段階 */
.ps-nb{display:inline-block}
.ps-site h1,.ps-site h2,.ps-site h3{margin:0;font-family:var(--ps-serif);font-weight:600;color:var(--ps-ink);word-break:auto-phrase;text-wrap:balance;font-feature-settings:"palt"}
.ps-site h1{font-size:var(--ps-fs-h1);line-height:var(--ps-lh-tight);line-height:round(nearest,1.5em,4px);letter-spacing:.04em}
.ps-site h2{font-size:var(--ps-fs-h2);line-height:var(--ps-lh-tight);line-height:round(nearest,1.5em,4px);letter-spacing:.04em}
.ps-site h3{font-size:var(--ps-fs-h3);line-height:var(--ps-lh-tight);line-height:round(nearest,1.5em,4px);letter-spacing:.04em}
.ps-site{line-break:strict;text-autospace:normal;text-spacing-trim:trim-start}.ps-site p,.ps-site li,.ps-site dd{text-wrap:pretty}
.ps-eyebrow{display:flex;flex-direction:column;gap:var(--ps-s1);margin:0 0 var(--ps-s4)!important;font-size:var(--ps-fs-sm);font-weight:400;line-height:var(--ps-lh-tight);letter-spacing:.08em;font-feature-settings:"palt";color:var(--ps-green)}
.ps-eyebrow span{display:flex;align-items:center;gap:var(--ps-s3);font-family:var(--ps-num);font-variant-numeric:tabular-nums;font-size:var(--ps-fs-sm);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--ps-wood);line-height:20px}
.ps-eyebrow span::before{content:"";width:var(--ps-s6);height:1px;background:currentColor;opacity:.7}
.ps-fine{margin-top:var(--ps-s4)!important;font-size:var(--ps-fs-xs);line-height:20px;color:var(--ps-sub)}
.ps-note{margin-top:var(--ps-s4)!important;font-size:var(--ps-fs-sm);line-height:24px;color:var(--ps-sub)}
/* リンク・ボタン */
.ps-main a:not(.btn),.ps-footer a{color:var(--ps-green);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.ps-main a:not(.btn):hover{text-decoration-thickness:2px}
.ps-ext{font-size:.8em;margin-left:var(--ps-s1)}
.ps-site .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ps-s2);min-height:var(--ps-btn-h);padding:0 var(--ps-s6);border:1px solid var(--ps-ink);border-radius:var(--ps-r-pill);background:transparent;color:var(--ps-ink);font-family:var(--ps-sans);font-size:var(--ps-fs-md);font-weight:600;line-height:28px;letter-spacing:.06em;font-feature-settings:"palt";box-shadow:none;transition:background .2s,color .2s,border-color .2s,transform .2s}
.ps-site .btn:hover{background:var(--ps-ink);color:#fff}
.ps-site .btn.primary{background:var(--ps-green);border-color:var(--ps-green);color:#fff}
.ps-site .btn.primary:hover{background:var(--ps-green-deep);border-color:var(--ps-green-deep)}
.ps-site .btn.primary.big::after{content:"→";font-weight:400;transition:transform .2s}.ps-site .btn.primary.big:hover::after{transform:translateX(3px)}
.ps-actions{display:flex;flex-wrap:wrap;gap:var(--ps-s3);margin-top:var(--ps-s6)}
@media (max-width:767px){.ps-actions .btn{width:100%}}
.ps-flow+.ps-actions{margin-top:var(--ps-s8)}
/* ヘッダー */
.ps-header{position:sticky;top:0;z-index:30;background:#faf7f1eb;-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid #e2dacb99}
.ps-header-inner{max-width:calc(var(--ps-maxw) + var(--ps-gutter) * 2);margin:0 auto;padding:0 var(--ps-gutter);height:var(--ps-header-h);display:flex;align-items:center;gap:var(--ps-s3);padding-left:max(var(--ps-gutter),env(safe-area-inset-left));padding-right:max(var(--ps-gutter),env(safe-area-inset-right))}
.ps-logo,.ps-footer .ps-logo{display:flex;flex-direction:column;gap:var(--ps-s1);margin-right:auto;color:var(--ps-ink);line-height:1;text-decoration:none}
.ps-logo img{width:104px;height:auto;display:block}
.ps-logo span{white-space:nowrap;font-family:var(--ps-num);font-variant-numeric:tabular-nums;font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ps-sub)}
.ps-nav{display:flex;align-items:center;gap:var(--ps-s6)}
.ps-nav a{position:relative;display:flex;align-items:center;min-height:var(--ps-tap);color:var(--ps-ink);font-size:var(--ps-fs-sm);letter-spacing:.06em;text-decoration:none;white-space:nowrap;line-height:24px}
.ps-nav a::after{content:"";position:absolute;left:0;right:0;bottom:var(--ps-s2);height:1px;background:var(--ps-green);transform:scaleX(0);transition:transform .25s}
.ps-nav a:hover::after,.ps-nav a[aria-current]::after{transform:scaleX(1)}.ps-nav a[aria-current]{color:var(--ps-green);font-weight:600}
.ps-nav-sub{display:none!important}
.ps-site .ps-header-cta{flex-shrink:0;min-height:var(--ps-btn-h-sm);padding:0 var(--ps-s5);font-size:var(--ps-fs-sm);white-space:nowrap;line-height:24px}
.ps-menu-btn{display:none;position:relative;width:var(--ps-tap);height:var(--ps-tap);margin-right:calc(var(--ps-s3) * -1);padding:0;border:0;background:transparent}
.ps-menu-icon,.ps-menu-icon::before{position:absolute;left:12px;width:20px;height:1.5px;background:var(--ps-ink);transition:transform .25s,top .25s}
.ps-menu-icon{top:18px}.ps-menu-icon::before{content:"";left:0;top:7px}
.ps-header.is-open .ps-menu-icon{top:21px;transform:rotate(45deg)}.ps-header.is-open .ps-menu-icon::before{top:0;transform:rotate(-90deg)}
@media (max-width:1023px){.ps-menu-btn{display:block}.ps-nav{display:none;position:absolute;left:0;right:0;top:var(--ps-header-h);flex-direction:column;align-items:stretch;gap:0;padding:var(--ps-s2) var(--ps-gutter) var(--ps-s5);background:var(--ps-bg);border-bottom:1px solid var(--ps-line);box-shadow:0 24px 40px -24px #1d262033}.ps-header.is-open .ps-nav{display:flex}.ps-nav a{min-height:var(--ps-s9);font-size:var(--ps-fs-lg);font-weight:400;border-bottom:1px solid var(--ps-line)}.ps-nav a::after{display:none}.ps-nav .ps-nav-sub{display:flex!important;font-family:var(--ps-sans);font-size:var(--ps-fs-sm);color:var(--ps-sub);border-bottom:0;line-height:24px}}
@media (min-width:1024px){.ps-site .ps-header-cta{margin-left:var(--ps-s5)}.ps-logo img{width:112px}}
@media (max-width:379px){.ps-header-inner{gap:var(--ps-s2)}.ps-site .ps-header-cta{padding:0 var(--ps-s4)}}
/* ヒーロー */
.ps-hero-img{position:relative;overflow:hidden;background:var(--ps-stone)}
.ps-hero-img img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 2%;animation:ps-zoom 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes ps-zoom{from{transform:scale(1.06)}to{transform:none}}
/* 1023px以下：写真を切り抜かずに全体を見せる（左右は写真の背景色へなじませる） */
@media (max-width:1023px){.ps-hero-img{display:flex;justify-content:center;aspect-ratio:var(--ps-hero-ratio,3/2);background:linear-gradient(90deg,#aaa9a9,#a19f9e 50%,#959190)}.ps-hero-img img{width:auto;height:100%;aspect-ratio:620/605;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}.ps-site .ps-hero-copy{margin-top:0;border-radius:0}}
@media (max-width:767px){.ps-hero .ps-eyebrow span{display:none}.ps-hero-copy{padding-top:var(--ps-s6)}.ps-hero .ps-actions{margin-top:var(--ps-s5)}}
.ps-hero-copy{position:relative;margin-top:calc(var(--ps-s6) * -1);padding:var(--ps-s7) var(--ps-gutter) 0;background:var(--ps-bg);border-radius:var(--ps-r-lg) var(--ps-r-lg) 0 0}
.ps-site .ps-hero h1{font-size:var(--ps-fs-hero);line-height:1.45;line-height:round(nearest,1.45em,4px);letter-spacing:.04em}
.ps-hero-lead{margin-top:var(--ps-s5)!important;max-width:32em;color:var(--ps-body)}
.ps-proof{display:grid;grid-template-columns:repeat(3,1fr);margin:var(--ps-s8) var(--ps-gutter) 0;padding:0;list-style:none;border-top:1px solid var(--ps-line);border-bottom:1px solid var(--ps-line)}
.ps-proof li{display:flex;flex-direction:column;justify-content:center;gap:var(--ps-s1);padding:var(--ps-s5) var(--ps-s1);text-align:center}.ps-proof li+li{border-left:1px solid var(--ps-line)}
.ps-proof b{font-family:var(--ps-num);font-variant-numeric:tabular-nums;font-size:var(--ps-fs-lg);font-weight:400;line-height:28px;font-feature-settings:"palt";color:var(--ps-green)}.ps-proof b small{margin-left:2px;font-family:var(--ps-sans);font-size:var(--ps-fs-xs);font-weight:400}
.ps-proof span{font-size:var(--ps-fs-xs);line-height:20px;color:var(--ps-sub)}
@media (min-width:768px){.ps-hero-img{--ps-hero-ratio:16/9}.ps-hero-copy{margin-top:calc(var(--ps-s8) * -1);padding:var(--ps-s8) var(--ps-gutter) 0}.ps-hero-copy>*{max-width:600px}}
@media (min-width:1024px){.ps-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:stretch;min-height:min(calc(100svh - var(--ps-header-h)),840px)}.ps-hero-img{order:2;border-radius:0 0 0 var(--ps-r-lg)}.ps-hero-img img{height:100%;aspect-ratio:auto}.ps-hero-copy{align-self:center;margin:0;padding:var(--ps-s9) var(--ps-s7) var(--ps-s9) max(var(--ps-gutter),calc((100vw - var(--ps-maxw)) / 2));background:none;border-radius:0}.ps-hero-copy>*{max-width:none}.ps-site .ps-hero h1{font-size:clamp(44px,4.2vw,56px)}}
@media (min-width:1280px){.ps-hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.ps-hero-copy{padding-right:var(--ps-s8)}}
@media (min-width:768px){.ps-proof{max-width:var(--ps-maxw);margin:0 var(--ps-gutter);border-top:0}.ps-proof li{padding:var(--ps-s6) var(--ps-s3)}.ps-proof b{font-size:var(--ps-fs-2xl)}.ps-proof span{font-size:var(--ps-fs-sm);line-height:24px}}
@media (min-width:1216px){.ps-proof{margin:0 auto}}
/* 写真の帯 */
.ps-statement{position:relative;display:grid;align-items:end;min-height:560px;margin-top:var(--ps-sec);overflow:hidden;color:#fff;background:#2b3a2f}
.ps-statement>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 88%}
.ps-statement::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0f1f1600 35%,#0f1f1666 60%,#0f1f16d9 100%)}
.ps-statement .ps-inner{position:relative;z-index:1;width:100%;padding-bottom:var(--ps-s9)}
.ps-statement-text{font-family:var(--ps-serif);font-size:var(--ps-fs-h2);font-weight:600;line-height:var(--ps-lh-tight);line-height:round(nearest,1.5em,4px);letter-spacing:.04em;text-shadow:0 2px 24px #0006}
.ps-statement-sub{max-width:var(--ps-measure);margin-top:var(--ps-s4)!important;font-size:var(--ps-fs-sm);color:#ffffffe0;line-height:24px}
.ps-credit{position:absolute;top:var(--ps-s3);right:var(--ps-gutter);z-index:1;font-size:var(--ps-fs-xs);color:#fffc;line-height:20px}.ps-credit a{color:#fff!important}
@media (min-width:768px){.ps-statement{min-height:640px}.ps-statement-text{font-size:calc(var(--ps-fs-h2) * 1.4)}.ps-statement .ps-inner{padding-bottom:var(--ps-s10)}.ps-statement-sub{font-size:var(--ps-fs-md);line-height:28px}}
/* セクション */
.ps-section{padding:var(--ps-sec) 0}
.ps-section-tight{padding-top:var(--ps-s6)}
.ps-head{margin-bottom:var(--ps-head-gap)}
.ps-section-lead{max-width:var(--ps-measure);margin:calc(var(--ps-head-gap) * -1 + var(--ps-s5)) 0 var(--ps-head-gap)!important;color:var(--ps-body)}
.ps-cream{background:var(--ps-cream)}
.ps-dark{background:var(--ps-green-deep);color:var(--ps-on-dark)}.ps-dark h2{color:#fff}.ps-dark .ps-eyebrow{color:#d9e4d9}.ps-dark .ps-eyebrow span{color:#d8b98e}
/* 共通の写真の形（角丸 16px・比率は 4:5／1:1／3:2 のいずれか） */
.ps-split-img img,.ps-menu img,.ps-photos img,.ps-intro-img img,.ps-develop img{display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--ps-r-md)}
.ps-site figcaption{margin-top:var(--ps-s2);font-size:var(--ps-fs-xs);line-height:20px;color:var(--ps-sub)}
/* 牧場ミルク */
.ps-split{display:grid;gap:var(--ps-s7)}
.ps-split-img img{aspect-ratio:3/2}
.ps-split-copy p+p{margin-top:var(--ps-s4)}
.ps-lead,.ps-split-copy p{max-width:var(--ps-measure);color:var(--ps-body)}
.ps-features{display:grid;grid-template-columns:1fr 1fr;margin:var(--ps-s6) 0;padding:0;list-style:none;border-top:1px solid var(--ps-line)}
.ps-features li{display:flex;flex-direction:column;gap:var(--ps-s1);padding:var(--ps-s4) var(--ps-s4) var(--ps-s4) 0;border-bottom:1px solid var(--ps-line)}
.ps-features li:nth-child(even){padding-left:var(--ps-s4);border-left:1px solid var(--ps-line)}
.ps-features b{font-size:var(--ps-fs-md);font-weight:600;font-feature-settings:"palt";line-height:var(--ps-lh-tight);color:var(--ps-green)}.ps-features span{font-size:var(--ps-fs-xs);line-height:20px;color:var(--ps-sub)}
.ps-links{display:flex;flex-wrap:wrap;gap:var(--ps-s2) var(--ps-s5);margin-top:var(--ps-s5)!important}
.ps-links a{display:inline-flex;align-items:center;min-height:var(--ps-tap)}
@media (min-width:1024px){.ps-split{grid-template-columns:1fr 1fr;gap:var(--ps-s9);align-items:start}.ps-split-img{position:sticky;top:calc(var(--ps-header-h) + var(--ps-s6))}.ps-split-img img{aspect-ratio:1}}
/* メニュー */
.ps-menus{display:grid;gap:var(--ps-grid-gap)}
.ps-menu{display:flex;flex-direction:column}
.ps-menu figure{overflow:hidden;border-radius:var(--ps-r-md);background:var(--ps-stone)}
.ps-menu img{aspect-ratio:4/5;border-radius:0;transition:transform .6s}.ps-menu:hover img{transform:scale(1.03)}
.ps-menu-body{padding-top:var(--ps-s4)}
.ps-menu-body small{display:block;font-size:var(--ps-fs-xs);line-height:20px;letter-spacing:.06em;color:var(--ps-wood)}
.ps-menu-body h3{margin:var(--ps-s1) 0 var(--ps-s2)}
.ps-menu-body p{font-size:var(--ps-fs-sm);line-height:24px;color:var(--ps-body)}
.ps-needs-title{margin-top:var(--ps-s4)!important;font-size:var(--ps-fs-xs)!important;font-weight:600;color:var(--ps-ink)!important;line-height:20px}
.ps-needs{margin:var(--ps-s1) 0 0;padding-left:1.1em;font-size:var(--ps-fs-xs);line-height:20px;color:var(--ps-sub)}
.ps-more{margin-top:var(--ps-s6)!important}
/* スマホだけ横スクロール。端は左右の余白と揃える */
@media (max-width:767px){.ps-scroll{grid-auto-flow:column;grid-auto-columns:76%;gap:var(--ps-s4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--ps-gutter);margin:0 calc(var(--ps-gutter) * -1);padding:0 var(--ps-gutter);scrollbar-width:none}.ps-scroll::-webkit-scrollbar{display:none}.ps-scroll>*{scroll-snap-align:start}.ps-scroll::after{content:"";width:1px}}
.ps-dots{display:flex;justify-content:center;gap:var(--ps-s2);margin-top:var(--ps-s5)}
.ps-dots span{width:6px;height:6px;border-radius:var(--ps-r-pill);background:#1d262033;transition:width .3s,background .3s}.ps-dots span.on{width:24px;background:var(--ps-green)}
@media (min-width:768px){.ps-dots{display:none}.ps-menus{grid-template-columns:repeat(2,1fr);row-gap:var(--ps-s8)}}
@media (min-width:1024px){.ps-scroll{grid-template-columns:repeat(4,1fr)}}
.ps-menus-full .ps-menu{display:grid;grid-template-columns:40% 1fr;gap:var(--ps-s4);align-items:start}.ps-menus-full .ps-menu-body{padding-top:0}
@media (min-width:768px){.ps-menus-full .ps-menu{grid-template-columns:1fr;gap:0}.ps-menus-full .ps-menu-body{padding-top:var(--ps-s4)}}
@media (min-width:1024px){.ps-menus-full{grid-template-columns:repeat(2,1fr);column-gap:var(--ps-s8)}.ps-menus-full .ps-menu{grid-template-columns:1fr 1.1fr;gap:var(--ps-s6)}.ps-menus-full .ps-menu-body{padding-top:0}}
/* 販売実績 */
.ps-stats{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--ps-on-dark-line)}
.ps-stats li{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ps-s4);padding:var(--ps-s5) 0;border-bottom:1px solid var(--ps-on-dark-line)}
.ps-stats b{white-space:nowrap;font-family:var(--ps-num);font-variant-numeric:tabular-nums;font-size:calc(var(--ps-fs-num) + 4px);font-weight:400;line-height:1.1;line-height:round(nearest,1.1em,4px);letter-spacing:.01em;font-variant-numeric:lining-nums;color:#fff}.ps-stats b small{margin-left:var(--ps-s1);font-family:var(--ps-sans);font-size:var(--ps-fs-sm);font-weight:400;letter-spacing:.04em;color:#e9dcc6;line-height:24px}
.ps-stats span{font-size:var(--ps-fs-sm);color:var(--ps-on-dark-sub);line-height:24px}
.ps-track-text{max-width:var(--ps-measure);margin-top:var(--ps-s6)!important;color:var(--ps-on-dark)}
.ps-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--ps-s3);margin-top:var(--ps-s6)}
.ps-photos figure{position:relative}.ps-photos img{aspect-ratio:1}
.ps-photos figcaption{position:absolute;left:var(--ps-s2);bottom:var(--ps-s2);margin:0;padding:0 var(--ps-s3);border-radius:var(--ps-r-pill);background:#163628cc;color:#fff;font-size:var(--ps-fs-xs);line-height:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.ps-track-pop{margin-top:var(--ps-s5)!important;font-size:var(--ps-fs-xs);line-height:20px;color:var(--ps-on-dark-sub)}
@media (min-width:768px){.ps-stats{grid-template-columns:repeat(3,1fr);border:0}.ps-stats li{flex-direction:column;align-items:flex-start;gap:var(--ps-s2);padding:0 var(--ps-s6);border:0;border-left:1px solid var(--ps-on-dark-line)}.ps-stats li:first-child{padding-left:0;border-left:0}.ps-photos{grid-template-columns:repeat(4,1fr);gap:var(--ps-s4);margin-top:var(--ps-s8)}.ps-track-text{margin-top:var(--ps-s8)!important}}
/* お取り扱い店 */
.ps-shops{display:grid;gap:var(--ps-grid-gap)}
.ps-shop{overflow:hidden;border-radius:var(--ps-r-md);background:var(--ps-paper);box-shadow:0 1px 0 var(--ps-line)}
.ps-shop-photos{display:grid;grid-template-columns:3fr 2fr;gap:2px;aspect-ratio:3/2}
.ps-shop-photos img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.ps-shop-body{padding:var(--ps-s5)}
.ps-shop-head{display:flex;align-items:center;gap:var(--ps-s4);margin-bottom:var(--ps-s4)}
.ps-shop-head small{font-size:var(--ps-fs-xs);color:var(--ps-sub);line-height:20px}
.ps-shop-logo{flex-shrink:0;width:var(--ps-s9);height:var(--ps-s9);padding:var(--ps-s2);border:1px solid var(--ps-line);border-radius:50%;background:#fff;object-fit:contain}
.ps-shop-body p{font-size:var(--ps-fs-sm);line-height:24px;color:var(--ps-body)}
.ps-shop .ps-links{margin-top:var(--ps-s3)!important}
@media (min-width:768px){.ps-shops{grid-template-columns:repeat(2,1fr)}.ps-shop{display:flex;flex-direction:column}.ps-shop-body{padding:var(--ps-s6)}}
/* 番号つきの 3 項目（お届け・ミックス） */
.ps-points{display:grid;margin:0;padding:0;list-style:none;border-top:1px solid var(--ps-line)}
.ps-points li{display:grid;align-content:start;grid-template-columns:var(--ps-s8) 1fr;gap:var(--ps-s2);padding:var(--ps-s5) 0;border-bottom:1px solid var(--ps-line)}
.ps-num{padding-top:2px;font-family:var(--ps-num);font-variant-numeric:tabular-nums;font-size:var(--ps-fs-md);font-weight:400;letter-spacing:.06em;color:var(--ps-wood);line-height:24px}
.ps-points h3{margin-bottom:var(--ps-s2)}.ps-points p{font-size:var(--ps-fs-sm);line-height:24px;color:var(--ps-body)}
@media (min-width:768px){.ps-points{grid-template-columns:repeat(3,1fr);gap:var(--ps-grid-gap);border-top:0}.ps-points li{grid-template-columns:1fr;gap:var(--ps-s3);padding:var(--ps-s5) 0 0;border-top:1px solid var(--ps-ink);border-bottom:0}}
/* 流れ */
.ps-flow{position:relative;display:grid;margin:0;padding:0;list-style:none;counter-reset:f}
.ps-flow li{position:relative;padding:0 0 var(--ps-s6) var(--ps-s9);counter-increment:f}.ps-flow li:last-child{padding-bottom:0}
.ps-flow li::before{content:counter(f);position:absolute;left:0;top:0;z-index:1;display:grid;place-items:center;width:var(--ps-s7);height:var(--ps-s7);border:1px solid var(--ps-green);border-radius:50%;background:var(--ps-bg);color:var(--ps-green);font-family:var(--ps-num);font-variant-numeric:tabular-nums;font-size:var(--ps-fs-lg);font-weight:400}
.ps-flow li:not(:last-child)::after{content:"";position:absolute;left:calc(var(--ps-s7) / 2);top:var(--ps-s7);bottom:0;width:1px;background:var(--ps-line)}
.ps-flow b{display:block;padding-top:var(--ps-s1);font-size:var(--ps-fs-lg);font-weight:600;font-feature-settings:"palt";letter-spacing:.04em;line-height:var(--ps-lh-tight)}
.ps-flow small{display:block;margin-top:var(--ps-s1);font-size:var(--ps-fs-sm);line-height:24px;color:var(--ps-sub)}
.ps-cream .ps-flow li::before{background:var(--ps-cream)}.ps-panel .ps-flow li::before{background:var(--ps-paper)}.ps-panel-quiet .ps-flow li::before{background:var(--ps-bg)}
@media (min-width:768px){.ps-inner>.ps-flow{grid-template-columns:repeat(3,1fr);gap:var(--ps-grid-gap)}.ps-inner>.ps-flow li{padding:var(--ps-s9) 0 0}.ps-inner>.ps-flow li:not(:last-child)::after{left:calc(var(--ps-s7) + var(--ps-s3));right:calc(var(--ps-grid-gap) * -1 + var(--ps-s3));top:calc(var(--ps-s7) / 2);bottom:auto;width:auto;height:1px}}
/* 締めの帯 */
.ps-band{position:relative;overflow:hidden;padding:var(--ps-sec) 0;background:var(--ps-green);color:var(--ps-on-dark)}
.ps-band::before{content:"";position:absolute;right:-120px;top:-120px;width:360px;height:360px;border:1px solid #ffffff1f;border-radius:50%}
.ps-band h2{color:#fff}.ps-band .ps-eyebrow{color:#dfe8de}.ps-band .ps-eyebrow span{color:#e2c79f}
.ps-band-copy p{max-width:var(--ps-measure);margin-top:var(--ps-s5)!important;color:#dfe7dd}
.ps-site .ps-band .btn{border-color:#ffffffb3;color:#fff}.ps-site .ps-band .btn:hover{background:#fff;color:var(--ps-green)}
.ps-site .ps-band .btn.primary{background:#fff;border-color:#fff;color:var(--ps-green)}.ps-site .ps-band .btn.primary:hover{background:var(--ps-cream)}
.ps-band-note{margin-top:var(--ps-s4)!important;font-size:var(--ps-fs-sm);color:var(--ps-on-dark-sub);line-height:24px}
/* 下層ページの冒頭 */
.ps-intro{padding:var(--ps-s8) 0 var(--ps-s6)}
.ps-intro .ps-inner{display:grid;gap:var(--ps-s7)}
.ps-intro-copy p:not(.ps-eyebrow){max-width:var(--ps-measure);margin-top:var(--ps-s5);color:var(--ps-body)}
.ps-intro-img img{aspect-ratio:3/2;background:var(--ps-stone)}
[data-ps-page=about] .ps-intro-img img{aspect-ratio:1}
/* 縦長の写真（COTARUについて）は縦長のまま見せる */
.ps-site .ps-intro-img.is-tall img{aspect-ratio:4/5}
/* 菊地ファームの看板（写真の右側）が切れないように */
[data-ps-page=about] .ps-split-img img{object-position:75% 50%}
@media (min-width:768px){.ps-intro{padding:var(--ps-s11) 0 var(--ps-s8)}.ps-intro.has-img .ps-inner{grid-template-columns:1fr 1fr;gap:var(--ps-s8);align-items:center}.ps-intro-img img{aspect-ratio:1}}
@media (min-width:1024px){.ps-intro.has-img .ps-inner{gap:var(--ps-s9)}}
/* 商品とメニュー */
.ps-spec{display:grid;margin:var(--ps-s8) 0 0;border-top:1px solid var(--ps-line)}
.ps-spec div{display:grid;grid-template-columns:7em 1fr;gap:var(--ps-s3);padding:var(--ps-s4) 0;border-bottom:1px solid var(--ps-line)}
.ps-spec dt{font-size:var(--ps-fs-sm);color:var(--ps-sub);line-height:24px}.ps-spec dd{margin:0;font-weight:600}
@media (min-width:768px){.ps-spec{grid-template-columns:1fr 1fr;column-gap:var(--ps-grid-gap)}}
.ps-develop{display:grid;gap:var(--ps-s7)}.ps-develop img{aspect-ratio:3/2}
.ps-develop p{max-width:var(--ps-measure);color:var(--ps-body)}
.ps-site h2 em{margin:0 var(--ps-s1);font-size:1.5em;font-style:normal;font-weight:400;line-height:1;color:var(--ps-green)}
.ps-flavors{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--ps-s4);margin:var(--ps-s6) 0 0;padding:0;list-style:none;border-top:1px solid var(--ps-line)}
.ps-flavors li{position:relative;padding:var(--ps-s3) 0 var(--ps-s3) var(--ps-s5);border-bottom:1px solid var(--ps-line);font-size:var(--ps-fs-sm);line-height:24px}
.ps-flavors li::before{content:"";position:absolute;left:var(--ps-s1);top:calc(var(--ps-s3) + .8em - 3px);width:6px;height:6px;border-radius:50%;background:var(--ps-wood);opacity:.6}
@media (min-width:768px){.ps-flavors{grid-template-columns:repeat(3,1fr);column-gap:var(--ps-s5)}}
@media (min-width:1024px){.ps-develop{grid-template-columns:5fr 7fr;gap:var(--ps-s9);align-items:start}.ps-develop figure{position:sticky;top:calc(var(--ps-header-h) + var(--ps-s6))}.ps-develop img{aspect-ratio:4/5}}
/* パネル（試算・相談） */
.ps-panel{padding:var(--ps-s5);border-radius:var(--ps-r-lg);background:var(--ps-paper);box-shadow:0 1px 0 var(--ps-line),0 18px 40px -28px #1d262040}
.ps-panel-quiet{background:transparent;box-shadow:inset 0 0 0 1px var(--ps-line)}
.ps-site .ps-panel h2{margin:0 0 var(--ps-s5);font-size:var(--ps-fs-xl)}
.ps-site .ps-panel .mt{margin-top:var(--ps-s8)}
.ps-panel-title{display:flex;align-items:center;gap:var(--ps-s3)}
.ps-panel-title i{display:grid;place-items:center;flex-shrink:0;width:var(--ps-s6);height:var(--ps-s6);border-radius:50%;background:var(--ps-green);color:#fff;font-family:var(--ps-num);font-variant-numeric:tabular-nums;font-size:var(--ps-fs-md);font-weight:400;font-style:normal;line-height:24px}
@media (min-width:768px){.ps-panel{padding:var(--ps-s7)}}
@media (min-width:1024px){.ps-panel{padding:var(--ps-s8)}}
/* 入力欄（高さ・角丸・余白をボタンと揃える） */
.ps-site .fields{display:grid;gap:var(--ps-s5)}
.ps-site .field>span:first-child,.ps-choice legend{display:block;margin-bottom:var(--ps-s2);font-size:var(--ps-fs-sm);font-weight:600;line-height:24px;color:var(--ps-ink)}
.ps-site .field input:not([type=radio]):not([type=checkbox]),.ps-site .field select,.ps-site .field textarea{width:100%;min-height:var(--ps-btn-h);padding:var(--ps-s3) var(--ps-s4);border:1px solid var(--ps-field);border-radius:var(--ps-r-md);background:#fffdf9;font-size:var(--ps-fs-md);transition:border-color .2s,box-shadow .2s}
.ps-site .field textarea{min-height:128px}
.ps-site .field input:focus,.ps-site .field select:focus,.ps-site .field textarea:focus{outline:none;border-color:var(--ps-green);background:#fff;box-shadow:0 0 0 3px #1f4a3722}
.ps-site .pill{min-height:var(--ps-tap);padding:0 var(--ps-s4);border:1px solid var(--ps-line);border-radius:var(--ps-r-pill);background:var(--ps-bg);color:var(--ps-ink);font-size:var(--ps-fs-sm);line-height:24px}.ps-site .pill:hover{border-color:var(--ps-green)}
.ps-input-unit{display:flex;align-items:center;gap:var(--ps-s3)}.ps-input-unit input{flex:1;min-width:0}.ps-input-unit span{width:4.5em;font-size:var(--ps-fs-sm);color:var(--ps-sub);white-space:nowrap;line-height:24px}
.ps-chips{display:flex;flex-wrap:wrap;gap:var(--ps-s2);margin-top:var(--ps-s2)}
/* 試算 */
.ps-calc{display:grid;gap:var(--ps-s5);align-items:start}.ps-site .ps-calc .fields{grid-template-columns:1fr}
.ps-result{background:var(--ps-green-deep);color:var(--ps-on-dark)}.ps-site .ps-result h2{color:#fff}.ps-result .ps-panel-title i{background:#fff;color:var(--ps-green-deep)}.ps-result .ps-fine{color:var(--ps-on-dark-sub)}
.ps-result-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ps-on-dark-line)}
.ps-result-grid>div{padding:var(--ps-s4) 0;border-bottom:1px solid var(--ps-on-dark-line)}.ps-result-grid>div:nth-child(3){padding-left:var(--ps-s4);border-left:1px solid var(--ps-on-dark-line)}
.ps-result-grid .ps-result-main{grid-column:1/-1}.ps-result-grid small{display:block;font-size:var(--ps-fs-xs);color:var(--ps-on-dark-sub);line-height:20px}
.ps-result-grid b{display:block;font-family:var(--ps-num);font-variant-numeric:tabular-nums;font-size:calc(var(--ps-fs-2xl) + 4px);font-weight:400;line-height:40px;font-variant-numeric:lining-nums;color:#fff}.ps-result-grid b i{margin-left:var(--ps-s1);font-family:var(--ps-sans);font-size:var(--ps-fs-sm);font-weight:400;font-style:normal;line-height:24px}
.ps-result-main b{font-size:var(--ps-fs-num)}.ps-result-wait{font-size:var(--ps-fs-sm);color:var(--ps-on-dark-sub);line-height:24px}
.ps-result-empty{padding:var(--ps-s5) 0;border-top:1px solid var(--ps-on-dark-line);border-bottom:1px solid var(--ps-on-dark-line);color:var(--ps-on-dark-sub)}
.ps-site .ps-result .btn.primary{width:100%;margin-top:var(--ps-s5);background:#fff;border-color:#fff;color:var(--ps-green-deep)}
@media (min-width:1024px){.ps-calc{grid-template-columns:7fr 5fr;gap:var(--ps-s6)}.ps-result{position:sticky;top:calc(var(--ps-header-h) + var(--ps-s6))}}
/* 相談 */
.ps-consult-layout{display:grid;gap:var(--ps-s5);align-items:start}
.ps-consult{display:grid;gap:var(--ps-s5);min-width:0}.ps-consult>*{margin:0!important}.ps-site .ps-consult .fields{grid-template-columns:1fr}
.ps-consult-aside{order:2}.ps-site .ps-consult-aside h2{font-size:var(--ps-fs-lg)}.ps-consult-aside .ps-flow b{font-size:var(--ps-fs-md)}
.ps-calc-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:var(--ps-s3) var(--ps-s4);margin:0}.ps-calc-summary dt{font-size:var(--ps-fs-xs);color:var(--ps-sub);line-height:20px}.ps-calc-summary dd{margin:0;font-weight:600}
.ps-choice{min-width:0;margin:0;padding:0;border:0}.ps-choice legend{padding:0}
.ps-choice-row{display:flex;flex-wrap:wrap;gap:var(--ps-s2)}
.ps-choice-row label{display:inline-flex;align-items:center;gap:var(--ps-s2);min-height:var(--ps-tap);padding:0 var(--ps-s4) 0 var(--ps-s3);border:1px solid var(--ps-field);border-radius:var(--ps-r-pill);background:#fffdf9;font-size:var(--ps-fs-sm);cursor:pointer;transition:border-color .2s,background .2s;line-height:24px}
.ps-choice-row label:has(input:checked){border-color:var(--ps-green);background:var(--ps-green-soft);color:var(--ps-green);font-weight:600}
.ps-choice-row input{flex-shrink:0;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:var(--ps-green)}
.ps-site label.check-label{display:flex;gap:var(--ps-s3);padding:0;font-size:var(--ps-fs-sm);line-height:24px}.ps-site .check-label input{margin-top:var(--ps-s1)}
.ps-site .dialog-error:not(:empty){margin-top:var(--ps-s4)}
.ps-submit{width:100%;margin-top:var(--ps-s6)}
#consult-turnstile{margin-top:var(--ps-s5)}
@media (min-width:1024px){.ps-consult-layout{grid-template-columns:minmax(0,1fr) 320px;gap:var(--ps-s8)}.ps-consult-aside{order:2;position:sticky;top:calc(var(--ps-header-h) + var(--ps-s6))}}
.ps-field-error{display:block;margin-top:var(--ps-s2);font-size:var(--ps-fs-xs);font-weight:600;color:var(--ps-error);line-height:20px}
.ps-invalid input:not([type=radio]):not([type=checkbox]),.ps-invalid select,.ps-invalid textarea{border-color:var(--ps-error)!important;box-shadow:0 0 0 1px var(--ps-error)!important}
.ps-invalid .ps-choice-row label{border-color:#e3a59c}
/* よくある質問・会社情報 */
.ps-faq{max-width:var(--ps-maxw);border-top:1px solid var(--ps-line)}
.ps-qa{border-bottom:1px solid var(--ps-line)}
.ps-qa summary{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ps-s4);min-height:var(--ps-tap);padding:var(--ps-s5) 0;font-size:var(--ps-fs-md);font-weight:600;font-feature-settings:"palt";letter-spacing:.04em;line-height:28px;list-style:none;cursor:pointer}
.ps-qa summary::-webkit-details-marker{display:none}
.ps-qa summary::after{content:"+";flex-shrink:0;width:var(--ps-s5);font-family:var(--ps-sans);font-size:var(--ps-fs-2xl);font-weight:400;line-height:1;text-align:center;color:var(--ps-green);transition:transform .25s}.ps-qa[open] summary::after{transform:rotate(45deg)}
.ps-qa-body{max-width:var(--ps-measure);padding:0 var(--ps-s7) var(--ps-s5) 0;font-size:var(--ps-fs-sm);line-height:24px;color:var(--ps-body)}
/* 相談フォーム: 任意の項目を畳む */
.ps-more-fields{margin-top:var(--ps-s6);border-top:1px solid var(--ps-line);border-bottom:1px solid var(--ps-line)}
.ps-more-fields summary{display:flex;flex-direction:column;gap:var(--ps-s1);position:relative;min-height:var(--ps-tap);padding:var(--ps-s4) var(--ps-s7) var(--ps-s4) 0;list-style:none;cursor:pointer}
.ps-more-fields summary::-webkit-details-marker{display:none}
.ps-more-fields summary span{font-size:var(--ps-fs-md);font-weight:600;line-height:28px;color:var(--ps-green)}
.ps-more-fields summary small{font-size:var(--ps-fs-xs);line-height:20px;color:var(--ps-sub)}
.ps-more-fields summary::after{content:"+";position:absolute;right:0;top:var(--ps-s4);width:var(--ps-s5);font-size:var(--ps-fs-2xl);font-weight:400;line-height:28px;text-align:center;color:var(--ps-green);transition:transform .25s}
.ps-more-fields[open] summary::after{transform:rotate(45deg)}
.ps-more-fields>.fields{padding:var(--ps-s2) 0 var(--ps-s6)}
@media (min-width:768px){.ps-qa summary{font-size:var(--ps-fs-lg)}.ps-qa-body{font-size:var(--ps-fs-md)}}
.ps-company{margin:0;border-top:1px solid var(--ps-line)}
.ps-company div{display:grid;grid-template-columns:5em 1fr;gap:var(--ps-s3);padding:var(--ps-s4) 0;border-bottom:1px solid var(--ps-line)}
.ps-company dt{font-size:var(--ps-fs-sm);color:var(--ps-sub);line-height:24px}.ps-company dd{margin:0}
/* フッター */
.ps-footer{position:relative;overflow:hidden;padding:var(--ps-s9) 0 env(safe-area-inset-bottom);background:var(--ps-ink);color:#ffffffc7;font-size:var(--ps-fs-sm);line-height:24px}
.ps-footer a{color:#fff}
.ps-footer-grid{display:grid;gap:var(--ps-s7)}
.ps-footer-brand p{margin-top:var(--ps-s4)!important;line-height:1.9}
.ps-logo-light img{width:120px;filter:brightness(0) invert(1)}.ps-logo-light span{color:#ffffff99}
.ps-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--ps-s5);align-content:start}
.ps-footer nav a{display:flex;align-items:center;min-height:var(--ps-tap);text-decoration:none}
.ps-footer-info{display:grid;gap:var(--ps-s2);margin:0}.ps-footer-info div{display:grid;grid-template-columns:4em 1fr;gap:var(--ps-s2)}.ps-footer-info dt{color:#ffffff80}.ps-footer-info dd{margin:0}
.ps-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--ps-s3);margin-top:var(--ps-s8);padding-top:var(--ps-s5);border-top:1px solid #ffffff1f;font-size:var(--ps-fs-xs);line-height:20px}
.ps-footer-mark{max-width:calc(var(--ps-maxw) + var(--ps-gutter) * 2);margin:0 auto;padding:var(--ps-s7) var(--ps-gutter) 0}
.ps-footer-mark img{display:block;width:100%;height:auto;opacity:.07;filter:brightness(0) invert(1);transform:translateY(18%)}
@media (min-width:768px){.ps-footer{padding-top:var(--ps-s10)}.ps-footer-grid{grid-template-columns:1fr 1fr;gap:var(--ps-s8) var(--ps-grid-gap)}.ps-footer-info{grid-column:1/-1}}
@media (min-width:1024px){.ps-footer-grid{grid-template-columns:minmax(0,1fr) auto auto;column-gap:var(--ps-s9)}.ps-footer nav a{white-space:nowrap}.ps-footer-info{grid-column:auto}}
/* スマホ下部の相談ボタン（ヒーローを過ぎたら出し、締めの帯とフッターでは隠す） */
.ps-dock{position:fixed;left:var(--ps-s3);right:var(--ps-s3);bottom:calc(var(--ps-s3) + env(safe-area-inset-bottom));z-index:25;display:grid;grid-template-columns:2fr 3fr;gap:var(--ps-s2);padding:var(--ps-s2);border-radius:var(--ps-r-pill);background:#faf7f1eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 12px 32px -12px #1d262066,0 0 0 1px var(--ps-line);transform:translateY(calc(100% + var(--ps-s6)));transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.ps-dock.is-on{transform:none}
.ps-site .ps-dock .btn{min-height:var(--ps-btn-h-sm);padding:0 var(--ps-s3);font-size:var(--ps-fs-sm);line-height:24px}
@media (min-width:768px){.ps-dock{display:none}}
/* スクロールで現れる動き */
.ps-js .ps-rv{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.ps-js .ps-rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ps-site *{transition:none!important;animation:none!important}.ps-js .ps-rv{opacity:1;transform:none}}
