/* ===== index.css : index.html のインラインCSSを分離（元の記述順を維持） ===== */
:root{
    --navy:#16294d; --navy2:#21386a; --navy-deep:#0f1d38;
    --accent:#4f9e95; --accent2:#6fb3ad; --accent-soft:#e6f1ef; --gold:#c7a15a;
    --bg:#ffffff; --bg2:#f2f6f9; --panel:#ffffff;
    --ink:#232a33; --ink-soft:#5a6672; --line:#e1e8ef;
    --font-goth:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
    --font-lat:"Century Gothic","Futura",system-ui,sans-serif;
  }
  @media (prefers-color-scheme:dark){:root{--navy:#7fa8e0;--navy2:#8fb4e6;--navy-deep:#0c1526;--accent:#5cc0b6;--accent2:#6fb3ad;--accent-soft:#12302c;--gold:#d8b877;--bg:#0f151d;--bg2:#141c26;--panel:#161f2a;--ink:#e9eef4;--ink-soft:#aab6c2;--line:#26303c;}}
  :root[data-theme="dark"]{--navy:#7fa8e0;--navy2:#8fb4e6;--navy-deep:#0c1526;--accent:#5cc0b6;--accent2:#6fb3ad;--accent-soft:#12302c;--gold:#d8b877;--bg:#0f151d;--bg2:#141c26;--panel:#161f2a;--ink:#e9eef4;--ink-soft:#aab6c2;--line:#26303c;}
  :root[data-theme="light"]{--navy:#16294d;--navy2:#21386a;--navy-deep:#0f1d38;--accent:#4f9e95;--accent2:#6fb3ad;--accent-soft:#e6f1ef;--gold:#c7a15a;--bg:#ffffff;--bg2:#f2f6f9;--panel:#ffffff;--ink:#232a33;--ink-soft:#5a6672;--line:#e1e8ef;}
  *{box-sizing:border-box;} body{margin:0;}
  .page{background:var(--bg); color:var(--ink); font-family:var(--font-goth); line-height:1.85; -webkit-font-smoothing:antialiased;}
  .wrap{max-width:1140px; margin:0 auto; padding:0 26px;}
  h1,h2,h3{font-family:var(--font-goth); font-weight:700; letter-spacing:.02em; text-wrap:balance;}
  a{color:inherit;}
  .eyebrow{font-family:var(--font-lat); letter-spacing:.28em; text-transform:uppercase; font-size:12px; color:var(--accent); font-weight:700; margin:0 0 12px;}
  .center{text-align:center;}
  .ph-tag{position:absolute; top:12px; left:12px; font-size:10px; letter-spacing:.1em; color:#fff; background:rgba(0,0,0,.42); padding:4px 9px; border-radius:2px; z-index:2;}
  .ph{background:linear-gradient(150deg, rgba(22,41,77,.30), rgba(79,158,149,.20)), repeating-linear-gradient(115deg,#dfe7ee 0 20px,#d6e0e9 20px 40px); background-size:cover; background-position:center;}

  /* ===== header (2 rows, big name) ===== */
  header{position:sticky; top:0; z-index:40; background:var(--bg); border-bottom:1px solid var(--line);}
  .hdr-top-in{display:flex; align-items:center; justify-content:space-between; height:82px;}
  .brand .nm{font-size:27px; font-weight:700; color:var(--navy); letter-spacing:.08em; line-height:1;}
  .brand .en{display:block; font-family:var(--font-lat); font-size:10px; letter-spacing:.16em; color:var(--accent); margin-top:6px;}
  .hdr-actions{display:flex; align-items:stretch; gap:0;}
  .hdr-info{display:flex; flex-direction:column; justify-content:center; padding:0 20px; border-left:1px solid var(--line);}
  .hdr-info .lb{font-size:10px; letter-spacing:.1em; color:var(--ink-soft);}
  .hdr-info .v{font-size:14px; font-weight:600; color:var(--ink);}
  .hdr-info .tel{font-family:var(--font-lat); font-size:20px; font-weight:700; color:var(--navy);}
  .book{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; text-decoration:none;
    background:var(--navy); color:#fff; padding:0 26px; font-size:14px; font-weight:600;}
  .book .en{font-family:var(--font-lat); font-size:9px; letter-spacing:.14em; color:var(--accent2);}
  .burger{width:46px; margin-left:14px; border:1px solid var(--line); background:var(--bg); border-radius:4px; display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer;}
  .burger span{width:20px; height:1.6px; background:var(--ink); transition:.25s;}
  .burger.on span:nth-child(1){transform:translateY(6.6px) rotate(45deg);} .burger.on span:nth-child(2){opacity:0;} .burger.on span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg);}
  .hdr-nav{border-top:1px solid var(--line);}
  .hdr-nav-in{display:flex; justify-content:center;}
  .hdr-nav a{padding:14px 22px; font-size:14px; font-weight:500; color:var(--ink); text-decoration:none; border-left:1px solid var(--line);}
  .hdr-nav a:last-child{border-right:1px solid var(--line);}
  .hdr-nav a:hover{color:var(--accent);}
  @media(max-width:960px){ .hdr-info,.hdr-nav{display:none;} .burger{display:flex;} .hdr-top-in{height:66px;} .brand .nm{font-size:22px;} .book{padding:0 16px; font-size:13px;} }

  .drawer{position:fixed; top:70px; right:16px; z-index:50; width:214px; background:var(--panel); border:1px solid var(--line); border-radius:8px; box-shadow:0 12px 30px rgba(0,0,0,.16); padding:8px;}
  .drawer[hidden]{display:none;}
  .drawer a{display:block; padding:9px 12px; border-radius:5px; text-decoration:none; color:var(--ink); font-size:14px;}
  .drawer a:hover{background:var(--bg2); color:var(--accent);}
  .drawer .dt{margin-top:6px; padding:9px 12px 4px; border-top:1px solid var(--line); font-family:var(--font-lat); font-size:18px; font-weight:700; color:var(--navy);}

  /* ===== hero: 3 panels + catch ===== */
  .hero{position:relative; height:580px;}
  .hero-panels{position:absolute; inset:0; display:grid; grid-template-columns:repeat(3,1fr);}
  .hp{background-size:cover; background-position:center;}
  .hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,20,40,.52) 0%, rgba(10,20,40,.68) 100%);}
  .hero-copy{position:relative; z-index:2; height:100%; display:flex; align-items:flex-start; justify-content:center; text-align:center; padding-top:74px;}
  .hero-lock{max-width:760px;}
  .hero-catch{color:#fff; font-size:clamp(17px,2.2vw,24px); font-weight:700; margin:0 0 14px; letter-spacing:.03em; text-shadow:0 2px 12px rgba(0,0,0,.55);}
  .hero-sub{color:#fff; font-size:15px; max-width:32em; margin:22px auto 0; text-shadow:0 2px 12px rgba(0,0,0,.6);}

  /* concept teasers — floating circles, staggered */
  .teasers{position:relative; z-index:3; margin-top:-70px;}
  .teasers .wrap{display:grid; grid-template-columns:repeat(3,1fr); gap:30px; align-items:start;}
  .ct{position:relative; background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:82px 28px 34px; text-align:center; box-shadow:0 18px 44px rgba(15,29,56,.16); transition:transform .22s ease, box-shadow .22s ease;}
  .ct:nth-child(1),.ct:nth-child(3){margin-top:70px;}
  .ct:nth-child(2){margin-top:-40px;}
  .ct:hover{transform:translateY(-6px); box-shadow:0 28px 58px rgba(15,29,56,.22);}
  .ct .circle{position:absolute; top:-60px; left:50%; transform:translateX(-50%); width:120px; height:120px; border-radius:50%; background-size:cover; background-position:center; border:5px solid var(--panel); box-shadow:0 10px 26px rgba(15,29,56,.24);}
  .ct .cn{font-family:var(--font-lat); font-size:12px; letter-spacing:.26em; color:var(--accent); font-weight:700;}
  .ct h3,.ct .ct-h{font-size:19px; color:var(--navy); margin:9px 0 15px; padding-bottom:14px; position:relative; display:inline-block;}
  .ct h3,.ct .ct-h::after{content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:32px; height:2px; background:var(--accent);}
  .ct p{font-size:13px; color:var(--ink-soft); margin:0; line-height:1.85;}
  @media(max-width:820px){ .teasers{margin-top:16px;} .teasers .wrap{grid-template-columns:1fr; gap:62px; max-width:460px; margin-left:auto; margin-right:auto;} .ct{padding:64px 24px 28px;} .ct:nth-child(1),.ct:nth-child(2),.ct:nth-child(3){margin-top:0;} }

  section.blk{padding:84px 0;}
  section.blk.alt{background:var(--bg2);}
  .sec-h{font-size:clamp(23px,3vw,32px); margin:0 0 16px; line-height:1.5; color:var(--navy);}
  .sec-lead{font-size:15.5px; color:var(--ink-soft); max-width:40em; margin:0 auto 46px;}

  /* philosophy */
  .philo{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center;}
  .philo-img{aspect-ratio:4/3; border-radius:8px; position:relative;}
  .philo h2{font-size:26px; color:var(--navy); margin:6px 0 18px; line-height:1.6;}
  .philo p{font-size:15px; color:var(--ink-soft); margin:0 0 16px;}
  @media(max-width:820px){ .philo{grid-template-columns:1fr; gap:26px;} }

  /* 6 points — image cards, number top-left, text over image */
  .points{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
  .pt{position:relative; aspect-ratio:4/3; border-radius:8px; overflow:hidden; display:flex; align-items:flex-end;}
  .pt::before{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(12,22,44,.88), rgba(12,22,44,.2) 62%, rgba(12,22,44,.05));}
  .pt .pn{position:absolute; top:0; left:0; z-index:2; background:var(--navy); color:#fff; font-family:var(--font-lat); font-weight:700; font-size:15px; padding:6px 14px; border-bottom-right-radius:8px;}
  .pt .pt-body{position:relative; z-index:2; padding:0 20px 18px; color:#fff;}
  .pt .pt-body h3{color:#fff; font-size:16px; margin:0 0 6px;}
  .pt .pt-body p{color:rgba(255,255,255,.86); font-size:12.5px; margin:0; line-height:1.7;}
  @media(max-width:820px){ .points{grid-template-columns:1fr 1fr;} } @media(max-width:520px){ .points{grid-template-columns:1fr;} }

  /* zigzag 医院の想い */
  .zz{max-width:980px; margin:0 auto;}
  .zz-row{display:grid; grid-template-columns:1fr 1fr; gap:46px; align-items:center; margin-bottom:40px;}
  .zz-row:last-child{margin-bottom:0;}
  .zz-text h3{font-size:22px; color:var(--navy); margin:0 0 12px;}
  .zz-text p{font-size:15px; color:var(--ink-soft); margin:0;}
  .zz-img{aspect-ratio:4/3; border-radius:8px; position:relative; border:1px solid var(--line);}
  .zz-row.rev .zz-text{order:2;}
  @media(max-width:820px){ .zz-row{grid-template-columns:1fr; gap:16px;} .zz-row.rev .zz-text{order:0;} .zz-img{max-height:260px;} }

  /* menu photo cards */
  .menu-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .mcard{background:var(--panel); border:1px solid var(--line); border-radius:8px; overflow:hidden; display:flex; flex-direction:column;}
  .mcard .thumb{aspect-ratio:4/3; position:relative;}
  .mcard .body{padding:18px 22px 24px;}
  .mcard .no{font-family:var(--font-lat); font-size:11px; letter-spacing:.2em; color:var(--accent); font-weight:700;}
  .mcard h3{font-size:17px; color:var(--navy); margin:7px 0 8px;}
  .mcard p{font-size:12.5px; color:var(--ink-soft); margin:0; line-height:1.75;}
  @media(max-width:560px){ .menu-grid{grid-template-columns:1fr 1fr; gap:12px;} } @media(max-width:400px){ .menu-grid{grid-template-columns:1fr;} }

  /* subjects — navy thick pills */
  .subjects{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:840px; margin:0 auto;}
  .subjects span{border:2px solid var(--navy); background:var(--panel); color:var(--navy); border-radius:40px; padding:10px 22px; font-size:14px; font-weight:600;}

  /* doctor — centered photo */
  .doc{max-width:820px; margin:0 auto;}
  .doc-head{text-align:center; margin-bottom:30px;}
  .doc-photo{width:280px; max-width:72%; aspect-ratio:3/4; margin:0 auto 18px; border-radius:8px; position:relative;}
  .doc-head .role{font-family:var(--font-lat); letter-spacing:.2em; font-size:11px; text-transform:uppercase; color:var(--accent); font-weight:700;}
  .doc-head h2{font-size:27px; color:var(--navy); margin:6px 0 2px;}
  .doc-head .name-en{font-family:var(--font-lat); color:var(--ink-soft); font-size:13px; letter-spacing:.1em; margin:0;}
  .doc-body p{font-size:14.5px; color:var(--ink-soft); margin:0 0 16px;}
  .doc-body .em{color:var(--navy); font-weight:600;}
  .career{list-style:none; margin:22px 0 0; padding:20px 0 4px; border-top:1px solid var(--line);}
  .career li{display:flex; gap:16px; font-size:13.5px; color:var(--ink-soft); padding:5px 0; align-items:baseline;}
  .career .yr{font-family:var(--font-lat); font-size:12px; color:var(--accent); font-weight:700; flex:none; width:64px;}

  .news-list{max-width:800px; margin:0 auto;}
  .news-row{display:flex; gap:22px; align-items:baseline; padding:16px 4px; border-bottom:1px solid var(--line);}
  .news-row .date{font-family:var(--font-lat); font-size:13px; color:var(--ink-soft); flex:none; width:96px;}
  .news-row .cat{font-size:11px; color:#fff; background:var(--accent); padding:2px 11px; border-radius:3px; flex:none;}
  .news-row .txt{font-size:14px;}
  @media(max-width:560px){ .news-row{flex-wrap:wrap; gap:8px 14px;} }

  .access{display:grid; grid-template-columns:1fr 1fr; gap:44px;}
  .info-table{width:100%; border-collapse:collapse; font-size:14px;}
  .info-table th{text-align:left; color:var(--navy); font-weight:600; padding:12px 14px; width:96px; vertical-align:top; border-bottom:1px solid var(--line); white-space:nowrap;}
  .info-table td{padding:12px 6px; color:var(--ink); border-bottom:1px solid var(--line);}
  .info-table td span{color:var(--ink-soft); font-size:13px;}
  .hours{width:100%; border-collapse:collapse; font-size:13.5px; margin-top:22px; text-align:center;}
  .hours th,.hours td{border:1px solid var(--line); padding:9px 4px;}
  .hours thead th{background:var(--navy); color:#fff; font-weight:600;} .hours tbody th{background:var(--bg2); color:var(--navy);}
  .hours td.off{color:var(--ink-soft); background:var(--bg2);}
  .map{background:var(--bg2); border:1px solid var(--line); border-radius:6px; overflow:hidden; min-height:320px; display:flex;}
  .map iframe{width:100%; min-height:320px; border:0;}
  @media(max-width:820px){ .access{grid-template-columns:1fr; gap:26px;} }

  .cta{background:linear-gradient(120deg, var(--navy-deep), var(--navy2)); color:#fff; text-align:center; padding:74px 0;}
  .cta h2{color:#fff; font-size:clamp(22px,3vw,30px); margin:0 0 14px;}
  .cta p{color:rgba(255,255,255,.85); font-size:14.5px; margin:0 0 28px;}
  .cta-btns{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
  .btn{display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-size:14px; font-weight:600; padding:13px 26px; border-radius:4px; border:1.5px solid #fff; background:#fff; color:var(--navy); min-width:210px;}
  .btn.line{background:transparent; color:#fff; border-color:rgba(255,255,255,.7);}
  @media(max-width:560px){ .cta-btns{flex-direction:column; align-items:stretch;} }

  footer{background:var(--navy-deep); color:rgba(255,255,255,.72); padding:44px 0; font-size:12.5px;}
  footer .wrap{display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;}
  footer .fn{font-size:18px; font-weight:700; color:#fff;}
  footer .en{font-family:var(--font-lat); letter-spacing:.16em; font-size:10px; margin-top:4px;}
  footer .f-brand{display:flex; align-items:center; gap:12px;}
  footer .f-brand .rl-mark{height:42px; flex:none;}
  footer .f-brand .rl-name{font-size:20px; letter-spacing:.08em; color:#fff;}
  footer .f-brand .rl-en{font-size:9px; letter-spacing:.16em; color:var(--accent2); margin-top:5px;}
  footer .f-links{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); font-size:12px;}
  footer .f-links a{color:rgba(255,255,255,.55); text-decoration:none;}
  footer .f-links a:hover{color:var(--accent2);}
  .note{max-width:1140px; margin:0 auto; padding:16px 26px; font-size:11.5px; color:var(--ink-soft); background:var(--bg2); border-radius:4px;}
.hp-a{background-image:url('img2/ea31b2892a.jpg');background-image:image-set(url('img2/ea31b2892a.webp') type('image/webp'),url('img2/ea31b2892a.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.hp-b{background-image:url('img2/49335cfae3.jpg');background-image:image-set(url('img2/49335cfae3.webp') type('image/webp'),url('img2/49335cfae3.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.hp-c{background-image:url('img2/a6f8a08129.jpg');background-image:image-set(url('img2/a6f8a08129.webp') type('image/webp'),url('img2/a6f8a08129.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.ct-a{background-image:url('img2/594065a2d3.jpg');background-image:image-set(url('img2/594065a2d3.webp') type('image/webp'),url('img2/594065a2d3.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.ct-b{background-image:url('img2/dr_treatment_2026.jpg');background-image:image-set(url('img2/dr_treatment_2026.webp') type('image/webp'),url('img2/dr_treatment_2026.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.ct-c{background-image:url('img2/a39a3afe32.jpg');background-image:image-set(url('img2/a39a3afe32.webp') type('image/webp'),url('img2/a39a3afe32.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.philo-pic{background-image:url('img2/93a4206e10.jpg');background-image:image-set(url('img2/93a4206e10.webp') type('image/webp'),url('img2/93a4206e10.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.zz-a{background-image:url('img2/97ffdd7d90.jpg');background-image:image-set(url('img2/97ffdd7d90.webp') type('image/webp'),url('img2/97ffdd7d90.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.zz-b{background-image:url('img2/4eba08358f.jpg');background-image:image-set(url('img2/4eba08358f.webp') type('image/webp'),url('img2/4eba08358f.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.menu-grid .mcard:nth-child(1) .thumb{background-image:url('img2/594065a2d3.jpg');background-image:image-set(url('img2/594065a2d3.webp') type('image/webp'),url('img2/594065a2d3.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.menu-grid .mcard:nth-child(2) .thumb{background-image:url('img2/a39a3afe32.jpg');background-image:image-set(url('img2/a39a3afe32.webp') type('image/webp'),url('img2/a39a3afe32.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.menu-grid .mcard:nth-child(3) .thumb{background-image:url('img2/78b990c652.jpg');background-image:image-set(url('img2/78b990c652.webp') type('image/webp'),url('img2/78b990c652.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.menu-grid .mcard:nth-child(4) .thumb{background-image:url('img2/485cb3aca5.jpg');background-image:image-set(url('img2/485cb3aca5.webp') type('image/webp'),url('img2/485cb3aca5.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.menu-grid .mcard:nth-child(5) .thumb{background-image:url('img2/1cc120f393.jpg');background-image:image-set(url('img2/1cc120f393.webp') type('image/webp'),url('img2/1cc120f393.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.menu-grid .mcard:nth-child(6) .thumb{background-image:url('img2/36560fdfe3.jpg');background-image:image-set(url('img2/36560fdfe3.webp') type('image/webp'),url('img2/36560fdfe3.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.menu-grid .mcard:nth-child(7) .thumb{background-image:url('img2/9937287eaa.jpg');background-image:image-set(url('img2/9937287eaa.webp') type('image/webp'),url('img2/9937287eaa.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.menu-grid .mcard:nth-child(8) .thumb{background-image:url('img2/5dcba98539.jpg');background-image:image-set(url('img2/5dcba98539.webp') type('image/webp'),url('img2/5dcba98539.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.menu-grid .mcard:nth-child(9) .thumb{background-image:url('img2/6511c93d90.jpg');background-image:image-set(url('img2/6511c93d90.webp') type('image/webp'),url('img2/6511c93d90.jpg') type('image/jpeg'));background-size:cover;background-position:center;}
.faq-list{max-width:860px;margin:0 auto;display:grid;gap:10px;}
.faq-list details{background:#fff;border:1px solid rgba(28,111,126,.18);border-radius:12px;padding:0 18px;}
.faq-list summary{cursor:pointer;list-style:none;padding:16px 28px 16px 0;font-weight:700;position:relative;font-size:15px;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:"＋";position:absolute;right:2px;top:14px;color:#1c6f7e;font-weight:400;}
.faq-list details[open] summary::after{content:"－";}
.faq-list details p{margin:0 0 16px;font-size:14px;line-height:1.9;color:#3a4a4f;}
.hp-a{background-image:url('img2/7d6a280b03.jpg')!important;background-image:image-set(url('img2/7d6a280b03.webp') type('image/webp'),url('img2/7d6a280b03.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.hp-b{background-image:url('img2/e739edbb8e.jpg')!important;background-image:image-set(url('img2/e739edbb8e.webp') type('image/webp'),url('img2/e739edbb8e.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.hp-c{background-image:url('img2/2d9a01eb82.jpg')!important;background-image:image-set(url('img2/2d9a01eb82.webp') type('image/webp'),url('img2/2d9a01eb82.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.philo-pic{background-image:url('img2/fe446e220e.jpg')!important;background-image:image-set(url('img2/fe446e220e.webp') type('image/webp'),url('img2/fe446e220e.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.points .pt:nth-child(1){background-image:url('img2/4e24a7a712.jpg')!important;background-image:image-set(url('img2/4e24a7a712.webp') type('image/webp'),url('img2/4e24a7a712.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.points .pt:nth-child(2){background-image:url('img2/0ac2e1a0bf.jpg')!important;background-image:image-set(url('img2/0ac2e1a0bf.webp') type('image/webp'),url('img2/0ac2e1a0bf.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.points .pt:nth-child(3){background-image:url('img2/19dc4084aa.jpg')!important;background-image:image-set(url('img2/19dc4084aa.webp') type('image/webp'),url('img2/19dc4084aa.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.points .pt:nth-child(4){background-image:url('img2/c35afa2940.jpg')!important;background-image:image-set(url('img2/c35afa2940.webp') type('image/webp'),url('img2/c35afa2940.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.points .pt:nth-child(5){background-image:url('img2/4e1acfb2cb.jpg')!important;background-image:image-set(url('img2/4e1acfb2cb.webp') type('image/webp'),url('img2/4e1acfb2cb.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.points .pt:nth-child(6){background-image:url('img2/f65f8eee71.jpg')!important;background-image:image-set(url('img2/f65f8eee71.webp') type('image/webp'),url('img2/f65f8eee71.jpg') type('image/jpeg'))!important;background-size:cover;background-position:center;}
.zz-b{background-image:url('img2/4eba08358f.jpg')!important;background-image:image-set(url('img2/4eba08358f.webp') type('image/webp'),url('img2/4eba08358f.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.points .pt:nth-child(1){background-image:url('img2/d0be81a7f1.jpg')!important;background-image:image-set(url('img2/d0be81a7f1.webp') type('image/webp'),url('img2/d0be81a7f1.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.points .pt:nth-child(3){background-image:url('img2/c3fba06ea2.jpg')!important;background-image:image-set(url('img2/c3fba06ea2.webp') type('image/webp'),url('img2/c3fba06ea2.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.points .pt:nth-child(5){background-image:url('img2/26448640e1.jpg')!important;background-image:image-set(url('img2/26448640e1.webp') type('image/webp'),url('img2/26448640e1.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.doc-photo{background-image:url('img2/f2000a65f1.jpg')!important;background-image:image-set(url('img2/f2000a65f1.webp') type('image/webp'),url('img2/f2000a65f1.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center top!important;}
.doc-photo .ph-tag{display:none!important;}
.points .pt:nth-child(5){background-image:url('img2/316d2fde85.jpg')!important;background-image:image-set(url('img2/316d2fde85.webp') type('image/webp'),url('img2/316d2fde85.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.hp-c{background-image:url('img2/98bf92e8f1.jpg')!important;background-image:image-set(url('img2/98bf92e8f1.webp') type('image/webp'),url('img2/98bf92e8f1.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.points .pt:nth-child(6){background-image:url('img2/2d9a01eb82.jpg')!important;background-image:image-set(url('img2/2d9a01eb82.webp') type('image/webp'),url('img2/2d9a01eb82.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.hp-c{background-image:url('img2/2d9a01eb82.jpg')!important;background-image:image-set(url('img2/2d9a01eb82.webp') type('image/webp'),url('img2/2d9a01eb82.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.points .pt:nth-child(6){background-image:url('img2/98bf92e8f1.jpg')!important;background-image:image-set(url('img2/98bf92e8f1.webp') type('image/webp'),url('img2/98bf92e8f1.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.philo-pic{background-image:url('img2/c569ee7841.jpg')!important;background-image:image-set(url('img2/c569ee7841.webp') type('image/webp'),url('img2/c569ee7841.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.points .pt:nth-child(6){background-image:url('img2/2a4042a75c.jpg')!important;background-image:image-set(url('img2/2a4042a75c.webp') type('image/webp'),url('img2/2a4042a75c.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.points .pt:nth-child(5){background-image:url('img2/8f28424f66.jpg')!important;background-image:image-set(url('img2/8f28424f66.webp') type('image/webp'),url('img2/8f28424f66.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.philo-pic{background-image:url('img2/02b3a2a94f.jpg')!important;background-image:image-set(url('img2/02b3a2a94f.webp') type('image/webp'),url('img2/02b3a2a94f.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
@media(min-width:900px){ .doc-photo{width:360px!important;} .doc{max-width:920px!important;} }
.philo-pic{background-image:url('img2/c569ee7841.jpg')!important;background-image:image-set(url('img2/c569ee7841.webp') type('image/webp'),url('img2/c569ee7841.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.points .pt:nth-child(5){background-image:url('img2/0fa63c4dc9.jpg')!important;background-image:image-set(url('img2/0fa63c4dc9.webp') type('image/webp'),url('img2/0fa63c4dc9.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
.philo-pic{aspect-ratio:1333/728!important;background-image:url('img2/704575ec24.jpg')!important;background-image:image-set(url('img2/704575ec24.webp') type('image/webp'),url('img2/704575ec24.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center!important;}
@media(max-width:820px){
  .zz-img{aspect-ratio:16/10!important; max-height:none!important; width:100%!important;}
  .zz-row{gap:14px!important;}
}
.tour{max-width:900px;margin:0 auto;}
.tour-main{position:relative;border-radius:8px;overflow:hidden;border:1px solid var(--line);background:var(--bg2);}
.tour-track{display:flex;transition:transform .4s ease;touch-action:pan-y;}
.tour-slide{flex:0 0 100%;aspect-ratio:16/10;background-size:cover;background-position:center;position:relative;}
.tour-slide .cap{position:absolute;left:16px;bottom:14px;color:#fff;font-weight:600;font-size:15px;text-shadow:0 1px 8px rgba(0,0,0,.6);}
.tour-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.9);color:var(--navy);font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.tour-nav.prev{left:12px;}.tour-nav.next{right:12px;}
.tour-count{position:absolute;right:14px;bottom:12px;z-index:2;background:rgba(0,0,0,.5);color:#fff;font-size:12px;padding:3px 11px;border-radius:20px;font-family:var(--font-lat);}
.tour-desc{text-align:center;margin-top:12px;color:var(--ink-soft);font-size:14px;font-family:var(--font-goth);}
.tour-thumbs{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding-bottom:4px;}
.tour-thumb{flex:0 0 86px;aspect-ratio:4/3;border-radius:4px;border:1px solid var(--line);cursor:pointer;background-size:cover;background-position:center;opacity:.5;transition:opacity .2s;padding:0;}
.tour-thumb.active{opacity:1;border-color:var(--navy);box-shadow:0 0 0 1px var(--navy) inset;}
@media(max-width:560px){.tour-thumb{flex-basis:66px;}}
.ts1{background-image:url('img2/9043387e4b.jpg');background-image:image-set(url('img2/9043387e4b.webp') type('image/webp'),url('img2/9043387e4b.jpg') type('image/jpeg'));}
.tt1{background-image:url('img2/9043387e4b.jpg');background-image:image-set(url('img2/9043387e4b.webp') type('image/webp'),url('img2/9043387e4b.jpg') type('image/jpeg'));}
.ts2{background-image:url('img2/255e9addfc.jpg');background-image:image-set(url('img2/255e9addfc.webp') type('image/webp'),url('img2/255e9addfc.jpg') type('image/jpeg'));}
.tt2{background-image:url('img2/255e9addfc.jpg');background-image:image-set(url('img2/255e9addfc.webp') type('image/webp'),url('img2/255e9addfc.jpg') type('image/jpeg'));}
.ts3{background-image:url('img2/a4fa72f603.jpg');background-image:image-set(url('img2/a4fa72f603.webp') type('image/webp'),url('img2/a4fa72f603.jpg') type('image/jpeg'));}
.tt3{background-image:url('img2/a4fa72f603.jpg');background-image:image-set(url('img2/a4fa72f603.webp') type('image/webp'),url('img2/a4fa72f603.jpg') type('image/jpeg'));}
.ts4{background-image:url('img2/3416d783b4.jpg');background-image:image-set(url('img2/3416d783b4.webp') type('image/webp'),url('img2/3416d783b4.jpg') type('image/jpeg'));}
.tt4{background-image:url('img2/3416d783b4.jpg');background-image:image-set(url('img2/3416d783b4.webp') type('image/webp'),url('img2/3416d783b4.jpg') type('image/jpeg'));}
.ts5{background-image:url('img2/1996c7a64c.jpg');background-image:image-set(url('img2/1996c7a64c.webp') type('image/webp'),url('img2/1996c7a64c.jpg') type('image/jpeg'));}
.tt5{background-image:url('img2/1996c7a64c.jpg');background-image:image-set(url('img2/1996c7a64c.webp') type('image/webp'),url('img2/1996c7a64c.jpg') type('image/jpeg'));}
.ts6{background-image:url('img2/46e9cfb57e.jpg');background-image:image-set(url('img2/46e9cfb57e.webp') type('image/webp'),url('img2/46e9cfb57e.jpg') type('image/jpeg'));}
.tt6{background-image:url('img2/46e9cfb57e.jpg');background-image:image-set(url('img2/46e9cfb57e.webp') type('image/webp'),url('img2/46e9cfb57e.jpg') type('image/jpeg'));}
.tour{max-width:680px!important;}
.tour-slide{aspect-ratio:16/9!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:var(--bg2)!important;}
.tour-thumb{aspect-ratio:16/9!important;flex-basis:104px!important;}
@media(max-width:560px){.tour-thumb{flex-basis:60px!important;}}
.mcard{position:relative;transition:transform .18s ease, box-shadow .18s ease;}
.mcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(15,29,56,.12);}
.card-cover{position:absolute;inset:0;z-index:6;cursor:pointer;}
.detail{display:none;}
.detail-hero{background:linear-gradient(120deg,var(--navy-deep),var(--navy2));color:#fff;padding:52px 0 40px;}
.detail-hero .back{color:rgba(255,255,255,.9);font-size:13px;text-decoration:none;}
.detail-hero .eyebrow{color:var(--accent2);margin:18px 0 0;}
.detail-hero h2.detail-title{color:#fff;font-size:clamp(24px,3.4vw,34px);margin:6px 0 0;}
.detail-body{max-width:820px;margin:0 auto;padding:44px 26px 72px;}
.detail-lead{font-size:16.5px;color:var(--navy);font-weight:700;margin:0 0 18px;line-height:1.8;}
.detail-body p{font-size:15px;color:var(--ink-soft);margin:0 0 16px;line-height:1.95;}
.detail-body h2{color:var(--navy);font-size:20px;margin:0 0 14px;}
.detail-points{list-style:none;padding:0;margin:10px 0 8px;display:flex;flex-wrap:wrap;gap:10px;}
.detail-points li{border:1.5px solid var(--accent);color:var(--accent);border-radius:30px;padding:6px 16px;font-size:13px;font-weight:600;}
.price-h{margin-top:38px;padding-top:26px;border-top:1px solid var(--line);}
.price{width:100%;border-collapse:collapse;font-size:14.5px;}
.price th,.price td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.price thead th{background:var(--navy);color:#fff;font-weight:600;}
.price td.p,.price th.p{text-align:right;white-space:nowrap;}
.price td.p{color:var(--navy);font-weight:600;}
.price-note{font-size:12px;color:var(--ink-soft);margin-top:12px;line-height:1.7;}
.detail-body h2.sub-h{color:var(--navy);font-size:19px;margin:34px 0 12px;padding-top:22px;border-top:1px solid var(--line);}
.detail-fig{margin:22px 0 6px;border:1px solid var(--line);border-radius:12px;padding:18px 16px 12px;background:var(--panel);}
.detail-fig .fig-title{font-weight:700;color:var(--navy);font-size:14px;margin:0 0 12px;text-align:center;}
.detail-fig svg{display:block;width:100%;height:auto;}
.detail-fig img{display:block;width:100%;height:auto;border-radius:8px;}
.detail-fig figcaption{font-size:12px;color:var(--ink-soft);margin-top:10px;text-align:center;line-height:1.7;}
.detail-fig .fig-credit{font-size:10.5px;color:var(--ink-soft);opacity:.75;margin:4px 0 0;text-align:center;}
.detail-fig .fig-credit a{color:inherit;}
.risk-note{margin-top:18px;padding:14px 16px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);font-size:12.5px;color:var(--ink-soft);line-height:1.9;}
.risk-note b{display:block;color:var(--navy);margin-bottom:4px;font-size:13px;}
.detail-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:32px;}
.detail-cta .btn{min-width:auto!important;padding:12px 26px!important;background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important;}
.detail-cta .btn.line{background:transparent!important;color:var(--navy)!important;border-color:var(--navy)!important;}
.detail-cta .back2{margin-left:auto;color:var(--navy);font-size:14px;text-decoration:none;font-weight:600;}
@media(max-width:560px){.detail-cta .back2{margin-left:0;width:100%;}}
.ts7{background-image:url('img2/1996c7a64c.jpg');background-image:image-set(url('img2/1996c7a64c.webp') type('image/webp'),url('img2/1996c7a64c.jpg') type('image/jpeg'));}.tt7{background-image:url('img2/1996c7a64c.jpg');background-image:image-set(url('img2/1996c7a64c.webp') type('image/webp'),url('img2/1996c7a64c.jpg') type('image/jpeg'));}
.ts8{background-image:url('img2/383195f95a.jpg');background-image:image-set(url('img2/383195f95a.webp') type('image/webp'),url('img2/383195f95a.jpg') type('image/jpeg'));}.tt8{background-image:url('img2/383195f95a.jpg');background-image:image-set(url('img2/383195f95a.webp') type('image/webp'),url('img2/383195f95a.jpg') type('image/jpeg'));background-size:cover;}.ts2{background-image:url('img2/255e9addfc.jpg')!important;background-image:image-set(url('img2/255e9addfc.webp') type('image/webp'),url('img2/255e9addfc.jpg') type('image/jpeg'))!important;}.tt2{background-image:url('img2/255e9addfc.jpg')!important;background-image:image-set(url('img2/255e9addfc.webp') type('image/webp'),url('img2/255e9addfc.jpg') type('image/jpeg'))!important;}
.tour-slide.ts8{background-size:cover!important;background-position:center!important;}
.tour-slide.ts8{background-size:cover!important;background-position:18% center!important;}
.tour-track{align-items:center!important;}
.tour-slide{aspect-ratio:16/9!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:var(--bg2)!important;}
.tour-slide.ts8{background-size:cover!important;}
.tour-main{transition:height .3s ease;}
.ts2{background-image:url('img2/255e9addfc.jpg')!important;background-image:image-set(url('img2/255e9addfc.webp') type('image/webp'),url('img2/255e9addfc.jpg') type('image/jpeg'))!important;}.tt2{background-image:url('img2/255e9addfc.jpg')!important;background-image:image-set(url('img2/255e9addfc.webp') type('image/webp'),url('img2/255e9addfc.jpg') type('image/jpeg'))!important;}
.points .pt:nth-child(1){background-image:url('img2/f0b5556b1d.jpg')!important;background-image:image-set(url('img2/f0b5556b1d.webp') type('image/webp'),url('img2/f0b5556b1d.jpg') type('image/jpeg'))!important;background-size:cover!important;background-position:center 30%!important;}}
:root{--font-min:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP","MS PMincho",serif;}
h1,h2,h3,.sec-h,.catch,.hero-catch,.detail-hero h2.detail-title,.detail-lead,.doc-head h2,.ct h3,.ct .ct-h,.zz-text h3,.philo h2,.price-h{
  font-family:var(--font-min)!important;font-weight:500!important;letter-spacing:.04em;
}
.brand-lockup,.hero-lockup{display:flex;align-items:center;gap:14px;}
.rl-mark{flex:none;display:block;}
.rl-text{text-align:left;}
.rl-name{display:block;font-family:var(--font-min)!important;font-weight:500;line-height:1.05;}
.rl-en{display:block;font-family:var(--font-lat)!important;}
.brand-lockup .rl-mark{height:42px;}
.brand-lockup .rl-name{font-size:22px;letter-spacing:.08em;color:var(--navy);}
.brand-lockup .rl-en{font-size:9px;letter-spacing:.16em;color:var(--accent);margin-top:4px;}
.hero-lockup{justify-content:center;gap:20px;}
.hero-lockup .rl-mark{height:clamp(54px,7vw,78px);}
.hero-lockup .rl-name{font-size:clamp(30px,4.8vw,50px);letter-spacing:.08em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45);}
.hero-lockup .rl-en{font-size:clamp(11px,1.5vw,15px);letter-spacing:.18em;color:rgba(255,255,255,.92);margin-top:6px;text-shadow:0 1px 8px rgba(0,0,0,.45);}
@media(max-width:560px){.hdr-top-in{height:54px;}.hero-lockup{gap:12px;}.brand-lockup{gap:8px;}.brand-lockup .rl-mark{height:34px;}.brand-lockup .rl-name{font-size:16px;white-space:nowrap;}.brand-lockup .rl-en{font-size:7px;letter-spacing:.04em;white-space:nowrap;}.book{white-space:nowrap;padding:0 10px;font-size:11px;}.book .en{font-size:7px;}.burger{width:38px;}}
/* ===== hero: consolidated single source of truth (replaces the stacked overrides) ===== */
.hero{height:620px;}
.hero-copy{padding-top:98px;}
.hero-lock{max-width:600px;margin:0 auto;}
.hero-logo-plate{display:inline-block;background:none;padding:0;box-shadow:none;border-radius:0;margin-bottom:24px;}
.hero-lockup{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;}
.hero-lockup .rl-mark{flex:none;display:block;height:clamp(54px,7vw,78px);}
.hero-lockup .rl-text{text-align:left;}
.hero-lockup .rl-name{font-size:clamp(30px,4.8vw,50px);letter-spacing:.08em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45);}
.hero-lockup .rl-en{font-size:clamp(11px,1.5vw,15px);letter-spacing:.18em;color:rgba(255,255,255,.92);margin-top:6px;text-shadow:0 1px 8px rgba(0,0,0,.45);}
.hero-catch{font-weight:600;margin-top:22px;margin-bottom:14px;}
@media(max-width:640px){
  .hero{height:620px;}
  .hero-copy{padding-top:118px;padding-bottom:0;}
  .hero-lockup{gap:12px;}
  .hero-lockup .rl-mark{height:52px;}
  .hero-lockup .rl-name{font-size:31px;white-space:nowrap;}
  .hero-lockup .rl-en{font-size:11px;letter-spacing:.08em;}
  .hero-catch{margin-top:100px;}
}

/* =====================================================================
   2026-08-22 改善ブロック（スマホ最適化・アクセシビリティ・固定CTA）
   ※上のルールを上書きするため、必ずファイル末尾に置くこと
   ===================================================================== */
:root{--teal:#1c6f7e;--teal-d:#165a67;--green:#7fc489;--focus:#ffb300;}
/* スキップリンク */
.skip-link{position:absolute;left:8px;top:-60px;z-index:100;background:var(--teal);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none;transition:top .15s;}
.skip-link:focus{top:8px;outline:3px solid var(--focus);}
/* キーボード操作時のフォーカス表示 */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px;}
/* アニメーションを減らす設定のユーザーへ配慮 */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
/* ヘッダーの電話をリンク化した分の見た目維持 */
.hdr-tel{text-decoration:none;}
.hdr-tel:hover .tel{color:var(--teal);}
.burger{min-width:46px;min-height:46px;}
.drawer a{min-height:44px;display:flex;align-items:center;}
.drawer .dt{display:block;text-decoration:none;}
/* ヒーロー：地域＋CTA */
.hero-area{color:#fff;font-size:14px;margin:18px auto 0;letter-spacing:.02em;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px;}
.hero-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;padding:10px 26px;border-radius:999px;font-weight:700;font-size:16px;text-decoration:none;line-height:1.2;box-shadow:0 10px 26px rgba(0,0,0,.28);transition:transform .15s,box-shadow .15s;}
.hero-btn-web{background:var(--teal);color:#fff;}
.hero-btn-tel{background:#fff;color:var(--teal);}
.hero-btn-lb{font-size:11px;font-weight:500;letter-spacing:.08em;opacity:.85;}
.hero-btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.32);}
/* フッターのリンクのタップ領域 */
footer .f-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;}
/* スマホ固定CTA（640px以下のみ） */
.sp-cta{display:none;}
@media(max-width:640px){
  .sp-cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:45;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid #dfe6ea;box-shadow:0 -6px 20px rgba(0,0,0,.08);}
  .sp-cta-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;border-radius:12px;text-decoration:none;font-weight:700;line-height:1.2;}
  .sp-cta-tel{background:#fff;color:var(--teal);border:2px solid var(--teal);}
  .sp-cta-web{background:var(--teal);color:#fff;}
  .sp-cta-t{font-size:15px;}
  .sp-cta-s{font-size:11px;font-weight:500;opacity:.85;margin-top:2px;}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));}
  /* ヒーロー：スマホでは写真1枚＋高さを画面に収める */
  .hero{height:auto;min-height:560px;}
  .hero-panels{grid-template-columns:1fr;}
  .hp-b,.hp-c{display:none;}
  .hero-copy{padding:56px 0 48px;}
  .hero-catch{font-size:22px;line-height:1.5;}
  .hero-sub{font-size:15px;line-height:1.8;margin-top:14px;}
  .hero-area{font-size:13px;line-height:1.6;}
  .hero-cta{flex-direction:column;align-items:stretch;max-width:320px;margin-left:auto;margin-right:auto;}
  .hero-btn{min-height:54px;}
  /* ドロワーは画面幅いっぱいに */
  .drawer{left:12px;right:12px;width:auto;top:64px;}
}
@media(max-width:360px){.hero-catch{font-size:20px;} .brand-lockup .rl-name{font-size:15px;}}
/* スマホのヒーロー微調整（2026-08-22） */
@media(max-width:640px){
  .hero-copy{padding:40px 0 44px;}
  .hero-lock{padding:0 22px;}
  .hero-logo-plate{margin-bottom:18px;}
  .hero-catch{margin-top:0;}
  .hero-sub{max-width:none;margin-top:12px;}
  .hero-btn-tel{display:none;} /* 電話は画面下の固定バーに集約 */
}
/* 320px対策：横はみ出し防止（2026-08-22） */
html,body{overflow-x:hidden;}
@media(max-width:640px){
  .hero-copy{width:100%;max-width:100%;}
  .hero-lock{width:100%;max-width:100%;box-sizing:border-box;}
  .hero-logo-plate,.hero-lockup{max-width:100%;}
}
@media(max-width:360px){
  .hdr-top-in{gap:6px;}
  .brand-lockup .rl-mark{height:28px;}
  .brand-lockup .rl-name{font-size:14px;letter-spacing:.02em;}
  .brand-lockup .rl-en{display:none;}
  .book{padding:0 10px;font-size:12px;}
  .burger{width:42px;min-width:42px;margin-left:8px;}
  .hero-lockup{gap:8px;}
  .hero-lockup .rl-mark{height:44px;}
  .hero-lockup .rl-name{font-size:26px;white-space:normal;}
  .hero-lockup .rl-en{font-size:10px;}
}
/* PC：ヒーローを可変高にしてCTAがカードと重ならないように（2026-08-22） */
@media(min-width:641px){
  .hero{height:auto;min-height:620px;}
  .hero-copy{height:auto;padding-bottom:190px;}
  .hero-area{font-size:14px;}
  .hero-cta{margin-top:22px;}
}

/* コントラスト改善（WCAG AA 4.5:1 以上へ）2026-08-22 */
.eyebrow,.ct .cn,.doc-head .role,.career .yr{color:#1c6f7e!important;}
.brand-lockup .rl-en{color:#3f5b66!important;}

/* コントラスト改善（お知らせバッジ・フッター・固定CTA補足）2026-08-22 */
.news-row .cat{background:#1c6f7e!important;color:#fff!important;}
footer .copy,footer .wrap>div>div:last-child{color:#aab6c2;}
.sp-cta-s{opacity:1;}
.sp-cta-web .sp-cta-s{color:#e6f4f6;}

footer .copy{margin-top:8px;color:#b9c4cf;opacity:1;}
