/* 全7ページの共通設定。全体の色・文字・余白・フッターはここで変更する。 */
:root {
  --green: #38583f;
  --red: #aa2931;
  --beige: #f2ecdf;
  --dark: #333;
  --ink: #262a25;
  --cream: var(--beige);
  --line: #e2e4dd;
  --gutter: clamp(22px, 5vw, 80px);
  --font-body: 15px;
  --font-heading: "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", YuMincho, serif;
  --page-title-size: clamp(30px, 3.5vw, 46px);
  --page-title-space: 45px 0 60px;
  --section-label-display: block;
  --section-label-gap: 18px;
  --label-color: var(--green);
  --accent-muted: #d4bf99;
  --footer-background: var(--dark);
  --footer-color: var(--beige);
  --footer-muted: #c7c0b2;
  --footer-logo-background: var(--beige);
  --footer-logo-width: 180px;
  --footer-space: 32px 24px 26px;
  --tricolor-height: 14px;
}
@media(max-width:600px) {
  :root {
    --page-title-size: 29px;
    --page-title-space: 28px 0 35px;
    --section-label-gap: 13px;
    --footer-space: 24px 20px 22px;
  }
}

/* スマホが一部の文字だけ自動拡大するのを防ぎ、指定の15pxを保つ。 */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #be6e22;outline-offset:6px}figure,h1,h2,h3,p{margin:0}h2,h3{font-weight:700}h2{font-family:var(--font-heading);font-size:clamp(28px,3.2vw,45px);line-height:1.65;letter-spacing:.05em}p{line-height:2.1}section{scroll-margin-top:12px}.skip{position:fixed;top:-70px;left:20px;padding:12px;background:white;z-index:10}.skip:focus{top:12px}.preparing{background:var(--green);color:white;text-align:center;font-size:var(--font-body);letter-spacing:.09em;padding:10px 16px}.preparing span{font-size:var(--font-body);margin-right:8px;color:#e9d8a9}.header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px var(--gutter);background:#fffef9;border-bottom:1px solid var(--line)}.brand img{width:112px;height:72px;object-fit:contain}.nav{display:flex;gap:32px;align-items:center;font-size:var(--font-body);font-weight:700}.nav a{padding:12px 0;white-space:nowrap}.nav a:hover{color:var(--red)}.nav-event{border-bottom:1px solid var(--red)}.nav-event span{margin-left:20px}.nav-toggle{display:none}.hero{max-width:1600px;margin:auto;padding:38px var(--gutter) 36px}.hero-intro{text-align:center;font-size:var(--font-body);letter-spacing:.2em;margin-bottom:20px}.sign{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;max-width:1020px;margin:auto;transform:rotate(-.3deg)}.sign img{width:100%;aspect-ratio:1/1.02;object-fit:cover;object-position:center;box-shadow:0 2px 0 #282b2330;border:3px solid #fff}.sign img:nth-child(2n){transform:rotate(.8deg)}.sign img:nth-child(3n){transform:rotate(-.8deg)}.hero-photos{position:relative;display:grid;grid-template-columns:1.25fr .9fr;gap:18px;margin-top:34px;align-items:center}.hero-photos figure{position:relative;overflow:hidden}.hero-pasta{border:9px solid #20231d}.hero-pasta img{width:100%;height:clamp(270px,30vw,440px);object-fit:cover}.hero-soup{border:9px solid #fff;transform:rotate(2deg)}.hero-soup img{width:100%;height:clamp(250px,26vw,380px);object-fit:cover}.hero-photos figcaption{position:absolute;bottom:15px;left:15px;background:#fffdf5;padding:8px 16px;font-size:var(--font-body);font-weight:700}.hero-stamp{position:absolute;bottom:-9px;left:52%;width:128px;height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--red);border:4px double #eee6d2;color:#fff;border-radius:50%;transform:rotate(-12deg);font-size:var(--font-body);text-align:center;line-height:1.5;letter-spacing:.08em}.hero-stamp strong{font-size:21px;margin-top:4px}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:35px}.hero-bottom>p{font-size:16px;font-weight:700;letter-spacing:.08em}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:var(--font-body);font-weight:700;padding:11px 0;border-bottom:1px solid currentColor}.text-link:hover{color:var(--red)}.text-link span{font-size:19px}.photo-note{font-size:var(--font-body);color:#696b60;margin-top:18px}.mobile-only{display:none}.food{padding:95px var(--gutter) 90px;background:#fffef9}.section-head{max-width:1180px;margin:0 auto 64px;display:grid;grid-template-columns:1.2fr 1fr;gap:0 60px;align-items:center}.section-head .section-head>p:last-child{font-size:var(--font-body);justify-self:end}.dish{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(32px,7vw,110px);max-width:1180px;margin:auto}.dish-photo{position:relative}.dish-photo img{width:100%;aspect-ratio:1.3;object-fit:cover}.photo-label{position:absolute;bottom:0;left:0;background:#fffef9;padding:8px 14px;font-size:var(--font-body)}.dish-copy{padding:10px 0}.dish-number{display:block;font-family:Georgia,serif;font-size:42px;line-height:1;color:#b7b7a9;margin-bottom:20px;font-style:italic}.dish-copy h3{font-size:27px;letter-spacing:.06em;margin-bottom:20px}.dish-copy p{font-size:var(--font-body)}.dish-copy .dish-caption{font-size:var(--font-body);color:#777970;margin:16px 0 18px}.dish-soup{margin-top:75px}.dish-soup .dish-photo{grid-column:2;grid-row:1}.dish-soup .dish-copy{grid-column:1;grid-row:1;padding-left:12%}.dish-soup .dish-photo img{aspect-ratio:1.35}.past-menu{background:#191d18;color:#fbf8ef;padding:70px var(--gutter) 0}.menu-heading{display:flex;justify-content:space-between;align-items:center;max-width:1180px;margin:auto;gap:18px}.past-menu .past-menu h2{font-size:clamp(23px,2.6vw,35px)}.year-tag{font:italic 48px Georgia,serif;color:#92967e}.menu-note{max-width:1180px;margin:20px auto 35px;font-size:var(--font-body);color:#c2c5b8}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:auto;gap:28px;padding-bottom:55px}.menu-grid img{width:100%;aspect-ratio:1.2;object-fit:cover}.menu-grid figure:last-child img{object-position:50% 80%}.menu-grid figcaption{border-top:1px solid #656d5f;margin-top:18px;padding-top:16px}.menu-grid figcaption>span{font-size:var(--font-body);color:#bdc6b4}.menu-grid h3{font-size:17px;margin:8px 0 10px}.menu-grid p{font-size:var(--font-body);color:#bfc5b8}.tricolor{display:grid;grid-template-columns:repeat(3,1fr);height:14px;margin:0 calc(var(--gutter)*-1)}.tricolor span:first-child{background:var(--green)}.tricolor span:nth-child(2){background:#fffef9}.tricolor span:last-child{background:var(--red)}.members{padding:90px var(--gutter) 85px;background:var(--cream)}.members-heading{max-width:1180px;margin:auto;display:flex;justify-content:space-between;align-items:end;gap:18px}.members h2{font-size:clamp(25px,2.8vw,38px)}.motion-toggle{border:1px solid #bbc3b2;background:transparent;font-size:var(--font-body);white-space:nowrap;padding:11px 16px;cursor:pointer;border-radius:0}.motion-toggle:hover{background:#e7ebdf}.members-note{font-size:var(--font-body);color:#6b6e61;max-width:1180px;margin:18px auto}.member-list{display:grid;grid-template-columns:repeat(7,1fr);max-width:1240px;margin:35px auto 0;gap:4px}.member{border:0;background:none;padding:0 0 12px;cursor:pointer;min-width:0}.member .member-portrait{width:100%;height:auto;animation:float 3.6s ease-in-out infinite;transform-origin:50% 90%}.member:nth-child(2n) .member-portrait{animation-delay:-1.2s}.member:nth-child(3n) .member-portrait{animation-delay:-2.4s}.member span{display:block;margin-top:12px;font-size:var(--font-body);letter-spacing:.1em}.member:hover span{color:var(--red)}.member.is-jumping .member-portrait{animation:jump .7s ease both!important}.motion-paused .member .member-portrait{animation:none}.memories{max-width:1440px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 55px;padding:40px var(--gutter) 100px;align-items:center}.memory-copy{padding:0 0 60px}.memory-copy>p:not(.eyebrow){font-size:var(--font-body);margin-top:24px}.memory-years{display:flex;align-items:center;gap:18px;margin-top:30px;font-size:var(--font-body)}.memory-years strong{color:var(--red)}.memory-main{grid-column:2;grid-row:1/3;max-width:460px;justify-self:end;transform:rotate(1deg)}.memory-main img{width:100%;height:auto;border:10px solid white;box-shadow:0 8px 25px #3a372510}.memories figcaption{font-size:var(--font-body);padding-top:10px;color:#696e5f}.memory-sub{max-width:440px;transform:rotate(-2deg)}.memory-sub img{width:100%;aspect-ratio:1.6;object-fit:cover;border:9px solid white}.festival{padding:75px 24px 85px;background:var(--green);background-image:linear-gradient(#25412ce8,#25412ce8),url("assets/緑の模様.png");background-size:auto,600px;color:#fffef9;text-align:center}.festival .festival h2{font-size:clamp(24px,3.2vw,39px)}.festival>p:not(.eyebrow){font-size:var(--font-body);margin-top:24px;color:var(--label-color)}.status{display:inline-block;margin-top:27px;padding:10px 24px;border:1px solid #91a28e;font-size:var(--font-body);letter-spacing:.15em}@keyframes float{0%,100%{transform:translateY(0) rotate(-.8deg)}50%{transform:translateY(-7px) rotate(.8deg)}}@keyframes jump{0%,100%{transform:translateY(0)}35%{transform:translateY(-24px) rotate(-5deg)}65%{transform:translateY(-6px) rotate(4deg)}}
@media(max-width:900px){.nav{gap:18px;font-size:var(--font-body)}.hero-stamp{width:100px;height:100px;font-size:var(--font-body);left:50%}.hero-stamp strong{font-size:17px}.hero-bottom>p{font-size:var(--font-body)}.hero-bottom .text-link{font-size:var(--font-body)}.dish-copy h3{font-size:23px}.dish-copy p{font-size:var(--font-body)}.member-list{grid-template-columns:repeat(4,1fr);gap:20px;max-width:680px}.member:nth-child(n+5){position:relative;left:50%}.members-note{margin-bottom:0}.memory-copy{padding-bottom:30px}.memories{gap:30px}.memory-years{gap:12px}}
@media(max-width:600px){html{scroll-padding-top:85px}.preparing{font-size:var(--font-body);letter-spacing:0;padding:9px 8px}.header{padding:8px 22px}.brand img{width:90px;height:58px}.nav-toggle{display:flex;align-items:center;gap:12px;font-size:var(--font-body);background:none;border:0;padding:13px 0;cursor:pointer}.nav-toggle span{font-size:19px}.nav{display:none;position:absolute;top:100%;left:0;width:100%;padding:15px 25px 24px;background:#fffef9;border-bottom:1px solid var(--line);font-size:var(--font-body)}.nav.is-open{display:grid;gap:4px}.nav a{padding:13px 0}.nav-event{justify-self:start}.hero{padding-top:28px;padding-bottom:30px}.hero-intro{font-size:var(--font-body);letter-spacing:.08em;margin-bottom:18px}.sign{gap:3px;margin:0 -6px;transform:none}.sign img{border-width:1px;aspect-ratio:1/1.15}.hero-photos{grid-template-columns:1fr;gap:0;margin-top:27px;padding-bottom:8px}.hero-pasta{border-width:6px;margin-right:26px}.hero-pasta img{height:245px}.hero-soup{width:57%;margin:-45px -4px 0 auto;border-width:5px;transform:rotate(4deg)}.hero-soup img{height:150px}.hero-photos figcaption{left:8px;bottom:9px;padding:5px 9px;font-size:var(--font-body)}.hero-soup figcaption{left:0;bottom:0;right:0;font-size:var(--font-body);padding:5px;text-align:center}.hero-stamp{left:8px;bottom:25px;width:92px;height:92px;font-size:var(--font-body)}.hero-stamp strong{font-size:var(--font-body)}.hero-bottom{display:block;padding-top:22px}.hero-bottom>p{font-size:var(--font-body);line-height:1.9}.hero-bottom .text-link{margin-top:13px;min-width:225px;font-size:var(--font-body)}.photo-note{font-size:var(--font-body);line-height:1.7;margin-top:15px}.mobile-only{display:block}.food{padding-top:50px;padding-bottom:55px}.section-head{display:block;margin-bottom:35px}.section-head>p:last-child{margin-top:22px;font-size:var(--font-body)}.dish{display:flex;flex-direction:column;gap:24px;align-items:stretch}.dish-photo img{aspect-ratio:1.17}.dish-copy{position:relative;padding:0 0 0 44px}.dish-number{position:absolute;left:0;top:3px;font-size:30px}.dish-copy h3{font-size:22px;margin-bottom:12px}.dish-copy p{font-size:var(--font-body);line-height:2}.dish-copy .dish-caption{font-size:var(--font-body);margin:12px 0}.dish-soup{margin-top:42px}.dish-soup .dish-copy{padding:0 0 0 44px}.dish-soup .dish-photo img{aspect-ratio:1.35}.past-menu{padding-top:45px}.past-menu h2{font-size:22px;line-height:1.6;max-width:240px}.year-tag{font-size:32px}.menu-note{font-size:var(--font-body);line-height:1.9;margin-bottom:25px}.menu-grid{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.menu-grid figure{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.menu-grid img{aspect-ratio:1.05}.menu-grid figcaption{margin:0;padding-top:10px}.menu-grid h3{font-size:var(--font-body);line-height:1.7;margin-top:8px}.menu-grid p{font-size:var(--font-body);line-height:1.8}.menu-grid figcaption>span{font-size:var(--font-body)}.members{padding-top:50px;padding-bottom:45px}.members-heading{align-items:start;flex-wrap:wrap;gap:14px}.members h2{font-size:24px;max-width:300px}.motion-toggle{font-size:var(--font-body);padding:8px 12px}.members-note{font-size:var(--font-body);margin-top:15px}.member-list{grid-template-columns:repeat(4,1fr);gap:20px 1px;margin-top:20px}.member span{font-size:var(--font-body);margin-top:8px}.memories{padding-top:20px;padding-bottom:55px;grid-template-columns:1fr 1fr;gap:26px 14px;align-items:start}.memory-copy{grid-column:1/-1;padding-bottom:0}.memory-copy h2{font-size:27px}.memory-copy>p:not(.eyebrow){font-size:var(--font-body);margin-top:18px}.memory-years{font-size:var(--font-body);gap:15px;margin-top:22px}.memory-main{grid-column:2;grid-row:2;transform:rotate(2deg)}.memory-main img{border-width:5px}.memory-sub{grid-column:1;grid-row:2;align-self:center}.memory-sub img{aspect-ratio:.9;border-width:5px}.memories figcaption{font-size:var(--font-body);line-height:1.7;padding-top:7px}.festival{padding:48px 22px 52px}.festival h2{font-size:23px;line-height:1.7}.festival>p:not(.eyebrow){font-size:var(--font-body);margin-top:20px}.status{font-size:var(--font-body);margin-top:23px}}
.member .member-portrait{display:block;position:relative;aspect-ratio:2/3;margin:0}
.member-portrait img{position:absolute;left:0;top:var(--image-top,0%);width:100%;height:auto}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.member .member-portrait,.member.is-jumping .member-portrait{animation:none!important;transform:none!important}}
.sign,.sign img:nth-child(2n),.sign img:nth-child(3n){transform:none}
.hero-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;padding:0}
.hero-photos .hero-pasta,.hero-photos .hero-soup{width:auto;margin:0;border:0;transform:none}
.hero-photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.hero-soup img{object-position:50% 50%}
.hero-stamp{display:none}
.memory-main,.memory-sub{transform:none}
.member{cursor:default}
.member-motion{display:block;width:100%;border:0;padding:0;background:transparent;cursor:pointer}
.member .member-portrait{display:block;aspect-ratio:334/510;width:100%;height:auto;margin:0;background-image:url("assets/メンバー.png");background-size:650.299401% auto;background-repeat:no-repeat;background-position:var(--sprite-position) 65.420561%;clip-path:var(--sprite-shape,inset(0 var(--sprite-clip-right,var(--sprite-clip)) 0 var(--sprite-clip-left,var(--sprite-clip))))}
.member-profile{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin-top:10px;font-size:var(--font-body);line-height:1.3}
.member-profile:hover{color:var(--red)}
.member-profile span{margin:0;font-size:inherit;letter-spacing:0}
.member-profile .profile-arrow{font-size:var(--font-body)}
.member .profile-avatar{display:block;flex-shrink:0;width:30px;height:30px;object-fit:cover;border-radius:50%;border:1px solid #d1d5c7;animation:none!important;transform:none!important}
.graphic{padding:65px var(--gutter) 75px;background:#fffef9}
.graphic-heading{max-width:1180px;margin:0 auto 30px;display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.graphic h2{font-size:clamp(25px,3vw,38px)}
.graphic-credit{font-size:var(--font-body);white-space:nowrap}
.graphic-credit a{border-bottom:1px solid currentColor;padding-bottom:6px}
.graphic-credit a:hover{color:var(--red)}
.graphic-image{display:block;max-width:1180px;margin:auto}
.graphic-image img{width:100%;height:auto;border:1px solid var(--line)}
.graphic>.text-link{display:flex;max-width:230px;margin:18px auto 0}
@media(max-width:600px){.hero-photos{grid-template-columns:1fr;gap:18px;margin-top:24px}.hero-photos img{aspect-ratio:4/3}.hero-photos figcaption{font-size:var(--font-body);left:10px;bottom:10px;right:auto;padding:6px 10px}.hero-bottom{padding-top:25px}.member-profile{font-size:var(--font-body);gap:3px;margin-top:7px}.member .profile-avatar{width:20px;height:20px}.member-profile .profile-arrow{font-size:var(--font-body)}.graphic{padding-top:45px;padding-bottom:45px}.graphic-heading{gap:18px;margin-bottom:22px}.graphic-credit{font-size:var(--font-body)}}

/* 独立したヒストリー・スペシャルサンクス */
.thanks-teaser{padding:65px var(--gutter);background:#fffef9;display:flex;align-items:end;justify-content:space-between;gap:30px}
.thanks-teaser h2{font-size:clamp(24px,2.7vw,36px)}.thanks-teaser p:not(.eyebrow){font-size:var(--font-body);margin-top:16px}.thanks-teaser>.text-link{flex-shrink:0}
.subpage{max-width:1340px;margin:auto;padding:0 var(--gutter)}
.history-entry{display:grid;grid-template-columns:170px minmax(0,1fr);gap:40px;padding:55px 0 65px;border-bottom:1px solid var(--line)}.history-date time{font-family:Georgia,serif;font-size:23px;color:var(--green)}.history-body h2{font-size:clamp(23px,2.6vw,34px);line-height:1.65;letter-spacing:.02em}.history-body>p{font-size:var(--font-body);margin:23px 0 30px;max-width:none;line-height:2.2}.history-more{margin:23px 0 30px}.history-more>summary{display:block;min-height:44px;cursor:pointer;list-style:none;font-size:var(--font-body);line-height:2.2}.history-more-ending{white-space:nowrap}.history-more-mark{display:inline;padding:0 .25em}.history-more-action{display:flex;justify-content:flex-end;align-items:center;min-height:44px;color:var(--green);font-size:var(--font-body);text-decoration:underline;text-underline-offset:4px}.history-more[open] .history-more-mark,.history-more[open] .history-more-action{display:none}.history-more[open]>summary{cursor:default}.history-more[open]>summary:hover{opacity:1}.history-more>summary::-webkit-details-marker{display:none}.history-more>summary:hover{opacity:.7}.history-more>summary:focus-visible{outline:3px solid #be6e22;outline-offset:4px}.history-more-content>p{font-size:var(--font-body);margin:23px 0 30px;line-height:2.2}.history-more-content>p:last-child{margin-bottom:0}.history-gallery{display:grid;grid-template-columns:1fr;gap:20px}.history-gallery img{width:100%;height:auto}.history-gallery-event{grid-template-columns: .8fr 1.2fr;align-items:center}.history-gallery a:hover,.thanks-gallery a:hover{opacity:.9}
.thanks-entry{padding:55px 0 45px}.thanks-entry-head{margin-bottom:30px}.thanks-entry h2{font-size:clamp(25px,3vw,38px)}.thanks-entry .graphic-credit{margin-top:22px}.thanks-gallery{display:grid;grid-template-columns:1fr;gap:45px}.thanks-gallery img{width:100%;height:auto;background:white;border:1px solid var(--line)}.thanks-gallery figcaption{font-size:var(--font-body);margin-top:12px;color:#626858}.image-help{margin-top:25px;font-size:var(--font-body);color:#626858}.festival .text-link{margin-top:25px;color:white}.member-profile{width:100%}
@media(min-width:1100px){.nav{gap:22px}}
@media(max-width:1099px) and (min-width:601px){.nav{gap:12px;font-size:var(--font-body)}.header{gap:12px;padding-left:25px;padding-right:25px}.nav-event span{margin-left:8px}}
@media(max-width:600px){.history-more{margin:18px 0 23px}.thanks-teaser{display:block;padding-top:45px;padding-bottom:45px}.thanks-teaser>.text-link{margin-top:20px}.thanks-teaser p:not(.eyebrow){font-size:var(--font-body)}.history-entry{grid-template-columns:1fr;gap:18px;padding:32px 0 40px}.history-date time{font-size:20px}.history-body h2{font-size:22px}.history-body>p{font-size:var(--font-body);margin:18px 0 23px}.history-gallery{gap:16px}.history-gallery-event{grid-template-columns:1fr}.history-gallery-event a:first-child{max-width:270px;margin:0 auto}.thanks-entry{padding-top:35px}.thanks-gallery{gap:30px}.thanks-gallery figcaption{font-size:var(--font-body)}.thanks-entry .graphic-credit{margin-top:15px}}

.graphic-credit a{display:inline-flex;align-items:center;gap:9px;vertical-align:middle}.credit-avatar{display:block;width:36px;height:36px;object-fit:cover;border-radius:50%;border:1px solid var(--line)}

.members-more{max-width:1180px;margin:30px auto 0;text-align:center}.memberpage .members{padding:45px 0;background:transparent}.memberpage .members-heading h2{font-size:25px}.memberpage-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:960px}.memberpage-list .member{position:static!important;left:auto!important;padding:22px 18px;background:#fffef9;border:1px solid var(--line);text-align:center}.memberpage-list .member:last-child{grid-column:2}.memberpage-list .member-motion{max-width:170px;margin:auto}.memberpage-list .member-profile{font-size:16px;gap:10px;margin-top:15px}.memberpage-list .profile-avatar{width:34px;height:34px}.memberpage-list .profile-arrow{font-size:var(--font-body)}
@media(max-width:600px){.memberpage-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.memberpage-list .member{padding:16px 8px}.memberpage-list .member:last-child{grid-column:1/-1;width:calc((100% - 16px)/2);justify-self:center}.memberpage-list .member-profile{font-size:var(--font-body);gap:5px}.memberpage-list .profile-avatar{width:25px;height:25px}.memberpage .members-heading h2{font-size:22px}}

/* 追加メンバー2人と、隣の人物が入らない個別表示 */
.member-list{grid-template-columns:repeat(9,minmax(0,1fr))}
.member .member-portrait-single{clip-path:none}
.memberpage-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.memberpage-list .member:last-child{grid-column:auto;width:auto;justify-self:stretch}
@media(max-width:900px){.member-list{grid-template-columns:repeat(3,minmax(0,1fr))}.member:nth-child(n+5){position:static;left:auto}.memberpage-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.member-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 8px}.memberpage-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.memberpage-list .member:last-child{grid-column:1/-1;width:calc((100% - 16px)/2);justify-self:center}}

.member-profile span{white-space:nowrap}
@media(min-width:901px) and (max-width:1199px){main:not(.memberpage) .member-profile{font-size:var(--font-body);gap:4px}main:not(.memberpage) .member .profile-avatar{width:26px;height:26px}main:not(.memberpage) .profile-arrow{font-size:var(--font-body)}}

.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hero.hero-video{max-width:1600px;margin:0 auto;padding:0}
.hero-film{background:#171b16}
.hero-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#171b16}
.hero-video .hero-bottom{max-width:1400px;margin:auto;padding:25px var(--gutter) 32px}
.preparing{line-height:1.8}
@media(max-width:600px){.hero-video .hero-bottom{padding-top:22px;padding-bottom:28px}.hero-film video{aspect-ratio:16/9}}

/* 本人指定の100本のスプーンの見せ方を参考に、白地・明朝体・大きな映像へ整理 */
body{background:#fff;font-family:var(--font-heading);letter-spacing:.055em}
h1,h2,h3{font-weight:500}
h2{font-size:clamp(26px,2.6vw,34px);line-height:1.9;letter-spacing:.12em}
p{line-height:2.2}
.header{background:#fff;border-bottom:0}
.nav{font-weight:400;letter-spacing:.08em}
.preparing{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:.06em}
.home-page .header{position:fixed;top:64px;left:30px;right:30px;padding:0;display:flex;align-items:flex-start;z-index:10;background:transparent;border:0;pointer-events:none}
.home-page .header>*{pointer-events:auto}
.home-page .brand{background:#fffffff2;padding:3px 10px}
.home-page .brand img{width:105px;height:68px}
.home-page .nav-toggle{display:flex;justify-content:center;align-items:center;width:56px;height:56px;border:0;background:#fff;border-radius:50%;padding:0;gap:0;font-size:0;box-shadow:0 1px 5px #0000000c;cursor:pointer}
.home-page .nav-toggle span{display:block;width:23px;height:18px;font-size:0;position:relative;background:linear-gradient(to bottom,#363c34 0 1px,transparent 1px 8px,#363c34 8px 9px,transparent 9px 17px,#363c34 17px 18px)}
.home-page .nav-toggle[aria-expanded="true"] span{background:none}
.home-page .nav-toggle[aria-expanded="true"] span::before,.home-page .nav-toggle[aria-expanded="true"] span::after{content:"";position:absolute;left:0;top:8px;width:23px;height:1px;background:#363c34;transform:rotate(45deg)}
.home-page .nav-toggle[aria-expanded="true"] span::after{transform:rotate(-45deg)}
.home-page .nav{display:none}
.home-page .nav.is-open{display:flex;position:fixed;top:132px;right:30px;left:auto;width:300px;max-width:calc(100vw - 40px);flex-direction:column;align-items:stretch;gap:5px;padding:24px 30px;background:#fff;border:1px solid #eceee8;box-shadow:0 12px 40px #17271914;font-size:var(--font-body)}
.home-page .nav a{padding:12px 0}
.home-page .nav-event{border-bottom:1px solid #a4b09c}
.home-page .hero.hero-video{max-width:none}
.home-page .hero-film video{height:calc(100svh - 40px);min-height:480px;max-height:1000px;object-fit:cover}
.hero-video .hero-bottom{padding-top:45px;padding-bottom:50px}
.hero-bottom>p{font-size:var(--font-body);font-weight:400;letter-spacing:.1em}
.text-link{font-weight:400;letter-spacing:.08em}
.food{padding-top:100px;padding-bottom:130px;background:#fff}
.section-head{display:block;text-align:center;max-width:900px;margin-bottom:90px}
.section-head 
.section-head>p:last-child{font-size:var(--font-body);justify-self:auto;margin-top:26px}

.dish{max-width:1240px;grid-template-columns:1.3fr 1fr;gap:clamp(40px,7vw,110px)}
.dish-copy h3{font-size:27px;font-weight:500;letter-spacing:.12em;line-height:1.8}
.dish-copy p{font-size:var(--font-body);letter-spacing:.06em}
.dish-number{display:none}
.dish-soup{margin-top:140px}
.dish-soup .dish-copy{padding-left:10%}
.dish-photo img{aspect-ratio:1.3;object-fit:cover}
.dish-photo video{display:block;width:100%;height:auto;aspect-ratio:1280/718;object-fit:contain;background:#eef0ea}
.photo-label{position:static;display:block;font-size:var(--font-body);color:#7a8074;background:transparent;padding:12px 0 0}
.past-menu{background:#fff;color:var(--ink);padding-top:30px}
.past-menu 
.past-menu h2{font-size:clamp(24px,2.4vw,31px);line-height:1.85;letter-spacing:.1em}
.year-tag{font-size:25px;font-style:normal;color:#9aab92}
.menu-note{color:#747b70;font-size:var(--font-body);line-height:2.2;margin-top:24px;margin-bottom:45px}
.menu-grid{gap:35px;padding-bottom:85px}
.menu-grid video{display:block;width:100%;height:auto;aspect-ratio:1.2;object-fit:cover;background:#eef0ea}
.menu-grid figcaption{border-color:#dce1d7;padding-top:18px}
.menu-grid figcaption>span{color:#718364}
.menu-grid h3{font-size:18px;font-weight:500;line-height:1.8}
.menu-grid p{color:#747b70;font-size:var(--font-body)}
.tricolor{height:4px}
.members{background:#fff;padding-top:110px;padding-bottom:100px}
.members h2{font-size:clamp(25px,2.5vw,32px);font-weight:500}
.member-profile,.members-note,.motion-toggle{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;letter-spacing:0}
.memberpage-list .member{border:0;background:transparent}
.memories{padding-top:50px;padding-bottom:130px;gap:0 75px}
.memory-copy h2{font-size:clamp(27px,2.6vw,34px);line-height:1.9;font-weight:500}
.memory-copy>p:not(.eyebrow){font-size:var(--font-body);line-height:2.3}
.memory-main img,.memory-sub img{border:0;box-shadow:none}
.festival{background-image:none;padding-top:95px;padding-bottom:100px}
.festival h2{font-weight:500;font-size:clamp(27px,3vw,37px);line-height:1.9}
.festival>p:not(.eyebrow){font-size:var(--font-body);line-height:2.2}

.history-body h2,.thanks-entry h2{font-weight:500}

@media(max-width:900px){.dish{gap:40px}.memories{gap:0 35px}}
@media(max-width:600px){
 .home-page .header{top:50px;left:16px;right:16px}
 .home-page .brand{padding:2px 7px}
 .home-page .brand img{width:84px;height:54px}
 .home-page .nav-toggle{width:46px;height:46px}
 .home-page .nav.is-open{top:108px;right:16px;width:280px;padding:20px 25px}
 .home-page .hero-film video{height:72svh;min-height:390px;max-height:620px;object-position:50% 50%}
 .hero-video .hero-bottom{padding-top:30px;padding-bottom:35px}
 .hero-bottom>p{font-size:var(--font-body)}
 .food{padding-top:65px;padding-bottom:75px}
 .section-head{margin-bottom:55px}
 .section-head h2{font-size:29px}
 .section-head>p:last-child{font-size:var(--font-body);margin-top:23px}
 .dish{gap:24px}
 .dish-copy,.dish-soup .dish-copy{padding:0}
 .dish-copy h3{font-size:25px}
 .dish-copy p{font-size:var(--font-body)}
 .dish-soup{margin-top:70px}
 .past-menu{padding-top:0}
 .past-menu h2{font-size:23px;max-width:260px}
 .menu-note{font-size:var(--font-body);margin-bottom:30px}
 .year-tag{font-size:22px}
 .menu-grid{gap:32px;padding-bottom:55px}
 .menu-grid video{aspect-ratio:1.05}
 .menu-grid h3{font-size:var(--font-body)}
 .menu-grid p{font-size:var(--font-body)}
 .members{padding-top:65px;padding-bottom:60px}
 .members h2{font-size:27px}
 .memories{padding-top:20px;padding-bottom:75px;gap:25px 16px}
 .memory-copy h2{font-size:27px}
 .memory-copy>p:not(.eyebrow){font-size:var(--font-body)}
 .memory-sub img{aspect-ratio:1.1}
 .festival{padding-top:60px;padding-bottom:65px}
 .festival h2{font-size:27px}
 .festival>p:not(.eyebrow){font-size:var(--font-body)}
}

/* 参考の横長ボタンと、スクロールに合わせた穏やかな文字の表示 */
.members-more{margin-top:45px}
.members-cta{position:relative;display:inline-flex;align-items:center;justify-content:center;width:300px;max-width:100%;min-height:48px;padding:12px 48px;background:white;border:1px solid #32372f;font-size:var(--font-body);letter-spacing:.15em;isolation:isolate}
.members-cta::after{content:"";position:absolute;inset:3px -4px -5px 3px;z-index:-2;background:repeating-linear-gradient(45deg,transparent 0 2px,#63695c 2px 3px);pointer-events:none}
.members-cta::before{content:"";position:absolute;inset:0;background:white;z-index:-1}
.members-cta span{position:absolute;right:22px;font-size:18px;transition:transform .25s ease}
.members-cta:hover span{transform:translateX(4px)}
.reveal-ready .scroll-reveal{opacity:0;transform:translateY(16px);transition:opacity .85s ease,transform 1.05s cubic-bezier(.2,.65,.3,1)}
.reveal-ready .scroll-reveal.is-revealed{opacity:1;transform:none}
.reveal-ready .reveal-letter{opacity:0;filter:blur(2px);transition:opacity .65s ease var(--letter-delay),filter .8s ease var(--letter-delay)}
.reveal-ready .is-revealed .reveal-letter{opacity:1;filter:none}
@media(prefers-reduced-motion:reduce){.reveal-ready .scroll-reveal,.reveal-ready .reveal-letter{opacity:1;transform:none;filter:none;transition:none}.members-cta span{transition:none}}

/* 人とのつながりを紹介する、中央を大きく見せる横並びのブロック */
.together{padding:100px 0 65px;background:#f1f2ef;overflow:hidden}
.together-heading{text-align:center;padding:0 var(--gutter);max-width:950px;margin:0 auto 65px}
.together-heading h2{font-size:clamp(25px,2.5vw,32px);line-height:1.9}
.together-heading>p{font-size:var(--font-body);line-height:2.6;margin-top:35px}
.together-carousel{--card-width:min(76vw,980px);width:100%}
.together-track{display:flex;gap:28px;width:max-content;transform:translateX(calc(50vw - var(--card-width)/2 - var(--card-width) - 28px));transition:transform .7s cubic-bezier(.22,.65,.3,1)}
.together-card{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:35px;flex:0 0 var(--card-width);width:var(--card-width);padding:32px;background:#fff;box-shadow:7px 8px 0 #00000008}
.together-card>img{width:100%;height:auto;aspect-ratio:1.42;object-fit:cover}
.together-card>img.together-graphic{object-fit:contain}
.together-copy h3{font-size:23px;line-height:1.9;letter-spacing:.12em}
.together-copy>p{font-size:var(--font-body);line-height:2.4;margin-top:24px}
.together-copy .members-cta{width:100%;font-size:var(--font-body);letter-spacing:.06em;margin-top:28px;padding-left:16px;padding-right:35px}
.together-controls{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:35px}
.together-controls button{width:60px;height:44px;border:0;background:transparent;font-family:serif;font-size:30px;cursor:pointer}
.together-controls button:disabled{opacity:.25;cursor:default}
.together-position{font-size:var(--font-body);min-width:45px;text-align:center;letter-spacing:.15em}
@media(max-width:900px){.together-card{gap:25px;padding:25px}.together-copy h3{font-size:20px}.together-copy>p{font-size:var(--font-body)}.together-copy .members-cta{font-size:var(--font-body)}}
@media(max-width:600px){.together{padding-top:65px;padding-bottom:45px}.together-heading{margin-bottom:40px}.together-heading h2{font-size:25px}.together-heading>p{font-size:var(--font-body);line-height:2.5;margin-top:25px}.together-carousel{--card-width:86vw}.together-card{grid-template-columns:1fr;gap:22px;padding:23px;align-content:start}.together-card>img{aspect-ratio:1.5}.together-copy h3{font-size:22px}.together-copy>p{font-size:var(--font-body);margin-top:15px;min-height:58px}.together-copy .members-cta{margin-top:20px;font-size:var(--font-body)}.together-controls{margin-top:25px}}
@media(prefers-reduced-motion:reduce){.together-track{transition:none}}

.home-page .brand{transition:opacity .3s ease,visibility .3s ease}
.home-page.has-scrolled .brand{opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){.home-page .brand{transition:none}}

.hero-film{position:relative}
.hero-playback{position:absolute;right:22px;bottom:20px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ffffffb3;border-radius:50%;background:#17201940;color:#fff;cursor:pointer}
.hero-playback[hidden]{display:none}
.hero-playback span{width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.hero-playback.is-paused span{width:0;height:0;margin-left:3px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor;border-right:0}
@media(max-width:600px){.hero-playback{right:16px;bottom:16px}}

/* 三色の帯は背景との違いが見えるため枠線を付けない */
.tricolor{height:14px;border:0}
.tricolor span:nth-child(2){background:#fff;border:0}
.inline-film{position:relative}

.together-card>img.together-offline{object-fit:contain}

/* トップ映像を通り過ぎたら、白い通常ヘッダーを表示 */
.home-page .header{transition:background-color .3s ease,box-shadow .3s ease}
.home-page.has-scrolled .header{top:0;left:0;right:0;align-items:center;padding:10px var(--gutter);background:#fffffff7;border-bottom:1px solid var(--line);box-shadow:0 2px 12px #18231b08;pointer-events:auto}
.home-page.has-scrolled .brand{opacity:1;visibility:visible;pointer-events:auto;padding:0;background:transparent}
.home-page.has-scrolled .brand img{width:90px;height:58px}
@media(min-width:1200px){
 .home-page.has-scrolled .nav-toggle{display:none}
 .home-page.has-scrolled .nav{display:flex;position:static;flex-direction:row;align-items:center;gap:22px;width:auto;max-width:none;padding:0;background:transparent;border:0;box-shadow:none;font-size:var(--font-body)}
 .home-page.has-scrolled .nav a{padding:12px 0}
 .home-page.has-scrolled .nav-event span{margin-left:12px}
}
@media(max-width:1199px){
 .home-page.has-scrolled .nav.is-open{top:100%;left:0;right:0;width:100%;max-width:none;padding:18px var(--gutter) 25px;border:0;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #18231b08}
}
@media(max-width:600px){
 .home-page.has-scrolled .header{padding:8px 20px}
 .home-page.has-scrolled .brand img{width:84px;height:54px}
}
@media(prefers-reduced-motion:reduce){.home-page .header{transition:none}}

/* 本人指定：濃いグレーから始め、ベージュと交互にした背景 */
body{background:var(--beige)}
.header{background:var(--beige)}
.home-page .hero-video .hero-bottom,.home-page .past-menu,.home-page .together,.home-page .festival{background:var(--dark);color:#f4ecdd}
.home-page .food,.home-page .members,.home-page .memories{background:var(--beige);color:#262a25}
.home-page .food .eyebrow,.home-page .members .eyebrow,.home-page .memory-copy 
.home-page .food .dish-caption,.home-page .food .photo-label,.home-page .members-note,.home-page .memories figcaption{color:var(--label-color)}
.home-page .members .member-profile{color:#262a25}
.home-page .members .member-profile:hover{color:var(--red)}
.home-page .motion-toggle{color:#262a25;border-color:#9ba38c}
.home-page .motion-toggle:hover{background:#e7e0d2}
.home-page .memory-years strong{color:var(--red)}
.home-page .memories{max-width:none;padding-left:max(var(--gutter),calc((100% - 1280px)/2));padding-right:max(var(--gutter),calc((100% - 1280px)/2))}
.home-page .together-card{background:#faf6ed;color:#262a25}
.members-cta{color:#262a25}
.home-page .past-menu .eyebrow,.home-page .menu-grid figcaption>span,.home-page .festival 
.home-page .menu-note,.home-page .menu-grid p{color:var(--label-color)}
.home-page .year-tag{color:#d4bf99}
.home-page .menu-grid figcaption{border-color:#847d70}
.home-page .festival>p:not(.eyebrow){color:var(--label-color)}
.home-page .festival .text-link{color:#f4ecdd}
.home-page .festival .status{border-color:#938878;color:#e3daca}


.home-page.has-scrolled .header{background:var(--beige)}
.home-page .nav.is-open{background:var(--beige)}
@media(min-width:1200px){.home-page.has-scrolled .nav{background:transparent}}
@media(max-width:1199px){.home-page.has-scrolled .nav.is-open{position:absolute}}

.home-page .hero-video .hero-bottom{max-width:none;padding-left:max(var(--gutter),calc((100% - 1280px)/2));padding-right:max(var(--gutter),calc((100% - 1280px)/2))}

/* 過去のフェス：年ごとに開閉する振り返り */
.festival-retrospective{padding:65px 0 40px}
.festival-retrospective>h2{font-size:clamp(25px,3vw,34px);margin-bottom:35px}
.festival-archive{border-top:1px solid #bfc2b3}
.festival-archive:last-child{border-bottom:1px solid #bfc2b3}
.festival-archive>summary{display:grid;grid-template-columns:120px 1fr 24px;align-items:center;gap:25px;padding:27px 0;cursor:pointer;list-style:none}
.festival-archive>summary::-webkit-details-marker{display:none}
.festival-archive>summary:focus-visible{outline:3px solid #be6e22;outline-offset:5px}
.retrospect-year{font-family:Georgia,"Yu Mincho",serif;font-size:27px;color:var(--green);letter-spacing:.05em}
.retrospect-label{font-size:18px;letter-spacing:.1em}
.accordion-mark{position:relative;width:20px;height:20px}
.accordion-mark::before,.accordion-mark::after{content:"";position:absolute;left:0;top:9px;width:20px;height:1px;background:currentColor}
.accordion-mark::after{transform:rotate(90deg)}
.festival-archive[open]>summary .accordion-mark::after{transform:rotate(0deg)}
.retrospect-content{padding:10px 0 50px}
.retrospect-story{max-width:none;margin-bottom:35px}
.retrospect-story h3,.retrospect-menu>h3{font-size:22px;line-height:1.8;letter-spacing:.08em;margin-bottom:17px}
.retrospect-story>p:not(.eyebrow){font-size:var(--font-body);line-height:2.2;margin-top:12px}
.retrospect-story 
.retrospect-menu{padding-top:10px}
.retrospect-menu-note{font-size:var(--font-body);color:#626958;margin-bottom:25px}
.retrospect-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 25px}
.retrospect-menu-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.retrospect-menu-grid figcaption{padding-top:15px}
.retrospect-menu-grid h4{margin:0;font-weight:500;font-size:16px;line-height:1.9}
.retrospect-price{font-size:var(--font-body);line-height:1.9;margin-top:5px}
.retrospect-option{font-size:var(--font-body);color:#626958;line-height:1.9;margin-top:3px}
.retrospect-drinks{max-width:650px;margin-top:35px;padding:25px 0;border-top:1px solid var(--line)}
.retrospect-drinks h4{font-weight:500;font-size:18px;margin:0 0 15px}
.retrospect-drinks ul{list-style:none;padding:0;margin:0}
.retrospect-drinks li{display:flex;justify-content:space-between;gap:20px;font-size:var(--font-body);line-height:2.2;margin:5px 0}
.retrospect-drinks li span:last-child{white-space:nowrap}
.retrospect-drinks>p{font-size:var(--font-body);color:#626958;margin-top:12px}
.retrospect-sign{margin:5px 0 35px}
.retrospect-sign img{width:100%;height:auto}
.retrospect-sign figcaption{font-size:var(--font-body);line-height:1.9;color:#626958;margin-top:12px}
@media(max-width:700px){.retrospect-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 18px}}
@media(max-width:600px){.festival-retrospective{padding-top:45px;padding-bottom:20px}.festival-retrospective>h2{font-size:24px;margin-bottom:25px}.festival-archive>summary{grid-template-columns:80px 1fr 20px;gap:13px;padding:24px 0}.retrospect-year{font-size:22px}.retrospect-label{font-size:var(--font-body);letter-spacing:.04em}.retrospect-content{padding-bottom:30px}.retrospect-story{margin-bottom:28px}.retrospect-story h3,.retrospect-menu>h3{font-size:20px}.retrospect-story>p:not(.eyebrow){font-size:var(--font-body)}.retrospect-menu-grid{gap:25px 15px}.retrospect-menu-grid h4{font-size:var(--font-body)}.retrospect-price{font-size:var(--font-body)}.retrospect-option{font-size:var(--font-body)}.retrospect-drinks li{font-size:var(--font-body);gap:12px}.retrospect-sign figcaption{font-size:var(--font-body)}}

/* お客さまの声：紙のような余白と、小さな人物アイコン */
.voices-page{background-color:var(--beige);background-image:radial-gradient(ellipse at 5% 15%,#fff9 0,transparent 45%),radial-gradient(ellipse at 90% 40%,#d7cab222 0,transparent 45%)}
.voices-shell{width:calc(100% - var(--gutter)*2);max-width:1100px;margin:0 auto}
.voices-hero{padding:35px 0 0}
.voices-overline{text-align:center;font-size:var(--font-body);letter-spacing:.18em;color:#687059;margin-bottom:17px}
.voices-hero h1{text-align:center;font-size:clamp(36px,4.5vw,54px);line-height:1.6;letter-spacing:.14em;font-weight:500;margin:0}
.voices-lead{text-align:center;font-size:21px;line-height:1.9;letter-spacing:.12em;margin:24px 0 38px}
.voice-card{display:flex;align-items:flex-start;gap:22px;padding:30px;background:#fffdf9;border-radius:20px;box-shadow:0 4px 20px #6e634509;min-width:0}
.voice-avatar{display:block;flex:0 0 72px;width:72px;height:72px}
.voice-card-body{min-width:0;flex:1}
.voice-card blockquote{margin:0}
.voice-card blockquote p,.voice-copy{font-size:16px;line-height:2.1;letter-spacing:.04em;overflow-wrap:anywhere}
.voice-byline{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:var(--font-body);letter-spacing:.03em;color:#73796b;line-height:1.8;margin-top:18px}
.voice-feature{max-width:950px;margin:0 auto;padding:32px 42px;align-items:center;border-radius:24px}
.voice-feature .voice-avatar{width:94px;height:94px;flex-basis:94px}
.voice-feature blockquote p{font-size:clamp(20px,2.3vw,27px);line-height:1.9;letter-spacing:.07em}
.voice-feature .voice-byline{margin-top:12px}
.voice-topics{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:32px auto 0}
.voice-topics a{display:block;font-size:var(--font-body);line-height:1.8;padding:9px 19px;border:1px solid #adb39f;border-radius:30px;letter-spacing:.04em}
.voice-topics a:hover{background:#fff8;color:var(--red)}
.voices-stories{padding-top:60px;padding-bottom:55px}
.voice-section{padding:25px 0 38px;scroll-margin-top:12px}
.voice-section-head{margin-bottom:24px}
.voice-section-head 
.voice-section h2{font-size:28px;line-height:1.8;letter-spacing:.1em}
.voice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.voice-grid .voice-card{height:100%}
.voices-source-note{max-width:800px;margin:15px auto 0;text-align:center;font-size:var(--font-body);line-height:2.1;color:#68705f}
.voices-improvements{background:#333;color:#f4ecdd;padding:85px 0 90px;scroll-margin-top:12px}
.voices-improvements>.voices-shell>
.voices-improvements h2{text-align:center;font-size:34px;line-height:1.8;letter-spacing:.1em}
.improvements-intro{text-align:center;font-size:var(--font-body);line-height:2.2;color:#ded6c6;margin-top:23px}
.improvements-status{display:table;margin:24px auto 42px;padding:7px 18px;font-size:var(--font-body);line-height:1.8;letter-spacing:.04em;border:1px solid #8c8474;border-radius:30px;color:#e0d7c4}
.improvement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 42px}
.improvement-card{border-top:1px solid #756f62;padding-top:25px;min-width:0}
.improvement-icon{display:block;width:48px;height:48px;color:#d4bf99;margin-bottom:18px}
.improvement-card h3{font-size:22px;letter-spacing:.06em;line-height:1.8;margin-bottom:14px}
.improvement-heard{font-size:var(--font-body);line-height:2.1;color:#e0d8c8}
.improvement-next{padding:16px 19px;background:#ffffff08;border-left:2px solid #b8ad93;margin-top:20px}
.improvement-next>span{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:var(--font-body);color:#d4bf99;letter-spacing:.1em}
.improvement-next p{font-size:var(--font-body);line-height:2.1;margin-top:7px}
.voices-closing{text-align:center;padding-top:75px;padding-bottom:85px}
.voices-closing h2{font-size:30px;line-height:1.8;letter-spacing:.1em}
.voices-closing>p:not(.eyebrow){font-size:var(--font-body);line-height:2.2;margin-top:22px}
.voices-closing-links{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:35px}
.voices-closing-links .text-link{font-size:var(--font-body)}
.retrospect-voices-link{margin:0 0 42px}
.retrospect-voices-link .members-cta{width:370px;font-size:var(--font-body);padding-left:25px;padding-right:45px}
.nav a[aria-current="page"]{color:var(--red);border-bottom:1px solid currentColor}
@media(min-width:601px) and (max-width:1199px){
 body:not(.home-page) .nav-toggle{display:flex;align-items:center;gap:12px;border:0;background:transparent;padding:14px 0;font-size:var(--font-body);cursor:pointer}
 body:not(.home-page) .nav-toggle span{font-size:20px}
 body:not(.home-page) .nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;padding:18px 30px 25px;background:var(--beige);border-bottom:1px solid var(--line);font-size:var(--font-body)}
 body:not(.home-page) .nav.is-open{display:grid;gap:4px}
}
@media(max-width:800px){.voice-grid{grid-template-columns:1fr}.voice-feature{padding:28px}.voice-feature .voice-avatar{width:80px;height:80px;flex-basis:80px}.improvement-grid{gap:30px 25px}.voice-section{padding-bottom:30px}}
@media(max-width:600px){
 .voices-hero{padding-top:25px}
 .voices-overline{font-size:var(--font-body);margin-bottom:14px}
 .voices-hero h1{font-size:36px;letter-spacing:.1em}
 .voices-lead{font-size:18px;line-height:2;margin-top:18px;margin-bottom:26px;letter-spacing:.08em}
 .voice-card{padding:22px 18px;gap:14px;border-radius:18px}
 .voice-avatar,.voice-feature .voice-avatar{width:56px;height:56px;flex-basis:56px}
 .voice-feature{padding:23px 18px;align-items:flex-start;border-radius:20px}
 .voice-feature blockquote p{font-size:19px;line-height:2;letter-spacing:.03em}
 .voice-card blockquote p,.voice-copy{font-size:var(--font-body);line-height:2.05}
 .voice-feature blockquote p{font-size:19px}
 .voice-byline{font-size:var(--font-body);margin-top:14px}
 .voice-topics{gap:9px;margin-top:25px}
 .voice-topics a{font-size:var(--font-body);padding:8px 13px}
 .voices-stories{padding-top:35px;padding-bottom:40px}
 .voice-section{padding-top:20px;padding-bottom:30px}
 .voice-section-head{margin-bottom:18px}
 .voice-section h2{font-size:24px;letter-spacing:.06em}
 .voice-grid{gap:16px}
 .voices-source-note{font-size:var(--font-body);text-align:left}
 .voices-improvements{padding-top:55px;padding-bottom:60px}
 .voices-improvements h2{font-size:28px}
 .improvements-intro{font-size:var(--font-body);text-align:left;margin-top:22px}
 .improvements-status{font-size:var(--font-body);margin-bottom:30px;padding:7px 12px}
 .improvement-grid{grid-template-columns:1fr;gap:30px}
 .improvement-card h3{font-size:21px}
 .improvement-icon{width:42px;height:42px;margin-bottom:15px}
 .improvement-heard,.improvement-next p{font-size:var(--font-body)}
 .voices-closing{padding-top:50px;padding-bottom:60px}
 .voices-closing h2{font-size:25px}
 .voices-closing>p:not(.eyebrow){font-size:var(--font-body)}
 .voices-closing-links{gap:28px;margin-top:28px}
 .retrospect-voices-link .members-cta{font-size:var(--font-body);padding-left:15px;padding-right:34px}
}

.voice-word{white-space:nowrap}
@media(max-width:600px){.voice-feature{gap:12px}.voice-feature .voice-avatar{width:48px;height:48px;flex-basis:48px}.voice-feature blockquote p{font-size:17px;letter-spacing:.03em}}

/* 内蔵画像生成で制作した人物イラスト。2行2列の透過素材を同一比率で表示。 */
.voice-avatar{background-image:url("assets/お客さまの声_人物イラスト.webp");background-size:200% 200%;background-repeat:no-repeat}
.voice-avatar--1{background-position:0 0}
.voice-avatar--2{background-position:100% 0}
.voice-avatar--3{background-position:0 100%}
.voice-avatar--4{background-position:100% 100%}

/* 人物を使わず、声のカード自体を吹き出しにする。 */
.voice-card{display:block;position:relative;border:1px solid #ded7c7;border-radius:20px 20px 20px 5px;padding:35px 32px 27px;box-shadow:0 6px 22px #6e634509}
.voice-card::after{content:"";position:absolute;left:30px;bottom:-10px;width:19px;height:19px;background:#fffdf9;border-right:1px solid #ded7c7;border-bottom:1px solid #ded7c7;transform:skewY(-35deg);border-radius:0 0 4px 0}
.voice-feature{padding:35px 42px 30px;border-radius:24px 24px 24px 6px}
.voice-grid{row-gap:38px}
.voice-copy{white-space:pre-line}
.voice-context{font-size:var(--font-body);color:#65705c;line-height:1.9;margin-bottom:15px}
.voice-count{display:inline-block;vertical-align:middle;margin-left:17px;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:var(--font-body);letter-spacing:.03em;color:#73796b}
.voices-hero .voices-lead{font-size:var(--font-body);letter-spacing:.04em;margin-bottom:0}
.voice-feature .voice-card-body{position:relative;padding-left:28px}
.voice-feature .voice-card-body::before{content:"“";position:absolute;top:-17px;left:-7px;font-family:Georgia,serif;font-size:44px;line-height:1;color:#7f8b72}
@media(max-width:600px){.voice-card{padding:25px 22px 23px}.voice-feature{padding:27px 23px 25px}.voice-feature .voice-card-body{padding-left:15px}.voice-feature .voice-card-body::before{font-size:32px;top:-8px;left:-9px}.voice-grid{gap:32px}.voice-card::after{left:26px}}

/* Historyの年別サブメニュー */
.nav-history{position:relative;flex-shrink:0}
.nav-history>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:12px 0;min-height:44px}
.nav-history>summary::-webkit-details-marker{display:none}
.nav-history>summary:focus-visible{outline:3px solid #be6e22;outline-offset:4px}
.nav-chevron{display:block;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-top:-3px}
.nav-history[open] .nav-chevron{transform:rotate(225deg);margin-top:3px}
.nav .history-submenu{position:absolute;top:100%;left:-22px;z-index:30;min-width:175px;padding:10px 20px;background:#fffdf8;border:1px solid #d9d0bf;box-shadow:0 8px 24px #29261e12}
.nav .history-submenu a,.home-page.has-scrolled .nav .history-submenu a{display:block;font-size:var(--font-body);padding:12px 0;border-bottom:1px solid #e8e0d2;white-space:nowrap}
.nav .history-submenu a:last-child{border-bottom:0}
.nav .history-submenu a:hover{color:var(--red)}
.home-page:not(.has-scrolled) .nav-history{width:100%}
.home-page:not(.has-scrolled) .nav .history-submenu{position:static;box-shadow:none;min-width:0;padding:0 0 0 16px;border:0;border-left:1px solid #c5bead;background:transparent;margin:0 0 12px}
@media(max-width:1099px){.home-page.has-scrolled .nav{gap:12px;font-size:var(--font-body)}.home-page.has-scrolled .nav-event span{margin-left:5px}}
@media(max-width:1199px){.nav-history{width:100%}.nav .history-submenu{position:static;min-width:0;box-shadow:none;padding:0 0 0 16px;border:0;border-left:1px solid #c5bead;background:transparent;margin-bottom:12px}.nav .history-submenu a{font-size:var(--font-body)}.nav.is-open{max-height:calc(100svh - 100px);overflow-y:auto}}

/* 店舗：内観写真と、まとまったアクセス案内 */
.shop-shell{width:calc(100% - var(--gutter)*2);max-width:1180px;margin:0 auto}
.shop-intro{padding:38px 0 90px}
.shop-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.shop-intro-copy h1{font-size:clamp(34px,3.8vw,52px);line-height:1.65;letter-spacing:.09em;font-weight:500;margin-top:18px}
.shop-name{font-size:17px;margin-top:25px;letter-spacing:.1em}
.shop-intro-text{font-size:var(--font-body);line-height:2.3;margin-top:20px}
.shop-photo img{width:100%;aspect-ratio:1;object-fit:cover}
.shop-photo figcaption{font-size:var(--font-body);color:#6b705f;margin-top:12px}
.shop-social{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}
.shop-social .members-cta{width:240px;font-size:var(--font-body);padding:13px 40px 13px 22px}
.shop-social .text-link{font-size:var(--font-body)}
.shop-info-section{background:#333;color:#f4ecdd;padding:80px 0 55px}
.shop-section-heading{margin-bottom:42px}
.shop-section-heading 
.shop-section-heading h2{font-size:28px;margin-top:14px;line-height:1.8}
.shop-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,5vw,75px);align-items:start}
.shop-map iframe{display:block;width:100%;height:440px;border:0;background:#e8e4db}
.shop-map .text-link{color:#f4ecdd;margin-top:20px;font-size:var(--font-body)}
.shop-details{margin:0}
.shop-details>div{display:grid;grid-template-columns:105px 1fr;gap:16px;padding:21px 0;border-top:1px solid #797367;font-size:var(--font-body);line-height:2}
.shop-details>div:first-child{padding-top:0;border-top:0}
.shop-details dt{color:#d4bf99;letter-spacing:.08em}
.shop-details dd{margin:0}
.shop-details small{display:block;font-size:var(--font-body);line-height:1.9;color:#d0c7b7;margin-top:3px}
.shop-phone{display:inline-block;border-bottom:1px solid #aba28f;font-size:18px;line-height:1.6;letter-spacing:.08em}
.shop-hours{display:grid;grid-template-columns:64px 1fr;gap:13px}
.shop-hours+.shop-hours{margin-top:16px}
.shop-hours>span{color:#d4bf99;font-size:var(--font-body);padding-top:2px}
.shop-hours p{line-height:1.8;font-size:16px;letter-spacing:.04em}
.shop-reservation-note{font-size:var(--font-body);color:#d0c7b7;line-height:2.1;margin-top:20px}
.shop-source-note{font-size:var(--font-body);line-height:2.1;color:#d0c7b7;padding-top:35px;border-top:1px solid #797367;margin-top:40px}
.shop-source-note a{border-bottom:1px solid currentColor}
.shop-closing{text-align:center;padding:75px 0 85px}
.shop-closing h2{font-size:30px;margin:20px 0 28px;line-height:1.8}
@media(max-width:800px){.shop-intro-grid,.shop-info-grid{grid-template-columns:1fr;gap:35px}.shop-photo{max-width:560px}.shop-intro{padding-bottom:55px}.shop-info-section{padding-top:50px}.shop-map iframe{height:350px}.shop-section-heading{margin-bottom:30px}.shop-intro-grid{gap:40px}.shop-photo img{aspect-ratio:4/3}.shop-social{gap:23px}}
@media(max-width:600px){.shop-intro{padding-top:28px}.shop-intro-copy h1{font-size:clamp(24px,7.5vw,30px)}.shop-name{font-size:18px;line-height:1.8}.shop-intro-text{font-size:var(--font-body)}.shop-social .members-cta{width:100%}.shop-social{display:grid;justify-items:start;gap:25px}.shop-section-heading h2{font-size:23px}.shop-info-grid{gap:35px}.shop-map iframe{height:300px}.shop-details>div{grid-template-columns:86px 1fr;gap:12px;font-size:var(--font-body);padding:20px 0}.shop-hours{grid-template-columns:1fr;gap:2px}.shop-hours p{font-size:16px}.shop-closing{padding:55px 0 65px}.shop-closing h2{font-size:25px}}

/* 公式HPとInstagramを同じ大きさ・装飾のボタンに揃える */
.shop-social{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.shop-social .members-cta{width:100%;min-height:50px;padding:13px 34px 13px 16px;letter-spacing:.08em}
.shop-social .social-icon{display:block;width:18px;height:18px;flex-shrink:0;margin-right:9px}
@media(max-width:600px){.shop-social{grid-template-columns:1fr;gap:20px}.shop-social .members-cta{width:100%}}

/* 未確定の2027年メニューは、検討中の案内を明確に表示 */
.menu-page-main{max-width:1280px}
.menu-planning{max-width:940px;margin:40px auto 30px;padding:40px 35px 42px;border:1px solid #d4cbb9;background:#fffdf8;text-align:center}
.menu-planning-status{display:table;margin:0 auto 25px;padding:6px 23px;border:1px solid #849176;border-radius:30px;background:#f1f4ec;color:#45603b;font-size:var(--font-body);letter-spacing:.12em}
.menu-planning h2{font-size:clamp(23px,2.7vw,32px);line-height:1.8;letter-spacing:.06em}
.menu-planning>p:not(.menu-planning-status){font-size:var(--font-body);line-height:2.2;margin-top:28px}
.menu-planning>p.menu-planning-announcement{margin-top:15px}
.menu-page-history{text-align:center;padding:5px 0 80px}
.menu-page-history p{font-size:var(--font-body);line-height:2.1;margin-bottom:26px}
@media(max-width:600px){.menu-planning{margin-top:35px;padding:36px 23px 40px}.menu-planning h2{font-size:24px;letter-spacing:.03em}.menu-planning>p:not(.menu-planning-status){font-size:var(--font-body);line-height:2}.menu-page-history{padding-bottom:55px}.menu-page-history p{text-align:left;font-size:var(--font-body)}}

/* 参考に合わせ、白いカードの左に匿名の人型入り吹き出しアイコンを表示 */
.voices-stories{max-width:960px}
.voice-grid{grid-template-columns:1fr;gap:20px}
.voice-grid .voice-card{height:auto}
.voice-card{display:flex;align-items:flex-start;gap:18px;padding:25px 30px;background:#fffdf9;border:0;border-radius:18px;box-shadow:0 4px 18px #625c4b08}
.voice-card::after{display:none}
.voice-comment-icon{display:block;flex:0 0 64px;width:64px;height:48px;object-fit:contain;margin-top:0}
.voice-copy{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:var(--font-body);line-height:1.95;letter-spacing:.02em;white-space:pre-line}
.menu-planning>p.menu-planning-announcement{font-size:20px;line-height:1.9;margin:0}
@media(max-width:600px){.voice-card{padding:22px 18px;gap:12px;border-radius:16px}.voice-comment-icon{flex-basis:44px;width:44px;height:36px}.voice-copy{font-size:var(--font-body);line-height:1.95}.voice-grid{gap:18px}.menu-planning>p.menu-planning-announcement{font-size:17px;line-height:2}}

/* 上向き矢印のボタンは画面の右下に追随する */
.back-to-top{position:fixed;right:28px;bottom:max(28px,env(safe-area-inset-bottom));z-index:80;display:grid;place-items:center;width:52px;height:52px;padding:0;border:1px solid #4e4c45;background:#f8f3e8;color:#333;cursor:pointer;box-shadow:4px 4px 0 #b9b1a1;transition:background .2s,transform .2s}
.back-to-top::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:4px;background:linear-gradient(to right,#54795b 0 33.333%,#fffef9 33.333% 66.666%,#b72e35 66.666% 100%);pointer-events:none}
.back-to-top[hidden]{display:none}
.back-to-top:hover{background:#fffdf8;transform:translateY(-3px)}
.back-to-top:focus-visible{outline:2px solid #b72e35;outline-offset:5px}
@media(max-width:600px){.back-to-top{width:46px;height:46px;right:18px;bottom:max(20px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}

/* メンバー紹介は一人ずつ枠を設け、紹介とおすすめの記入欄を揃える */
.memberpage-list{gap:26px;align-items:stretch}
.memberpage-list .member{display:flex;flex-direction:column;padding:26px 22px;background:#faf6ed;border:1px solid #b5aa95;text-align:left}
.memberpage-list .member-motion{width:170px;max-width:100%;margin:0 auto}
.memberpage-list .member-profile{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:74px;margin:18px 0 0;font-size:var(--font-body);line-height:1.8}
.memberpage-list .member-profile .member-display-name{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;font-weight:500}
.memberpage-list .profile-avatar{flex-shrink:0;width:32px;height:32px}
.memberpage-list .profile-arrow{flex-shrink:0}
.member-details{display:flex;flex:1;flex-direction:column;margin-top:14px;padding-top:19px;border-top:1px solid #d8cfbd}
.member-introduction{font-size:var(--font-body);line-height:2;letter-spacing:.06em;overflow-wrap:anywhere;margin-bottom:22px}
.member-recommendation{margin:auto 0 0;padding-top:17px;border-top:1px solid #d8cfbd}
.member-recommendation dt{font-size:var(--font-body);font-weight:500;letter-spacing:.06em;color:#665b47;margin-bottom:8px}
.member-recommendation dd{font-size:var(--font-body);line-height:1.8;letter-spacing:.06em;margin:0;overflow-wrap:anywhere}
@media(max-width:900px){.memberpage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.memberpage-list .member:last-child{grid-column:auto;width:auto}}
@media(max-width:600px){.memberpage-list{grid-template-columns:1fr;gap:24px;max-width:390px}.memberpage-list .member{padding:25px 26px}.memberpage-list .member:last-child{grid-column:auto;width:auto}.memberpage-list .member-profile{font-size:var(--font-body);min-height:58px}.memberpage-list .member-motion{width:165px}.member-introduction{font-size:var(--font-body)}}

/* グローバルメニューは濃いグレー、フッターはベージュ */
.header,.home-page.has-scrolled .header{background:#333;color:var(--beige);border-bottom:1px solid var(--beige)}
.nav a{color:var(--beige)}
.nav a:hover,.nav a[aria-current="page"]{color:#efb4a9}
.nav-toggle{color:var(--beige)}
.home-page .nav.is-open,body:not(.home-page) .nav.is-open{background:#333;color:var(--beige);border-bottom:1px solid var(--beige)}
.home-page.has-scrolled .nav-toggle{background:#333;box-shadow:none}
.home-page.has-scrolled .nav-toggle span{background:linear-gradient(to bottom,#f2ecdf 0 1px,transparent 1px 8px,#f2ecdf 8px 9px,transparent 9px 17px,#f2ecdf 17px 18px)}
.home-page.has-scrolled .nav-toggle[aria-expanded="true"] span{background:none}
.home-page.has-scrolled .nav-toggle[aria-expanded="true"] span::before,.home-page.has-scrolled .nav-toggle[aria-expanded="true"] span::after{background:var(--beige)}







/* お客さまの声の見出し・背景・下部リンクを共通ページへ揃える */
.voices-page{background:var(--beige)}
.voices-shell{width:100%;max-width:1340px;padding-left:var(--gutter);padding-right:var(--gutter)}
.voices-hero{padding:0}
.voices-hero 
.voices-lead{text-align:left;font-size:var(--font-body);line-height:2.2;letter-spacing:.055em;margin:26px 0 0}
.voice-topics{justify-content:flex-start;margin:28px 0 0}
.voices-stories{max-width:1340px}
.voices-improvements>.voices-shell>.eyebrow,.voices-improvements h2,.improvements-intro{text-align:left}
.improvements-status{margin-left:0;margin-right:0}
.voices-closing{text-align:left}
@media(max-width:600px){.voices-hero .voices-lead{font-size:var(--font-body);margin-top:22px}.voice-topics{margin-top:25px}}

/* 全ページの表示文字を15px以上へ統一 */
body{font-size:var(--font-body)}


.header{gap:20px}
.past-menu-more{max-width:1180px;margin:0 auto;text-align:center;padding:0 0 60px}
.past-menu-more .members-cta{max-width:100%;min-width:300px}
/* 15pxの流れるお知らせ。端末の動きを減らす設定に対応 */
.preparing{display:flex;align-items:center;gap:14px;padding:4px 16px;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:var(--font-body);line-height:1.8;letter-spacing:.04em;text-align:left;min-height:44px}
.announcement-window{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}
.announcement-window::-webkit-scrollbar{display:none}
.announcement-track{display:flex;align-items:center;width:max-content}
.preparing .announcement-copy{display:block;flex:0 0 auto;min-width:calc(100vw - 32px);padding-right:80px;margin:0;white-space:nowrap;font:inherit;font-size:var(--font-body);color:inherit}
.preparing .announcement-copy[aria-hidden="true"]{display:none}
.preparing.is-ready .announcement-window{overflow-x:hidden}
.preparing.is-ready .announcement-copy[aria-hidden="true"]{display:block}
.preparing.is-ready .announcement-track{animation:announcement-scroll var(--announcement-duration,30s) linear infinite}
.announcement-window:hover .announcement-track,.announcement-window:focus-within .announcement-track{animation-play-state:paused}
@keyframes announcement-scroll{to{transform:translateX(-50%)}}
@media(max-width:1199px){
 .header,.home-page.has-scrolled .header{padding-left:18px;padding-right:18px;gap:14px}

 body:not(.home-page) .nav-toggle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;flex:0 0 46px;padding:0;font-size:0}
 body:not(.home-page) .nav-toggle span{display:block;position:relative;width:23px;height:18px;margin:0;font-size:0;background:linear-gradient(to bottom,#f2ecdf 0 1px,transparent 1px 8px,#f2ecdf 8px 9px,transparent 9px 17px,#f2ecdf 17px 18px)}
 body:not(.home-page) .nav-toggle[aria-expanded="true"] span{background:none}
 body:not(.home-page) .nav-toggle[aria-expanded="true"] span::before,body:not(.home-page) .nav-toggle[aria-expanded="true"] span::after{content:"";position:absolute;left:0;top:8px;width:23px;height:1px;background:#f2ecdf;transform:rotate(45deg)}
 body:not(.home-page) .nav-toggle[aria-expanded="true"] span::after{transform:rotate(-45deg)}
}
@media(max-width:600px){.preparing{padding:4px 10px;gap:10px;font-size:var(--font-body)}.past-menu-more{padding-bottom:45px}.past-menu-more .members-cta{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.preparing.is-ready .announcement-track{animation:none}.preparing.is-ready .announcement-window{overflow-x:auto}.preparing.is-ready .announcement-copy[aria-hidden="true"]{display:none}}

#menu-2025{scroll-margin-top:16px}

/* 採用した白縁ロゴは、元画像を変更せず透明な外余白だけ表示枠で省く */
.brand,.event-logo{display:block;position:relative;overflow:hidden;aspect-ratio:2095/330}
.brand,.home-page .brand,.home-page.has-scrolled .brand{flex:0 0 auto;width:clamp(300px,28vw,380px);padding:0;background:transparent}
.brand img,.event-logo img,.home-page .brand img,.home-page.has-scrolled .brand img{position:absolute;left:-1.91%;top:-54.55%;width:103.68%;height:auto;max-width:none;object-fit:contain}
.header,.home-page.has-scrolled .header{min-height:84px}
.gakucho-comment{display:block;width:100%;max-width:430px;height:auto;margin-top:24px}
@media(min-width:1200px){.nav,.home-page.has-scrolled .nav{gap:22px}}
@media(max-width:1199px){.brand,.home-page .brand,.home-page.has-scrolled .brand{width:min(340px,calc(100vw - 110px))}}
@media(max-width:600px){
 .brand,.home-page .brand,.home-page.has-scrolled .brand{width:min(280px,calc(100vw - 110px))}
 .header,.home-page.has-scrolled .header{min-height:68px}
 .gakucho-comment{margin-top:20px;max-width:360px}
 
 
}

/* 共通の小見出し・ページ見出し */
.eyebrow {
  display: var(--section-label-display);
  font-size: var(--font-body);
  font-weight: 400;
  letter-spacing: .16em;
  color: var(--label-color);
  margin-bottom: var(--section-label-gap);
}
.past-menu,.festival,.together,.voices-improvements,.shop-info-section { --label-color: var(--accent-muted); }
.page-title { padding: var(--page-title-space); border-bottom: 1px solid var(--line); }
.page-title h1,.voices-hero .page-title h1,.shop-intro-copy h1 {
  font-family: var(--font-heading);
  font-size: var(--page-title-size);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .04em;
}
.menu-page-main .page-title { --page-title-space: 30px 0 32px; }
.shop-intro-copy h1 { margin-top: 0; }

/* 感想と改善点で使う共通の線画アイコン */
.voice-section-head { display:flex; align-items:center; gap:16px; }
.section-icon { display:block; flex:0 0 48px; width:48px; height:48px; color:var(--green); }
.improvement-icon { color:var(--accent-muted); }
@media(max-width:600px) { .voice-section-head{gap:12px} .section-icon{flex-basis:42px;width:42px;height:42px} }

/* フッター全体は共通の1か所で管理。ロゴの背景だけベージュ。 */
.site-footer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  max-width: none;
  padding: 0;
  background: var(--footer-background);
  color: var(--footer-color);
}
.site-footer::before,.home-news::before {
  content: "";
  display: block;
  width: 100%;
  height: var(--tricolor-height);
  flex: 0 0 var(--tricolor-height);
  background: linear-gradient(to right, var(--green) 0 33.333333%, #fff 33.333333% 66.666667%, var(--red) 66.666667% 100%);
}
.subpage-back { width:100%; margin:0; padding:28px max(var(--gutter),calc((100% - 1280px)/2)) 16px; color:inherit; }
.subpage-back .text-link { color:inherit; }
.subpage-back .text-link:hover { color:#efb4a9; }
.footer-content { display:flex; align-items:center; flex-direction:column; width:100%; padding:var(--footer-space); }
.footer-logo { display:block; width:min(100%,calc(var(--footer-logo-width) + 32px)); padding:12px 16px; background:var(--footer-logo-background); }
.footer-logo img { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
.footer-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; width:100%; max-width:480px; margin-top:24px; }
.footer-button { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; flex:1 1 210px; min-height:50px; padding:12px 18px; border:1px solid var(--footer-muted); color:var(--footer-color); font-size:var(--font-body); line-height:1.6; }
.footer-button:hover { background:var(--footer-color); color:var(--footer-background); }
@media(max-width:600px) { .footer-actions{max-width:320px} .footer-button{flex-basis:100%} }
.site-footer small { font-size:var(--font-body); color:var(--footer-muted); margin-top:18px; text-align:center; line-height:1.8; }

/* 6ページ共通の見出し。端末別に完成済みの一枚絵をそのまま表示する。 */
.illustrated-page-title{--page-title-space:30px 0 22px;border-bottom:0}
.page-illustration{display:block;width:100%;margin-top:6px}
.page-illustration img{display:block;width:100%;height:auto}
.shop-intro-copy h2{font-size:28px;line-height:1.7;font-weight:500;letter-spacing:.04em}
.memberpage .members-controls{justify-content:flex-end}
.memberpage .members{padding-top:20px}
.home-page .preparing{font-family:inherit;font-size:var(--font-body);font-weight:400;letter-spacing:.1em}
@media(max-width:600px){
 .shop-intro-copy h2{font-size:24px}
 .home-page{--home-heading-gap:20px}
 .home-page :is(.food,.past-menu,.members,.together,.memories,.festival){padding-top:var(--home-heading-gap)}
}

/* HistoryのPR動画を本文幅に合わせ、端末ごとの比率を保つ。 */
.retrospect-pr{margin-bottom:40px}
.retrospect-pr h3{font-size:22px;line-height:1.8;letter-spacing:.08em;margin-bottom:17px}
.video-embed{position:relative;width:100%;aspect-ratio:16/9;min-height:200px;background:#333}
.video-embed iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
@media(max-width:600px){.retrospect-pr{margin-bottom:28px}.retrospect-pr h3{font-size:20px}}

/* トップの更新情報。掲載内容はHistoryから公開準備時に最新3件を反映。 */
.home-page .hero-video .home-news{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:26px 38px}
.home-news h2{font-size:24px;letter-spacing:.08em;line-height:1.6;white-space:nowrap}
.home-news-list{list-style:none;padding:0;margin:0;min-width:0}
.home-news-list li+li{border-top:1px solid #ffffff30}
.home-news-list a{display:grid;grid-template-columns:105px minmax(0,1fr);gap:16px;padding:15px 0;font-size:var(--font-body);line-height:1.9}
.home-news-list time{color:var(--footer-muted);white-space:nowrap}
.home-news-list a:hover{color:#efb4a9}
.home-news-more{min-width:185px;width:auto;margin:0;align-self:center;white-space:nowrap}
@media(max-width:900px){.home-page .hero-video .home-news{grid-template-columns:1fr;gap:18px}.home-news h2{font-size:22px}.home-news-more{justify-self:start;margin-top:5px}.home-news-list a{grid-template-columns:100px minmax(0,1fr)}}
@media(max-width:600px){.home-news-list a{grid-template-columns:1fr;gap:3px;padding:14px 0}.home-news-more{width:100%;max-width:320px;justify-self:center}}

/* 更新情報の上端にも、フッターと同じ共通の三色バーを表示。 */
.home-news{position:relative}
.home-news::before{position:absolute;top:0;left:0}
