@charset "UTF-8";
/*
 * ラグタイム秋葉原 TOP専用リニューアル v1.0
 * 対象: index.html に付与した body.luxHome2026 のみ
 * 既存PHP・WebManager・SEO本文・その他のページに影響させない設計。
 * 参考: Men's Pastime 左固定ナビ / 淡色ペーパーパターン / 茶×金の配色
 */
.luxHome2026 {
  --lux-brown:#9c806f;
  --lux-brown-dark:#68554c;
  --lux-gold:#bda66a;
  --lux-ink:#44372f;
  --lux-muted:#796e63;
  --lux-cream:#fffdf8;
  --lux-line:#e7dcca;
  --lux-side:228px;
  color:var(--lux-ink);
  background:#fff;
  overflow-x:hidden;
  overflow-y:auto;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
.luxHome2026 *, .luxHome2026 *::before, .luxHome2026 *::after {box-sizing:border-box}
.luxHome2026 a {transition:background-color .18s,color .18s,border-color .18s,opacity .18s}
.luxHome2026 a:focus-visible,.luxHome2026 button:focus-visible {outline:3px solid #2678a8;outline-offset:3px}
.luxVisuallyHidden {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
/* The new chrome only lives on the TOP page. Other URLs retain legacy chrome. */
.luxHome2026 .luxMobileHeader, .luxHome2026 .luxMenuToggle, .luxHome2026 .luxMenuBackdrop {display:none}
.luxHome2026 .luxSideNav {
    width: var(--lux-side);
    position: fixed;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 1100;
    background: #886550;
    color: white;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 23px 17px 24px;
    box-shadow: 3px 0 20px #31201610;
    scrollbar-width: thin;
    scrollbar-color: #d8c8ba transparent;
}
.luxHome2026 .luxSideBrand {text-align:center;margin:3px auto 21px}
.luxHome2026 .luxSideBrand a {display:block;max-width:178px;margin:auto}
.luxHome2026 .luxSideBrand img {display:block;width:100%;height:auto;max-height:84px;object-fit:contain;filter:brightness(0) invert(1)}
.luxHome2026 .luxSideBrand p {font-family:Georgia,serif;letter-spacing:.13em;font-size:8px;color:#f7ece3;margin:8px 0 0}
.luxHome2026 .luxSideLinks {display:block}
.luxHome2026 .luxSideLinks a {
  display:flex;align-items:baseline;gap:9px;min-height:35px;
  padding:8px 7px;border-bottom:1px solid #ffffff20;color:#fff!important;
  text-decoration:none;font-size:13px;letter-spacing:.01em;line-height:1.4;
}
.luxHome2026 .luxSideLinks a:hover,.luxHome2026 .luxSideLinks a:focus-visible {background:#ffffff19}
.luxHome2026 .luxSideLinks a span {font-family:Georgia,serif;min-width:79px;font-weight:bold}
.luxHome2026 .luxSideLinks a small {font-size:13px;opacity:.90}
.luxHome2026 .luxSideReserve {display:grid;gap:8px;margin-top:23px;text-align:center}
.luxHome2026 .luxSideReserve a {display:flex;justify-content:center;align-items:center;min-height:43px;padding:6px 8px;color:#fff!important;text-decoration:none;font-size:13px;font-weight:bold;border:1px solid #fff9}
.luxHome2026 .luxSideReserveLine {background:#337e5a}
.luxHome2026 .luxSideReserveCall {background:#8b715f}
.luxHome2026 .luxSideReserve > span {display:block;font-size:10px;color:#f7f0e9;line-height:1.45}
/* Main page column */
.luxHome2026 #contentsWrapper, .luxHome2026 > footer {
  width:calc(100% - var(--lux-side))!important;
  margin-left:var(--lux-side)!important;
  max-width:none!important;
}
.luxHome2026 #contentsWrapper {
  padding:0 0 50px!important;
  min-height:100vh;
  background-color:var(--lux-cream);
  background-image:radial-gradient(ellipse at 18% 16%,#d4c29718 0 1px,transparent 2px),radial-gradient(ellipse at 72% 65%,#bca57b12 0 1px,transparent 2px),repeating-linear-gradient(135deg,#fffdfb 0 46px,#faf7ee 46px 47px,#fffdfb 48px 98px);
  background-size:65px 65px,89px 89px,auto;
}
.luxHome2026 #contentsWrapper > .hours:first-child {display:none!important}
.luxHome2026 #contentsWrapper > .hours:not(:first-child) {margin:0;padding:12px 18px;text-align:center;color:#675447;background:#eae0d5;border:0;font-size:14px}
.luxHome2026 #contentsWrapper > .hours:not(:first-child) span {font-size:13px;line-height:1.5}
.luxHome2026 #globalNav,.luxHome2026 .pankuzuBlock {display:none!important}
/* Hero keeps the EXISTING image URL, pixel assets and core wording. */
.luxHome2026 .hero.topHero {position:relative!important;width:100%!important;height:clamp(335px,32vw,520px)!important;min-height:335px!important;margin:0!important;border:0!important;overflow:hidden}
.luxHome2026 .hero.topHero > img {display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.luxHome2026 .hero.topHero::after {content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(19,12,7,.73) 0%,rgba(31,22,14,.20) 51%,rgba(25,16,8,.06) 100%)}
.luxHome2026 .topHero__overlay {position:absolute;color:#fff;text-shadow:0 2px 12px #0008;left:50%;bottom:36px;transform:translateX(-50%);width:min(95%,850px);text-align:center;z-index:2}
.luxHome2026 .topHero__eyebrow {font-family:Georgia,serif;letter-spacing:.27em;font-size:13px;font-weight:400;margin-bottom:11px}
.luxHome2026 .topHero__title {font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(25px,2.9vw,39px);font-weight:500;letter-spacing:.11em;color:white}
.luxHome2026 .topHero__lead {font-size:15px;letter-spacing:.15em;margin-top:8px;color:#fff8e8}
.luxHome2026 .topHero__cta {display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}
.luxHome2026 .topHero__cta a {border:1px solid #f2e8dc;background:#241a15ba;color:white!important;min-height:46px;padding:0 19px;border-radius:0;font-size:14px;font-weight:500}
.luxHome2026 .topHero__cta a:last-child {background:#2c866b;border-color:#2c866b}
.luxHome2026 .topHero__cta a:hover {opacity:.84}
/* Section widths / rhythm */
.luxHome2026 .middleContents,
.luxHome2026 .topReviews,
.luxHome2026 .topAvailability,
.luxHome2026 #newfaces,
.luxHome2026 #rooms,
.luxHome2026 .groupStoresSection,
.luxHome2026 .myswiper-wrapper {
  width:min(1040px,calc(100% - 66px))!important;
  max-width:1040px!important;
  margin-left:auto!important;margin-right:auto!important;
}
.luxHome2026 .middleContents {margin-top:38px!important;margin-bottom:38px!important}
.luxHome2026 #upperContents {padding-top:11px}
.luxHome2026 section,.luxHome2026 article {scroll-margin-top:24px}
.luxHome2026 .topQuickNav {display:grid!important;max-width:980px;width:100%;margin:2px auto 26px;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.luxHome2026 .topQuickNav a {border:1px solid var(--lux-line);background:#fffefa;color:var(--lux-brown-dark);padding:10px 5px;min-height:44px;font-weight:600;font-size:13px}
.luxHome2026 .topQuickNav a:hover {background:#f0e6dc}
.luxHome2026 .topFacts {display:grid;width:100%;margin:0 auto 53px;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--lux-line);border-left:1px solid var(--lux-line)}
.luxHome2026 .topFacts > div {
    background: #a67321;
    border-right: 1px solid var(--lux-line);
    border-bottom: 1px solid var(--lux-line);
    padding: 14px 10px;
    text-align: center;
    color: white;
}
.luxHome2026 .topFacts span {display:block;margin-bottom:1px;color:#ffffff;font-size:12px}
.luxHome2026 .topFacts strong {
    display: block;
    font-size: 13px;
    /* font-weight: 600; */
    color: #ffffff;
}
/* Consistent heading: English label before Japanese heading. */
.luxHome2026 #upperContents .topAvailability h2,
.luxHome2026 #schedule .shopInfo,
.luxHome2026 #pricing h2,
.luxHome2026 #newFaceList h2,
.luxHome2026 #rooms h2,
.luxHome2026 #reviews h2,
.luxHome2026 #about h2,
.luxHome2026 #access h2,
.luxHome2026 #topInformation h2,
.luxHome2026 #groupAvailabilityTitle,
.luxHome2026 #groupStoresTitle,
.luxHome2026 #firstTimeGuide h2,
.luxHome2026 #beginner h2 {
  position:relative;width:100%!important;height:auto!important;padding:0 0 19px!important;
  margin:0 auto 28px!important;
  background:transparent!important;background-image:none!important;border:0!important;
  border-bottom:1px solid #d4c4b8!important;color:var(--lux-ink)!important;
  text-align:center!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:21px!important;font-weight:500!important;line-height:1.5!important;letter-spacing:.08em!important;
}
.luxHome2026 #upperContents .topAvailability h2::before,
.luxHome2026 #schedule .shopInfo::before,
.luxHome2026 #pricing h2::before,
.luxHome2026 #newFaceList h2::before,
.luxHome2026 #rooms h2::before,
.luxHome2026 #reviews h2::before,
.luxHome2026 #about h2::before,
.luxHome2026 #access h2::before,
.luxHome2026 #topInformation h2::before,
.luxHome2026 #groupAvailabilityTitle::before,
.luxHome2026 #groupStoresTitle::before,
.luxHome2026 #firstTimeGuide h2::before,
.luxHome2026 #beginner h2::before {
  display:block!important;height:auto!important;width:auto!important;position:static!important;
  background:none!important;border:0!important;margin:0 auto 1px!important;
  font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:400;line-height:1.3;
  letter-spacing:.18em;color:#987a65;white-space:normal;
}
.luxHome2026 #upperContents .topAvailability h2::before {content:"RESERVATION"}
.luxHome2026 #schedule .shopInfo::before {content:"TODAY'S THERAPISTS"}
.luxHome2026 #pricing h2::before {content:"COURSE & PRICE"}
.luxHome2026 #newFaceList h2::before {content:"NEW FACE"}
.luxHome2026 #rooms h2::before {content:"PRIVATE ROOM"}
.luxHome2026 #reviews h2::before {content:"REVIEWS"}
.luxHome2026 #about h2::before {content:"ABOUT LUXTIME"}
.luxHome2026 #access h2::before {content:"ACCESS"}
.luxHome2026 #topInformation h2::before {content:"INFORMATION"}
.luxHome2026 #groupAvailabilityTitle::before {content:"OTHER AREAS / RESERVATION"}
.luxHome2026 #groupStoresTitle::before {content:"OTHER AREAS / THERAPISTS"}
.luxHome2026 #firstTimeGuide h2::before {content:"FIRST TIME GUIDE"}
.luxHome2026 #beginner h2::before {content:"FAQ"}
/* Existing ::after pseudo-headings from the old design are disabled on this page. */
.luxHome2026 #contentsWrapper h2::after {display:none!important}
/* Reservation feed stays generated by WebManager, styling only. */
.luxHome2026 #upperContents .topAvailability,
.luxHome2026 #contentsWrapper > .topAvailability {margin-top:35px!important;margin-bottom:38px!important;padding:26px 31px!important;background:#fffefa;border:1px solid var(--lux-line);box-shadow:0 9px 25px #5f40240b}
.luxHome2026 .topAvailability__box {background:#fff;padding:12px;line-height:1.7;color:#443a34;min-height:40px}
.luxHome2026 .topAvailability__box a {color:#806040;text-decoration:underline}
.luxHome2026 #groupAvailabilityTitle {font-size:21px!important}
/* Therapist cards: do not change the PHP template or number of cards. */
.luxHome2026 #schedule {margin:18px 0 54px!important;width:100%!important}
.luxHome2026 #schedule .scheduleBlock {width:100%;padding:0;margin:0 auto}
.luxHome2026 #schedule .girlsBlock,
.luxHome2026 #newFaceList .girlsBlock,
.luxHome2026 .groupStoresSection .girlsBlock {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;width:100%!important;min-height:0!important}
.luxHome2026 #schedule .girlsBlock > .therapistBox,
.luxHome2026 #newFaceList .girlsBlock > .therapistBox,
.luxHome2026 .groupStoresSection .girlsBlock > .therapistBox {
  float:none!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;
  border:1px solid #eadfce;background:#fff;box-shadow:0 6px 17px #4b342112;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistPhoto {border-radius:0;box-shadow:none}
.luxHome2026 .therapistBox .therapistSchedule .therapistPhoto img {width:100%;height:auto;object-fit:cover}
.luxHome2026 .therapistBox p.therapistName {font-size:17px;letter-spacing:0;color:#997f21}
.luxHome2026 .therapistBox p.therapistSize {font-size:13px}
.luxHome2026 .topSectionLead {width:100%;max-width:820px;margin:-6px auto 22px;font-size:14px;color:var(--lux-muted);line-height:1.85}
.luxHome2026 .moreReadBtn a {display:flex;align-items:center;justify-content:center;max-width:390px;width:min(100%,390px);height:auto;min-height:46px;padding:10px 32px;margin:24px auto 10px;background:var(--lux-brown);border:1px solid var(--lux-brown);border-radius:0;color:#fff!important;font-size:14px;line-height:1.4;text-decoration:none}
.luxHome2026 .moreReadBtn a:hover {background:#7e6659}
/* Pricing */
.luxHome2026 .topPricingWrap {margin-top:56px!important}
.luxHome2026 #pricing {background:#fff;border:1px solid var(--lux-line);padding:33px clamp(18px,3vw,46px) 26px;scroll-margin-top:24px}
.luxHome2026 #pricing .pricing-container {max-width:720px;margin:0 auto 24px;background:#fff;border:1px solid #ece4d8}
.luxHome2026 #pricing .pricing-header {background:#8f7767!important;color:#fff!important;letter-spacing:.07em;font-size:16px}
.luxHome2026 #pricing .pricing-item,.luxHome2026 #pricing .pricing-option-item {border-color:#eee4d9;color:#564539}
.luxHome2026 #pricing .pricing-item span:last-child {font-weight:650;color:#684a3b}
/* New face, room photos, reviews, longform copy */
.luxHome2026 #newfaces {margin-top:58px!important;margin-bottom:42px!important}
.luxHome2026 #newfaces .otherStores,.luxHome2026 #newfaces .sisterStore {margin:0;width:100%;max-width:none}
.luxHome2026 #newFaceList .shopInfo {margin-bottom:25px!important}
.luxHome2026 #rooms {margin-top:55px!important;padding:25px clamp(15px,2.4vw,35px);background:white;border:1px solid var(--lux-line)}
.luxHome2026 #rooms .gallalyLarge {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.luxHome2026 #rooms .gallalyLarge > div {min-width:0}
.luxHome2026 #rooms .gallalyLarge img {width:100%;height:180px;object-fit:cover}
.luxHome2026 .topReviews {margin-top:65px!important;margin-bottom:35px!important}
.luxHome2026 .topReviews .gallalyLarge {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.luxHome2026 .topReviews .topReviewItems > div {min-width:0;background:#fff;border:1px solid var(--lux-line);padding:17px;overflow-wrap:anywhere}
.luxHome2026 .topReviews .review-text {font-size:14px;line-height:1.9;min-height:0;margin:0;color:#494139}
.luxHome2026 .youTubeSection {margin:55px auto 20px!important}
.luxHome2026 .youTubeSection iframe {max-width:100%;aspect-ratio:16/9;height:auto}
.luxHome2026 #about,.luxHome2026 #access,.luxHome2026 .topBeginner {margin:55px auto!important}
.luxHome2026 .descriptionWrapper {font-size:15px;line-height:2;background:#ffffffdd;border:1px solid var(--lux-line);padding:29px;margin:0 auto 35px}
.luxHome2026 .descriptionWrapper p {margin-bottom:19px}
.luxHome2026 .topAccess .gallalyLarge {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.luxHome2026 .topAccess .gallalyLarge > div {min-width:0}
.luxHome2026 .topAccess img {max-width:100%}
.luxHome2026 #access .accessMapBox iframe {width:100%;height:420px}
/* News and banner: no feeds or assets removed. */
.luxHome2026 .topNewsBlock.forSp {display:block!important;width:100%;margin:25px auto 36px}
.luxHome2026 .topNewsBlock h2 {font-family:Georgia,serif;font-size:20px;color:var(--lux-brown-dark);border-left:4px solid var(--lux-gold);padding:11px 15px;margin:0 0 18px;background:white}
.luxHome2026 #topInformation {margin-top:56px!important}
.luxHome2026 #topInformation .informationBox {background:#fff;border:1px solid var(--lux-line);padding:13px}
.luxHome2026 .myswiper-wrapper {margin-top:40px!important;margin-bottom:48px!important;overflow:hidden;border:1px solid var(--lux-line)}
.luxHome2026 .myswiper-wrapper .swiper {max-width:100%;width:100%}
.luxHome2026 .myswiper-wrapper .swiper-slide img {width:100%;height:auto}
/* Group section. Preserve all six areas and the original ordering/links. */
.luxHome2026 .groupStoresSection {padding:40px 0 0;margin-top:50px!important;border-top:1px solid #d7c5b3}
.luxHome2026 .groupStoresSection > .middleContents {width:100%!important;margin:0 auto 30px!important}
.luxHome2026 .groupStoresSection .otherStores {width:100%!important;margin:0 auto}
.luxHome2026 .groupStoresSection .sisterStore {margin:0 auto 44px;padding:25px;border:1px solid var(--lux-line);background:#ffffffc7}
.luxHome2026 .groupStoresSection .sisterStore .shopInfo {display:flex;align-items:center;justify-content:center;height:auto!important;min-height:46px!important;background:var(--lux-brown)!important;border:0!important;color:#fff!important;margin:0 auto 23px!important}
.luxHome2026 .groupStoresSection .sisterStore .shopInfo::before {display:block;position:static!important;background:none!important;color:#fff!important;font-family:"Noto Sans JP",sans-serif;font-size:18px!important;letter-spacing:.08em;padding:7px}
/* Recruit banner must be visible on mobile as well; old .forPc hid it. */
.luxHome2026 .recruitList {margin:38px auto 32px;width:100%;max-width:730px;text-align:center}
.luxHome2026 .recruitList .recruit.forPc {display:block!important;width:100%!important}
.luxHome2026 .recruitList img {display:block;width:100%;height:auto;margin:auto}
.luxHome2026 .recommended {max-width:100%;overflow:hidden}
.luxHome2026 #footerContentsList {max-width:1040px;margin:0 auto}
.luxHome2026 > footer {background:#f1e8df;padding:31px 18px;color:#57463d}
.luxHome2026 #footerEnd {color:#5e544d}
.luxHome2026 .fixdFooter {z-index:1000}
/* Tablet and mobile breakpoints */
@media screen and (max-width:1200px) and (min-width:981px) {
  .luxHome2026 {--lux-side:205px}
  .luxHome2026 .luxSideNav {padding-left:11px;padding-right:11px}
  .luxHome2026 .luxSideLinks a {gap:6px}
  .luxHome2026 .luxSideLinks a span {min-width:72px}
  .luxHome2026 #schedule .girlsBlock,
  .luxHome2026 #newFaceList .girlsBlock,
  .luxHome2026 .groupStoresSection .girlsBlock {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media screen and (max-width:980px) {
  .luxHome2026 {--lux-side:0px}
  .luxHome2026 #contentsWrapper,.luxHome2026 > footer {width:100%!important;margin-left:0!important}
  .luxHome2026 .luxMobileHeader {
    display:flex!important;position:sticky;top:0;left:0;width:100%;height:66px;
    align-items:center;gap:10px;z-index:1500;padding:8px 12px;
    background:var(--lux-brown);box-shadow:0 2px 8px #291a121d;
  }
  .luxHome2026 .luxMobileLogo {width:130px;flex:0 0 130px;height:48px;display:flex;align-items:center}
  .luxHome2026 .luxMobileLogo img {height:auto;max-height:48px;filter:brightness(0) invert(1)}
  .luxHome2026 .luxMobileContact {display:grid;gap:1px;min-width:0;margin:auto;justify-items:start;white-space:nowrap;color:white}
  .luxHome2026 .luxMobilePhone {font-size:clamp(13px,3.5vw,18px);font-weight:700;color:white!important;text-decoration:none;line-height:1.25}
  .luxHome2026 .luxMobileContact span {font-size:11px;color:#f9ece0}
  .luxHome2026 .luxMenuToggle {display:flex!important;align-items:center;justify-content:center;flex-direction:column;gap:6px;flex:0 0 43px;width:43px;height:43px;margin-left:auto;padding:8px;background:none;border:1px solid #e9dbd0;cursor:pointer}
  .luxHome2026 .luxMenuToggle span {display:block;width:24px;height:2px;background:white;transition:transform .2s,opacity .2s}
  .luxHome2026.luxMenuIsOpen .luxMenuToggle span:nth-child(1) {transform:translateY(8px) rotate(45deg)}
  .luxHome2026.luxMenuIsOpen .luxMenuToggle span:nth-child(2) {opacity:0}
  .luxHome2026.luxMenuIsOpen .luxMenuToggle span:nth-child(3) {transform:translateY(-8px) rotate(-45deg)}
  .luxHome2026 .luxSideNav {left:auto;right:0;top:66px;bottom:0;width:min(330px,87vw);transform:translateX(105%);transition:transform .24s ease;z-index:1400;box-shadow:-6px 0 18px #2d1e1738;padding:22px}
  .luxHome2026.luxMenuIsOpen .luxSideNav {transform:translateX(0)}
  .luxHome2026 .luxMenuBackdrop {display:block!important;position:fixed;inset:66px 0 0;background:#170e0870;z-index:1300;visibility:hidden;opacity:0;transition:opacity .24s,visibility .24s}
  .luxHome2026.luxMenuIsOpen .luxMenuBackdrop {visibility:visible;opacity:1}
  .luxHome2026.luxMenuIsOpen {overflow:hidden}
  .luxHome2026 .hero.topHero {height:56vw!important;min-height:265px!important;max-height:370px!important}
  .luxHome2026 .topHero__overlay {width:94%;bottom:18px}
  .luxHome2026 .topHero__eyebrow {font-size:10px;letter-spacing:.12em;margin-bottom:5px}
  .luxHome2026 .topHero__title {font-size:clamp(19px,4.4vw,28px);margin:3px auto}
  .luxHome2026 .topHero__lead {font-size:12px}
  .luxHome2026 .topHero__cta {margin-top:13px;gap:8px}
  .luxHome2026 .topHero__cta a {flex:1 1 45%;font-size:12px;min-height:40px;padding:6px}
  .luxHome2026 #contentsWrapper > .hours:not(:first-child) {padding:9px;font-size:11px}
  .luxHome2026 #contentsWrapper > .hours:not(:first-child) span {font-size:11px}
  .luxHome2026 .middleContents,.luxHome2026 .topReviews,.luxHome2026 .topAvailability,.luxHome2026 #newfaces,.luxHome2026 #rooms,.luxHome2026 .groupStoresSection,.luxHome2026 .myswiper-wrapper {width:calc(100% - 28px)!important}
  .luxHome2026 .middleContents {margin-top:29px!important;margin-bottom:30px!important}
  .luxHome2026 .topQuickNav {grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0;background:transparent;box-shadow:none;margin-bottom:23px}
  .luxHome2026 .topQuickNav a {font-size:12px;min-height:43px;box-shadow:none;border-radius:0}
  .luxHome2026 .topFacts {grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:36px}
  .luxHome2026 .topFacts > div {padding:5px 5px;min-height:40px}
  .luxHome2026 .topFacts span {font-size:10px}
  .luxHome2026 .topFacts strong {font-size:clamp(10px,2.75vw,14px)}
  .luxHome2026 #upperContents .topAvailability,.luxHome2026 #contentsWrapper > .topAvailability {padding:21px 15px!important;margin-top:25px!important;margin-bottom:30px!important}
  .luxHome2026 #schedule .girlsBlock,
  .luxHome2026 #newFaceList .girlsBlock,
  .luxHome2026 .groupStoresSection .girlsBlock {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .luxHome2026 #upperContents .topAvailability h2,.luxHome2026 #schedule .shopInfo,.luxHome2026 #pricing h2,.luxHome2026 #newFaceList h2,.luxHome2026 #rooms h2,.luxHome2026 #reviews h2,.luxHome2026 #about h2,.luxHome2026 #access h2,.luxHome2026 #topInformation h2,.luxHome2026 #groupAvailabilityTitle,.luxHome2026 #groupStoresTitle,.luxHome2026 #firstTimeGuide h2,.luxHome2026 #beginner h2 {font-size:17px!important;padding-bottom:13px!important;margin-bottom:22px!important}
  .luxHome2026 #upperContents .topAvailability h2::before,.luxHome2026 #schedule .shopInfo::before,.luxHome2026 #pricing h2::before,.luxHome2026 #newFaceList h2::before,.luxHome2026 #rooms h2::before,.luxHome2026 #reviews h2::before,.luxHome2026 #about h2::before,.luxHome2026 #access h2::before,.luxHome2026 #topInformation h2::before,.luxHome2026 #groupAvailabilityTitle::before,.luxHome2026 #groupStoresTitle::before,.luxHome2026 #firstTimeGuide h2::before,.luxHome2026 #beginner h2::before {font-size:21px;letter-spacing:.12em}
  .luxHome2026 .topSectionLead {font-size:13px;margin-bottom:17px}
  .luxHome2026 #pricing {padding:25px 12px}
  .luxHome2026 #rooms {padding:22px 12px}
  .luxHome2026 #rooms .gallalyLarge,.luxHome2026 .topReviews .gallalyLarge,.luxHome2026 .topAccess .gallalyLarge {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .luxHome2026 #rooms .gallalyLarge img {height:130px}
  .luxHome2026 .topReviews .topReviewItems > div {padding:13px}
  .luxHome2026 .topReviews .review-text {font-size:12px}
  .luxHome2026 .descriptionWrapper {padding:18px 15px;font-size:14px;line-height:1.85}
  .luxHome2026 .groupStoresSection .sisterStore {padding:15px 10px}
  .luxHome2026 .groupStoresSection .sisterStore .shopInfo {min-height:40px!important}
  .luxHome2026 .groupStoresSection .sisterStore .shopInfo::before {font-size:15px!important}
  .luxHome2026 .recruitList .recruit.forPc {display:block!important}
  .luxHome2026 .moreReadBtn a {min-height:47px;width:100%;font-size:13px}
  .luxHome2026 #access .accessMapBox iframe {height:310px}
  .luxHome2026 > footer {padding-bottom:78px}
}
@media screen and (max-width:375px) {
  .luxHome2026 .luxMobileLogo {width:98px;flex-basis:98px}
  .luxHome2026 .luxMobilePhone {font-size:12px}
  .luxHome2026 .luxMobileContact span {font-size:9px}
  .luxHome2026 .topHero__title {font-size:17px}
  .luxHome2026 .topHero__cta a {font-size:11px}
  .luxHome2026 .topFacts {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce) {
 .luxHome2026 a,.luxHome2026 .luxSideNav,.luxHome2026 .luxMenuBackdrop,.luxHome2026 .luxMenuToggle span {transition:none!important}
}

/* ============================================================================
 * v2.0 / 2026-11-13: compatibility and typography corrections
 * This section intentionally comes last, after the v1 style and all legacy CSS.
 * Scope: BODY.luxHome2026 only. No changes to WebManager templates or other pages.
 * ========================================================================== */
.luxHome2026 {
  min-width:0!important;
  max-width:none!important;
  width:100%;
  font-family: "Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif!important;
  font-size:14px;
  line-height:1.75;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
.luxHome2026 #contentsWrapper,
.luxHome2026 #contentsWrapper > *,
.luxHome2026 > footer {min-width:0!important;box-sizing:border-box}
/* Legacy desktop CSS sets global header min-width:1040px. That breaks the new
   main content at 981-1280px when the left sidebar is also present. */
.luxHome2026 header.hero.topHero,
.luxHome2026 header.luxMobileHeader {min-width:0!important;max-width:none!important}
.luxHome2026 #contentsWrapper .middleContents,
.luxHome2026 .topReviews,
.luxHome2026 .topAvailability,
.luxHome2026 .groupStoresSection,
.luxHome2026 #newfaces,
.luxHome2026 #rooms {min-width:0!important;box-sizing:border-box}
/* Prevent legacy floats, fixed widths and overflow cropping in the new grid. */
.luxHome2026 #schedule .scheduleBlock,
.luxHome2026 .therapistContentsList,
.luxHome2026 #newFaceList .contentsBlock,
.luxHome2026 .groupStoresSection .contentsBlock,
.luxHome2026 .otherStores,
.luxHome2026 .sisterStore {min-width:0!important;max-width:100%!important}
.luxHome2026 #schedule .girlsBlock,
.luxHome2026 #newFaceList .girlsBlock,
.luxHome2026 .groupStoresSection .girlsBlock {
  display:grid!important;
  overflow:visible!important;
  align-items:stretch!important;
  align-content:start!important;
  height:auto!important;
  min-height:0!important;
  max-width:100%!important;
}
.luxHome2026 #schedule .girlsBlock > .therapistBox,
.luxHome2026 #newFaceList .girlsBlock > .therapistBox,
.luxHome2026 .groupStoresSection .girlsBlock > .therapistBox {
  min-width:0!important;
  height:auto!important;
  float:none!important;
  display:block!important;
  width:100%!important;
  margin:0!important;
  overflow:hidden;
}
/* Unify type scale for injected WebManager cards; avoid legacy vw font sizes. */
.luxHome2026 .therapistBox,
.luxHome2026 .therapistBox .therapistSchedule,
.luxHome2026 .therapistBox .therapistDeta,
.luxHome2026 .therapistBox .therapistGuidance,
.luxHome2026 .therapistBox .workDeta,
.luxHome2026 .therapistBox .therapistShop {
  font-family:inherit!important;
  min-width:0;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistDeta .therapistName,
.luxHome2026 .therapistBox p.therapistName {
  font-family:inherit!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1.5!important;
  letter-spacing:.015em!important;
  overflow-wrap:anywhere;
  height:auto!important;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistDeta .therapistName::after,
.luxHome2026 .therapistBox p.therapistName::after {font-size:12px!important}
.luxHome2026 .therapistBox .therapistSchedule .therapistDeta .therapistSize,
.luxHome2026 .therapistBox p.therapistSize {
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.5!important;
  letter-spacing:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistDeta .therapistRank,
.luxHome2026 .therapistBox p.therapistRank {font-size:16px!important;line-height:1.55!important}
.luxHome2026 .therapistBox .therapistSchedule .workDeta {
  font-family:inherit!important;
  font-size:12px!important;
  height:auto!important;
  max-width:100%;
}
.luxHome2026 .therapistBox .therapistSchedule .workDeta .workTime,
.luxHome2026 .therapistBox .therapistSchedule .workDeta::before,
.luxHome2026 .therapistBox span.workDay {
  font-family:inherit!important;
  font-size:12px!important;
  letter-spacing:0!important;
  line-height:1.4!important;
  min-width:0;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistGuidance,
.luxHome2026 .therapistBox .therapistSchedule .therapistShop {
  min-height:30px!important;
  height:auto!important;
  padding:4px 5px!important;
  align-items:center!important;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistGuidance p {
  font-family:inherit!important;
  font-size:11px!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  height:28px!important;
  min-width:0;
  margin:1px!important;
  position:relative;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistGuidance p > span {
  font-family:inherit!important;
  font-size:11px!important;
  letter-spacing:0!important;
  text-indent:0!important;
  line-height:1.2!important;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistShop p {
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  height:auto!important;
  min-height:23px!important;
  position:static!important;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistShop p span {
  font-size:12px!important;
  line-height:1.4!important;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistShop p span.room {
  min-height:20px;
  height:auto!important;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistShop img {
  max-width:60%;height:auto!important;max-height:22px!important;object-fit:contain;
}
.luxHome2026 .therapistBox .therapistSchedule .therapistPhoto,
.luxHome2026 .therapistBox .therapistSchedule .therapistPhoto img {max-width:100%;min-width:0}
/* Distinguish intentional display (serif titles) from functional copy (sans). */
.luxHome2026 #contentsWrapper p,
.luxHome2026 #contentsWrapper li,
.luxHome2026 #contentsWrapper .descriptionWrapper,
.luxHome2026 #contentsWrapper .topSectionLead,
.luxHome2026 #contentsWrapper .topAvailability__box,
.luxHome2026 #contentsWrapper .pricing-container,
.luxHome2026 #contentsWrapper .topFacts {
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.luxHome2026 #contentsWrapper .pricing-item span,
.luxHome2026 #contentsWrapper .pricing-option-item span {
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:500;
  line-height:1.65!important;
  letter-spacing:0!important;
}
.luxHome2026 #pricing .pricing-header,
.luxHome2026 #pricing .pricing-item,
.luxHome2026 #pricing .pricing-option-item {font-family:inherit!important;overflow-wrap:break-word}
.luxHome2026 #contentsWrapper .topAvailability__box {
  font-size:14px!important;
  line-height:1.75!important;
  overflow-wrap:break-word;
}
.luxHome2026 #contentsWrapper .topAvailability__box img {max-width:10%!important;height:auto}
.luxHome2026 #contentsWrapper .topAvailability__box table {max-width:100%;width:100%;table-layout:auto}
.luxHome2026 #contentsWrapper .topAvailability__box :is(p,li,a,span) {
  font-family:inherit;
  line-height:1.65;
}

@media only screen and (max-width: 1080px) {
.luxHome2026 #contentsWrapper .topAvailability__box img {
    max-width: 25%!important;
}
}

/* Normalize the site's remaining information heading to the same visual system. */
.luxHome2026 #contentsWrapper #topNews.topNewsBlock h2 {
  position:relative!important;
  display:block!important;
  width:100%!important;height:auto!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid #d4c4b8!important;
  color:var(--lux-ink)!important;
  text-align:center!important;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:21px!important;font-weight:500!important;
  line-height:1.5!important;letter-spacing:.08em!important;
  padding:0 0 19px!important;margin:0 auto 25px!important;
}
.luxHome2026 #contentsWrapper #topNews.topNewsBlock h2::before {
  content:"NEWS & EVENTS";
  display:block!important;position:static!important;
  background:none!important;border:0!important;
  font-family:Georgia,"Times New Roman",serif!important;
  color:#987a65!important;font-size:28px!important;font-weight:400!important;
  letter-spacing:.18em!important;line-height:1.3!important;
  padding:0!important;margin:0 auto 1px!important;
}
/* #topInformation h2 already has ::before INFORMATION: hide legacy duplicate. */
.luxHome2026 #topInformation .eventBlock h2 > span {display:none!important}
.luxHome2026 #contentsWrapper #topInformation .eventBlock h2 {
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;
  font-size:21px!important;
  line-height:1.5!important;
}
/* New custom hero: old global header min-width and line-height previously leaked. */
.luxHome2026 .hero.topHero .topHero__title,
.luxHome2026 .hero.topHero .topHero__lead {max-width:100%;overflow-wrap:break-word}
.luxHome2026 .topHero__cta a {display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.4!important}
.luxHome2026 .topQuickNav a {display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.4!important}
.luxHome2026 .topFacts strong {overflow-wrap:break-word}
/* Prevent blank/broken portrait placeholders in text-only review cards. */
.luxHome2026 #reviews .topReviewItems img[src=""] {display:none!important}
.luxHome2026 #reviews .topReviewItems > div {min-width:0!important}
/* Other-area headings: keep legacy area labels, normalize their bar and type. */
.luxHome2026 .groupStoresSection .sisterStore .shopInfo {
  width:100%!important;max-width:100%!important;
  min-height:45px!important;height:auto!important;
  padding:8px 12px!important;box-sizing:border-box!important;
  margin:0 0 21px!important;
}
.luxHome2026 .groupStoresSection .sisterStore .shopInfo::before {
  font-family:inherit!important;
  font-size:17px!important;
  font-weight:600!important;
  line-height:1.45!important;
  letter-spacing:.05em!important;
}
.luxHome2026 #newfaces .sisterStore.newface {max-width:100%!important}
/* Keep source navigation and external banners inside the available content column. */
.luxHome2026 .myswiper-wrapper .swiper-wrapper,
.luxHome2026 .myswiper-wrapper .swiper-slide {min-width:0;max-width:100%}
.luxHome2026 .myswiper-wrapper img,
.luxHome2026 .recommended img,
.luxHome2026 .recruitList img {max-width:100%!important;height:auto!important}
.luxHome2026 #contentsWrapper .recommended a {max-width:100%}
/* Legacy footer columns were hard-coded to 980px / six 163px columns. */
.luxHome2026 > footer #footerContentsList {
  width:100%!important;max-width:1040px!important;min-width:0!important;
  padding:0 12px!important;box-sizing:border-box;
}
.luxHome2026 > footer .footerBlock,
.luxHome2026 > footer .footerCenter {width:100%!important;max-width:100%!important;min-width:0!important}
.luxHome2026 > footer .footerCenter ul {max-width:100%!important}
.luxHome2026 > footer .footerCenter ul li {min-width:0!important;box-sizing:border-box}
.luxHome2026 > footer #footerEnd {max-width:1040px;margin:0 auto;min-width:0!important}
.luxHome2026 > footer p,
.luxHome2026 > footer a {font-family:inherit!important;line-height:1.7}
@media (min-width:981px) {
  .luxHome2026 > footer .footerCenter ul {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px!important;
    column-count:auto!important;
  }
  .luxHome2026 > footer .footerCenter ul li {
    width:100%!important;min-height:38px!important;height:auto!important;
    margin:0!important;padding:4px!important;
  }
}
@media (max-width:980px) {
  .luxHome2026 .luxMobileHeader {min-width:0!important;max-width:100%!important}
  .luxHome2026 .luxMobileLogo img {width:100%!important;max-width:100%!important;object-fit:contain}
  .luxHome2026 .luxMobileContact {flex:1 1 auto;max-width:100%;min-width:0}
  .luxHome2026 #contentsWrapper .topAvailability__box {font-size:13px!important}
  .luxHome2026 #contentsWrapper .pricing-item span,
  .luxHome2026 #contentsWrapper .pricing-option-item span {font-size:14px!important}
  .luxHome2026 .therapistBox .therapistSchedule .therapistDeta .therapistName,
  .luxHome2026 .therapistBox p.therapistName {font-size:14px!important}
  .luxHome2026 .therapistBox .therapistSchedule .therapistDeta .therapistSize,
  .luxHome2026 .therapistBox p.therapistSize {font-size:11px!important}
  .luxHome2026 .therapistBox .therapistSchedule .workDeta .workTime,
  .luxHome2026 .therapistBox .therapistSchedule .workDeta::before {font-size:11px!important}
  .luxHome2026 .therapistBox .therapistSchedule .therapistGuidance p,
  .luxHome2026 .therapistBox .therapistSchedule .therapistGuidance p > span {font-size:10px!important}
  .luxHome2026 #contentsWrapper #topNews.topNewsBlock h2 {font-size:17px!important;padding-bottom:13px!important}
  .luxHome2026 #contentsWrapper #topNews.topNewsBlock h2::before {font-size:21px!important;letter-spacing:.12em!important}
  .luxHome2026 #contentsWrapper #topInformation .eventBlock h2 {font-size:17px!important}
  .luxHome2026 .groupStoresSection .sisterStore .shopInfo::before {font-size:15px!important}
  .luxHome2026 > footer .footerCenter ul {column-count:auto!important}
  .luxHome2026 > footer .footerCenter ul li {height:auto!important;min-height:37px!important}
  .luxHome2026 > footer p.footerText {font-size:12px;line-height:1.65}
  .luxHome2026 > footer p.copyright small,
  .luxHome2026 > footer #footerEnd a {font-size:11px!important}
}
@media (max-width:375px) {
  .luxHome2026 .luxMobileHeader {padding:8px 7px;gap:7px}
  .luxHome2026 .luxMobileLogo {flex-basis:90px;width:90px}
  .luxHome2026 .luxMobileContact span {font-size:9px}
  .luxHome2026 .luxMobilePhone {font-size:12px!important;white-space:nowrap}
  .luxHome2026 .luxMenuToggle {flex-basis:38px;width:38px;height:40px}
  .luxHome2026 .topFacts strong {font-size:11px!important}
}
/* Avoid orphaned final character in the 320–375px hero headline. */
@media (max-width:375px) {
  .luxHome2026 .hero.topHero .topHero__title {
    font-size:16px!important;
    letter-spacing:.02em!important;
  }
}

/* LuxTime Akihabara TOP v2.1 - News & Events overlap correction
   Add AFTER the v2 stylesheet, or append to its END.
   Scoped to the redesigned home page only. */
.luxHome2026 #upperContents .second > #topNews.topNewsBlock {
  display: block !important;
  position: static !important;    /* cancels legacy position:absolute */
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;         /* cancels legacy height:100% */
  min-height: 0 !important;
  margin: 36px auto 44px !important;
  padding: 0 !important;
  overflow: visible !important;
}
.luxHome2026 #upperContents #topNews .topNewsBox {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;         /* cancels legacy calc(100% - 60px) */
  max-height: 460px;              /* news scrolls internally if numerous */
  overflow-x: hidden !important;
  overflow-y: auto !important;
  margin: 0 auto !important;
  padding: 12px 16px !important;
  border: 1px solid #e7dcca !important;
  background: #fff !important;
  list-style: none;
}
.luxHome2026 #upperContents #topNews .topNewsBox > li {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  height: auto;
  overflow-wrap: anywhere;
  font-size: 14px !important;
  line-height: 1.75;
}
.luxHome2026 #upperContents #topNews .topNewsBox img,
.luxHome2026 #upperContents #topNews .topNewsBox iframe {
  max-width: 100% !important;
}
.luxHome2026 #upperContents #topNews .topNewsBox img {
  height: auto !important;
}
@media (max-width: 980px) {
  .luxHome2026 #upperContents .second > #topNews.topNewsBlock {
    margin: 28px auto 36px !important;
  }
  .luxHome2026 #upperContents #topNews .topNewsBox {
    max-height: 380px;
    padding: 10px 12px !important;
  }
  .luxHome2026 #upperContents #topNews .topNewsBox > li {
    font-size: 13px !important;
  }
}

/* ==== LuxTime TOP v2.2: other-area reservation room names ==== */
/* LuxTime TOP v2.2: Other-area reservation room headings only.
   This is a standalone patch for those who prefer not to replace the integrated CSS.
   Do NOT load this file if using the v2.2 integrated luxtime-home-2026.css. */
.luxHome2026 #contentsWrapper > .topAvailability .topAvailability__box .guidanceItem .roomName {
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .035em !important;
  text-align: center !important;
  margin: 0 0 8px !important;
  padding: 0 0 7px !important;
  overflow-wrap: anywhere;
}
.luxHome2026 #contentsWrapper > .topAvailability .topAvailability__box .guidanceItem .roomName :is(span, a, strong) {
  font-size: 1em !important;
  line-height: inherit !important;
}
@media (max-width: 980px) {
  .luxHome2026 #contentsWrapper > .topAvailability .topAvailability__box .guidanceItem .roomName {
    font-size: 18px !important;
    letter-spacing: .02em !important;
  }
}
