/* Layout: 白地に黒の極太ゴシック、ブランドの深緑を面で使う。数字は英字書体でシャープに。
   全ページ共通：ページ見出し帯 → 本文 → お問い合わせ帯 → フッター */
:root{
  --bg:#FFFFFF;
  --surface:#F2F5F3;
  --ink:#111614;
  --sub:#58635F;
  --line:#DCE3DF;
  --green:#1F4633;
  --green-deep:#173628;
  --mint:#BFD9CA;
  --mint-soft:#E5F1EA;
  --on-green:#F3F8F5;

  --f-jp:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;
  --f-en:'Archivo','Noto Sans JP','Helvetica Neue',Arial,sans-serif;

  --gut-l:max(16px, env(safe-area-inset-left, 0px));
  --gut-r:max(16px, env(safe-area-inset-right, 0px));
  color-scheme:light;
}
html{overflow-x:clip;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-jp);font-size:15px;line-height:1.85;-webkit-font-smoothing:antialiased;font-feature-settings:"palt";}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:#FFFFFF;}
.cph *{box-sizing:border-box;}
:where(.cph) a{color:inherit;text-decoration:none;}
.cph h1,.cph h2,.cph h3,.cph p,.cph figure,.cph ul,.cph ol,.cph dl,.cph dd{margin:0;padding:0;}
.cph ul,.cph ol{list-style:none;}
.cph h1,.cph h2,.cph h3{text-wrap:balance;text-align:left;}
.cph img{max-width:100%;display:block;height:auto;}
.cph :focus-visible{outline:2px solid var(--green);outline-offset:3px;}

.in{max-width:1240px;margin:0 auto;padding-left:var(--gut-l);padding-right:var(--gut-r);}
@media (min-width:900px){.in{padding-left:max(40px, env(safe-area-inset-left,0px));padding-right:max(40px, env(safe-area-inset-right,0px));}}
.narrow{max-width:880px;}

.en{font-family:var(--f-en);font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
.eyebrow{font-size:13px;font-weight:700;color:var(--green);letter-spacing:.04em;}

.btn{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:14.5px;padding:16px 24px;border-radius:2px;border:0;cursor:pointer;font-family:var(--f-jp);transition:background-color .2s ease,color .2s ease,gap .2s ease;}
.btn:hover{gap:16px;}
.btn-green{background:var(--green);color:#FFFFFF;}
.btn-green:hover{background:var(--green-deep);}
.btn-ghost{background:transparent;box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink);}
.btn-ghost:hover{background:var(--ink);color:#FFFFFF;}
.btns{display:flex;flex-wrap:wrap;gap:10px;}
.textlink{display:inline-flex;gap:8px;font-size:14px;font-weight:700;color:var(--green);border-bottom:1.5px solid var(--green);padding-bottom:1px;}
.textlink:hover{color:var(--ink);border-color:var(--ink);}

.sec{padding-block:clamp(64px,9vw,112px);}
.sec-surface{background:var(--surface);}
.h2{font-weight:900;font-size:clamp(26px,3.6vw,42px);line-height:1.4;margin-top:12px;}
.lead{margin-top:16px;max-width:42em;font-size:15px;line-height:2.05;color:#2B3330;}

/* ── ヘッダー ── */
.head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.head .in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;}
.logo{display:flex;flex-direction:column;line-height:1.3;}
.logo b{font-weight:900;font-size:18px;letter-spacing:.01em;}
.logo span{font-size:11px;color:var(--sub);}
.nav{display:flex;align-items:center;gap:4px 22px;font-size:13.5px;font-weight:700;}
.nav a:not(.btn){color:#2B3330;padding-block:6px;border-bottom:2px solid transparent;}
.nav a:not(.btn):hover,.nav a[aria-current="page"]{color:var(--green);border-color:var(--green);}
.nav .btn{padding:10px 16px;font-size:13px;}
.menu-btn{display:none;background:none;border:1.5px solid var(--ink);border-radius:2px;font-family:var(--f-jp);font-weight:700;font-size:13px;padding:8px 12px;cursor:pointer;color:var(--ink);}

/* ── ページ見出し帯 ── */
.ph{border-bottom:1px solid var(--line);}
.ph .in{padding-block:clamp(44px,6vw,80px) clamp(32px,4.5vw,56px);}
.crumb{font-size:12px;color:var(--sub);}
.crumb a:hover{color:var(--green);}
.ph h1{font-weight:900;font-size:clamp(32px,5vw,60px);line-height:1.25;margin-top:14px;letter-spacing:-.01em;}
.ph p{margin-top:14px;max-width:40em;font-size:15px;line-height:2;color:#2B3330;}

/* ── TOP：ヒーロー ── */
.hero .in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,5vw,72px);align-items:center;padding-block:clamp(48px,7vw,96px);}
.hero h1{font-weight:900;font-size:clamp(44px,6.4vw,92px);line-height:1.16;letter-spacing:-.01em;margin-top:20px;}
.hero h1 .l{display:block;overflow:hidden;}
.hero h1 .l > span{display:block;}
.hero h1 .g{color:var(--green);}
.hero .lead{margin-top:28px;max-width:30em;font-size:15.5px;}
.hero .btns{margin-top:32px;}
.hero-meta{margin-top:40px;display:flex;flex-wrap:wrap;gap:8px 28px;font-size:12.5px;color:var(--sub);border-top:1px solid var(--line);padding-top:18px;}
.hero-meta b{font-weight:700;color:var(--ink);margin-right:8px;}
.hero-visual{position:relative;}
.hero-visual img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 48%;}
.hero-card{position:absolute;left:-28px;bottom:28px;width:min(300px,85%);background:var(--green);color:#FFFFFF;padding:20px 22px;box-shadow:0 18px 40px rgba(17,22,20,.22);transition:transform .25s ease;}
.hero-card:hover{transform:translateY(-3px);}
.hero-card .t{font-size:12.5px;font-weight:700;color:var(--mint);display:flex;align-items:center;gap:8px;}
.hero-card .t::before{content:"";width:8px;height:8px;border-radius:50%;background:#7FE0A8;box-shadow:0 0 0 4px rgba(127,224,168,.22);}
.hero-card .n{font-size:15px;font-weight:700;margin-top:6px;line-height:1.6;}
.hero-card .n .en{font-size:34px;line-height:1;display:inline-block;margin:0 2px;}
.hero-card .s{font-size:12px;color:var(--mint);margin-top:4px;}
.hero-card .go{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:700;}
@media (prefers-reduced-motion:no-preference){
  .page.on .hero h1 .l > span{animation:up .9s cubic-bezier(.2,.7,.1,1) both;}
  .page.on .hero h1 .l:nth-child(2) > span{animation-delay:.12s;}
  .page.on .hero-card{animation:card .8s .5s cubic-bezier(.2,.7,.1,1) both;}
}
@keyframes up{from{transform:translateY(105%);}to{transform:none;}}
@keyframes card{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}

/* ── 採用（緑の帯） ── */
.green-band{background:var(--green);color:var(--on-green);}
.green-band .eyebrow{color:var(--mint);}
.quote-h{font-weight:900;font-size:clamp(34px,5.4vw,72px);line-height:1.22;letter-spacing:-.01em;margin-top:16px;color:#FFFFFF;}
.by{margin-top:22px;display:flex;align-items:center;gap:14px;font-size:13px;color:var(--mint);}
.by img{width:48px;height:48px;object-fit:cover;object-position:52% 22%;border-radius:50%;}
.intro{margin-top:20px;max-width:38em;font-size:15.5px;line-height:2;}
.figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(48px,7vw,80px);border-top:1px solid rgba(255,255,255,.28);}
.fig{padding:24px 24px 4px 0;}
.fig + .fig{padding-left:24px;border-left:1px solid rgba(255,255,255,.18);}
.fig .k{font-size:13px;font-weight:700;color:var(--mint);}
.fig .v{margin-top:10px;display:flex;align-items:baseline;white-space:nowrap;gap:0 6px;color:#FFFFFF;}
.fig .v .en{font-size:clamp(44px,5.2vw,76px);line-height:1;}
.fig .v .u{font-size:clamp(18px,2vw,24px);font-weight:900;}
.fig .v .from{font-size:clamp(18px,2vw,22px);color:var(--mint);font-family:var(--f-en);font-weight:700;}
.fig .s{margin-top:10px;font-size:12.5px;color:var(--mint);line-height:1.7;}
.fig .s b{background:#FFFFFF;color:var(--green);padding:1px 8px;font-weight:900;margin-right:4px;}

/* 働き方：一覧 */
.ways{margin-top:clamp(48px,7vw,80px);}
.ways-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.ways-h h3{font-size:clamp(20px,2.4vw,26px);font-weight:900;color:#FFFFFF;}
.ways-h span{font-size:13px;color:var(--mint);}
.ways-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 clamp(20px,3vw,40px);margin-top:12px;}
.way{border-top:1px solid rgba(255,255,255,.28);padding-block:18px 22px;}
.way b{display:block;font-size:17px;font-weight:900;color:#FFFFFF;line-height:1.5;}
.way span{display:block;margin-top:4px;font-size:13.5px;line-height:1.8;color:var(--mint);}
.green-band .btns{margin-top:36px;}
.green-band .btn-green{background:#FFFFFF;color:var(--green);}
.green-band .btn-green:hover{background:var(--mint-soft);}
.green-band .btn-ghost{box-shadow:inset 0 0 0 1.5px #FFFFFF;color:#FFFFFF;}
.green-band .btn-ghost:hover{background:#FFFFFF;color:var(--green);}
.voice{background:var(--green-deep);padding:22px 24px;font-size:15px;line-height:1.95;}
.voice span{display:block;margin-top:6px;font-size:12.5px;color:var(--mint);}

/* ── 共通：行リスト（概要・募集要項） ── */
.rows .row{display:grid;grid-template-columns:9em minmax(0,1fr);gap:4px 24px;padding-block:16px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.85;}
.rows .row:first-child{border-top:2px solid var(--ink);}
.rows .k{color:var(--sub);font-weight:500;}
.rows .v b{font-family:var(--f-en);font-weight:800;font-size:1.12em;}
.rows .v small{display:block;font-size:13px;color:var(--sub);}
.rows .v mark{background:var(--mint-soft);color:var(--green);font-weight:900;padding:1px 6px;}

/* ── TOP：はちまんについて ── */
.about-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);margin-top:28px;align-items:start;}
.photo-m img{width:100%;aspect-ratio:560/370;object-fit:cover;object-position:center 30%;}
.photo-m figcaption{font-size:12px;color:var(--sub);margin-top:8px;}
.about-grid h2{font-weight:900;font-size:clamp(26px,3.4vw,40px);line-height:1.4;}
.greet{margin-top:20px;font-size:15px;line-height:2.05;color:#2B3330;max-width:36em;}
.greet + .greet{margin-top:14px;}
.career{margin-top:28px;}
.career .h{font-size:13px;font-weight:700;color:var(--sub);margin-bottom:6px;}
.career li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:14px;font-size:14px;line-height:1.75;padding-block:8px;position:relative;}
.career li::before{content:"";width:9px;height:9px;border-radius:50%;border:2px solid var(--green);margin-top:7px;background:#FFFFFF;position:relative;z-index:1;}
.career li:not(:last-child)::after{content:"";position:absolute;left:5.5px;top:24px;bottom:-8px;width:2px;background:var(--line);}
.career li:last-child::before{background:var(--green);}
.mvv{margin-top:clamp(56px,8vw,96px);display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr));background:var(--surface);}
.sec-surface .mvv{background:#FFFFFF;}
.mvv > div{padding:28px 24px;}
.mvv > div + div{border-left:1px solid var(--line);}
.mvv .k{font-size:12.5px;font-weight:700;color:var(--sub);}
.mvv .head2{font-weight:900;font-size:clamp(20px,2vw,24px);line-height:1.45;margin-top:6px;}
.mvv .v{font-size:15.5px;font-weight:700;line-height:1.8;margin-top:6px;}

/* ── サービス ── */
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-top:clamp(36px,5vw,52px);}
.cards3 > div{background:#FFFFFF;padding:26px 24px;}
.sec:not(.sec-surface) .cards3 > div{background:var(--surface);}
.cards3 h3{font-size:17px;font-weight:900;}
.cards3 p{margin-top:8px;font-size:14px;line-height:1.95;color:#2B3330;}
.meta2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin-top:2px;}
.meta2 > *{background:#FFFFFF;padding:22px 24px;}
.sec:not(.sec-surface) .meta2 > *{background:var(--surface);}
.meta2 .k{font-size:12.5px;font-weight:700;color:var(--sub);}
.meta2 .v{font-size:16px;font-weight:700;line-height:1.75;margin-top:4px;}
.meta2 .s{font-size:13px;color:var(--sub);margin-top:2px;}
.meta2 a{transition:background-color .2s ease;}
.meta2 a:hover{background:var(--mint-soft) !important;}
.meta2 .go{font-size:13.5px;font-weight:700;color:var(--green);margin-top:6px;}

.worries{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:2px;margin-top:28px;}
.worries li{background:var(--surface);padding:20px 22px;font-size:15px;font-weight:700;line-height:1.7;}
.worries li::before{content:"";display:block;width:18px;height:2px;background:var(--green);margin-bottom:12px;}

.flow{margin-top:28px;counter-reset:f;}
.flow li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;padding-block:22px;border-top:1px solid var(--line);}
.flow li:last-child{border-bottom:1px solid var(--line);}
.flow .no{font-family:var(--f-en);font-weight:800;font-size:28px;line-height:1.2;color:var(--green);}
.flow h3{font-size:17px;font-weight:900;}
.flow p{margin-top:6px;font-size:14.5px;line-height:1.95;color:#2B3330;}

.faq{margin-top:28px;border-top:2px solid var(--ink);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:28px minmax(0,1fr) 20px;gap:12px;align-items:baseline;padding-block:18px;font-size:15.5px;font-weight:700;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .q{font-family:var(--f-en);font-weight:800;color:var(--green);}
.faq summary .pm{font-family:var(--f-en);font-weight:800;color:var(--sub);transition:transform .2s ease;}
.faq details[open] summary .pm{transform:rotate(45deg);}
.faq .a{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding-bottom:20px;font-size:14.5px;line-height:1.95;color:#2B3330;}
.faq .a .q{font-family:var(--f-en);font-weight:800;color:var(--sub);}

/* ── 協力医療機関 ── */
.clinics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin-top:28px;}
.clinic{background:var(--surface);padding:clamp(24px,3.4vw,36px);display:flex;flex-direction:column;gap:14px;}
.clinic .tag{font-size:12.5px;font-weight:700;color:var(--green);}
.clinic h2{font-size:clamp(22px,2.6vw,28px);font-weight:900;line-height:1.4;}
.clinic p{font-size:14.5px;line-height:1.95;color:#2B3330;}
.clinic .rows .row{grid-template-columns:6.5em minmax(0,1fr);font-size:14px;padding-block:12px;}
.clinic .rows .row:first-child{border-top:1px solid var(--ink);}
.clinic .textlink{align-self:flex-start;margin-top:auto;}

/* ── フォーム（試作） ── */
.form{display:grid;gap:18px;max-width:720px;}
.field label{display:block;font-size:14px;font-weight:700;margin-bottom:6px;}
.field label em{font-style:normal;font-size:11.5px;font-weight:700;color:#FFFFFF;background:var(--green);padding:1px 6px;margin-left:8px;border-radius:2px;}
.field input[type="text"],.field input[type="email"],.field input[type="tel"],.field textarea{width:100%;font-family:var(--f-jp);font-size:16px;padding:13px 14px;border:1.5px solid var(--line);border-radius:2px;background:#FFFFFF;color:var(--ink);}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--green);}
.field textarea{min-height:140px;resize:vertical;}
.choices{display:flex;flex-wrap:wrap;gap:8px;}
.choices label{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;border:1.5px solid var(--line);padding:10px 14px;border-radius:2px;cursor:pointer;margin:0;}
.choices input{accent-color:var(--green);}
.choices label:has(input:checked){border-color:var(--green);background:var(--mint-soft);}
.consent{background:var(--surface);padding:16px 18px;font-size:13.5px;line-height:1.85;color:#2B3330;}
.consent a{color:var(--green);font-weight:700;border-bottom:1px solid var(--green);}
.agree{display:flex;align-items:center;gap:10px;font-size:14.5px;font-weight:700;}
.agree input{width:18px;height:18px;accent-color:var(--green);}
.form-note{font-size:13px;color:var(--sub);}
.form-done{background:var(--mint-soft);color:var(--green);font-weight:700;padding:14px 18px;font-size:14.5px;}

/* ── お知らせ ── */
.news li a{display:grid;grid-template-columns:8em 6em minmax(0,1fr) 20px;gap:16px;align-items:baseline;padding-block:20px;border-bottom:1px solid var(--line);font-size:15px;transition:background-color .2s ease;}
.news li:first-child a{border-top:2px solid var(--ink);}
.news li a:hover{color:var(--green);}
.news time{font-family:var(--f-en);font-weight:700;color:var(--sub);font-size:14px;}
.news .cat{font-size:12px;font-weight:700;color:var(--green);border:1px solid var(--green);padding:0 8px;justify-self:start;}
.news .ar{color:var(--sub);}

/* ── プライバシーポリシー ── */
.policy{max-width:46em;}
.policy h2{font-size:18px;font-weight:900;margin-top:36px;padding-top:20px;border-top:1px solid var(--line);}
.policy p,.policy li{font-size:15px;line-height:2;color:#2B3330;}
.policy p{margin-top:10px;}
.policy ul{margin-top:8px;}
.policy li{padding-left:1.2em;position:relative;}
.policy li::before{content:"";position:absolute;left:0;top:.95em;width:6px;height:6px;background:var(--green);}
.policy .date{margin-top:40px;font-size:13px;color:var(--sub);text-align:right;}

/* ── お問い合わせ帯（全ページ共通） ── */
.contact{background:var(--ink);color:#FFFFFF;}
.contact .in{padding-block:clamp(64px,9vw,104px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(36px,5vw,72px);align-items:end;}
.contact .eyebrow{color:var(--mint);}
.contact h2{font-weight:900;font-size:clamp(26px,3.4vw,38px);line-height:1.45;margin-top:14px;}
.contact .lead{color:#C9D1CD;}
.tel{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px;}
.tel .en{font-size:clamp(40px,5.6vw,64px);line-height:1;user-select:all;}
.copy{font-family:var(--f-jp);font-size:12.5px;font-weight:700;color:#FFFFFF;background:transparent;border:1px solid #5B6662;padding:6px 12px;border-radius:2px;cursor:pointer;}
.copy:hover{background:#26302C;}
.hours{font-size:13px;color:#9AA6A0;margin-top:8px;}
.contact .btns{margin-top:28px;}
.contact .btn-green{background:#FFFFFF;color:var(--ink);}
.contact .btn-green:hover{background:var(--mint);}
.contact .btn-ghost{box-shadow:inset 0 0 0 1.5px #FFFFFF;color:#FFFFFF;}
.contact .btn-ghost:hover{background:#FFFFFF;color:var(--ink);}
.addr{border-top:1px solid #3A4440;font-size:14px;line-height:1.95;color:#DDE3E0;}
.addr > div{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:12px;padding-block:12px;border-bottom:1px solid #2C3531;}
.addr .k{color:#8E9A94;}

/* ── フッター ── */
.foot{background:#0B0F0D;color:#C9D1CD;font-size:13.5px;}
.foot .in{padding-block:48px calc(96px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;}
.foot .logo b{color:#FFFFFF;}
.foot .logo span{color:#8E9A94;}
.foot address{font-style:normal;margin-top:16px;line-height:1.9;color:#AEB8B3;}
.foot-nav{display:grid;grid-template-columns:repeat(2,auto);gap:8px 32px;align-content:start;}
.foot-nav a:hover{color:#FFFFFF;}
.foot small{grid-column:1 / -1;border-top:1px solid #222A26;padding-top:20px;font-size:12px;color:#7E8A84;}

/* ── 固定バー ── */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 18px;
  padding:10px max(16px, env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));
  transform:translateY(110%);transition:transform .4s ease;}
.sticky.on{transform:none;}
.sticky p{font-size:13.5px;font-weight:900;}
.sticky p span{font-weight:500;color:var(--sub);margin-left:10px;}
.sticky a{background:var(--green);color:#FFFFFF;font-size:13px;font-weight:700;padding:9px 18px;border-radius:2px;white-space:nowrap;}
.sticky a:hover{background:var(--green-deep);}
@media (prefers-reduced-motion:reduce){.sticky{transition:none;}}

/* ── ページ切り替え ── */


/* ── スマホ ── */
@media (max-width:1000px){
  .menu-btn{display:inline-block;}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#FFFFFF;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut-r) 16px var(--gut-l);}
  .nav.open{display:flex;}
  .nav a:not(.btn){padding-block:14px;border-bottom:1px solid var(--line);font-size:15px;}
  .nav a[aria-current="page"]{border-bottom-color:var(--line);}
  .nav .btn{margin-top:14px;justify-content:center;padding:14px;}
}
@media (max-width:900px){
  .hero .in,.about-grid,.contact .in,.clinics{grid-template-columns:1fr;}
  .hero-card{left:12px;bottom:12px;}
  .hero-visual img{aspect-ratio:4/3;}
  .figures{grid-template-columns:1fr;}
  .fig + .fig{padding-left:0;border-left:0;border-top:1px solid rgba(255,255,255,.18);}
  .fig{padding:20px 0;}
  .ways-grid{grid-template-columns:1fr 1fr;}
  .mvv{grid-template-columns:1fr 1fr;}
  .mvv > div:first-child{grid-column:1 / -1;}
  .mvv > div:nth-child(2){border-left:0;}
  .mvv > div:nth-child(n+2){border-top:1px solid var(--line);}
  .cards3,.meta2{grid-template-columns:1fr;}
  .foot .in{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .ways-grid{grid-template-columns:1fr;}
  .rows .row{grid-template-columns:1fr;gap:0;}
  .mvv{grid-template-columns:1fr;}
  .mvv > div{border-left:0 !important;}
  .news li a{grid-template-columns:auto auto;gap:6px 12px;}
  .news li a > span:nth-child(3){grid-column:1 / -1;}
  .news .ar{display:none;}
  .sticky p span{display:block;margin-left:0;font-size:12px;}
  .flow li{grid-template-columns:44px minmax(0,1fr);gap:12px;}
}

/* ════ インパクト強化（ケアモンスター水準） ════ */
:root{--f-disp:'Zen Kaku Gothic New','Noto Sans JP','Hiragino Sans',sans-serif;}
.hero h1,.quote-h,.h2,.ph h1,.about-grid h2,.contact h2,.ways-h h3,.mvv .head2,.clinic h2,.big-mq{font-family:var(--f-disp);}
.en{font-weight:900;letter-spacing:-.02em;}

/* ボタン：ピル型＋ずらし影 */
.btn{border-radius:999px;padding:16px 18px 16px 28px;font-size:15px;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease;}
.btn:hover{gap:12px;transform:translate(-2px,-3px);box-shadow:4px 5px 0 var(--ink);}
.btn .ar{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);font-size:14px;transition:transform .25s ease;}
.btn:hover .ar{transform:translateX(3px);}
.btn-ghost .ar{background:var(--ink);color:#FFFFFF;}
.btn-ghost:hover .ar{background:#FFFFFF;color:var(--ink);}
.btn-green{box-shadow:0 0 0 0 var(--ink);}
.green-band .btn:hover{box-shadow:4px 5px 0 var(--mint);}
.green-band .btn-green .ar{background:var(--green);color:#FFFFFF;}
.green-band .btn-ghost .ar{background:#FFFFFF;color:var(--green);}
.green-band .btn-ghost:hover .ar{background:var(--green);color:#FFFFFF;}
.contact .btn:hover{box-shadow:4px 5px 0 var(--mint);}
.contact .btn-green .ar{background:var(--ink);color:#FFFFFF;}
.contact .btn-ghost .ar{background:#FFFFFF;color:var(--ink);}
.contact .btn-ghost:hover .ar{background:var(--ink);color:#FFFFFF;}
.nav .btn{padding:10px 18px;}
.nav .btn:hover{box-shadow:3px 4px 0 var(--ink);}
.menu-btn{border-radius:999px;padding:8px 16px;}
.sticky a{border-radius:999px;padding:10px 20px;}

/* ヒーロー：特大の見出し */
.hero{position:relative;overflow:clip;}
.hero .in{display:block;padding-block:clamp(36px,5vw,72px) clamp(40px,6vw,80px);}
.hero h1{font-size:clamp(40px,min(14.2vw,158px),158px);line-height:1.08;letter-spacing:-.03em;margin-top:14px;white-space:nowrap;}
.hero h1 .l{padding-bottom:.04em;}
.hero h1 .mk{position:relative;display:inline-block;isolation:isolate;}
.hero h1 .mk::after{content:"";position:absolute;left:0;right:.6em;bottom:.04em;height:.16em;background:var(--mint);z-index:-1;transform-origin:left;}
.hero-row{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,5vw,72px);align-items:start;margin-top:clamp(28px,4vw,48px);}
.hero .lead{margin-top:0;font-size:16px;}
.hero-meta{font-size:15px;gap:10px 28px;color:#2B3330;}
.hero-meta b{font-size:13px;color:var(--green);}
.hero-visual img{aspect-ratio:16/11;object-position:center 46%;border-radius:4px;}
.badge{position:absolute;left:clamp(-64px,-4vw,-20px);top:clamp(-72px,-5vw,-28px);width:clamp(118px,13vw,176px);aspect-ratio:1;border-radius:50%;background:var(--green);color:#FFFFFF;display:grid;place-items:center;box-shadow:0 14px 34px rgba(17,22,20,.25);transition:transform .25s ease,background-color .25s ease;}
.badge:hover{transform:scale(1.06) rotate(-6deg);background:var(--ink);}
.badge .ring{position:absolute;inset:0;width:100%;height:100%;}
.badge .ring text{fill:#FFFFFF;font-family:var(--f-jp);font-weight:700;font-size:15px;}
.badge .core{display:flex;flex-direction:column;align-items:center;line-height:1;}
.badge .core small{font-size:clamp(10px,.9vw,12px);font-weight:700;color:var(--mint);}
.badge .core b{font-size:clamp(34px,4vw,54px);line-height:1;margin:2px 0;}

/* 流れる帯 */
.mq-wrap{position:relative;overflow:clip;padding-block:30px 46px;margin-top:-8px;}
.mq{margin-inline:-40px;transform:rotate(-2deg);background:var(--green);color:#FFFFFF;overflow:hidden;white-space:nowrap;position:relative;z-index:2;}
.mq.rev{transform:rotate(1.4deg);background:#FFFFFF;color:var(--green);box-shadow:inset 0 0 0 2px var(--green);margin-top:-6px;z-index:1;}
.mq-track{display:inline-flex;align-items:center;gap:28px;padding-block:16px;font-family:var(--f-disp);font-weight:900;font-size:clamp(20px,2.6vw,32px);will-change:transform;}
.mq-track i{font-style:normal;font-size:.6em;color:var(--mint);}
.mq.rev i{color:var(--green);opacity:.5;}
.big-mq{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);background:#FFFFFF;}
.big-mq .mq-track{gap:56px;padding-block:clamp(22px,3vw,40px);font-size:clamp(46px,8.4vw,128px);letter-spacing:-.02em;color:var(--green);}
.big-mq .o{color:transparent;-webkit-text-stroke:2px var(--green);}
@media (prefers-reduced-motion:no-preference){
  .mq-track{animation:mq 38s linear infinite;}
  .mq.rev .mq-track{animation-duration:46s;animation-direction:reverse;}
  .big-mq .mq-track{animation-duration:30s;}
  .badge .ring{animation:spin 18s linear infinite;}
  .page.on .hero h1 .mk::after{animation:line 1s .7s cubic-bezier(.2,.7,.1,1) both;}
  .page.on .badge{animation:pop .7s .55s cubic-bezier(.3,1.5,.5,1) both;}
  .ph h1::after{animation:line .9s .25s cubic-bezier(.2,.7,.1,1) both;}
  .js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.1,1);}
  .js .rv.in-v{opacity:1;transform:none;}
}
@keyframes mq{to{transform:translateX(-50%);}}
@keyframes spin{to{transform:rotate(360deg);}}
@keyframes line{from{transform:scaleX(0);}to{transform:scaleX(1);}}
@keyframes pop{from{opacity:0;transform:scale(.4) rotate(-40deg);}to{opacity:1;transform:none;}}

/* 見出しを大きく */
.h2{font-size:clamp(30px,5vw,64px);line-height:1.25;letter-spacing:-.02em;}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;}
.eyebrow::before{content:"";width:22px;height:3px;background:currentColor;border-radius:2px;}
.ph{position:relative;overflow:clip;}
.ph h1{font-size:clamp(38px,6.6vw,96px);line-height:1.15;letter-spacing:-.03em;position:relative;display:inline-block;}
.ph h1::after{content:"";display:block;height:6px;width:min(140px,40%);background:var(--green);margin-top:18px;border-radius:3px;transform-origin:left;}
.ph .in{padding-block:clamp(48px,7vw,96px) clamp(36px,5vw,64px);}

/* 採用の帯：数字と言葉をもっと大きく */
.green-band{position:relative;overflow:clip;}
.quote-h{font-size:clamp(40px,8vw,120px);line-height:1.1;letter-spacing:-.03em;}
.fig .v .en{font-size:clamp(60px,7.4vw,112px);}
.fig .v .u{font-size:clamp(20px,2.2vw,28px);}
.fig .s b{border-radius:999px;padding:2px 10px;}
.way{transition:background-color .25s ease,padding .25s ease;}
.way:hover{background:var(--green-deep);padding-inline:16px;}
.way b{font-family:var(--f-disp);font-size:19px;}
.way b::after{content:" →";color:var(--mint);opacity:0;transition:opacity .2s ease;}
.way:hover b::after{opacity:1;}

/* カード：持ち上がり＋ずらし影 */
.cards3{gap:16px;}
.cards3 > div{border:2px solid var(--ink);border-radius:6px;transition:transform .25s ease,box-shadow .25s ease;}
.cards3 > div:hover{transform:translate(-3px,-4px) rotate(-.6deg);box-shadow:8px 8px 0 var(--green);}
.cards3 h3{font-family:var(--f-disp);font-size:20px;}
.meta2{gap:16px;margin-top:16px;}
.meta2 > *{border-radius:6px;}
.clinic{border-radius:6px;}
.clinics{gap:16px;}
.worries{gap:12px;}
.worries li{border-radius:6px;}
.mvv{border-radius:6px;overflow:hidden;}

/* お知らせ：丸い矢印 */
.news li a{grid-template-columns:8em 6em minmax(0,1fr) 44px;align-items:center;}
.news .arc{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ink);display:grid;place-items:center;transition:background-color .2s ease,color .2s ease,transform .2s ease;}
.news li a:hover .arc{background:var(--green);border-color:var(--green);color:#FFFFFF;transform:translateX(4px);}
.news li a > span:nth-child(3){background:linear-gradient(currentColor,currentColor) left bottom/0 1.5px no-repeat;transition:background-size .3s ease;justify-self:start;}
.news li a:hover > span:nth-child(3){background-size:100% 1.5px;}

/* お問い合わせ帯：大きく */
.contact h2{font-size:clamp(30px,3.9vw,54px);line-height:1.25;letter-spacing:-.02em;}
.tel .en{font-size:clamp(40px,5vw,72px);white-space:nowrap;}
.contact .in{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);}
.about-grid h2{font-size:clamp(26px,3.2vw,42px);line-height:1.3;letter-spacing:-.02em;}
.copy{border-radius:999px;padding:7px 14px;}

@media (max-width:900px){
  .hero-row{grid-template-columns:1fr;}
  .hero-visual{order:-1;margin-top:8px;}
  .hero-visual img{aspect-ratio:4/3;}
  .badge{left:auto;right:12px;top:-40px;}
  .cards3{gap:12px;}
  .contact .in{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .news li a{grid-template-columns:auto auto;}
  .news .arc{display:none;}
  .mq-track{gap:18px;padding-block:12px;}
  .btn{font-size:14.5px;}
}
@media (prefers-reduced-motion:reduce){
  .js .rv{opacity:1;transform:none;}
}

/* FV調整：バッジは写真の左下、対応エリアはチップで強調 */
.badge{left:auto;bottom:auto;top:clamp(-56px,-3.6vw,-30px);right:clamp(-40px,-2.4vw,-16px);}
.hero-row{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);}
.hero-meta{font-size:14px;}
.hero-area{margin-top:22px;}
.hero-area .k{font-size:13px;font-weight:700;color:var(--green);}
.hero-area ul{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.hero-area li{font-family:var(--f-disp);font-weight:900;font-size:16px;line-height:1;padding:10px 14px;border-radius:999px;border:2px solid var(--green);color:var(--green);background:#FFFFFF;}
.hero-area li.main{background:var(--green);color:#FFFFFF;}
.hero-area li.main::after{content:"中心";font-family:var(--f-jp);font-size:11px;font-weight:700;margin-left:6px;color:var(--mint);vertical-align:2px;}
@media (max-width:900px){
  .badge{left:auto;right:12px;top:auto;bottom:-36px;}
  .hero-txt{margin-top:28px;}
  .hero-area li{font-size:16px;padding:10px 15px;}
}

/* レバウェル掲載 */
.lev{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-top:clamp(36px,5vw,56px);background:#FFFFFF;color:var(--ink);border-radius:6px;padding:18px 22px;transition:transform .25s ease,box-shadow .25s ease;}
.lev:hover{transform:translate(-2px,-3px);box-shadow:5px 6px 0 var(--mint);}
.lev-t b{display:block;font-family:var(--f-disp);font-weight:900;font-size:18px;}
.lev-t span{display:block;font-size:13.5px;color:var(--sub);margin-top:2px;}
.lev img{width:300px;height:auto;aspect-ratio:5/1;max-width:100%;}
.lev-banner{margin-top:24px;}
.lev-banner span{display:block;font-size:13px;color:var(--sub);margin-bottom:4px;}
.lev-banner img{width:338px;max-width:100%;height:auto;aspect-ratio:2/1;border:0;}

.narrow .h2{font-size:clamp(28px,4.2vw,48px);}
/* 採用の見出し：左に大きな言葉、右に松本さんと本文 */
.quote-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px clamp(32px,5vw,72px);align-items:end;margin-top:16px;}
.quote-grid .quote-h{margin-top:0;font-size:clamp(40px,7.6vw,106px);}
.quote-h .ln{display:block;white-space:nowrap;}
.quote-side{padding-bottom:.6em;}
.quote-side .by{margin-top:0;}
.quote-side .intro{max-width:none;}
@media (max-width:900px){
  .quote-grid{grid-template-columns:1fr;}
  .quote-grid .quote-h{font-size:clamp(40px,12.6vw,96px);}
  .quote-side{padding-bottom:0;}
}

.by-text span::before{content:"";display:inline-block;width:22px;height:2px;background:var(--mint);vertical-align:middle;margin-right:10px;}

/* ── WordPress ── */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.admin-bar .head{top:calc(32px + env(safe-area-inset-top,0px));}
@media (max-width:782px){.admin-bar .head{top:calc(46px + env(safe-area-inset-top,0px));}}
@media (max-width:1000px){.head{backdrop-filter:none;background:#FFFFFF;}}
.entry{max-width:46em;font-size:15.5px;line-height:2.05;color:#2B3330;}
.entry > * + *{margin-top:1.2em;}
.entry h2{font-family:var(--f-disp);font-weight:900;font-size:clamp(22px,2.6vw,28px);line-height:1.45;margin-top:2em;color:var(--ink);}
.entry h3{font-weight:900;font-size:19px;margin-top:1.8em;color:var(--ink);}
.entry a{color:var(--green);text-decoration:underline;text-underline-offset:3px;}
.entry img{max-width:100%;height:auto;border-radius:4px;}
.entry ul{list-style:disc;padding-left:1.4em;}
.entry ol{list-style:decimal;padding-left:1.4em;}
.post-date{font-family:var(--f-en);font-weight:700;color:var(--sub);font-size:14px;}
.pager{display:flex;gap:8px;margin-top:32px;flex-wrap:wrap;}
.pager .page-numbers{display:inline-grid;place-items:center;min-width:44px;height:44px;border-radius:999px;border:1.5px solid var(--line);font-family:var(--f-en);font-weight:700;}
.pager .current{background:var(--green);border-color:var(--green);color:#FFFFFF;}
.back{margin-top:48px;}
/* FluentForms をテーマに合わせる */
.ff-form-wrap{margin-top:32px;}
.cph .fluentform .ff-el-input--label label{font-weight:700;font-size:14px;color:var(--ink);}
.cph .fluentform .ff-el-form-control{font-family:var(--f-jp);font-size:16px;padding:13px 14px;border:1.5px solid var(--line);border-radius:4px;}
.cph .fluentform .ff-el-form-control:focus{border-color:var(--green);box-shadow:none;}
.cph .fluentform .ff-btn-submit{border-radius:999px!important;padding:16px 36px!important;font-weight:700!important;font-family:var(--f-jp)!important;font-size:15px!important;transition:transform .2s ease,box-shadow .2s ease!important;}
.cph .fluentform .ff-btn-submit:hover{transform:translate(-2px,-3px);box-shadow:4px 5px 0 var(--ink);}
