@charset "UTF-8";
/* ============================================================
   parts.css — shared parts of 第1.2版 (2026-10-03), used on the top page and the Laulea Hale page.
   Loaded after common.css and before the page CSS (inc/enqueue.php). Every class has its own prefix
   (.rday / .rscene / .rdot, .sfee / .sseg / .ssw, .mflow / .mstep, .staff-panel) so page rules do not collide.
   - .rday   一日の流れ（第2弾 D案の見せ方。第3弾 G案の明るい空の版）: template-parts/day-river.php
   - .sfee   月額費用（第3弾 H案の見せ方）: template-parts/fee-stack.php
   - .mflow  入居までの流れ（第2弾 E案の見せ方）: page-laulea-hale.php
   - .staff-panel 職員の数（施設の売り）: page-laulea-hale.php
   Without JavaScript or with reduced motion everything is shown in its finished state.
   ============================================================ */

/* ===== 一日の流れ (.rday) ===== */
.rday{
  --rd-ink:#2B2420; --rd-ink-2:#5E534B; --rd-night:#1E2A4A;
  --rd-pink:#C8285A; --rd-blue:#2E6FB0; --rd-teal:#1F9E8F;
  --rd-pad:clamp(20px,5vw,72px); --rd-hdr:var(--gh-h,64px); --rd-ease:cubic-bezier(.2,.7,.2,1);
  --rd-serif:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --rd-sans:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
  position:relative;color:var(--rd-ink);font-family:var(--rd-sans);
  background:linear-gradient(180deg,#FFE3C8 0%,#FFEBDA 11%,#DCEFFB 27%,#EAF5FD 41%,#F4FAFF 53%,#E4F1FB 66%,#FFE7CE 82%,#FFD8AE 100%);
}
.rday__pin{position:relative;padding:clamp(88px,10vw,150px) 0}
.rday__bg,.rday__night,.rday__sky,.rday__river{display:none}
.rday__track{position:relative;z-index:1}
.rday__intro{padding:0 var(--rd-pad);max-width:calc(760px + 2 * var(--rd-pad))}
.rday__eyebrow{margin:0 0 .6em;font-size:.8125rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#AD1F4C}
.rday__title{display:flex;align-items:center;gap:.45em;margin:0;font-family:var(--rd-serif);font-weight:700;font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.35;letter-spacing:.04em}
.rday__lead{margin:1em 0 0;font-size:17px;line-height:1.85;color:var(--rd-ink-2)}
.rday__legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:22px 0 0;padding:0;list-style:none;font-size:16px;font-weight:500}
.rday__legend li{display:inline-flex;align-items:center;gap:8px}
.rdot{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(43,36,32,.18)}
.rdot--pink{background:var(--rd-pink)}.rdot--blue{background:var(--rd-blue)}.rdot--teal{background:var(--rd-teal)}
.rdot--none{background:#fff;box-shadow:inset 0 0 0 2px #8B8580,0 0 0 2px #fff}
.rday__lw{position:relative;margin-top:56px}
.rday__list{position:relative;display:grid;gap:52px;margin:0;padding:0 var(--rd-pad) 0 calc(var(--rd-pad) + 44px);list-style:none}
.rday__vline{position:absolute;left:calc(var(--rd-pad) + 2px);top:6px;width:28px;height:calc(100% - 6px);overflow:visible}
.rday__vline path{fill:none;stroke:rgba(43,36,32,.5);stroke-width:2;stroke-linecap:round}
.rscene{position:relative;display:grid;gap:10px;align-content:start;min-width:0}
.rscene__top,.rscene__bottom{display:grid;gap:10px}
.rscene__time{display:flex;align-items:baseline;gap:8px;margin:0;white-space:nowrap;line-height:1;font-family:var(--rd-serif)}
.rscene__time .num{font-size:clamp(44px,4.4vw,68px);font-weight:500;letter-spacing:-.01em}
.rscene__time .jp{font-size:clamp(32px,3vw,44px);font-weight:700;letter-spacing:.08em;line-height:1.2}
.rscene__time small{font-family:var(--rd-sans);font-size:15px;font-weight:700;letter-spacing:.06em}
.rscene__h{margin:0;font-family:var(--rd-sans);font-size:clamp(20px,1.7vw,24px);font-weight:700;letter-spacing:.06em;line-height:1.4}
.rscene__dot{position:absolute;left:-44px;top:14px;display:flex;gap:3px}
.rscene__dot .rdot{width:14px;height:14px}
.rscene__fig{aspect-ratio:16/10;border-radius:14px;overflow:hidden;margin-top:6px;background:rgba(255,255,255,.6);box-shadow:0 12px 30px -20px rgba(43,36,32,.5)}
.rscene__fig picture{display:contents}
.rscene__fig img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.rscene--night .rscene__fig img{object-position:50% 40%}
.rscene__bottom > p{margin:0;font-size:17px;line-height:1.8}
.rscene__bottom > .rscene__who{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:15px;line-height:1.6;font-weight:700;letter-spacing:.04em;color:var(--rd-ink-2)}
.rscene__who span{display:inline-flex;align-items:center;gap:7px}
.rscene__who .rdot{width:10px;height:10px}
.rscene--night{color:#fff;background:var(--rd-night);border-radius:18px;padding:16px;margin:-16px;box-shadow:0 20px 50px -26px rgba(30,42,74,.7)}
.rscene--night .rscene__who{color:rgba(255,255,255,.92)}
.rscene--night .rscene__dot{left:-28px;top:30px}
@media (max-width:639px){.rscene--night{padding-left:10px;margin-left:-10px}.rscene--night .rscene__dot{left:-34px}}
@media (min-width:640px){
  .rday__vline{display:none}
  .rday__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 32px;padding:0 var(--rd-pad)}
  .rscene__dot,.rscene--night .rscene__dot{position:static;margin-bottom:4px}
  .rscene .rscene__top{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:clamp(112px,9.6vw,132px)}
}
@media (min-width:1100px){.rday__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:64px 28px}}
/* horizontal mode (PC + motion; parts.js adds .is-h) */
.rday.is-h{background:#FFE3C8;--dusk:clamp(140px,12vw,200px)}
.rday.is-h .rday__pin{height:100vh;padding:0;overflow:hidden}
.rday.is-h .rday__bg{display:block;position:absolute;inset:0;background:#FFE3C8}
.rday.is-h .rday__night{display:block;position:absolute;top:0;bottom:0;left:0;width:0;background:linear-gradient(90deg,rgba(30,42,74,0) 0,var(--rd-night) var(--fade,160px),var(--rd-night) 100%)}
.rday.is-h .rday__sky{display:block;position:absolute;inset:0;pointer-events:none;overflow:hidden}
.rday__orb{position:absolute;left:0;top:0;width:clamp(60px,6vw,96px);aspect-ratio:1;margin:calc(clamp(60px,6vw,96px) / -2) 0 0 calc(clamp(60px,6vw,96px) / -2);border-radius:50%;will-change:transform}
.rday__orb .sun,.rday__orb .moon{position:absolute;border-radius:50%;transition:opacity .6s}
.rday__orb .sun{inset:-34%;background:radial-gradient(circle,#FFE9A8 0,#FFD36A 22%,rgba(255,200,90,.5) 29%,rgba(255,200,90,.16) 50%,rgba(255,200,90,0) 70%)}
.rday__orb .moon{opacity:0;inset:22%;background:#F3F0E6;box-shadow:inset -14px -6px 0 0 #C9C4B4,0 0 40px rgba(243,240,230,.4)}
.rday__orb.is-moon .sun{opacity:0}.rday__orb.is-moon .moon{opacity:1}
.rday.is-h .rday__track{display:flex;align-items:stretch;height:100%;width:max-content;padding-top:var(--rd-hdr);will-change:transform;--rt:clamp(150px,30vh,300px)}
.rday.is-h .rday__intro{flex:0 0 clamp(420px,36vw,600px);max-width:none;display:flex;flex-direction:column;justify-content:center;padding:0 var(--rd-pad);margin-top:calc(var(--rd-hdr) * -1)}
.rday.is-h .rday__lw{margin:0;display:flex}
.rday.is-h .rday__list{display:flex;gap:0;margin:0;padding:0 clamp(40px,8vw,160px) 0 0}
.rday.is-h .rscene{flex:0 0 clamp(300px,24vw,380px);padding:0 22px;display:grid;grid-template-rows:var(--rt) 64px auto;align-content:start;gap:0}
.rday.is-h .rscene__top{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding-bottom:8px;min-height:0}
.rday.is-h .rscene__dot{position:relative;left:auto;top:auto;align-self:center;margin:0;z-index:2}
.rday.is-h .rscene__dot .rdot{width:16px;height:16px;transition:transform .5s var(--rd-ease),box-shadow .5s}
.rday.is-h .rscene.is-lit .rscene__dot .rdot{transform:scale(1.25);box-shadow:0 0 0 3px #fff,0 0 18px 4px rgba(242,179,61,.85)}
.rday.is-h .rscene__bottom{display:grid;gap:12px;align-content:start}
.rday.is-h .rscene--night{background:none;box-shadow:none;border-radius:0;margin:0 0 0 var(--dusk);padding:0 22px}
.rday.is-h .rday__river{display:block;position:absolute;left:0;top:calc(var(--rd-hdr) + var(--rt));height:64px;overflow:visible;pointer-events:none}
.rday__river .rv-bed{fill:none;stroke:url(#rvBedGrad);stroke-width:2;stroke-dasharray:2 8;stroke-linecap:round}
.rday__river .rv-main{fill:none;stroke:url(#rvGrad);stroke-width:2.5;stroke-linecap:round}
.rday__river .rv-head{fill:var(--rd-blue);filter:drop-shadow(0 0 8px rgba(242,179,61,.95));transition:fill .4s}
.rday__river .rv-head.is-night{fill:#FFFFFF;filter:drop-shadow(0 0 10px rgba(220,235,255,.95))}

/* ===== 月額費用 (.sfee) ===== */
.sfee{
  --sf-ink:#2B2420; --sf-ink-2:#5E534B; --sf-line:rgba(43,36,32,.16); --sf-line-2:rgba(43,36,32,.32);
  --sf-paper:#FFFFFF; --sf-cream:#FBF4E8; --sf-cream-2:#F7E9CF;
  --sf-pink:#C8285A; --sf-pink-t:#FBE3EA; --sf-green:#1F4D3A; --sf-yellow:#F2C14E; --sf-yellow-2:#FCEBC0;
  --sf-lw:2px; --sf-ease:cubic-bezier(.2,.7,.2,1);
  --sf-serif:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --sf-sans:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
  padding:clamp(80px,11vw,140px) 0;background:#FFFDF8;color:var(--sf-ink);font-family:var(--sf-sans)}
.sfee__wrap{width:min(1160px,100%);margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.sfee__top{display:grid;gap:24px;align-items:end}
@media (min-width:1000px){.sfee__top{grid-template-columns:minmax(0,1fr) auto}}
.sfee__eyebrow{margin:0 0 .6em;font-size:.8125rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#AD1F4C}
.sfee__title{display:flex;align-items:center;gap:.45em;margin:0;font-family:var(--sf-serif);font-weight:700;font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.35;letter-spacing:.04em}
.sfee__lead{margin:1em 0 0;max-width:40em;font-size:17px;line-height:1.85;color:var(--sf-ink-2)}
.sfee__free{display:grid;justify-items:start;gap:10px}
.sfee__balloon{position:relative;display:inline-flex;align-items:center;gap:14px;margin:0;padding:18px 26px 20px;border:var(--sf-lw) solid var(--sf-ink);border-radius:26px;background:var(--sf-yellow);font-weight:700;font-size:clamp(20px,2.2vw,28px);line-height:1.45;box-shadow:5px 5px 0 var(--sf-ink)}
.sfee__balloon::after{content:"";position:absolute;left:44px;bottom:-14px;width:24px;height:24px;background:var(--sf-yellow);border-right:var(--sf-lw) solid var(--sf-ink);border-bottom:var(--sf-lw) solid var(--sf-ink);transform:rotate(45deg)}
.sfee__ico{width:44px;height:44px;flex:none;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.sfee__sub{margin:10px 0 0;font-size:17px}
.sfee__sim{display:grid;gap:30px;margin-top:clamp(36px,4vw,52px);padding:clamp(18px,3vw,40px);border:var(--sf-lw) solid var(--sf-ink);border-radius:30px;background:var(--sf-paper);box-shadow:6px 6px 0 var(--sf-ink)}
@media (min-width:1000px){.sfee__sim{grid-template-columns:minmax(0,11fr) minmax(0,10fr);gap:44px}}
.sfee__h3{margin:0;font-family:var(--sf-sans);font-weight:700;font-size:clamp(20px,1.8vw,24px);line-height:1.45;letter-spacing:.04em}
.sfee__lv{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:14px 0 0;padding:0;border:0;min-width:0}
.sfee__lv legend{margin-bottom:8px;padding:0;font-size:16px;font-weight:700}
.sfee__lv input{position:absolute;opacity:0;width:1px;height:1px}
.sfee__lv label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;border:var(--sf-lw) solid var(--sf-ink);border-radius:16px;background:var(--sf-paper);font-size:14px;font-weight:700;line-height:1.15;cursor:pointer;transition:background-color .25s,color .25s,transform .25s var(--sf-ease)}
.sfee__lv label b{font-size:26px;line-height:1.05}
.sfee__lv label:hover{background:var(--sf-yellow-2)}
.sfee__lv input:checked + label{background:var(--sf-ink);color:#fff;box-shadow:0 4px 0 var(--sf-yellow);transform:translateY(-2px)}
.sfee__lv input:focus-visible + label{outline:3px solid #2E6FB0;outline-offset:3px}
.sfee__bars{--H:clamp(240px,30vw,400px);display:flex;align-items:flex-end;justify-content:center;gap:clamp(14px,3vw,34px);margin-top:24px}
.sfee__bar{display:flex;flex-direction:column;align-items:center;gap:8px;width:clamp(110px,11vw,150px)}
.sfee__sum{margin:0 0 6px;text-align:center;font-weight:700;font-size:clamp(17px,1.6vw,21px);white-space:nowrap;font-variant-numeric:tabular-nums}
.sfee__sum small{font-size:.75em;margin-left:1px}
.sfee__col{display:flex;flex-direction:column;justify-content:flex-end;width:100%;height:calc(var(--H) + 40px);transform-origin:50% 100%}
.sseg{display:flex;align-items:center;justify-content:center;flex:none;height:calc(var(--v) / var(--scale) * var(--H));overflow:hidden;background:var(--c);color:var(--tc,var(--sf-ink));border:2px solid var(--sf-ink);border-top-width:0;font-size:14px;font-weight:700;font-style:normal;line-height:1.1;text-align:center;transition:height .6s var(--sf-ease)}
.sfee__sum + .sseg{border-top-width:2px;border-radius:12px 12px 0 0}
.sseg:last-child{border-radius:0 0 6px 6px}
.sseg b{white-space:nowrap}
.sseg.is-tiny b{display:none}
.sseg--tax{--c:repeating-linear-gradient(135deg,#F3EFE8 0 6px,#DDD5C8 6px 9px)}
.sseg--kanri{--c:var(--sf-pink);--tc:#fff}
.sseg--food{--c:var(--sf-yellow)}
.sseg--util{--c:#BFD9C9}
.sseg--rent{--c:var(--sf-green);--tc:#fff}
.sseg--month{--c:#ECE6DC}
.sseg--kaigo{--c:#9ED8CF}
.sseg--bed{--c:#F7D3DF}
.sfee__lab{margin:0;font-size:15px;font-weight:700;text-align:center;line-height:1.4}
.sfee__plus{align-self:center;margin:0 0 56px;font-weight:700;font-size:28px}
.sfee__total{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;padding:14px 0 16px;border-bottom:2px solid var(--sf-ink)}
.sfee__total > span{font-weight:700;font-size:16px}
.sfee__total strong{font-weight:700;font-size:clamp(44px,4.8vw,68px);line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.sfee__total strong small{font-size:.36em;margin-left:2px}
.sfee__total--b{margin-top:16px;padding:16px 18px;border:var(--sf-lw) solid var(--sf-ink);border-radius:18px;background:var(--sf-cream-2)}
.sfee__total--b strong{font-size:clamp(34px,3.4vw,48px)}
.sfee__rows{margin:6px 0 0}
.sfee__rows > div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 12px;padding:11px 2px;border-bottom:1px dashed var(--sf-line-2);font-size:17px}
.sfee__rows dt{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;font-weight:700}
.sfee__rows dt .memo{grid-column:2;font-weight:400}
.sfee__rows dd{margin:0;font-weight:700;font-size:21px;white-space:nowrap;font-variant-numeric:tabular-nums}
.sfee__rows dd small{font-weight:400;font-size:15px;margin-left:3px;color:var(--sf-ink-2)}
.sfee__rows .memo{font-size:15px;color:var(--sf-ink-2)}
.sfee__rows .is-var{background:linear-gradient(90deg,var(--sf-pink-t),rgba(251,227,234,0))}
.sfee__rows--plus{margin-top:14px}
.ssw{display:inline-block;width:14px;height:14px;border-radius:4px;border:2px solid var(--sf-ink);background:var(--c)}
.ssw--rent{--c:var(--sf-green)}.ssw--util{--c:#BFD9C9}.ssw--food{--c:var(--sf-yellow)}.ssw--kanri{--c:var(--sf-pink)}.ssw--kaigo{--c:#9ED8CF}.ssw--bed{--c:#F7D3DF}
.sfee__note{margin:12px 0 0;font-size:17px;line-height:1.75;color:var(--sf-ink-2)}
.sfee__tbl{margin-top:clamp(40px,4.4vw,60px)}
.sfee__tblwrap{margin-top:14px;overflow-x:auto;border:var(--sf-lw) solid var(--sf-ink);border-radius:22px;background:var(--sf-paper)}
.sfee__tblwrap:focus-visible{outline:3px solid #2E6FB0;outline-offset:4px}
.sfee__table{width:100%;min-width:560px;border-collapse:collapse;font-size:17px}
.sfee__table caption{caption-side:bottom;padding:12px 16px;text-align:left;font-size:17px;line-height:1.75;color:var(--sf-ink-2);border-top:1px solid var(--sf-line-2)}
.sfee__table caption span{display:block;max-width:40em}
.sfee__table th,.sfee__table td{padding:12px 14px;text-align:right;border-bottom:1px solid var(--sf-line)}
.sfee__table thead th{font-size:15px;line-height:1.45;font-weight:700;background:var(--sf-cream);vertical-align:bottom}
.sfee__table th:first-child,.sfee__table td:first-child{text-align:left}
.sfee__table tbody th{font-weight:700}
.sfee__table td{white-space:nowrap;font-variant-numeric:tabular-nums}
.sfee__table tbody tr.is-on{background:var(--sf-yellow-2)}
.sfee__table tbody tr.is-on th::before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:50%;background:var(--sf-pink);border:2px solid var(--sf-ink);vertical-align:1px}
.sfee__table tbody tr:last-child th,.sfee__table tbody tr:last-child td{border-bottom:0}
.sfee__extra{display:grid;gap:20px;margin-top:clamp(40px,4.4vw,60px)}
@media (min-width:900px){.sfee__extra{grid-template-columns:3fr 2fr;gap:24px}}
.sfee__card{padding:20px 22px;border:var(--sf-lw) solid var(--sf-ink);border-radius:22px;background:var(--sf-paper)}
.sfee__card ul{display:grid;gap:4px;margin:10px 0 0;padding:0;list-style:none}
.sfee__card li{position:relative;padding:8px 0 8px 22px;border-bottom:1px dashed var(--sf-line-2);font-size:17px;line-height:1.7}
.sfee__card li:last-child{border-bottom:0}
.sfee__card li::before{content:"";position:absolute;left:2px;top:1.05em;width:10px;height:10px;border-radius:50%;background:var(--sf-yellow);border:2px solid var(--sf-ink)}
.sfee__notes{margin:24px 0 0;padding:0 0 0 1.2em;font-size:17px;line-height:1.75;color:var(--sf-ink-2)}
.sfee__more{margin:clamp(28px,3vw,40px) 0 0;text-align:center}
.sfee__btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;border:var(--sf-lw) solid var(--sf-ink);border-radius:999px;background:var(--sf-paper);color:var(--sf-ink);font-weight:700;text-decoration:none;box-shadow:4px 4px 0 var(--sf-ink);transition:transform .2s var(--sf-ease),box-shadow .2s}
.sfee__btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--sf-ink)}
.sfee :focus-visible{outline:3px solid #2E6FB0;outline-offset:3px}
@media (max-width:520px){
  .sfee__lv label{font-size:12px}
  .sfee__lv label b{font-size:22px}
  .sfee__bars{--H:220px}
}

/* ===== 入居までの流れ (.mflow) ===== */
.mflow{--mf-ink:#2B2420;--mf-ink-2:#5E534B;--mf-green:#1F4D3A;--mf-pink:#C8285A;position:relative;margin-top:8px}
.mflow__path{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;display:none}
html.js .mflow__path{display:block}
.mflow__path path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.mflow__path .bg{stroke:rgba(43,36,32,.14);stroke-width:3;stroke-dasharray:2 10}
.mflow__path .fg{stroke:var(--mf-green);stroke-width:4}
.mflow__list{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:70px 64px;margin:0;padding:0;list-style:none}
.mstep{position:relative;padding:0 48px 0 0;min-height:150px}
.mstep__mk{position:relative;z-index:1;display:grid;place-items:center;width:72px;height:72px;margin-bottom:16px;border-radius:50%;background:#FFFDF8;box-shadow:0 10px 24px -14px rgba(43,36,32,.5)}
.mstep__mk img{display:block;width:46px;height:auto}
.mstep__no{display:block;font-family:"Shippori Mincho","Hiragino Mincho ProN",serif;font-size:16px;letter-spacing:.08em;color:var(--mf-ink-2)}
.mstep h3{margin:6px 0 0;font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;font-size:21px;font-weight:700;letter-spacing:.05em;line-height:1.45}
.mstep p{margin:4px 0 0;font-size:17px;line-height:1.75;color:var(--mf-ink-2)}
.mstep:nth-child(1){grid-area:1/1}.mstep:nth-child(2){grid-area:1/2}.mstep:nth-child(3){grid-area:1/3}
.mstep:nth-child(4){grid-area:2/3}.mstep:nth-child(5){grid-area:2/2}.mstep:nth-child(6){grid-area:2/1}
.mstep:nth-child(7){grid-area:3/1}.mstep:nth-child(8){grid-area:3/2}.mstep:nth-child(9){grid-area:3/3}
.mstep--goal .mstep__mk{width:92px;height:92px;background:var(--mf-pink)}
.mstep--goal .mstep__mk img{width:58px;filter:brightness(0) invert(1)}
.mstep p.mstep__term{display:inline-flex;align-items:center;gap:12px;margin-top:20px;padding:8px 22px 8px 8px;border-radius:999px;background:#FFFDF8;color:var(--mf-ink);font-weight:700;white-space:nowrap}
.mstep__term b{padding:4px 14px;border-radius:999px;background:var(--mf-green);color:#fff;font-size:15px}
@media (max-width:899px){
  .mflow__list{grid-template-columns:1fr;gap:26px}
  .mstep{grid-area:auto!important;display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:18px;min-height:0;align-items:start;padding-right:0}
  .mstep__mk{grid-row:span 4;margin:0;width:64px;height:64px}
  .mstep__mk img{width:40px}
  .mstep--goal .mstep__mk{width:72px;height:72px}
  .mstep--goal .mstep__mk img{width:46px}
  .mstep__no{padding-top:8px}
  .mstep p.mstep__term{justify-self:start}
}

/* ===== 職員の数 (.staff-panel, Laulea Hale page) ===== */
.staff-panel{margin-top:clamp(40px,5vw,64px);padding:clamp(24px,3.4vw,44px);border-radius:28px;background:#F7E6EA}
.staff-panel__head h3{margin:0;font-size:clamp(1.35rem,2.4vw,1.75rem)}
.staff-panel__head p{margin:.6em 0 0;max-width:42em;font-size:17px;line-height:1.85;color:#5E534B}
.staff-panel__nums{display:grid;gap:14px;margin:24px 0 0;padding:0;list-style:none}
@media (min-width:760px){.staff-panel__nums{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.staff-panel__nums{grid-template-columns:repeat(4,minmax(0,1fr))}}
.staff-panel__nums li{display:grid;align-content:start;gap:4px;padding:18px 20px;border-radius:20px;background:#FFFFFF;box-shadow:0 10px 24px -18px rgba(43,36,32,.4)}
.staff-panel__nums .k{font-size:16px;font-weight:700;color:#AD1F4C;letter-spacing:.06em}
.staff-panel__nums .v{font-family:"Shippori Mincho","Hiragino Mincho ProN",serif;font-size:20px;font-weight:700;line-height:1.2}
.staff-panel__nums .v b{font-size:clamp(40px,4vw,54px);margin-right:2px}
.staff-panel__nums .d{font-size:16px;line-height:1.7;color:#5E534B}
.staff-panel__src{margin:16px 0 0;font-size:16px;color:#5E534B}

@media (prefers-reduced-motion:reduce){
  .sseg,.sfee__lv label,.sfee__btn,.rday__orb .sun,.rday__orb .moon{transition:none}
}

/* ===== アクセスのデフォルメ地図 (.amap, template-parts/access-map.php) ===== */
.amap{margin:0}
.amap__svg{display:block;width:100%;height:auto;border-radius:28px;background:#F4ECDF;box-shadow:0 24px 48px -28px rgba(43,36,32,.38)}
.amap__t{font-family:"Zen Kaku Gothic New","Hiragino Sans",sans-serif;font-size:22px;font-weight:700;fill:#2B2420}
.amap__t--sm{font-size:19px}
.amap__t--xs{font-size:17px}
.amap__t--post{font-size:20px}
.amap__t--lg{font-size:24px}
.amap__t--w{fill:#FFFFFF}
.amap__t--pink{fill:#AD1F4C}
.amap__t--num{font-size:15px;fill:#FFFFFF}
.amap__t--road{font-size:16px;fill:#6E5F4E;letter-spacing:.02em}
.amap__t--river{font-size:17px;font-weight:700;fill:#2A6F92;letter-spacing:.14em}
.amap__t--note{font-size:17px;font-weight:500;fill:#5E534B}
.amap__cap{margin:12px 4px 0;font-size:16px;line-height:1.7;color:#5E534B}
.amap__walker{offset-distance:100%;offset-rotate:0deg;opacity:0}
.amap__ring{opacity:0;transform-box:fill-box;transform-origin:50% 50%}
.amap__pin,.amap__bus,.amap__pop{transform-box:fill-box}
.amap__pin{transform-origin:50% 100%}
.amap__bus,.amap__pop{transform-origin:50% 50%}
/* The walking route is 20% slower than first drawn (1.8s -> 2.16s, 代表指示 2026-10-03); what follows it is shifted by .36s.
   Animation: only with JavaScript (parts.js adds .is-in when the map comes into view). Without it, the finished map. */
html.js .amap.is-anim:not(.is-in) .rd,html.js .amap.is-anim:not(.is-in) .amap__walk{stroke-dasharray:1;stroke-dashoffset:1}
html.js .amap.is-anim:not(.is-in) .amap__pop,html.js .amap.is-anim:not(.is-in) .amap__bus,html.js .amap.is-anim:not(.is-in) .amap__pin,
html.js .amap.is-anim:not(.is-in) .amap__walk-dots,html.js .amap.is-anim:not(.is-in) .amap__walk-bg{opacity:0}
.amap.is-anim.is-in .rd{stroke-dasharray:1;animation:amapDraw 1.1s cubic-bezier(.4,.1,.2,1) both}
.amap.is-anim.is-in .rd--s{animation-delay:.5s}
.amap.is-anim.is-in .amap__pop{animation:amapPop .6s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(.9s + var(--i,0) * .15s)}
.amap.is-anim.is-in .amap__pop--late{animation-delay:3.96s}
.amap.is-anim.is-in .amap__bus{animation:amapPop .7s cubic-bezier(.3,1.6,.5,1) 1.5s both}
.amap.is-anim.is-in .amap__walk-bg,.amap.is-anim.is-in .amap__walk-dots{animation:amapFade .4s 2s both}
.amap.is-anim.is-in .amap__walk{stroke-dasharray:1;animation:amapDraw 2.16s ease-in-out 2s both}
.amap.is-anim.is-in .amap__walker{animation:amapWalk 2.16s ease-in-out 2s both}
.amap.is-anim.is-in .amap__pin{animation:amapDrop .9s cubic-bezier(.3,1.5,.5,1) 3.86s both}
.amap.is-anim.is-in .amap__ring{animation:amapRing 1.6s ease-out 4.66s 2}
@keyframes amapDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes amapPop{from{opacity:0;transform:scale(.3)}to{opacity:1;transform:none}}
@keyframes amapFade{from{opacity:0}to{opacity:1}}
@keyframes amapWalk{0%{opacity:0;offset-distance:0%}6%{opacity:1}92%{opacity:1}100%{opacity:0;offset-distance:100%}}
@keyframes amapDrop{from{opacity:0;transform:translateY(-60px)}to{opacity:1;transform:none}}
@keyframes amapRing{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(2.2)}}
@media (prefers-reduced-motion:reduce){
  .amap .rd,.amap .amap__walk,.amap .amap__pop,.amap .amap__bus,.amap .amap__pin,.amap .amap__walker,.amap .amap__ring,.amap .amap__walk-bg,.amap .amap__walk-dots{animation:none!important}
}

/* ===== 章の数字ボタン (.prail, template-parts/page-rail.php) — デザイン見本 D案 の chapter rail (2026-10-03) =====
   Fixed on the right edge from 1180px. Light style by default (cream circles); .is-dark inside dark surfaces.
   The current chapter's name is shown from 1560px (narrower screens: on hover / focus only, so it never covers the text). */
.prail{display:none}
@media (min-width:1180px){
  .prail{display:block;position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:50;color:#1D2422;transition:opacity .45s,transform .6s cubic-bezier(.16,1,.3,1)}
  .prail.is-dim{opacity:0;transform:translate(16px,-50%)}
  .prail.is-dim:hover,.prail.is-dim:focus-within{opacity:1;transform:translateY(-50%)}
  .prail ol{display:flex;flex-direction:column;align-items:flex-end;gap:0;margin:0;padding:0;list-style:none}
  .prail li{margin:0}
  /* Only the round number takes the pointer: the hidden name pill must not cover buttons of the page (2026-10-03 fix:
     it sat on the gallery arrows of the Laulea Hale page). The ::before gives the number a 44px target. */
  .prail a{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:44px;min-width:44px;padding:0 10px;color:inherit;text-decoration:none;border-radius:20px;pointer-events:none}
  .prail__t{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-size:15px;letter-spacing:.12em;line-height:1.5;white-space:nowrap;padding:3px 12px;border-radius:999px;background:rgba(255,253,249,.94);color:#1D2422;box-shadow:0 1px 0 rgba(29,36,34,.1),0 6px 16px -10px rgba(29,36,34,.4);opacity:0;transform:translateX(8px);transition:opacity .35s,transform .45s cubic-bezier(.16,1,.3,1);pointer-events:none}
  .prail__no{position:relative;pointer-events:auto;cursor:pointer;display:grid;place-items:center;width:28px;height:28px;font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-size:13px;line-height:1;border-radius:50%;background:rgba(247,243,234,.9);box-shadow:0 0 0 1px rgba(29,36,34,.14);transition:background-color .35s,color .35s,transform .35s}
  .prail__no::before{content:"";position:absolute;inset:-8px;border-radius:50%}
  .prail a:hover .prail__t,.prail a:focus-visible .prail__t{opacity:1;transform:none}
  .prail a:hover .prail__no{transform:scale(1.1)}
  .prail a[aria-current="true"] .prail__no{background:#1D2422;color:#F7F3EA;box-shadow:none}
  .prail a:focus-visible{outline:3px solid #1A5FB4;outline-offset:2px}
  .prail.is-dark{color:#F2EEE4}
  .prail.is-dark .prail__t{background:rgba(6,23,24,.72);color:#F2EEE4;box-shadow:none}
  .prail.is-dark .prail__no{background:rgba(6,23,24,.45);box-shadow:0 0 0 1px rgba(242,238,228,.3)}
  .prail.is-dark a[aria-current="true"] .prail__no{background:#F2EEE4;color:#061718}
  .prail.is-dark a:focus-visible{outline-color:#8FD3FF}
}
@media (min-width:1560px){
  .prail a[aria-current="true"] .prail__t{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){
  .prail,.prail__t,.prail__no{transition:none}
}

/* ===== 手作りの食事 (.dmeal, template-parts/meal-chapter.php) — デザイン見本 D案 第五章 をそのまま流用 (2026-10-03) =====
   Dark chapter (umber) with a tall photo, the vertical title, the food forms and three photos, then the "dawn" back to the
   cream page. Text on the photo always sits on the dark shade. Motion (parts.js): photo parallax, title characters rise,
   fade-ups, the sun rises in the dawn. Without GSAP / with reduced motion everything is shown finished. */
.dmeal{--um:#15110D;--on:#F2EEE4;--on2:#C9D3CF;--tan:#F2C9A0;--pad:clamp(20px,5.6vw,96px);position:relative;background:var(--um);color:var(--on);font-family:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;font-size:17px;line-height:1.85;letter-spacing:.03em;overflow:hidden}
.dmeal *{box-sizing:border-box}
.dmeal h2,.dmeal h3,.dmeal p,.dmeal figure,.dmeal ul,.dmeal dl,.dmeal dd{margin:0}
.dmeal img{display:block;max-width:100%;height:auto}
.dmeal :focus-visible{outline:3px solid #8FD3FF;outline-offset:3px}
.dmeal__wrap{position:relative;z-index:1;width:100%;max-width:1440px;margin:0 auto;padding:0 var(--pad)}
.dmeal__eyebrow{display:flex;align-items:baseline;gap:14px;font-size:15px;letter-spacing:.24em;font-weight:500;color:var(--on2)}
.dmeal__eyebrow i{font-family:"Cormorant Garamond","Times New Roman",serif;font-style:italic;font-size:18px;letter-spacing:.04em;font-weight:400}
.dmeal__hero{position:relative;height:110vh;min-height:640px;overflow:hidden}
.dmeal__hero picture{position:absolute;inset:0;display:block}
.dmeal__hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 64%}
.dmeal__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,17,13,.86) 0%,rgba(21,17,13,.5) 34%,rgba(21,17,13,0) 60%),linear-gradient(0deg,rgba(21,17,13,1) 0%,rgba(21,17,13,0) 30%)}
.dmeal__title{position:absolute;z-index:2;left:var(--pad);top:calc(var(--gh-h,64px) + 8vh);color:#fff}
.dmeal__h{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(46px,6.4vw,104px);letter-spacing:.16em;margin-top:16px;line-height:1.2;font-feature-settings:"palt" 1}
.dmeal__h .ch{display:inline-block}
.dmeal__h .chm{display:inline-block;overflow:hidden;vertical-align:top}
.dmeal__lead{max-width:26em;margin-top:22px;font-size:clamp(17px,1.35vw,19px);line-height:1.95;color:var(--on)}
@media (max-width:899px){
  .dmeal__hero{height:auto;min-height:0;aspect-ratio:3/4;max-height:88vh}
  .dmeal__shade{background:linear-gradient(180deg,rgba(21,17,13,.9) 0%,rgba(21,17,13,.72) 34%,rgba(21,17,13,0) 64%),linear-gradient(0deg,rgba(21,17,13,1) 0%,rgba(21,17,13,0) 26%)}
  .dmeal__lead{text-shadow:0 1px 8px rgba(21,17,13,.8)}
  .dmeal__title{right:var(--pad)}
}
@media (min-width:900px){
  .dmeal__title{display:flex;gap:40px;align-items:flex-start;top:calc(var(--gh-h,64px) + 10vh)}
  .dmeal__h{writing-mode:vertical-rl;margin:0;line-height:1}
  .dmeal__eyebrow{writing-mode:vertical-rl}
  .dmeal__lead{writing-mode:horizontal-tb;align-self:flex-end;margin:0 0 4vh}
}
.dmeal__body{padding:clamp(48px,6vw,96px) 0 clamp(120px,14vw,200px)}
.dmeal__grid{display:grid;gap:56px}
@media (min-width:900px){.dmeal__grid{grid-template-columns:repeat(12,1fr);gap:0 24px}.dmeal__a{grid-column:1 / span 5}.dmeal__b{grid-column:7 / span 6}}
.dmeal__sub{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:clamp(24px,2.3vw,32px);line-height:1.5;letter-spacing:.08em;font-feature-settings:"palt" 1}
.dmeal__sub small{display:block;margin-bottom:8px;font-family:"Cormorant Garamond","Times New Roman",serif;font-style:italic;font-size:18px;letter-spacing:.04em;color:var(--tan)}
.dmeal__forms{margin-top:26px;display:grid;gap:18px}
.dmeal__forms div{display:grid;grid-template-columns:5em 1fr;gap:14px;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(242,238,228,.14)}
.dmeal__forms dt{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-size:20px;letter-spacing:.14em;color:var(--tan)}
.dmeal__forms dd{display:flex;flex-wrap:wrap;gap:8px}
.dmeal__forms dd span{display:inline-flex;align-items:center;min-height:38px;padding:2px 14px;border-radius:999px;background:rgba(242,201,160,.12);border:1px solid rgba(242,201,160,.35);font-size:16px}
.dmeal__note{margin-top:18px}
.dmeal__pics{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:36px}
@media (min-width:900px){.dmeal__pics{margin-top:0}}
.dmeal__pics .m1{grid-column:1 / span 6}
.dmeal__pics .m2{grid-column:1 / span 3}
.dmeal__pics .m3{grid-column:4 / span 3}
.dmeal__fig{position:relative;overflow:hidden;border-radius:4px;background:rgba(255,255,255,.04)}
.dmeal__fig picture{display:block;width:100%;height:100%}
.dmeal__fig img{width:100%;height:100%;object-fit:cover}
.dmeal__pics .m1 .dmeal__fig{aspect-ratio:16/10}
.dmeal__pics .m2 .dmeal__fig,.dmeal__pics .m3 .dmeal__fig{aspect-ratio:4/3}
.dmeal__cap{display:block;margin-top:10px;font-size:15px;letter-spacing:.1em;color:var(--on2)}
/* dawn: dark to light */
.dmeal__dawn{position:relative;height:min(64vh,600px);min-height:380px;overflow:hidden;background:linear-gradient(180deg,var(--um) 0%,#3A2A22 16%,#7A5442 36%,#C9A27E 58%,#EBDFCB 80%,var(--cream,#FBF7F1) 100%)}
.dmeal__sun{position:absolute;left:50%;top:40%;width:min(40vmin,340px);aspect-ratio:1;margin-left:calc(min(40vmin,340px) / -2);border-radius:50%;background:radial-gradient(circle,#FFFBF0 0%,#FFF0D2 30%,rgba(255,226,180,.5) 48%,rgba(255,220,170,0) 70%)}
.dmeal__line{position:absolute;left:var(--pad);right:var(--pad);top:68%;height:1px;background:rgba(29,36,34,.2)}
.dmeal__dawn p{position:absolute;left:0;right:0;bottom:clamp(28px,6vh,56px);text-align:center;padding:0 var(--pad);font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(18px,1.6vw,22px);letter-spacing:.12em;color:#1D2422}
/* fade-ups: hidden only while GSAP runs them (html.su-dmeal-motion is set by parts.js) */
html.su-dmeal-motion .dmeal [data-rv]{opacity:0;transform:translateY(30px)}

/* ===== 内容の責任者・最終確認日 (.su-owner, SEO施策 A7, 2026-10-03): template-parts/page-owner.php =====
   On the cream page background (#FBF7F1) as a white card. Text #2B2420 (15.3:1 on white, 14.3:1 on cream), labels #5E534B
   (7.5:1 / 7.0:1), link #1F5F99 (6.7:1 / 6.2:1). Light surface only; the link is at least 44px tall. */
.su-owner{padding-block:clamp(8px,2vw,24px) clamp(40px,5vw,64px)}
.su-owner__in{box-sizing:border-box;width:min(1160px,100%);margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}
.su-owner .su-owner__list{box-sizing:border-box;display:grid;gap:4px 0;max-width:46em;margin:0;padding:14px 20px;background:#fff;border:1px solid #E6DACB;border-radius:14px;color:#2B2420;font-size:17px;line-height:1.7}
.su-owner .su-owner__row{display:grid;gap:0 1.2em;min-width:0}
.su-owner .su-owner__k{margin:0;font-size:16px;font-weight:700;letter-spacing:.04em;color:#5E534B}
.su-owner .su-owner__v{margin:0;min-width:0;overflow-wrap:anywhere}
.su-owner .su-owner__link{display:inline-flex;align-items:center;min-height:44px;padding-inline:2px;color:#1F5F99;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.su-owner .su-owner__nw{white-space:nowrap}
.su-owner .su-owner__link:hover{text-decoration-thickness:2px}
.su-owner .su-owner__link:focus-visible{outline:3px solid #1F5F99;outline-offset:2px;border-radius:4px}
@media (min-width:640px){
  .su-owner .su-owner__row{grid-template-columns:13em minmax(0,1fr);align-items:center}
}
/* 企業情報・代表挨拶: the credentials under the name (same text as Person.hasCredential). */
.ab-sign .ab-sign__cred{margin-top:.35em;font-size:1rem;line-height:1.6;color:#5E534B}
.ab-sign .ab-sign__cred > span{white-space:nowrap}

/* ===== Vacancy line of ラウレアハレ (template-parts/vacancy-badge.php, inc/vacancy.php) — 2026-10-03 =====
   On the fee section (top + ラウレアハレ) and in the ラウレアハレ hero (.su-vac--hero, on the dark photo).
   The dot: green = rooms free, pink = full, yellow = ask by phone. The colour is never the only cue (the text says it). */
.su-vac{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:20px 0 0;padding:10px 20px;border:2px solid #2B2420;border-radius:22px;background:#fff;color:#2B2420;font-size:17px;line-height:1.5}
.su-vac__dot{flex:none;width:12px;height:12px;border-radius:50%;background:#1F7A4D;box-shadow:0 0 0 3px rgba(31,122,77,.18)}
.su-vac--t0 .su-vac__dot{background:#C8285A;box-shadow:0 0 0 3px rgba(200,40,90,.18)}
.su-vac--ask .su-vac__dot{background:#E0A82E;box-shadow:0 0 0 3px rgba(224,168,46,.22)}
.su-vac__main{font-weight:700;word-break:auto-phrase}
.su-vac__when{font-size:14px;color:#5E534B}
.su-vac__tel{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:#A61F4A;text-decoration:underline;text-underline-offset:3px}
.su-vac--hero{margin:18px 0 0;border-color:transparent;background:rgba(255,255,255,.94);box-shadow:0 6px 24px rgba(0,0,0,.18)}
@media (max-width:599px){.su-vac{font-size:16px;padding:8px 16px}}
