@charset "UTF-8";
/* Noir — 色・幅・余白の変更はここ。本文は固定高を使わない。 */
:root {
  --bg:#100f12;
  --surface:#1b191e;
  --paper:#f2eff1;
  --muted:#bbb7c0;
  --silver:#c5c2c7;
  --line:#403b44;
  --rose:#a34f70;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  --serif:"Cormorant Garamond",Georgia,serif;
  --jp-serif:"Noto Serif JP","Yu Mincho",serif;
  --width:1160px;
  --header:86px
}
*,*::before,*::after {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header) + 20px)
}
body {
  margin:0;
  background:var(--bg);
  color:var(--paper);
  font:400 16px/1.85 var(--sans);
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button,summary {
  font:inherit
}
a,summary {
  -webkit-tap-highlight-color:transparent
}
img {
  display:block;
  max-width:100%;
  height:auto
}
figure,p,h1,h2,h3,ul,ol,dl,dd {
  margin:0
}
ul,ol {
  padding:0;
  list-style:none
}
h2,h3 {
  font-weight:500
}
strong {
  font-weight:500
}
a,summary {
  transition:color .18s,background .18s,border-color .18s
}
a:focus-visible,summary:focus-visible {
  outline:2px solid #e2a9be;
  outline-offset:5px
}
::selection {
  background:#a34f70;
  color:#fff
}
.container {
  width:min(var(--width),calc(100% - 80px));
  margin-inline:auto
}
.section {
  padding-block:72px
}
.surface {
  background:var(--surface)
}
.muted {
  color:var(--muted)
}
.small {
  font-size:14px;
  line-height:1.8
}
.micro {
  font-size:12px;
  letter-spacing:.12em;
  color:var(--muted);
  line-height:1.5
}
.serif {
  font-family:var(--serif)
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0
}
.skip-link {
  position:fixed;
  top:10px;
  left:20px;
  z-index:200;
  background:var(--paper);
  color:var(--bg);
  padding:10px 20px;
  transform:translateY(-200%)
}
.skip-link:focus {
  transform:none
}
.inline-link {
  text-decoration:underline;
  text-underline-offset:4px
}
.inline-link:hover,.text-link:hover {
  color:#e4b5c7
}
.text-link {
  display:inline-flex;
  gap:24px;
  align-items:center;
  font-size:14px;
  padding:8px 0;
  border-bottom:1px solid var(--silver)
}
.text-link>span[aria-hidden] {
  font-size:20px
}
.actions {
  display:flex;
  gap:12px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:52px;
  padding:13px 20px;
  border:1px solid var(--silver);
  font-size:14px;
  font-weight:500;
  line-height:1.6
}
.button>span[aria-hidden] {
  font-size:20px;
  line-height:1
}
.button-light {
  background:var(--paper);
  color:var(--bg);
  border-color:var(--paper)
}
.button-light:hover {
  background:#d5ccd2;
  border-color:#d5ccd2
}
.button-outline:hover {
  background:#302a32;
  border-color:var(--paper)
}
.price {
  font-variant-numeric:tabular-nums;
  white-space:nowrap
}
.section-label {
  display:flex;
  gap:24px;
  align-items:center;
  font-size:12px;
  letter-spacing:.13em;
  color:var(--muted);
  line-height:1.5
}
.section-label::before {
  content:"";
  height:5px;
  width:5px;
  flex:0 0 5px;
  background:var(--rose)
}
.section-label>span+span {
  letter-spacing:.05em
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:32px
}
.section-heading h2,.cast-inner h2 {
  font-family:var(--serif);
  font-size:62px;
  line-height:1.05;
  letter-spacing:-.03em;
  margin-top:12px
}
.section-heading h2 span,.cast-inner h2 span {
  display:block;
  font:400 14px/1.6 var(--sans);
  letter-spacing:.08em;
  margin-top:12px
}
.heading-note {
  font-family:var(--jp-serif);
  font-size:23px;
  line-height:1.7
}
.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(16,15,18,.97);
  border-bottom:1px solid var(--line)
}
.header-inner {
  max-width:1320px;
  width:calc(100% - 80px);
  min-height:var(--header);
  margin:auto;
  display:flex;
  align-items:center;
  gap:40px
}
.brand {
  display:flex;
  gap:20px;
  align-items:center;
  margin-right:auto
}
.brand>span {
  font:500 46px/.9 var(--serif);
  letter-spacing:-.04em
}
.brand>small {
  font-size:10px;
  letter-spacing:.16em;
  line-height:1.5
}
.desktop-nav {
  display:flex;
  gap:28px
}
.desktop-nav a {
  display:flex;
  flex-direction:column;
  font-size:12px;
  letter-spacing:.1em;
  line-height:1.6
}
.desktop-nav a>span+span {
  font-size:10px;
  letter-spacing:0;
  color:var(--muted);
  margin-top:3px
}
.desktop-nav a:hover {
  color:#e4b5c7
}
.header-contact {
  font-size:13px;
  border:1px solid var(--line);
  display:flex;
  gap:28px;
  align-items:center;
  padding:10px 16px
}
.header-contact:hover {
  border-color:var(--silver)
}
.mobile-menu {
  display:none
}
/* Portrait in normal grid flow: uncropped, unaltered proportions. */
.hero {
  position:relative;
  display:grid;
  grid-template-columns:1fr 448px;
  grid-template-areas:"brand photo" "copy photo" "note photo" "actions photo";
  grid-template-rows:auto auto auto 1fr;
  column-gap:60px;
  padding-top:32px;
  padding-bottom:46px;
  min-height:734px
}
.hero-brand {
  grid-area:brand;
  padding-top:23px
}
.eyebrow {
  font-size:14px;
  letter-spacing:.13em;
  display:flex;
  align-items:center;
  gap:12px
}
.rose-mark::before {
  content:"";
  display:block;
  width:23px;
  height:1px;
  background:var(--rose)
}
.hero h1 {
  font:400 174px/.92 var(--serif);
  letter-spacing:-.055em;
  margin:12px 0 4px
}
.hero-business {
  font-size:14px;
  letter-spacing:.2em
}
.hero-photo {
  grid-area:photo;
  align-self:start;
  position:relative;
  margin-right:20px
}
.hero-photo img {
  width:100%;
  background:#c8cdd0
}
.hero-photo figcaption {
  display:flex;
  justify-content:space-between;
  font-size:10px;
  letter-spacing:.18em;
  line-height:1.4;
  margin-top:10px;
  color:var(--muted)
}
.hero-copy {
  grid-area:copy;
  font:500 37px/1.75 var(--jp-serif);
  margin-top:28px;
  letter-spacing:.035em
}
.hero-copy span {
  display:block;
  white-space:nowrap
}
.hero-description {
  grid-area:note;
  color:var(--muted);
  line-height:1.9;
  margin-top:18px
}
.hero-actions {
  grid-area:actions;
  align-self:start;
  margin-top:27px;
  flex-wrap:wrap
}
.hero-actions .button-light {
  min-width:162px
}
.hero-actions .button-outline {
  padding-inline:16px;
  gap:15px
}
.hero-index {
  position:absolute;
  bottom:12px;
  left:0;
  right:0;
  display:flex;
  justify-content:space-between;
  font-size:10px;
  letter-spacing:.16em;
  color:#98929f
}
.quick-info {
  border-block:1px solid var(--line);
  background:var(--surface)
}
.quick-inner {
  display:grid;
  grid-template-columns:1fr 1.25fr 1.45fr;
  padding-block:23px;
  align-items:center
}
.quick-inner>div,.quick-inner>a {
  padding-left:28px;
  border-left:1px solid var(--line)
}
.quick-inner>div:first-child {
  padding-left:0;
  border:0
}
.quick-inner p {
  margin-top:6px;
  line-height:1.5
}
.quick-inner strong {
  font-size:19px
}
.day-off {
  font-size:12px;
  margin-left:14px;
  color:var(--muted)
}
.quick-price p {
  display:flex;
  align-items:baseline;
  gap:14px
}
.quick-price .price {
  font-family:var(--serif);
  font-size:30px;
  line-height:1
}
.quick-price small {
  font-size:11px;
  color:var(--muted)
}
.quick-price p>span:last-child {
  margin-left:auto
}
.quick-price:hover {
  color:#e4b5c7
}
.about {
  display:grid;
  grid-template-columns:340px 1fr;
  gap:100px;
  align-items:center;
  padding-inline:30px
}
.producer-photo {
  max-width:286px;
  margin:auto
}
.producer-photo img {
  width:100%
}
.producer-photo figcaption {
  font-size:14px;
  margin-top:12px;
  display:flex;
  justify-content:space-between;
  align-items:center
}
.producer-photo figcaption span {
  font-size:10px;
  letter-spacing:.1em;
  color:var(--muted)
}
.japanese-title {
  font:500 32px/1.8 var(--jp-serif);
  margin-block:20px
}
.about-copy>p {
  max-width:560px;
  color:var(--muted)
}
.producer-sign {
  margin-top:26px;
  border-top:1px solid var(--line);
  padding-top:20px
}
.producer-sign p {
  font-size:16px;
  margin-top:4px
}
.about-keywords {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  font:400 15px/1.6 var(--serif);
  letter-spacing:.08em;
  margin-top:23px;
  color:var(--muted)
}
.about-keywords span+span {
  border-left:1px solid var(--line);
  padding-left:20px
}
.shisha-intro {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:start
}
.shisha-intro>div>p:first-child {
  color:var(--paper)
}
.shisha-intro .small {
  margin-top:12px
}
.shisha-main {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-block:1px solid var(--silver);
  padding:14px 0
}
.shisha-main p {
  font-size:18px
}
.shisha-main p span {
  display:block;
  font-size:12px;
  color:var(--muted)
}
.shisha-main .price {
  font-size:30px;
  font-family:var(--serif)
}
.price-list>div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-block:13px;
  border-bottom:1px solid var(--line);
  line-height:1.7
}
.price-list dt {
  min-width:0
}
.price-list dd {
  flex-shrink:0;
  text-align:right
}
.price-list dt small {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-top:4px
}
.price-list.compact>div {
  font-size:14px;
  padding-block:10px
}
.flavor-menu {
  display:grid;
  grid-template-columns:.9fr 1fr 1.35fr;
  margin-top:38px;
  border-top:1px solid var(--line);
  padding-top:28px
}
.flavor-group {
  padding-inline:28px;
  border-left:1px solid var(--line)
}
.flavor-group:first-child {
  padding-left:0;
  border:0
}
.flavor-group:last-child {
  padding-right:0
}
.flavor-group h3 {
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:18px
}
.flavor-group h3>span {
  font:500 26px/1 var(--serif);
  letter-spacing:.025em
}
.flavor-group h3 small {
  font-size:12px;
  font-weight:400;
  color:var(--muted)
}
.flavor-group ul {
  font-size:14px;
  line-height:1.8;
  display:grid;
  gap:9px
}
.flavor-group:last-child ul {
  grid-template-columns:1fr 1fr;
  gap:9px 20px
}
.flavor-group li {
  overflow-wrap:anywhere
}
.shisha-note {
  font-size:13px;
  color:var(--muted);
  border-left:2px solid var(--rose);
  padding-left:14px;
  margin-top:30px
}
.system-main {
  display:grid;
  grid-template-columns:1fr 1.1fr;
  border:1px solid var(--line);
  background:var(--surface)
}
.set-price {
  padding:30px 40px
}
.set-price h3 {
  font-size:25px;
  margin-top:15px
}
.seat-label {
  font-size:14px;
  color:var(--muted);
  margin-top:2px
}
.set-amount {
  font:400 62px/1.2 var(--serif);
  margin-top:8px
}
.system-conditions {
  padding:21px 32px;
  border-left:1px solid var(--line)
}
.tax-note {
  font-size:14px;
  padding-top:16px;
  line-height:1.9
}
.tax-note p+p {
  color:var(--muted);
  margin-top:2px
}
.tax-note strong {
  white-space:nowrap
}
.drink-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  margin-top:40px
}
.menu-heading {
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  border-bottom:1px solid var(--silver);
  padding-bottom:14px
}
.menu-heading h3 {
  font-size:18px
}
.menu-heading>span {
  font-size:10px;
  letter-spacing:.1em;
  color:var(--muted)
}
.included-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 24px;
  padding-top:20px
}
.included-list dt {
  font-size:15px;
  margin-bottom:5px
}
.included-list dd {
  font-size:14px;
  line-height:1.8;
  color:var(--muted)
}
.drink-columns .price-list {
  font-size:14px
}
.shot-menu {
  margin-top:32px
}
.champagne {
  border-block:1px solid var(--silver);
  margin-top:36px
}
.champagne summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:21px 0
}
.champagne summary::-webkit-details-marker {
  display:none
}
.champagne summary>span:first-child {
  display:flex;
  align-items:center;
  gap:26px;
  font-size:14px
}
.champagne .serif {
  font-size:36px;
  line-height:1.1
}
.plus {
  position:relative;
  width:18px;
  height:18px;
  flex-shrink:0
}
.plus::before,.plus::after {
  content:"";
  position:absolute;
  top:8px;
  left:0;
  width:18px;
  height:1px;
  background:var(--silver)
}
.plus::after {
  transform:rotate(90deg)
}
.champagne[open] .plus::after {
  transform:none
}
.champagne-content {
  padding-bottom:24px
}
.champagne-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:44px;
  font-size:14px
}
.champagne-content>p {
  margin-top:18px
}
.coupon-link {
  display:flex;
  gap:24px;
  align-items:center;
  margin-top:18px
}
.coupon-link .text-link {
  border-bottom-color:var(--line)
}
.contact-band {
  background:var(--surface);
  border-left:2px solid var(--rose);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:26px 30px;
  margin-top:32px
}
.contact-band h3 {
  font:500 23px/1.7 var(--jp-serif);
  margin-top:5px
}
.contact-band div>p:last-child {
  font-size:14px;
  color:var(--muted);
  margin-top:5px
}
.contact-band .button {
  flex-shrink:0
}
.cast-strip {
  border-block:1px solid var(--line);
  padding-block:40px
}
.cast-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:64px;
  align-items:center
}
.cast-inner p:not(.section-label) {
  color:var(--muted);
  font-size:15px
}
.cast-inner .text-link {
  margin-top:14px
}
.access-grid {
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:60px;
  align-items:start
}
.access-info h3 {
  font-size:17px;
  line-height:1.6
}
.access-info h3 span {
  display:block;
  font-size:12px;
  color:var(--muted);
  margin-top:4px
}
.info-list {
  margin-top:20px
}
.info-list>div {
  display:grid;
  grid-template-columns:90px 1fr;
  gap:12px;
  border-bottom:1px solid var(--line);
  padding-block:12px;
  font-size:14px
}
.info-list dt {
  color:var(--muted)
}
.phone {
  font-size:18px;
  letter-spacing:.035em
}
.access-actions {
  display:flex;
  gap:24px;
  align-items:center;
  margin-top:24px
}
.map-block iframe {
  display:block;
  width:100%;
  height:360px;
  border:0;
  background:#c5c2c7;
  color-scheme:light
}
.map-caption {
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:14px;
  margin-top:10px;
  font-size:12px;
  color:var(--muted)
}
.map-caption .text-link {
  font-size:12px;
  gap:14px;
  border:0
}
.recruit-wrap {
  border-top:1px solid var(--line);
  background:var(--surface)
}
.recruit {
  display:grid;
  grid-template-columns:164px 1fr;
  gap:40px;
  align-items:center;
  padding-block:36px
}
.recruit figure img {
  width:100%
}
.recruit h2 {
  font:500 26px/1.7 var(--jp-serif);
  margin-top:12px
}
.recruit h2 span {
  font:400 13px/1.8 var(--sans);
  display:block;
  margin-top:3px
}
.recruit div>p:not(.section-label) {
  font-size:14px;
  color:var(--muted);
  margin-top:12px
}
.recruit .text-link {
  margin-top:10px
}
.recruit-word {
  font:400 84px/.9 var(--serif);
  letter-spacing:-.03em;
  color:#8e818b;
  padding-left:20px
}
.site-footer {
  padding-block:36px 20px
}
.footer-top {
  display:grid;
  grid-template-columns:1fr 1.25fr auto;
  gap:40px;
  align-items:center
}
.footer-brand {
  font:400 66px/.8 var(--serif);
  letter-spacing:-.04em
}
.footer-brand small {
  display:block;
  font:400 10px/1.6 var(--sans);
  letter-spacing:.14em;
  margin-top:14px
}
.footer-top nav {
  display:flex;
  gap:12px 22px;
  flex-wrap:wrap;
  font-size:13px
}
.footer-top nav a {
  padding:4px 0
}
.footer-top nav a:hover {
  color:#e4b5c7
}
.footer-social {
  display:flex;
  gap:24px
}
.footer-social .text-link {
  font-size:13px;
  gap:12px;
  border:0
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:30px;
  border-top:1px solid var(--line);
  padding-top:16px
}
.footer-bottom .text-link {
  font-size:12px;
  border:0;
  gap:12px
}
.footer-bottom>small {
  font-size:10px;
  color:var(--muted)
}
.back-top {
  font-size:12px;
  display:flex;
  gap:16px;
  padding:8px
}
.mobile-contact {
  display:none
}
@media(min-width:1441px) {
  .hero {
    column-gap:100px;
    grid-template-columns:1fr 448px
  }
}
@media(max-width:1100px) {
  .header-inner {
    gap:25px
  }
  .brand>small {
    display:none
  }
  .desktop-nav {
    gap:22px
  }
  .hero {
    grid-template-columns:1fr 41%;
    column-gap:36px;
    min-height:650px
  }
  .hero h1 {
    font-size:148px
  }
  .hero-copy {
    font-size:32px
  }
  .hero-photo {
    margin-right:0
  }
  .hero-actions {
    gap:10px
  }
  .hero-actions .button {
    font-size:13px;
    padding:12px 14px
  }
  .hero-actions .button-light {
    min-width:130px
  }
  .about {
    gap:50px;
    padding-inline:0
  }
  .quick-inner {
    grid-template-columns:1fr 1.1fr 1.3fr
  }
  .quick-inner>div,.quick-inner>a {
    padding-left:18px
  }
  .quick-price p {
    flex-wrap:wrap;
    gap:5px 10px
  }
  .quick-price small {
    font-size:10px
  }
  .day-off {
    display:block;
    margin:2px 0 0
  }
  .drink-columns {
    gap:40px
  }
  .access-grid {
    gap:36px
  }
  .recruit-word {
    font-size:70px
  }
  .flavor-group {
    padding-inline:22px
  }
}
@media(max-width:960px) {
  :root {
    --header:72px
  }
  .container,.header-inner {
    width:calc(100% - 48px)
  }
  .header-contact {
    display:none
  }
  .header-inner {
    gap:24px
  }
  .brand>small {
    display:block
  }
  .hero {
    min-height:0;
    padding-bottom:42px;
    grid-template-columns:1fr 43%;
    gap:0 28px
  }
  .hero-brand {
    padding-top:12px
  }
  .hero h1 {
    font-size:128px
  }
  .hero-business {
    font-size:12px
  }
  .hero-copy {
    font-size:28px;
    line-height:1.8;
    margin-top:18px
  }
  .hero-description {
    font-size:14px;
    margin-top:16px
  }
  .hero-actions {
    margin-top:20px
  }
  .hero-actions .button {
    min-height:48px
  }
  .hero-actions .button-outline {
    width:100%
  }
  .hero-photo {
    align-self:center
  }
  .hero-index {
    font-size:9px
  }
  .hero-index span {
    display:none
  }
  .quick-inner {
    grid-template-columns:1fr 1fr;
    gap:20px;
    padding-block:20px
  }
  .quick-price {
    grid-column:1/-1;
    border-top:1px solid var(--line);
    padding-top:15px
  }
  .quick-inner .quick-price {
    padding-left:0;
    border-left:0
  }
  .quick-price .micro {
    display:inline-block;
    margin-right:20px
  }
  .quick-price p {
    display:inline-flex
  }
  .day-off {
    display:inline;
    margin-left:10px
  }
  .section {
    padding-block:56px
  }
  .about {
    grid-template-columns:240px 1fr;
    gap:36px
  }
  .about .japanese-title {
    font-size:25px
  }
  .about .section-label {
    gap:10px;
    flex-wrap:wrap
  }
  .about-copy>p {
    font-size:14px
  }
  .producer-sign {
    margin-top:18px;
    padding-top:16px
  }
  .about-keywords {
    font-size:12px;
    gap:10px
  }
  .about-keywords span+span {
    padding-left:10px
  }
  .section-heading h2 {
    font-size:52px
  }
  .heading-note {
    font-size:19px
  }
  .shisha-intro {
    gap:32px
  }
  .flavor-menu {
    grid-template-columns:1fr 1fr 1fr
  }
  .flavor-group:last-child ul {
    grid-template-columns:1fr
  }
  .flavor-group {
    padding-inline:18px
  }
  .flavor-group ul {
    font-size:13px
  }
  .set-price {
    padding:28px
  }
  .system-conditions {
    padding:20px 24px
  }
  .set-price h3 {
    font-size:23px
  }
  .tax-note {
    font-size:12px
  }
  .drink-columns {
    gap:32px
  }
  .included-list {
    grid-template-columns:1fr;
    gap:15px
  }
  .price-list>div {
    gap:12px
  }
  .champagne-list {
    column-gap:28px
  }
  .contact-band {
    padding:24px;
    align-items:start;
    flex-direction:column;
    gap:18px
  }
  .cast-inner {
    gap:32px
  }
  .access-grid {
    grid-template-columns:1fr;
    gap:30px
  }
  .access-info {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 30px
  }
  .access-info h3 {
    grid-column:1/-1
  }
  .info-list {
    grid-column:1/-1
  }
  .access-actions {
    grid-column:1/-1
  }
  .map-block iframe {
    height:310px
  }
  .recruit-word {
    font-size:57px
  }
  .recruit {
    gap:28px;
    grid-template-columns:140px 1fr auto
  }
  .recruit h2 {
    font-size:23px
  }
  .footer-top {
    grid-template-columns:1fr 2fr
  }
  .footer-social {
    grid-column:2
  }
  .footer-top {
    row-gap:12px
  }
}
@media(max-width:600px) {
  :root {
    --header:64px
  }
  .container,.header-inner {
    width:calc(100% - 40px)
  }
  body {
    padding-bottom:calc(64px + env(safe-area-inset-bottom));
    font-size:16px
  }
  .section {
    padding-block:44px
  }
  .header-inner {
    gap:18px;
    position:relative
  }
  .brand {
    gap:14px
  }
  .brand>span {
    font-size:38px
  }
  .brand>small {
    font-size:8px;
    letter-spacing:.14em
  }
  .desktop-nav {
    display:none
  }
  .mobile-menu {
    display:block
  }
  .mobile-menu summary {
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:10px;
    font-size:10px;
    letter-spacing:.08em;
    min-height:44px;
    list-style:none
  }
  .mobile-menu summary::-webkit-details-marker {
    display:none
  }
  .menu-icon {
    width:20px;
    height:14px;
    border-block:1px solid var(--silver);
    position:relative
  }
  .menu-icon::before {
    content:"";
    position:absolute;
    left:0;
    top:6px;
    width:20px;
    height:1px;
    background:var(--silver)
  }
  .mobile-menu[open] .menu-icon {
    border:0
  }
  .mobile-menu[open] .menu-icon::before,.mobile-menu[open] .menu-icon::after {
    content:"";
    position:absolute;
    left:0;
    width:20px;
    height:1px;
    background:var(--silver);
    top:6px;
    transform:rotate(45deg)
  }
  .mobile-menu[open] .menu-icon::after {
    transform:rotate(-45deg)
  }
  .mobile-menu nav {
    position:absolute;
    top:64px;
    right:-20px;
    width:calc(100% + 40px);
    padding:12px 24px 24px;
    border-bottom:1px solid var(--line);
    background:var(--surface);
    max-height:calc(100dvh - 140px);
    overflow:auto;
    box-shadow:0 16px 24px #0005
  }
  .mobile-menu nav>a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 0;
    border-bottom:1px solid var(--line);
    font-size:14px
  }
  .mobile-menu nav>a>span+span {
    font-size:13px;
    color:var(--muted)
  }
  .mobile-menu nav .menu-contact {
    color:var(--paper);
    justify-content:start;
    gap:20px;
    margin-top:8px
  }
  .hero {
    grid-template-columns:1fr 58%;
    grid-template-areas:"brand brand" "copy photo" "note note" "actions actions";
    grid-template-rows:auto auto auto auto;
    gap:0 12px;
    padding-top:20px;
    padding-bottom:28px
  }
  .hero-brand {
    padding-top:0;
    position:relative
  }
  .eyebrow {
    font-size:12px;
    letter-spacing:.06em;
    gap:9px
  }
  .rose-mark::before {
    width:18px
  }
  .hero h1 {
    font-size:100px;
    line-height:.9;
    margin:10px 0 0
  }
  .hero-business {
    font-size:11px;
    letter-spacing:.1em;
    line-height:1.5;
    margin-top:9px
  }
  .hero-photo {
    margin-top:20px;
    align-self:start
  }
  .hero-photo figcaption {
    font-size:7px;
    letter-spacing:.1em;
    margin-top:6px;
    gap:4px
  }
  .hero-copy {
    writing-mode:vertical-rl;
    justify-self:center;
    align-self:center;
    font-size:27px;
    line-height:1.8;
    letter-spacing:.04em;
    margin:16px 0 0;
    max-height:none
  }
  .hero-copy span {
    display:block
  }
  .hero-copy span+span {
    padding-top:42px
  }
  .hero-description {
    font-size:14px;
    line-height:1.9;
    margin-top:17px
  }
  .hero-actions {
    display:grid;
    grid-template-columns:1fr;
    margin-top:18px;
    gap:10px
  }
  .hero-actions .button {
    width:100%;
    font-size:14px;
    min-height:48px;
    padding:12px 17px
  }
  .hero-actions .button-outline {
    min-height:44px;
    background:none;
    border-color:var(--line)
  }
  .hero-index {
    display:none
  }
  .quick-inner {
    gap:16px 0;
    padding-block:20px
  }
  .quick-inner .micro {
    font-size:10px;
    letter-spacing:.05em
  }
  .quick-inner p {
    font-size:13px
  }
  .quick-inner strong {
    font-size:16px
  }
  .quick-hours .day-off {
    display:block;
    margin:3px 0 0;
    font-size:11px
  }
  .quick-location {
    align-self:start
  }
  .quick-inner .quick-hours {
    padding-left:20px
  }
  .quick-inner .quick-price {
    padding-top:16px
  }
  .quick-price .micro {
    display:block;
    margin:0
  }
  .quick-price p {
    display:flex;
    gap:12px;
    margin-top:8px
  }
  .quick-price .price {
    font-size:30px
  }
  .quick-price small {
    font-size:11px
  }
  .section-label {
    font-size:11px;
    gap:12px;
    letter-spacing:.1em
  }
  .about {
    grid-template-columns:1fr;
    gap:26px
  }
  .about-copy {
    display:contents
  }
  .about .section-label {
    grid-row:1
  }
  .about .japanese-title {
    grid-row:2;
    font-size:27px;
    margin:0;
    line-height:1.75
  }
  .producer-photo {
    grid-row:3;
    width:70%;
    max-width:245px;
    margin-left:auto;
    margin-right:0
  }
  .producer-photo figcaption {
    font-size:13px;
    margin-top:10px
  }
  .about-copy>p {
    font-size:16px
  }
  .producer-sign {
    margin:0;
    padding-top:20px
  }
  .about-keywords {
    font-size:14px;
    margin-top:-10px;
    gap:16px
  }
  .about-keywords span+span {
    padding-left:16px
  }
  .section-heading {
    display:block;
    margin-bottom:24px
  }
  .section-heading h2 {
    font-size:49px;
    margin-top:12px
  }
  .section-heading h2 span {
    font-size:13px;
    margin-top:10px
  }
  .heading-note {
    font-size:23px;
    line-height:1.7;
    margin-top:23px
  }
  .section-heading>p.small {
    margin-top:16px
  }
  .shisha-intro {
    grid-template-columns:1fr;
    gap:24px
  }
  .shisha-intro .small {
    font-size:13px
  }
  .shisha-main {
    padding-block:16px
  }
  .shisha-main p {
    font-size:18px
  }
  .shisha-main .price {
    font-size:33px
  }
  .price-list.compact>div {
    font-size:15px;
    padding-block:12px
  }
  .flavor-menu {
    grid-template-columns:1fr 1fr;
    gap:28px 20px;
    margin-top:28px;
    padding-top:26px
  }
  .flavor-group {
    border:0;
    padding:0
  }
  .flavor-group h3>span {
    font-size:27px
  }
  .flavor-group h3 small {
    font-size:11px
  }
  .flavor-group h3 {
    margin-bottom:16px
  }
  .flavor-group ul {
    font-size:14px;
    gap:10px;
    line-height:1.8
  }
  .flavor-group:last-child {
    grid-column:1/-1;
    border-top:1px solid var(--line);
    padding-top:24px
  }
  .flavor-group:last-child ul {
    grid-template-columns:1fr 1fr;
    gap:10px 20px
  }
  .shisha-note {
    font-size:13px;
    line-height:1.8;
    margin-top:24px
  }
  .system-main {
    grid-template-columns:1fr
  }
  .set-price {
    padding:24px
  }
  .set-price h3 {
    font-size:26px;
    margin-top:10px
  }
  .set-amount {
    font-size:64px;
    margin-top:8px
  }
  .system-conditions {
    padding:0 24px 22px;
    border-left:0
  }
  .system-conditions .price-list {
    border-top:1px solid var(--line);
    font-size:16px
  }
  .tax-note {
    font-size:14px;
    line-height:1.9
  }
  .drink-columns {
    grid-template-columns:1fr;
    gap:30px;
    margin-top:30px
  }
  .menu-heading h3 {
    font-size:19px
  }
  .menu-heading>span {
    font-size:10px
  }
  .included-list {
    grid-template-columns:1fr 1fr;
    gap:20px 18px
  }
  .included-list dt {
    font-size:15px
  }
  .included-list dd {
    font-size:14px;
    line-height:1.85
  }
  .drink-columns .price-list {
    font-size:15px
  }
  .price-list>div {
    padding-block:14px;
    gap:14px
  }
  .price-list dt small {
    font-size:12px
  }
  .shot-menu {
    margin-top:30px
  }
  .champagne {
    margin-top:30px
  }
  .champagne summary {
    padding:20px 0
  }
  .champagne summary>span:first-child {
    display:flex;
    flex-direction:column;
    align-items:start;
    gap:8px;
    font-size:13px
  }
  .champagne .serif {
    font-size:35px
  }
  .champagne-list {
    grid-template-columns:1fr;
    font-size:14px
  }
  .champagne-list .price-list {
    font-size:14px
  }
  .coupon-link {
    display:block;
    margin-top:16px
  }
  .coupon-link .small {
    font-size:12px;
    margin-top:8px
  }
  .contact-band {
    padding:22px 20px;
    margin-top:28px
  }
  .contact-band h3 {
    font-size:20px
  }
  .contact-band .button {
    width:100%;
    font-size:13px;
    padding-inline:14px;
    gap:8px
  }
  .contact-band .micro {
    font-size:10px
  }
  .cast-strip {
    padding-block:32px
  }
  .cast-inner {
    grid-template-columns:1fr;
    gap:22px
  }
  .cast-inner h2 {
    font-size:49px
  }
  .cast-inner p:not(.section-label) {
    font-size:16px
  }
  .cast-inner h2 span {
    font-size:13px
  }
  .cast-inner .text-link {
    font-size:14px;
    margin-top:13px
  }
  .desktop-break {
    display:none
  }
  .access-grid {
    gap:26px
  }
  .access-info {
    display:block
  }
  .access-info h3 {
    font-size:16px
  }
  .info-list {
    margin-top:18px
  }
  .info-list>div {
    grid-template-columns:72px 1fr;
    gap:10px;
    font-size:15px;
    padding-block:14px
  }
  .access-actions {
    gap:20px;
    flex-wrap:wrap
  }
  .access-actions .button {
    font-size:13px
  }
  .map-block iframe {
    height:260px
  }
  .map-caption {
    gap:8px;
    font-size:11px
  }
  .map-caption .text-link {
    font-size:11px;
    gap:8px
  }
  .recruit {
    grid-template-columns:104px 1fr;
    gap:20px;
    padding-block:30px;
    align-items:start
  }
  .recruit figure {
    padding-top:5px
  }
  .recruit h2 {
    font-size:22px;
    margin-top:10px;
    line-height:1.6
  }
  .recruit h2 span {
    font-size:12px;
    margin-top:5px
  }
  .recruit div>p:not(.section-label) {
    font-size:13px;
    line-height:1.85;
    margin-top:12px
  }
  .recruit .section-label {
    font-size:10px;
    gap:10px
  }
  .recruit .text-link {
    font-size:13px;
    gap:22px;
    margin-top:9px
  }
  .recruit-word {
    display:none
  }
  .site-footer {
    padding-block:32px 24px
  }
  .footer-top {
    grid-template-columns:1fr;
    gap:25px
  }
  .footer-brand {
    font-size:64px
  }
  .footer-top nav {
    font-size:13px;
    gap:9px 20px
  }
  .footer-social {
    grid-column:auto;
    gap:26px
  }
  .footer-social .text-link {
    font-size:14px;
    padding-block:8px
  }
  .footer-bottom {
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px 20px;
    margin-top:22px;
    padding-top:16px
  }
  .footer-bottom>small {
    grid-column:1;
    grid-row:2;
    font-size:9px
  }
  .back-top {
    grid-column:2;
    grid-row:1/3
  }
  .mobile-contact {
    display:grid;
    grid-template-columns:1.65fr 1fr;
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    z-index:40;
    background:var(--paper);
    color:var(--bg);
    padding:0 0 env(safe-area-inset-bottom);
    border-top:1px solid var(--line)
  }
  .mobile-contact>a {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:16px;
    font-size:13px;
    font-weight:500;
    min-height:64px;
    padding:12px 8px;
    line-height:1.6;
    border-bottom:0
  }
  .mobile-contact>a+ a {
    border-left:1px solid #c4bec5;
    background:var(--surface);
    color:var(--paper)
  }
  .mobile-contact>a:hover {
    color:var(--rose)
  }
  .mobile-contact .text-link>span[aria-hidden] {
    font-size:18px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }
}
/* 料金は本文と同じ和文書体で、数字を読み取りやすく。 */
.price {
  font-family:var(--sans);
  font-weight:400;
  letter-spacing:0
}
.set-amount {
  font-size:52px
}
.quick-price .price {
  font-size:26px
}
.shisha-main .price {
  font-size:28px
}
@media(max-width:600px) {
  .set-amount {
    font-size:52px
  }
  .quick-price .price {
    font-size:26px
  }
  .shisha-main .price {
    font-size:28px
  }
}
/* 2026-09-07 追加ご指示：正式ロゴ／ブラック＆ローズの光沢。 */
html {
  scroll-behavior:auto
}
:root {
  --rose:#c76898;
  --line:#51434e
}
body {
  background:#100d11
}
.site-header {
  background:linear-gradient(115deg,#110e13 30%,#241820 68%,#110e13)
}
.brand {
  gap:16px
}
.brand img {
  width:146px;
  height:auto
}
.brand>small {
  font-size:10px
}
.hero-shell {
  background:radial-gradient(ellipse at 80% 30%,#67324d55,transparent 56%),linear-gradient(115deg,#0d0b10 22%,#271820 62%,#0f0d11 88%);
  border-bottom:1px solid #765066
}
.hero h1 {
  margin:20px 0 12px;
  line-height:1
}
.hero h1 img {
  width:480px;
  height:auto
}
.hero-brand {
  padding-top:16px
}
.hero-business {
  letter-spacing:.16em;
  font-size:13px
}
.hero-copy {
  margin-top:22px
}
.hero-description {
  font-size:15px;
  max-width:560px;
  color:#ddd2da
}
.hero-actions {
  margin-top:23px
}
.hero {
  grid-template-columns:1fr 448px;
  min-height:744px;
  column-gap:50px
}
.hero-photo {
  align-self:end
}
.quick-info {
  background:linear-gradient(110deg,#211c23,#33242e 65%,#211b22);
  border-block-color:#79576a
}
.surface {
  background:radial-gradient(ellipse at 100% 0,#69374e25,transparent 50%),linear-gradient(130deg,#211b23,#161217 80%)
}
.system-main {
  background:linear-gradient(125deg,#342733 0%,#211a23 25%,#1a171d 60%,#30222d 100%);
  border-color:#73606f;
  box-shadow:inset 0 1px #d5bbd033
}
.contact-band {
  background:linear-gradient(115deg,#372330,#1e181f 70%);
  border-top:1px solid #b391a64d;
  border-bottom:1px solid #b391a629
}
.button-light {
  background:linear-gradient(115deg,#f2e8ef,#e2ccd9 65%,#f4ecf1);
  border-color:#dfc7d6
}
.button-outline {
  background:linear-gradient(115deg,#2a1c2588,#211c2455)
}
.cast-strip {
  background:linear-gradient(115deg,#140f16,#251820 60%,#170f16);
  border-block-color:#76566b
}
.recruit-wrap {
  background:radial-gradient(ellipse at 80% 60%,#6c345044,transparent 60%),linear-gradient(115deg,#201720,#120e14);
  border-top-color:#82677a
}
.footer-brand {
  display:block;
  max-width:200px
}
.footer-brand img {
  width:100%;
  height:auto
}
.section-heading h2,.cast-inner h2 {
  color:#efe3ec
}
.section-label::before {
  box-shadow:0 0 8px #c7689866
}
@media(max-width:1100px) {
  .hero {
    grid-template-columns:1fr 41%;
    column-gap:32px
  }
  .hero h1 img {
    width:100%
  }
  .brand img {
    width:126px
  }
}
@media(max-width:960px) {
  .brand>small {
    display:none
  }
  .hero {
    min-height:0;
    grid-template-columns:1fr 43%;
    gap:0 28px
  }
  .hero h1 {
    margin-block:18px 10px
  }
  .hero h1 img {
    width:350px
  }
  .hero-description {
    font-size:14px
  }
  .hero-photo {
    align-self:center
  }
}
@media(max-width:600px) {
  .brand img {
    width:124px
  }
  .hero {
    grid-template-columns:1fr 58%;
    gap:0 12px;
    padding-top:18px
  }
  .hero-brand {
    padding-top:0
  }
  .hero h1 {
    margin:12px 0 8px
  }
  .hero h1 img {
    width:285px
  }
  .hero-business {
    font-size:10px;
    letter-spacing:.1em
  }
  .hero-copy {
    font-size:27px;
    margin-top:10px
  }
  .hero-copy span+span {
    padding-top:24px
  }
  .hero-description {
    font-size:14px;
    margin-top:14px
  }
  .hero-photo {
    align-self:start
  }
  .hero-actions {
    margin-top:16px
  }
  .hero-shell {
    background:radial-gradient(ellipse at 90% 40%,#61374c66,transparent 65%),linear-gradient(145deg,#120d14,#261622 65%,#100c12)
  }
  .footer-brand {
    max-width:185px
  }
}
/* 参考ポスターの明朝体と金属的な光沢。読ませる本文・金額には使用しない。 */
.hero .eyebrow {
  font-family:var(--jp-serif);
  font-size:24px;
  font-weight:500;
  letter-spacing:.08em;
  color:#f2cedf;
  line-height:1.65
}
.hero .rose-mark::before {
  width:32px;
  background:linear-gradient(90deg,#b44b7a,#f0cfdf)
}
.hero-copy {
  font-weight:500;
  letter-spacing:.06em;
  text-shadow:0 2px 20px #ce6c9622
}
.japanese-title,.heading-note,.contact-band h3,.recruit h2 {
  color:#f4e8ef
}
.section-heading {
  padding-bottom:20px;
  border-bottom:1px solid transparent;
  border-image:linear-gradient(90deg,#d4aec780,#6e3f5840,transparent) 1
}
@supports(-webkit-background-clip:text) {
  .hero-copy,.hero .eyebrow,.section-heading h2,.cast-inner h2,.japanese-title {
    background:linear-gradient(120deg,#fff8fb 4%,#efd7e3 27%,#c8b6c3 48%,#faedf4 61%,#d69ab9 100%);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent
  }
  .hero .eyebrow {
    background-image:linear-gradient(110deg,#fff2d8 5%,#f7d6e8 30%,#d787ad 70%,#fff2f8 100%)
  }
  .section-heading h2 span,.cast-inner h2 span {
    -webkit-text-fill-color:var(--paper)
  }
}
@media(max-width:960px) {
  .hero .eyebrow {
    font-size:20px
  }
  .hero-copy {
    font-size:28px
  }
}
@media(max-width:600px) {
  .hero .eyebrow {
    font-size:19px;
    letter-spacing:.04em
  }
  .hero .rose-mark::before {
    width:20px
  }
  .hero-copy {
    font-size:27px
  }
  .section-heading {
    padding-bottom:16px
  }
  .hero h1 img {
    width:280px
  }
}
@media(forced-colors:active) {
  .hero-copy,.hero .eyebrow,.section-heading h2,.cast-inner h2,.japanese-title {
    background:none;
    -webkit-text-fill-color:CanvasText
  }
}
.hero-shell {
  background-image:linear-gradient(90deg,#100c1370,transparent 85%),url('../assets/noir-gloss.webp');
  background-size:cover;
  background-position:center
}
.brand img {
  width:156px
}
.hero h1 img {
  width:540px
}
.hero h1 {
  margin-block:28px 18px
}
.hero-brand {
  padding-top:32px
}
.hero-copy {
  font-size:39px;
  margin-top:32px
}
.hero-photo img {
  border:1px solid #b78aa277;
  box-shadow:0 0 36px #c9588b1f
}
.hero-photo figcaption {
  color:#e1cbd9
}
.footer-brand {
  max-width:215px
}
@media(max-width:1100px) {
  .hero h1 img {
    width:100%
  }
  .hero-copy {
    font-size:33px
  }
  .brand img {
    width:142px
  }
}
@media(max-width:960px) {
  .hero-brand {
    padding-top:12px
  }
  .hero h1 {
    margin-block:24px 14px
  }
  .hero-copy {
    font-size:28px;
    margin-top:26px
  }
  .brand img {
    width:142px
  }
}
@media(max-width:600px) {
  .hero-shell {
    background-position:65% center
  }
  .hero-brand {
    padding-top:0
  }
  .hero h1 {
    margin:15px 0 12px
  }
  .hero h1 img {
    width:315px
  }
  .brand img {
    width:145px
  }
  .hero-copy {
    font-size:27px;
    margin-top:12px
  }
  .hero-description {
    font-size:14px
  }
  .footer-brand {
    max-width:210px
  }
}
/* 原本のプレートを含むロゴをそのまま掲載。 */
.brand img {
  width:134px
}
.hero h1 img {
  width:445px
}
.hero h1 {
  margin:16px 0 10px
}
.hero-brand {
  padding-top:14px
}
.hero-copy {
  margin-top:20px
}
.hero-description {
  font-size:14px
}
.hero {
  min-height:744px
}
.footer-brand {
  max-width:185px
}
@media(max-width:960px) {
  .hero {
    min-height:0
  }
  .brand img {
    width:126px
  }
  .hero h1 img {
    width:100%
  }
  .hero-brand {
    padding-top:0
  }
  .hero h1 {
    margin-top:15px
  }
  .hero-copy {
    margin-top:18px
  }
}
@media(max-width:600px) {
  .brand img {
    width:115px
  }
  .hero h1 img {
    width:250px
  }
  .hero h1 {
    margin:12px 0 8px
  }
  .hero .eyebrow {
    font-size:18px
  }
  .hero-photo {
    margin-top:18px
  }
  .hero-copy {
    margin-top:8px
  }
  .hero-description br {
    display:initial
  }
  .hero-business {
    font-size:10px
  }
  .footer-brand {
    max-width:180px
  }
}
/* 追加ご指示：和文は明朝に統一。Noto Serif JPの中程度の太さで可読性を確保。 */
:root {
  --sans:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif
}
body {
  font-weight:500
}
.price {
  font-weight:500
}
.currency {
  font-size:.68em;
  margin-left:.12em
}
.price-list .currency {
  font-size:.92em;
  margin-left:0
}
.hero-description {
  font-size:15px
}
.included-list dd,.drink-columns .price-list {
  font-size:15px
}
.small {
  font-weight:400
}
.button {
  font-weight:600
}
.section-label,.micro {
  font-family:var(--jp-serif)
}
/* 桜は内容より後ろのレイヤー。操作を遮らず、写真・料金面に重ねません。 */
.container {
  position:relative;
  z-index:2
}
.sakura-fall {
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:1;
  contain:strict
}
.sakura-petal {
  position:absolute;
  top:-45px;
  left:var(--petal-x);
  width:var(--petal-size);
  height:auto;
  opacity:0;
  pointer-events:none
}
.motion-enabled .sakura-petal {
  animation:sakura-drift var(--petal-time) linear var(--petal-delay) infinite
}
@keyframes sakura-drift {
  0% {
    transform:translate3d(0,-35px,0) rotate(0deg);
    opacity:0
  }
  8% {
    opacity:.72
  }
  80% {
    opacity:.72
  }
  100% {
    transform:translate3d(var(--petal-sway),calc(100vh + 100px),0) rotate(290deg);
    opacity:0
  }
}
@media(max-width:600px) {
  .sakura-petal:nth-child(n+17) {
    display:none
  }
  .hero-description {
    font-size:14px
  }
  .footer-bottom {
    grid-template-columns:1fr auto
  }
    .footer-bottom .back-top {
    grid-row:1/4
  }
  .hero-business {
    font-size:10px
  }
  .included-list dd {
    font-size:14px
  }
  .drink-columns .price-list {
    font-size:15px
  }
}
@media(prefers-reduced-motion:reduce) {
  .sakura-fall {
    display:none!important
  }
  .sakura-petal {
    animation:none!important
  }
}

/* 品名の途中で一文字だけ折り返さず、飲み物単位で改行します。 */
.included-list dd {
  display:flex;
  flex-wrap:wrap;
  gap:2px 10px
}
.drink-option {
  white-space:nowrap
}

/* 追加参考画像：ローズの光と桜を両端から黒い光沢へなじませる。 */
.hero-shell {
  position:relative;
  background-image:linear-gradient(90deg,#100c1370,transparent 85%),url('../assets/noir-gloss.webp');
  background-size:cover;
  background-position:center
}
.hero-shell::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:url('../assets/sakura-reference.webp'),url('../assets/sakura-reference.webp');
  background-size:auto 100%;
  background-position:left top,right bottom;
  background-repeat:no-repeat;
  mask-image:linear-gradient(90deg,#000,transparent 15%,transparent 85%,#000);
  opacity:.85
}
.sakura-petal {
  filter:brightness(1.45) saturate(.65) drop-shadow(0 0 5px #f497c155)
}
.sakura-petal:nth-child(3n) {
  filter:brightness(1.65) saturate(.45) drop-shadow(0 0 6px #ffd0e866)
}
/* 明るい花びらが背後を通っても文字の輪郭を保つ。 */
main p,main dt,main dd,.flavor-menu li {
  text-shadow:0 1px 2px #100d11,0 0 5px #100d11
}
.hero-copy,.hero .eyebrow {
  text-shadow:none;
  filter:drop-shadow(0 1px 2px #100d11) drop-shadow(0 0 4px #100d11)
}
@media(max-width:600px) {
  .hero-shell::before {
    background-image:linear-gradient(180deg,#16091199,#120b12bf 58%,#190a13b3),url('../assets/sakura-reference.webp');
    background-size:cover;
    background-position:center top;
    mask-image:none;
    opacity:1
  }
  .sakura-petal {
    width:calc(var(--petal-size) * .85)
  }
}

/* 提供された透過写真を拡大。FVは紹介に集中し、CTAは本文へ。 */
.hero {
  grid-template-columns:minmax(0,1fr) 520px;
  grid-template-areas:"content photo";
  grid-template-rows:auto;
  align-items:center;
  column-gap:32px;
  padding-top:16px;
  padding-bottom:36px
}
.hero-content {
  grid-area:content
}
.hero-brand {
  padding-top:0
}
.hero-photo {
  margin-right:0;
  align-self:center
}
.hero-portrait {
  aspect-ratio:26/33;
  overflow:hidden;
  background:radial-gradient(ellipse at 50% 42%,#a85b7424,transparent 67%);
  mask-image:linear-gradient(#000 0 90%,transparent 100%)
}
.hero-photo img {
  width:100%;
  max-width:none;
  height:auto;
  background:transparent;
  border:0;
  box-shadow:none;
  transform:translateY(-5%)
}
@media(max-width:1100px) {
  .hero {
    grid-template-columns:minmax(0,1fr) 45%;
    column-gap:24px
  }
}
@media(max-width:960px) {
  .hero {
    grid-template-columns:minmax(0,1fr) 48%
  }
}
@media(max-width:600px) {
  body {
    padding-bottom:0
  }
  .hero {
    grid-template-columns:minmax(0,1fr) 70%;
    grid-template-areas:"brand brand" "copy photo" "note note";
    grid-template-rows:auto auto auto;
    column-gap:8px;
    padding-top:18px;
    padding-bottom:28px
  }
  .hero-content {
    display:contents
  }
  .hero-photo {
    margin-top:12px;
    align-self:start
  }
  .hero-portrait {
    aspect-ratio:3/4
  }
  .hero-copy {
    font-size:26px;
    line-height:1.6
  }
  .site-footer {
    padding-bottom:calc(32px + env(safe-area-inset-bottom))
  }
  .footer-bottom .back-top {
    grid-row:1/3
  }
}

/* 追加ご指示：FVは鮮やかな桜色、本文は深いローズと光沢を全幅に。 */
:root {
  --muted:#d6c5d0;
  --line:#86576f;
  --rose:#e183b1
}
.hero-shell {
  background-color:#870643;
  background-image:
    radial-gradient(ellipse at 78% 20%,#ff319752,transparent 58%),
    linear-gradient(100deg,#2d061bcc 5%,#32081ab3 37%,#b20c6280 70%,#d80a7780);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border-bottom-color:#e6a2c3
}
.hero-sakura-texture {
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none
}
.hero-sakura-texture span {
  position:absolute;
  inset-block:0;
  width:58%;
  background:url('../assets/sakura-reference.webp') center top / 100% auto no-repeat;
  mask-image:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);
  opacity:.8
}
.hero-sakura-texture span:nth-child(1) {
  left:-24%
}
.hero-sakura-texture span:nth-child(2) {
  left:16%;
  transform:scaleX(-1);
  opacity:.5
}
.hero-sakura-texture span:nth-child(3) {
  right:-18%
}
.hero-shell::before {
  background:url('../assets/noir-gloss.webp') center / cover no-repeat;
  mask-image:none;
  mix-blend-mode:screen;
  opacity:.65
}
.hero-shell::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(125deg,transparent 62%,#ffd7ed38 62.15%,transparent 62.45%,transparent 66%,#f485bb24 66.1%,transparent 66.8%);
  box-shadow:inset 0 1px #f6c6de88,inset 0 -1px #e099b866
}
.hero .eyebrow,.hero-copy {
  filter:drop-shadow(0 2px 3px #31061f) drop-shadow(0 0 10px #31061f)
}
.hero-description,.hero-business,.hero-photo figcaption {
  color:#fff0f8
}
.hero-portrait {
  background:none
}
.quick-info {
  background:linear-gradient(115deg,#42152d,#6a2347 48%,#331223);
  border-block-color:#b17294
}
.quick-price:hover {
  color:inherit
}
.section-scene,.surface,.cast-strip,.recruit-wrap,.site-footer {
  position:relative;
  background-color:#1b0c17;
  background-image:
    linear-gradient(105deg,#6914378c,#1c0e18e0 28%,#1e0d1ade 70%,#6f164280),
    url('../assets/noir-gloss.webp');
  background-size:cover;
  background-position:center;
  border-color:#a26385
}
.section-scene::before,.surface::before,.cast-strip::before,.recruit-wrap::before,.site-footer::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:url('../assets/sakura-reference.webp'),url('../assets/sakura-reference.webp');
  background-size:300px auto;
  background-position:left top,right 35%;
  background-repeat:repeat-y;
  mask-image:linear-gradient(90deg,#000,transparent min(24%,270px),transparent max(76%,calc(100% - 270px)),#000);
  opacity:.8
}
.surface,.scene-access {
  background-image:
    linear-gradient(110deg,#531632ad,#27121ecf 30%,#281322d9 65%,#7020449e),
    url('../assets/noir-gloss.webp')
}
.cast-strip,.recruit-wrap {
  background-image:linear-gradient(115deg,#59203ec9,#311223e6 45%,#631f45b8),url('../assets/noir-gloss.webp')
}
.system-main {
  background:linear-gradient(125deg,#5d2945f2,#24151ff5 50%,#482038f5);
  border-color:#b486a0;
  box-shadow:inset 0 1px #f6d4e566
}
.contact-band {
  background:linear-gradient(110deg,#672a4be8,#381b2be8 75%);
  border-color:#d799b9
}
.button-outline {
  background:linear-gradient(115deg,#602b47b8,#291523cc)
}
.button-outline:hover {
  background:#753354
}
.section-heading {
  border-image:linear-gradient(90deg,#edb3d3b3,#a9608866,transparent) 1
}
.site-header {
  background:linear-gradient(110deg,#180f17,#3b1a2f 70%,#21121c);
  border-bottom-color:#b07995
}
@media(max-width:960px) {
  .section-scene::before,.surface::before,.cast-strip::before,.recruit-wrap::before,.site-footer::before {
    background-size:230px auto
  }
}
@media(max-width:600px) {
  .hero-shell {
    background-image:linear-gradient(110deg,#360720b8,#840a4655 55%,#e50f7933)
  }
  .hero-sakura-texture span {
    width:105%;
    background-size:100% auto
  }
  .hero-sakura-texture span:nth-child(1) {
    left:-44%
  }
  .hero-sakura-texture span:nth-child(2) {
    display:none
  }
  .hero-sakura-texture span:nth-child(3) {
    right:-34%
  }
  .hero-shell::before {
    background-position:65% center;
    opacity:.6
  }
  .section-scene,.surface,.cast-strip,.recruit-wrap,.site-footer {
    background-image:
      linear-gradient(100deg,#51122f99,#20111bf0 30%,#24121fe8 68%,#64143b99),
      url('../assets/noir-gloss.webp');
    background-position:65% center
  }
  .section-scene::before,.surface::before,.cast-strip::before,.recruit-wrap::before,.site-footer::before {
    background-size:180px auto;
    mask-image:linear-gradient(90deg,#000,transparent 28%,transparent 72%,#000);
    opacity:.7
  }
}

/* キャッチの拡大と、フッターのSNSアイコン・姉妹店ロゴ。 */
.hero-copy {
  font-size:46px;
  line-height:1.7
}
.footer-social {
  align-items:center;
  gap:24px
}
.social-logo {
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:48px;
  min-height:48px;
  padding:6px;
  transition:opacity .18s
}
.social-logo:hover,.sister-brand:hover {
  opacity:.75
}
.instagram-logo img {
  width:36px;
  height:36px
}
.pokepara-logo img {
  width:100px;
  height:26px
}
.sister-brand {
  display:inline-flex;
  flex-direction:column;
  gap:8px;
  align-items:flex-start;
  padding-block:4px;
  font-size:16px;
  color:var(--text);
  transition:opacity .18s
}
.sister-brand img {
  width:190px;
  height:auto
}
@media(max-width:1100px) {
  .hero-copy {
    font-size:38px
  }
}
@media(max-width:960px) {
  .hero-copy {
    font-size:31px
  }
}
@media(max-width:600px) {
  .hero-copy {
    font-size:28px;
    line-height:1.5
  }
  .sister-brand img {
    width:175px
  }
}

/* 2026-09-08：提供された切り抜き3点と、FVの補足コピー。 */
.hero-description {
  font-size:19px;
  line-height:1.85
}
.producer-portrait {
  aspect-ratio:1045/1256;
  overflow:hidden
}
.producer-portrait img {
  transform:translateY(-15%)
}
.recruit-portrait {
  aspect-ratio:1045/1448;
  overflow:hidden
}
.recruit-portrait img {
  transform:translateY(-8%)
}
@media(max-width:960px) {
  .hero-description {
    font-size:17px
  }
}
@media(max-width:600px) {
  .hero-description {
    font-size:16px;
    line-height:1.85
  }
}

/* 採用情報を写真と大きな見出しで見せる。 */
.recruit {
  grid-template-columns:360px minmax(0,1fr);
  gap:72px;
  padding-block:56px
}
.recruit h2 {
  font-size:42px;
  line-height:1.5
}
.recruit h2 span {
  font-size:18px;
  margin-top:12px
}
.recruit .section-label {
  font-size:14px
}
.recruit div>p:not(.section-label) {
  font-size:18px;
  margin-top:24px
}
.recruit .text-link {
  font-size:18px;
  margin-top:24px;
  min-height:48px
}
@media(max-width:960px) {
  .recruit {
    grid-template-columns:280px minmax(0,1fr);
    gap:40px;
    padding-block:48px
  }
  .recruit h2 {
    font-size:36px
  }
}
@media(max-width:600px) {
  .recruit {
    grid-template-columns:175px minmax(0,1fr);
    grid-template-areas:"photo label" "photo heading" "body body" "link link";
    gap:16px 20px;
    padding-block:40px;
    align-items:center
  }
  .recruit-copy {
    display:contents
  }
  .recruit figure {
    grid-area:photo;
    padding-top:0
  }
  .recruit .section-label {
    grid-area:label;
    align-self:end;
    font-size:12px
  }
  .recruit h2 {
    grid-area:heading;
    align-self:start;
    font-size:26px;
    margin:0
  }
  .recruit h2 span {
    font-size:14px;
    margin-top:10px
  }
  .recruit div>p:not(.section-label) {
    grid-area:body;
    font-size:16px;
    margin:0
  }
  .recruit .text-link {
    grid-area:link;
    justify-self:start;
    font-size:16px;
    margin:0
  }
}

/* プロデューサー紹介：全身写真を大きく配置。 */
.about {
  grid-template-columns:540px minmax(0,1fr);
  gap:48px
}
.producer-photo {
  width:100%;
  max-width:540px
}
@media(max-width:1100px) {
  .about {
    grid-template-columns:48% minmax(0,1fr);
    gap:32px;
    padding-inline:0
  }
}
@media(max-width:960px) {
  .about {grid-template-columns:50% minmax(0,1fr);gap:28px}
}
@media(max-width:600px) {
  .about {
    grid-template-columns:1fr;
    gap:24px
  }
  .producer-photo {
    width:100%;
    max-width:none;
    margin:0
  }
}

.recruit-heading-break {display:none}
@media(max-width:600px) {
  .recruit-heading-break {display:initial}
}

/* 紹介文を大きくし、プロデュース署名を削除した空間を整える。 */
.about .japanese-title {
  font-size:44px;
  line-height:1.65;
  margin-bottom:24px
}
.about-copy>p {
  font-size:22px;
  line-height:1.9;
  text-wrap:pretty
}
@media(max-width:960px) {
  .about .japanese-title {font-size:32px}
  .about-copy>p {font-size:18px}
}
@media(max-width:600px) {
  .about .japanese-title {font-size:30px;margin-bottom:0}
  .about-copy>p {font-size:18px;line-height:1.9}
}

/* ROZE & Noir — shared official site */
.combined-brand {display:flex;align-items:center;gap:16px;width:240px}
.combined-brand img {width:108px;height:auto;max-height:none;object-fit:contain}
.combined-site .hero {grid-template-columns:minmax(0,1fr) 46%;gap:28px;min-height:740px;padding-block:28px 36px}
.combined-site .hero-logos {display:flex;flex-direction:column;align-items:center;gap:18px;margin:18px 0 8px;width:100%}
.combined-site .hero-logos img {display:block;width:360px;max-width:100%;height:auto}
.combined-site .hero-logos img+img {width:320px}
.combined-site .hero-brand {text-align:center}
.combined-site .hero-copy {font-size:clamp(26px,2.7vw,36px);line-height:1.8;letter-spacing:.04em;margin-top:26px;writing-mode:horizontal-tb;text-align:center}
.combined-site .hero-copy span {display:block;white-space:nowrap}
.combined-site .hero-photo {align-self:end;width:100%}
.combined-site .hero-business {font-size:13px;letter-spacing:.18em}
.combined-site .quick-location p {display:flex;align-items:center;gap:18px;font-size:14px;line-height:1.8}
.greeting {display:grid;grid-template-columns:44% minmax(0,1fr);align-items:center;gap:56px}
.greeting-photo {margin:0;overflow:hidden;align-self:center}
.greeting-photo img {display:block;width:100%;height:auto;margin-top:-14%;mask-image:linear-gradient(#000 95%,transparent)}
.greeting-copy .japanese-title {font-size:clamp(28px,3vw,40px);line-height:1.65;margin:26px 0}
.greeting-copy>p:not(.section-label) {font-size:17px;line-height:2;margin:20px 0}
.greeting-copy .greeting-signature {font-size:26px!important;text-align:right;margin-right:12px!important}
.stores-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.store-card {min-width:0;padding:28px;border:1px solid #b9799b;background:linear-gradient(145deg,#b8397624,#160e1873)}
.store-logo {height:128px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.store-logo img {width:280px;max-width:100%;height:auto;max-height:125px;object-fit:contain}
.store-card h3 {font-size:28px;letter-spacing:.08em;margin-bottom:20px}
.store-card h3 span {display:block;font-size:14px;font-weight:400;margin-top:6px}
.store-card .info-list>div {grid-template-columns:80px minmax(0,1fr)}
.store-card .info-list {font-size:15px}
.store-card iframe {display:block;width:100%;height:280px;border:0;margin:24px 0 16px;filter:none}
.store-card>.text-link {font-size:14px;width:100%;gap:10px}
.combined-site .recruit-copy>.text-link {display:flex;width:max-content;max-width:100%;margin-top:18px}
.footer-stores {display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:760px;margin:auto}
.footer-store {display:flex;flex-direction:column;align-items:center;gap:20px}
.footer-store>a:first-child {height:120px;display:flex;align-items:center}
.footer-store>a:first-child img {width:260px;max-height:115px;object-fit:contain}
.footer-instagram {display:flex;align-items:center;gap:12px;font-size:15px}
.footer-instagram img {width:24px;height:24px}
.combined-footer-nav {display:flex;justify-content:center;gap:40px;margin:44px 0}
.combined-footer-nav a {display:flex;flex-direction:column;text-align:center;gap:6px;font-size:15px}
.combined-footer-nav a span+span {font-size:12px}
@media(max-width:960px){
.combined-brand{width:180px;gap:10px}.combined-brand img{width:80px}
.combined-site .hero{min-height:620px;gap:16px}.combined-site .hero-copy{font-size:25px}.combined-site .hero-logos img{width:290px}.combined-site .hero-logos img+img{width:260px}
.greeting{gap:30px}.greeting-copy>p:not(.section-label){font-size:15px}.stores-grid{gap:20px}.store-card{padding:20px}.store-card .info-list>div{grid-template-columns:65px 1fr}
}
@media(max-width:600px){
.combined-brand{width:185px}.combined-brand img{width:82px}
.combined-site .hero{display:grid;grid-template-columns:46% 54%;grid-template-areas:"brand photo" "copy copy";gap:0;min-height:0;padding:28px 0 32px;align-items:center}
.combined-site .hero-content{display:contents}.combined-site .hero-brand{grid-area:brand;min-width:0;z-index:2;padding:0;margin:0}
.combined-site .hero-logos{gap:16px;margin:18px 0 12px}.combined-site .hero-logos img{width:100%;max-width:180px}.combined-site .hero-logos img+img{width:93%}
.combined-site .hero-brand .eyebrow{font-size:12px;letter-spacing:.05em;white-space:nowrap}.combined-site .hero-business{font-size:9px;letter-spacing:.03em;white-space:nowrap}
.combined-site .hero-photo{grid-area:photo;width:100%;margin:0;align-self:center}.combined-site .hero-portrait{aspect-ratio:26/36}.combined-site .hero-portrait img{width:110%;max-width:none;transform:translate(-4%,-5%)}
.combined-site .hero-copy{grid-area:copy;writing-mode:horizontal-tb;text-align:center;font-size:clamp(21px,5.7vw,28px);line-height:1.85;letter-spacing:.02em;margin:12px 0 0;padding:0}
.combined-site .quick-location p{font-size:12px;gap:12px}.combined-site .quick-inner{row-gap:14px}
.greeting{grid-template-columns:1fr;gap:20px}.greeting-photo{width:85%;max-width:380px;margin:0 auto;max-height:470px}.greeting-copy .japanese-title{font-size:30px;margin:20px 0}.greeting-copy>p:not(.section-label){font-size:16px;line-height:1.95}.greeting-copy .section-label{justify-content:flex-start}
.stores-grid{grid-template-columns:1fr;gap:28px}.store-card{padding:22px 18px}.store-card .info-list{font-size:14px}.store-card iframe{height:260px}.store-logo{height:115px}
.combined-site .recruit-copy{display:block}.combined-site .recruit{grid-template-columns:40% 1fr;grid-template-areas:none;gap:20px}.combined-site .recruit figure{grid-area:auto;width:100%;align-self:start}.combined-site .recruit-copy h2{font-size:25px}.combined-site .recruit-copy>p:not(.section-label){font-size:15px}.combined-site .recruit-copy>.text-link{font-size:13px;gap:8px}.combined-site .recruit-copy h2 span{font-size:14px}
.footer-stores{gap:26px;grid-template-columns:1fr}.footer-store>a:first-child{height:105px}.footer-store>a:first-child img{width:250px;max-height:105px}.combined-footer-nav{gap:20px;flex-wrap:wrap}.combined-footer-nav a{font-size:12px}.combined-site .footer-bottom{gap:20px}
}
.combined-site .quick-inner{display:grid;grid-template-columns:1fr 1fr;max-width:860px;gap:28px}
.combined-site .quick-inner>div{padding:0 24px;border:0}
.combined-site .quick-price{border-left:1px solid #b9799b!important}
@media(max-width:600px){.combined-site .quick-inner{gap:16px}.combined-site .quick-inner>div{padding:0}.combined-site .quick-price{padding-left:16px!important}.combined-site .quick-price .micro{font-size:10px}.combined-site .quick-hours p{font-size:17px}.combined-site .quick-price p{display:block}.combined-site .quick-price p>small{display:block;font-size:10px}}
.combined-site .quick-inner .quick-price{grid-column:auto}
@media(max-width:360px){.combined-site .quick-inner{grid-template-columns:1fr;gap:18px}.combined-site .quick-price{border-left:0!important;border-top:1px solid #b9799b!important;padding:16px 0 0!important}}

/* 2026-09-09: Original ROZE background and cyan / magenta neon frame */
.combined-site .hero-shell{background:#160027 url('../assets/roze-background.webp') center / cover no-repeat;isolation:isolate}
.combined-site .hero-shell::before{content:"";position:absolute;inset:0;background:radial-gradient(rgb(140,0,255),rgb(0,0,0));mix-blend-mode:multiply;opacity:1;mask-image:none;z-index:0}
.combined-site .hero-shell::after{display:none}
.combined-site .hero{position:relative;z-index:1}
.roze-neon-frame{position:absolute;inset:0;pointer-events:none;z-index:2}
.combined-site .section-scene,.combined-site .surface,.combined-site .recruit-wrap,.combined-site .site-footer{background:linear-gradient(to right,#520093,#000 48%,#520093);border-color:#714b9a}
.combined-site .section-scene::before,.combined-site .surface::before,.combined-site .recruit-wrap::before,.combined-site .site-footer::before{display:none}
.combined-site .site-header{background:#150a24eb;border-bottom-color:#674080}
.combined-site .quick-info{background:linear-gradient(#520093,#160020);border-color:#714b9a}
.combined-site .system-main{background:linear-gradient(125deg,#391053e8,#16091fe8 55%,#341043e8);border-color:#ad6ec9}
.combined-site .store-card{background:linear-gradient(145deg,#71198930,#09051180);border-color:#a36ab6}
.neon-corner {
  position: absolute;
  width: 5vw;
  height: 5vw;
  pointer-events: none;
  z-index: 99;
}

/* 各位置 */
.neon-corner.top-left {
  top: 2vw;
  left: 2vw;
}
.neon-corner.top-right {
  top: 2vw;
  right: 2vw;
}
.neon-corner.bottom-left {
  bottom: 2vw;
  left: 2vw;
}
.neon-corner.bottom-right {
  bottom: 2vw;
  right: 2vw;
}

/* 共通線スタイル */
.neon-corner .line {
  position: absolute;
  border-radius: 0.5vw;
}

/* 上辺 */
.neon-corner.top-left .line.top {
  top: 0;
  left: 0;
  height: 0.3vw;
  width: 30vw;
  background: #00edff;
  box-shadow: 0 0 0.5vw #00edff, 0 0 1.5vw #00edff;
}

.neon-corner.top-right .line.top {
  top: 0;
  right: 0;
  height: 0.3vw;
  width: 60vw;
  background: #ff00ff;
  box-shadow: 0 0 0.5vw #ff00ff, 0 0 1.5vw #ff00ff;
}

/* 下辺 */
.neon-corner.bottom-left .line.bottom {
  bottom: 0;
  left: 0;
  height: 0.3vw;
  width: 80vw;
  background: #ff00ff;
  box-shadow: 0 0 0.5vw #ff00ff, 0 0 1.5vw #ff00ff;
}

.neon-corner.bottom-right .line.bottom {
  bottom: 0;
  right: 0;
  height: 0.3vw;
  width: 3vw;
  background: #00edff;
  box-shadow: 0 0 0.5vw #00edff, 0 0 1.5vw #00edff;
}

/* 左辺 */
.neon-corner.top-left .line.left {
  left: 0;
  top: 0;
  width: 0.3vw;
  height: 40vh;
  background: #00edff;
  box-shadow: 0 0 0.5vw #00edff, 0 0 1.5vw #00edff;
}

.neon-corner.bottom-left .line.left {
  left: 0;
  bottom: 0;
  width: 0.3vw;
  height: 20vh;
  background: #ff00ff;
  box-shadow: 0 0 0.5vw #ff00ff, 0 0 1.5vw #ff00ff;
}

/* 右辺 */
.neon-corner.top-right .line.right {
  right: 0;
  top: 0;
  width: 0.3vw;
  height: 15vh;
  background: #ff00ff;
  box-shadow: 0 0 0.5vw #ff00ff, 0 0 1.5vw #ff00ff;
}

.neon-corner.bottom-right .line.right {
  right: 0;
  bottom: 0;
  width: 0.3vw;
  height: 50vh;
  background: #00edff;
  box-shadow: 0 0 0.5vw #00edff, 0 0 1.5vw #00edff;
}


@media(max-width:600px){.combined-site .hero{padding-top:36px;padding-bottom:36px}.neon-corner .line{min-width:2px;min-height:2px}.neon-corner.top-left .line.left{height:32vh}.neon-corner.bottom-right .line.right{height:30vh}}
/* Original ROZE decorative assets and neon navigation */
.producer-emblem {margin:0 auto 12px;width:280px;max-width:100%}
.producer-emblem img {display:block;width:100%;height:auto}
.combined-site .hero {min-height:820px}
.combined-site .hero-logos {margin-top:0;gap:12px}
.combined-site .hero-copy {margin-top:16px}
.combined-site .desktop-nav {gap:18px}
.combined-site .desktop-nav a,.combined-footer-nav a {--neon:#ff3752;border:2px solid var(--neon);border-radius:40px;padding:9px 18px;color:var(--neon);text-shadow:0 0 12px color-mix(in srgb,var(--neon),transparent 55%);transition:box-shadow .2s}
.combined-site nav a[href="#system"]{--neon:#5287ff}
.combined-site nav a[href="#access"]{--neon:#00d6ff}
.combined-site nav a[href="#recruit"]{--neon:#4cf214}
.combined-site .desktop-nav a:hover,.combined-footer-nav a:hover{box-shadow:0 0 12px var(--neon)}
.combined-site .desktop-nav a span:first-child{font-family:Arial,sans-serif;font-weight:600;font-size:15px;letter-spacing:.04em}
.combined-site .desktop-nav a span+span{color:#f4e8ff}
.combined-site .mobile-menu nav a{--neon:#ff3752;border:2px solid var(--neon);border-radius:28px;padding:12px 20px;margin:12px 0;color:var(--neon)}
.combined-site .mobile-menu nav a span+span{color:#f4e8ff}
.combined-site .scene-about{isolation:isolate;overflow:hidden}
.greeting-sign-wrap{display:flex;justify-content:center;padding:80px 20px 0}
.greeting-neon-sign{position:relative;width:420px;max-width:85%;padding:22px 26px;text-align:center;border:5px solid #fff0fc;border-radius:100px;background:#100418;box-shadow:0 0 5px 4px #fc19ff,inset 0 0 5px 4px #fc19ff,0 0 22px #fc19ff}
.greeting-neon-sign:before{content:"";position:absolute;inset:10px;border:5px dotted #baffff;border-radius:100px;filter:drop-shadow(0 0 4px #00ffff);pointer-events:none}
.greeting-neon-sign:after{content:"";position:absolute;left:24%;right:24%;height:65px;bottom:calc(100% + 5px);border-inline:5px solid #fff0fc;filter:drop-shadow(0 0 5px #ff00ff)}
.greeting-neon-sign span{font:700 40px/1.4 Georgia,serif;letter-spacing:.06em;color:#fff;text-shadow:2px 0 #fa35ff,-2px 0 #fa35ff,0 0 9px #ff00ff}
.greeting-signature img{display:block;width:230px;max-width:65%;height:auto;margin-left:auto}
@media(max-width:1100px){.combined-site .desktop-nav{gap:10px}.combined-site .desktop-nav a{padding:8px 12px}.combined-site .desktop-nav a span:first-child{font-size:13px}}
@media(max-width:600px){.producer-emblem{width:170px;margin-bottom:16px}.combined-site .hero{min-height:0;grid-template-columns:47% 53%}.combined-site .hero-logos{gap:14px}.combined-site .hero-photo{align-self:start;margin-top:26px}.combined-site .hero-copy{margin-top:20px}.greeting-sign-wrap{padding-top:65px}.greeting-neon-sign{width:320px;padding:20px 18px}.greeting-neon-sign span{font-size:29px}.greeting-neon-sign:after{height:50px}.combined-footer-nav{gap:12px}.combined-footer-nav a{padding:9px 13px}.greeting-signature img{width:200px}}
/* ROZE menu headings and full recruitment layout — Noir prices */
.combined-site .scene-system{background:radial-gradient(ellipse at 80% 12%,#7c476659,transparent 35%),linear-gradient(100deg,#520093,#0b0012 48%,#520093)}
.menu-neon-heading{display:flex;align-items:center;gap:28px;margin:0 0 56px}
.menu-neon-heading img{display:block;width:360px;max-width:55%;height:auto}
.menu-neon-heading:before,.menu-neon-heading:after{content:"";flex:1;height:10px;border-block:3px solid #ff00ff;filter:drop-shadow(0 0 6px #ff00ff)}
.neon-basic{text-align:center;max-width:900px;margin:auto}
.neon-basic h3{font-size:32px;border-bottom:2px solid white;display:table;margin:0 auto 16px;padding-bottom:12px}
.neon-seats{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:650px;margin:42px auto}
.neon-seats h4{font-size:22px;font-weight:400}.neon-seats .price{font-size:46px;margin-top:14px}.neon-seats small{font-size:20px}
.neon-extension{font-size:22px;border-block:1px solid white;padding:16px 0;margin:35px auto;width:fit-content}.neon-tax{font-size:20px;line-height:2;margin-bottom:12px}
.menu-category{margin-top:88px}
.neon-menu .included-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 28px;border:0}
.neon-menu .included-list>div{display:block;border:0;padding:0;text-align:center}
.neon-menu .included-list dt{display:table;border:2px solid white;border-radius:30px;padding:6px 16px;margin:0 auto 20px;font-size:18px}
.neon-menu .included-list dd{display:flex;flex-direction:column;gap:10px;font-size:17px}.neon-menu .drink-option:after{display:none}
.neon-price-list{max-width:1000px;margin:0 auto;font-size:20px}.neon-price-list>div{padding:20px 0;border-bottom:1px solid #e4cce9}.neon-price-list dt{font-size:20px}.neon-price-list dd{font-size:23px}.neon-price-list dt small{font-size:15px;line-height:1.8}
.neon-menu .included-list+.neon-price-list{margin-top:42px;max-width:650px}
.menu-note{text-align:center;margin-top:24px}.shot-display{display:block;width:520px;max-width:85%;height:auto;margin:44px auto 0}
.smoking-guide{padding-top:20px}.guide-intro{text-align:center;font-size:19px;line-height:2.4}.guide-intro h3{display:table;margin:34px auto;border:1px solid white;padding:8px 28px;font-size:23px}
.smoking-points{list-style:none;max-width:920px;margin:40px auto;padding:0}.smoking-points li{display:flex;align-items:center;gap:28px;margin:28px 0;font-size:19px;line-height:2}.smoking-points img{width:76px;height:auto;flex-shrink:0}
.smoking-caution{max-width:780px;margin:48px auto 0;text-align:center;border:1px solid #d9b7e4;padding:28px;line-height:2}.smoking-caution h3{font-size:24px;margin-bottom:12px}.smoking-caution p+p{margin-top:15px}
.roze-recruit-section{background:linear-gradient(140deg,#d7d6ed,#eadfec);color:#17121d;padding:70px 0;font-family:var(--jp-serif)}
.recruit-full-heading{text-align:center;color:#7142b9;margin-bottom:65px}.recruit-full-heading h2{display:flex;align-items:center;gap:24px;font:900 42px/1.2 Impact,Arial,sans-serif}.recruit-full-heading h2:before,.recruit-full-heading h2:after{content:"";height:2px;flex:1;background:#9f77ce}.recruit-full-heading p{font-size:21px;margin-top:16px;font-weight:600}
.roze-recruit-section .recruit-box,.roze-recruit-section .recruit-box3{display:grid;grid-template-columns:28% 1fr;gap:60px;align-items:center;margin:55px 0}
.roze-recruit-section .recruit-box2{display:grid;grid-template-columns:1fr 28%;gap:60px;align-items:center;margin:55px 0}
.roze-recruit-section img{width:100%;height:auto;display:block;border-radius:0 28px 0 28px}
.roze-recruit-section .recruit-subtitle{font-size:26px;font-weight:600;color:#7142b9;margin-bottom:20px}.roze-recruit-section .recruit-subtitle2{font-size:22px;font-weight:600;color:#7142b9;margin:24px 0}
.roze-recruit-section .recruit-text-block p{font-size:19px;line-height:2.3}.roze-recruit-section .custom-box,.roze-recruit-section .custom-box2{border:1px solid #28202e;padding:18px 22px;margin:24px 0}.roze-recruit-section .custom-box{display:table}.roze-recruit-section .price-number2{font-size:26px;font-weight:600}
.recruit-subcatch{display:flex;gap:20px;align-items:center;justify-content:center;font-size:28px;font-weight:600;color:#fa4ca5;margin:64px 0 40px}.recruit-subcatch:before,.recruit-subcatch:after{content:"";height:1px;background:#fb6ebb;flex:1}
.recruit-shift{text-align:center;font-size:21px;line-height:2.7}.roze-recruit-section .boxed-content{border:1px solid #28202e;padding:30px 40px;margin:50px auto;position:relative}.roze-recruit-section .box-title{display:table;background:#3a3c4e;color:white;padding:8px 24px;font-size:23px;margin-top:-54px;margin-bottom:24px}.roze-recruit-section .boxed-content ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:0;font-size:19px;line-height:2.3}
.recruit-store-links{text-align:center;border-top:1px solid #aa8abf;padding-top:30px}.recruit-store-links .text-link{display:table;margin:16px auto;color:#612b9a;border-color:#612b9a;font-size:18px}.recruit-store-links p{margin-top:32px}
@media(max-width:600px){
.menu-neon-heading{gap:12px;margin-bottom:32px}.menu-neon-heading img{width:260px;max-width:76%}.menu-neon-heading:before,.menu-neon-heading:after{height:7px;border-width:2px}
.neon-basic h3{font-size:27px}.neon-seats{gap:14px;margin:30px auto}.neon-seats h4{font-size:16px}.neon-seats .price{font-size:30px}.neon-seats small{font-size:15px}.neon-extension{font-size:16px;line-height:2}.extension-divider{display:block;font-size:0;height:0}.neon-tax{font-size:16px}
.menu-category{margin-top:58px}.neon-menu .included-list{grid-template-columns:1fr 1fr;gap:30px 14px}.neon-menu .included-list dt{font-size:14px;padding:6px 12px}.neon-menu .included-list dd{font-size:14px}.neon-price-list dt{font-size:15px}.neon-price-list dd{font-size:17px}.neon-price-list dt small{font-size:12px}.neon-price-list>div{gap:15px;padding:17px 0}.menu-note{font-size:14px}
.guide-intro{font-size:16px;line-height:2}.guide-intro h3{font-size:20px}.smoking-points li{font-size:15px;gap:16px}.smoking-points img{width:54px}.smoking-caution{padding:22px 16px;font-size:15px}
.roze-recruit-section{padding:48px 0}.recruit-full-heading{margin-bottom:32px}.recruit-full-heading h2{font-size:34px}.recruit-full-heading p{font-size:18px}
.roze-recruit-section .recruit-box,.roze-recruit-section .recruit-box2,.roze-recruit-section .recruit-box3{grid-template-columns:1fr;gap:26px;margin:35px 0}.roze-recruit-section .recruit-images,.roze-recruit-section .recruit-images2,.roze-recruit-section .recruit-images3{width:65%;max-width:260px;margin:auto}
.roze-recruit-section .recruit-subtitle{font-size:22px}.roze-recruit-section .recruit-subtitle2{font-size:19px}.roze-recruit-section .recruit-text-block p{font-size:16px;line-height:2.1}.roze-recruit-section .custom-box2{padding:15px}.recruit-subcatch{font-size:21px;gap:10px;margin:44px 0 28px;text-align:center}.recruit-shift{font-size:16px;line-height:2.5}.roze-recruit-section .boxed-content{padding:26px 20px}.roze-recruit-section .boxed-content ul{grid-template-columns:1fr;gap:12px;font-size:16px}.roze-recruit-section .box-title{font-size:20px;margin-top:-48px}.recruit-store-links .text-link{font-size:16px}
}
/* Light recruitment panels need crisp text without the dark-scene shadow. */
.roze-recruit-section,.roze-recruit-section *{text-shadow:none!important}

/* Header buttons follow the original ROZE single-line navigation. */
.combined-site .desktop-nav{gap:24px}
.combined-site .desktop-nav a,.combined-site .mobile-menu nav a{--neon:#ff0000;display:flex;align-items:center;justify-content:center;border:2px solid var(--neon);border-radius:50px;padding:5px 30px;color:var(--neon);text-shadow:0 0 5px rgba(0,0,0,.9)}
.combined-site .site-header nav a[href="#system"]{--neon:#0048ff}
.combined-site .site-header nav a[href="#access"]{--neon:#00bfff}
.combined-site .site-header nav a[href="#recruit"]{--neon:#33dd00}
.combined-site .desktop-nav a span:first-child,.combined-site .mobile-menu nav a span:first-child{font-family:Arial,sans-serif;font-size:20px;font-weight:700;line-height:1.4;letter-spacing:0}
@media(min-width:901px) and (max-width:1200px){.combined-site .desktop-nav{gap:16px}.combined-site .desktop-nav a{padding:5px 18px}.combined-site .desktop-nav a span:first-child{font-size:18px}}

/* Original ROZE typeface, with its rounded Google font as fallback. */
:root{--roze-font:"fot-tsukuardgothic-std","M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif}
.combined-site .site-header nav a span,.combined-site .neon-menu,.combined-site .neon-menu *,.combined-site .smoking-guide,.combined-site .smoking-guide *,.combined-site .roze-recruit-section,.combined-site .roze-recruit-section *,.combined-site .access-section,.combined-site .combined-footer-nav{font-family:var(--roze-font)}
.combined-site .recruit-full-heading h2{font-family:Impact,Arial,sans-serif}
.combined-site .desktop-nav a span:first-child,.combined-site .mobile-menu nav a span:first-child{font-family:var(--roze-font)}
.combined-site .mobile-menu summary>span:last-child{font-family:"Hiragino Maru Gothic ProN","Hiragino Maru Gothic Pro","M PLUS Rounded 1c",sans-serif}

/* Footer icon-only links and rounded copyright. */
.footer-instagram{justify-content:center;min-width:44px;min-height:44px}
.footer-instagram img{width:48px;height:48px}
.combined-site .footer-bottom small{font-family:var(--roze-font)}

/* Slow, lightweight outline stars matching the white neon reference. */
.star-fall{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:4}
.falling-star{position:absolute;left:var(--x);top:-50px;width:var(--size);height:var(--size);opacity:0;filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 8px #cf8dff);animation:neon-star-fall var(--duration) linear var(--delay) infinite;will-change:transform}
@keyframes neon-star-fall{0%{transform:translate3d(0,0,0) rotate(-12deg);opacity:0}12%,80%{opacity:.55}100%{transform:translate3d(var(--drift),calc(100dvh + 100px),0) rotate(32deg);opacity:0}}
.star-fall.paused .falling-star{animation-play-state:paused}
@media(max-width:600px){.falling-star:nth-child(n+9){display:none}}
@media(prefers-reduced-motion:reduce){.star-fall{display:none}.falling-star{animation:none}}

/* Keep decorative stars behind content and transparent portraits. */
.star-fall{z-index:1}
.combined-site .hero-shell,.combined-site .scene-about{position:relative;z-index:2;clip-path:inset(0)}
.star-fall-local{z-index:0}
.combined-site .greeting-sign-wrap{position:relative;z-index:2}

/* ROZE lettering for the introductory copy, hours and greeting sign. */
.combined-site .hero-copy,.combined-site .hero-copy span,
.combined-site .quick-info,.combined-site .quick-info *,
.combined-site .greeting-neon-sign,.combined-site .greeting-neon-sign *{font-family:var(--roze-font)}

/* Match the original ROZE typeface in both store information cards. */
.combined-site .store-card,.combined-site .store-card *{font-family:var(--roze-font)}

/* Original ROZE smoke invitation, matching the supplied copy and layout. */
.combined-site .roze-invitation{position:relative;isolation:isolate;overflow:hidden;padding:42px 0 68px;background:linear-gradient(#520093,#000)}
.roze-invitation::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url('../assets/roze-smoke.webp') center top/cover no-repeat;opacity:.5}
.roze-invitation .container{position:relative;z-index:2}
.roze-invitation,.roze-invitation *{font-family:var(--roze-font)}
.roze-invitation h2{margin:0;color:#fff;font-size:clamp(22px,1.875vw,30px);font-weight:700;line-height:1.8;letter-spacing:.08em;text-align:center;text-shadow:0 0 5px #000,0 0 10px #000}
.roze-invitation h2>span{display:block}
.roze-invitation h2>span+span{margin-top:10px}
.invitation-break{display:none}
.roze-campaigns{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);gap:28px;width:min(900px,100%);margin:50px auto 0;align-items:stretch;text-align:center}
.roze-campaign{display:flex;flex-direction:column;min-width:0;padding:0 10px;border:3px solid #0ff;border-radius:5px;box-shadow:0 0 8px #0ff,0 0 16px #0ff,0 0 24px #0ff;background:transparent}
.roze-campaign h3{padding:10px 0 12px;border-bottom:3px solid #0ff;color:#0ff;font-size:clamp(19px,1.75vw,26px);font-weight:700;line-height:1.5;white-space:nowrap;text-shadow:0 0 5px #0ff,0 0 10px #0ff,0 0 20px #0ff}
.roze-campaign-body{display:flex;flex:1;flex-direction:column;justify-content:center;padding:12px 0 14px;line-height:1.5}
.campaign-description{color:#fff;font-size:clamp(20px,1.7vw,25px)}
.campaign-prices{display:flex;justify-content:center;align-items:baseline;gap:10px;margin-top:4px;white-space:nowrap;color:#fff}
.campaign-before{font-size:clamp(26px,2.2vw,32px);font-weight:700}
.campaign-after{color:#ffd700;font-size:clamp(32px,2.8vw,42px);font-weight:700}
.campaign-prices small{font-size:.6em}
.campaign-arrow{align-self:center;font-family:Arial,sans-serif;font-size:34px;font-weight:900;line-height:1;text-shadow:0 0 5px #000}
.campaign-plus{align-self:center;margin:44px 0 0;color:#fff;font-size:26px;font-weight:700;line-height:1.5;white-space:nowrap}
.campaign-sns-offer{color:#ffd700;font-size:clamp(25px,2.15vw,32px);font-weight:700;line-height:1.4;white-space:nowrap}
@media(max-width:800px){
  .roze-campaigns{grid-template-columns:1fr;gap:20px;max-width:380px;margin-top:34px}
  .campaign-plus{margin:0;font-size:26px}
  .roze-campaign h3{font-size:22px}
  .campaign-description{font-size:23px}
  .campaign-before{font-size:30px}
  .campaign-after{font-size:40px}
  .campaign-sns-offer{font-size:22px}
}
@media(max-width:600px){
  .combined-site .roze-invitation{padding:30px 0 48px}
  .roze-invitation::before{background-size:auto 100%;background-position:center top}
  .roze-invitation h2{font-size:clamp(19px,5.1vw,28px);line-height:1.9;letter-spacing:.04em}
  .roze-invitation h2>span+span{margin-top:8px}
  .invitation-break{display:block}
}
@media(max-width:360px){
  .roze-campaign h3{font-size:19px}
  .campaign-description{font-size:21px}
  .campaign-before{font-size:27px}
  .campaign-after{font-size:36px}
  .campaign-sns-offer{font-size:20px}
}

/* ROZE profile wording and pink interview headings. */
.profile-break{display:none}
.rino-profile{grid-column:1/-1;width:min(860px,100%);margin:8px auto 0;color:#fff;font-size:20px;line-height:1.9}
.rino-profile,.rino-profile *{font-family:var(--roze-font)}
.rino-measurements{margin:0 0 54px}
.rino-measurements span{display:inline-block}
.rino-interview{position:relative;padding:0 18px;margin:0}
.rino-interview::before,.rino-interview::after{content:"";position:absolute;background:#fff;pointer-events:none}
.rino-interview::before{width:40px;height:1px;left:-6px;top:-15px}
.rino-interview::after{width:1px;height:60px;left:6px;top:-33px}
.rino-interview>div+div{margin-top:8px}
.rino-interview dt{color:#e7317d;font-size:clamp(22px,2vw,27px);font-weight:700;line-height:1.65;margin:0 0 12px;overflow-wrap:anywhere}
.rino-interview dd{margin:0;line-height:1.9;overflow-wrap:anywhere}
@media(max-width:600px){
  .profile-break{display:block}
  .rino-profile{font-size:17px;margin-top:26px}
  .rino-measurements{margin-bottom:44px}
  .rino-interview{padding:0 10px}
  .rino-interview dt{font-size:21px;line-height:1.7;margin-bottom:10px}
  .rino-interview>div+div{margin-top:18px}
  .rino-interview::before{width:30px;left:-5px}
  .rino-interview::after{height:48px;left:3px;top:-29px}
}

@media(max-width:360px){
  .campaign-prices{gap:6px}
  .campaign-arrow svg{width:28px;height:28px}
  .rino-interview .rino-question-long{font-size:18px}
}

/* Match ROZE access lettering, menu weight, and original cocktail decoration. */
.combined-site #access .section-heading,.combined-site #access .section-heading *{font-family:var(--roze-font)}
.combined-site .neon-menu{font-weight:600;color:#fff}
.combined-site .neon-menu .included-list dt{font-weight:700}
.combined-site .neon-menu .included-list dd,.combined-site .neon-menu .neon-price-list dt,.combined-site .neon-menu .neon-price-list dd,.combined-site .neon-menu .price{font-weight:600;color:#fff}
.combined-site .neon-menu .included-list dd{font-size:19px}
.cocktail-offer{display:flex;align-items:center;justify-content:center;gap:24px;margin:50px auto 0}
.cocktail-offer .neon-price-list{margin:0;max-width:none}
.cocktail-offer .neon-price-list>div{display:flex;align-items:baseline;gap:10px;border:0;padding:0}
.cocktail-offer .price{font-size:36px;font-weight:700!important;white-space:nowrap}
.cocktail-neon{width:64px;height:auto;flex:none;transform:rotate(20deg);filter:drop-shadow(0 0 2px #c787ff)}
@media(max-width:600px){
  .combined-site .neon-menu .included-list dd{font-size:15px}
  .cocktail-offer{gap:12px;margin-top:36px}
  .cocktail-offer .neon-price-list>div{gap:6px}
  .cocktail-offer .price{font-size:27px}
  .cocktail-neon{width:43px}
}

/* Enlarge the three hero logos after removing the surrounding text. */
.combined-site .producer-emblem{width:370px}
.combined-site .hero-logos img{width:414px}
.combined-site .hero-logos img+img{width:368px}
@media(min-width:601px) and (max-width:960px){
  .combined-site .producer-emblem{width:345px}
  .combined-site .hero-logos img{width:334px}
  .combined-site .hero-logos img+img{width:299px}
}
@media(max-width:600px){
  .combined-site .hero{grid-template-columns:52% 48%;grid-template-areas:"brand photo"}
  .combined-site .producer-emblem{width:100%;max-width:230px}
  .combined-site .hero-logos img{width:100%;max-width:207px}
  .combined-site .hero-logos img+img{width:93%}
  .combined-site .hero-logos{margin-bottom:0}
}

/* Social links and readable, centered mobile copy. */
.footer-socials{display:flex;align-items:center;justify-content:center;gap:24px}
.footer-tiktok{display:flex;align-items:center;justify-content:center;min-width:48px;min-height:48px}
.footer-tiktok img{width:48px;height:48px}
@media(max-width:600px){
  .mobile-line{display:block}
  .greeting-copy,.rino-profile{text-align:center}
  .greeting-copy>p:not(.section-label){text-wrap:balance;line-height:2.05;margin:26px auto}
  .greeting-copy .japanese-title{font-size:clamp(24px,6.8vw,30px);text-wrap:balance}
  .greeting-copy .greeting-signature{text-align:center;margin-right:0!important}
  .greeting-signature img{margin-inline:auto}
  .rino-interview dt,.rino-interview dd{text-wrap:balance;overflow-wrap:normal;line-break:strict}
  .rino-interview::before,.rino-interview::after{display:none}
  .recruit-text-block p,.recruit-shift,.boxed-content p,.smoking-guide p{text-align:center;text-wrap:balance;line-break:strict}
  .campaign-sns-offer{white-space:normal;text-wrap:balance}
  #access .section-heading{text-align:center}
  #access .section-label{justify-content:center}
}

@media(max-width:600px){.greeting-copy .mobile-line+br{display:none}}

/* Keep recruitment copy and the four footer links balanced on phones. */
@media(max-width:600px){
  .roze-recruit-section .recruit-text-block .recruit-subtitle,
  .roze-recruit-section .recruit-text-block .recruit-subtitle2{
    text-align:center;
    text-wrap:balance;
  }
  .roze-recruit-section .custom-box{
    display:block;
    box-sizing:border-box;
    width:min(100%,360px);
    margin:24px auto;
    text-align:center;
  }
  .roze-recruit-section .custom-box p{margin:0;text-align:center}
  .combined-footer-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    width:min(100%,360px);
    margin:44px auto;
  }
  .combined-footer-nav a{
    min-width:0;
    min-height:48px;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
  }
}
