/* =========================================================
   訪問看護ステーション のほほん  共有スタイル（デモ）
   NAGOMI屋 制作イメージ
   ========================================================= */
:root{
  --bg:#faf8f3; --cream:#fffdf8; --ink:#37352e; --sub:#6f6a5f;
  --line:#e7e1d4; --green:#7e9b74; --green-d:#5c7a54; --soft:#eef2e7;
  --sky:#a9c4c9; --sky-d:#5f858c;
  --serif:"Shippori Mincho B1",serif;
  --sans:"Noto Sans JP",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.9;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1080px,92%);margin:0 auto}
.narrow{width:min(760px,92%);margin:0 auto}
section{padding:88px 0}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:.04em}
.h2en{font-size:12px;letter-spacing:.26em;color:var(--green);font-weight:700;display:block;margin-bottom:8px}
.sec-head{text-align:center;margin-bottom:48px}
.sec-head h2{font-size:29px}
.sec-head p{color:var(--sub);font-size:15px;margin-top:12px}
.lead{color:var(--sub);font-size:15px}

/* 要確認バッジ（送付前にNAGOMI屋→ご本人で確認する箇所） */
.chk{display:inline-block;font-size:10.5px;font-weight:700;color:#a6641f;background:#fbe9d5;
  border:1px solid #eac59b;border-radius:5px;padding:1px 7px;margin:0 4px;letter-spacing:.04em;vertical-align:middle;white-space:nowrap}
.demo-band{background:#c98a5e;color:#fff;text-align:center;font-size:12.5px;padding:9px 12px;letter-spacing:.03em;line-height:1.6}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:60;background:rgba(250,248,243,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:12px}
.mark{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--green);color:var(--green-d);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px;background:var(--cream)}
.brand .txt b{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:.06em;display:block;line-height:1.3}
.brand .txt small{font-size:9.5px;letter-spacing:.18em;color:var(--green);font-weight:700}
.menu{display:flex;gap:20px;align-items:center;font-size:13.5px}
.menu a{color:var(--sub);transition:color .2s;position:relative;white-space:nowrap}
.menu a:hover,.menu a.active{color:var(--green-d)}
.menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--green)}
.tel-btn{background:var(--green);color:#fff !important;padding:10px 18px;border-radius:40px;font-weight:700;font-size:13px;letter-spacing:.03em;white-space:nowrap}
.tel-btn:hover{background:var(--green-d)}
.hamb{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.hamb span{width:24px;height:2px;background:var(--green-d);display:block}

/* ---------- hero (top) ---------- */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;
  background:linear-gradient(120deg,#dfe9de 0%,#e9efe4 40%,#f4ece0 75%,#eef1ee 100%)}
.hero .photo-note{position:absolute;top:18px;right:20px;color:#8b9a86;font-size:12px;letter-spacing:.08em;
  background:rgba(255,255,255,.7);padding:5px 12px;border-radius:20px}
.hero-in{position:relative;z-index:2;padding:0 0 72px}
.catchbox{display:inline-block;background:#fff;font-family:var(--serif);font-size:clamp(26px,4.6vw,46px);font-weight:600;
  line-height:1.35;letter-spacing:.05em;padding:8px 22px;margin:0 0 10px;box-shadow:0 4px 18px rgba(90,120,80,.08)}
.catchbox.g{color:var(--green-d)}
.hero .sub{margin-top:22px;background:rgba(255,255,255,.82);display:inline-block;padding:12px 20px;border-radius:10px;
  font-size:15px;color:var(--sub);max-width:33em}
.quote-mark{position:absolute;font-family:var(--serif);color:var(--sky);opacity:.5;font-size:70px;line-height:1}

/* page hero (下層ページ) */
.phero{background:linear-gradient(120deg,#e9efe4,#f4ece0);padding:70px 0 60px;text-align:center;border-bottom:1px solid var(--line)}
.phero h1{font-size:34px}
.phero .en{font-size:12px;letter-spacing:.26em;color:var(--green);font-weight:700;display:block;margin-bottom:10px}
.phero p{color:var(--sub);font-size:14.5px;margin-top:12px}
.crumb{font-size:12px;color:var(--sub);padding:14px 0}
.crumb a{color:var(--green-d)}

/* ---------- buttons ---------- */
.btn{display:inline-block;padding:14px 32px;border-radius:44px;font-weight:700;font-size:14.5px;letter-spacing:.03em;transition:.2s;cursor:pointer}
.btn-p{background:var(--green);color:#fff}
.btn-p:hover{background:var(--green-d)}
.btn-o{border:1.5px solid var(--green);color:var(--green-d);background:transparent}
.btn-o:hover{background:var(--soft)}
.btn-w{background:#fff;color:var(--green-d)}

/* ---------- cards / grids ---------- */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.card{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:32px 28px;transition:.25s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(92,122,84,.1)}
.card .no{font-family:var(--serif);color:var(--green);font-size:14px;letter-spacing:.1em}
.card h3{font-size:19px;margin:6px 0 12px}
.card p{font-size:14px;color:var(--sub);line-height:1.85}
.ph{border-radius:16px;background:linear-gradient(135deg,#e2ebdc,#f2eadc);display:flex;align-items:center;
  justify-content:center;color:#9aa792;font-size:13px;letter-spacing:.08em;text-align:center;padding:24px}
.ph.big{aspect-ratio:4/3}
.ph.wide{aspect-ratio:16/10}

.soft-sec{background:var(--soft)}
.cream-sec{background:var(--cream)}

/* feature row (交互) */
.frow{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:56px}
.frow:last-child{margin-bottom:0}
.frow.rev .fr-txt{order:2}
.frow h3{font-size:22px;margin-bottom:14px}
.frow p{color:var(--sub);font-size:15px}

/* ---------- reasons ---------- */
.rs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.rs{text-align:center;padding:8px}
.rs .num{font-family:var(--serif);font-size:36px;color:var(--green);line-height:1}
.rs h3{font-size:18px;margin:14px 0 10px}
.rs p{font-size:14px;color:var(--sub)}

/* ---------- recruit band ---------- */
.recruit-band{background:linear-gradient(120deg,var(--green-d),var(--green));color:#fff;border-radius:22px;padding:56px;
  display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.recruit-band h2{color:#fff;font-size:26px}
.recruit-band .h2en{color:#dce7d3}
.recruit-band p{color:#eaf1e4;font-size:15px;margin-top:10px;max-width:34em}

/* ---------- info table ---------- */
.info-tbl{width:100%;border-collapse:collapse;font-size:15px;background:var(--cream);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.info-tbl th,.info-tbl td{text-align:left;padding:18px 24px;border-bottom:1px solid var(--line)}
.info-tbl th{width:170px;background:var(--soft);font-weight:700;color:var(--green-d);font-size:14px}
.info-tbl tr:last-child th,.info-tbl tr:last-child td{border-bottom:none}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:24px 20px;text-align:center}
.step .st{font-family:var(--serif);color:var(--green);font-size:13px;letter-spacing:.1em}
.step h4{font-size:16px;margin:8px 0 8px;font-family:var(--serif)}
.step p{font-size:13px;color:var(--sub)}

/* ---------- contact ---------- */
.contact-box{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.contact-tel{background:var(--soft);padding:48px 40px;text-align:center}
.contact-tel .lbl{font-size:13px;color:var(--sub);letter-spacing:.1em}
.contact-tel .num{font-family:var(--serif);font-size:38px;color:var(--green-d);margin:10px 0 4px;line-height:1.2}
.contact-tel .hours{font-size:13px;color:var(--sub)}
.form label{display:block;font-size:13px;font-weight:700;margin:0 0 6px}
.form{padding:42px}
.form input,.form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 14px;font-family:inherit;font-size:14px;margin-bottom:16px;background:#fff}
.form .btn-p{width:100%;border:none}

/* ---------- footer ---------- */
footer{background:#37352e;color:#cfcabd;padding:54px 0 30px;font-size:13px}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-bottom:26px;border-bottom:1px solid #504d44}
.foot-logo{font-family:var(--serif);color:#fff;font-size:18px}
.foot-nav{display:flex;gap:22px;flex-wrap:wrap}
.foot-nav a{color:#cfcabd}
.foot-nav a:hover{color:#fff}
.copy{padding-top:22px;color:#8f8a7e;font-size:12px}

/* ---------- responsive ---------- */
@media(max-width:860px){
  section{padding:62px 0}
  .menu{display:none;position:absolute;top:74px;left:0;right:0;background:var(--cream);
    border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:6px 0;
    box-shadow:0 12px 22px rgba(0,0,0,.07)}
  body.nav-open .menu{display:flex}
  .menu a{padding:13px 24px;width:100%;font-size:15px}
  .menu a.active::after{display:none}
  .menu a.tel-btn{margin:10px 24px 6px;width:auto;text-align:center}
  .hamb{display:flex}
  .grid3,.rs-grid,.steps{grid-template-columns:1fr 1fr}
  .grid2,.frow{grid-template-columns:1fr;gap:28px}
  .frow.rev .fr-txt{order:0}
  .recruit-band{padding:40px 28px}
  .contact-box{grid-template-columns:1fr}
}
@media(max-width:520px){
  .grid3,.rs-grid,.steps{grid-template-columns:1fr}
  .catchbox{font-size:26px}
  .steps{grid-template-columns:1fr 1fr}
}
