:root{
  --bg:#100d0c;
  --bg2:#1d1715;
  --text:#f7f2ec;
  --muted:#b9aaa4;
  --line:rgba(255,255,255,.16);
  --red:#d9003f;
  --cyan:#69d5c5;
  --gold:#d9b35f;
  --card:rgba(255,255,255,.07);
  --shadow:0 30px 80px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Noto Sans JP",system-ui,sans-serif;line-height:1.8;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.noise{position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.site-header{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;padding:22px clamp(18px,4vw,54px);transition:.3s;background:linear-gradient(to bottom,rgba(0,0,0,.58),transparent)}
.site-header.scrolled{background:rgba(16,13,12,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:flex-end;gap:6px;line-height:.8;letter-spacing:-.03em}
.brand-main{font-family:"Bebas Neue",sans-serif;font-size:48px;font-style:italic;font-weight:900}
.brand-sub{font-weight:900;font-style:italic;font-size:15px}
.nav{display:flex;gap:26px;font-size:12px;letter-spacing:.12em}
.nav a{opacity:.82}.nav a:hover{opacity:1;color:var(--cyan)}
.menu-btn{display:none;background:none;border:0;width:42px;height:42px;gap:6px;flex-direction:column;justify-content:center}.menu-btn span{display:block;height:2px;background:#fff;border-radius:10px}
.section{padding:110px clamp(20px,6vw,86px)}
.section-dark{background:linear-gradient(135deg,#100d0c,#231613)}
.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;padding-top:140px}
.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 70% 35%,rgba(105,213,197,.22),transparent 30%),radial-gradient(circle at 18% 52%,rgba(217,0,63,.42),transparent 40%),linear-gradient(rgba(0,0,0,.18),rgba(0,0,0,.66)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 800'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop stop-color='%23221918'/%3E%3Cstop offset='1' stop-color='%23080708'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect fill='url(%23g)' width='1200' height='800'/%3E%3Cg opacity='.72' stroke='%2369d5c5' stroke-width='5' fill='none'%3E%3Cpath d='M180 130 C340 240 480 60 650 210 S980 120 1120 280'/%3E%3Cpath d='M190 180 C370 310 510 105 670 260 S1010 170 1130 330'/%3E%3Cpath d='M200 230 C390 360 530 155 690 310 S1030 220 1140 380'/%3E%3C/g%3E%3Cg opacity='.5' stroke='%23d9003f' stroke-width='8'%3E%3Cpath d='M0 690 H1200'/%3E%3Cpath d='M0 650 H1200'/%3E%3C/g%3E%3C/svg%3E") center/cover}
.hero-bg:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(transparent,var(--bg))}
.hero-copy{position:relative;max-width:980px;text-align:center;padding:40px}
.eyebrow{color:var(--cyan);font-size:12px;font-weight:900;letter-spacing:.18em;margin:0 0 14px}
.hero h1,.section h2{font-size:clamp(44px,8vw,112px);line-height:.95;margin:0;font-weight:900;letter-spacing:-.06em}
.section h2{font-size:clamp(24px,3.2vw,42px);line-height:1.12;letter-spacing:-.035em}
.lead{max-width:760px;margin:28px auto 0;color:#efe6df;font-size:clamp(16px,2vw,20px)}
.hero-actions{display:flex;gap:14px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-width:170px;padding:14px 22px;border-radius:999px;font-weight:900;font-size:14px;border:1px solid var(--line);transition:.25s;cursor:pointer}
.btn.primary{background:var(--red);border-color:var(--red);box-shadow:0 18px 50px rgba(217,0,63,.26)}
.btn.ghost{background:rgba(255,255,255,.08);backdrop-filter:blur(14px)}.btn:hover{transform:translateY(-3px)}
.hero-panel{position:absolute;right:42px;bottom:42px;width:min(310px,calc(100vw - 40px));padding:22px;border:1px solid var(--line);background:rgba(16,13,12,.62);backdrop-filter:blur(16px);box-shadow:var(--shadow)}
.panel-label{font-family:"Bebas Neue";letter-spacing:.13em;color:var(--muted);margin:0}.hero-panel strong{display:block;font-size:24px;line-height:1.2}.hero-panel span{color:var(--muted);font-size:13px}
.quick-links{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#171210}.quick-links a{padding:24px clamp(18px,3vw,44px);border-right:1px solid var(--line);font-weight:900}.quick-links span{display:block;color:var(--red);font-family:"Bebas Neue";font-size:24px;line-height:1}
.section-head{margin-bottom:48px}.section-head.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:44px;align-items:end}.section-head p:not(.eyebrow){color:var(--muted);margin:0}
.concept-grid,.use-grid,.option-grid,.recruit-grid{display:grid;gap:18px}.concept-grid{grid-template-columns:repeat(3,1fr)}
.concept-grid article,.use-grid article,.option-grid article,.recruit-grid article{background:var(--card);border:1px solid var(--line);padding:28px;border-radius:22px;box-shadow:var(--shadow)}
.number{font-family:"Bebas Neue";font-size:42px;color:var(--red)}h3{line-height:1.25;margin:10px 0 10px;font-size:22px}article p{color:var(--muted);margin:0}

.floor-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:start}
.map-card{position:sticky;top:100px;background:#0d0b0b;border:1px solid var(--line);border-radius:28px;padding:18px;box-shadow:var(--shadow)}
.floor-visual{position:relative;min-height:520px;border-radius:20px;overflow:hidden;background:#050505}
.floor-photo{position:absolute;inset:0;opacity:0;transform:scale(1.04);transition:opacity .45s ease,transform 1.1s ease;background-position:center;background-size:cover}
.floor-photo.active{opacity:1;transform:scale(1)}
.floor-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.8)),radial-gradient(circle at 50% 30%,rgba(255,255,255,.18),transparent 34%)}
.floor-photo:after{content:"";position:absolute;inset:14%;border:1px solid rgba(255,255,255,.22);transform:perspective(520px) rotateX(58deg) rotateZ(-8deg);box-shadow:0 0 50px rgba(105,213,197,.22)}
.floor-photo span{position:absolute;left:24px;top:22px;z-index:2;font-family:"Bebas Neue";font-size:clamp(42px,6vw,84px);line-height:.9;letter-spacing:.02em;text-shadow:0 10px 28px rgba(0,0,0,.5)}
.photo-main{background-image:radial-gradient(circle at 50% 18%,rgba(105,213,197,.44),transparent 28%),linear-gradient(135deg,#1b1618,#040404 64%),linear-gradient(90deg,rgba(217,0,63,.38),transparent)}
.photo-cafe{background-image:radial-gradient(circle at 26% 60%,rgba(217,179,95,.42),transparent 28%),linear-gradient(135deg,#2a1710,#050505 68%),linear-gradient(90deg,rgba(105,213,197,.22),transparent)}
.photo-sub{background-image:radial-gradient(circle at 72% 32%,rgba(255,255,255,.26),transparent 25%),linear-gradient(135deg,#171d22,#050505 70%),linear-gradient(90deg,rgba(105,213,197,.26),transparent)}
.photo-vip{background-image:radial-gradient(circle at 70% 26%,rgba(217,179,95,.48),transparent 29%),linear-gradient(135deg,#2b2013,#050505 66%),linear-gradient(90deg,rgba(217,0,63,.24),transparent)}
.photo-extra{background-image:radial-gradient(circle at 38% 70%,rgba(217,0,63,.45),transparent 34%),linear-gradient(135deg,#160912,#030303 70%),linear-gradient(90deg,rgba(105,213,197,.18),transparent)}

/* Floor gallery visual variations. Replace these gradients with real images later. */
.floor-photo.thumb-main-01,.gallery-thumb.thumb-main-01:before{background-image:radial-gradient(circle at 50% 18%,rgba(105,213,197,.44),transparent 28%),linear-gradient(135deg,#1b1618,#040404 64%),linear-gradient(90deg,rgba(217,0,63,.38),transparent)}
.floor-photo.thumb-main-02,.gallery-thumb.thumb-main-02:before{background-image:radial-gradient(circle at 72% 54%,rgba(217,0,63,.42),transparent 30%),linear-gradient(135deg,#151010,#030303 68%),linear-gradient(100deg,rgba(105,213,197,.2),transparent)}
.floor-photo.thumb-main-03,.gallery-thumb.thumb-main-03:before{background-image:radial-gradient(circle at 30% 25%,rgba(255,255,255,.23),transparent 22%),radial-gradient(circle at 70% 55%,rgba(105,213,197,.42),transparent 30%),linear-gradient(135deg,#20151d,#050505 72%)}
.floor-photo.thumb-cafe-01,.gallery-thumb.thumb-cafe-01:before{background-image:radial-gradient(circle at 26% 60%,rgba(217,179,95,.42),transparent 28%),linear-gradient(135deg,#2a1710,#050505 68%),linear-gradient(90deg,rgba(105,213,197,.22),transparent)}
.floor-photo.thumb-cafe-02,.gallery-thumb.thumb-cafe-02:before{background-image:radial-gradient(circle at 58% 30%,rgba(105,213,197,.32),transparent 25%),linear-gradient(135deg,#22130e,#050505 70%),linear-gradient(90deg,rgba(217,179,95,.25),transparent)}
.floor-photo.thumb-cafe-03,.gallery-thumb.thumb-cafe-03:before{background-image:radial-gradient(circle at 72% 62%,rgba(217,179,95,.46),transparent 30%),linear-gradient(135deg,#261714,#050505 66%),linear-gradient(90deg,rgba(217,0,63,.18),transparent)}
.floor-photo.thumb-sub-01,.gallery-thumb.thumb-sub-01:before{background-image:radial-gradient(circle at 72% 32%,rgba(255,255,255,.26),transparent 25%),linear-gradient(135deg,#171d22,#050505 70%),linear-gradient(90deg,rgba(105,213,197,.26),transparent)}
.floor-photo.thumb-sub-02,.gallery-thumb.thumb-sub-02:before{background-image:radial-gradient(circle at 24% 58%,rgba(105,213,197,.32),transparent 28%),linear-gradient(135deg,#101820,#050505 72%),linear-gradient(90deg,rgba(217,0,63,.2),transparent)}
.floor-photo.thumb-sub-03,.gallery-thumb.thumb-sub-03:before{background-image:radial-gradient(circle at 66% 48%,rgba(217,179,95,.32),transparent 27%),linear-gradient(135deg,#171414,#050505 68%),linear-gradient(90deg,rgba(255,255,255,.12),transparent)}
.floor-photo.thumb-vip-01,.gallery-thumb.thumb-vip-01:before{background-image:radial-gradient(circle at 70% 26%,rgba(217,179,95,.48),transparent 29%),linear-gradient(135deg,#2b2013,#050505 66%),linear-gradient(90deg,rgba(217,0,63,.24),transparent)}
.floor-photo.thumb-vip-02,.gallery-thumb.thumb-vip-02:before{background-image:radial-gradient(circle at 34% 38%,rgba(217,179,95,.36),transparent 27%),linear-gradient(135deg,#211810,#050505 68%),linear-gradient(100deg,rgba(105,213,197,.18),transparent)}
.floor-photo.thumb-vip-03,.gallery-thumb.thumb-vip-03:before{background-image:radial-gradient(circle at 62% 62%,rgba(255,255,255,.2),transparent 24%),linear-gradient(135deg,#251c15,#050505 70%),linear-gradient(90deg,rgba(217,0,63,.18),transparent)}
.floor-photo.thumb-extra-01,.gallery-thumb.thumb-extra-01:before{background-image:radial-gradient(circle at 38% 70%,rgba(217,0,63,.45),transparent 34%),linear-gradient(135deg,#160912,#030303 70%),linear-gradient(90deg,rgba(105,213,197,.18),transparent)}
.floor-photo.thumb-extra-02,.gallery-thumb.thumb-extra-02:before{background-image:radial-gradient(circle at 64% 35%,rgba(105,213,197,.34),transparent 30%),linear-gradient(135deg,#100710,#020202 70%),linear-gradient(90deg,rgba(217,0,63,.28),transparent)}
.floor-photo.thumb-extra-03,.gallery-thumb.thumb-extra-03:before{background-image:radial-gradient(circle at 45% 38%,rgba(217,0,63,.5),transparent 28%),linear-gradient(135deg,#1c0910,#030303 68%),linear-gradient(90deg,rgba(217,179,95,.15),transparent)}
.floor-visual-caption{position:absolute;left:18px;right:18px;bottom:18px;z-index:3;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(8,7,7,.62);backdrop-filter:blur(16px)}
.floor-visual-caption p{margin:0 0 5px;color:var(--cyan);font-size:12px;font-weight:900;letter-spacing:.12em}.floor-visual-caption strong{display:block;line-height:1.45}
.floor-gallery-block{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.045)}.gallery-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px}.gallery-head p{margin:0;font-family:"Bebas Neue";font-size:28px;letter-spacing:.04em}.gallery-head span{color:var(--muted);font-size:12px}.floor-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery-thumb{position:relative;min-height:92px;border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:0;background:#111;color:#fff;cursor:pointer}.gallery-thumb:before{content:"";position:absolute;inset:0;background-image:var(--thumb-image);background-position:center;background-size:cover;opacity:.78;transition:.25s}.gallery-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.72))}.gallery-thumb span{position:absolute;left:10px;bottom:8px;z-index:2;font-family:"Bebas Neue";font-size:20px;letter-spacing:.04em}.gallery-thumb.active{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(105,213,197,.18)}.gallery-thumb:hover:before,.gallery-thumb.active:before{opacity:1;transform:scale(1.07)}
.thumb-main:before{background-image:radial-gradient(circle at 50% 18%,rgba(105,213,197,.44),transparent 28%),linear-gradient(135deg,#1b1618,#040404 64%)}.thumb-cafe:before{background-image:radial-gradient(circle at 26% 60%,rgba(217,179,95,.42),transparent 28%),linear-gradient(135deg,#2a1710,#050505 68%)}.thumb-sub:before{background-image:radial-gradient(circle at 72% 32%,rgba(255,255,255,.26),transparent 25%),linear-gradient(135deg,#171d22,#050505 70%)}.thumb-vip:before{background-image:radial-gradient(circle at 70% 26%,rgba(217,179,95,.48),transparent 29%),linear-gradient(135deg,#2b2013,#050505 66%)}.thumb-extra:before{background-image:radial-gradient(circle at 38% 70%,rgba(217,0,63,.45),transparent 34%),linear-gradient(135deg,#160912,#030303 70%)}
.floor-list{display:grid;gap:12px}.floor-card{cursor:pointer;border-left:4px solid transparent}.floor-card.active{border-left-color:var(--cyan);background:rgba(105,213,197,.1)}.floor-card div{display:flex;align-items:center;gap:10px}.floor-card span{display:inline-block;background:var(--red);padding:2px 9px;border-radius:5px;font-weight:900}.floor-card strong{display:block;margin-top:12px;font-family:"Bebas Neue";font-size:42px;color:#fff}
.use-grid{grid-template-columns:repeat(3,1fr)}.use-grid b{font-family:"Bebas Neue";font-size:32px;color:var(--red)}
.price-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);background:rgba(255,255,255,.04)}.price-table{width:100%;min-width:760px;border-collapse:collapse}.price-table th,.price-table td{padding:18px 20px;border-bottom:1px solid var(--line);text-align:left}.price-table thead th{background:rgba(217,0,63,.34);font-family:"Bebas Neue";font-size:28px;letter-spacing:.04em}.price-table tbody th{color:#fff}.price-table td{font-family:"Bebas Neue";font-size:34px}.price-table tr:last-child th,.price-table tr:last-child td{border-bottom:0}.option-grid{grid-template-columns:repeat(3,1fr);margin-top:20px}.option-grid span{font-family:"Bebas Neue";font-size:25px;color:var(--cyan)}.option-grid strong{display:block;font-family:"Bebas Neue";font-size:42px;line-height:1.1}.note{color:var(--muted);font-size:13px;margin-top:22px}
.recruit{background:radial-gradient(circle at 78% 10%,rgba(217,0,63,.16),transparent 34%),#140f0e}.recruit-grid{grid-template-columns:repeat(3,1fr)}.recruit-grid span{font-family:"Bebas Neue";font-size:42px;color:var(--red)}.job-box{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.job-box dl{margin:0;padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.06)}.job-box dt{color:var(--cyan);font-weight:900}.job-box dd{margin:4px 0 0;color:var(--muted)}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px}.contact p{color:var(--muted)}.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.contact-form label{display:grid;gap:7px;color:var(--muted);font-size:13px}.contact-form label:nth-child(5),.contact-form .btn,.form-note{grid-column:1/-1}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;padding:14px 16px;font:inherit}select option{color:#111}textarea{min-height:140px;resize:vertical}.form-note{color:var(--muted);font-size:12px}.footer{padding:50px clamp(20px,6vw,86px);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:end;color:var(--muted)}
@media (max-width: 920px){.nav{position:fixed;inset:72px 14px auto 14px;background:rgba(16,13,12,.94);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:20px;padding:22px;display:none;flex-direction:column}.nav.open{display:flex}.menu-btn{display:flex}.hero-panel{position:relative;right:auto;bottom:auto;margin-top:20px}.quick-links,.concept-grid,.use-grid,.option-grid,.recruit-grid,.section-head.split,.floor-layout,.contact,.job-box{grid-template-columns:1fr}.map-card{position:relative;top:auto}.contact-form{grid-template-columns:1fr}.footer{display:block}.brand-main{font-size:40px}.section{padding:80px 20px}.quick-links a{border-bottom:1px solid var(--line)}.floor-visual{min-height:420px}.gallery-head{display:block}.gallery-head span{display:block;margin-top:2px}}
@media (max-width: 560px){.hero-copy{text-align:left;padding:20px}.hero-actions{justify-content:flex-start}.quick-links{grid-template-columns:1fr 1fr}.floor-visual{min-height:360px}.floor-gallery{grid-template-columns:1fr}.site-header{padding-left:16px;padding-right:16px}.price-table thead th{font-size:22px}.price-table td{font-size:28px}}

/* --- TOP / CONCEPT revision --- */
.top-visual{
  min-height:auto;
  height:clamp(460px,62svh,760px);
  padding:0;
  display:grid;
  place-items:center;
  background:#8c0808;
}
.top-visual .hero-bg{
  background:
    linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.02) 48%,rgba(255,42,24,.18)),
    url("img/bgTopBk.webp") center/cover no-repeat,
    radial-gradient(circle at 68% 22%,rgba(255,77,43,.65),transparent 34%),
    linear-gradient(135deg,#210808 0%,#b70012 55%,#ff2a1f 100%);
}
.top-visual .hero-bg:after{
  display:none;
}
.hero-logo-wrap{
  position:relative;
  z-index:1;
  width:min(360px,48vw);
  display:grid;
  place-items:center;
}
.hero-logo{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 22px 42px rgba(0,0,0,.26));
}

.hero-tagline{
  margin-top:clamp(18px,2.4vw,30px);
  text-align:center;
  color:#fff;
  text-shadow:0 10px 28px rgba(0,0,0,.36);
  letter-spacing:.04em;
}
.hero-tagline-en{
  margin:0;
  font-family:"Bebas Neue", sans-serif;
  font-size:clamp(28px,3.7vw,58px);
  line-height:.95;
  font-weight:400;
}
.hero-tagline-ja{
  margin:clamp(10px,1.2vw,16px) 0 0;
  font-size:clamp(12px,1.15vw,16px);
  font-weight:500;
  letter-spacing:.08em;
}
.concept-section{
  background:#f7f5f2;
  color:#8e0808;
  padding:clamp(72px,9vw,130px) 20px clamp(78px,10vw,140px);
}
.concept-copy{
  max-width:760px;
  margin:0 auto;
  text-align:center;
  font-size:clamp(16px,2.05vw,20px);
  line-height:2.05;
  letter-spacing:.02em;
  font-weight:500;
}
.concept-copy p{
  margin:0 0 1.35em;
}
.concept-copy p:last-child{
  margin-bottom:0;
}
.concept-copy strong{
  font-weight:900;
}

@media (max-width: 920px){
  .brand{display:none;}
  .site-header{justify-content:flex-end;background:transparent;}
  .site-header.scrolled{background:rgba(16,13,12,.82);}
  .top-visual{height:56svh;min-height:420px;}
  .hero-logo-wrap{width:min(330px,55vw);}
  .concept-copy{font-size:17px;line-height:2;}
}
@media (max-width: 560px){
  .top-visual{height:54svh;min-height:360px;}
  .hero-logo-wrap{width:min(260px,62vw);}
  .concept-section{padding:66px 20px 76px;}
  .concept-copy{font-size:15px;line-height:1.9;text-align:center;}
}


/* Real floor image mode */
.floor-photo{
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.floor-photo:before{
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.68));
}
.floor-photo:after{
  display:none;
}
.floor-gallery{
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
}
.gallery-thumb:before{
  background-image:var(--thumb-image);
}
.gallery-thumb span{
  text-shadow:0 2px 12px rgba(0,0,0,.9);
}

/* thumbnail img fallback */

.gallery-thumb img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.78;
  transition:.25s;
}
.gallery-thumb:hover img,
.gallery-thumb.active img{
  opacity:1;
  transform:scale(1.07);
}

.gallery-thumb:before{background-image:none;}

/* --- Floor detail label revision --- */
.floor-photo span,
.floor-visual-caption{
  display:none !important;
}
.floor-card{
  padding:22px 24px;
}
.floor-card div{
  align-items:flex-start;
}
.floor-card h3{
  margin:0;
  font-size:clamp(20px,2vw,26px);
}
.floor-purpose{
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  margin:12px 0 14px !important;
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  color:#f7f2ec !important;
  font-size:12px;
  line-height:1.45;
  font-weight:800;
  letter-spacing:.02em;
}
.floor-card strong{
  margin-top:14px;
}
@media (max-width:560px){
  .floor-purpose{
    display:flex;
    border-radius:14px;
    font-size:11px;
  }
}


/* --- Refined section headline size --- */
.section-head{
  margin-bottom:40px;
}
.section-head .eyebrow{
  margin-bottom:10px;
}
.section-head h2{
  max-width:720px;
  font-weight:900;
}
@media (max-width: 920px){
  .section h2{font-size:clamp(23px,6vw,34px);}
  .section-head{margin-bottom:30px;}
}


/* --- Floor capacity display --- */
.floor-card > strong{
  display:none;
}
.floor-capacity{
  margin:18px 0 0 auto;
  width:min(230px, 100%);
  text-align:right;
  color:#fff;
}
.floor-capacity > span{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-left:auto;
  color:#121212;
  font-size:13px;
  line-height:1;
  font-weight:900;
  letter-spacing:.18em;
  z-index:1;
}
.floor-capacity > span::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:10px;
  transform:translateY(-50%);
  background:var(--cyan);
  z-index:-2;
}
.floor-capacity > span::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:110px;
  height:36px;
  border-radius:999px;
  transform:translate(-50%, -50%);
  background:var(--cyan);
  z-index:-1;
}
.floor-capacity p{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:8px;
  margin:18px 0 0;
  line-height:.8;
}
.floor-capacity b{
  font-family:"Bebas Neue", sans-serif;
  font-size:clamp(66px, 8vw, 112px);
  line-height:.75;
  font-weight:400;
  letter-spacing:.02em;
}
.floor-capacity em{
  padding-bottom:.08em;
  font-style:normal;
  font-size:clamp(26px, 3vw, 42px);
  line-height:1;
  font-weight:900;
}
@media (max-width: 920px){
  .floor-capacity{
    width:min(210px, 100%);
  }
  .floor-capacity b{
    font-size:clamp(58px, 18vw, 92px);
  }
}

/* --- Compact polish: less heavy headings, less round corners, cleaner capacity --- */
.section h2,
.section-head h2{
  font-weight:700 !important;
  font-size:clamp(24px,3vw,38px) !important;
  line-height:1.18 !important;
  letter-spacing:-.025em !important;
}

/* 丸すぎた角丸を全体的に少し締める */
.concept-grid article,
.use-grid article,
.option-grid article,
.recruit-grid article{
  border-radius:12px;
}
.map-card{
  border-radius:14px;
  padding:16px;
}
.floor-visual{
  border-radius:10px;
}
.floor-gallery-block{
  border-radius:10px;
}
.gallery-thumb{
  border-radius:8px;
}
.price-table-wrap{
  border-radius:12px;
}
.job-box dl{
  border-radius:10px;
}
.nav{
  border-radius:10px;
}
.floor-card span{
  border-radius:4px;
}
.floor-purpose{
  border-radius:7px !important;
}

/* 以前の大きすぎる収容人数デザインを無効化 */
.floor-card > strong,
.floor-capacity{
  display:none !important;
}

.capacity-box{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:14px;
  width:100%;
  margin:16px 0 0 auto;
  text-align:right;
}
.capacity-label{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
  flex:0 0 auto;
}
.capacity-label::before{
  content:"";
  display:block;
  width:34px;
  height:5px;
  background:var(--cyan);
}
.capacity-label span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:5px 9px 6px;
  border-radius:5px;
  background:var(--cyan);
  color:#111;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.08em;
  white-space:nowrap;
}
.capacity-number{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:5px;
  min-width:90px;
  color:#fff;
  line-height:.82;
}
.capacity-number strong{
  font-family:"Bebas Neue", sans-serif;
  font-size:clamp(46px,5vw,68px);
  line-height:.78;
  font-weight:400;
  letter-spacing:.01em;
}
.capacity-number span{
  padding-bottom:3px;
  background:none !important;
  color:#fff;
  font-size:22px;
  line-height:1;
  font-weight:900;
}

@media (max-width:920px){
  .section h2,
  .section-head h2{
    font-size:clamp(23px,5.7vw,32px) !important;
  }
  .capacity-box{
    justify-content:flex-start;
    text-align:left;
  }
}

@media (max-width:560px){
  .capacity-box{
    gap:10px;
  }
  .capacity-label::before{
    width:22px;
  }
  .capacity-number strong{
    font-size:48px;
  }
}


/* --- Final floor-only cleanup --- */
.section h2,
.section-head h2{
  font-family:"Noto Sans JP", sans-serif !important;
  font-weight:500 !important;
  font-size:clamp(28px,3.4vw,44px) !important;
  line-height:1.22 !important;
  letter-spacing:-.035em !important;
}
.section-head .eyebrow{
  letter-spacing:.22em;
}

/* 角丸をさらに抑える */
.map-card{
  border-radius:10px !important;
  padding:14px !important;
}
.floor-visual{
  border-radius:6px !important;
}
.floor-gallery-block{
  border-radius:8px !important;
}
.gallery-thumb{
  border-radius:6px !important;
}
.floor-card{
  border-radius:0 !important;
  padding:22px 24px !important;
}
.floor-card.active{
  background:rgba(105,213,197,.07) !important;
}
.floor-purpose{
  border-radius:4px !important;
}

/* 収容人数：右端で縦中央揃え。ベースライン合わせは使わない */
.capacity-box{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:12px !important;
  width:100% !important;
  margin:16px 0 0 auto !important;
  padding:0 !important;
  text-align:right !important;
}
.capacity-label{
  margin:0 !important;
  display:flex !important;
  align-items:center !important;
}
.capacity-label::before,
.capacity-label::after{
  display:none !important;
}
.capacity-label span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:5px 10px !important;
  border:1px solid rgba(105,213,197,.75) !important;
  border-radius:4px !important;
  background:transparent !important;
  color:var(--cyan) !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  white-space:nowrap !important;
}
.capacity-number{
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  line-height:1 !important;
}
.capacity-number strong{
  font-family:"Bebas Neue", sans-serif !important;
  font-size:clamp(34px,3.8vw,52px) !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
}
.capacity-number span{
  padding:0 !important;
  background:none !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1 !important;
  font-weight:800 !important;
}

/* 不要セクション削除後の余白調整 */
#floors{
  padding-bottom:clamp(70px,8vw,120px) !important;
}
.footer{
  padding:30px clamp(20px,6vw,86px) !important;
  border-top:1px solid var(--line) !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-end !important;
  gap:28px !important;
}
.footer-brand p{
  margin:8px 0 0 !important;
  color:var(--muted) !important;
  font-size:12px !important;
  letter-spacing:.04em !important;
}
.footer-info{
  text-align:right !important;
  color:rgba(255,255,255,.72) !important;
  font-size:13px !important;
  line-height:1.8 !important;
}
.footer-info p{
  margin:0 !important;
}

@media (max-width:920px){
  .section h2,
  .section-head h2{
    font-size:clamp(25px,6vw,34px) !important;
  }
  .capacity-box{
    justify-content:flex-start !important;
    text-align:left !important;
    gap:10px !important;
  }
  .footer{
    display:block !important;
  }
  .footer-info{
    margin-top:18px !important;
    text-align:left !important;
  }
}


/* --- Tap-only floor switching + final capacity alignment fix --- */
.floor-card:hover{
  background:transparent;
}
.floor-card.active{
  background:rgba(105,213,197,.07) !important;
}
.floor-card:focus-visible{
  outline:1px solid rgba(105,213,197,.7);
  outline-offset:3px;
}
.floor-card > div > span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--red) !important;
  color:#fff !important;
  padding:3px 10px !important;
  border-radius:4px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
}
.floor-card .capacity-box,
.floor-card .capacity-label,
.floor-card .capacity-number,
.floor-card .capacity-number span{
  box-sizing:border-box !important;
}
.floor-card .capacity-box{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  width:100% !important;
  margin:18px 0 0 !important;
  padding:0 !important;
  white-space:nowrap !important;
}
.floor-card .capacity-label{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:24px !important;
  margin:0 !important;
  padding:0 !important;
  flex:0 0 auto !important;
}
.floor-card .capacity-label::before,
.floor-card .capacity-label::after{
  display:none !important;
}
.floor-card .capacity-label span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:24px !important;
  padding:0 10px !important;
  border:1px solid rgba(105,213,197,.82) !important;
  border-radius:4px !important;
  background:transparent !important;
  color:var(--cyan) !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.06em !important;
}
.floor-card .capacity-number{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:4px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  color:#fff !important;
  line-height:1 !important;
}
.floor-card .capacity-number strong{
  display:inline-block !important;
  font-family:"Bebas Neue", sans-serif !important;
  font-size:clamp(34px,3.2vw,46px) !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  margin:0 !important;
  padding:0 !important;
}
.floor-card .capacity-number span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:24px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-size:18px !important;
  font-weight:800 !important;
  line-height:1 !important;
  transform:none !important;
}
@media (max-width:920px){
  .floor-card .capacity-box{
    justify-content:flex-end !important;
  }
}
@media (max-width:560px){
  .floor-card .capacity-box{
    justify-content:flex-start !important;
    gap:8px !important;
  }
  .floor-card .capacity-number strong{
    font-size:38px !important;
  }
}


/* --- PC top full screen --- */
@media (min-width: 921px){
  .top-visual{
    height:100svh;
    min-height:720px;
  }
}

/* --- Mobile top visual 9:16 --- */
@media (max-width: 560px){
  .top-visual{
    width:100%;
    height:calc(100vw * 16 / 9) !important;
    min-height:0 !important;
    max-height:100svh;
  }
  .top-visual .hero-bg{
    background-position:center top;
    background-size:cover;
  }
  .hero-logo-wrap{
    width:min(260px,62vw);
  }
  .hero-tagline{
    margin-top:18px;
  }
  .hero-tagline-en{
    font-size:34px;
  }
  .hero-tagline-ja{
    font-size:12px;
    letter-spacing:.04em;
  }
}


/* --- Back to top button --- */
.back-to-top{
  position:fixed;
  right:clamp(16px,3vw,34px);
  bottom:clamp(18px,3vw,34px);
  z-index:45;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid rgba(105,213,197,.72);
  border-radius:50%;
  background:rgba(16,13,12,.72);
  color:#fff;
  font-family:"Bebas Neue",sans-serif;
  font-size:18px;
  letter-spacing:.08em;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .25s ease, transform .25s ease, visibility .25s ease, background .25s ease;
  backdrop-filter:blur(12px);
}
.back-to-top::before{
  content:"";
  width:10px;
  height:10px;
  border-top:2px solid var(--cyan);
  border-left:2px solid var(--cyan);
  transform:rotate(45deg);
  margin-top:6px;
}
.back-to-top span{
  line-height:1;
  margin-top:-8px;
}
.back-to-top.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{
  background:rgba(105,213,197,.16);
}
@media (max-width:560px){
  .back-to-top{
    width:52px;
    height:52px;
    right:14px;
    bottom:14px;
    font-size:16px;
  }
}


/* --- Gallery caption / mobile drawer refinement --- */
.gallery-thumb span{
  display:none !important;
}
.gallery-thumb:after{
  display:none !important;
}
.gallery-thumb img{
  opacity:.82;
}
.gallery-thumb:hover img,
.gallery-thumb.active img{
  opacity:1;
  transform:scale(1.04);
}

@media (max-width: 920px){
  .nav{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:auto !important;
    bottom:0 !important;
    width:min(78vw,320px) !important;
    height:100svh !important;
    padding:92px 28px 32px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    background:rgba(12,10,10,.96) !important;
    border:0 !important;
    border-right:1px solid rgba(255,255,255,.16) !important;
    border-radius:0 !important;
    box-shadow:28px 0 70px rgba(0,0,0,.42) !important;
    backdrop-filter:blur(18px) !important;
    transform:translateX(-105%) !important;
    opacity:1 !important;
    transition:transform .38s cubic-bezier(.2,.8,.2,1) !important;
    z-index:60 !important;
  }
  .nav.open{
    transform:translateX(0) !important;
  }
  .nav a{
    display:block;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.12);
    font-size:13px;
    letter-spacing:.18em;
  }
  .menu-btn{
    position:fixed;
    top:18px;
    right:16px;
    z-index:70;
  }
  .menu-btn.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  .menu-btn.open span:nth-child(2){opacity:0}
  .menu-btn.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .menu-btn span{transition:.25s ease;}
  body.nav-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.48);
    z-index:55;
  }
}

/* --- Drawer close fix --- */
@media (max-width: 920px){
  .site-header{
    z-index:90 !important;
  }
  body.nav-open .site-header{
    z-index:90 !important;
  }
  .menu-btn{
    position:fixed !important;
    top:18px !important;
    right:16px !important;
    z-index:100 !important;
  }
  body.nav-open::before{
    z-index:55 !important;
  }
}
body.nav-open{
  overflow:hidden;
}

/* --- Mobile floor stack: photo -> gallery -> description -> capacity --- */
.mobile-floor-stack{
  display:none;
}
.gallery-head{
  display:none !important;
}
@media (max-width: 760px){
  #floors .section-head{
    margin-bottom:26px;
  }
  #floors .floor-layout{
    display:none !important;
  }
  .mobile-floor-stack{
    display:grid;
    gap:34px;
  }
  .mobile-floor-card{
    border:1px solid rgba(255,255,255,.12);
    background:rgba(255,255,255,.035);
    overflow:hidden;
    border-radius:10px;
  }
  .mobile-floor-main{
    position:relative;
    aspect-ratio: 4 / 5;
    background:#050505;
    overflow:hidden;
  }
  .mobile-floor-main img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .mobile-floor-body{
    padding:18px 16px 20px;
  }
  .mobile-floor-title{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:12px;
  }
  .mobile-floor-title span{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:36px;
    padding:3px 8px;
    border-radius:4px;
    background:var(--red);
    color:#fff;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
  }
  .mobile-floor-title h3{
    margin:0;
    font-family:"Bebas Neue", "Noto Sans JP", sans-serif;
    font-size:34px;
    line-height:.96;
    letter-spacing:.02em;
    font-weight:400;
  }
  .mobile-floor-gallery{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:10px 16px 0;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-floor-gallery::-webkit-scrollbar{
    display:none;
  }
  .mobile-floor-thumb{
    flex:0 0 74px;
    width:74px;
    height:58px;
    border:1px solid rgba(255,255,255,.14);
    background:#050505;
    padding:0;
    overflow:hidden;
    border-radius:6px;
    opacity:.68;
    scroll-snap-align:start;
  }
  .mobile-floor-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .mobile-floor-thumb.active{
    opacity:1;
    border-color:rgba(105,213,197,.8);
  }
  .mobile-floor-purpose{
    display:inline-block;
    margin:0 0 12px;
    padding:5px 10px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    color:rgba(255,255,255,.82);
    font-size:11px;
    line-height:1.5;
  }
  .mobile-floor-text{
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:13px;
    line-height:1.85;
  }
  .mobile-capacity{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    margin-top:16px;
    color:#fff;
  }
  .mobile-capacity span:first-child{
    padding:4px 8px;
    border:1px solid rgba(105,213,197,.55);
    border-radius:999px;
    color:var(--cyan);
    font-size:10px;
    font-weight:700;
    line-height:1;
  }
  .mobile-capacity strong{
    font-family:"Bebas Neue", sans-serif;
    font-size:34px;
    font-weight:400;
    line-height:1;
  }
  .mobile-capacity span:last-child{
    font-size:12px;
    line-height:1;
    opacity:.8;
  }
}

/* --- 2026-07-10: remove header logo text / black base top visual --- */
.site-header .brand{
  display:none !important;
}
.site-header{
  justify-content:flex-end !important;
  gap:28px;
}
.site-header .nav{
  margin-right:auto;
}
.top-visual{
  background:#000 !important;
}
.top-visual .hero-bg{
  background:
    linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.56) 58%, rgba(0,0,0,.92) 100%),
    linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.46) 50%, rgba(0,0,0,.82) 100%),
    url("img/bgTopBk.webp") center/cover no-repeat,
    #000 !important;
  filter:saturate(.72) brightness(.62);
}
.top-visual .hero-bg::after{
  display:none !important;
}
@media (max-width:920px){
  .site-header{
    justify-content:flex-end !important;
  }
  .site-header .nav{
    margin-right:0;
  }
}

/* --- 2026-07-10 final: black based top / rental sections / footer image logo --- */
.site-header .brand{
  display:none !important;
}
.site-header{
  justify-content:flex-end !important;
}
.site-header .nav{
  margin-left:auto;
}
.top-visual{
  background:#000 !important;
}
.top-visual .hero-bg{
  background:
    linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.38) 48%, rgba(0,0,0,.82) 100%),
    linear-gradient(90deg, rgba(0,0,0,.74) 0%, rgba(0,0,0,.26) 48%, rgba(0,0,0,.58) 100%),
    url("img/bgTopBk.webp") center/cover no-repeat,
    #000 !important;
  filter:saturate(.86) brightness(.82) !important;
}
.top-visual .hero-bg::after{
  display:none !important;
}

.rental-section{
  padding-top:clamp(76px,8vw,120px) !important;
  border-top:1px solid rgba(255,255,255,.08);
}
.rental-price-table{
  border-radius:8px !important;
  background:rgba(255,255,255,.035) !important;
}
.rental-option-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  margin-top:18px;
}
.rental-option-grid article{
  border:1px solid var(--line);
  background:rgba(255,255,255,.045);
  padding:18px;
  border-radius:6px;
}
.rental-option-grid span{
  display:block;
  font-family:"Bebas Neue", sans-serif;
  color:var(--cyan);
  font-size:22px;
  line-height:1;
  letter-spacing:.06em;
}
.rental-option-grid strong{
  display:block;
  margin-top:8px;
  font-family:"Bebas Neue", sans-serif;
  font-size:36px;
  line-height:1;
  font-weight:400;
}
.rental-option-grid p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
}
.rental-note{
  color:var(--muted);
  font-size:12px;
  margin:18px 0 0;
}
.rental-contact-section{
  background:#f7f5f2;
  color:#201817;
  padding-top:clamp(70px,8vw,110px) !important;
  padding-bottom:clamp(70px,8vw,110px) !important;
}
.rental-contact-section .eyebrow{
  color:#8e0808;
}
.rental-contact-section h2{
  color:#201817;
}
.rental-contact-box{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);
  gap:42px;
  align-items:start;
}
.rental-contact-box > div > p:not(.eyebrow){
  color:#5f5551;
  margin:18px 0 0;
}
.rental-contact-list{
  display:grid;
  gap:10px;
}
.rental-contact-list dl{
  margin:0;
  padding:18px 20px;
  border:1px solid rgba(32,24,23,.14);
  background:#fff;
  border-radius:6px;
}
.rental-contact-list dt{
  color:#8e0808;
  font-weight:900;
  font-size:12px;
  letter-spacing:.1em;
}
.rental-contact-list dd{
  margin:5px 0 0;
  color:#403836;
  font-size:14px;
  line-height:1.8;
}
.footer-logo{
  display:block;
  width:min(190px, 44vw);
  height:auto;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.24));
}
.footer-brand .brand{
  display:none !important;
}
@media (max-width:920px){
  .site-header .nav{
    margin-left:0;
  }
  .rental-option-grid,
  .rental-contact-box{
    grid-template-columns:1fr;
  }
}
@media (max-width:560px){
  .rental-option-grid{
    grid-template-columns:1fr 1fr;
  }
  .rental-option-grid article{
    padding:14px;
  }
  .rental-option-grid strong{
    font-size:30px;
  }
  .footer-logo{
    width:150px;
  }
}

/* --- Rental contact form --- */
.rental-form{
  display:grid;
  gap:14px;
  padding:22px;
  border:1px solid rgba(32,24,23,.14);
  background:#fff;
  border-radius:8px;
  box-shadow:0 24px 60px rgba(32,24,23,.08);
}
.rental-form .form-row{
  display:grid;
  gap:12px;
}
.rental-form .two-col{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.rental-form .three-col{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.rental-form label{
  display:grid;
  gap:7px;
}
.rental-form label span{
  color:#8e0808;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
}
.rental-form input,
.rental-form select,
.rental-form textarea{
  width:100%;
  border:1px solid rgba(32,24,23,.16);
  border-radius:5px;
  background:#f7f5f2;
  color:#201817;
  padding:12px 13px;
  font:inherit;
  font-size:14px;
  outline:none;
}
.rental-form input:focus,
.rental-form select:focus,
.rental-form textarea:focus{
  border-color:#8e0808;
  background:#fff;
}
.rental-form textarea{
  min-height:138px;
  resize:vertical;
}
.form-submit-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:4px;
}
.form-submit-row p{
  margin:0;
  color:#7b706c;
  font-size:12px;
  line-height:1.65;
}
.form-submit{
  flex:0 0 auto;
  min-width:150px;
  border:1px solid #201817;
  border-radius:999px;
  background:#201817;
  color:#fff;
  padding:12px 24px;
  font-family:"Bebas Neue", sans-serif;
  font-size:22px;
  letter-spacing:.08em;
  cursor:pointer;
  transition:.22s ease;
}
.form-submit:hover{
  transform:translateY(-2px);
  background:#8e0808;
  border-color:#8e0808;
}
@media (max-width:920px){
  .rental-form .two-col,
  .rental-form .three-col{
    grid-template-columns:1fr;
  }
}
@media (max-width:560px){
  .rental-form{
    padding:16px;
  }
  .form-submit-row{
    display:grid;
  }
  .form-submit{
    width:100%;
  }
}


/* --- Fix: remove floor purpose chips everywhere, keep photo display untouched --- */
.floor-purpose,
.mobile-floor-purpose{
  display:none !important;
}
.mobile-floor-main img,
.mobile-floor-thumb img,
.gallery-thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* --- 2026-07-14: INFORMATION / RECRUIT / unified contact --- */
.hero-recruit{
  position:absolute;
  right:clamp(18px,4vw,58px);
  bottom:clamp(20px,4vw,54px);
  z-index:4;
  width:min(250px,calc(100vw - 36px));
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.48);
  background:rgba(0,0,0,.58);
  color:#fff;
  backdrop-filter:blur(14px);
  box-shadow:0 24px 60px rgba(0,0,0,.3);
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.hero-recruit:hover{
  transform:translateY(-4px);
  background:rgba(142,8,8,.9);
  border-color:#fff;
}
.hero-recruit-kicker,
.hero-recruit-link{
  display:block;
  font-family:"Bebas Neue",sans-serif;
  letter-spacing:.12em;
}
.hero-recruit-kicker{font-size:14px;color:var(--cyan)}
.hero-recruit strong{display:block;margin:4px 0 8px;font-size:24px;line-height:1.25}
.hero-recruit-link{font-size:18px;text-align:right}

.information-section{
  padding:clamp(64px,8vw,110px) clamp(20px,6vw,86px);
  background:#f7f5f2;
  color:#201817;
}
.information-inner{
  display:grid;
  grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);
  gap:clamp(38px,7vw,100px);
  max-width:1280px;
  margin:0 auto;
}
.information-heading .eyebrow{color:#8e0808}
.information-heading h2{
  margin:0;
  font-size:clamp(28px,3.4vw,46px);
  font-weight:500;
  line-height:1.15;
  letter-spacing:-.035em;
}
.information-list{border-top:1px solid rgba(32,24,23,.2)}
.information-list article{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  gap:24px;
  padding:22px 0;
  border-bottom:1px solid rgba(32,24,23,.2);
  background:none;
  box-shadow:none;
  border-radius:0;
}
.information-list time,
.information-date{
  font-family:"Bebas Neue",sans-serif;
  font-size:24px;
  line-height:1.2;
  letter-spacing:.04em;
  color:#8e0808;
}
.information-list article div > span{
  display:block;
  color:#7b706c;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.information-list p{margin:4px 0 0;color:#201817;font-size:16px}
.information-list a{border-bottom:1px solid rgba(32,24,23,.35)}
.rental-form .form-submit-row a,
.footer-info a{border-bottom:1px solid currentColor}

@media (max-width:920px){
  .information-inner{grid-template-columns:1fr}
  .hero-recruit{right:18px;bottom:20px}
}
@media (max-width:560px){
  .hero-logo-wrap{transform:translateY(-42px)}
  .hero-recruit{
    left:18px;
    right:18px;
    bottom:18px;
    width:auto;
    padding:14px 16px;
  }
  .hero-recruit strong{font-size:20px}
  .information-list article{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:18px 0}
  .information-list time,.information-date{font-size:20px}
  .information-list p{font-size:14px}
}


/* --- 2026-07-14: grand open date / refined symbols --- */
.hero-open-date{
  margin-top:clamp(20px,2.8vw,34px);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,1.8vw,24px);
  color:#fff;
  text-shadow:0 8px 24px rgba(0,0,0,.48);
}
.hero-open-date::before,
.hero-open-date::after{
  content:"";
  width:clamp(28px,5vw,76px);
  height:1px;
  background:rgba(255,255,255,.58);
}
.hero-open-date span{
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(13px,1.25vw,18px);
  letter-spacing:.2em;
  white-space:nowrap;
}
.hero-open-date strong{
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(24px,3vw,44px);
  line-height:1;
  font-weight:400;
  letter-spacing:.08em;
  white-space:nowrap;
}
.hero-recruit-link{
  letter-spacing:.16em;
}
.rental-option-grid strong{
  letter-spacing:.02em;
}
@media (max-width:560px){
  .hero-logo-wrap{transform:translateY(-54px)}
  .hero-open-date{
    margin-top:20px;
    gap:10px;
  }
  .hero-open-date::before,
  .hero-open-date::after{
    width:22px;
  }
  .hero-open-date span{
    font-size:11px;
  }
  .hero-open-date strong{
    font-size:25px;
  }
}


/* --- 2026-07-15 opening information / floor naming / tax label --- */
.information-section{
  position:relative;
  overflow:hidden;
  background:#f2eee9 !important;
}
.information-section::before{
  content:"INFORMATION";
  position:absolute;
  right:-.03em;
  top:-.18em;
  color:rgba(142,8,8,.055);
  font-family:"Bebas Neue",sans-serif;
  font-size:clamp(100px,20vw,300px);
  line-height:1;
  letter-spacing:.02em;
  pointer-events:none;
}
.information-inner{position:relative;z-index:1}
.information-heading h2{font-size:clamp(34px,4.2vw,62px) !important}
.information-list-featured{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  border:0 !important;
}
.information-list-featured .information-event{
  display:block !important;
  min-height:280px;
  padding:24px !important;
  border:1px solid rgba(32,24,23,.16) !important;
  background:#fff !important;
  box-shadow:0 22px 60px rgba(32,24,23,.08) !important;
}
.information-list-featured time{
  display:flex;
  align-items:flex-end;
  gap:8px;
  color:#8e0808;
  font-family:"Bebas Neue",sans-serif;
}
.information-list-featured time b,
.information-list-featured time em{font-style:normal;font-weight:400;line-height:.78}
.information-list-featured time b{font-size:54px}
.information-list-featured time em{font-size:92px}
.information-list-featured .information-event > div{margin-top:34px}
.information-list-featured .information-event span{color:#8e0808 !important;font-size:12px !important;letter-spacing:.16em !important}
.information-list-featured .information-event p{margin:8px 0 0 !important;font-size:20px !important;font-weight:700}
.information-list-featured .information-event strong{display:block;margin-top:8px;color:#665a56;font-family:"Bebas Neue",sans-serif;font-size:22px;letter-spacing:.08em}
.information-list-featured .information-event-grand{
  background:#8e0808 !important;
  color:#fff !important;
  border-color:#8e0808 !important;
}
.information-list-featured .information-event-grand time,
.information-list-featured .information-event-grand span,
.information-list-featured .information-event-grand p{color:#fff !important}
.tax-excluded{
  display:inline-flex;
  align-items:center;
  margin-left:10px;
  padding:5px 9px;
  border:1px solid rgba(105,213,197,.7);
  color:var(--cyan);
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.12em;
  vertical-align:middle;
}
@media(max-width:920px){
  .information-list-featured{grid-template-columns:1fr}
  .information-list-featured .information-event{min-height:0}
}
@media(max-width:560px){
  .information-list-featured .information-event{padding:20px !important}
  .information-list-featured time b{font-size:38px}
  .information-list-featured time em{font-size:68px}
  .information-list-featured .information-event > div{margin-top:22px}
  .information-list-featured .information-event p{font-size:18px !important}
  .tax-excluded{margin-left:6px;font-size:10px}
}

/* --- Recruit page / responsive form --- */
  .recruit-page{margin:0;background:#0b0909;color:#f7f2ec;overflow-x:hidden}
  .recruit-page *{box-sizing:border-box}
  .recruit-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1120px;margin:0 auto;padding:24px 28px 8px}
  .recruit-logo-link{display:block;line-height:0}
  .recruit-logo-link img{display:block;width:150px;max-width:38vw;height:auto}
  .recruit-back{font-family:"Bebas Neue",sans-serif;font-size:16px;letter-spacing:.12em;color:#fff;text-decoration:none;white-space:nowrap}
  .recruit-hero{min-height:0!important;display:block!important;max-width:1120px;margin:0 auto;padding:56px 28px 42px!important;background:none!important}
  .recruit-hero>div{max-width:760px}
  .recruit-hero h1{margin:0;font-size:clamp(32px,5vw,54px);font-weight:700;line-height:1.15;letter-spacing:-.03em}
  .recruit-hero p{margin:20px 0 0!important;color:rgba(255,255,255,.76)!important;font-size:16px!important;line-height:1.9!important}
  .recruit-form-section{display:block!important;max-width:1120px;margin:0 auto;padding:22px 28px 80px!important;background:transparent!important;color:#fff!important}
  .recruit-form-intro{position:static!important;margin-bottom:28px}
  .recruit-form-intro .eyebrow{margin:0 0 12px;color:#69d5c5!important;font-size:12px;letter-spacing:.18em}
  .recruit-form-intro h2{margin:0;color:#fff;font-size:clamp(25px,4vw,36px);font-weight:700;line-height:1.35;letter-spacing:-.025em}
  .recruit-form-intro>p:last-child{margin:14px 0 0;color:rgba(255,255,255,.68)!important;font-size:14px;line-height:1.85}
  .recruit-entry-form{position:relative;display:grid;gap:24px;width:100%;padding:32px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:12px;background:rgba(255,255,255,.035)!important;box-shadow:none!important}
  .hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
  .recruit-field-grid{display:grid;gap:18px}.recruit-field-grid.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
  .recruit-field{display:grid;gap:8px;min-width:0}
  .recruit-field>span,.recruit-choice-group legend{color:#fff!important;font-size:14px!important;font-weight:700!important;letter-spacing:.02em}
  .recruit-field b,.recruit-choice-group b,.required-mark{display:inline-flex!important;margin-left:5px;padding:1px 6px!important;border-radius:3px!important;background:#d9003f!important;color:#fff!important;font-size:10px!important;line-height:1.5!important}
  .recruit-field input,.recruit-field textarea{display:block;width:100%!important;min-width:0;border:1px solid rgba(255,255,255,.2)!important;border-radius:8px!important;background:rgba(255,255,255,.055)!important;color:#fff!important;padding:14px 15px!important;font:inherit!important;font-size:16px!important;line-height:1.5!important;outline:none!important;-webkit-appearance:none}
  .recruit-field input{min-height:52px}
  .recruit-field textarea{min-height:180px;resize:vertical}
  .recruit-field input:focus,.recruit-field textarea:focus{border-color:#69d5c5!important;box-shadow:0 0 0 3px rgba(105,213,197,.12)!important}
  .recruit-field input::placeholder,.recruit-field textarea::placeholder{color:rgba(255,255,255,.4)}
  .recruit-choice-group{min-width:0;margin:0;padding:0;border:0}
  .recruit-choice-group legend{margin:0 0 12px;padding:0}
  .choice-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
  .application-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}
  .choice-chip{position:relative;display:block;min-width:0;cursor:pointer}
  .choice-chip input{position:absolute!important;opacity:0!important;pointer-events:none!important}
  .choice-chip span{position:relative;display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:48px!important;padding:11px 12px 11px 42px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:8px!important;background:rgba(255,255,255,.045)!important;color:#fff!important;font-size:14px!important;font-weight:500!important;line-height:1.4!important}
  .choice-chip span:before{content:"";position:absolute;left:14px;top:50%;width:17px;height:17px;border:1px solid rgba(255,255,255,.55);border-radius:4px;transform:translateY(-50%);background:transparent}
  .choice-row .choice-chip span:before{border-radius:50%}
  .choice-chip input:checked+span{border-color:#69d5c5!important;background:rgba(105,213,197,.12)!important;color:#fff!important}
  .choice-chip input:checked+span:before{border-color:#69d5c5;background:#69d5c5;box-shadow:inset 0 0 0 4px #101010}
  .other-field{margin-top:14px}
  .field-error{display:block;color:#ff788d!important;font-size:12px!important;line-height:1.5}
  .recruit-submit-row{display:grid!important;gap:18px!important;padding-top:22px!important;border-top:1px solid rgba(255,255,255,.12)!important}
  .recruit-submit-row p{margin:0;color:rgba(255,255,255,.6)!important;font-size:12px!important;line-height:1.8!important}
  .recruit-submit-row a{color:#fff}
  .recruit-submit{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:58px!important;margin:0!important;border:1px solid #d9003f!important;border-radius:8px!important;background:linear-gradient(90deg,#f00046,#c90038)!important;color:#fff!important;padding:15px 22px!important;font-family:"Noto Sans JP",sans-serif!important;font-size:16px!important;font-weight:800!important;letter-spacing:.05em!important;line-height:1.2!important;cursor:pointer!important;box-shadow:0 14px 32px rgba(217,0,63,.22)!important}
  .recruit-submit:disabled{opacity:.55!important;cursor:wait!important}
  .form-status{max-width:760px;margin:0 auto;padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.045);color:#fff}
  .form-status-success,.form-status-error{background:rgba(255,255,255,.045)!important;color:#fff!important}
  .recruit-footer{display:flex;justify-content:space-between;gap:20px;max-width:1120px;margin:0 auto;padding:28px;color:rgba(255,255,255,.55);font-size:12px}
  .recruit-footer p{margin:0}.recruit-footer a{color:#fff}
  @media(max-width:700px){
    .recruit-header{padding:18px 18px 4px}
    .recruit-logo-link img{width:112px;max-width:42vw}
    .recruit-back{font-size:13px}
    .recruit-hero{padding:42px 18px 28px!important}
    .recruit-hero h1{font-size:30px}
    .recruit-hero p{margin-top:14px!important;font-size:14px!important;line-height:1.75!important}
    .recruit-form-section{padding:14px 14px 56px!important}
    .recruit-form-intro{padding:0 4px;margin-bottom:22px}
    .recruit-form-intro h2{font-size:23px}
    .recruit-entry-form{gap:22px;padding:18px 14px 20px!important;border-radius:10px}
    .recruit-field-grid.two-col{grid-template-columns:1fr}
    .application-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .choice-chip span{min-height:50px!important;padding:10px 8px 10px 36px!important;font-size:13px!important}
    .choice-chip span:before{left:11px}
    .recruit-field input,.recruit-field textarea{font-size:16px!important}
    .recruit-submit{min-height:60px!important;font-size:16px!important}
    .recruit-footer{display:block;padding:24px 18px}.recruit-footer p+p{margin-top:8px}
  }
  @media(max-width:380px){.application-grid{grid-template-columns:1fr!important}.choice-row{grid-template-columns:1fr!important}}


/* --- Separate contact confirmation / completion pages --- */
.contact-step-page{min-height:100svh;background:#0b0909;color:#fff}
.contact-step-shell{width:min(860px,calc(100% - 36px));margin:0 auto;padding:42px 0 70px}
.contact-step-logo{display:block;width:150px;margin:0 0 42px}.contact-step-logo img{display:block;width:100%;height:auto}
.contact-step-card{padding:clamp(22px,4vw,42px);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04)}
.contact-step-card h1{margin:0;font-size:clamp(28px,5vw,48px);line-height:1.18;font-weight:600;letter-spacing:-.035em}
.contact-step-lead{margin:15px 0 30px;color:rgba(255,255,255,.68);font-size:14px;line-height:1.9}
.form-confirm-list{margin:0;border-top:1px solid rgba(255,255,255,.14)}
.form-confirm-list>div{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.form-confirm-list dt{color:var(--cyan);font-size:12px;font-weight:800;letter-spacing:.08em}.form-confirm-list dd{margin:0;color:#fff;overflow-wrap:anywhere}
.contact-step-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.contact-step-actions form{margin:0}
.contact-step-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-family:"Bebas Neue",sans-serif;font-size:22px;letter-spacing:.14em;cursor:pointer}
.contact-step-send{border-color:var(--red);background:var(--red)}.contact-step-back:hover{background:rgba(255,255,255,.08)}.contact-step-send:hover{background:#b90035}
.contact-complete-card{text-align:center;padding-top:clamp(56px,8vw,90px);padding-bottom:clamp(56px,8vw,90px)}.contact-complete-card .contact-step-lead{max-width:620px;margin-left:auto;margin-right:auto}.contact-complete-card .contact-step-button{max-width:240px;margin:28px auto 0}
.rental-form input[type="date"]{min-height:50px;color-scheme:light}
@media(max-width:600px){.contact-step-shell{width:min(100% - 28px,860px);padding-top:24px}.contact-step-logo{width:112px;margin-bottom:26px}.contact-step-card{padding:20px 16px}.form-confirm-list>div{grid-template-columns:1fr;gap:4px;padding:14px 0}.contact-step-actions{grid-template-columns:1fr}.contact-step-actions .contact-step-back{order:2}.contact-step-button{min-height:58px}}


/* --- Contact labels / required badge refinement --- */
.rental-form label > span em,
.privacy-check span em,
.form-submit-row p em{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:5px;
  padding:2px 6px;
  border:1px solid #8e0808;
  border-radius:3px;
  background:#8e0808;
  color:#fff;
  font-style:normal;
  font-size:10px;
  font-weight:800;
  line-height:1.35;
  letter-spacing:.08em;
  vertical-align:middle;
}
.form-submit-row p em{margin:0 4px 0 0}
.contact-step-button,
.form-submit{
  font-family:"Noto Sans JP",sans-serif !important;
  font-style:normal !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
}

/* --- Privacy consent layout fix --- */
.privacy-consent{
  display:grid;
  gap:18px;
  margin-top:6px;
  padding:22px;
  border:1px solid rgba(32,24,23,.14);
  border-radius:6px;
  background:#f7f5f2;
}
.privacy-consent-text{
  color:#403836;
}
.privacy-consent-text strong{
  display:block;
  margin-bottom:12px;
  color:#201817;
  font-size:18px;
  line-height:1.5;
}
.privacy-consent-text p{
  margin:0 0 10px;
  color:#5f5551;
  font-size:13px;
  line-height:1.9;
}
.privacy-consent-text p:last-child{
  margin-bottom:0;
}
.privacy-check{
  display:flex !important;
  align-items:flex-start;
  gap:10px;
  width:100%;
  margin:0;
  cursor:pointer;
}
.rental-form .privacy-check input[type="checkbox"]{
  flex:0 0 20px;
  width:20px !important;
  min-width:20px !important;
  height:20px !important;
  min-height:20px !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  border:1px solid rgba(32,24,23,.42) !important;
  border-radius:3px !important;
  background:#fff !important;
  accent-color:#8e0808;
  box-shadow:none !important;
  appearance:auto !important;
  -webkit-appearance:checkbox !important;
}
.privacy-check > span{
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  min-width:0;
  color:#8e0808 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.6;
  letter-spacing:.02em !important;
}
.privacy-check > span em{
  margin-left:0 !important;
}
.privacy-consent > .field-error{
  margin-top:-8px;
}
@media(max-width:560px){
  .privacy-consent{
    padding:16px;
  }
  .privacy-consent-text strong{
    font-size:16px;
  }
  .privacy-consent-text p{
    font-size:12px;
  }
  .privacy-check > span{
    font-size:12px !important;
  }
}

/* --- 2026-08-07: PRE SITE COMING SOON mask --- */
.floor-card-coming-soon .coming-soon-panel {
  min-height: 150px;
  display: grid;
  place-items: center;
  margin-top: 24px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.025);
}
.floor-card-coming-soon .coming-soon-panel span {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(2.3rem, 5vw, 4.8rem);
  letter-spacing: .12em;
  opacity: .68;
}

/* COMING SOON：画像の気配だけ残す控えめな黒マスク */
.floor-layout .map-card,
.floor-layout .floor-visual,
.floor-layout .floor-gallery-block {
  position: relative;
  overflow: hidden;
}
.floor-layout.is-coming-soon .floor-visual,
.floor-layout.is-coming-soon .floor-gallery {
  filter: blur(12px) brightness(.24) saturate(.55);
  transform: scale(1.06);
}
.floor-layout.is-coming-soon .floor-gallery {
  pointer-events: none;
}
.floor-layout.is-coming-soon .floor-visual::after,
.floor-layout.is-coming-soon .floor-gallery-block::after {
  content: "COMING SOON";
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(1.8rem, 4vw, 3.8rem);
  letter-spacing: .14em;
  color: rgba(255,255,255,.78);
  background: rgba(0,0,0,.52);
  pointer-events: none;
}
.floor-layout.is-coming-soon .floor-gallery-block::after {
  font-size: clamp(1.25rem, 2.6vw, 2.2rem);
}
.floor-layout.is-coming-soon .gallery-head {
  opacity: .22;
}

/* スマホ用フロア一覧も同じ控えめな見え方に統一 */
.mobile-floor-stack [data-floor]:not([data-floor="cafe"]) .floor-visual,
.mobile-floor-stack [data-floor]:not([data-floor="cafe"]) .floor-gallery,
.mobile-floor-stack .mobile-coming-soon .floor-visual,
.mobile-floor-stack .mobile-coming-soon .floor-gallery {
  filter: blur(14px) brightness(.22) saturate(.5);
  transform: scale(1.08);
}
.mobile-floor-stack [data-floor]:not([data-floor="cafe"]) .floor-visual,
.mobile-floor-stack [data-floor]:not([data-floor="cafe"]) .floor-gallery-block,
.mobile-floor-stack .mobile-coming-soon .floor-visual,
.mobile-floor-stack .mobile-coming-soon .floor-gallery-block {
  position: relative;
  overflow: hidden;
}
.mobile-floor-stack [data-floor]:not([data-floor="cafe"]) .floor-visual::after,
.mobile-floor-stack [data-floor]:not([data-floor="cafe"]) .floor-gallery-block::after,
.mobile-floor-stack .mobile-coming-soon .floor-visual::after,
.mobile-floor-stack .mobile-coming-soon .floor-gallery-block::after {
  content: "COMING SOON";
  position: absolute;
  inset: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(1.5rem, 8vw, 2.6rem);
  letter-spacing: .12em;
  color: rgba(255,255,255,.78);
  background: rgba(0,0,0,.58);
  pointer-events: none;
}
.mobile-floor-stack [data-floor]:not([data-floor="cafe"]) .floor-gallery,
.mobile-floor-stack .mobile-coming-soon .floor-gallery {
  pointer-events: none;
}


/* --- 2026-08-12: MOBILE PRE SITE - only 100 MIRRORBALL BAR is public --- */
@media (max-width:760px){
  .mobile-floor-card.is-coming-soon .mobile-floor-main{
    min-height:220px;
    aspect-ratio:4 / 3;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#080808;
  }

  .mobile-floor-card.is-coming-soon .mobile-floor-main img{
    display:none !important;
  }

  .mobile-floor-card.is-coming-soon .mobile-floor-main::after{
    content:"COMING SOON";
    position:static;
    inset:auto;
    z-index:auto;
    display:block;
    padding:0 16px;
    background:none;
    color:rgba(255,255,255,.78);
    font-family:"Bebas Neue",sans-serif;
    font-size:clamp(38px,12vw,58px);
    line-height:1;
    letter-spacing:.12em;
    text-align:center;
  }

  .mobile-floor-card.is-coming-soon .mobile-floor-gallery{
    display:none !important;
  }

  .mobile-floor-card.is-coming-soon .mobile-floor-body{
    padding:18px 16px 20px;
  }

  .mobile-floor-card.is-coming-soon .mobile-floor-text,
  .mobile-floor-card.is-coming-soon .mobile-capacity{
    display:none !important;
  }

  .mobile-floor-card.is-coming-soon .mobile-coming-soon{
    display:none !important;
  }

  /* 公開中の100 MIRRORBALL BARだけ通常表示 */
  .mobile-floor-card[data-floor="cafe"] .mobile-floor-main img,
  .mobile-floor-card[data-floor="cafe"] .mobile-floor-gallery,
  .mobile-floor-card[data-floor="cafe"] .mobile-floor-text,
  .mobile-floor-card[data-floor="cafe"] .mobile-capacity{
    display:flex;
  }
  .mobile-floor-card[data-floor="cafe"] .mobile-floor-main img{
    display:block;
  }
}


/* --- 2026-08-13: MOBILE MAIN FLOOR OPEN --- */
@media (max-width:760px){
  .mobile-floor-card[data-floor="main"] .mobile-floor-main img{
    display:block !important;
  }
  .mobile-floor-card[data-floor="main"] .mobile-floor-gallery{
    display:flex !important;
  }
  .mobile-floor-card[data-floor="main"] .mobile-floor-text{
    display:block !important;
  }
  .mobile-floor-card[data-floor="main"] .mobile-capacity{
    display:flex !important;
  }
}


/* --- 2026-08-17: all floors public on PC and mobile --- */
@media (max-width:760px){
  .mobile-floor-card .mobile-floor-main img{display:block !important;}
  .mobile-floor-card .mobile-floor-gallery{display:flex !important;}
  .mobile-floor-card .mobile-floor-text{display:block !important;}
  .mobile-floor-card .mobile-capacity{display:flex !important;}
  .mobile-floor-card .mobile-coming-soon{display:none !important;}
}


/* --- Rental form alert --- */
.form-alert-error{
  margin:0 0 14px;
  padding:12px 14px;
  border:1px solid rgba(142,8,8,.28);
  background:rgba(142,8,8,.08);
  color:#8e0808;
  font-size:13px;
  line-height:1.7;
}


/* --- 2026-08-17: mobile rental price table - no horizontal scroll --- */
@media (max-width: 600px){
  .rental-price-table{
    overflow:visible !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .rental-price-table .price-table{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }

  .rental-price-table .price-table thead{
    display:none !important;
  }

  .rental-price-table .price-table tbody{
    display:grid !important;
    gap:12px;
  }

  .rental-price-table .price-table tr{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100% !important;
    border:1px solid var(--line);
    background:rgba(255,255,255,.035);
  }

  .rental-price-table .price-table tbody th{
    grid-column:1 / -1;
    display:block !important;
    padding:12px 12px 10px !important;
    border-bottom:1px solid var(--line) !important;
    background:rgba(217,0,63,.18);
    color:#fff;
    font-size:13px !important;
    line-height:1.5;
  }

  .rental-price-table .price-table td{
    display:block !important;
    min-width:0 !important;
    padding:10px 5px 12px !important;
    border-bottom:0 !important;
    border-right:1px solid var(--line);
    text-align:center !important;
    font-family:"Bebas Neue",sans-serif;
    font-size:clamp(19px,5.7vw,25px) !important;
    line-height:1.05;
    white-space:nowrap;
  }

  .rental-price-table .price-table td:last-child{
    border-right:0;
  }

  .rental-price-table .price-table td::before{
    display:block;
    margin-bottom:7px;
    color:var(--muted);
    font-family:"Noto Sans JP",sans-serif;
    font-size:8px;
    font-weight:700;
    line-height:1.25;
    letter-spacing:.01em;
    white-space:normal;
  }

  .rental-price-table .price-table td:nth-of-type(1)::before{
    content:"MAIN FLOOR";
  }
  .rental-price-table .price-table td:nth-of-type(2)::before{
    content:"LEGACY FLOOR";
  }
  .rental-price-table .price-table td:nth-of-type(3)::before{
    content:"MAIN + LEGACY";
  }
}


/* --- 2026-08-17: footer social links --- */
.footer-social{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
}
.footer-social a{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  color:#fff;
  transition:color .22s ease,border-color .22s ease,background .22s ease,transform .22s ease;
}
.footer-social a:hover{
  color:var(--cyan);
  border-color:var(--cyan);
  background:rgba(105,213,197,.08);
  transform:translateY(-2px);
}
.footer-social svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.footer-social .social-dot{
  fill:currentColor;
  stroke:none;
}
@media(max-width:920px){
  .footer-social{
    justify-content:flex-start;
    margin:18px 0 12px;
  }
}


/* --- 2026-08-17: persistent SNS links + mobile drawer SNS --- */
.floating-social{
  position:fixed;
  left:50%;
  bottom:clamp(18px,3vw,34px);
  transform:translateX(-50%);
  z-index:45;
  display:flex;
  gap:9px;
}
.floating-social a{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:50%;
  background:rgba(16,13,12,.72);
  color:#fff;
  backdrop-filter:blur(12px);
  transition:color .22s ease,border-color .22s ease,background .22s ease,transform .22s ease;
}
.floating-social a:hover{
  color:var(--cyan);
  border-color:var(--cyan);
  background:rgba(105,213,197,.12);
  transform:translateY(-2px);
}
.floating-social svg,
.nav-social svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.floating-social .social-dot,
.nav-social .social-dot{
  fill:currentColor;
  stroke:none;
}
.nav-social{
  display:none;
}
@media (max-width:920px){
  .nav-social{
    display:flex;
    gap:10px;
    margin-top:auto;
    padding-top:24px;
  }
  .nav .nav-social > a{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:48px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:6px;
    font-size:12px;
    letter-spacing:.06em;
  }
  .nav .nav-social > a:hover{
    color:var(--cyan);
    border-color:var(--cyan);
  }
  .floating-social{
    left:50%;
    bottom:14px;
    gap:7px;
    transform:translateX(-50%);
  }
  .floating-social a{
    width:40px;
    height:40px;
  }
}


/* --- 2026-08-19: language switcher --- */
.language-switch{
  display:flex;
  align-items:center;
  gap:5px;
  margin-left:18px;
}
.language-switch a,
.nav-language a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:30px;
  padding:0 7px;
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.7);
  font-family:"Noto Sans JP",sans-serif;
  font-size:10px;
  font-weight:700;
  line-height:1;
  letter-spacing:.03em;
  transition:.2s ease;
}
.language-switch a:hover,
.language-switch a.active,
.nav-language a:hover,
.nav-language a.active{
  border-color:var(--cyan);
  color:var(--cyan);
  background:rgba(105,213,197,.08);
}
.nav-language{display:none;}
@media(max-width:920px){
  .site-header > .language-switch{display:none;}
  .nav-language{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .nav .nav-language a{
    flex:0 0 auto;
    min-width:38px;
    min-height:36px;
    padding:0 9px;
    border:1px solid rgba(255,255,255,.18);
    font-size:10px;
    letter-spacing:.03em;
  }
}
