/* Layout: 夜のサバンナ。ネオンの夕焼けグラデに、サーバルの斑点とスプレーで暴れる縦組みの巨大文字 */
:root{
  --night:#150c22;
  --dusk:#2a1240;
  --violet:#6a1fb0;
  --magenta:#ff3d8b;
  --sunset:#ff8a1f;
  --fur:#f2c14e;
  --lime:#c8ff3a;
  --ink:#fff6ea;
  --mute:#cdbfd9;
  --cyan:#3fe0d0;
  --lav:#b9a8ff;
  --display:"Dela Gothic One","Hiragino Sans","Yu Gothic",sans-serif;
  --latin:"Bowlby One","Arial Black",Impact,sans-serif;
  --body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--night);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.85;overflow-x:clip}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--night)}
a{color:inherit}
img{max-width:100%;display:block;height:auto}
h1,h2,h3{text-wrap:balance;margin:0}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
:focus-visible{outline:3px solid var(--lime);outline-offset:3px}

/* ---------- header ---------- */
.hd{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:linear-gradient(var(--night),rgba(21,12,34,.85));backdrop-filter:blur(8px)}
.hd .wrap{display:flex;align-items:center;gap:24px;padding-block:14px}
.logo{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.logo b{font-family:var(--latin);font-size:26px;letter-spacing:.02em}
.logo span{font-size:10px;letter-spacing:.3em;color:var(--fur);margin-top:4px}
.nav{display:flex;gap:22px;margin-left:auto;font-weight:700;font-size:14px}
.nav a{text-decoration:none;position:relative;padding:4px 0}
.nav a::after{content:"";position:absolute;right:-9px;top:4px;width:6px;height:6px;border-radius:50%;background:var(--lime)}
.nav a:nth-child(2n)::after{background:var(--magenta)}
.nav a:hover{color:var(--fur)}
.btn-rsv{font-family:var(--latin);font-size:15px;letter-spacing:.06em;border:2px solid var(--ink);padding:6px 16px;text-decoration:none;white-space:nowrap}
.btn-rsv:hover{background:var(--ink);color:var(--night)}
.menu-btn{display:none;margin-left:auto;background:none;border:2px solid var(--ink);color:var(--ink);font:700 13px var(--body);padding:6px 12px}
@media (max-width:1180px){
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--dusk);padding:8px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px))}
  .nav.open{display:flex}
  .nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12)}
  .nav a::after{display:none}
  .menu-btn{display:block}
  .hd .btn-rsv{display:none}
}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 2.62vw),0 100%);background:
  radial-gradient(60% 60% at 80% 20%,rgba(255,138,31,.55),transparent 70%),
  linear-gradient(160deg,var(--violet) 0%,#a92bb0 40%,var(--magenta) 70%,var(--sunset) 100%);
  padding-block:40px 0}
.hero .side{position:absolute;top:0;bottom:0;font-family:var(--latin);font-size:clamp(70px,11vw,150px);line-height:.9;color:transparent;-webkit-text-stroke:2px rgba(255,246,234,.28);writing-mode:vertical-rl;pointer-events:none;letter-spacing:.04em}
.hero .side.l{left:-6px;transform:rotate(180deg)}
.hero .side.r{right:-6px}
.hero .grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;align-items:end;gap:20px}
.hero .copy{padding-bottom:56px;position:relative;z-index:2;min-width:0}
.eyebrow{display:inline-block;background:var(--night);color:var(--lime);font-weight:900;font-size:13px;letter-spacing:.2em;padding:4px 12px;transform:rotate(-2deg)}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(46px,8.4vw,112px);line-height:1.08;margin-top:18px;text-shadow:0 6px 0 rgba(21,12,34,.35)}
.hero h1 .s{font-size:.55em;vertical-align:.25em}
.hero h1 .hl{color:var(--night);background:var(--lime);padding:0 .12em;margin-right:.05em;display:inline-block;transform:rotate(-3deg)}
.hero .lead{font-size:clamp(15px,1.6vw,18px);font-weight:700;max-width:30em;margin-top:22px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chips span{border:2px solid var(--ink);padding:3px 12px;font-weight:700;font-size:13px;background:rgba(21,12,34,.25)}
.hero .photo{position:relative;z-index:1;align-self:stretch;display:flex;align-items:flex-end;justify-content:center;min-width:0}
.hero .photo img{width:min(420px,100%);aspect-ratio:406/725;object-fit:cover;clip-path:polygon(8% 0,100% 4%,96% 100%,0 100%);filter:saturate(1.15) contrast(1.05)}
.hero .tag{position:absolute;left:0;bottom:120px;z-index:3;background:var(--night);padding:10px 16px;transform:rotate(-6deg);box-shadow:6px 6px 0 var(--lime)}
.hero .tag b{display:block;font-family:var(--latin);font-size:30px;line-height:1;color:var(--fur)}
.hero .tag small{font-weight:700;font-size:12px}
.spray{position:absolute;pointer-events:none;z-index:1}
@media (max-width:760px){
  .hero .grid{grid-template-columns:1fr}
  .hero .copy{padding-bottom:8px}
  .hero .photo img{width:min(300px,78%)}
  .hero .tag{left:auto;right:4%;bottom:60px}
  .hero .side{font-size:64px}
}

/* ---------- marquee ---------- */
.mq{background:var(--lime);color:var(--night);overflow:hidden;border-block:3px solid var(--night);transform:rotate(-1.5deg);margin-top:calc(-26px - 1.31vw);margin-left:-5vw;width:110vw;position:relative;z-index:4}
.mq div{display:flex;width:max-content;animation:mq 26s linear infinite}
.mq span{font-family:var(--latin);font-size:22px;padding:8px 18px;white-space:nowrap}
.mq span:nth-child(3n+2){font-family:var(--display);font-size:20px}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- section common ---------- */
section.sec{padding-block:96px;position:relative}
.label{display:flex;align-items:center;gap:14px;font-family:var(--latin);font-size:15px;letter-spacing:.14em;color:var(--fur)}
.label::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--magenta);box-shadow:16px 0 0 var(--lime)}
.label::before{margin-right:16px}
.h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,5.6vw,72px);line-height:1.15;margin-top:14px}
.h2 em{font-style:normal;color:var(--magenta)}
.txt{max-width:36em;color:var(--mute);margin-top:22px}
.txt strong{color:var(--ink)}
.more{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-weight:900;text-decoration:none;border-bottom:3px solid var(--lime);padding-bottom:2px}
.more::after{content:"→";color:var(--lime)}
.more-row{display:flex;flex-wrap:wrap;gap:0 28px;margin-top:28px}.more-row .more{margin-top:12px;white-space:nowrap}

/* spots band */
.spots{background-color:var(--fur);background-image:
  radial-gradient(ellipse 10px 8px at 20px 18px,#2b1a0d 98%,transparent),
  radial-gradient(ellipse 6px 9px at 62px 40px,#2b1a0d 98%,transparent),
  radial-gradient(ellipse 9px 6px at 38px 70px,#2b1a0d 98%,transparent),
  radial-gradient(ellipse 5px 5px at 80px 82px,#2b1a0d 98%,transparent),
  radial-gradient(ellipse 7px 10px at 8px 58px,#2b1a0d 98%,transparent);
  background-size:96px 96px}

/* ---------- concept ---------- */
.concept .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.concept .pics{position:relative;min-height:440px}
.concept .pics img{position:absolute;object-fit:cover}
.concept .pics .a{width:78%;aspect-ratio:1091/725;top:0;right:0;transform:rotate(2deg);border:6px solid var(--ink)}
.concept .pics .b{width:62%;aspect-ratio:1100/616;bottom:0;left:0;transform:rotate(-3deg);border:6px solid var(--ink)}
.concept .pics .st{position:absolute;right:6%;bottom:12%;z-index:2;font-family:var(--display);background:var(--magenta);padding:6px 14px;transform:rotate(4deg);font-size:15px}
.concept .copy{min-width:0}
@media (max-width:860px){.concept .grid{grid-template-columns:1fr}.concept .pics{min-height:0;aspect-ratio:1/0.95}}

/* ---------- serval ---------- */
.serval{background:var(--dusk);overflow:hidden}
.serval .big{position:absolute;right:-20px;top:30px;font-family:var(--latin);font-size:clamp(90px,17vw,240px);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(242,193,78,.22);pointer-events:none}
.serval .row{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;margin-top:40px}
.serval .row > *{min-width:0}
.serval .duo{width:100%;aspect-ratio:1034/725;object-fit:cover;clip-path:polygon(0 6%,100% 0,97% 100%,3% 94%)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.fact{border-top:4px solid var(--fur);padding-top:12px}
.fact b{font-family:var(--latin);font-size:clamp(40px,5vw,64px);line-height:1;color:var(--fur);font-variant-numeric:tabular-nums}
.fact b small{font-size:.4em;margin-left:4px}
.fact p{margin:6px 0 0;font-size:14px;color:var(--mute);line-height:1.6}
@media (max-width:860px){.serval .row{grid-template-columns:1fr}}
@media (max-width:520px){.facts{gap:10px}.fact b{font-size:30px}.fact p{font-size:12px;line-height:1.55}}

/* ---------- food ---------- */
.food .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.food .note{font-weight:700;font-size:14px;border:2px dashed var(--fur);padding:8px 14px;color:var(--fur)}
.dishes{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;margin-top:44px}
.dish{position:relative;overflow:hidden;background:#000;min-width:0}
.dish img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.dish:hover img{transform:scale(1.05)}
.dish .cap{position:absolute;left:0;right:0;bottom:0;padding:48px 18px 16px;background:linear-gradient(transparent,rgba(21,12,34,.92))}
.dish .no{position:absolute;top:12px;left:12px;background:var(--lime);color:var(--night);font-weight:900;font-size:12px;padding:2px 10px}
.dish h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2.2vw,28px);line-height:1.3}
.dish .pr{font-family:var(--latin);color:var(--fur);font-size:20px;font-variant-numeric:tabular-nums}
.dish .pr small{font-family:var(--body);font-size:12px;color:var(--mute);margin-left:6px}
.dish p{margin:4px 0 0;font-size:13px;color:var(--mute);line-height:1.6}
.d1{grid-column:span 7;aspect-ratio:16/10}
.d2{grid-column:span 5}
.d3{grid-column:span 5}
.d4{grid-column:span 7;aspect-ratio:16/10}
.drinks{margin-top:40px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:2px solid rgba(255,246,234,.2)}
.drinks div{padding:16px 18px;border-right:2px solid rgba(255,246,234,.2);min-width:0}
.drinks div:last-child{border-right:0}
.drinks b{display:block;font-size:15px}
.drinks span{font-family:var(--latin);color:var(--fur);font-variant-numeric:tabular-nums}
@media (max-width:860px){
  .d1,.d2,.d3,.d4{grid-column:span 12;aspect-ratio:16/11}
  .drinks{grid-template-columns:1fr 1fr}
  .drinks div:nth-child(2){border-right:0}
  .drinks div:nth-child(-n+2){border-bottom:2px solid rgba(255,246,234,.2)}
}

/* ---------- crew ---------- */
.crew{background:linear-gradient(170deg,var(--magenta),var(--sunset));color:var(--night)}
.crew .grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.crew .grid > *{min-width:0}
.crew .label{color:var(--night)}
.crew .txt{color:#3b1530}
.crew .txt strong{color:var(--night)}
.crew .h2 em{color:var(--ink)}
.roles{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.roles span{background:var(--night);color:var(--ink);font-weight:900;font-size:14px;padding:6px 14px}
.roles span:nth-child(odd){transform:rotate(-2deg)}
.roles span:nth-child(3n){background:var(--ink);color:var(--night)}
.crew .pics{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;align-items:end}
.crew .pics img{width:100%;object-fit:cover;border:5px solid var(--night)}
.crew .pics .f{aspect-ratio:407/725}
.crew .pics .t{aspect-ratio:969/725}
.crew .pics figcaption{font-weight:900;font-size:13px;margin-top:6px}
.crew .more{border-color:var(--night)}
.crew .more::after{color:var(--night)}
@media (max-width:860px){.crew .grid{grid-template-columns:1fr}}

/* ---------- news ---------- */
.news ul{list-style:none;padding:0;margin:36px 0 0;border-top:2px solid rgba(255,246,234,.2)}
.news li{display:grid;grid-template-columns:120px 140px 1fr;gap:16px;align-items:baseline;padding:20px 0;border-bottom:2px solid rgba(255,246,234,.2)}
.news time{font-family:var(--latin);color:var(--fur);font-variant-numeric:tabular-nums}
.news .cat{font-size:12px;font-weight:900;border:2px solid var(--lime);color:var(--lime);padding:0 8px;justify-self:start}
.news a{font-weight:700;text-decoration:none;min-width:0}
.news a:hover{color:var(--magenta)}
@media (max-width:640px){.news li{grid-template-columns:auto 1fr;row-gap:6px}.news a{grid-column:1/-1}}

/* ---------- faq ---------- */
.faq{background:var(--dusk)}
.qa{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.qa details{background:var(--night);padding:18px 20px;border-left:6px solid var(--fur);min-width:0}
.qa summary{cursor:pointer;font-weight:900;list-style:none;display:flex;gap:12px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{content:"Q";font-family:var(--latin);color:var(--magenta)}
.qa details p{margin:10px 0 0;color:var(--mute);font-size:15px}
@media (max-width:760px){.qa{grid-template-columns:1fr}}

/* ---------- access ---------- */
.access .grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:36px}
.access .grid > *{min-width:0}
.info{display:grid;gap:0;margin:0}
.info div{display:grid;grid-template-columns:7.5em 1fr;gap:12px;padding:14px 0;border-bottom:2px solid rgba(255,246,234,.15)}
.info dt{font-weight:900;color:var(--fur)}
.info dd{margin:0}
.info small{color:var(--mute)}
.info a.ext{color:var(--lime);text-underline-offset:3px}
.hours{background:var(--fur);color:var(--night);padding:28px;position:relative}
.hours h3{font-family:var(--display);font-weight:400;font-size:24px}
.hours table{width:100%;border-collapse:collapse;margin-top:14px;font-variant-numeric:tabular-nums}
.hours td{padding:10px 0;border-bottom:2px solid rgba(21,12,34,.2);font-weight:700}
.hours td:last-child{text-align:right;font-family:var(--latin);font-size:22px}
.hours tr.closed td:last-child{font-family:inherit;font-size:18px;font-weight:900;white-space:nowrap}
.hours p{font-size:13px;margin:12px 0 0;font-weight:700}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.cta a{flex:1 1 200px;text-align:center;font-weight:900;text-decoration:none;padding:16px;border:3px solid var(--night)}
.cta a.p{background:var(--night);color:var(--ink)}
@media (max-width:860px){.access .grid{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.ft{overflow:hidden;background:#0c0714;padding-block:56px 40px;font-size:13px;color:var(--mute)}
.ft .big{font-family:var(--latin);font-size:clamp(56px,13vw,180px);line-height:.9;color:transparent;-webkit-text-stroke:2px var(--magenta);letter-spacing:.02em}
.ft .row{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;margin-top:28px}
.ft nav{display:flex;flex-wrap:wrap;gap:8px 20px}
.ft nav a{white-space:nowrap}
.ft a{text-decoration:none}
.ft a:hover{color:var(--lime)}
.ft-rel{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,246,234,.12);font-size:12px}
.ft-rel span{font-weight:900;color:var(--fur)}
.ft-rel a{white-space:nowrap;opacity:.85}

/* floating reserve on phones */
.float{display:none}
@media (max-width:860px){
  .float{display:block;position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--lime);color:var(--night);font-weight:900;text-decoration:none;padding:12px 18px;box-shadow:4px 4px 0 var(--night)}
}

/* ---------- motion ---------- */
.loader{display:none}
.anim .loader{display:flex;position:fixed;inset:0;z-index:100;background:var(--night);flex-direction:column;align-items:center;justify-content:center;gap:18px;clip-path:inset(0 0 0 0);animation:ldOut .9s cubic-bezier(.77,0,.18,1) 1.5s forwards}
.ld-word{display:flex;font-family:var(--latin);font-size:clamp(64px,16vw,170px);line-height:1}
.ld-word span{display:inline-block;animation:ldIn .7s cubic-bezier(.2,1.5,.4,1) both;animation-delay:calc(var(--i)*90ms)}
.ld-word span:nth-child(1){color:var(--magenta)}
.ld-word span:nth-child(2){color:var(--lime)}
.ld-word span:nth-child(3){color:var(--fur)}
.ld-word span:nth-child(4){color:var(--ink)}
.ld-word span:nth-child(5){color:var(--sunset)}
.ld-spots{display:flex;gap:12px}
.ld-spots i{width:14px;height:10px;border-radius:50%;background:var(--fur);animation:spot .5s ease-in-out infinite alternate}
.ld-spots i:nth-child(2){animation-delay:.1s}.ld-spots i:nth-child(3){animation-delay:.2s}.ld-spots i:nth-child(4){animation-delay:.3s}.ld-spots i:nth-child(5){animation-delay:.4s}
.ld-sub{font-weight:900;letter-spacing:.3em;font-size:12px;color:var(--mute);animation:fadeIn .6s .5s both}
@keyframes ldIn{from{opacity:0;transform:translateY(60%) rotate(-14deg) scale(.6)}}
@keyframes ldOut{to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@keyframes spot{to{transform:translateY(-8px) scale(1.2)}}
@keyframes fadeIn{from{opacity:0}}

.anim .hero{background-size:100% 100%,240% 240%;animation:grad 14s ease-in-out infinite alternate}
@keyframes grad{from{background-position:0 0,0% 0%}to{background-position:0 0,100% 100%}}
.anim .hero .side{animation:sideRun 26s ease-in-out infinite alternate}
@keyframes sideRun{to{translate:0 -45%}}
.anim .hero h1 .ch{display:inline-block;animation:chIn .8s cubic-bezier(.2,1.6,.4,1) both;animation-delay:calc(1.7s + var(--i)*60ms)}
@keyframes chIn{from{opacity:0;transform:translateY(.7em) rotate(18deg) scale(.4)}}
.anim .hero .eyebrow{animation:popIn .6s cubic-bezier(.2,1.6,.4,1) 1.6s both}
@keyframes popIn{from{opacity:0;transform:scale(.3) rotate(-12deg)}}
.anim .hero .lead{animation:upIn .9s ease 2.4s both}
.anim .chips span{animation:upIn .6s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(2.6s + var(--i)*100ms)}
@keyframes upIn{from{opacity:0;translate:0 30px}}
.anim .hero .photo img{animation:wipe 1.1s cubic-bezier(.77,0,.18,1) 1.7s both}
@keyframes wipe{from{clip-path:polygon(8% 100%,100% 100%,96% 100%,0 100%)}}
.anim .hero .tag{animation:tagIn .7s cubic-bezier(.2,1.6,.4,1) 2.6s both}
@keyframes tagIn{from{opacity:0;transform:translateX(-60px) rotate(-30deg)}}
.anim .spray{animation:splat .5s cubic-bezier(.2,1.8,.4,1) 2.2s both,floaty 5s ease-in-out 2.7s infinite alternate}
.anim .spray.s2{animation-delay:2.45s,3s}
@keyframes splat{from{transform:scale(0)}}
@keyframes floaty{to{translate:0 -14px;rotate:6deg}}

.anim [data-r]{opacity:0;translate:0 40px;transition:opacity .8s ease,translate 1s cubic-bezier(.2,.9,.3,1);transition-delay:var(--d,0s)}
.anim [data-r].in{opacity:1;translate:none}
.anim .h2[data-r]{opacity:1;translate:none}
.anim .h2 .ch{display:inline-block;opacity:0;translate:0 .5em;rotate:10deg;transition:opacity .5s,translate .7s cubic-bezier(.2,1.5,.4,1),rotate .7s;transition-delay:calc(var(--i)*35ms)}
.anim .h2.in .ch{opacity:1;translate:none;rotate:none}
.anim .dish[data-r]{opacity:1;translate:none}
.anim .dish[data-r] img{clip-path:inset(100% 0 0 0);scale:1.25;transition:clip-path 1.1s cubic-bezier(.77,0,.18,1),scale 1.6s cubic-bezier(.2,.9,.3,1),transform .5s;transition-delay:var(--d,0s),var(--d,0s),0s}
.anim .dish[data-r].in img{clip-path:inset(0 0 0 0);scale:1}
.anim .dish[data-r] .cap,.anim .dish[data-r] .no{opacity:0;transition:opacity .6s ease;transition-delay:calc(var(--d,0s) + .6s)}
.anim .dish[data-r].in .cap,.anim .dish[data-r].in .no{opacity:1}

.more::after{transition:translate .3s}
.more:hover::after{translate:6px 0}
.cur{position:fixed;left:0;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--lime);pointer-events:none;z-index:300;mix-blend-mode:difference;transition:width .25s,height .25s,margin .25s}
.cur.big{width:64px;height:64px;margin:-32px 0 0 -32px}

@media (prefers-reduced-motion:reduce){
  .cur{display:none}
  html{scroll-behavior:auto}
  .mq div{animation:none}
  .dish img{transition:none}
}

/* ---------- sub pages ---------- */
.nav a.on{color:var(--fur)}
.phero{position:relative;overflow:hidden;background:radial-gradient(60% 70% at 85% 10%,rgba(255,138,31,.5),transparent 70%),linear-gradient(160deg,var(--violet) 0%,#a92bb0 45%,var(--magenta) 80%,var(--sunset) 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - 2.62vw),0 100%);padding-block:56px calc(80px + 2.62vw)}
.phero .en{position:absolute;right:-8px;bottom:calc(2.62vw - .14em);font-family:var(--latin);font-size:clamp(76px,17vw,250px);line-height:1;color:transparent;-webkit-text-stroke:2px rgba(255,246,234,.3);pointer-events:none;white-space:nowrap}
.crumb{font-size:12px;font-weight:700;letter-spacing:.1em;color:rgba(255,246,234,.85)}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--lime)}
.phero h1{position:relative;font-family:var(--display);font-weight:400;font-size:clamp(38px,6.6vw,92px);line-height:1.12;margin-top:16px;text-shadow:0 6px 0 rgba(21,12,34,.3)}
.phero p{position:relative;max-width:34em;font-weight:700;margin-top:18px}
.anim .phero{background-size:100% 100%,240% 240%;animation:grad 14s ease-in-out infinite alternate}
.anim .phero h1 .ch{display:inline-block;animation:chIn .8s cubic-bezier(.2,1.6,.4,1) both;animation-delay:calc(.15s + var(--i)*50ms)}
.anim .phero p,.anim .phero .subnav{animation:upIn .8s ease .7s both}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split > *{min-width:0}
.split.rev > :first-child{order:2}
.split + .split{margin-top:96px}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:32px}.split.rev > :first-child{order:0}}
.ph{width:100%;object-fit:cover;border:6px solid var(--ink)}
.tilt-l{transform:rotate(-2deg)}
.tilt-r{transform:rotate(2deg)}
.ph.tall{max-height:640px;width:auto;max-width:100%;margin-inline:auto}

.subnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;position:relative}
.subnav a{border:2px solid var(--ink);padding:6px 16px;font-weight:900;text-decoration:none;font-size:14px;background:rgba(21,12,34,.2)}
.subnav a:hover{background:var(--ink);color:var(--night)}

.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
.strip img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:760px){.strip{grid-template-columns:1fr 1fr}.strip img:first-child{grid-column:1/-1}}

.mlist{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:1fr 1fr;column-gap:48px;border-top:2px solid rgba(255,246,234,.15)}
.mlist li{padding:18px 0;border-bottom:2px solid rgba(255,246,234,.15);min-width:0}
.mlist .r{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.mlist b{font-size:17px}
.mlist .pr{font-family:var(--latin);color:var(--fur);white-space:nowrap;font-variant-numeric:tabular-nums}
.mlist .pr small{font-family:var(--body);font-size:11px;color:var(--mute);margin-left:4px}
.mlist p{margin:4px 0 0;font-size:14px;color:var(--mute);line-height:1.7}
.badge{display:inline-block;background:var(--lime);color:var(--night);font-size:11px;font-weight:900;padding:0 8px;margin-left:8px;vertical-align:2px}
@media (max-width:760px){.mlist{grid-template-columns:1fr}}

.box{background:var(--dusk);padding:24px 28px;border-left:6px solid var(--magenta);margin-top:32px}
.box p{margin:0;color:var(--mute)}
.box p + p{margin-top:8px}
.box strong{color:var(--ink)}
.rules{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rules li{display:flex;gap:16px;align-items:flex-start;background:var(--night);padding:18px 20px;min-width:0}
.rules li b{font-family:var(--latin);color:var(--lime);font-size:22px;line-height:1.3;flex:none}
.rules li div{min-width:0}
.rules li strong{display:block}
.rules li span{color:var(--mute);font-size:14px}
@media (max-width:760px){.rules{grid-template-columns:1fr}}

.next-wrap{background:var(--lime);color:var(--night)}
.next{display:grid;grid-template-columns:repeat(3,1fr)}
.next a{position:relative;display:block;padding:44px 64px 44px 24px;text-decoration:none;border-right:2px solid rgba(21,12,34,.25);min-width:0;transition:background .3s}
.next a:last-child{border-right:0}
.next a:hover{background:rgba(21,12,34,.08)}
.next small{font-family:var(--latin);letter-spacing:.14em;font-size:13px}
.next b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(22px,2.6vw,32px);margin-top:4px}
.next a::after{content:"→";position:absolute;right:24px;top:50%;margin-top:-.6em;font-size:28px;transition:translate .3s}
.next a:hover::after{translate:8px 0}
@media (max-width:760px){.next{grid-template-columns:1fr}.next a{border-right:0;border-bottom:2px solid rgba(21,12,34,.25);padding-block:28px}}
.more.solid{background:var(--lime);color:var(--night);border:0;padding:12px 22px}
.more.solid::after{color:var(--night)}
.facts.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:860px){.facts.four{grid-template-columns:1fr 1fr}}

/* 上へ戻るボタン */
.totop{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:45;width:60px;height:60px;border-radius:50%;border:3px solid var(--night);background:var(--magenta);color:var(--ink);box-shadow:4px 4px 0 var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;cursor:pointer;opacity:0;translate:0 24px;pointer-events:none;transition:opacity .35s,translate .45s cubic-bezier(.2,1.6,.4,1),rotate .25s,background .25s,color .25s}
.totop span{font-size:22px;font-weight:900}
.totop small{font-family:var(--latin);font-size:10px;letter-spacing:.08em;margin-top:2px}
.totop.show{opacity:1;translate:none;pointer-events:auto}
.totop:hover{background:var(--lime);color:var(--night);rotate:-10deg}
.totop:hover span{animation:ttHop .5s ease infinite alternate}
@keyframes ttHop{to{transform:translateY(-4px)}}
@media (max-width:860px){.totop{width:52px;height:52px;bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
@media (prefers-reduced-motion:reduce){.totop,.totop span{transition:none;animation:none}}

/* ---------- history timeline ---------- */
.history{background:var(--night);overflow:hidden;border-top:2px solid rgba(255,246,234,.08)}
.tl-ctrl{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:32px}
.tl-filters{display:flex;flex-wrap:wrap;gap:8px}
.tl-f{display:inline-flex;align-items:center;gap:8px;border:2px solid rgba(255,246,234,.28);background:none;color:var(--ink);font:900 13px var(--body);letter-spacing:.06em;padding:6px 14px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.tl-f i{width:10px;height:10px;background:var(--c)}
.tl-f:hover{border-color:var(--ink)}
.tl-f[aria-pressed="true"]{background:var(--ink);color:var(--night);border-color:var(--ink)}
.tl-arr{display:flex;gap:8px}
.tl-arr button{width:46px;height:46px;border:2px solid var(--ink);background:none;color:var(--ink);font-size:20px;font-weight:900;cursor:pointer}
.tl-arr button:hover{background:var(--lime);color:var(--night);border-color:var(--lime)}
.tl-scroller{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;margin-top:30px;padding-block:10px 26px;padding-left:max(16px,env(safe-area-inset-left,0px),calc((100vw - 1200px)/2 + 16px));padding-right:max(16px,env(safe-area-inset-right,0px));scroll-padding-left:max(16px,calc((100vw - 1200px)/2 + 16px));scrollbar-width:thin;scrollbar-color:var(--magenta) transparent;cursor:grab}
.tl-scroller.drag{cursor:grabbing;scroll-snap-type:none;user-select:none}
.tl{list-style:none;margin:0;padding:0;display:flex;width:max-content}
.tl-year{position:relative;flex:none;width:250px;padding:46px 24px 0 0;scroll-snap-align:start;transition:opacity .4s}
.tl-year.wide{width:500px}
.tl-year::before{content:"";position:absolute;left:0;right:0;top:15px;height:3px;background:linear-gradient(90deg,var(--yc),var(--yc2));transform-origin:left}
.tl-year::after{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border:3px solid var(--yc);background:var(--night);transform:rotate(45deg)}
.tl-year h3{font-family:var(--latin);font-weight:400;font-size:46px;line-height:1;letter-spacing:.01em}
.tl-year h3 span{color:var(--yc)}
.tl-year.tl-next h3{color:var(--magenta)}
.tl-list{list-style:none;margin:18px 0 0;padding:0;border-left:2px dashed rgba(255,246,234,.16);display:grid;gap:18px;align-content:start}
.tl-year.wide .tl-list{grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(var(--rows),auto);column-gap:14px}
.tl-it{position:relative;display:flex;gap:10px;padding-left:16px;min-width:0}
.tl-it::before{content:"";position:absolute;left:-2px;top:11px;width:10px;height:2px;background:var(--c)}
.tl-it > div{min-width:0}
.tl-it[data-c="cafe"]{--c:var(--cyan)}
.tl-it[data-c="apparel"]{--c:var(--sunset)}
.tl-it[data-c="media"]{--c:var(--lav)}
.tl-it[data-c="event"]{--c:var(--fur)}
.tl-it[data-c="all"]{--c:var(--magenta)}
.ic{width:20px;height:20px;flex:none;margin-top:2px;fill:none;stroke:var(--mute);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tl-it .m{display:block;font-weight:900;font-size:12px;color:var(--c);letter-spacing:.04em}
.tl-it b{display:block;font-size:15px;line-height:1.45}
.tl-it small{display:block;color:var(--mute);font-size:12px;line-height:1.6;margin-top:2px}
.tl-it.feat{margin-left:10px;padding:14px 14px 16px 16px;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 10%,transparent);box-shadow:0 0 28px color-mix(in srgb,var(--c) 22%,transparent)}
.tl-it.feat::before{left:-12px;top:22px}
.tl-it.feat .ic{stroke:var(--c);width:24px;height:24px}
.tl-it.feat b{font-size:20px;line-height:1.3}
.tl-it.feat small{color:var(--c)}
.fb{display:inline-block;background:var(--c);color:var(--night);font-family:var(--latin);font-size:11px;letter-spacing:.12em;padding:1px 9px;margin:6px 0}
.tl-it[hidden]{display:none!important}
.tl-year.empty{opacity:.3}
.tl-hint{margin:0;font-size:12px;font-weight:700;color:var(--mute);letter-spacing:.1em}
.anim .tl-year[data-r]::before{scale:0 1;transition:scale 1.1s cubic-bezier(.7,0,.2,1);transition-delay:calc(var(--d,0s) + .1s)}
.anim .tl-year[data-r].in::before{scale:1 1}
.tl-it.pop{animation:tlPop .45s cubic-bezier(.2,1.5,.4,1) both}
@keyframes tlPop{from{opacity:0;transform:translateY(10px) scale(.96)}}
@media (max-width:760px){
  .tl-year,.tl-year.wide{width:78vw}
  .tl-year.wide .tl-list{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none}
  .tl-arr{display:none}
}
@media (prefers-reduced-motion:reduce){.tl-it.pop{animation:none}}

/* 年表：スライドなしで全体表示 */
.tl-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:24px;font-weight:900;font-size:13px}
.tl-legend span{display:inline-flex;align-items:center;gap:8px}
.tl-legend i{width:10px;height:10px;background:var(--c)}
.history .tl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:auto;margin-top:40px;row-gap:48px}
.history .tl-year{width:auto;padding-right:18px}
.history .tl-year h3{font-size:clamp(34px,3.4vw,46px)}
@media (max-width:1000px){.history .tl{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .history .tl{grid-template-columns:1fr;row-gap:0}
  .history .tl-year{padding:0 0 36px 36px}
  .history .tl-year::before{left:6px;right:auto;top:10px;bottom:0;width:3px;height:auto;background:linear-gradient(180deg,var(--yc),var(--yc2));transform-origin:top}
  .history .tl-year::after{left:0;top:4px}
  .history .tl-year h3{font-size:36px}
  .history .tl-list{border-left:0;margin-top:12px}
  .history .tl-it{padding-left:0}
  .history .tl-it::before{display:none}
  .history .tl-it.feat{margin-left:0}
  .anim .history .tl-year[data-r]::before{scale:1 0}
  .anim .history .tl-year[data-r].in::before{scale:1 1}
}
.history .tl-year{min-width:0}
.history .tl-year.tl-next h3{font-size:clamp(28px,2.7vw,40px)}
@media (min-width:641px){.history .tl-it.feat b{font-size:17px}.history .tl-it.feat{padding:12px}}

/* Instagram */
.ig{display:flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;color:var(--ink);border-radius:50%;transition:color .2s,background .2s,rotate .3s}
.ig svg,.ft-ig svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.ig svg .dot,.ft-ig svg .dot{fill:currentColor;stroke:none}
.ig:hover{background:linear-gradient(45deg,var(--sunset),var(--magenta),var(--violet));rotate:-10deg}
.ft-ig{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.ft-ig svg{width:16px;height:16px}
@media (max-width:860px){.ig{margin-left:4px}}

/* 年表をコンパクトに */
.history.sec{padding-block:80px}
.history .tl{margin-top:28px;row-gap:32px}
.history .tl-year{padding-top:40px}
.history .tl-year h3{font-size:clamp(30px,2.8vw,40px)}
.history .tl-list{margin-top:10px;gap:10px}
.history .tl-it .m{display:inline-block;margin-right:6px}
.history .tl-it b{display:inline;font-size:14px}
.history .tl-it small{margin-top:0;line-height:1.5}
.history .tl-it::before{top:9px}
.history .tl-it.feat{padding:10px 12px}
.history .tl-it.feat b{display:block;font-size:17px}
.history .fb{margin:4px 0}
@media (min-width:1001px){
  .history .tl{grid-template-columns:1.1fr 1fr 1fr 1.9fr 1fr .9fr}
  .history .tl-year.wide .tl-list{grid-template-columns:1fr 1fr;grid-auto-flow:column;grid-template-rows:repeat(var(--rows),auto);column-gap:14px}
}
@media (max-width:1000px){.history .tl-year.wide .tl-list{grid-template-columns:1fr;grid-auto-flow:row;grid-template-rows:none}}
@media (max-width:640px){.history .tl-year{padding:0 0 22px 36px}.history .tl-year h3{font-size:30px}}
.history .tl-it > div{line-height:1.5}
@media (min-width:1001px){.history .tl{grid-template-columns:1.05fr .95fr .95fr 2.3fr .95fr .85fr}}

/* ---------- 写真・動画 ---------- */
.vid{position:relative;min-width:0}
.vid video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}
.serval .vid video.duo{aspect-ratio:16/9}
.rec{position:absolute;left:14px;top:12px;background:var(--night);color:var(--magenta);font-family:var(--latin);font-size:12px;letter-spacing:.12em;padding:3px 10px;animation:recBlink 1.6s steps(2) infinite}
@keyframes recBlink{50%{color:var(--ink)}}
.vh{font-family:var(--display);font-weight:400;font-size:clamp(24px,3vw,34px)}

.photoband{position:relative;overflow:hidden;background:var(--night);padding-block:56px 40px}
.photoband .track{display:flex;align-items:center;gap:18px;width:max-content;animation:pb 70s linear infinite}
.photoband:hover .track{animation-play-state:paused}
.photoband img{height:clamp(180px,24vw,320px);width:auto;max-width:none;flex:none;object-fit:cover;border:5px solid var(--ink)}
.photoband img:nth-child(odd),.photoband span img:nth-child(odd){rotate:-2deg}
.photoband img:nth-child(even),.photoband span img:nth-child(even){rotate:2deg;margin-top:30px}
.pb-link{margin-top:14px}
@keyframes pb{to{transform:translateX(-50%)}}

.gal{columns:3 240px;column-gap:14px;margin-top:40px}
.gal figure{margin:0 0 14px;break-inside:avoid;overflow:hidden;background:#000}
.gal img{width:100%;height:auto;transition:transform .5s,opacity .3s;cursor:zoom-in}
.gal figure:hover img{transform:scale(1.04)}
[data-lb]{cursor:zoom-in}

.odv{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;margin-top:32px}
.odv img{width:100%;height:100%;object-fit:cover;border:4px solid var(--night)}
.odv .big1{grid-row:1/3;aspect-ratio:16/10}
@media (max-width:640px){.odv{grid-template-columns:1fr 1fr;grid-template-rows:auto}.odv .big1{grid-column:1/-1;grid-row:auto}}
.strip{grid-template-columns:repeat(3,1fr)}

.lb{position:fixed;inset:0;z-index:400;background:rgba(10,6,16,.92);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));cursor:zoom-out;animation:fadeIn .25s ease}
.lb img{max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 20px 60px rgba(0,0,0,.6);animation:lbIn .35s cubic-bezier(.2,1.4,.4,1)}
.lb button{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px));width:48px;height:48px;border:2px solid var(--ink);background:var(--night);color:var(--ink);font-size:22px;cursor:pointer}
@keyframes lbIn{from{transform:scale(.9);opacity:0}}
@media (prefers-reduced-motion:reduce){.photoband .track{animation:none}.photoband{overflow-x:auto}.rec{animation:none}}
@media (max-width:760px){.strip img:first-child{grid-column:auto}}
.facade{margin:0 0 40px;position:relative}
.facade img{width:100%;aspect-ratio:21/9;object-fit:cover;border:6px solid var(--ink)}
.facade figcaption{position:absolute;left:18px;bottom:18px;background:var(--night);color:var(--ink);font-weight:900;font-size:13px;padding:6px 12px;box-shadow:4px 4px 0 var(--lime)}
.access .h2 + .facade{margin-top:28px}
@media (max-width:640px){.facade img{aspect-ratio:16/10}.facade figcaption{position:static;display:inline-block;margin-top:10px}}
@media (max-width:640px){.gal{columns:2;column-gap:8px}.gal figure{margin-bottom:8px}}
.kit{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px;align-items:end;margin-top:36px}
.kit figure,.dgrid figure,.rpics figure{margin:0;min-width:0}
.kit img{width:100%;aspect-ratio:3/4;object-fit:cover}
.kit-txt{align-self:center;min-width:0}
@media (max-width:760px){.kit{grid-template-columns:repeat(3,1fr)}.kit-txt{grid-column:1/-1}}
.gal.g4{columns:4 200px}
.dgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}
.dgrid img{width:100%;aspect-ratio:3/4;object-fit:cover}
.dgrid figcaption,.rpics figcaption{font-weight:900;font-size:13px;margin-top:6px}
@media (max-width:760px){.dgrid{grid-template-columns:1fr 1fr}}
.rpics{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.rpics img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media (max-width:560px){.rpics{grid-template-columns:1fr}}

/* 本気の料理 */
.honki{background:#050307;padding-block:90px;position:relative;overflow:hidden}
.honki .wrap{position:relative;display:grid;gap:28px;justify-items:center}
.hk-v{position:absolute;left:max(16px,env(safe-area-inset-left,0px));top:0;margin:0;writing-mode:vertical-rl;font-family:var(--display);font-size:clamp(22px,2.6vw,34px);letter-spacing:.2em;color:#fff;text-shadow:0 0 18px rgba(255,255,255,.45)}
.honki figure{margin:0;width:min(860px,100%)}
.honki img{width:100%;-webkit-mask-image:radial-gradient(ellipse 75% 85% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 75% 85% at 50% 50%,#000 60%,transparent 100%)}
.hk-h{font-family:"Zen Kaku Gothic New",serif;font-weight:900;text-align:center;font-size:clamp(26px,4.4vw,56px);line-height:1.35;color:#fff;letter-spacing:.04em;text-shadow:0 0 22px rgba(255,255,255,.55),0 0 2px #fff}
.hk-h span{font-family:var(--latin);font-weight:400;letter-spacing:.02em}
.hk-h .sp{display:none}
.hk-cap{display:flex;flex-wrap:wrap;gap:10px 40px;justify-content:center;color:var(--mute);font-size:14px}
.hk-cap p{margin:0;display:flex;gap:10px}
.hk-cap b{color:#fff}
.hk-cap span{font-family:var(--latin);color:var(--fur)}
@media (max-width:640px){.hk-h .sp{display:inline}.hk-v{position:static;writing-mode:horizontal-tb;font-size:18px;letter-spacing:.3em}.honki{padding-block:64px}}
.anim .honki figure[data-r]{opacity:0;translate:0 0;scale:1.08;filter:brightness(0);transition:opacity 1.2s ease,scale 1.6s cubic-bezier(.2,.9,.3,1),filter 1.4s ease}
.anim .honki figure[data-r].in{opacity:1;scale:1;filter:brightness(1)}
.anim .honki .hk-b[data-r]{transition-delay:.5s}
.anim .honki .hk-h[data-r]{transition-delay:.25s}
.honki figure{position:relative}
.honki figure::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 80% at 50% 50%,transparent 55%,#050307 100%),linear-gradient(90deg,#050307,transparent 12%,transparent 88%,#050307),linear-gradient(#050307,transparent 14%,transparent 86%,#050307)}
.hk-v{text-orientation:upright}

/* メニューカード */
.mcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px}
.mc{background:var(--dusk);display:flex;flex-direction:column;min-width:0;border:2px solid rgba(255,246,234,.08);transition:border-color .3s,translate .3s}
.mc:hover{border-color:var(--fur);translate:0 -4px}
.mc-img{position:relative;overflow:hidden;background:#000}
.mc-img img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}
.mc:hover .mc-img img{transform:scale(1.05)}
.mc-badge{position:absolute;left:12px;top:12px;background:var(--lime);color:var(--night);font-weight:900;font-size:12px;padding:2px 10px}
.mc-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1;min-width:0}
.mc h3{font-family:var(--display);font-weight:400;font-size:20px;line-height:1.4}
.mc-en{margin:2px 0 0;font-size:11px;color:var(--fur);letter-spacing:.04em}
.mc-desc{margin:10px 0 0;font-size:13.5px;color:var(--mute);line-height:1.7;flex:1}
.mc-foot{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 12px;margin-top:14px;padding-top:12px;border-top:1px dashed rgba(255,246,234,.2)}
.mc-set{font-size:11px;font-weight:700;color:var(--mute);flex-basis:100%}
.mc-pr{margin-left:auto;font-family:var(--latin);font-size:24px;color:var(--fur);line-height:1;font-variant-numeric:tabular-nums}
.mc-pr small{font-family:var(--body);font-size:11px;color:var(--mute);margin-left:4px}
.mc-hot{display:inline-flex;gap:3px;align-items:center}
.mc-hot i{width:8px;height:14px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;border:1.5px solid rgba(255,246,234,.4)}
.mc-hot i.on{background:#ff3b3b;border-color:#ff3b3b}
@media (max-width:1000px){.mcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.mcards{grid-template-columns:1fr;gap:16px}}
.odv .big1{object-position:center 40%}

/* ナビ 7項目 */
.nav{gap:18px;font-size:13.5px}
@media (max-width:1100px) and (min-width:861px){.nav{gap:14px;font-size:12.5px}.hd .wrap{gap:16px}}

/* 予約フォーム */
.kinds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:32px}
.kind{text-align:left;background:var(--dusk);color:var(--ink);border:2px solid rgba(255,246,234,.18);padding:14px 16px;cursor:pointer;font-family:var(--body);transition:border-color .2s,background .2s}
.kind b{display:block;font-size:16px}
.kind small{display:block;color:var(--mute);font-size:12px;margin-top:2px}
.kind:hover{border-color:var(--ink)}
.kind[aria-pressed="true"]{background:var(--lime);color:var(--night);border-color:var(--lime)}
.kind[aria-pressed="true"] small{color:#2f3d10}
@media (max-width:760px){.kinds{grid-template-columns:1fr 1fr}}
.cform{margin-top:24px;background:var(--dusk);padding:28px;display:grid;gap:18px;max-width:820px}
.frow{display:grid;gap:6px;min-width:0}
.frow.two{grid-template-columns:1.4fr 1fr 1fr;gap:14px}
.frow.two > div{display:grid;gap:6px;min-width:0}
@media (max-width:640px){.frow.two{grid-template-columns:1fr 1fr}.frow.two > div:first-child{grid-column:1/-1}.cform{padding:20px 16px}}
.cform label{font-weight:900;font-size:14px}
.req{display:inline-block;background:var(--magenta);color:#fff;font-size:10px;padding:0 6px;margin-left:8px;vertical-align:2px}
.cform input,.cform select,.cform textarea{width:100%;min-width:0;font:500 16px var(--body);color:var(--ink);background:var(--night);border:2px solid rgba(255,246,234,.2);padding:12px 14px;border-radius:0}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--lime)}
.cform ::placeholder{color:#8a7d97}
.cform.no-rsv .rsv-only{display:none}
.fnote{margin:0;font-size:13px;color:var(--mute)}
.fsend{justify-self:start;cursor:pointer;font-family:var(--body);font-size:16px;margin-top:0}
.fmsg{margin:0;padding:12px 14px;font-weight:700;font-size:14px}
.fmsg.ok{background:rgba(200,255,58,.12);border-left:4px solid var(--lime)}
.fmsg.err{background:rgba(255,61,139,.12);border-left:4px solid var(--magenta)}
/* 大きな1枚写真 */
.concept .grid{grid-template-columns:1fr}
.bigshot{position:relative;margin:48px 0 0;padding-inline:max(16px,env(safe-area-inset-left,0px));max-width:1360px;margin-inline:auto}
.bigshot img{width:100%;aspect-ratio:16/9;object-fit:cover;border:6px solid var(--ink);transform:rotate(-1deg)}
.bigshot .st{position:absolute;right:max(32px,4vw);bottom:-18px;z-index:2;font-family:var(--display);background:var(--magenta);padding:8px 16px;transform:rotate(3deg);font-size:clamp(13px,1.6vw,18px)}
.anim .bigshot img{clip-path:inset(0 0 0 100%);transition:clip-path 1.3s cubic-bezier(.77,0,.18,1)}
.anim .bigshot.in img{clip-path:inset(0 0 0 0)}
@media (max-width:640px){.bigshot{margin-top:32px}.bigshot img{aspect-ratio:4/3}.bigshot .st{right:24px}}
/* コンセプト：写真を文字の背景に */
.cbg{position:relative;overflow:hidden;isolation:isolate;padding-block:140px 150px}
.cbg-img{position:absolute;inset:-12% 0;z-index:-2}
.cbg-img img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.cbg::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(21,12,34,.92) 0%,rgba(21,12,34,.78) 40%,rgba(21,12,34,.25) 75%,rgba(21,12,34,.1) 100%),linear-gradient(180deg,var(--night) 0%,transparent 14%,transparent 86%,var(--night) 100%)}
.cbg .h2,.cbg .txt{text-shadow:0 2px 14px rgba(0,0,0,.6)}
.cbg .txt{color:#e9e0f0}
.cbg .copy{max-width:640px}
.cbg-cap{position:absolute;right:max(16px,4vw);bottom:48px;font-family:var(--display);background:var(--magenta);padding:8px 16px;transform:rotate(3deg);font-size:clamp(13px,1.6vw,18px)}
@media (max-width:760px){
  .cbg{padding-block:96px 120px}
  .cbg::before{background:linear-gradient(180deg,var(--night) 0%,rgba(21,12,34,.82) 12%,rgba(21,12,34,.7) 70%,rgba(21,12,34,.35) 88%,var(--night) 100%)}
  .cbg-img img{object-position:70% center}
  .cbg-cap{bottom:28px}
}
.cbg-cap .sp{display:none}
@media (max-width:760px){.cbg-cap .sp{display:inline}.cbg-cap{right:20px;max-width:calc(100% - 40px);line-height:1.5}}
/* トップの料理：メニューへ誘導 */
a.dish{display:block;text-decoration:none;color:inherit}
.dish .go{position:absolute;right:14px;top:12px;background:var(--night);color:var(--lime);font-weight:900;font-size:12px;padding:4px 10px;opacity:0;translate:0 -6px;transition:opacity .3s,translate .3s}
a.dish:hover .go,a.dish:focus-visible .go{opacity:1;translate:none}
@media (hover:none){.dish .go{opacity:1;translate:none}}
.drinks a{display:block;padding:16px 18px;border-right:2px solid rgba(255,246,234,.2);text-decoration:none;min-width:0;transition:background .2s}
.drinks a:last-child{border-right:0}
.drinks a:hover{background:rgba(255,246,234,.06)}
.drinks a span{display:block;font-family:var(--body);font-size:12px;color:var(--fur);font-weight:700}
@media (max-width:860px){.drinks a:nth-child(2){border-right:0}.drinks a:nth-child(-n+2){border-bottom:2px solid rgba(255,246,234,.2)}}
.big-go{font-size:18px;padding:16px 28px;margin-top:36px}
/* ナビ：文字間隔と項目の間を広げる */
.nav{gap:34px;letter-spacing:.1em;font-size:14px}
.nav a::after{right:-12px}
.hd .wrap{gap:30px}
.hd .ig{margin-left:10px}
@media (max-width:1180px){.nav{gap:0;letter-spacing:.08em}.nav a{padding:14px 0}}
@media (max-width:1100px) and (min-width:861px){.nav{gap:0;font-size:14px}}
/* 敷地内ショップ */
.shopsec{background:linear-gradient(160deg,var(--dusk),var(--night) 70%);overflow:hidden}
.shop-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.shop-grid > *{min-width:0}
.shop-main{margin:0;position:relative}
.shop-main img{width:100%;aspect-ratio:16/10;object-fit:cover;border:6px solid var(--ink);transform:rotate(1.5deg)}
.shop-main figcaption{position:absolute;left:-10px;bottom:20px;background:var(--lime);color:var(--night);font-weight:900;font-size:13px;padding:6px 14px;transform:rotate(-3deg)}
.shop-facts{list-style:none;padding:0;margin:24px 0 0;display:flex;gap:28px;flex-wrap:wrap}
.shop-facts li{border-top:4px solid var(--fur);padding-top:8px}
.shop-facts b{font-family:var(--latin);font-weight:400;font-size:clamp(32px,4vw,48px);line-height:1;color:var(--fur)}
.shop-facts b small{font-family:var(--body);font-size:14px;margin-left:4px}
.shop-facts span{display:block;font-size:13px;color:var(--mute);margin-top:4px}
.shop-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 1.3fr;gap:14px;margin-top:40px;align-items:stretch}
.shop-row figure{margin:0;min-width:0}
.shop-row img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover}
.shop-tags{display:flex;flex-wrap:wrap;align-content:center;gap:8px;min-width:0}
.shop-tags span{font-family:var(--latin);font-size:13px;letter-spacing:.06em;border:2px solid var(--ink);padding:4px 10px}
.shop-tags span:nth-child(odd){background:var(--magenta);border-color:var(--magenta)}
.shop-tags p{margin:6px 0 0;font-size:13px;color:var(--mute);flex-basis:100%}
@media (max-width:860px){.shop-grid{grid-template-columns:1fr}.shop-row{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-tags{grid-column:1/-1}}
.shop-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:40px}
.shop-gal figure{margin:0;overflow:hidden;background:#000;min-width:0}
.shop-gal img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .5s}
.shop-gal figure:hover img{transform:scale(1.05)}
.shop-gal figure:nth-child(1),.shop-gal figure:nth-child(8){grid-column:span 2}
.shop-gal figure:nth-child(1) img,.shop-gal figure:nth-child(8) img{aspect-ratio:2/1}
.shopsec .shop-tags{margin-top:20px}
@media (max-width:760px){.shop-gal{grid-template-columns:1fr 1fr}}
.shop-gal{grid-template-columns:repeat(3,minmax(0,1fr))}
.shop-gal figure:nth-child(8){grid-column:auto}
.shop-gal figure:nth-child(8) img{aspect-ratio:1/1}
.shop-gal img{aspect-ratio:4/3}
.shop-gal figure:nth-child(1) img{aspect-ratio:auto;height:100%}
@media (max-width:760px){.shop-gal{grid-template-columns:1fr 1fr}.shop-gal figure:nth-child(1){grid-column:1/-1}}
.shop-gal figure{display:flex}
.shop-gal figure img,.shop-gal figure:nth-child(n) img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.shop-gal figure:nth-child(1) img{aspect-ratio:auto}
.shop-gal{grid-auto-flow:dense}
.shop-gal figure.sg-vid{grid-row:span 2;position:relative}
.shop-gal figure.sg-vid video{width:100%;height:100%;object-fit:cover;display:block;background:#000}
.shop-gal figure:nth-child(2){grid-column:span 2}
.shop-gal figure:nth-child(2) img{aspect-ratio:auto}
.shop-gal figure.sg-wide{grid-column:span 2}
.shop-gal figure.sg-wide img{aspect-ratio:auto}
.shop-gal figure:nth-child(1){grid-column:auto}
@media (max-width:760px){.shop-gal figure.sg-vid{grid-column:1/-1;grid-row:auto}.shop-gal figure.sg-vid video{aspect-ratio:9/12;height:auto}.shop-gal figure:nth-child(2),.shop-gal figure.sg-wide{grid-column:1/-1}}
.odvid{position:relative;margin-top:32px;border:4px solid var(--night);background:#000}
.odvid video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.odv-cap{position:absolute;left:14px;bottom:12px;right:14px;color:#fff;font-weight:900;font-size:13px;text-shadow:0 1px 8px rgba(0,0,0,.8)}
.odvid + .odv{margin-top:12px}
.mc-info{grid-column:span 1;background:linear-gradient(160deg,var(--magenta),var(--sunset));color:var(--night);padding:28px 24px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.mi-en{margin:0;font-family:var(--latin);letter-spacing:.14em;font-size:13px}
.mc-info h3{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,30px);line-height:1.35;margin-top:8px}
.mc-info h3 em{font-style:normal;color:var(--ink)}
.mc-info ul{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.mc-info li{background:var(--night);color:var(--ink);text-align:center;font-weight:900;padding:12px 0;font-size:15px}
.mi-note{margin:12px 0 0;font-size:13px;font-weight:700;line-height:1.7}
.mc-info .more{border-color:var(--night);margin-top:16px;align-self:flex-start}
.mc-info .more::after{color:var(--night)}
/* 本気の料理：写真を横並び */
.honki .wrap{grid-template-columns:1fr 1fr;grid-template-areas:"v v" "h h" "a b" "c c";column-gap:20px;row-gap:28px;align-items:center}
.hk-v{position:static;grid-area:v;justify-self:center;writing-mode:horizontal-tb;letter-spacing:.4em;font-size:clamp(16px,1.6vw,20px)}
.hk-h{grid-area:h;white-space:nowrap;font-size:clamp(22px,3.6vw,48px)}
.hk-a{grid-area:a}.hk-b{grid-area:b}.hk-cap{grid-area:c}
.honki figure{width:100%}
.honki figure img{aspect-ratio:4/3;object-fit:cover}
.hk-cap{gap:10px;display:grid;grid-template-columns:1fr 1fr;text-align:center}
.hk-cap p{justify-content:center}
@media (max-width:640px){.honki .wrap{grid-template-columns:1fr;grid-template-areas:"v" "h" "a" "b" "c"}.hk-h{white-space:normal}.hk-cap{grid-template-columns:1fr}}
.hk-cap{justify-self:stretch;width:100%}
.mc-info{justify-content:flex-start;padding-top:20px}
.mi-img{width:100%;height:auto;margin:-4px 0 6px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}
.mc-info h3{font-size:clamp(20px,1.9vw,26px);word-break:keep-all;overflow-wrap:anywhere}
.honki figure img{aspect-ratio:16/9}
.farm-grid{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:14px;margin-top:36px;align-items:stretch}
.farm-grid figure{margin:0;position:relative;min-width:0;overflow:hidden}
.farm-grid img{width:100%;height:100%;aspect-ratio:3/4;object-fit:cover}
.farm-grid .fg-c img{aspect-ratio:auto}
.farm-grid figcaption{position:absolute;left:10px;bottom:10px;background:var(--night);color:var(--ink);font-weight:900;font-size:12px;padding:3px 10px}
.cta-row{display:flex;flex-wrap:wrap;gap:8px 28px}
@media (max-width:760px){.farm-grid{grid-template-columns:1fr 1fr}.farm-grid .fg-c{grid-column:1/-1}.farm-grid .fg-c img{aspect-ratio:16/9}}
.farm-vids{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:14px;margin-top:14px;align-items:stretch}
.farm-vids figure{margin:0;position:relative;min-width:0;overflow:hidden;background:#000}
.farm-vids video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
.farm-vids figcaption{position:absolute;left:10px;bottom:10px;background:var(--night);color:var(--ink);font-weight:900;font-size:12px;padding:3px 10px}
.farm-vids .fv-txt{background:var(--dusk);padding:24px;display:flex;flex-direction:column;justify-content:center}
@media (max-width:760px){.farm-vids{grid-template-columns:1fr 1fr}.farm-vids .fv-txt{grid-column:1/-1;order:-1}}
.vert-vid{max-width:360px;margin-inline:auto;border:6px solid var(--ink);background:#000}
.vert-vid video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
.gal .gv video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
.gal figure{position:relative}
.gcap{position:absolute;left:8px;bottom:8px;background:var(--night);font-weight:900;font-size:12px;padding:3px 10px}
.farm-vids .fv-txt{justify-content:flex-start;padding:16px}
.fv-chick{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:14px}
.od-info{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-top:28px}
.od-info > div{background:var(--night);color:var(--ink);padding:24px;min-width:0}
.od-tag{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.od-tag span{border:2px solid var(--fur);color:var(--fur);font-weight:900;font-size:12px;padding:2px 10px}
.od-price{margin:14px 0 0;font-family:var(--display);font-size:clamp(20px,2.4vw,28px)}
.od-price b{font-family:var(--latin);font-weight:400;font-size:clamp(40px,5vw,60px);color:var(--fur);margin-left:10px}
.od-price small{font-size:13px;color:var(--mute)}
.od-set-t{margin:14px 0 6px;font-weight:900;font-size:13px;color:var(--mute)}
.od-items{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.od-items li{background:var(--dusk);font-weight:700;font-size:14px;padding:4px 12px}
.od-note{margin:12px 0 0;font-size:13px;color:var(--mute);line-height:1.7}
.od-wari{border:3px solid var(--lime)}
.od-wari-t{margin:0;font-size:15px;line-height:1.6}
.od-wari-t b{font-family:var(--display);font-weight:400;font-size:22px;color:var(--lime)}
.od-wari-p{margin:10px 0 0;display:flex;align-items:baseline;gap:12px}
.od-wari-p s{color:var(--mute);font-family:var(--latin)}
.od-wari-p b{font-family:var(--latin);font-weight:400;font-size:48px;color:var(--lime);line-height:1}
.od-wari-p small{font-size:12px;color:var(--mute)}
.od-rules{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.od-rules li{background:rgba(21,12,34,.85);color:var(--ink);padding:12px 14px;font-size:13px;line-height:1.6;min-width:0}
.od-rules b{display:block;color:var(--fur);font-size:12px}
.od-tel{font-weight:900;align-self:flex-end;padding-bottom:4px}
.od-tel b{font-family:var(--latin);font-weight:400;font-size:22px}
@media (max-width:860px){.od-info{grid-template-columns:1fr}.od-rules{grid-template-columns:1fr 1fr}}
/* 予約ボタンをPCでも追従 */
.float{display:block;position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--lime);color:var(--night);font-weight:900;font-size:16px;letter-spacing:.06em;text-decoration:none;padding:14px 24px;box-shadow:4px 4px 0 var(--night);transition:translate .2s,box-shadow .2s}
.float:hover{translate:-2px -2px;box-shadow:6px 6px 0 var(--magenta)}
.totop{bottom:calc(90px + env(safe-area-inset-bottom,0px))}
@media (max-width:860px){.float{font-size:15px;padding:12px 18px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}.totop{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}
/* LINE */
.ig.line svg .dot,.ft-line svg .dot{fill:currentColor;stroke:none}
.ig.line:hover{background:#06c755;rotate:-10deg}
.line-cta{display:flex;align-items:center;gap:18px;margin-top:32px;background:#06c755;color:#fff;text-decoration:none;padding:18px 24px;max-width:820px;transition:translate .2s,box-shadow .2s;box-shadow:4px 4px 0 var(--night)}
.line-cta:hover{translate:-2px -2px;box-shadow:6px 6px 0 var(--lime)}
.lc-ic{width:48px;height:48px;flex:none;background:#fff;color:#06c755;border-radius:12px;display:flex;align-items:center;justify-content:center}
.lc-ic svg{width:32px;height:32px}.lc-ic svg .dot{fill:#06c755}
.lc-t{min-width:0}
.lc-t b{display:block;font-size:19px}
.lc-t small{display:block;font-size:13px;opacity:.9}
.lc-go{margin-left:auto;font-weight:900;white-space:nowrap}
.or{margin:22px 0 0;font-size:13px;font-weight:700;color:var(--mute)}
.or + .kinds{margin-top:10px}
@media (max-width:560px){.lc-go{display:none}.lc-t b{font-size:16px}}
/* ナビの予約ボタン */
@media (min-width:1181px){
  .nav a[href="contact.html"]{background:var(--lime);color:var(--night);padding:8px 18px;letter-spacing:.06em;box-shadow:3px 3px 0 var(--magenta);transition:translate .2s,box-shadow .2s;align-self:center}
  .nav a[href="contact.html"]::after{display:none}
  .nav a[href="contact.html"]:hover{color:var(--night);translate:-2px -2px;box-shadow:5px 5px 0 var(--magenta)}
  .nav a[href="contact.html"].on{background:var(--fur)}
  .nav{align-items:center}
}
@media (max-width:1180px){.nav a[href="contact.html"]{color:var(--lime);font-weight:900}}
.ig.line{border-radius:10px;width:38px;height:38px}
.ig.line svg.line-logo{width:32px;height:32px;stroke:none}
.ig.line:hover{background:none;rotate:-10deg;scale:1.08}
.ft-line svg.line-logo{width:18px;height:18px;stroke:none}
.lc-ic{background:none;width:56px;height:56px}
.lc-ic svg.line-logo{width:56px;height:56px}
/* 記事ページ */
.post-wrap{padding-block:56px 96px}
.post{max-width:760px;margin-top:24px}
.post-meta{display:flex;gap:14px;align-items:center;margin:0}
.post-meta time{font-family:var(--latin);color:var(--fur)}
.post-meta .cat{font-size:12px;font-weight:900;border:2px solid var(--lime);color:var(--lime);padding:0 8px}
.post-title{font-family:var(--display);font-weight:400;font-size:clamp(26px,4vw,42px);line-height:1.35;margin-top:14px}
.post-img{margin:28px 0 0}.post-img img{width:100%;max-height:560px;object-fit:cover}
.post-text{margin-top:24px;color:#e9e0f0;line-height:2}
.post-text p{margin:0 0 1.2em}
.post-text h2{font-size:18px;font-weight:900;color:var(--lime);margin:2em 0 .5em;line-height:1.5}
.post-text .date{margin-top:2.4em;color:var(--mute);font-size:14px}
/* 記事の写真カルーセル */
.pcar{position:relative;margin-top:28px;background:#000}
.pcar-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.pcar-track::-webkit-scrollbar{display:none}
.pcar-track img{flex:0 0 100%;width:100%;aspect-ratio:4/3;object-fit:cover;scroll-snap-align:start}
.pcar-btn{position:absolute;top:50%;margin-top:-22px;width:44px;height:44px;border:0;border-radius:50%;background:rgba(21,12,34,.7);color:#fff;font-size:26px;cursor:pointer}
.pcar-btn.l{left:10px}.pcar-btn.r{right:10px}
.pcar-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px}
.pcar-dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45)}
.pcar-dots i.on{background:var(--lime)}
/* ブログ */
.bcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.bcards.sm{margin-top:24px}
.bcard{display:flex;flex-direction:column;background:var(--dusk);text-decoration:none;color:inherit;min-width:0;transition:translate .25s,box-shadow .25s}
.bcard:hover{translate:0 -4px;box-shadow:6px 6px 0 var(--magenta)}
.bc-img{aspect-ratio:16/10;background:#000 center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.bc-img span{font-family:var(--latin);color:rgba(255,246,234,.25);font-size:22px}
.bc-b{padding:14px 16px 18px;min-width:0}
.bc-m{display:flex;gap:10px;align-items:center;margin:0;font-size:12px}
.bc-m time{font-family:var(--latin);color:var(--fur)}
.bc-m .cat{font-weight:900;border:1.5px solid var(--lime);color:var(--lime);padding:0 7px;font-size:11px}
.bcard h3{font-size:17px;font-weight:900;line-height:1.5;margin:8px 0 6px}
.bc-ex{margin:0;font-size:13px;color:var(--mute);line-height:1.7}
.subnav a.on{background:var(--ink);color:var(--night)}
.related{margin-top:72px}
@media (max-width:900px){.bcards{grid-template-columns:1fr 1fr;gap:12px}.bcard h3{font-size:15px}.bc-ex{display:none}}
/* 日本語の見出しを言葉の切れ目で改行 */
h1,h2,h3,.post-title,.bcard h3,.txt,.lead{word-break:auto-phrase}

/* 改行・はみ出しチェックで追加（2026-11-03） */
p,small,figcaption,li,dd,dt,label,.lead,.txt{text-wrap:pretty;word-break:auto-phrase}
h1,h2,h3,h4{text-wrap:balance}
.bcard h3{text-wrap:pretty}
.cat{white-space:nowrap;flex-shrink:0}
.pr small,.mc-pr small{white-space:inherit}
.tl-it small{font-size:11px}
@media (max-width:600px){.cap h3,.mc-body h3{font-size:min(20px,4.6vw)}}
@media (min-width:901px){.split .h2{font-size:min(72px,4.4vw)}}
@media (min-width:1001px) and (max-width:1199px){.history .tl{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* ブログ一覧：スマホは1列の横長カード（2026-11-03） */
@media (max-width:600px){.bcards{grid-template-columns:1fr;gap:10px}.bcard{flex-direction:row}.bc-img{flex:0 0 32%;aspect-ratio:auto;min-height:96px}.bc-b{flex:1;padding:10px 12px 12px}.bcard h3{font-size:14px;margin-top:4px;text-wrap:balance}}
/* ブログ一覧のページ分け（2026-11-03） */
.bpager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:36px 0 0}
.bpager[hidden]{display:none}
.bpager button{min-width:42px;height:42px;padding:0 8px;border:2px solid var(--ink);background:transparent;color:var(--ink);font-family:var(--latin);font-size:15px;line-height:1;cursor:pointer}
.bpager button.on{background:var(--lime);border-color:var(--lime);color:var(--night)}
.bpager button:disabled{opacity:.3;cursor:default}
.bpager button:not(:disabled):not(.on):hover{border-color:var(--lime);color:var(--lime)}
.bpager .pg-dots{color:var(--mute);padding:0 2px}
@media (max-width:600px){.bpager{gap:5px;margin-top:24px}.bpager button{min-width:36px;height:36px;padding:0 6px;font-size:14px}}
/* 改行の手直し */
.nw{white-space:nowrap}
a[href*="line.me"]{white-space:nowrap}
#news .news-ld{color:var(--mute);font-size:14px}
.jw{white-space:nowrap}
.bcard h3,#news li a,.post-title{text-wrap:balance}
.logo span{white-space:nowrap}
.logo{flex-shrink:0}
.logo b{white-space:nowrap}
@media (max-width:374px){.logo b{font-size:22px}}
@media (max-width:480px){.hd .wrap{gap:10px}.hd .ig{margin-left:0}}

@media (max-width:380px){.info div{grid-template-columns:5.5em minmax(0,1fr);gap:8px}}
