/* ケアのてまえ（仮）2026-10-01 モック — ナナトリ HP と同じトークン（白・墨・1px罫・Noto Sans JP 400/500・数字は Inter・角丸4px）。色はティール1色だけを「点」で使う */
:root{--ink:#202020;--sub:#595959;--ctl:#767676;--line:#D9D7D2;--paper:#F7F6F4;--bg:#fff;--ac:#2F8F83;--r:4px;--w:1160px}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--ink:#202020;--bg:#fff}}
:root[data-theme="dark"]{--ink:#202020;--bg:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.95 "Noto Sans JP",system-ui,sans-serif;letter-spacing:.03em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}
.num{font-family:Inter,"Noto Sans JP",sans-serif;letter-spacing:-.01em}
.wrap{max-width:var(--w);margin:0 auto;padding:0 24px}
.k{display:block;font:400 11px Inter,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--sub)}
.k::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--ac);margin-right:10px;vertical-align:1px}
/* header */
header{position:sticky;top:0;background:rgba(255,255,255,.96);z-index:20;border-bottom:1px solid var(--line)}
.hd{display:flex;align-items:center;justify-content:space-between;gap:8px;height:64px}
.logo{display:flex;flex-direction:column;flex:0 0 auto;line-height:1.2}.logo b{font-weight:500;font-size:17px;letter-spacing:.18em}.logo small{font:400 9.5px Inter,sans-serif;letter-spacing:.3em;color:var(--sub);margin-top:3px}
nav.g{display:flex;align-items:center;margin-left:auto}nav.g a{margin-left:24px;font-size:12.5px;color:var(--sub);letter-spacing:.06em;white-space:nowrap}nav.g a:hover{color:var(--ink)}
.hbtns{display:flex;gap:8px;margin-left:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;background:var(--ink);color:#fff;padding:0 26px;border-radius:var(--r);font-size:14px;font-weight:500;border:1px solid var(--ink);line-height:1.4;letter-spacing:.06em;white-space:nowrap;transition:background-color .2s}
.btn:hover{background:#000}.btn.ghost{background:#fff;color:var(--ink)}.btn.ghost:hover{background:var(--paper)}
.hd .btn{padding:0 14px;font-size:13px;min-height:40px}
.band{height:2px;background:linear-gradient(90deg,var(--ac) 0 18%,var(--line) 0)}
h1,h2{font-weight:500;letter-spacing:.04em;margin:0}h3{font-weight:500}
.sub{color:var(--sub);font-size:14.5px;line-height:1.95}
section{padding:112px 0}
/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;border-bottom:1px solid var(--line)}
.hero .tx{padding:72px 56px 72px 72px;display:flex;flex-direction:column;justify-content:center}
.hero h1{font-size:46px;line-height:1.45;margin-top:22px}
.hero p.l{font-size:16.5px;max-width:470px;margin:26px 0 0}
.hero .cta{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}
.hero .ph{position:relative;min-height:640px;background:var(--paper);overflow:hidden}
.hero .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 30%}
.hero .meta{margin-top:22px;font-size:12.5px;color:var(--sub)}
/* 2つの入口 */
.doors{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.door{padding:44px 48px;display:grid;grid-template-columns:1fr auto;gap:6px 24px;align-items:end;border-right:1px solid var(--line)}.door:last-child{border-right:0}
.door h2{font-size:22px;line-height:1.6;margin-top:10px}.door p{grid-column:1;margin:4px 0 0;font-size:14px;color:var(--sub)}
.door .arw{grid-row:1/4;grid-column:2;font:300 28px Inter,sans-serif}
.door:hover h2{text-decoration:underline}
/* 見出し */
.sh h2{font-size:34px;line-height:1.5;margin-top:14px}.sh p{max-width:640px;margin:20px 0 0;color:var(--sub);font-size:15px}
/* 段階 */
.stage{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);margin-top:56px}
.stage div{padding:28px 24px 30px 0;border-right:1px solid var(--line);margin-right:24px}.stage div:last-child{border-right:0;margin-right:0}
.stage i{display:block;font:300 13px Inter,sans-serif;letter-spacing:.3em;color:var(--sub);font-style:normal}
.stage h3{font-size:18px;line-height:1.6;margin:12px 0 10px}.stage p{margin:0;font-size:14px;color:var(--sub);line-height:1.85}
.stage .now{position:relative}.stage .now i{color:var(--ac)}
/* 一覧（チェック） */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.list{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line)}
.list li{padding:15px 0 15px 30px;border-bottom:1px solid var(--line);position:relative;font-size:15px}
.list li::before{content:"";position:absolute;left:2px;top:27px;width:12px;height:1px;background:var(--ink)}
.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.cap{font-size:12.5px;color:var(--sub);margin-top:10px;line-height:1.7}
/* 人 */
.person{display:grid;grid-template-columns:420px 1fr;gap:72px;align-items:center}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;border-radius:var(--r)}
.person .nm{font-size:30px;font-weight:500;letter-spacing:.12em;margin:14px 0 0}.person .ro{font-size:13px;color:var(--sub);letter-spacing:.08em;margin-top:4px}
.person blockquote{margin:28px 0 0;padding:0;font-size:17px;line-height:2.05}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.tags span{font-size:12px;border:1px solid var(--line);border-radius:var(--r);padding:3px 10px;color:var(--sub)}
/* cards（3列・罫線） */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}
.cards>div{background:#fff;padding:34px 30px}
.cards i{font:300 34px/1 Inter,sans-serif;display:block;margin-bottom:18px;font-style:normal}
.cards h3{font-size:18px;line-height:1.6;margin:0 0 10px}.cards p{margin:0;font-size:14.5px;color:var(--sub)}
/* エリア */
.areas{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:48px}
.areas a{padding:30px 28px 30px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);margin-right:28px;display:block}.areas a:last-child{border-right:0;margin-right:0}
.areas b{display:block;font-size:22px;font-weight:500;letter-spacing:.1em}.areas small{font:400 11px Inter,sans-serif;letter-spacing:.3em;color:var(--sub)}
.areas p{margin:12px 0 0;font-size:14px;color:var(--sub)}.areas span{display:block;margin-top:14px;font-size:13px;text-decoration:underline}
/* 記事カード */
.bcards{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 28px;margin-top:40px}
.bcard{display:block}.bcard img{aspect-ratio:3/2;object-fit:cover;border-radius:var(--r);width:100%}
.bcard .c{display:block;font-size:11.5px;letter-spacing:.14em;color:var(--sub);margin-top:14px}
.bcard h3{font-size:16.5px;line-height:1.65;margin:6px 0 0}.bcard:hover h3{text-decoration:underline}
.bcard .soon{display:inline-block;margin-top:8px;font-size:11px;color:var(--ctl);border:1px solid var(--line);border-radius:var(--r);padding:0 8px}
/* 採用帯 */
.rec{background:var(--paper)}
.rec .split{align-items:center}
.facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:36px}
.facts div{padding:24px 18px 22px 0;border-right:1px solid var(--line);margin-right:18px}.facts div:last-child{border-right:0;margin-right:0}
.facts b{display:block;font:400 30px/1.2 Inter,"Noto Sans JP",sans-serif;margin-bottom:8px}.facts b small{font-size:14px;margin-left:2px}.facts span{font-size:12.5px;color:var(--sub);line-height:1.6;display:block}
/* FAQ */
.faq{border-top:1px solid var(--line);margin-top:40px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;font-weight:500;font-size:16px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:18px;font:300 24px Inter,sans-serif}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 22px;color:var(--sub);font-size:15px}
/* CTA */
.cta-b{background:var(--ink);color:#fff;padding:96px 0}
.cta-b .k{color:#aaa}.cta-b h2{font-size:32px;line-height:1.55;margin-top:14px}.cta-b p{color:#ddd;max-width:620px;margin:18px 0 0}
.cta-b .btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.cta-b .btn{background:#fff;color:var(--ink);border-color:#fff}.cta-b .btn.ghost{background:transparent;color:#fff}
.cta-b .note{font-size:12.5px;color:#aaa;margin-top:16px}
/* 表 */
table{width:100%;border-collapse:collapse;font-size:14.5px}th,td{text-align:left;padding:16px 12px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:400;color:var(--sub);font-size:13px;letter-spacing:.08em;width:180px}
/* footer */
footer{padding:56px 0 96px;font-size:12.5px;color:var(--sub);border-top:1px solid var(--line)}
.fcols{display:flex;justify-content:space-between;gap:24px 40px;flex-wrap:wrap}.fcols a{display:inline-block;padding:6px 0;margin-right:16px;text-decoration:underline}
.legal{margin-top:24px;max-width:860px;line-height:1.85}
/* モック用の注記 */
.mock{background:#FFF8E1;border-bottom:1px solid #EADFB8;font-size:12.5px;color:#5c4a00;padding:8px 0}
.todo{background:#FFF8E1;border:1px dashed #D9C27A;color:#5c4a00;font-size:12.5px;padding:2px 8px;border-radius:var(--r)}
.sticky{display:none}.sp{display:none}
/* 動き */
html.js .rv{opacity:0;transform:translateY(14px)}html.js .rv.in{opacity:1;transform:none;transition:opacity .5s ease-out,transform .5s ease-out}
@media (prefers-reduced-motion:reduce){html.js .rv,html.js .rv.in{opacity:1;transform:none;transition:none}}
@media (max-width:920px){
  body{font-size:16px}.wrap{padding:0 16px}nav.g{display:none}.hd{height:60px}.hbtns{margin-left:0}.hbtns .ghost{display:none}
  section{padding:72px 0}
  .hero{grid-template-columns:1fr}.hero .ph{min-height:0;aspect-ratio:16/10;order:-1}.hero .ph img{object-position:40% 35%}.hero .tx{padding:36px 16px 44px}.hero h1{font-size:30px}
  .doors{grid-template-columns:1fr}.door{padding:28px 16px;border-right:0;border-bottom:1px solid var(--line)}.door:last-child{border-bottom:0}
  .sh h2{font-size:25px}
  .stage{grid-template-columns:1fr}.stage div{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding:22px 0}
  .split,.person{grid-template-columns:1fr;gap:36px}
  .cards,.areas,.bcards{grid-template-columns:1fr}.areas a{border-right:0;margin-right:0}
  .facts{grid-template-columns:1fr}.facts div{border-right:0;margin-right:0;border-bottom:1px solid var(--line)}.facts div:last-child{border-bottom:0}
  .cta-b{padding:64px 0}.cta-b h2{font-size:24px}.cta-b .btn{width:100%}
  table.terms th{width:auto;display:block;padding-bottom:0;border:0}table.terms td{display:block;padding-top:4px}
  /* 2026-10-03（3AI 公開後点検・スマホ実測）：横スクロールで「向いている方」が隠れていた＝スマホでは1タイプずつ縦に積む */
  table.pay{min-width:0;width:100%}table.pay tr:first-child{display:none}table.pay tr{display:block;border-top:1px solid var(--line);padding:14px 0}table.pay td{display:block;border:0;padding:2px 0}table.pay td:first-child{font-weight:500;font-size:16px}table.pay td.num{font-size:20px}
  .sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fff;border-top:1px solid var(--line);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .sticky a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:var(--r);background:var(--ink);color:#fff;font-size:14.5px;font-weight:500}.sticky a.tel{flex:0 0 36%;background:#fff;color:var(--ink);border:1px solid var(--ink)}
  footer{padding-bottom:110px}.sp{display:inline}
}

/* ロゴ（オーナー提供 2026-10-01・ロゴ.jpg から切り抜き＝形は触らない） */
.logo{flex-direction:row!important;align-items:center;gap:12px}.logo img{height:24px;width:auto}.logo span{display:flex;flex-direction:column;line-height:1.2}
footer .flogo{height:64px;width:auto;margin:0 0 24px}
@media (max-width:920px){.logo img{height:20px}.logo b{font-size:15px}}
/* 3AI R3 #8：タブレット横・小さいノート */
@media (min-width:921px) and (max-width:1100px){.hero h1{font-size:38px}.hero .tx{padding:56px 48px}}
@media (max-width:920px){.hd .hn{display:none}}
.hd .hn{margin-left:.5em}
/* 2026-10-01 大項目・中項目にケアマネ */
.h1s{display:block;font-size:15px;font-weight:400;letter-spacing:.12em;color:var(--sub);margin-top:16px}.h1k{display:block;font-size:13px;font-weight:400;letter-spacing:.16em;color:var(--sub);margin-bottom:12px}
.person h2.nm{font-weight:500}.nmk{display:block;font-size:12px;letter-spacing:.16em;color:var(--sub);font-weight:400;margin-bottom:6px}
/* 2026-10-01 稲津さんの経歴・医療的ケア（看護OSの現状から種類だけ） */
.career{list-style:none;margin:22px 0 0;padding:0;border-left:1px solid var(--line)}.career li{position:relative;padding:4px 0 10px 20px;font-size:14.5px;line-height:1.8}.career li::before{content:"";position:absolute;left:-4px;top:13px;width:7px;height:7px;border-radius:50%;background:var(--ac)}.career b{font-weight:500}
.medlist{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.medlist li{background:#fff;padding:22px 20px}.medlist b{display:block;font-weight:500;font-size:15.5px}.medlist span{display:block;font-size:13px;color:var(--sub);margin-top:4px;line-height:1.7}
@media (max-width:920px){.medlist{grid-template-columns:1fr 1fr}.medlist li{padding:16px 14px}.medlist b{font-size:14.5px}}
/* icons 2026-10-01 */
.ic{display:block;width:48px;height:48px;margin:0 0 14px}
.stage .ic{width:52px;height:52px}
.cards .ic+i{font-size:13px;letter-spacing:.3em;color:var(--sub);margin-bottom:10px}
.medlist li{display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:center}.medlist .mic{width:44px;height:44px;grid-row:span 2}.medlist b,.medlist span{grid-column:2}
.door{grid-template-columns:auto 1fr auto}.door .door-ic{grid-row:1/4;grid-column:1;width:56px;height:56px;margin:0 6px 0 0;align-self:center}.door .k,.door h2,.door p{grid-column:2}.door .arw{grid-column:3}
.areas .area-ic{width:36px;height:36px;margin-bottom:10px}
.cta-b .cta-ic{width:44px;height:44px;filter:invert(1);margin-bottom:16px}
@media (max-width:920px){.ic{width:40px;height:40px}.medlist li{grid-template-columns:36px 1fr;column-gap:10px}.medlist .mic{width:36px;height:36px}.door .door-ic{width:44px;height:44px}}
/* ★2026-10-03 広い画面で写真だけ右端まで伸び、文字は中央の枠で左に大きな余白が出ていた（オーナー指摘）→ 1600px 以上はヒーローを幅 1440px に収め、文字をメニューの左端に揃える */
@media (min-width:1200px){.hero .tx{padding-left:max(72px,calc((100vw - var(--w))/2 + 24px))}}
@media (min-width:1600px){.hero{padding-inline:calc((100vw - 1440px)/2)!important}.hero .tx{padding-left:calc((1440px - var(--w))/2 + 24px)}.doors{padding-inline:calc((100vw - 1440px)/2)}.door:first-child{padding-left:calc((1440px - var(--w))/2 + 24px)}.door:last-child{padding-right:calc((1440px - var(--w))/2 + 24px)}}
