/* くらすめいと main.css */
:root{
  --pink:#DA5683; --pink-d:#CC3468; --pink-dd:#A8264F; --pink-l:#FFEFF5; --pink-m:#F5B3CE; --pink-xl:#FFF4F8;
  --navy:#22386E; --navy-d:#111E40; --blue:#86C6E0; --blue-l:#EEF7FC; --gray:#5A6488; --yellow:#FFF14A;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--navy);font-family:'M PLUS Rounded 1c',sans-serif;font-weight:800;font-size:15px;line-height:1.6;font-feature-settings:'palt';overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.b{font-weight:900;letter-spacing:.02em}
.num{font-weight:900;letter-spacing:-.01em;line-height:1}
.wrap{max-width:1320px;margin:0 auto;padding:0 16px}
.bg-stripe{background:url(../img/bg_stripe.png) 0 0/320px 320px}
.bg-move{animation:stripe 18s linear infinite}
@keyframes stripe{to{background-position:320px 0}}
.bg-plaid{background:#2E3240 url(../img/bg_plaid.jpg) 0 0/240px 240px}
.ribbon{height:10px;background:url(../img/bg_ribbon.png) 0 0/32px 32px}
.stk{filter:drop-shadow(0 3px 0 rgba(34,56,110,.16))}
.photo{background:#fff;border:5px solid #fff;border-radius:18px;box-shadow:0 0 0 3px var(--pink),0 6px 0 3px rgba(34,56,110,.12)}
.ph{background-image:repeating-linear-gradient(135deg,#FCE3EC 0 10px,#FFF4F8 10px 20px)}
.ph-b{background-image:repeating-linear-gradient(135deg,#DDF0F8 0 10px,#F1F9FC 10px 20px)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:54px;padding:0 28px;border-radius:27px;font-weight:900;font-size:16px;transition:transform .2s var(--ease),box-shadow .2s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(2px)}
.btn-pink{background:var(--pink-d);color:#fff;box-shadow:0 4px 0 var(--pink-dd)}
.btn-navy{background:var(--navy);color:#fff;box-shadow:0 4px 0 var(--navy-d)}
.btn-line{background:#fff;color:var(--pink-d);border:3px solid var(--pink)}
.sec{padding:34px 0 36px;position:relative}
.sec-head{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:20px;text-align:center}
.sec-head .sub{font-weight:900;font-size:16px}
.sec-head .sub small{font-size:13px;color:var(--gray);font-weight:800}
.h-newface{height:48px}.h-today{height:57px}.h-tiktok{height:41px}.h-menu{height:44px}.h-diary{height:43px}.h-access{height:57px}.h-recruit{height:55px}
.scroller{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.scroller::-webkit-scrollbar{display:none}

/* reveal */
.js [data-r]{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
.js [data-r="pop"]{transform:scale(.6) rotate(-6deg)}
.js [data-r].in{opacity:1;transform:none}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(204,52,104,.55)}100%{box-shadow:0 0 0 18px rgba(204,52,104,0)}}

.preview-bar{background:var(--navy);color:#fff;font-size:12px;font-weight:800;text-align:center;padding:6px 12px;line-height:1.5}

/* header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 6px 18px rgba(34,56,110,.12)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px}
.logo img{height:58px;width:auto;transition:height .3s var(--ease)}
.gnav{display:none}
.head-right{display:flex;align-items:center;gap:10px}
.hours{display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}
.hours b{font-size:16px;font-weight:900}
.hours span{font-size:13px;font-weight:900;color:var(--pink-d)}
.head-tel{display:none}
.burger{width:48px;height:48px;border-radius:16px;border:3px solid #fff;background:var(--pink);box-shadow:0 0 0 2px var(--pink),0 4px 0 2px rgba(34,56,110,.15);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}

/* drawer */
.drawer{position:fixed;inset:0;z-index:100;visibility:hidden;background:rgba(34,56,110,0);transition:background .3s,visibility .3s}
.drawer.open{visibility:visible;background:rgba(34,56,110,.55)}
.drawer-panel{position:absolute;top:0;right:0;width:min(86vw,360px);height:100%;overflow-y:auto;padding:18px 16px 30px;background:url(../img/bg_stripe.png) 0 0/320px 320px;transform:translateX(100%);transition:transform .4s var(--ease)}
.drawer.open .drawer-panel{transform:none}
.drawer-close{display:flex;margin-left:auto;width:48px;height:48px;border-radius:16px;border:3px solid #fff;background:var(--navy);align-items:center;justify-content:center;cursor:pointer;padding:0}
.drawer .menu-grid{margin-top:14px}

/* hero */
.hero{position:relative;overflow:hidden;padding:18px 0 10px}
.hero-in{position:relative;z-index:2}
.hero-copy{display:none}
.hearts{position:absolute;inset:0;pointer-events:none;z-index:1}
.fh{position:absolute;bottom:-40px;left:var(--x);width:var(--s);animation:rise var(--t) linear infinite;animation-delay:var(--dl);opacity:.9}
@keyframes rise{0%{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-50vh) translateX(18px) rotate(10deg)}100%{transform:translateY(-110vh) rotate(-10deg)}}
/* coverflow */
.cf{--cw:min(70vw,300px);position:relative;height:calc(var(--cw)*1.25 + 20px);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.cf-item{position:absolute;left:50%;top:6px;width:var(--cw);aspect-ratio:4/5;cursor:pointer;transition:transform .8s var(--ease),opacity .6s,filter .6s;will-change:transform}
.cf-item img{width:100%;height:100%;object-fit:cover;border-radius:13px;pointer-events:none}
.cf-item[data-pos="0"]{z-index:3;transform:translateX(-50%) perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));cursor:default}
.cf-item[data-pos="1"]{z-index:2;transform:translateX(-50%) translateX(58%) scale(.78) rotate(7deg);filter:saturate(.85) brightness(.97)}
.cf-item[data-pos="-1"]{z-index:2;transform:translateX(-50%) translateX(-58%) scale(.78) rotate(-7deg);filter:saturate(.85) brightness(.97)}
.cf-item[data-pos="2"],.cf-item[data-pos="-2"]{z-index:1;opacity:0;transform:translateX(-50%) scale(.6)}
.cf-ctrl{display:flex;justify-content:center;align-items:center;gap:2px;margin-top:6px}
.cf-ctrl button{border:none;background:transparent;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}
.arrow{width:44px;height:44px}
.dot{width:30px;height:44px}
.dot span{display:block;width:11px;height:11px;border-radius:6px;background:#fff;border:2.5px solid var(--pink)}
.dot svg{display:none}
.dot.on span{display:none}.dot.on svg{display:block;animation:wiggle .6s}

/* marquee */
.marquee{background:var(--navy);color:#fff;overflow:hidden;white-space:nowrap;border-top:3px solid var(--pink);border-bottom:3px solid var(--pink)}
.mq-track{display:inline-flex;animation:mq 32s linear infinite}
.marquee.rev .mq-track{animation-direction:reverse}
.mq-track span{display:inline-flex;align-items:center;gap:14px;padding:10px 14px;font-size:16px;font-weight:900;letter-spacing:.04em}
.mq-track i{font-style:normal;color:var(--yellow)}
.mq-track svg{width:18px;flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

/* icon menu */
.icons-sec{padding:22px 0 24px}
.menu-grid{background:#fff;border-radius:22px;border:3px solid var(--pink);padding:16px 4px 14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));row-gap:16px}
.menu-grid a{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;font-weight:900;text-align:center}
.menu-grid .ic{height:54px;display:flex;align-items:center}
.menu-grid .ic img{max-height:52px;max-width:64px;width:auto;transition:transform .3s var(--ease)}
.menu-grid a:hover .ic img{transform:translateY(-6px) rotate(-6deg) scale(1.08)}


/* cast cards */
.newface{background:var(--pink-l);overflow:hidden}
.wm{display:none}
.nf-intro .lead,.td-intro .lead{display:none}
.nf-wrap{padding:0}
.nf-track{padding:10px 20px 14px}
.nf-card{flex:0 0 136px;display:flex;flex-direction:column;gap:8px;scroll-snap-align:start;transition:transform .3s var(--ease)}
.nf-card:nth-child(4n+1){transform:rotate(-2deg)}.nf-card:nth-child(4n+2){transform:rotate(1.5deg)}.nf-card:nth-child(4n+3){transform:rotate(-1deg)}.nf-card:nth-child(4n){transform:rotate(2deg)}
.nf-card:hover{transform:rotate(0) translateY(-6px) scale(1.03)}
.cast-photo{position:relative;aspect-ratio:3/4;overflow:visible}
.cast-photo .pic{position:absolute;inset:0;border-radius:13px;overflow:hidden;background:linear-gradient(160deg,#FFE3EE,#E3F2FB)}
.cast-photo .pic img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
a:hover .cast-photo .pic img{transform:scale(1.06)}
.new-badge{position:absolute;z-index:2;top:-12px;left:-10px;width:58px;transform:rotate(-10deg)}
.cast-name{text-align:center;line-height:1.4}
.cast-name b{font-size:19px;font-weight:900}
.cast-name span{font-size:14px;color:var(--gray)}
.cast-name em{display:block;font-style:normal;font-size:13px;font-weight:900;color:var(--pink-d)}
.more{padding:16px 18px 0;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.today-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}
.today-grid>a:nth-child(n+7){display:none}
.td-card{display:flex;flex-direction:column;gap:8px}
.shift{position:absolute;z-index:2;left:50%;bottom:-15px;transform:translateX(-50%);white-space:nowrap;background:var(--navy);color:#fff;border:3px solid #fff;font-size:14px;font-weight:900;border-radius:999px;padding:3px 12px}
.td-card .cast-name{padding-top:10px}
.bigdate{display:none}
.count,.intro-btns{display:none}
.split .nf-wrap{margin:0 -16px}

/* tiktok / diary */
.tt-row{padding:6px 20px 14px}
.tt{position:relative;flex:0 0 150px;aspect-ratio:9/16;scroll-snap-align:start;overflow:hidden;transition:transform .4s var(--ease)}
.tt .pic{position:absolute;inset:0;border-radius:13px;overflow:hidden;background:linear-gradient(170deg,#FFD6E6,#CDEAF7)}
.tt .pic img{width:100%;height:100%;object-fit:cover}
.tt .cap{position:absolute;left:0;right:0;bottom:0;padding:30px 10px 10px;border-radius:0 0 13px 13px;background:linear-gradient(transparent,rgba(17,30,64,.75));color:#fff;font-size:12px;font-weight:900;line-height:1.4}
.play{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:27px;background:var(--pink-d);border:3px solid #fff;display:flex;align-items:center;justify-content:center;animation:pulse 2s infinite}
.diary{background:var(--pink-l)}
.diary-list{display:flex;flex-direction:column;gap:12px}
.diary-item{display:flex;gap:12px;align-items:center;background:#fff;border-radius:18px;padding:8px 14px 8px 8px;border:3px solid #fff;box-shadow:0 0 0 2px var(--pink-m);transition:transform .25s var(--ease),box-shadow .25s}
.diary-item:hover{transform:translateX(6px);box-shadow:0 0 0 3px var(--pink)}
.diary-item .thumb{flex:0 0 64px;height:64px;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#FFE3EE,#E3F2FB)}
.diary-item .thumb img{width:100%;height:100%;object-fit:cover;object-position:top}
.diary-item .meta{font-size:13px;color:var(--gray)}
.diary-item .meta b{color:var(--pink-d);font-size:15px;font-weight:900}
.diary-item .ttl{font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.diary-item>div:last-child{min-width:0;flex:1}
.duo{padding:0}
.duo>.sec{padding-left:16px;padding-right:16px}
.duo .tt-row{margin:0 -16px}

/* menu / access */
.small-note{margin:12px 4px 0;font-size:14px;color:var(--gray)}
.map{height:220px;overflow:hidden}
.map iframe{width:100%;height:100%;border:0;border-radius:13px;display:block}


/* footer */
.site-footer{color:#fff;padding:32px 0 112px}
.footer-in{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.footer-in .coaster{width:124px;height:124px;animation:floaty 6s ease-in-out infinite}
.fnav{order:2;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fnav a{display:flex;align-items:center;gap:8px;height:48px;padding:0 12px;border-radius:14px;background:#fff;color:var(--navy);font-size:15px;font-weight:900;transition:transform .2s}
.fnav a:hover{transform:translateY(-2px)}
.fnav a img{height:28px;width:auto;max-width:34px}
.fnav a.hot{color:var(--pink-d)}
.ftxt{order:3;display:flex;flex-direction:column;gap:6px}
.addr{font-size:14px;line-height:1.8;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.copy{font-size:12px;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.6)}

/* SP fixed bar */
.fixbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:3px solid var(--pink-m)}
.fixbar a{height:54px;border-radius:27px;display:flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:16px;font-weight:900}
.fixbar .tel{background:var(--navy)}.fixbar .cp{background:var(--pink-d)}

/* ================= PC ================= */
@media (min-width:900px){
  body{font-size:16px}
  .wrap{padding:0 40px}
  .preview-bar{font-size:13px}
  .site-header .wrap{padding-top:8px;padding-bottom:8px;gap:20px}
  .logo img{height:76px}
  .site-header.scrolled .logo img{height:54px}
  .gnav{display:flex;flex:1 1 0;justify-content:center;flex-wrap:wrap}
  .gnav a{position:relative;padding:10px 10px;font-size:16px;font-weight:900;white-space:nowrap}
  .gnav a::after{content:"";position:absolute;left:50%;right:50%;bottom:4px;height:4px;border-radius:2px;background:var(--pink);transition:left .25s var(--ease),right .25s var(--ease)}
  .gnav a:hover::after{left:10px;right:10px}
  .gnav a.hot{color:var(--pink-d)}
  .head-right{flex-direction:column;gap:4px}
  .hours{flex-direction:row;gap:6px;align-items:baseline}
  .hours b,.hours span{font-size:13px}
  .head-tel{display:flex;align-items:center;gap:8px;height:50px;padding:0 22px;border-radius:25px;background:var(--pink-d);color:#fff;border:3px solid #fff;box-shadow:0 0 0 3px var(--pink),0 5px 0 3px rgba(34,56,110,.15);font-size:17px;font-weight:900;transition:transform .2s}
  .head-tel:hover{transform:translateY(-2px)}
  .burger{display:none}
  .bg-stripe{background-size:420px 420px}
  @keyframes stripe{to{background-position:420px 0}}
  .ribbon{height:12px;background-size:36px 36px}

  /* hero */
  .hero{padding:44px 0 110px}
  .hero-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);align-items:center;gap:10px}
  .hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px;position:relative}
  .hero-logo{width:min(100%,560px);height:auto;filter:drop-shadow(0 6px 0 rgba(34,56,110,.12))}
  .hero-tags{display:flex;flex-wrap:wrap;gap:10px}
  .hero-tags span{background:#fff;border:3px solid var(--pink);color:var(--pink-d);border-radius:999px;padding:6px 18px;font-size:17px;font-weight:900;box-shadow:0 4px 0 rgba(34,56,110,.1)}
  .hero-tags span.navy{background:var(--navy);border-color:var(--navy);color:#fff}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .hero-cta .btn{height:60px;padding:0 34px;font-size:18px;border:4px solid #fff}
  .hero-mini{position:absolute;left:-40px;bottom:-130px;height:300px;width:auto;max-width:none;animation:floaty 6s ease-in-out infinite;z-index:-1;opacity:0}
  .cf{--cw:clamp(300px,27vw,400px)}
  .cf-item[data-pos="1"]{transform:translateX(-50%) translateX(52%) scale(.76) rotate(7deg)}
  .cf-item[data-pos="-1"]{transform:translateX(-50%) translateX(-52%) scale(.76) rotate(-7deg)}
  .cf-ctrl .arrow{width:52px;height:52px;border-radius:26px;background:var(--pink);border:4px solid #fff;box-shadow:0 4px 0 rgba(34,56,110,.2);margin:0 10px}
  .cf-ctrl .arrow svg path{stroke:#fff}

  /* icon bar overlapping hero */
  .icons-sec{padding:0;margin-top:-80px;position:relative;z-index:5;background:none}
  .icons-sec .menu-grid{grid-template-columns:repeat(8,minmax(0,1fr));padding:22px 10px 18px;border:3px solid var(--pink);border-radius:28px;box-shadow:0 0 0 6px rgba(255,255,255,.8),0 14px 30px rgba(34,56,110,.14)}
  .menu-grid a{font-size:15px;gap:6px}
  .menu-grid .ic{height:78px}
  .menu-grid .ic img{max-height:74px;max-width:96px}

  .marquee .mq-track span{font-size:20px;padding:12px 18px}
  .marquee .mq-track svg{width:22px}


  /* section intro + content layout */
  .sec{padding:72px 0 76px}
  .split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:center}
  .split .sec-head{align-items:flex-start;text-align:left;margin-bottom:14px}
  .split .sec-head img{height:auto}
  .h-newface.big{width:280px;height:auto}.h-today.big{width:250px;height:auto}
  .sec-head .sub{font-size:19px}
  .sec-head .sub small{font-size:15px}
  .h-tiktok{height:62px}.h-menu{height:64px}.h-diary{height:62px}.h-access{height:82px}.h-recruit{height:84px}
  .pair-head{height:88px;display:flex;align-items:center}
  .nf-intro .lead,.td-intro .lead{display:block;margin:0 0 22px;font-size:16px;line-height:1.9;color:var(--gray)}
  .count{display:flex;align-items:baseline;gap:6px;margin:0 0 22px;color:var(--pink-d)}
  .count .num{font-size:64px}
  .count b{font-size:20px;font-weight:900}
  .count small{font-size:16px;color:var(--navy);font-weight:900;margin-right:6px}
  .split .nf-wrap{margin:0}
  .intro-btns{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
  .intro-btns .btn{min-width:250px}
  .more.sp-only{display:none}

  /* NEW FACE: infinite card loop */
  .wm{display:block;position:absolute;left:0;top:40px;white-space:nowrap;font-size:190px;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:3px rgba(218,86,131,.18);letter-spacing:.04em;animation:mq 60s linear infinite;pointer-events:none;user-select:none}
  .newface .wrap{position:relative}
  .nf-wrap{padding:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
  .nf-track{display:flex;gap:30px;width:max-content;padding:24px 20px 20px;overflow:visible;animation:mq 46s linear infinite}
  .nf-wrap:hover .nf-track{animation-play-state:paused}
  .nf-card{flex:0 0 210px}
  .new-badge{width:70px;top:-16px;left:-14px}

  /* TODAY */
  .bigdate{display:flex;align-items:flex-end;gap:10px;margin:2px 0 14px;line-height:1}
  .bigdate .num{font-size:84px;color:var(--navy);letter-spacing:-.03em}
  .bigdate .day{font-size:26px;font-weight:900;color:#fff;background:var(--pink-d);border-radius:10px;padding:4px 10px;margin-bottom:8px}
  .today-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 26px}
  .today-grid>a:nth-child(n+7){display:flex}
  .td-card:hover .cast-photo{transform:translateY(-6px)}
  .td-card .cast-photo{transition:transform .3s var(--ease)}

  /* TikTok / Diary */
  .duo-bg{padding:0}
  .duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:stretch;padding:0 40px}
  .duo>.sec{padding-left:0;padding-right:0;display:flex;flex-direction:column}
  .duo .more{margin-top:auto;padding-top:34px;flex-direction:row;justify-content:center}
  .duo .tt-row{margin:0}
  .tt-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:10px 6px 0;overflow:visible}
  .tt{flex:none}
  .tt:nth-child(1){transform:rotate(-4deg) translateY(10px)}.tt:nth-child(3){transform:rotate(4deg) translateY(10px)}
  .tt:hover{transform:rotate(0) translateY(-8px) scale(1.03)}
  .diary-in-duo{background:none}
  .diary-list .diary-item:nth-child(n+5){display:none}
  .diary-item{padding:9px 18px 9px 9px;box-shadow:0 0 0 3px var(--pink-m)}
  .diary-item .thumb{flex-basis:70px;height:70px}
  .diary-item .ttl{font-size:17px}
  .duo .sec-head{margin-bottom:28px}

  /* menu / access */
  .map{height:300px}


  /* footer */
  .site-footer{padding:46px 0 40px}
  .footer-in{flex-direction:row;flex-wrap:wrap;text-align:left;gap:28px 44px}
  .footer-in .coaster{width:140px;height:140px}
  .footer-in .ftxt{order:2;flex:1 1 320px}
  .addr{font-size:15px}
  .fnav{order:3;width:auto;grid-template-columns:repeat(2,auto);gap:8px 12px}
  .fnav a{height:44px;font-size:14px}
  .fixbar{display:none}
}
@media (min-width:900px) and (max-width:1180px){
  .gnav a{font-size:14px;padding:8px 7px}
  .logo img{height:62px}
  .hero-in{grid-template-columns:1fr}
  .hero-copy{align-items:center;text-align:center}
  .hero-logo{width:440px}
  .icons-sec .menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:22px}
  .split{grid-template-columns:1fr;gap:20px}
  .split .sec-head{align-items:center;text-align:center}
  .split .intro{display:flex;flex-direction:column;align-items:center;text-align:center}
  .intro-btns{flex-direction:row;align-items:center}
  .today-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .duo{grid-template-columns:1fr;gap:0}
  .duo .tt-row{max-width:720px;margin:0 auto;width:100%}
  .diary-list{max-width:720px;margin:0 auto;width:100%}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-r]{opacity:1;transform:none}
}

/* ================= WordPress theme additions ================= */
.sec-head .hbox{margin:0;line-height:1}
.sec-head .sub{margin:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;left:8px;top:8px;z-index:999;width:auto;height:auto;clip:auto;background:#fff;padding:8px 14px;border-radius:8px}
.nf-card.dup{display:none}
.slide-link{display:block;width:100%;height:100%}
.empty-note{text-align:center;color:var(--gray);background:#fff;border:3px dashed var(--pink-m);border-radius:18px;padding:26px 16px;margin:0}
.ttl-text{font-family:'M PLUS Rounded 1c',sans-serif;font-weight:900;font-size:40px;line-height:1.15;letter-spacing:.04em;color:#FFF14A;-webkit-text-stroke:8px var(--pink);paint-order:stroke fill;filter:drop-shadow(0 0 0 #fff) drop-shadow(2px 0 0 #fff) drop-shadow(-2px 0 0 #fff) drop-shadow(0 2px 0 #fff) drop-shadow(0 -2px 0 #fff) drop-shadow(0 4px 0 rgba(34,56,110,.15))}

/* sub page hero */
.page-hero{position:relative;overflow:hidden;padding:30px 0 26px}
.page-hero .sec-head{margin:0}
.page-hero .lead{max-width:640px;margin:10px auto 0;text-align:center;font-size:14px;color:var(--navy);background:rgba(255,255,255,.85);border-radius:12px;padding:8px 14px}
.page-body{padding:30px 0 50px}
.page-body.pink{background:var(--pink-l)}
.crumbs{font-size:12px;color:var(--gray);padding:10px 0 0}
.crumbs a{color:var(--pink-d)}

/* tabs (schedule / cast filter) */
.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px 2px 12px;margin-bottom:12px}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:0;min-width:72px;padding:8px 12px;border-radius:16px;background:#fff;border:3px solid var(--pink-m);font-weight:900;font-size:14px;line-height:1.35;cursor:pointer;transition:transform .2s var(--ease)}
.tab small{font-size:12px;color:var(--pink-d)}
.tab.sat{border-color:#A9D6EA}.tab.sun{border-color:#F3A3B9}
.tab[aria-selected="true"],.tab.on{background:var(--pink-d);border-color:var(--pink-d);color:#fff}
.tab[aria-selected="true"] small,.tab.on small{color:#FFF14A}
.tab:hover{transform:translateY(-2px)}
.day-panel[hidden]{display:none}
.day-head{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;font-size:18px;font-weight:900}
.day-head b{color:var(--pink-d);font-size:24px}

/* cast grid */
.cast-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}
.cast-grid .td-card .sizes{display:block;font-size:12px;color:var(--gray);font-weight:800}
.cast-grid .today-tag{display:inline-block;margin-top:2px;background:var(--navy);color:#fff;border-radius:999px;font-size:12px;padding:1px 10px}

/* single cast */
.profile{display:grid;gap:22px}
.profile .main-photo{position:relative;aspect-ratio:3/4;max-width:420px;width:100%;margin:0 auto}
.profile .main-photo .pic{position:absolute;inset:0;border-radius:13px;overflow:hidden;background:linear-gradient(160deg,#FFE3EE,#E3F2FB)}
.profile .main-photo .pic img{width:100%;height:100%;object-fit:cover}
.profile .main-photo .new-badge{width:84px;top:-18px;left:-14px}
.profile-name{font-size:34px;font-weight:900;line-height:1.2;margin:0}
.profile-name span{font-size:18px;color:var(--gray)}
.profile-table{width:100%;border-collapse:collapse;margin:14px 0}
.profile-table th,.profile-table td{padding:10px 6px;border-bottom:3px dotted var(--pink-m);text-align:left;font-size:15px}
.profile-table th{width:90px;color:var(--pink-d);font-weight:900}
.balloon{position:relative;background:#fff;border:3px solid var(--pink);border-radius:18px;padding:14px 16px;font-size:15px;line-height:1.8;margin-top:6px}
.balloon::before{content:"";position:absolute;top:-12px;left:30px;border:10px solid transparent;border-bottom-color:var(--pink);border-top:0}
.sns-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sns-row a{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:20px;background:var(--navy);color:#fff;font-size:14px;font-weight:900}
.week{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.week li{display:flex;justify-content:space-between;align-items:center;background:#fff;border:3px solid var(--pink-m);border-radius:14px;padding:10px 14px;font-weight:900}
.week li.on{border-color:var(--pink);background:var(--pink-xl)}
.week li b{color:var(--pink-d)}
.week li.off b{color:#B4B9C9;font-weight:800}
.week li.sat span{color:#2D7FB0}.week li.sun span{color:#D13B5E}
.sub-ttl{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:900;margin:34px 0 14px}
.sub-ttl::before{content:"";width:26px;height:24px;background:url(../img/d_new.png) center/contain no-repeat;display:none}
.sub-ttl svg{width:22px}

/* diary */
.diary-grid{display:grid;gap:12px}
.diary-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}
.diary-filter select{height:46px;border-radius:14px;border:3px solid var(--pink-m);padding:0 14px;font:inherit;font-weight:900;color:var(--navy);background:#fff}
.diary-article{background:#fff;border:3px solid var(--pink);border-radius:22px;padding:18px 16px 24px}
.diary-author{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.diary-author img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--pink-m)}
.diary-author b{font-size:18px}
.diary-author time{display:block;font-size:13px;color:var(--gray)}
.article-title{font-size:22px;font-weight:900;line-height:1.5;margin:0 0 14px}
.article-photo{border-radius:16px;overflow:hidden;margin-bottom:16px}
.article-photo img{width:100%;height:auto}
.post-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px;flex-wrap:wrap}

/* entry content */
.entry-content{font-size:16px;line-height:1.9;font-weight:700;overflow-wrap:anywhere}
.entry-content>*:first-child{margin-top:0}
.entry-content img{height:auto;border-radius:12px}
.entry-content h2{font-size:22px;font-weight:900;border-left:8px solid var(--pink);padding-left:12px;margin:34px 0 14px}
.entry-content h3{font-size:18px;font-weight:900;color:var(--pink-d);margin:26px 0 10px}
.entry-content a{color:var(--pink-d);text-decoration:underline}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content th,.entry-content td{border-bottom:3px dotted var(--pink-m);padding:10px 6px;text-align:left}
.entry-content .alignwide,.entry-content .aligncenter{margin-left:auto;margin-right:auto}

/* event list */
.event-list{display:grid;gap:16px}
.event-item{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;background:#fff;border:3px solid var(--pink-m);border-radius:18px;padding:10px;transition:transform .2s var(--ease),border-color .2s}
.event-item:hover{transform:translateY(-3px);border-color:var(--pink)}
.event-item .thumb{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--pink-l)}
.event-item .thumb img{width:100%;height:100%;object-fit:cover}
.event-item time{font-size:13px;color:var(--pink-d);font-weight:900}
.event-item h2{font-size:16px;font-weight:900;line-height:1.5;margin:2px 0 0}

/* pager */
.pager{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin-top:28px}
.pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:22px;background:#fff;border:3px solid var(--pink-m);font-weight:900}
.pager .page-numbers.current{background:var(--pink-d);border-color:var(--pink-d);color:#fff}

/* recruit page */
.apply{display:grid;gap:10px;margin-top:22px}
.apply .btn{display:flex;height:58px;font-size:17px}
.btn-line-app{background:#06C755;color:#fff;box-shadow:0 4px 0 #04913E}

@media (min-width:900px){
  .nf-card.dup{display:flex}
  .ttl-text{font-size:64px;-webkit-text-stroke:10px var(--pink)}
  .page-hero{padding:56px 0 50px}
  .page-hero .lead{font-size:16px}
  .page-body{padding:56px 0 80px}
  .narrow{max-width:900px;margin:0 auto}
  .tabs{justify-content:center}
  .tab{min-width:96px;font-size:16px;padding:10px 16px}
  .cast-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:40px 26px}
  .profile{grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:56px;align-items:start}
  .profile-name{font-size:44px}
  .week{grid-template-columns:repeat(7,minmax(0,1fr))}
  .week li{flex-direction:column;gap:4px;text-align:center;padding:12px 6px}
  .diary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .diary-article{padding:30px 34px 34px}
  .article-title{font-size:28px}
  .event-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-item{grid-template-columns:150px 1fr}
  .event-item h2{font-size:18px}
  .apply{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:900px) and (max-width:1180px){
  .cast-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.fixbar svg{width:18px;height:16px;flex:none}
.mq-track i{font-style:normal;color:var(--yellow)}
.wrap.narrow{padding:0}
.narrow>.sec{padding-left:16px;padding-right:16px}
@media (min-width:900px){
  .wrap.narrow{padding:0 40px}
  .narrow>.sec{padding-left:0;padding-right:0}
  .narrow .diary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .narrow .diary{background:none}
}
@media (min-width:900px){
  .more{flex-direction:row;flex-wrap:wrap;justify-content:center;padding:30px 0 0}
  .more .btn{min-width:260px;padding:0 40px}
  .page-body .narrow .more{justify-content:center}
}
.page-body .more{padding-left:0;padding-right:0}

/* ================= v2: icon bar / coupon ticket / menu board / access / recruit ================= */
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes swing{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(2deg)}}
.hero-logo,.logo img{filter:drop-shadow(0 0 1px rgba(204,52,104,.55))}

/* icon bar: items share the width evenly whatever the count */
.menu-grid{display:flex;flex-wrap:wrap;justify-content:center}
.menu-grid a{flex:0 0 25%}

/* ---- coupon ticket ---- */
.coupon-sec{position:relative;overflow:hidden;padding:56px 0 34px;background:#FFE6F0}
.burst-bg{position:absolute;left:50%;top:40%;width:2400px;height:2400px;margin:-1200px 0 0 -1200px;background:repeating-conic-gradient(rgba(255,255,255,.8) 0 6deg,transparent 6deg 12deg);-webkit-mask:radial-gradient(circle,#000 0,#000 18%,transparent 52%);mask:radial-gradient(circle,#000 0,#000 18%,transparent 52%);animation:spin 90s linear infinite;pointer-events:none}
.coupon-row{position:relative;z-index:1}
.coupon-chara{display:none}
.coupon{position:relative;max-width:820px;margin:0 auto}
.coupon-title{position:absolute;z-index:3;left:-6px;top:-36px;width:240px;transform:rotate(-4deg)}
.coupon-ribbon{position:absolute;z-index:3;right:-4px;top:-32px;width:64px;transform:rotate(12deg);animation:wiggle 3s ease-in-out infinite}
.ticket{--stub:112px;--r:15px;filter:drop-shadow(3px 0 0 var(--pink)) drop-shadow(-3px 0 0 var(--pink)) drop-shadow(0 3px 0 var(--pink)) drop-shadow(0 -3px 0 var(--pink)) drop-shadow(0 10px 14px rgba(34,56,110,.16))}
.ticket-in{position:relative;display:grid;grid-template-rows:auto var(--stub);background:#fff;border-radius:20px;
  -webkit-mask:radial-gradient(circle var(--r) at 0 calc(100% - var(--stub)),transparent 98%,#000) ,radial-gradient(circle var(--r) at 100% calc(100% - var(--stub)),transparent 98%,#000);-webkit-mask-composite:source-in;
  mask:radial-gradient(circle var(--r) at 0 calc(100% - var(--stub)),transparent 98%,#000) ,radial-gradient(circle var(--r) at 100% calc(100% - var(--stub)),transparent 98%,#000);mask-composite:intersect}
.t-main{position:relative;padding:44px 16px 22px;text-align:center}
.t-perks{padding-right:70px!important;justify-content:flex-start!important}
.t-when{display:inline-block;margin:0;font-size:15px;font-weight:900;background-image:linear-gradient(transparent 58%,var(--yellow) 58%)}
.t-price{display:flex;align-items:baseline;justify-content:center;flex-wrap:nowrap;white-space:nowrap;gap:0 4px;margin:4px 0 0;line-height:1}
.t-min{font-size:18px;font-weight:900}
.t-price .num{font-size:66px;font-weight:900;color:var(--pink-d);letter-spacing:-.02em}
.t-yen{font-size:24px;font-weight:900;color:var(--pink-d)}
.t-suffix{display:inline-block;margin-right:10px;background:var(--navy);color:#fff;font-size:14px;font-weight:900;padding:4px 10px;border-radius:8px;transform:rotate(-6deg)}
.t-regular{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin:10px 0 0;font-size:14px;font-weight:900;color:var(--gray)}
.t-regular s{text-decoration-color:var(--pink);text-decoration-thickness:3px}
.t-perks{list-style:none;margin:12px 0 0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 16px}
.t-perks li{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:900}
.t-perks svg{width:17px;flex:none}
.t-burst{position:absolute;right:8px;bottom:10px;width:78px;height:78px;z-index:2}
.t-burst svg{position:absolute;inset:0;animation:spin 14s linear infinite}
.t-burst span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:var(--pink-d);line-height:1.15;transform:rotate(12deg)}
.t-burst b{font-size:16px}
.t-stub{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"c o" "c s";align-content:center;gap:4px 14px;padding:0 18px;border-top:3px dashed var(--pink-m);background:url(../img/bg_stripe.png) 0 0/180px 180px;border-radius:0 0 20px 20px}
.t-only{grid-area:o;align-self:end;font-size:15px;font-weight:900;color:var(--navy);background:#fff;justify-self:start;padding:1px 10px;border-radius:6px}
.pc-br{display:none}
.t-coaster{grid-area:c;width:84px;height:84px;filter:drop-shadow(0 3px 0 rgba(34,56,110,.15))}
.t-staff{grid-area:s;align-self:start;justify-self:start;background:var(--navy);color:#fff;font-size:13px;font-weight:900;padding:7px 14px;border-radius:999px}
.t-notes{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:2px 16px;font-size:12px;font-weight:800;color:var(--gray)}
.t-notes li::before{content:"※"}

/* ---- menu board ---- */
.menu-sec{background:#fff;background-image:linear-gradient(transparent 33px,#EEF5FA 33px);background-size:100% 34px}
.menu-board{display:grid;gap:34px}
.mb-h{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:20px;font-weight:900;white-space:nowrap}
.mb-h::before,.mb-h::after{content:"";flex:1;height:4px;background:repeating-linear-gradient(90deg,var(--pink-m) 0 6px,transparent 6px 11px)}
.leaders{margin:0}
.leaders div{display:flex;align-items:baseline;gap:8px;padding:9px 2px}
.leaders div::after{content:"";order:2;flex:1;min-width:20px;border-bottom:3px dotted var(--pink-m);transform:translateY(-4px)}
.leaders dt{order:1;font-size:15px;font-weight:900}
.leaders dd{order:3;margin:0;font-size:19px;font-weight:900;color:var(--pink-d);white-space:nowrap}
.mb-notes{list-style:none;margin:30px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px}
.mb-notes li{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:900}
.mb-notes svg{width:16px;flex:none}

/* ---- access ---- */
.access-grid{display:grid;gap:24px}
.access-sec .map{height:240px}
.landmark{display:flex;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:900;color:var(--pink-d)}
.landmark img{width:26px;height:auto}
.addr-big{margin:6px 0 18px;font-size:17px;font-weight:900;line-height:1.6}
.addr-big b{font-size:22px}
.stations{list-style:none;margin:0 0 20px 8px;padding:0 0 0 22px;border-left:6px solid var(--pink-m)}
.stations li{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0}
.stations li::before{content:"";position:absolute;left:-36px;top:50%;width:12px;height:12px;margin-top:-10px;border-radius:50%;background:#fff;border:4px solid var(--pink)}
.stations li:first-child::before{background:var(--pink)}
.st{font-size:16px;font-weight:900;line-height:1.3}
.st small{display:block;font-size:11px;color:var(--gray);font-weight:800}
.stations b{font-size:15px;font-weight:900;color:var(--pink-d);white-space:nowrap}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0;padding:16px 0 0;border-top:3px dotted var(--pink-m)}
.facts dt{font-size:12px;font-weight:900;color:var(--gray)}
.facts dd{margin:0;font-size:16px;font-weight:900}
.facts a{color:var(--pink-d)}
.acc-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.acc-btns .btn{flex:1 1 180px}

/* ---- recruit ---- */
.recruit{position:relative;overflow:hidden;padding:30px 0 36px}
.rc-top{position:relative;min-height:200px;padding-right:110px}
.rc-h{margin:0;line-height:1}
.rc-top .h-recruit{width:auto}
.recruit-copy{width:200px;margin-top:10px}
.rc-chara{position:absolute;right:-46px;top:-6px;height:300px;width:auto;max-width:none;animation:floaty 5s ease-in-out infinite;pointer-events:none}
.rc-chara-pc{display:none}
.wage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.wage-lbl{background:var(--navy);color:#fff;font-size:14px;font-weight:900;padding:3px 14px;border-radius:999px}
.wage-num{line-height:1.05}
.wage-num .num{font-size:66px;font-weight:900;color:var(--yellow);-webkit-text-stroke:9px var(--pink-d);paint-order:stroke fill;letter-spacing:-.01em;filter:drop-shadow(0 4px 0 rgba(34,56,110,.15))}
.wage-num i{font-style:normal;font-size:26px;font-weight:900;color:var(--pink-d);-webkit-text-stroke:6px #fff;paint-order:stroke fill}
.wage-sub{font-size:13px;font-weight:900;background:#fff;padding:2px 10px;border-radius:6px}
.examples{position:relative;z-index:2;margin-top:18px;display:flex;flex-direction:column;gap:8px}
.ex-cap{margin:0;font-size:14px;font-weight:900}
.ex{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;background:#fff;padding:0 26px 0 0;clip-path:polygon(0 0,calc(100% - 16px) 0,100% 50%,calc(100% - 16px) 100%,0 100%);filter:drop-shadow(0 3px 0 rgba(34,56,110,.1))}
.ex-ttl{align-self:stretch;display:flex;align-items:center;background:var(--pink-d);color:#fff;font-size:13px;font-weight:900;padding:10px 18px 10px 12px;clip-path:polygon(0 0,100% 0,86% 50%,100% 100%,0 100%)}
.ex-how{font-size:13px;font-weight:900;color:var(--gray);white-space:nowrap}
.ex-pay{font-size:12px;font-weight:900;white-space:nowrap}
.ex-pay b{font-size:24px;color:var(--pink-d);margin-right:2px}
.paper{position:relative;z-index:2;margin:28px 4px 0;padding:20px 16px 16px 40px;background:#fff linear-gradient(transparent 33px,#DDEFF8 33px) 0 18px/100% 34px;transform:rotate(-1deg);box-shadow:0 10px 22px rgba(34,56,110,.15)}
.paper::before{content:"";position:absolute;left:28px;top:0;bottom:0;width:2px;background:#F5B3CE}
.tape{position:absolute;top:-13px;width:96px;height:26px;background:rgba(255,241,74,.8);transform:rotate(-6deg)}
.tape-l{left:20px}
.tape-r{right:20px;transform:rotate(5deg);background:rgba(134,198,224,.85)}
.checks{list-style:none;margin:0;padding:0;display:grid}
.checks li{display:flex;align-items:center;gap:8px;height:34px;font-size:15px;font-weight:900}
.checks svg{width:16px;flex:none}
.paper .age{display:block;margin:8px 0 0;font-size:12px;font-weight:800;color:var(--gray)}
.apply-row{position:relative;z-index:2;display:grid;gap:10px;margin-top:26px}
.apply-row .btn{display:flex;height:58px;font-size:16px}
.apply-row .btn small{font-size:12px;opacity:.9;margin-left:4px}
.apply-row svg{width:18px;flex:none}

@media (min-width:900px){
  .icons-sec .menu-grid{flex-wrap:nowrap;padding:22px 10px 18px}
  .icons-sec .menu-grid a{flex:1 1 0}

  .coupon-sec{padding:96px 0 80px}
  .burst-bg{left:28%;top:52%;width:3000px;height:3000px;margin:-1500px 0 0 -1500px}
  .coupon-row{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.9fr);align-items:center;gap:0;max-width:1240px;margin:0 auto}
  .coupon-chara{display:flex;justify-content:center;position:relative;z-index:2;margin-right:-60px}
  .coupon-chara img{height:540px;width:auto;max-width:none;animation:floaty 6s ease-in-out infinite;filter:drop-shadow(0 12px 18px rgba(34,56,110,.18))}
  .coupon{max-width:none}
  .coupon-title{width:380px;left:40px;top:-52px}
  .coupon-ribbon{width:96px;top:-46px;right:250px}
  .ticket{--stub:230px;--r:18px}
  .ticket-in{grid-template-rows:none;grid-template-columns:minmax(0,1fr) var(--stub);border-radius:26px;
    -webkit-mask:radial-gradient(circle var(--r) at calc(100% - var(--stub)) 0,transparent 98%,#000),radial-gradient(circle var(--r) at calc(100% - var(--stub)) 100%,transparent 98%,#000);-webkit-mask-composite:source-in;
    mask:radial-gradient(circle var(--r) at calc(100% - var(--stub)) 0,transparent 98%,#000),radial-gradient(circle var(--r) at calc(100% - var(--stub)) 100%,transparent 98%,#000);mask-composite:intersect}
  .t-main{padding:78px 40px 40px 80px;text-align:left}
  .t-regular{justify-content:flex-start}
  .t-when{font-size:19px}
  .t-price{justify-content:flex-start;margin-top:8px}
  .t-min{font-size:28px}
  .t-price .num{font-size:120px}
  .t-yen{font-size:40px}
  .t-suffix{font-size:20px;padding:6px 14px}
  .t-regular{font-size:17px}
  .t-perks{justify-content:flex-start;margin-top:16px;gap:6px 24px}
  .t-perks li{font-size:20px}
  .t-perks svg{width:20px}
  .t-burst{right:24px;top:auto;bottom:22px;width:132px;height:132px}
  .t-burst span{font-size:15px}
  .t-burst b{font-size:26px}
  .t-stub{grid-template-columns:none;grid-template-areas:"o" "c" "s";justify-items:center;align-content:center;gap:14px;padding:24px 18px;border-top:none;border-left:3px dashed var(--pink-m);border-radius:0 26px 26px 0;text-align:center}
  .t-only{justify-self:center;align-self:center;font-size:18px;line-height:1.35;padding:4px 14px}
  .pc-br{display:inline}
  .t-coaster{width:126px;height:126px}
  .t-staff{justify-self:center;align-self:center;font-size:13px;padding:8px 14px;line-height:1.4}
  .t-notes{justify-content:flex-start;padding-left:80px;font-size:13px}

  .menu-board{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:64px;max-width:1120px;margin:0 auto}
  .leaders dt{font-size:16px}
  .leaders dd{font-size:21px}
  .mb-notes{margin-top:44px}

  .access-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:56px;align-items:stretch;max-width:1180px;margin:0 auto}
  .access-sec .map{height:auto;min-height:460px}
  .addr-big{font-size:19px}.addr-big b{font-size:26px}

  .recruit{padding:76px 0 0}
  .rc-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:end}
  .rc-left{padding-bottom:76px}
  .rc-top{min-height:0;padding:0}
  .rc-chara{display:none}
  .recruit-copy{width:440px}
  .wage{margin-top:22px;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px 16px}
  .wage-num .num{font-size:116px;-webkit-text-stroke:13px var(--pink-d)}
  .wage-num i{font-size:42px;-webkit-text-stroke:8px #fff}
  .wage-sub{font-size:15px}
  .wage-lbl{font-size:16px;padding:5px 18px}
  .examples{flex-direction:row;flex-wrap:wrap;gap:12px;align-items:center}
  .ex-cap{width:100%}
  .ex{flex:1 1 300px}
  .ex-pay b{font-size:28px}
  .paper{max-width:680px;padding:24px 22px 20px 52px}
  .paper::before{left:36px}
  .checks{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}
  .checks li{font-size:16px}
  .apply-row{display:flex;flex-wrap:wrap;gap:12px}
  .apply-row .btn{min-width:220px;padding:0 30px}
  .rc-chara-pc{display:flex;justify-content:center;align-items:flex-end;height:700px;overflow:hidden;pointer-events:none}
  .rc-chara-pc img{height:660px;width:auto;max-width:none;margin-bottom:-50px;animation:floaty 6s ease-in-out infinite}
  .rc-chara-pc img+img{height:690px;margin-left:-80px;margin-bottom:-60px;animation-delay:-3s}
}
@media (min-width:900px) and (max-width:1180px){
  .icons-sec .menu-grid{flex-wrap:wrap;row-gap:22px}
  .icons-sec .menu-grid a{flex:0 0 25%}
  .coupon-row{grid-template-columns:1fr}
  .coupon-chara{display:none}
  .t-main{padding-left:40px}
  .t-notes{padding-left:0;justify-content:center}
  .coupon-ribbon{right:250px}
  .menu-board{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:36px}
  .rc-grid{grid-template-columns:1fr}
  .rc-chara-pc{display:none}
}


/* ---- menu: classroom chalkboard (v1.2) ---- */
.board{--chalk:#F6F3EA;--chalk-y:#FFF27A;--chalk-p:#FFA8C8;--chalk-b:#A9DDF3;position:relative;padding:12px 12px 0;border-radius:10px;background:#C9925C repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 2px,transparent 2px 9px,rgba(80,40,10,.07) 9px 11px,transparent 11px 17px);box-shadow:0 0 0 4px #fff,0 0 0 7px var(--pink),0 14px 0 7px rgba(34,56,110,.12);transform:rotate(-.6deg)}
.board-in{position:relative;overflow:hidden;color:var(--chalk);padding:20px 20px 26px;border-radius:4px;background:
  radial-gradient(ellipse 60% 40% at 18% 22%,rgba(255,255,255,.07),transparent 70%),
  radial-gradient(ellipse 50% 30% at 82% 70%,rgba(255,255,255,.06),transparent 70%),
  repeating-linear-gradient(-12deg,rgba(255,255,255,.025) 0 2px,transparent 2px 7px),
  #234638;box-shadow:inset 0 0 0 2px rgba(0,0,0,.18),inset 0 0 40px rgba(0,0,0,.35);text-shadow:0 0 1px rgba(255,255,255,.55),0 0 6px rgba(255,255,255,.12)}
.board-in .num{letter-spacing:0}
.bd-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:8px;margin-bottom:14px;border-bottom:2px dashed rgba(246,243,234,.35)}
.bd-label{font-size:15px;font-weight:900;letter-spacing:.3em;color:var(--chalk-b)}
.bd-date{font-size:13px;font-weight:800;opacity:.85}
.bd-set{position:relative;margin-bottom:6px}
.bd-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;margin:0;font-size:19px;font-weight:900}
.bd-name small{font-size:14px;font-weight:800;color:var(--chalk-b)}
.bd-price{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin:2px 0 0;line-height:1}
.bd-yen{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}
.bd-price .num{font-size:72px;color:var(--chalk-y);text-shadow:0 0 1px rgba(255,242,122,.8),0 0 10px rgba(255,242,122,.18)}
.bd-price i{font-style:normal;font-size:24px;font-weight:900;color:var(--chalk-y)}
.bd-free{font-size:16px;font-weight:900;color:var(--chalk-p);border:2px solid var(--chalk-p);border-radius:6px;padding:3px 10px;transform:rotate(-4deg);letter-spacing:.08em}
.chalk-line{display:block;width:78%;height:12px;margin-top:2px;color:var(--chalk-p);opacity:.9}
.bd-ext{margin-top:18px}
.bd-sub{display:inline-block;margin:0 0 4px;font-size:15px;font-weight:900;color:var(--chalk-b);border-bottom:2px solid var(--chalk-b);padding-bottom:1px}
.bd-ext dl{margin:0}
.bd-ext dl div{display:flex;align-items:baseline;gap:8px;padding:6px 0}
.bd-ext dl div::after{content:"";order:2;flex:1;min-width:20px;border-bottom:3px dotted rgba(246,243,234,.45);transform:translateY(-5px)}
.bd-ext dt{order:1;font-size:17px;font-weight:900}
.bd-ext dd{order:3;margin:0;font-size:16px;font-weight:900;white-space:nowrap}
.bd-ext dd .num{font-size:30px;color:var(--chalk);margin-right:2px}
.bd-drinks{margin:16px 0 0;font-size:13px;font-weight:800;line-height:1.7;opacity:.92}
.bd-drinks b{color:var(--chalk-p);margin-right:8px}
.bd-note{position:absolute;right:14px;bottom:18px;display:none}
.bd-tray{position:relative;height:16px;margin:0 -12px;border-radius:0 0 10px 10px;background:linear-gradient(#B07B47,#94643A);box-shadow:inset 0 2px 0 rgba(255,255,255,.18)}
.ck{position:absolute;top:-5px;height:7px;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2)}
.ck-w{left:22%;width:34px;background:#FBFAF4;transform:rotate(-3deg)}
.ck-p{left:31%;width:24px;background:#FF9DC1}
.ck-y{left:38%;width:28px;background:#FFF07A;transform:rotate(4deg)}
.eraser{position:absolute;right:16%;top:-10px;width:58px;height:13px;border-radius:3px;background:linear-gradient(var(--navy) 0 55%,#EDE6D8 55%);box-shadow:0 2px 0 rgba(0,0,0,.2)}
.mb-other{background:#fff;border-radius:6px;padding:4px 4px 0}
@media (min-width:900px){
  .board{padding:16px 16px 0}
  .board-in{padding:26px 34px 34px}
  .bd-price .num{font-size:88px}
  .bd-price i{font-size:30px}
  .bd-name{font-size:22px}
  .bd-free{font-size:18px}
  .bd-ext dl{display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
  .bd-note{display:flex;flex-direction:column;align-items:center;width:150px;padding:16px 8px 14px;background:var(--yellow);color:var(--navy);text-shadow:none;font-size:13px;font-weight:900;line-height:1.3;text-align:center;transform:rotate(5deg);box-shadow:0 6px 10px rgba(0,0,0,.25);transition:transform .3s var(--ease)}
  .bd-note:hover{transform:rotate(0) scale(1.05)}
  .bd-note::before{content:"";position:absolute;top:-9px;left:50%;width:62px;height:18px;margin-left:-31px;background:rgba(255,255,255,.6);transform:rotate(-4deg)}
  .bd-note b{font-size:15px;color:var(--pink-d);white-space:nowrap}
  .bd-note b .num{font-size:26px}
  .board-in{padding-right:180px}
  .bd-ext,.bd-drinks{margin-right:-146px}
  .bd-note{top:92px;right:18px;bottom:auto}
}
@media (min-width:900px) and (max-width:1180px){
  .bd-price .num{font-size:80px}
  .board-in{padding:22px 24px 28px}
  .bd-ext,.bd-drinks{margin-right:0}
  .bd-note{display:none}
  .bd-ext dl{grid-template-columns:1fr}
}
