/* 岸辺くすのき（朝の空）共通スタイル：u01 から生成＋サイト全体・下層ページの部品 */
:root{
  --sky:#ffffff; --sky2:#f4f9fd; --sky3:#e8f3fb; --deep:#1b2a4a;
  --ink:#1b2a4a; --sub:#3a4766; --gold:#853510; --sun:#e9844a; --sun2:#f6b27a; --dawn:#c2581f;
  --leaf:#6aa84f; --leafT:#2f5f1c; --pale:#a9d6f2; --peach:#fbe1d8;
  --rule:rgba(27,42,74,.16); --gl:rgba(233,132,74,.55); --card:rgba(255,255,255,.88);
  --shadow:0 2px 14px rgba(27,42,74,.08);
  --serif:'Kaisei Decol',serif; --sans:'Noto Sans JP',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font:400 18px/1.9 var(--sans);
  background-color:#fff;
  background-image:radial-gradient(ellipse 1100px 620px at 50% -60px,rgba(255,196,150,.75),rgba(255,214,186,.35) 45%,transparent 72%),url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22460%22%20height=%22460%22%3E%3Ccircle%20cx=%22165%22%20cy=%2277%22%20r=%221.3%22%20fill=%22%23f0975c%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%22420%22%20cy=%22274%22%20r=%220.9%22%20fill=%22%23f0975c%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22259%22%20cy=%22109%22%20r=%220.8%22%20fill=%22%23f0975c%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%2235%22%20cy=%22123%22%20r=%220.9%22%20fill=%22%23f0975c%22%20opacity=%220.28%22/%3E%3Ccircle%20cx=%22423%22%20cy=%22289%22%20r=%220.9%22%20fill=%22%23f0975c%22%20opacity=%220.23%22/%3E%3Ccircle%20cx=%22321%22%20cy=%22298%22%20r=%221.9%22%20fill=%22%23f0975c%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22203%22%20cy=%2225%22%20r=%222.0%22%20fill=%22%23f0975c%22%20opacity=%220.19%22/%3E%3Ccircle%20cx=%22439%22%20cy=%2268%22%20r=%221.1%22%20fill=%22%23f0975c%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%2260%22%20cy=%22292%22%20r=%221.2%22%20fill=%22%23f0975c%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%2292%22%20cy=%2252%22%20r=%221.5%22%20fill=%22%23f0975c%22%20opacity=%220.33%22/%3E%3Ccircle%20cx=%22190%22%20cy=%2249%22%20r=%221.5%22%20fill=%22%23f0975c%22%20opacity=%220.2%22/%3E%3Ccircle%20cx=%2230%22%20cy=%22316%22%20r=%221.0%22%20fill=%22%23f0975c%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22218%22%20cy=%22397%22%20r=%221.2%22%20fill=%22%23f0975c%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22232%22%20cy=%22185%22%20r=%221.2%22%20fill=%22%23f0975c%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22357%22%20cy=%22399%22%20r=%221.1%22%20fill=%22%23f0975c%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22268%22%20cy=%22253%22%20r=%221.9%22%20fill=%22%23f0975c%22%20opacity=%220.36%22/%3E%3Ccircle%20cx=%22147%22%20cy=%22311%22%20r=%222.0%22%20fill=%22%23f0975c%22%20opacity=%220.21%22/%3E%3Ccircle%20cx=%22214%22%20cy=%2284%22%20r=%221.7%22%20fill=%22%23f0975c%22%20opacity=%220.22%22/%3E%3Ccircle%20cx=%22250%22%20cy=%22215%22%20r=%220.8%22%20fill=%22%23f0975c%22%20opacity=%220.34%22/%3E%3Ccircle%20cx=%22391%22%20cy=%22285%22%20r=%221.5%22%20fill=%22%23f0975c%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22160%22%20cy=%22174%22%20r=%221.6%22%20fill=%22%23f0975c%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22296%22%20cy=%22408%22%20r=%221.3%22%20fill=%22%23f0975c%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22138%22%20cy=%22242%22%20r=%221.6%22%20fill=%22%23f0975c%22%20opacity=%220.2%22/%3E%3Ccircle%20cx=%22374%22%20cy=%22359%22%20r=%221.2%22%20fill=%22%23f0975c%22%20opacity=%220.32%22/%3E%3Ccircle%20cx=%22348%22%20cy=%22420%22%20r=%221.3%22%20fill=%22%23f0975c%22%20opacity=%220.35%22/%3E%3Ccircle%20cx=%22454%22%20cy=%22342%22%20r=%221.2%22%20fill=%22%23f0975c%22%20opacity=%220.41%22/%3E%3Cpath%20d=%22M191%2091.8L192.05%2094.95L195.2%2096L192.05%2097.05L191%20100.2L189.95%2097.05L186.8%2096L189.95%2094.95Z%22%20fill=%22%23f6b27a%22%20opacity=%22.45%22/%3E%3Cpath%20d=%22M262%2036.6L262.85%2039.15L265.4%2040L262.85%2040.85L262%2043.4L261.15%2040.85L258.6%2040L261.15%2039.15Z%22%20fill=%22%23f6b27a%22%20opacity=%22.45%22/%3E%3Cpath%20d=%22M157%2071.5L158.125%2074.875L161.5%2076L158.125%2077.125L157%2080.5L155.875%2077.125L152.5%2076L155.875%2074.875Z%22%20fill=%22%23f6b27a%22%20opacity=%22.45%22/%3E%3Cpath%20d=%22M213%20205.2L214.2%20208.8L217.8%20210L214.2%20211.2L213%20214.8L211.8%20211.2L208.2%20210L211.8%20208.8Z%22%20fill=%22%23f6b27a%22%20opacity=%22.45%22/%3E%3Cpath%20d=%22M264%2047.7L264.825%2050.175L267.3%2051L264.825%2051.825L264%2054.3L263.175%2051.825L260.7%2051L263.175%2050.175Z%22%20fill=%22%23f6b27a%22%20opacity=%22.45%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22640%22%20height=%22640%22%3E%3Cpath%20d=%22M411%20557.82C412.71%20560.29%20412.9%20561.62%20412.9%20562.2A1.9%201.9%200%200%201%20409.1%20562.2C409.1%20561.62%20409.29%20560.29%20411%20557.82Z%22%20fill=%22%239cc9ea%22%20opacity=%220.38%22/%3E%3Ccircle%20cx=%22410.335%22%20cy=%22561.81%22%20r=%220.6%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M440%20558.82C441.71%20561.29%20441.9%20562.62%20441.9%20563.2A1.9%201.9%200%200%201%20438.1%20563.2C438.1%20562.62%20438.29%20561.29%20440%20558.82Z%22%20fill=%22%239cc9ea%22%20opacity=%220.45%22/%3E%3Ccircle%20cx=%22439.335%22%20cy=%22562.81%22%20r=%220.6%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M367%20383.06C369.43%20386.57%20369.7%20388.46%20369.7%20389.2A2.7%202.7%200%200%201%20364.3%20389.2C364.3%20388.46%20364.57%20386.57%20367%20383.06Z%22%20fill=%22%239cc9ea%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%22366.055%22%20cy=%22388.73%22%20r=%220.8%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M180%20149.82C181.71%20152.29%20181.9%20153.62%20181.9%20154.2A1.9%201.9%200%200%201%20178.1%20154.2C178.1%20153.62%20178.29%20152.29%20180%20149.82Z%22%20fill=%22%239cc9ea%22%20opacity=%220.41%22/%3E%3Ccircle%20cx=%22179.335%22%20cy=%22153.81%22%20r=%220.6%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M496%20599.04C497.62%20601.38%20497.8%20602.64%20497.8%20603.2A1.8%201.8%200%200%201%20494.2%20603.2C494.2%20602.64%20494.38%20601.38%20496%20599.04Z%22%20fill=%22%239cc9ea%22%20opacity=%220.42%22/%3E%3Ccircle%20cx=%22495.37%22%20cy=%22602.82%22%20r=%220.5%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M149%20424.16C150.98%20427.02%20151.2%20428.56%20151.2%20429.2A2.2%202.2%200%200%201%20146.8%20429.2C146.8%20428.56%20147.02%20427.02%20149%20424.16Z%22%20fill=%22%239cc9ea%22%20opacity=%220.5%22/%3E%3Ccircle%20cx=%22148.23%22%20cy=%22428.78%22%20r=%220.7%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M326%20122.72C328.16%20125.84%20328.4%20127.52%20328.4%20128.2A2.4%202.4%200%200%201%20323.6%20128.2C323.6%20127.52%20323.84%20125.84%20326%20122.72Z%22%20fill=%22%239cc9ea%22%20opacity=%220.48%22/%3E%3Ccircle%20cx=%22325.16%22%20cy=%22127.76%22%20r=%220.7%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M632%2050.379999999999995C633.89%2053.11%20634.1%2054.58%20634.1%2055.2A2.1%202.1%200%200%201%20629.9%2055.2C629.9%2054.58%20630.11%2053.11%20632%2050.379999999999995Z%22%20fill=%22%239cc9ea%22%20opacity=%220.57%22/%3E%3Ccircle%20cx=%22631.265%22%20cy=%2254.79%22%20r=%220.6%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M572%20396.38C573.89%20399.11%20574.1%20400.58%20574.1%20401.2A2.1%202.1%200%200%201%20569.9%20401.2C569.9%20400.58%20570.11%20399.11%20572%20396.38Z%22%20fill=%22%239cc9ea%22%20opacity=%220.45%22/%3E%3Ccircle%20cx=%22571.265%22%20cy=%22400.79%22%20r=%220.6%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M493%20406.26C494.53%20408.47%20494.7%20409.66%20494.7%20410.2A1.7%201.7%200%200%201%20491.3%20410.2C491.3%20409.66%20491.47%20408.47%20493%20406.26Z%22%20fill=%22%239cc9ea%22%20opacity=%220.37%22/%3E%3Ccircle%20cx=%22492.405%22%20cy=%22409.83%22%20r=%220.5%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M213%20447.04C214.62%20449.38%20214.8%20450.64%20214.8%20451.2A1.8%201.8%200%200%201%20211.2%20451.2C211.2%20450.64%20211.38%20449.38%20213%20447.04Z%22%20fill=%22%239cc9ea%22%20opacity=%220.44%22/%3E%3Ccircle%20cx=%22212.37%22%20cy=%22450.82%22%20r=%220.5%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3Cpath%20d=%22M53%20100.48C54.44%20102.56%2054.6%20103.68%2054.6%20104.2A1.6%201.6%200%200%201%2051.4%20104.2C51.4%20103.68%2051.56%20102.56%2053%20100.48Z%22%20fill=%22%239cc9ea%22%20opacity=%220.39%22/%3E%3Ccircle%20cx=%2252.44%22%20cy=%22103.84%22%20r=%220.5%22%20fill=%22%23fff%22%20opacity=%22.9%22/%3E%3C/svg%3E"),linear-gradient(180deg,#fbe1d8 0,#fde9d2 560px,#e4f2fb 1350px,#f3f9fd 2400px,#ffffff 3400px,#ffffff 100%);
  background-size:100% 100%,460px 460px,640px 640px,100% 100%;
  background-repeat:no-repeat,repeat,repeat,no-repeat;
  word-break:auto-phrase;line-break:strict;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:500;text-wrap:balance;margin:0;letter-spacing:.04em;line-height:1.5}
p{margin:0}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}


/* ヘッダー：中央の銘板と、星でつないだ目次 */
.hd{text-align:center;padding:26px 16px 0}
.brand{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;gap:4px}
.brand img{width:44px;height:auto}
.brand small{font-size:14px;color:var(--sub);letter-spacing:.2em}
.brand b{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:.12em}
.nav{margin:18px auto 0;max-width:820px;position:relative;display:flex;justify-content:space-between;padding:0 8px}
.nav::before{content:"";position:absolute;left:24px;right:24px;top:12px;border-top:1px dashed var(--gl)}
.nav a{position:relative;text-decoration:none;font-size:15px;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:6px;min-height:48px;padding:0 6px}
.nav a::before{content:"";width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff 0 28%,var(--sun2) 60%,var(--sun) 100%);box-shadow:0 0 10px 2px rgba(246,178,122,.7);margin-top:7px}
.nav a:hover{color:var(--gold)}

/* ヒーロー */
.hero{padding:34px 0 30px;text-align:center}
.over{display:inline-block;font-size:15px;color:var(--gold);letter-spacing:.14em;border-bottom:1px solid var(--gl);padding-bottom:4px}
.hero h1{font-size:clamp(30px,4.4vw,54px);margin:18px 0 12px;font-weight:700;letter-spacing:.08em}
.hero h1 em{font-style:normal;color:var(--dawn)}
.lead{max-width:40em;margin:0 auto;color:var(--ink)}
.hero .sky{position:relative;max-width:1000px;margin:12px auto 0;aspect-ratio:1000/540}
.hero .sky svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.hero .sky .m{display:none}
.ln{fill:none;stroke:var(--sun);stroke-width:1.8;stroke-linecap:round}
.ln.ring{stroke:#5e9fd0;stroke-opacity:.55;stroke-width:1.2;stroke-dasharray:2 6}
.ln.main{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.3s ease-out forwards;animation-delay:calc(.25s + var(--i)*.16s)}
@keyframes draw{to{stroke-dashoffset:0}}
.st{position:absolute;left:var(--x);top:var(--y);width:48px;height:48px;margin:-24px 0 0 -24px;text-decoration:none;color:var(--ink);animation:rise .8s ease-out both;animation-delay:calc(.9s + var(--i)*.16s)}
@keyframes rise{from{opacity:0}to{opacity:1}}
.st .dot{position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:radial-gradient(circle at 36% 34%,#fff 0 26%,#ffd3a8 58%,var(--sun) 100%);box-shadow:0 0 0 5px rgba(246,178,122,.28),0 0 22px 6px rgba(255,196,140,.75)}
.st .lb{position:absolute;white-space:nowrap;line-height:1.45;text-align:left}
.st .lb b{display:block;font-family:var(--serif);font-weight:500;font-size:20px;letter-spacing:.05em}
.st .lb small{display:block;font-size:15px;color:var(--gold);font-weight:500}
.st .lb i{display:none;font-style:normal}
.st.r .lb{left:44px;top:50%;transform:translateY(-50%)}
.st.b .lb{left:50%;top:44px;transform:translateX(-50%);text-align:center}
.st:hover .lb b,.st:focus-visible .lb b{color:var(--gold);text-decoration:underline;text-underline-offset:5px}
.st.moon .dot{width:22px;height:22px;margin:-11px 0 0 -11px;background:none;box-shadow:none;border-radius:0}
.st.moon .dot svg{width:22px;height:22px;filter:drop-shadow(0 0 6px rgba(94,159,208,.55))}
.core{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);text-align:center;text-decoration:none}
.core .disc{width:118px;height:118px;border-radius:50%;margin:0 auto;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 45%,#ffffff 0%,#fff6ea 50%,#ffe2c6 100%);
  box-shadow:0 0 0 2px rgba(233,132,74,.55),0 0 0 12px rgba(255,214,176,.45),0 0 0 26px rgba(255,226,198,.28),0 0 80px 30px rgba(255,190,130,.45)}
.core .disc img{width:58px;height:auto}
.core .cn{position:absolute;left:50%;top:100%;transform:translateX(-50%);margin-top:10px;white-space:nowrap;font-family:var(--serif);font-weight:700;font-size:19px;color:var(--ink);letter-spacing:.06em}
.core .cn small{display:block;font-family:var(--sans);font-weight:400;font-size:14px;color:var(--sub)}

/* 月のボタン */
.act{display:flex;align-items:center;justify-content:center;gap:34px;margin:46px auto 0;flex-wrap:wrap}
.sunbtn{position:relative;width:168px;height:168px;border-radius:50%;flex:none;display:grid;place-items:center;text-align:center;text-decoration:none;
  background:radial-gradient(circle at 40% 36%,#fff4e4 0%,#ffd2a2 34%,#f6a66a 70%,#ee8f52 100%);color:var(--ink);font-family:var(--serif);font-weight:700;font-size:21px;line-height:1.4;letter-spacing:.06em;
  box-shadow:0 0 0 8px rgba(255,200,150,.3),0 10px 36px rgba(233,132,74,.35),0 0 60px 10px rgba(255,190,130,.35)}
.sunbtn::before{content:"";position:absolute;inset:-26px;border-radius:50%;pointer-events:none;
  background:repeating-conic-gradient(from 4deg,rgba(233,132,74,.6) 0 2.2deg,transparent 2.2deg 15deg);
  -webkit-mask:radial-gradient(circle closest-side,transparent 82%,#000 84%,#000 95%,transparent 100%);
          mask:radial-gradient(circle closest-side,transparent 82%,#000 84%,#000 95%,transparent 100%)}
.sunbtn span{display:block;font-family:var(--sans);font-size:14px;font-weight:500;margin-top:4px}
.sunbtn:hover{filter:brightness(1.06)}
.sunbtn:focus-visible,.tel:focus-visible,.st:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.telbox{text-align:left}
.telbox .k{font-size:15px;color:var(--sub);letter-spacing:.1em}
.tel{display:inline-flex;align-items:center;gap:10px;min-height:52px;font-family:var(--serif);font-weight:700;font-size:30px;letter-spacing:.06em;text-decoration:none;border-bottom:2px dotted var(--sun)}
.tel svg{width:24px;height:24px;stroke:var(--sun)}
.telbox .h{font-size:15px;color:var(--sub);margin-top:4px}
.safe{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:2px;font-size:17px}
.safe li{display:flex;align-items:center;gap:10px}
.safe li::before,.tick::before{content:"";width:11px;height:11px;flex:none;background:var(--leaf);border-radius:0 100% 0 100%;transform:rotate(-8deg)}
.legend .mk{content:"";width:12px;height:12px;flex:none;border-radius:50%}
.mag{display:flex;justify-content:center;gap:0;margin:40px auto 0;max-width:900px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.mag div{flex:1;padding:14px 10px;font-size:15px;color:var(--sub);line-height:1.6;background:rgba(255,255,255,.55)}
.mag div+div{border-left:1px solid var(--rule)}
.mag b{display:block;font-family:var(--serif);font-weight:700;font-size:24px;color:var(--dawn)}

/* 節の共通 */
.sec{padding:68px 0 0}
.eb{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:500;color:var(--gold);letter-spacing:.16em;margin-bottom:12px}
.eb::before{content:"";width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff 0 25%,var(--sun2) 60%,var(--sun) 100%);box-shadow:0 0 8px 2px rgba(246,178,122,.6)}
.sec h2{font-size:clamp(26px,3.2vw,38px);font-weight:700}
.sec .intro{color:var(--sub);max-width:38em;margin-top:12px}

/* D 星図のひとつずつ */
.legend{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 48px;counter-reset:lg}
.legend li{display:grid;grid-template-columns:22px 1fr;gap:4px 12px;padding:16px 0;border-top:1px solid var(--rule);scroll-margin-top:20px}
.legend .mk{margin-top:14px;justify-self:center;background:radial-gradient(circle at 38% 36%,#fff 0 25%,var(--sun2) 60%,var(--sun) 100%)}
.legend h3{font-size:20px;font-weight:700}
.legend p{grid-column:2;color:var(--sub);font-size:17px;line-height:1.8}
.legend a.more{grid-column:2;font-size:15px;color:var(--gold);text-underline-offset:4px;justify-self:start;min-height:32px}
.legend li:target{background:linear-gradient(90deg,rgba(246,178,122,.18),transparent)}

/* C 通い方 */
.c-top{display:grid;grid-template-columns:auto 1fr;gap:36px;align-items:end;margin-top:22px}
.big22{font-family:var(--serif);font-weight:700;font-size:clamp(76px,10vw,128px);line-height:1;color:var(--ink);letter-spacing:.02em;text-shadow:0 0 40px rgba(255,190,130,.55)}
.big22 small{display:block;font-size:17px;font-family:var(--sans);font-weight:500;color:var(--sub);letter-spacing:.1em;margin-top:10px}
.band{margin-top:30px;border:1px solid var(--rule);border-radius:18px;padding:22px 24px 18px;background:linear-gradient(90deg,#fff7ee 0%,#ffffff 45%,#eef4fb 80%,#dfe6f2 100%);box-shadow:var(--shadow)}
.band .row{display:grid;grid-template-columns:200px 1fr;gap:16px;align-items:center;padding:8px 0}
.band .nm{font-size:16px;line-height:1.5}
.band .nm b{display:block;font-family:var(--serif);font-weight:700;font-size:18px}
.track{position:relative;height:40px;border-radius:20px;background:rgba(27,42,74,.06)}
.bar{position:absolute;top:0;bottom:0;border-radius:20px;color:var(--ink);font-weight:700;font-size:15px;display:flex;align-items:center;padding:0 14px;white-space:nowrap}
.bar.d{left:3.571%;width:39.286%;background:linear-gradient(90deg,#ffd2a8,#ffe7c9 40%,#bfe2f6)}
.bar.n{left:50%;width:50%;background:linear-gradient(90deg,#8fa7cf,#3b5384 45%,#1b2a4a);color:#fff;justify-content:flex-end}
.bar.h{left:35.714%;width:42.857%;background:#bfe0a6}
.axis{display:grid;grid-template-columns:200px 1fr;gap:16px;font-size:14px;color:var(--sub)}
.axis .t{position:relative;height:22px}
.axis .t span{position:absolute;transform:translateX(-50%)}
.pick{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.pick > div{border:1px solid var(--rule);border-radius:18px;padding:22px 22px 20px;background:var(--card);box-shadow:var(--shadow)}
.pick svg{width:44px;height:44px;stroke:var(--sun);fill:none;stroke-width:1.6}
.pick h3{font-size:21px;font-weight:700;margin:8px 0 6px}
.pick p{font-size:17px;color:var(--sub);line-height:1.8}
.pick p b{color:var(--ink);font-weight:500}
.ride{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:center;margin-top:18px;border-top:2px dotted var(--gl);padding-top:20px}
.ride img{border-radius:14px;aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}
.ride h3{font-size:22px;font-weight:700}
.ride p{color:var(--sub);font-size:17px}
.cities{display:flex;flex-wrap:wrap;gap:6px 8px;list-style:none;padding:0;margin:8px 0}
.cities li{border:1px solid rgba(233,132,74,.6);background:#fff;border-radius:30px;padding:2px 12px;font-size:16px}

/* F 会話 */
.talk{display:grid;grid-template-columns:300px 1fr;gap:44px;margin-top:26px;align-items:start}
.guide{text-align:center;position:sticky;top:20px}
.face{position:relative;overflow:hidden;border-radius:50%;aspect-ratio:1;background:#e6eef6}
.face img{position:absolute;max-width:none;height:auto}
.guide .face{width:220px;margin:0 auto;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--sun2),0 0 0 14px rgba(255,214,176,.35),0 0 50px 10px rgba(255,196,140,.35)}
.guide .who{font-family:var(--serif);font-weight:700;font-size:19px;margin-top:16px}
.guide .hi{margin-top:8px;font-size:17px;color:var(--ink);text-align:left;background:var(--sky3);border-radius:18px;padding:14px 18px;position:relative}
.guide .hi::before{content:"";position:absolute;top:-9px;left:50%;margin-left:-9px;border:9px solid transparent;border-top:0;border-bottom-color:var(--sky3)}
.qa{display:flex;flex-direction:column;gap:12px}
.q{align-self:flex-end;max-width:80%;border:1.5px solid rgba(27,42,74,.35);background:#fff;border-radius:20px 20px 4px 20px;padding:10px 18px;font-family:var(--serif);font-weight:500;font-size:19px}
.a{align-self:flex-start;max-width:88%;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start}
.a .face{width:44px}
.a .bub{background:var(--sky3);border-radius:4px 20px 20px 20px;padding:12px 18px;font-size:17px;line-height:1.8;border-left:3px solid var(--sun)}
.a .bub b{color:var(--gold);font-weight:700}
.a .bub a{color:var(--gold);text-underline-offset:4px}
.lovotmini{display:flex;gap:12px;align-items:center;margin-top:8px}
.lovotmini img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center 60%}
.qa .gap{height:12px}

/* A チーム */
.crew{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:34px;padding-bottom:30px}
.crew > svg{position:absolute;left:0;top:0;width:100%;height:170px;pointer-events:none}
.crew figure{margin:0;text-align:center;position:relative}
.crew figure:nth-of-type(even){margin-top:34px}
.crew .face,.crew .icn{width:128px;margin:0 auto;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--sun2),0 0 30px 6px rgba(255,196,140,.35)}
.crew .icn{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#ffffff,#fff0e0)}
.crew .icn svg{width:58px;height:58px;stroke:var(--dawn);fill:none;stroke-width:1.5}
.crew figcaption{margin-top:12px;line-height:1.5}
.crew figcaption b{display:block;font-family:var(--serif);font-weight:700;font-size:20px}
.crew figcaption span{display:block;font-size:15px;color:var(--gold);margin-top:4px}
details{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:rgba(255,255,255,.6)}
summary{cursor:pointer;min-height:56px;display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:500;font-size:19px;list-style:none;padding:6px 4px}
summary::-webkit-details-marker{display:none}
summary::after{content:"＋";margin-left:auto;color:var(--gold);font-family:var(--sans);font-weight:700}
details[open] summary::after{content:"－"}
summary:hover{color:var(--gold)}
.jobs{display:grid;grid-template-columns:1fr 1fr;gap:4px 40px;padding:6px 4px 22px;margin:0}
.jobs dt{font-family:var(--serif);font-weight:700;font-size:18px;color:var(--gold);margin-top:12px}
.jobs dd{margin:2px 0 0;font-size:17px;color:var(--sub);line-height:1.8}

/* B 13の星 */
.paper{display:grid;grid-template-columns:330px 1fr;gap:40px;margin-top:36px;align-items:start}
.thirteen{border:1px solid var(--rule);border-radius:20px;padding:22px 24px;background:var(--card);box-shadow:var(--shadow)}
.thirteen .n{font-family:var(--serif);font-weight:700;font-size:64px;color:var(--dawn);line-height:1}
.thirteen .n small{font-size:22px;margin-left:4px}
.thirteen .yr{font-size:15px;color:var(--sub);margin-top:6px}
.years{display:flex;justify-content:space-between;margin-top:18px;gap:8px}
.years div{text-align:center;font-size:14px;color:var(--sub)}
.years i{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;width:44px;min-height:40px;align-content:flex-end;margin:0 auto 6px}
.years i::before{content:none}
.years i span{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff 0 25%,var(--sun2) 60%,var(--sun) 100%);box-shadow:0 0 6px rgba(246,178,122,.8)}
.paper h3{font-size:26px;font-weight:700}
.paper .intro{margin-top:8px}
.talks{list-style:none;padding:0;margin:16px 0 14px}
.talks li{padding:12px 0;border-top:1px solid var(--rule)}
.talks .y{font-size:15px;color:var(--gold)}
.talks .tt{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.6;display:block}
.talks .wh{font-size:15px;color:var(--sub)}
.talks.rest li{padding:10px 4px}
.talks.rest .tt{font-size:17px}

/* E 足もと */
.steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:30px}
.steps > svg{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.step{position:relative}
.step:nth-child(2){margin-top:110px}
.step:nth-child(3){margin-top:55px}
.step:nth-child(4){margin-top:0}
.step .ph{width:150px;height:150px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--sun2),0 0 36px 8px rgba(255,196,140,.35)}
.step .ph img{width:100%;height:100%;object-fit:cover}
.step .no{font-family:var(--serif);font-size:16px;color:var(--gold);letter-spacing:.2em;margin-top:16px}
.step h3{font-size:25px;font-weight:700}
.step h4{font-family:var(--serif);font-weight:700;font-size:18px;margin:14px 0 2px;color:var(--ink)}
.step p{font-size:17px;color:var(--sub);line-height:1.8}
.stat{margin-top:12px;border:1px solid var(--gl);border-radius:14px;padding:10px 14px;font-size:15px;color:var(--sub);line-height:1.7;background:#fff}
.stat b{font-family:var(--serif);font-size:26px;color:var(--dawn);font-weight:700;display:block;line-height:1.3}
.step a.go{display:inline-flex;align-items:center;min-height:48px;color:var(--gold);font-weight:500;text-underline-offset:5px}

/* G マルシェ */
.marche{margin-top:76px;padding:60px 0 64px;position:relative;
  background:radial-gradient(ellipse 60% 70% at 85% 0%,rgba(255,196,140,.55),transparent 70%),radial-gradient(ellipse 40% 50% at 0% 100%,rgba(214,236,250,.9),transparent 70%),linear-gradient(180deg,#fff4e8,#fde8d8 60%,#fbe3d9)}
.mg{display:grid;grid-template-columns:1fr 400px;gap:50px;align-items:start}
.mg .logo{width:330px;height:auto;margin:0 0 6px -8px}
.when{display:inline-flex;flex-wrap:wrap;gap:6px 16px;font-family:var(--serif);font-weight:700;font-size:21px;color:var(--gold);margin:14px 0 10px}
.mg .intro{max-width:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.two > div{border-radius:18px;padding:18px 20px;background:#fff;border:1px solid var(--rule);box-shadow:var(--shadow)}
.two > div.hl{border:2px solid var(--sun);box-shadow:0 0 0 6px rgba(255,214,176,.35),var(--shadow)}
.two h3{font-size:20px;font-weight:700;margin-bottom:6px}
.two p{font-size:17px;color:var(--sub);line-height:1.8}
.two a{color:var(--gold);text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px;font-weight:500}
.mside{text-align:center}
.mside .chara{width:220px;height:220px;margin:0 auto;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--sun2),0 0 50px 10px rgba(255,196,140,.35)}
.mside .chara img{width:100%;height:100%;object-fit:cover}
.past{display:flex;gap:10px;justify-content:center;margin-top:22px}
.past img{width:120px;height:120px;border-radius:10px;object-fit:cover;box-shadow:0 0 0 3px #fff,var(--shadow)}
.mside .cap{font-size:14px;color:var(--sub);margin-top:8px}
.ig{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:16px;min-height:44px;text-underline-offset:4px}
.ig svg{width:20px;height:20px;stroke:var(--dawn);fill:none;stroke-width:1.6}

/* 時間と場所 */
.info{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;margin-top:26px}
table{width:100%;border-collapse:collapse;font-size:16px}
th,td{border-bottom:1px solid var(--rule);padding:10px 4px;text-align:center}
thead th{font-weight:500;color:var(--sub);font-size:15px}
tbody th{text-align:left;font-weight:500;line-height:1.5}
tbody th small{display:block;color:var(--sub);font-size:14px;font-weight:400}
td.o{color:var(--dawn);font-size:18px;font-weight:700}
td.x{color:#6b7690}
.note{font-size:15px;color:var(--sub);margin-top:10px;line-height:1.8}
.map{border:1px solid var(--rule);border-radius:18px;padding:16px 18px;background:var(--card);box-shadow:var(--shadow)}
.map svg{width:100%;max-width:440px;height:auto;display:block;margin:0 auto}
.addr{font-size:17px;line-height:1.8;margin-top:10px}
.addr b{font-weight:500}
.eq{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.eq li{font-size:15px;border:1px solid var(--rule);border-radius:30px;padding:4px 14px;color:var(--ink);background:#fff}

/* 最後 */
.last{text-align:center;padding:80px 0 56px}
.last h2{font-size:clamp(28px,3.6vw,42px);font-weight:700}
.last .intro{margin:14px auto 0}
.last .act{margin-top:34px}
.ft{border-top:1px solid var(--rule);padding:34px 0 40px;font-size:16px;color:var(--sub);line-height:1.8;background:linear-gradient(180deg,#eaf4fb,#dcecf8)}
.ft .wrap{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap}
.ft b{font-family:var(--serif);font-size:20px;color:var(--ink);font-weight:700;display:block}
.ft a{text-underline-offset:4px}

/* PC：右下に浮かぶ月 */
.float-sun{position:fixed;right:34px;bottom:34px;width:112px;height:112px;font-size:17px;z-index:20;box-shadow:0 0 0 6px rgba(255,214,176,.5),0 8px 30px rgba(27,42,74,.2),0 0 40px 6px rgba(255,190,130,.35)}
.float-sun span{font-size:12px}
.float-sun::before{inset:-18px}
.spbar{display:none}

@media (max-width:900px){
  .legend{grid-template-columns:1fr}
  .c-top{grid-template-columns:1fr;gap:10px}
  .pick{grid-template-columns:1fr}
  .ride{grid-template-columns:1fr}
  .talk{grid-template-columns:1fr;gap:20px}
  .guide{position:static;display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;text-align:left}
  .guide .face{width:110px}
  .guide .who{margin:0}
  .guide .hi{grid-column:1/-1}
  .guide .hi::before{left:54px}
  .crew{grid-template-columns:repeat(3,1fr);gap:22px 10px}
  .crew > svg{display:none}
  .crew figure:nth-of-type(even){margin-top:0}
  .crew .face,.crew .icn{width:96px}
  .crew .icn svg{width:44px;height:44px}
  .jobs{grid-template-columns:1fr}
  .paper{grid-template-columns:1fr;gap:24px}
  .steps{grid-template-columns:1fr;gap:34px;padding-left:0}
  .steps > svg{display:none}
  .step,.step:nth-child(2),.step:nth-child(3),.step:nth-child(4){margin-top:0;display:grid;grid-template-columns:96px 1fr;gap:0 16px}
  .step .ph{width:96px;height:96px}
  .step .body{grid-column:1/-1}
  .step .no{margin-top:0}
  .mg{grid-template-columns:1fr;gap:26px}
  .two{grid-template-columns:1fr}
  .info{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:17px;padding-bottom:84px}
  .wrap{padding:0 16px}
  .nav{display:none}
  .hd{padding-top:20px}
  .brand b{font-size:20px}
  .hero{padding-top:22px}
  .hero h1{font-size:28px;letter-spacing:.04em}
  .lead{text-align:left;font-size:17px}
  .hero .sky{aspect-ratio:360/560;margin-top:18px}
  .hero .sky .d{display:none}.hero .sky .m{display:block}
  .st{left:var(--mx);top:var(--my)}
  .st .lb,.st.r .lb{left:50%;top:40px;transform:translateX(-50%);text-align:center}
  .st .lb b{font-size:16px}
  .st .lb small{display:none}
  .st .lb .full{display:none}.st .lb i{display:inline}
  .core{left:50%;top:48.2%}
  .core .disc{width:84px;height:84px}
  .core .disc img{width:42px}
  .core .cn{font-size:16px}
  .act{flex-direction:column;gap:22px;margin-top:40px}
  .telbox{text-align:center}
  .safe{align-items:center}
  .mag{flex-direction:column;margin-top:28px}
  .mag div+div{border-left:0;border-top:1px solid var(--rule)}
  .mag div{display:flex;align-items:baseline;gap:12px;padding:10px 4px;text-align:left}
  .mag b{font-size:20px;min-width:7.5em}
  .sec{padding-top:64px}
  .band{padding:16px 12px 12px}
  .band .row,.axis{grid-template-columns:1fr;gap:6px}
  .axis .lab{display:none}
  .axis{order:-1}
  .bar{font-size:13px;padding:0 8px}
  .q{max-width:92%;font-size:18px}
  .a{max-width:100%;grid-template-columns:36px 1fr;gap:8px}
  .a .face{width:36px}
  .crew .face,.crew .icn{width:88px}
  .crew figcaption b{font-size:17px}
  .crew figcaption span{font-size:14px}
  .past img{width:96px;height:96px}
  .mg .logo{width:260px}
  .mside .chara{width:170px;height:170px}
  table{font-size:15px}
  th,td{padding:8px 2px}
  .float-sun{display:none}
  .spbar{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;position:fixed;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:2px solid var(--sun2);box-shadow:0 -6px 20px rgba(27,42,74,.08);z-index:30}
  .spbar a{min-height:58px;border-radius:30px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:700;font-size:17px}
  .spbar .t{border:2px solid var(--ink);color:var(--ink);background:#fff}
  .spbar .r{background:radial-gradient(ellipse 80% 140% at 30% 20%,#ffe2c2 0%,#f8b47c 55%,#f09a5e 100%);color:var(--ink);box-shadow:0 0 0 3px rgba(255,214,176,.6)}
  .spbar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
  .last{padding-top:76px}
}

.band .nm{display:flex;align-items:center;gap:12px}
.band .nm svg{width:34px;height:34px;flex:none;stroke:var(--sun);fill:none;stroke-width:1.8}
.band .nm b{font-size:19px}
@media (min-width:641px){.band .row,.axis{grid-template-columns:310px 1fr}}
.qa{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.pair{display:flex;flex-direction:column;gap:10px}
.pair .q{max-width:94%}
.pair .a{max-width:100%}
@media (max-width:900px){.qa{grid-template-columns:1fr;gap:18px}}
@media (max-width:640px){
  .steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:22px -16px 0;padding:0 16px 10px}
  .steps .step{flex:0 0 84%;scroll-snap-align:start;display:block!important;border:1px solid var(--rule);border-radius:20px;padding:18px;background:var(--card);box-shadow:var(--shadow)}
  .step .ph{width:84px;height:84px}
  .swipe{display:block!important}
  .band .nm svg{width:28px;height:28px}
  .band .nm b{font-size:17px}
  .ride img{display:none}
  .mside .chara{display:none}
  .sec{padding-top:56px}
  .marche{margin-top:60px;padding:52px 0 56px}
  .sunbtn{width:148px;height:148px;font-size:20px}
  .last{padding:64px 0 48px}
  .thirteen{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:center;padding:16px 18px}
  .thirteen .yr{grid-column:1/-1;order:3}
  .years{margin-top:0}
  .paper .intro{display:none}
}
.swipe{display:none;font-size:15px;color:var(--gold);margin-top:10px}

.hero .sky{max-width:900px}
.hero .act{margin-top:34px}
@media (min-width:901px){
.ride{grid-template-columns:220px 1fr}
.talk{grid-template-columns:230px 1fr;gap:36px}
.guide .face{width:170px}
.step .ph{width:124px;height:124px}
.step:nth-child(2){margin-top:70px}
.step:nth-child(3){margin-top:35px}
}
.mg .logo{width:250px}
.last{text-align:left;padding:72px 0 48px}
.lastg{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.last .intro{margin:12px 0 0}
.last .act{margin:0}
@media (max-width:900px){.lastg{grid-template-columns:1fr}.last{text-align:center}.last .eb{justify-content:center}.last .intro{margin:12px auto 0}}
@media (max-width:640px){
  .qa{display:flex;flex-direction:row;align-items:stretch;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 -16px;padding:4px 16px 10px}
  .pair{flex:0 0 86%;scroll-snap-align:start;border:1px solid var(--rule);border-radius:20px;padding:14px;background:rgba(255,255,255,.75);box-shadow:var(--shadow)}
  .pair .q{max-width:100%}
  #hanashi .swipe{margin-top:4px}
  .mg .logo{width:200px}
  .last .act{margin-top:24px}
}

.hd2{display:grid;grid-template-columns:auto 1fr;gap:20px 56px;align-items:end}
.hd2 .intro{margin:0 0 6px}
.ghead{text-align:left;margin-bottom:22px}
.ghead h2{font-size:clamp(24px,2.4vw,30px)}
.paper > *{min-width:0}
.eqd{margin-top:20px}
.eqd .eq{margin:0 0 16px}
.sec{padding-top:58px}
.hd{padding-top:18px}
.nav{margin-top:10px}
.hero .sky{max-width:860px}
.lead{max-width:44em}
.crew .face,.crew .icn{width:116px}
.mg .logo{width:210px}
@media (min-width:901px){.step:nth-child(2){margin-top:56px}.step:nth-child(3){margin-top:28px}}
@media (max-width:900px){.hd2{grid-template-columns:1fr;gap:10px}.ghead{grid-column:1/-1;margin-bottom:6px}}
@media (max-width:640px){
  .sec{padding-top:50px}
  .act{flex-direction:row;flex-wrap:wrap;gap:14px;justify-content:center;align-items:center}
  .act .sunbtn{width:124px;height:124px;font-size:18px}
  .act .sunbtn span{font-size:12px}
  .telbox{text-align:left;flex:1;min-width:0}
  .telbox .k{font-size:14px}
  .tel{font-size:22px;gap:6px}
  .tel svg{width:18px;height:18px}
  .telbox .h{font-size:14px}
  .act .safe{align-items:flex-start;font-size:16px;margin-top:6px}
  .crew .face,.crew .icn{width:84px}
  .ft{padding:26px 0 30px}
}

.mside .logo{width:300px;height:auto;margin:0 auto}
.sec{padding-top:52px}
.hero .sky{max-width:820px}
@media (min-width:901px){
  .talks:not(.rest){display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
  .crew figure:nth-of-type(even){margin-top:22px}
}
@media (max-width:640px){
  .mside .logo{width:220px}
  .past img{width:84px;height:84px}
  .when{font-size:18px;gap:2px 12px}
  .paper .wh[style]{display:none}
  .mside{display:flex;flex-direction:column;align-items:center}
}

.hero h1{font-size:clamp(28px,4vw,50px)}
@media (max-width:640px){
  #team .intro.tm{display:none}
  .ft{font-size:15px;line-height:1.7}
}

.st.t .lb{left:50%;bottom:40px;transform:translateX(-50%);text-align:center}
.core .cn{background:rgba(255,255,255,.92);padding:2px 12px 4px;border-radius:12px;box-shadow:0 0 0 1px rgba(233,132,74,.25)}
@media (min-width:901px){.ghead h2{font-size:24px}}
@media (max-width:640px){.st.t .lb{left:50%;top:40px;bottom:auto}}

@media (max-width:900px){.guide .swipe{grid-column:1/-1;margin-top:0}}
@media (max-width:640px){td{padding:8px 0}td.o{font-size:16px}}
@media (max-width:640px){
  .hero .sky{aspect-ratio:360/505}
  .hero .act{margin-top:26px}
  .hd{padding-top:14px}
  .mside .logo{width:170px}
  .past{margin-top:14px}
  .two{margin-top:16px;gap:12px}
  .ig{margin-top:4px}
  .c-top{margin-top:12px}
  .talk{margin-top:16px}
  .qa{align-items:flex-start}
  .sec{padding-top:36px}
  .hero{padding-bottom:12px}
  .marche{margin-top:44px;padding:40px 0 44px}
  .last{padding:48px 0 34px}
  .ride{margin-top:12px;padding-top:14px}
  .band{margin-top:20px}
  .crew{margin-top:22px;padding-bottom:12px}
  .paper{margin-top:22px}
  .ft{padding:22px 0 24px}
  .sunbtn::before{inset:-15px}
  .act{padding-left:14px}
}
@media (min-width:641px){
  .sec{padding-top:46px}
  .marche{margin-top:60px;padding:52px 0 56px}
  .last{padding:60px 0 40px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .ln.main{stroke-dasharray:none;stroke-dashoffset:0}
}

/* =====================================================================
   ここから下：サイト全体の部品（ヘッダー・メニュー・フッター・下層ページ）
   ===================================================================== */
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;padding:10px 16px}
.skip:focus{left:12px;top:12px}
.nw{white-space:nowrap}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}

/* ヘッダー：上の細い帯（夜間透析・電話・メニュー） */
.hd{position:relative}
.hd-util{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:flex-end;gap:18px;padding:0 8px 6px;font-size:15px}
.hd-note{color:var(--gold);letter-spacing:.08em;margin-right:auto}
.hd-tel{display:inline-flex;align-items:center;gap:6px;min-height:44px;text-decoration:none;font-family:var(--serif);font-weight:700;font-size:19px;letter-spacing:.04em}
.hd-tel svg{width:18px;height:18px;stroke:var(--sun)}
.menu-btn{appearance:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--ink);background:rgba(255,255,255,.85);color:var(--ink);font:inherit;font-size:15px;font-weight:700;cursor:pointer}
.mb-i{display:inline-flex;flex-direction:column;gap:4px}
.mb-i i{display:block;width:16px;height:2px;background:currentColor;border-radius:2px}
.menu-btn[aria-expanded="true"]{background:var(--ink);color:#fff}
.nav a[aria-current="page"]{color:var(--gold);font-weight:700}
.nav a[aria-current="page"]::before{box-shadow:0 0 0 4px rgba(246,178,122,.35),0 0 14px 4px rgba(246,178,122,.8)}
.nav{max-width:900px}
.menu-panel{position:absolute;left:0;right:0;top:100%;z-index:60;padding:0 16px}
.menu-panel[hidden]{display:none}
.menu-in{max-width:720px;margin:8px auto 0;background:#fff;border-radius:22px;box-shadow:0 18px 50px rgba(27,42,74,.18),0 0 0 1px var(--rule);padding:14px 22px 22px;display:flex;flex-direction:column;text-align:left}
.mlink{display:flex;align-items:center;gap:12px;min-height:54px;border-bottom:1px solid var(--rule);text-decoration:none;font-family:var(--serif);font-weight:700;font-size:19px}
.mlink::before{content:"";width:10px;height:10px;border-radius:50%;flex:none;background:radial-gradient(circle at 38% 36%,#fff 0 25%,var(--sun2) 60%,var(--sun) 100%)}
.mlink[aria-current="page"]{color:var(--gold)}
.menu-sub{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.menu-sub a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(233,132,74,.6);background:#fff;text-decoration:none;font-size:16px}
.menu-cta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.pillbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 22px;border-radius:999px;text-decoration:none;font-weight:700;font-size:17px;border:2px solid var(--ink);color:var(--ink);background:#fff}
.pillbtn.sun{border:0;background:radial-gradient(ellipse 80% 140% at 30% 20%,#ffe2c2 0%,#f8b47c 55%,#f09a5e 100%);box-shadow:0 0 0 3px rgba(255,214,176,.6)}
.pillbtn:hover{filter:brightness(1.05)}

/* トップ：お知らせ */
.news{padding:30px 0 0}
.news-in{display:grid;grid-template-columns:auto 1fr;gap:10px 28px;align-items:start;max-width:960px}
.news-h{font-family:var(--serif);font-weight:700;font-size:19px;color:var(--gold);letter-spacing:.14em;display:flex;align-items:center;gap:10px;margin:0;padding-top:12px}
.news-h::before{content:"";width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff 0 25%,var(--sun2) 60%,var(--sun) 100%)}
.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.news-list li{padding:10px 2px;border-bottom:1px solid var(--rule);font-size:16px;line-height:1.75}
.news-list a{color:var(--gold);text-underline-offset:4px;margin-left:6px}

/* 節の終わりの「くわしく」 */
.more{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
a.pill,.pill{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid rgba(233,132,74,.65);background:#fff;color:var(--ink);text-decoration:none;font:inherit;font-size:16px;font-weight:500;cursor:pointer}
a.pill::after{content:"→";color:var(--sun);font-weight:700}
a.pill:hover,.pill:hover{background:#fff4ea;border-color:var(--sun)}
.pill.sun{border:0;background:radial-gradient(ellipse 80% 140% at 30% 20%,#ffe2c2 0%,#f8b47c 55%,#f09a5e 100%)}
.pill.sun::after{color:var(--ink)}

/* 写真：横に流す列・設備ページの一覧・拡大 */
.gl{position:relative;display:block;text-decoration:none;color:var(--ink);border-radius:16px;overflow:hidden;background:#fff}
.gl img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gl:hover img{transform:scale(1.04)}
.gl::after{content:"";position:absolute;right:10px;top:10px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.94) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c2581f' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='M20 20l-4.5-4.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center/18px no-repeat;box-shadow:0 2px 8px rgba(27,42,74,.15)}
.ps-wrap{position:relative;min-width:0;margin-top:22px}
.ps-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 2px 8px}
.ps-track::-webkit-scrollbar{display:none}
.ps-item{flex:0 0 clamp(220px,24%,280px);aspect-ratio:4/3;scroll-snap-align:start;box-shadow:0 0 0 3px #fff,var(--shadow)}
.ps-item .gl-cap{display:none}
.ps-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:50px;height:50px;border-radius:50%;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(27,42,74,.15)}
.ps-nav.prev{left:-14px}.ps-nav.next{right:-14px}
.ps-nav[hidden]{display:none}
.ps-more{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.gf-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:22px}
.gf-chips{display:flex;flex-wrap:wrap;gap:8px}
.gf-chip{appearance:none;font:inherit;font-size:15px;font-weight:700;min-height:46px;padding:0 18px;border-radius:999px;border:1.5px solid var(--rule);background:#fff;color:var(--ink);cursor:pointer}
.gf-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.gf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;grid-auto-flow:dense;margin-top:16px}
.gf-item{display:grid;grid-template-rows:auto auto;border:1px solid var(--rule);box-shadow:var(--shadow)}
.gf-item img{aspect-ratio:4/3;height:auto}
.gf-item.is-tall{grid-row:span 2;grid-template-rows:1fr auto}
.gf-item.is-tall img{aspect-ratio:auto;height:100%;min-height:0}
.gf-item[hidden]{display:none}
.gl-cap{display:block;padding:10px 14px 12px;font-size:15px;line-height:1.65;color:var(--ink);background:#fff}
.fmap{border:1px solid var(--rule);border-radius:20px;background:#fff;padding:18px clamp(14px,2vw,24px) 14px;display:grid;gap:12px;margin-top:22px;box-shadow:var(--shadow)}
.fmap-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.fmap-head h3{font-size:21px;font-weight:700}
.fmap-tabs{display:flex;gap:6px}
.fmap-tabs button{appearance:none;font:inherit;font-weight:700;font-size:15px;min-height:44px;padding:0 18px;border-radius:999px;border:1.5px solid var(--rule);background:#fff;color:var(--ink);cursor:pointer}
.fmap-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.fmap-img img{object-fit:contain;height:auto;width:100%}
.fmap-cap{font-size:15px;color:var(--sub)}
.lbx{position:fixed;inset:0;z-index:100000;display:none}
.lbx.is-open{display:block}
.lbx-lock,.lbx-lock body{overflow:hidden}
.lbx-back{position:absolute;inset:0;background:rgba(20,28,46,.92)}
.lbx-fig{position:absolute;inset:56px 64px 24px;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none}
.lbx-fig img{max-width:100%;max-height:calc(100% - 64px);object-fit:contain;border-radius:10px;background:#fff;pointer-events:auto}
.lbx-fig figcaption{display:flex;gap:16px;align-items:baseline;color:#fff;font-size:16px;line-height:1.6;max-width:760px;text-align:center;pointer-events:auto}
.lbx-n{font-size:14px;color:#ffd9bd;white-space:nowrap}
.lbx-btn{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.94);color:var(--ink);font-size:30px;line-height:1;cursor:pointer}
.lbx-prev{left:10px}.lbx-next{right:10px}
.lbx.is-single .lbx-btn{display:none}
.lbx-close{position:absolute;right:12px;top:10px;min-height:44px;padding:0 16px;border-radius:999px;border:0;background:rgba(255,255,255,.94);color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer}

/* ===== 下層ページの冒頭 ===== */
.phero{padding:26px 0 8px;text-align:center}
.crumbs{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 10px;font-size:14px;color:var(--sub);margin-bottom:16px}
.crumbs a{color:var(--sub);text-underline-offset:3px}
.crumbs > *+*::before{content:"›";margin-right:10px;color:var(--sun)}
.phero h1{font-size:clamp(28px,3.8vw,46px);font-weight:700;letter-spacing:.08em;margin:14px 0 12px}
.phero h1 em{font-style:normal;color:var(--dawn)}
.phero .lead{text-align:left;max-width:38em}
.phero .over{margin-top:2px}
.phero-g{display:grid;grid-template-columns:auto 1fr;gap:20px 34px;align-items:center;max-width:860px;margin:26px auto 0;text-align:left}
.phero-g.solo{grid-template-columns:1fr}
.ph-ring{width:200px;height:200px;border-radius:50%;overflow:hidden;flex:none;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--sun2),0 0 0 14px rgba(255,214,176,.35),0 0 50px 10px rgba(255,196,140,.35)}
.ph-ring img{width:100%;height:100%;object-fit:cover}
.say{position:relative;background:var(--sky3);border-radius:20px;padding:14px 20px;font-size:17px;line-height:1.85;border-left:3px solid var(--sun)}
.say small{display:block;font-size:14px;color:var(--gold);font-weight:500;margin-bottom:2px}

/* ===== 下層ページの部品 ===== */
.sec.tint{margin-top:56px;padding:52px 0 56px;background:radial-gradient(ellipse 60% 70% at 85% 0%,rgba(255,196,140,.35),transparent 70%),linear-gradient(180deg,#fff7ef,#fdeee4)}
.sec.sky{margin-top:56px;padding:52px 0 56px;background:linear-gradient(180deg,#eef6fc,#e3f0fa)}
.sec.tint + .sec,.sec.sky + .sec{padding-top:56px}
.sec h3{font-size:22px;font-weight:700}
.narrow{max-width:820px}
.prose{max-width:46em}
.prose > * + *{margin-top:14px}
.prose h2{font-size:clamp(23px,2.6vw,30px);font-weight:700;margin-top:40px;padding-left:22px;position:relative}
.prose h2::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff 0 25%,var(--sun2) 60%,var(--sun) 100%);box-shadow:0 0 8px 2px rgba(246,178,122,.6)}
.prose h3{font-size:20px;font-weight:700;margin-top:28px}
.prose ul,.prose ol{padding-left:1.4em}
.prose li+li{margin-top:4px}
.prose a{color:var(--gold);text-underline-offset:4px}
.prose table{margin-top:10px}
.prose img{border-radius:14px;height:auto}
.prose strong{font-weight:700}
.cards{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:18px;margin-top:24px}
.card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--rule);border-radius:20px;padding:22px 22px 20px;background:var(--card);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;min-width:0}
.card .k{font-size:14px;font-weight:500;color:var(--gold);letter-spacing:.1em}
.card h3{font-size:21px;font-weight:700;line-height:1.5}
.card p{font-size:17px;color:var(--sub);line-height:1.8}
.card .ic{width:44px;height:44px;stroke:var(--sun);fill:none;stroke-width:1.6}
.card img.cimg{width:calc(100% + 44px);max-width:none;margin:-22px -22px 8px;aspect-ratio:16/10;object-fit:cover;border-radius:20px 20px 0 0;height:auto}
a.card{transition:transform .25s ease,box-shadow .25s ease}
a.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(27,42,74,.12)}
.card .go{margin-top:auto;padding-top:8px;color:var(--gold);font-weight:500;font-size:16px}
.card .go::after{content:" →"}
.card.hl{border:2px solid var(--sun);box-shadow:0 0 0 6px rgba(255,214,176,.35),var(--shadow)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center;margin-top:26px}
.split.rev > :first-child{order:2}
.split .pic{margin:0}
.split .pic img{width:100%;height:auto;border-radius:22px;aspect-ratio:4/3;object-fit:cover;box-shadow:0 0 0 4px #fff,var(--shadow)}
.split .pic.tall img{aspect-ratio:3/4;max-height:560px}
.split .pic figcaption{font-size:15px;color:var(--sub);margin-top:8px}
.dots{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:6px}
.dots li{position:relative;padding-left:24px;line-height:1.8}
.dots li::before{content:"";position:absolute;left:2px;top:.68em;width:11px;height:11px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff 0 25%,var(--sun2) 60%,var(--sun) 100%)}
.flow{list-style:none;padding:0;margin:24px 0 0;counter-reset:fl;display:grid;gap:14px}
.flow > li{counter-increment:fl;display:grid;grid-template-columns:56px 1fr;gap:4px 18px;align-items:start;border:1px solid var(--rule);border-radius:20px;padding:18px 20px;background:var(--card);box-shadow:var(--shadow)}
.flow > li::before{content:counter(fl);grid-row:1 / span 3;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:22px;color:var(--ink);background:radial-gradient(circle at 40% 36%,#fff4e4 0%,#ffd2a2 40%,#f6a66a 100%);box-shadow:0 0 0 4px rgba(255,214,176,.45)}
.flow h3{font-size:20px;font-weight:700}
.flow p{font-size:17px;color:var(--sub);line-height:1.8}
.box{border:1px solid var(--gl);border-radius:20px;padding:18px 22px;background:#fff;margin-top:22px;box-shadow:var(--shadow)}
.box .k{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;font-size:19px;color:var(--dawn);margin-bottom:6px}
.box .k::before{content:"";width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#fff 0 25%,var(--sun2) 60%,var(--sun) 100%)}
.box p{font-size:17px;line-height:1.85}
.box.warm{background:linear-gradient(180deg,#fff7ef,#fff)}
.dl{margin:22px 0 0;border-top:1px solid var(--rule)}
.dl > div{display:grid;grid-template-columns:220px 1fr;gap:6px 24px;padding:14px 4px;border-bottom:1px solid var(--rule)}
.dl dt{font-family:var(--serif);font-weight:700;color:var(--ink)}
.dl dd{margin:0;color:var(--ink);line-height:1.85}
.dl dd small{display:block;color:var(--sub);font-size:15px}
.tbl{overflow-x:auto;margin-top:18px;-webkit-overflow-scrolling:touch}
.tbl table{min-width:560px}
.faq{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.faq details{border:1px solid var(--rule);border-radius:18px;background:var(--card);box-shadow:var(--shadow);padding:0 18px}
.faq summary{font-size:18px;min-height:60px;padding:10px 0}
.faq summary::before{content:"Q";flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:700;font-size:17px;background:radial-gradient(circle at 40% 36%,#fff4e4 0%,#ffd2a2 40%,#f6a66a 100%)}
.faq-a{padding:4px 0 18px 46px;font-size:17px;line-height:1.9;color:var(--ink)}
.faq-a > * + *{margin-top:10px}
.faq-a a{color:var(--gold);text-underline-offset:4px}
.qa.col{grid-template-columns:1fr}
.av{width:44px;height:44px;border-radius:50%;overflow:hidden;flex:none;background:#e6eef6}
.av img{width:100%;height:100%;object-fit:cover;object-position:60% 22%}
.a .av{grid-row:1}
.form-box{margin-top:24px;border:1px solid var(--rule);border-radius:24px;background:#fff;padding:clamp(18px,3vw,34px);box-shadow:var(--shadow)}
.form-box label{display:block;font-weight:500;line-height:1.7}
.form-box input[type=text],.form-box input[type=email],.form-box input[type=tel],.form-box input[type=date],.form-box input[type=number],.form-box select,.form-box textarea{width:100%;max-width:100%;font:inherit;font-size:17px;padding:12px 14px;border:1.5px solid rgba(27,42,74,.3);border-radius:12px;background:#fff;color:var(--ink);margin-top:6px}
.form-box textarea{min-height:150px}
.form-box input:focus,.form-box select:focus,.form-box textarea:focus{outline:3px solid rgba(233,132,74,.45);border-color:var(--sun)}
.form-box input[type=submit],.form-box button[type=submit]{appearance:none;border:0;min-height:58px;padding:0 40px;border-radius:999px;font:inherit;font-size:18px;font-weight:700;color:var(--ink);cursor:pointer;background:radial-gradient(ellipse 80% 140% at 30% 20%,#ffe2c2 0%,#f8b47c 55%,#f09a5e 100%);box-shadow:0 0 0 3px rgba(255,214,176,.6)}
.form-box p{margin:0 0 16px}
.form-box .wpcf7-list-item{margin:0 14px 6px 0}
.ig-embed{margin-top:22px}
.related{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:40px;padding-top:22px;border-top:2px dotted var(--gl)}
.related .k{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--gold);margin-right:6px}
.big{font-family:var(--serif);font-weight:700;color:var(--dawn);font-size:clamp(40px,5vw,64px);line-height:1.1}
.big small{font-size:.4em;margin-left:4px}
.muted{color:var(--sub)}
.small{font-size:15px}

/* フッター（リンクの列つき） */
.ft{padding:40px 0 26px}
.ft .wrap.ft-in{display:grid;grid-template-columns:1.3fr 1fr 1.1fr;gap:28px 40px;align-items:start}
.ft-sub{display:block;font-size:14px;letter-spacing:.16em}
.ft-h{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink);margin:0 0 6px}
.ft-col ul{list-style:none;padding:0;margin:0 0 14px}
.ft-col li a{display:inline-flex;align-items:center;min-height:36px;text-decoration:none}
.ft-col li a:hover{text-decoration:underline}
.ft-hours li{font-size:15px;line-height:1.8}
.ft .wrap.ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;margin-top:20px;padding-top:16px;border-top:1px solid var(--rule);font-size:14px}

/* 相談チャット（親テーマの相談ボタンを、このデザインのボタンから開く） */
#ksnk-cb-btn{display:none !important}
.chatbtn{position:fixed;right:40px;bottom:170px;z-index:20;display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 18px;border-radius:999px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 6px 20px rgba(27,42,74,.15)}
.chatbtn svg{width:20px;height:20px;stroke:var(--sun)}
.chatbtn[hidden]{display:none}

@media (max-width:900px){
  .cards{grid-template-columns:repeat(min(var(--n,3),2),minmax(0,1fr))}
  .split{grid-template-columns:1fr;gap:20px}
  .split.rev > :first-child{order:0}
  .dl > div{grid-template-columns:1fr;gap:2px}
  .gf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ft .wrap.ft-in{grid-template-columns:1fr 1fr}
  .ft-info{grid-column:1 / -1}
  .nav{max-width:100%;padding:0}
  .nav a{font-size:14px;padding:0 2px}
}
@media (max-width:640px){
  .hd-util{padding:0 0 4px;gap:10px}
  .hd-note,.hd-tel{display:none}
  .menu-btn{position:absolute;right:12px;top:12px;z-index:5}
  .menu-in{padding:10px 16px 18px}
  .menu-cta{grid-template-columns:1fr}
  .news{padding-top:18px}
  .news-in{grid-template-columns:1fr;gap:4px}
  .news-h{padding-top:0}
  .news-list li{font-size:15px}
  .ps-wrap{margin-right:-16px}
  .ps-item{flex-basis:76%}
  .ps-nav{display:none}
  .phero{padding-top:18px}
  .phero h1{font-size:27px;letter-spacing:.04em}
  .phero-g{grid-template-columns:96px 1fr;gap:14px;margin-top:18px}
  .ph-ring{width:96px;height:96px}
  .phero-g .say{grid-column:1 / -1}
  .phero-g.solo .say{grid-column:auto}
  .cards{grid-template-columns:1fr;gap:12px}
  .card{padding:18px}
  .card img.cimg{width:calc(100% + 36px);margin:-18px -18px 6px}
  .flow > li{grid-template-columns:44px 1fr;gap:2px 12px;padding:14px}
  .flow > li::before{width:42px;height:42px;font-size:19px}
  .faq details{padding:0 14px}
  .faq summary{font-size:17px}
  .faq-a{padding-left:0}
  .gf-grid{gap:10px}
  .gl-cap{font-size:14px;padding:8px 10px 10px;line-height:1.55}
  .fmap-img{overflow-x:auto}
  .fmap-img img{min-width:560px}
  .lbx-fig{inset:60px 8px 70px}
  .lbx-btn{top:auto;bottom:12px;transform:none;width:48px;height:48px}
  .sec.tint,.sec.sky{margin-top:40px;padding:40px 0 44px}
  .ft .wrap.ft-in{grid-template-columns:1fr;gap:18px}
  .ft-col ul{display:flex;flex-wrap:wrap;gap:0 16px}
  .chatbtn{display:none !important}
  .spbar.has-chat{grid-template-columns:auto 1fr 1.25fr;gap:8px}
  .spbar .c{min-height:58px;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0 12px;border:2px solid var(--rule);background:#fff;color:var(--ink);font:inherit;font-size:13px;font-weight:700}
  .spbar .c[hidden]{display:none}
  .spbar .c svg{width:20px;height:20px;fill:none;stroke:var(--sun);stroke-width:1.8}
  .related{margin-top:30px}
}
@media (min-width:641px){ .spbar{display:none !important} }

/* WordPressの本文に直書きされた古い色（緑の囲み・金のボタン）を、朝の空の色に合わせる */
.prose [style*="border-left:4px solid"]{background:#fff7ef !important;border-left:3px solid var(--sun) !important;border-radius:16px !important;padding:16px 20px !important}
.prose a[style*="background:#c9a94e"]{background:radial-gradient(ellipse 80% 140% at 30% 20%,#ffe2c2 0%,#f8b47c 55%,#f09a5e 100%) !important;color:var(--ink) !important;min-height:56px;display:inline-flex !important;align-items:center;box-shadow:0 0 0 3px rgba(255,214,176,.6)}
.prose a[style*="border:2px solid #3f6b52"]{color:var(--ink) !important;border-color:var(--ink) !important;min-height:56px;display:inline-flex !important;align-items:center}
.prose [style*="color:#58615a"]{color:var(--sub) !important}

ul.cards,ol.cards{list-style:none;padding:0;margin-left:0}

/* ===== スマホ：このページの道のり（いまの場所・残り・目次） ===== */
.pnav,.pnav-sheet{display:none}
@media (max-width:900px){
  .pnav{display:block;position:fixed;left:0;right:0;top:0;z-index:40;background:rgba(255,255,255,.96);box-shadow:0 2px 14px rgba(27,42,74,.10);transform:translateY(-110%);transition:transform .3s ease}
  .pnav.is-on{transform:none}
  .pnav-btn{appearance:none;display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:6px 14px;border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
  .pnav-ring{position:relative;width:44px;height:44px;flex:none}
  .pnav-ring svg{width:44px;height:44px;transform:rotate(-90deg)}
  .pnav-ring circle{fill:none;stroke-width:3.2}
  .pnav-ring .bg{stroke:rgba(27,42,74,.12)}
  .pnav-ring .fg{stroke:var(--sun);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;transition:stroke-dashoffset .2s linear}
  .pnav-no{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:700;letter-spacing:-.02em}
  .pnav-txt{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}
  .pnav-left{font-size:13px;color:var(--gold);font-weight:500}
  .pnav-name{font-family:var(--serif);font-weight:700;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pnav-open{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid var(--ink);font-size:14px;font-weight:700}
  .pnav-open::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
  .pnav-line{height:3px;background:rgba(27,42,74,.08)}
  .pnav-line i{display:block;height:100%;background:linear-gradient(90deg,#f6b27a,#e9844a);transform-origin:left;transform:scaleX(0)}
  .pnav-sheet{display:block;position:fixed;inset:0;z-index:70}
  .pnav-sheet[hidden]{display:none}
  .pnav-back{position:absolute;inset:0;background:rgba(27,42,74,.35)}
  .pnav-in{position:absolute;left:10px;right:10px;top:10px;max-height:calc(100% - 110px);overflow:auto;background:#fff;border-radius:22px;padding:16px 16px 14px;box-shadow:0 18px 50px rgba(27,42,74,.25)}
  .pnav-h{font-family:var(--serif);font-weight:700;font-size:18px;margin:0 0 8px;display:flex;justify-content:space-between;align-items:baseline}
  .pnav-h span{font-family:var(--sans);font-size:14px;color:var(--sub);font-weight:400}
  .pnav-in ol{list-style:none;margin:0;padding:0 0 0 6px;position:relative}
  .pnav-in ol::before{content:"";position:absolute;left:16px;top:24px;bottom:24px;border-left:2px dotted var(--gl)}
  .pnav-in li button{appearance:none;display:flex;align-items:center;gap:14px;width:100%;min-height:52px;border:0;background:none;font:inherit;font-size:17px;color:var(--ink);text-align:left;cursor:pointer;padding:0;position:relative}
  .pn-dot{width:22px;height:22px;flex:none;border-radius:50%;background:#fff;border:2px solid rgba(233,132,74,.55);display:grid;place-items:center}
  .pnav-in li.is-done .pn-dot{background:radial-gradient(circle at 38% 36%,#fff 0 20%,var(--sun2) 55%,var(--sun) 100%);border-color:var(--sun)}
  .pnav-in li.is-done .pn-t{color:var(--sub)}
  .pnav-in li.is-cur .pn-dot{border-color:var(--sun);box-shadow:0 0 0 5px rgba(246,178,122,.35)}
  .pnav-in li.is-cur .pn-dot::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--sun)}
  .pnav-in li.is-cur .pn-t{font-weight:700;color:var(--gold)}
  .pnav-close{appearance:none;display:block;width:100%;min-height:50px;margin-top:10px;border-radius:999px;border:1.5px solid var(--ink);background:#fff;font:inherit;font-weight:700;font-size:16px;color:var(--ink);cursor:pointer}
}
@media (prefers-reduced-motion:reduce){.pnav{transition:none}}

/* ===== 設備ページ：写真は2段で横に流す（押すと拡大） ===== */
.gf-wrap{position:relative;margin-top:16px}
.gf-grid.ps-track{display:grid;grid-auto-flow:column dense;grid-template-rows:repeat(2,auto);grid-template-columns:none;grid-auto-columns:clamp(230px,27%,300px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;margin-top:0}
.gf-grid.ps-track .gf-item{scroll-snap-align:start;box-shadow:none}
.gf-grid.ps-track .gf-item.is-tall{grid-row:auto;grid-template-rows:auto auto}
.gf-grid.ps-track .gf-item img,.gf-grid.ps-track .gf-item.is-tall img{aspect-ratio:4/3;height:auto;min-height:0}
.gf-grid.ps-track .gl-cap{display:block;font-size:14px;line-height:1.55;padding:8px 12px 10px;min-height:4.5em}
.gf-hint{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:15px;color:var(--gold);margin-top:14px}
.gf-hint span{color:var(--sub);font-size:14px}
.gf-hint b{font-family:var(--serif)}
@media (max-width:640px){
  .gf-wrap{margin-right:-16px}
  .gf-grid.ps-track{grid-auto-columns:68%;gap:10px;padding-right:16px}
  .gf-grid.ps-track .gl-cap{font-size:13px;min-height:4.4em}
  .gf-hint{margin-right:16px}
}

/* ===== 中口さんのチラシ（2026-01）から：地図・集合写真・こだわり ===== */
.kmap{margin:0}
.kmap .gl{border-radius:18px}
.kmap img{width:100%;height:auto;display:block}
.kmap figcaption{font-size:15px;color:var(--sub);margin-top:8px;display:flex;flex-wrap:wrap;gap:4px 14px}
.kmap figcaption a{color:var(--gold);text-underline-offset:4px}
.map .kmap{margin:-4px -6px 6px}
.team-photo{margin:26px 0 18px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px 28px;align-items:center}
.team-photo img{width:100%;height:auto;border-radius:20px;box-shadow:0 0 0 4px #fff,var(--shadow)}
.team-photo figcaption{font-family:var(--serif);font-weight:700;font-size:clamp(18px,1.8vw,22px);line-height:1.8;color:var(--ink)}
.kodawari{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}
.kodawari .card{padding:0 0 16px;overflow:hidden}
.kodawari .card img{width:100%;aspect-ratio:4/3;object-fit:cover;height:auto;display:block}
.kodawari .card h3{font-size:19px;padding:0 16px;margin-top:6px}
.kodawari .card .k{padding:12px 16px 0}
.kodawari .card p{font-size:16px;padding:0 16px}
.ph-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.ph-pair img{width:100%;aspect-ratio:4/3;object-fit:cover;height:auto;border-radius:16px;box-shadow:0 0 0 3px #fff,var(--shadow)}
@media (max-width:900px){
  .team-photo{grid-template-columns:1fr;gap:12px}
  .kodawari{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .kodawari{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:18px -16px 0;padding:0 16px 8px}
  .kodawari .card{flex:0 0 72%;scroll-snap-align:start}
  .team-photo figcaption{font-size:17px}
}

/* ===== フッター（2026-10-09 整理：名前と電話／診療時間／リンク3つ／SNSボタン／系列院） ===== */
.ft.ft2{padding:44px 0 28px}
.ft2 .wrap{display:block}
.ft2 .ft-h{font-size:16px;letter-spacing:.06em;margin:0 0 10px}
.ft2-top{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 48px;align-items:start}
.ft2-id b{font-size:22px;margin:2px 0 8px}
.ft2-addr{margin:0;font-size:15px;line-height:1.8}
.ft2-tel{display:inline-flex;align-items:center;gap:10px;min-height:52px;margin-top:8px;font-family:var(--serif);font-weight:700;font-size:28px;letter-spacing:.04em;color:var(--ink);text-decoration:none}
.ft2-tel svg{width:24px;height:24px;fill:none;stroke:var(--sun);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ft2-small{margin:2px 0 0;font-size:14px;line-height:1.7;color:var(--sub)}
.ft2-small .nw{margin-left:1em}
.ft2-hours{background:rgba(255,255,255,.6);border:1px solid var(--rule);border-radius:16px;padding:18px 20px 14px}
.ft2-hours dl{margin:0}
.ft2-hours dl>div{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:2px 12px;padding:8px 0;border-bottom:1px dashed var(--rule)}
.ft2-hours dl>div:last-child{border-bottom:0}
.ft2-hours dt{font-weight:700;color:var(--ink);font-size:15px}
.ft2-hours dd{margin:0;font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}
.ft2-hours dd span{margin-left:.8em}
.ft2-hours dd small{margin-left:.6em;font-size:13px;color:var(--sub)}
.ft2-hours .ft2-small{margin-top:8px}

.ft2-nav{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 40px;margin-top:32px;padding-top:26px;border-top:1px solid var(--rule)}
.ft2-nav ul{list-style:none;margin:0;padding:0}
.ft2-nav a{display:flex;align-items:center;min-height:40px;font-size:15px;color:var(--ink);text-decoration:none}
.ft2-nav a::before{content:"";flex:none;width:5px;height:5px;margin-right:10px;border-radius:50%;background:var(--sun)}
.ft2-nav a:hover{text-decoration:underline}

.ft2-sns{margin-top:26px;padding-top:24px;border-top:1px solid var(--rule)}
.ft2-sns ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.ft2-sns a{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 12px;border-radius:14px;background:#fff;border:1px solid var(--rule);color:var(--ink);text-decoration:none;transition:border-color .2s,transform .2s}
.ft2-sns a:hover{border-color:var(--sun);transform:translateY(-1px)}
.ft2-sns svg{flex:none;width:26px;height:26px;fill:none;stroke:var(--dawn);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ft2-sns svg .f{fill:var(--dawn);stroke:none}
.ft2-sns span{display:flex;flex-direction:column;min-width:0;font-size:14px;font-weight:700;line-height:1.35}
.ft2-sns small{font-size:11.5px;font-weight:400;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.ft .wrap.ft2-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;margin-top:26px;padding-top:16px;border-top:1px solid var(--rule);font-size:14px}
.ft2-sis{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.ft2-sis span{color:var(--sub);margin-right:4px}
.ft2-sis a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--rule);background:rgba(255,255,255,.6);color:var(--ink);text-decoration:none}
.ft2-sis a::after{content:"↗";margin-left:6px;font-size:12px;color:var(--sub)}
.ft2-bottom .copy{margin:0;color:var(--sub)}

@media (max-width:900px){
  .ft2-top{grid-template-columns:1fr}
  .ft2-sns ul{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .ft.ft2{padding:32px 0 24px}
  .ft2-tel{font-size:26px}
  .ft2-hours{padding:14px 16px 10px}
  .ft2-hours dl>div{grid-template-columns:1fr;padding:7px 0}
  .ft2-hours dd span{margin-left:.6em}
  .ft2-nav{grid-template-columns:1fr;gap:18px;margin-top:24px;padding-top:20px}
  .ft2-nav ul{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}
  .ft2-nav li{border-bottom:1px solid var(--rule)}
  .ft2-nav li:nth-child(odd){border-right:1px solid var(--rule)}
  .ft2-nav a{min-height:48px;padding:4px 8px;font-size:14.5px;line-height:1.4}
  .ft2-nav a::before{display:none}
  .ft2-sns ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ft2-sns a{min-height:52px;padding:6px 10px}
  .ft .wrap.ft2-bottom{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.ft2-sns a{transition:none}.ft2-sns a:hover{transform:none}}
@media (min-width:641px){ .ft.ft2{padding-bottom:150px} } /* PCでは右下に浮かぶ「見学を予約」がSNSボタンに重ならないよう、下に余白 */

/* 2026-10-09 なごみLAB「次回のセミナー」カード（template-parts/seminar-next.php）。トップ・医療・介護関係者の方へ */
.semi-next{margin:36px 0 0;padding:26px 26px 22px;border-radius:24px;background:#fff;border:1px solid rgba(11,92,255,.22);box-shadow:var(--shadow)}
.semi-eb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;font-size:15px;color:var(--sub);letter-spacing:.06em}
.semi-tag{display:inline-block;padding:2px 12px;border-radius:999px;background:#0b5cff;color:#fff;font-weight:700;font-size:14px;letter-spacing:.08em}
.semi-t{margin:12px 0 0;font-family:var(--serif);font-weight:700;font-size:clamp(19px,2.4vw,24px);line-height:1.55;color:var(--ink)}
.semi-t small{display:block;font-size:.72em;font-weight:500;color:var(--sub);margin-top:2px}
.semi-meta{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.semi-meta li{padding:4px 14px;border-radius:999px;background:#eef4ff;font-size:15px;line-height:1.6}
.semi-who{margin:14px 0 0;font-size:16px;color:var(--sub);line-height:1.8}
.semi-go{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px}
.semi-x{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--gold);font-weight:500;font-size:16px;text-underline-offset:5px}
@media (max-width:760px){.semi-next{padding:20px 18px 18px;border-radius:20px}.semi-meta li{font-size:14px}}

/* 2026-10-09 会議「ひらがなの間が空いて見える」→ 明朝の見出し・星座のラベルを、かなの字幅に合わせて詰める（palt） */
h1,h2,h3,.st .lb b,.core .cn,.brand b{font-feature-settings:"palt" 1}
.st .lb b{letter-spacing:.02em}
/* 2026-10-09 星座の外側を囲む点線の輪（polygon）。塗りなし */
polygon.ln.ring{fill:none}
