/*!
Template: cp5-t006-FLAT
Theme Name: CP5 T006 Amor
Theme URI: https://amor-osaka.com/
Author: Amor
Description: CP5 T006-FLAT child theme for Amor（アモル）新大阪 — bordeaux black / champagne gold
Version: 1.1.0
Text Domain: cp5f6000-child-001
*/

/* ============================================================
   Amor design tokens
   ============================================================ */
:root{
  --am-bg:#120A0D;
  --am-bg2:#1C1014;
  --am-bg3:#261419;
  --am-line:#3A2229;
  --am-line2:#4C2D36;
  --am-wine:#5C1F2F;
  --am-wine2:#7E2C40;
  --am-text:#F3EADF;
  --am-muted:#C9B6A8;
  --am-dim:#8E7A81;
  --am-gold:#D9B96E;
  --am-gold2:#F2D78F;
  --am-serif:'Shippori Mincho','Hiragino Mincho ProN','Yu Mincho',serif;
  --am-sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  --am-latin:'Cormorant Garamond',Georgia,serif;
}

/* ============================================================
   Base
   ============================================================ */
html{background:var(--am-bg)}
body, body.custom-background{
  background-color:var(--am-bg) !important;
  background-image:
    radial-gradient(ellipse 90% 60% at 50% -10%, rgba(126,44,64,.42) 0%, rgba(126,44,64,0) 60%),
    radial-gradient(ellipse 60% 50% at 100% 110%, rgba(92,31,47,.35) 0%, rgba(92,31,47,0) 60%),
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .8 0 0 0 .05 0'/></filter><rect width='160' height='160' filter='url(%23n)'/></svg>") !important;
  background-attachment:fixed,fixed,scroll !important;
  background-repeat:no-repeat,no-repeat,repeat !important;
  color:var(--am-text) !important;
  font-family:var(--am-sans) !important;
  font-size:1.5rem;
  line-height:1.8;
}
body, button, input, select, textarea{color:var(--am-text);font-family:var(--am-sans)}
a{color:var(--am-gold) !important;transition:color .25s}
a:hover,a:focus{color:var(--am-gold2) !important}
h1,h2,h3,h4{font-family:var(--am-serif);font-weight:500;letter-spacing:.04em;color:var(--am-text)}
#loading{background-color:var(--am-bg) !important}
#loading .spinner .double-bounce1,#loading .spinner .double-bounce2{background-color:var(--am-gold) !important}
::selection{background:var(--am-gold);color:var(--am-bg)}

#content-block,#main-content,#main-content.layout-block,#main-content.layout-all{background:transparent !important}
#main-content #primary{background:transparent !important;padding-left:0;padding-right:0}
#main-content{max-width:1280px;margin:0 auto;padding:0 2rem 6rem}
@media (max-width:639px){#main-content{padding:0 0 9rem}}
.page-frame,.page-content,.entry-content{background:transparent !important;color:var(--am-text)}
.entry-content{font-size:1.5rem}
.entry-content p{margin-bottom:1.6em}

/* ============================================================
   Header
   ============================================================ */
#header{background:rgba(18,10,13,.9) !important;border-bottom:1px solid var(--am-line);backdrop-filter:blur(6px)}
#header.sticking{position:sticky;top:0;z-index:999}
#header-block{max-width:1280px;margin:0 auto;padding:1.4rem 2rem;align-items:center}
#header .site-description{font-size:1.1rem;letter-spacing:.2em;color:var(--am-muted);margin:0 0 .4rem;font-family:var(--am-sans);font-weight:400}
#logo img{max-height:84px;width:auto}
@media (max-width:639px){#logo img{max-height:58px}}
#header-shop-info .shop-info{color:var(--am-muted) !important;font-size:1.3rem;letter-spacing:.08em}
#header #header-block-col .shop-tel .num,#header #header-block-col .open .num{color:var(--am-text) !important;font-family:var(--am-latin);font-weight:500;letter-spacing:.06em}
#header #header-block-col .shop-tel .num{font-size:2.4rem}
#header #header-block-col .open{font-size:1.4rem}
#header .info-label{color:var(--am-gold) !important}
#header-global-menu .menu{display:flex;justify-content:center;flex-wrap:wrap;gap:0 .4rem;border-top:1px solid var(--am-line);margin-top:1rem;padding-top:.6rem}
#header-global-menu .menu > li{border:none !important;background:none !important}
#header-global-menu .menu > li > a{
  color:var(--am-text) !important;font-size:1.3rem;letter-spacing:.1em;padding:1rem 1.4rem;
  border:none !important;background:none !important;position:relative;font-family:var(--am-sans);
}
#header-global-menu .menu > li > a .sub,#header-global-menu .menu > li > a span.en,#header-global-menu .menu li a small{display:block;font-family:var(--am-latin);font-size:1rem;letter-spacing:.2em;color:var(--am-gold) !important;line-height:1.2}
#header-global-menu .menu > li > a:after{content:'';position:absolute;left:1.4rem;right:1.4rem;bottom:.4rem;height:1px;background:var(--am-gold);transform:scaleX(0);transition:transform .3s;transform-origin:left}
#header-global-menu .menu > li > a:hover:after,#header-global-menu .menu > li.current-menu-item > a:after{transform:scaleX(1)}

/* ============================================================
   Page heading / breadcrumb
   ============================================================ */
.page-header{padding:4rem 0 1rem}
#main-content .widget-title,.page-title,.profile-title{
  background:transparent !important;border:0 !important;padding:0 0 1.2rem !important;margin:0 0 2.4rem;
  color:var(--am-text) !important;font-family:var(--am-serif) !important;font-weight:500 !important;
  position:relative;text-align:left !important;
}
#main-content .widget-title .title-name,.page-title .title-name,.profile-title .title-name{font-size:2.8rem !important;letter-spacing:.06em;color:var(--am-text)}
#main-content .widget-title:after,.page-title:after,.profile-title:after{content:'';position:absolute;left:0;bottom:0;width:4.8rem;height:1px;background:var(--am-gold)}
#breadcrumb{margin-bottom:2.4rem}
#breadcrumb ul.breadcrumb-list,#breadcrumb ul.breadcrumb-list li,#breadcrumb ul.breadcrumb-list a{color:var(--am-dim) !important;font-size:1.1rem;letter-spacing:.06em}

/* ============================================================
   Buttons
   ============================================================ */
.button,.am-btn{
  background:var(--am-gold) !important;color:var(--am-bg) !important;border:1px solid var(--am-gold) !important;border-radius:0 !important;
  font-weight:700;letter-spacing:.1em;padding:1.3rem 2.8rem;min-height:4.8rem;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  transition:background .25s,color .25s,border-color .25s;
}
.button:hover,.am-btn:hover{background:var(--am-gold2) !important;color:var(--am-bg) !important}
.am-btn--ghost,.button.hollow,.button.secondary{background:transparent !important;color:var(--am-text) !important;border:1px solid var(--am-line2) !important}
.am-btn--ghost:hover,.button.hollow:hover{border-color:var(--am-gold) !important;color:var(--am-gold) !important;background:transparent !important}
.am-btn--line{background:#06C755 !important;border-color:#06C755 !important;color:#fff !important}
.am-btn--line:hover{background:#05b04b !important;color:#fff !important}
.material-scrolltop{background:var(--am-bg2) !important;color:var(--am-gold) !important;border:1px solid var(--am-line2) !important;border-radius:0 !important;box-shadow:none !important}

/* ============================================================
   Cast cards (schedule list / cast list / slider)
   ============================================================ */
.widget_cp5_schedule_list .cast-lists-frame,.widget_cp5_cast_list .cast-lists-frame,#cast-list .cast-lists-frame,.page-cast .cast-lists-frame{
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.4rem;margin:0;list-style:none}
.widget_cp5_schedule_list .cast-lists-frame > li,.widget_cp5_cast_list .cast-lists-frame > li,#cast-list .cast-lists-frame > li,.page-cast .cast-lists-frame > li{width:auto !important;max-width:none !important;flex:none !important;float:none !important;padding:0 !important;margin:0 !important}
.cast-lists-frame li .cast-frame .row.collapse{display:block}
.cast-lists-frame li .cast-frame .cast-image,.cast-lists-frame li .cast-frame .cast-section{width:100% !important;flex:none !important;max-width:none !important;padding:0 !important;text-align:left !important}
.cast-frame .cast-image{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--am-bg3)}
.cast-frame .cast-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.cast-frame:hover .cast-image img{transform:scale(1.04)}
.cast-frame .cast-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,10,13,0) 60%,rgba(18,10,13,.55) 100%);pointer-events:none}
.cast-frame .cast-section{padding:1.4rem .4rem 0 !important}
.cast-frame .cast-name .name{font-family:var(--am-serif);font-size:2rem;letter-spacing:.06em}
.am-cast-actions{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.4rem}
.am-cast-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:4.2rem;font-size:1.25rem;letter-spacing:.1em;font-weight:700;text-decoration:none;border:1px solid var(--am-gold);transition:background .25s,color .25s}
.am-cast-actions .am-cast-actions__profile{color:var(--am-gold) !important;background:transparent}
.am-cast-actions .am-cast-actions__profile:hover{background:rgba(217,185,110,.12)}
.am-cast-actions .am-cast-actions__reserve{color:var(--am-bg) !important;background:var(--am-gold)}
.am-cast-actions .am-cast-actions__reserve:hover{background:var(--am-gold2)}
@media (max-width:1023px){.widget_cp5_schedule_list .cast-lists-frame,.widget_cp5_cast_list .cast-lists-frame,#cast-list .cast-lists-frame,.page-cast .cast-lists-frame{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}}
@media (max-width:639px){.widget_cp5_schedule_list .cast-lists-frame,.widget_cp5_cast_list .cast-lists-frame,#cast-list .cast-lists-frame,.page-cast .cast-lists-frame{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.cast-frame .cast-name .name{font-size:1.7rem}.am-cast-actions{grid-template-columns:1fr}.am-cast-actions a{min-height:3.8rem;font-size:1.15rem}}
.cast-lists-frame li .cast-frame,.widget_cp5_cast_slider .cast-frame,.widget_cp5_schedule_slider .cast-frame,#schedule-week .cast-frame{
  background:linear-gradient(180deg,var(--am-bg2),var(--am-bg3)) !important;border:1px solid var(--am-line) !important;border-radius:0 !important;box-shadow:0 18px 40px -24px rgba(0,0,0,.8) !important;padding:1rem 1rem 1.8rem;transition:border-color .3s,transform .3s;
}
.cast-lists-frame li .cast-frame:hover,.widget_cp5_cast_slider .cast-frame:hover{border-color:var(--am-gold) !important;transform:translateY(-2px)}
.cast-frame a{color:var(--am-text) !important;text-decoration:none}
.cast-frame .cast-image img,.cast-frame .cast-image .thumbnail{border:0 !important;border-radius:0 !important;box-shadow:none !important;background:var(--am-bg3);width:100%}
.cast-frame .cast-section{padding:1rem .4rem 0}
.cast-lists-frame li .cast-section .cast-name,.widget_cp5_cast_slider .cast-frame .cast-name,#schedule-week .cast-frame .cast-section .cast-detail .name{
  font-family:var(--am-serif);font-weight:500 !important;font-size:1.7rem !important;letter-spacing:.06em;color:var(--am-text)
}
.cast-lists-frame li .cast-section .cast-name .age,#schedule-week .cast-detail .age{font-size:1.2rem !important;color:var(--am-muted);font-family:var(--am-sans);margin-left:.4rem}
.cast-lists-frame li .cast-section .cast-size,.widget_cp5_cast_slider .cast-size{color:var(--am-muted) !important;font-size:1.15rem !important;letter-spacing:.04em}
.cast-schedule-time{color:var(--am-gold) !important;font-size:1.3rem;letter-spacing:.06em;margin-top:.4rem}
.cast-schedule-time .fa{color:var(--am-gold)}
.cast-state-icon span.machihime-icon{background:transparent !important;border:1px solid var(--am-line2);color:var(--am-muted) !important;border-radius:0 !important;font-size:1.1rem;letter-spacing:.1em;padding:.2rem .6rem}
.cast-state-icon span.machihime-icon.icon-ok,.cast-state-icon span.machihime-icon.ok,.machihime-icon.state-1{border-color:var(--am-gold) !important;color:var(--am-gold) !important}
.cast-state-messege,.mEx-time{color:var(--am-dim) !important;font-size:1.1rem}
.marquee,.marquee-inner,.cast-schedule-comment{color:var(--am-muted) !important;font-size:1.15rem}
.cast-icon img{filter:none}
.cast-visitingday{color:var(--am-gold);font-size:1.1rem;letter-spacing:.06em}
.query-count{color:var(--am-muted) !important;font-size:1.2rem;letter-spacing:.06em}
.query-count .num{color:var(--am-text)}
.no-data{color:var(--am-dim) !important;padding:3rem 0;border:1px dashed var(--am-line2)}
.widget_cp5_cast_slider .owl-dots .owl-dot span{background:var(--am-line2) !important;border-radius:0 !important;width:2rem;height:2px}
.widget_cp5_cast_slider .owl-dots .owl-dot.active span{background:var(--am-gold) !important}
.widget_cp5_cast_slider .owl-nav button{color:var(--am-gold) !important;background:transparent !important}

/* schedule date panel / weekly */
#schedule-datepanel{border-bottom:1px solid var(--am-line) !important;padding:0}
#schedule-datepanel li a{border-color:var(--am-line) !important;border-top-color:transparent !important;color:var(--am-muted) !important;background:transparent !important}
#schedule-datepanel li a.active,#schedule-datepanel li a:hover{border-top:2px solid var(--am-gold) !important;color:var(--am-text) !important;border-bottom-color:var(--am-bg) !important}
#schedule-datepanel li a.sat{color:#8FB2E8 !important}
#schedule-datepanel li a.sun{color:#E89A8F !important}
#schedule-datepanel span.month,#schedule-datepanel span.day{font-family:var(--am-latin);font-weight:500 !important}
.profile-weekly-schedule-list,.weekly-schedule-list{border-color:var(--am-line) !important;background:var(--am-bg2)}
.profile-weekly-schedule-list li,.weekly-schedule-list li{border-left-color:var(--am-line) !important}
.profile-weekly-schedule-list li .weekly-date.head,.weekly-schedule-list li .weekly-date.head{border-color:var(--am-line) !important;background:var(--am-bg3);color:var(--am-muted);font-weight:500 !important;letter-spacing:.06em}
.weekly-schedule-list li .weekly-date.head.sat{color:#8FB2E8}
.weekly-schedule-list li .weekly-date.head.sun{color:#E89A8F}
.weekly-schedule-list .schedule-time,.profile-weekly-schedule-list .schedule-time{color:var(--am-gold)}

/* profile (single cast) */
#profile-frame,.profile-frame{background:transparent !important}
#profile-frame .profile-title{margin-top:3rem}
#profile-frame .profile-detail th,#profile-frame table th{background:var(--am-bg3) !important;color:var(--am-muted) !important;border-color:var(--am-line) !important;font-weight:500;letter-spacing:.06em}
#profile-frame table td{border-color:var(--am-line) !important;color:var(--am-text)}
#profile-frame .profile-image img{border:1px solid var(--am-line)}
.profile-comment,.profile-message,.cast-comment{background:var(--am-bg2) !important;border:1px solid var(--am-line) !important;color:var(--am-text) !important;padding:2rem}

/* ============================================================
   Tables / system
   ============================================================ */
table,.system-table{border:1px solid var(--am-line) !important;background:transparent !important}
table th,table td{border-color:var(--am-line) !important;color:var(--am-text) !important;background:transparent !important}
table thead th{background:var(--am-bg3) !important;color:var(--am-muted) !important;font-weight:500;letter-spacing:.06em}
#system .system-title,.system-title{font-family:var(--am-serif);color:var(--am-text);font-weight:500 !important;letter-spacing:.06em;padding-left:1.2rem;border-left:2px solid var(--am-gold)}

/* ============================================================
   News / events
   ============================================================ */
.widget_cp5_news ul li,.widget_cp5_news .news-lists-frame li{border-color:var(--am-line) !important;padding:1.4rem 0 !important}
.news-date,.posted-on,.news-date time{color:var(--am-gold) !important;font-family:var(--am-latin);font-size:1.3rem;letter-spacing:.06em}
.news-section .entry-title{font-family:var(--am-serif);font-size:1.6rem;color:var(--am-text)}
.news-content{color:var(--am-muted) !important;font-size:1.3rem}
.cat-label{background:transparent !important;border:1px solid var(--am-line2);color:var(--am-muted) !important;border-radius:0 !important;font-size:1rem;letter-spacing:.1em}

/* ============================================================
   Widgets generic
   ============================================================ */
.widget,.widget-block{background:transparent !important;border:0 !important;box-shadow:none !important;padding:0 !important;margin:0 0 6rem !important}
#secondary .widget{margin-bottom:4rem !important}

/* ============================================================
   Forms (CF7 / reserve)
   ============================================================ */
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=time],input[type=number],select,textarea{
  background:var(--am-bg2) !important;border:1px solid var(--am-line2) !important;color:var(--am-text) !important;border-radius:0 !important;box-shadow:none !important;padding:1.1rem 1.2rem;min-height:4.6rem;
}
input:focus,select:focus,textarea:focus{border-color:var(--am-gold) !important;outline:none;box-shadow:none !important}
::placeholder{color:var(--am-dim) !important}
label{color:var(--am-text)}
.wpcf7 input[type=submit],button[type=submit]{background:var(--am-gold);color:var(--am-bg);border:0;padding:1.4rem 3.2rem;font-weight:700;letter-spacing:.1em;cursor:pointer;min-height:4.8rem}

/* ============================================================
   Footer
   ============================================================ */
#footer{background:var(--am-bg) !important;border-top:1px solid var(--am-line);color:var(--am-muted) !important;padding:4.8rem 0 3rem}
#footer-widget-col{max-width:1280px;margin:0 auto;padding:0 2rem}
#footer .widget{margin-bottom:3rem !important}
#footer .widget-title,#footer h3,#footer .widgettitle{color:var(--am-gold) !important;font-family:var(--am-latin);font-size:1.4rem;letter-spacing:.3em;border:0 !important;border-bottom:1px solid var(--am-line) !important;padding:0 0 .8rem !important;margin-bottom:1.6rem;background:transparent !important}
#footer a{color:var(--am-text) !important}
#footer a:hover{color:var(--am-gold) !important}
#footer #footer-widget-col .widget_nav_menu ul li{border-color:var(--am-line) !important;padding:.6rem 0}
#footer #footer-widget-col .widget_cp5_shop_info .shop-info{color:var(--am-muted) !important;font-size:1.3rem;line-height:1.9}
#footer #footer-widget-col .widget_cp5_shop_info .shop-info .shop-name{font-family:var(--am-serif);color:var(--am-text) !important;font-size:1.8rem;letter-spacing:.06em}
#footer #footer-copy{border-top:1px solid var(--am-line) !important;color:var(--am-dim) !important;font-size:1.1rem;letter-spacing:.1em;padding:2rem 0 0;margin-top:2rem}
.am-footer-note{max-width:1280px;margin:0 auto 2.4rem;padding:0 2rem;font-size:1.2rem;color:var(--am-dim);line-height:1.9}

/* ============================================================
   Drawer (mobile)
   ============================================================ */
.drawer-nav,#drawer-menu{background:var(--am-bg2) !important;border-left:1px solid var(--am-line) !important}
#drawer-info .shop-info{color:var(--am-muted) !important}
#drawer-info .shop-info.name{font-family:var(--am-serif);color:var(--am-text) !important;font-size:1.8rem;letter-spacing:.08em;margin-bottom:.4rem}
.drawer-menu>li,.drawer-menu>li .sub-menu>li{border-color:var(--am-line) !important}
.drawer-menu a,.drawer-menu-item{color:var(--am-text) !important;letter-spacing:.08em}
.drawer-menu a:hover{color:var(--am-gold) !important;background:transparent !important}
.drawer-hamburger{background:var(--am-bg) !important;border:1px solid var(--am-line) !important}
.drawer-hamburger-icon,.drawer-hamburger-icon:before,.drawer-hamburger-icon:after{background-color:var(--am-text) !important}
.drawer-open .drawer-hamburger-icon{background-color:transparent !important}
.drawer-overlay{background:rgba(0,0,0,.6) !important}
#drawer-info .tel-button{background:var(--am-gold) !important;color:var(--am-bg) !important}

/* ============================================================
   Amor sections (front page & pages)
   ============================================================ */
.am-eyebrow{display:block;font-family:var(--am-latin);font-size:1.5rem;letter-spacing:.34em;color:var(--am-gold);margin-bottom:.8rem}
.am-h2{position:relative}
.am-h2{font-family:var(--am-serif);font-size:3.4rem;line-height:1.5;letter-spacing:.06em;margin:0 0 1.6rem;color:var(--am-text);font-weight:500}
.am-lead{color:var(--am-muted);font-size:1.5rem;line-height:1.9;max-width:72rem}
.am-section{padding:7.2rem 0;border-top:1px solid var(--am-line);position:relative}
.am-section:before{content:'';position:absolute;left:50%;top:-1px;width:12rem;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--am-gold),transparent)}
.am-section--first{border-top:0}
.am-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2.4rem;flex-wrap:wrap;margin-bottom:2.8rem}
.am-section-head .am-h2{margin:0}
.am-more{font-size:1.3rem;letter-spacing:.1em;border-bottom:1px solid var(--am-gold);padding-bottom:.4rem;color:var(--am-gold) !important;text-decoration:none}
.am-center{text-align:center}
.am-center .am-lead{margin:0 auto}

/* hero (full-bleed photo + giant wordmark) */
.am-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);min-height:min(86vh,84rem);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--am-line)}
.am-hero__visual{position:absolute;inset:0;z-index:0}
.am-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:60% 40%;display:block}
.am-hero__visual:after{content:'';position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(18,10,13,.35) 0%,rgba(18,10,13,.05) 35%,rgba(18,10,13,.72) 78%,var(--am-bg) 100%),
  linear-gradient(90deg,rgba(18,10,13,.78) 0%,rgba(18,10,13,.25) 55%,rgba(18,10,13,0) 100%)}
.am-hero__visual .am-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--am-dim);font-size:1.2rem;letter-spacing:.14em}
.am-hero__word{position:absolute;z-index:1;right:-.04em;top:50%;transform:translateY(-58%);font-family:var(--am-latin);font-weight:500;font-size:clamp(6rem,13.5vw,19rem);line-height:.9;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(217,185,110,.55);pointer-events:none;user-select:none}
.am-hero__word:before{content:attr(data-text);position:absolute;inset:0;color:rgba(217,185,110,.12);-webkit-text-stroke:0;filter:blur(.5px)}
.am-hero__text{position:relative;z-index:2;max-width:1280px;width:100%;margin:0 auto;padding:16rem 2rem 7rem;display:flex;flex-direction:column;gap:2.2rem}
.am-hero__title{font-family:var(--am-serif);font-size:4.8rem;line-height:1.4;letter-spacing:.06em;margin:0;color:var(--am-text);font-weight:500;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.am-hero__lead{color:var(--am-muted);font-size:1.55rem;max-width:52rem;margin:0;text-shadow:0 1px 12px rgba(0,0,0,.6)}
.am-hero__cta{display:flex;gap:1.4rem;flex-wrap:wrap}
.am-hero__chips{display:flex;gap:2.4rem;flex-wrap:wrap;font-size:1.25rem;color:var(--am-muted);letter-spacing:.06em;margin:0;padding:0;list-style:none}
.am-hero__chips li:before{content:'';display:inline-block;width:6px;height:6px;background:var(--am-gold);margin-right:.8rem;vertical-align:middle}
.am-hero__info{display:flex;gap:3.2rem;flex-wrap:wrap;align-items:center;font-size:1.3rem;color:var(--am-muted);letter-spacing:.06em}
.am-hero__info b{font-family:var(--am-latin);font-weight:500;font-size:2.4rem;color:var(--am-text);letter-spacing:.04em;margin-left:.6rem}
.am-hero__info a{color:var(--am-text) !important;text-decoration:none}
@media (max-width:1023px){
  .am-hero{min-height:min(78vh,64rem)}
  .am-hero__text{padding:12rem 2rem 4.8rem;gap:1.8rem}
  .am-hero__title{font-size:3.2rem}
  .am-hero__word{top:36%;right:-.02em;font-size:clamp(5.6rem,17vw,12rem)}
  .am-hero__visual img{object-position:62% 30%}
  .am-hero__chips{gap:1.4rem;font-size:1.15rem}
  .am-hero__info{gap:1.6rem}
}

/* two-column concept/access */
.am-split{display:grid;grid-template-columns:1fr 1fr;gap:0}
.am-split__media{background:var(--am-bg3);min-height:42rem;position:relative;display:flex;align-items:center;justify-content:center;color:var(--am-dim);font-size:1.2rem;letter-spacing:.14em;overflow:hidden}
.am-split__media img,.am-split__media iframe{width:100%;height:100%;min-height:42rem;object-fit:cover;display:block;border:0}
.am-split__body{padding:6rem 6rem;display:flex;flex-direction:column;justify-content:center;gap:1.6rem}
.am-split__body p{color:var(--am-muted);margin:0}
@media (max-width:1023px){.am-split{grid-template-columns:1fr}.am-split__body{padding:3.2rem 2rem}.am-split__media{min-height:24rem}.am-split__media img,.am-split__media iframe{min-height:24rem}}

/* feature list */
.am-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 2.4rem;list-style:none;margin:1rem 0 0;padding:0;font-size:1.4rem}
.am-features li{display:flex;gap:1rem;align-items:center}
.am-features li:before{content:'';width:6px;height:6px;background:var(--am-gold);flex-shrink:0}

/* price cards */
.am-price{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2rem}
.am-price__card{position:relative;display:flex;flex-direction:column;gap:1rem;padding:3rem 2.4rem;background:var(--am-bg2);border:1px solid var(--am-line);border-top:2px solid var(--am-gold)}
.am-price__tag{font-size:1.1rem;letter-spacing:.2em;color:var(--am-gold)}
.am-price__min{font-family:var(--am-serif);font-size:2.4rem;letter-spacing:.06em}
.am-price__yen{font-family:var(--am-latin);font-size:3.4rem;line-height:1.1;color:var(--am-text)}
.am-price__note{font-size:1.3rem;color:var(--am-muted)}
.am-price__badge{position:absolute;top:-1px;right:1.6rem;padding:.4rem 1rem;background:var(--am-gold);color:var(--am-bg);font-size:1rem;font-weight:700;letter-spacing:.14em}
@media (max-width:1023px){.am-price{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.am-price{grid-template-columns:1fr}.am-price__card{flex-direction:row;align-items:center;justify-content:space-between;padding:1.8rem 2rem;border-top:1px solid var(--am-line);border-left:2px solid var(--am-gold)}.am-price__card .am-price__note{display:none}.am-price__yen{font-size:2.8rem}}

/* option list (dl) */
.am-opts{margin:0;display:flex;flex-direction:column}
.am-opts__row{display:flex;justify-content:space-between;align-items:baseline;gap:1.6rem;padding:1.4rem 0;border-bottom:1px solid var(--am-line)}
.am-opts__row dt{display:flex;flex-direction:column;gap:.2rem;font-weight:400}
.am-opts__row dt small{color:var(--am-dim);font-size:1.2rem}
.am-opts__row dd{margin:0;font-family:var(--am-latin);font-size:2.4rem;white-space:nowrap}
.am-first{display:flex;flex-direction:column;gap:1rem;padding:2.8rem;background:var(--am-bg2);border:1px solid var(--am-gold);margin-top:2rem}
.am-first strong{font-family:var(--am-serif);font-size:2.4rem;font-weight:500;letter-spacing:.04em}
.am-first small{color:var(--am-muted);font-size:1.3rem}
.am-two{display:grid;grid-template-columns:1fr 1fr;gap:4.8rem;margin-top:5.6rem}
@media (max-width:1023px){.am-two{grid-template-columns:1fr;gap:3.2rem}}
.am-h3{font-family:var(--am-serif);font-size:2.2rem;font-weight:500;letter-spacing:.06em;padding-bottom:1.2rem;border-bottom:1px solid var(--am-line);margin:0 0 1.8rem}
.am-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem;color:var(--am-muted);font-size:1.4rem}
.am-notes li{display:flex;gap:1rem}
.am-notes li:before{content:'';width:6px;height:6px;margin-top:1.1rem;background:var(--am-gold);flex-shrink:0}

/* steps */
.am-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.8rem;counter-reset:step}
.am-steps__item{display:flex;flex-direction:column;gap:1.2rem;padding:0 .8rem}
.am-steps__no{font-family:var(--am-latin);font-size:4rem;color:var(--am-gold);line-height:1}
.am-steps__title{font-family:var(--am-serif);font-size:1.8rem;letter-spacing:.06em;margin:0;font-weight:500}
.am-steps__body{font-size:1.4rem;color:var(--am-muted);margin:0}
@media (max-width:1023px){.am-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.am-steps{grid-template-columns:1fr;gap:2rem}.am-steps__item{flex-direction:row;gap:1.6rem}.am-steps__no{font-size:3rem;min-width:4.4rem}}

/* faq */
.am-faq{max-width:88rem;margin:0 auto;display:flex;flex-direction:column}
.am-faq__item{display:flex;flex-direction:column;gap:.8rem;padding:2.2rem 0;border-bottom:1px solid var(--am-line)}
.am-faq__q{font-family:var(--am-serif);font-size:1.7rem;margin:0;font-weight:500;letter-spacing:.04em}
.am-faq__a{font-size:1.4rem;color:var(--am-muted);margin:0}

/* access dl */
.am-dl{margin:0;display:grid;grid-template-columns:12rem 1fr;gap:1.2rem 1.6rem;font-size:1.4rem}
.am-dl dt{color:var(--am-muted)}
.am-dl dd{margin:0}
@media (max-width:639px){.am-dl{grid-template-columns:9rem 1fr}}

/* recruit band */
.am-band{display:flex;align-items:center;justify-content:space-between;gap:3.2rem;flex-wrap:wrap;padding:4.8rem 5.6rem;background:var(--am-bg2);border:1px solid var(--am-line)}
.am-band__title{font-family:var(--am-serif);font-size:2.2rem;letter-spacing:.06em;margin:.4rem 0 0;font-weight:500}
@media (max-width:639px){.am-band{padding:2.8rem 2rem}}

/* generic content pages (guide/access/faq/recruit/reserve) */
.am-page{max-width:96rem}
.am-page h2{font-family:var(--am-serif);font-size:2.4rem;font-weight:500;letter-spacing:.06em;margin:4.8rem 0 1.6rem;padding-left:1.2rem;border-left:2px solid var(--am-gold)}
.am-page h2:first-child{margin-top:0}
.am-page p{color:var(--am-muted)}
.am-page p strong,.am-page li strong{color:var(--am-text);font-weight:500}
.am-cta-row{display:flex;gap:1.4rem;flex-wrap:wrap;margin:3.2rem 0}
.am-reserve{display:flex;flex-direction:column;gap:1.8rem;padding:3.2rem;background:var(--am-bg2);border:1px solid var(--am-line);max-width:72rem}
.am-reserve label{display:block;font-size:1.4rem}
.am-reserve label input,.am-reserve label select,.am-reserve label textarea{display:block;width:100%;margin-top:.6rem}
.am-reserve label span{display:inline;color:var(--am-gold);font-size:1.1rem;letter-spacing:.1em;margin-left:.6rem}
.am-reserve .row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.am-reserve .note{font-size:1.3rem;color:var(--am-muted);margin:0}
.am-reserve .am-ok,.am-reserve .am-ng{padding:1.4rem 1.6rem;border:1px solid var(--am-gold);color:var(--am-text);font-size:1.4rem}
.am-reserve .am-ng{border-color:#E89A8F}
@media (max-width:639px){.am-reserve{padding:2rem}.am-reserve .row{grid-template-columns:1fr}}
.am-recruit-pay{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:2.4rem 0}
.am-recruit-pay div{padding:2.4rem;background:var(--am-bg2);border:1px solid var(--am-line);display:flex;flex-direction:column;gap:.6rem}
.am-recruit-pay b{font-family:var(--am-latin);font-size:3rem;font-weight:500;color:var(--am-gold)}
.am-recruit-pay small{color:var(--am-muted);font-size:1.3rem}
@media (max-width:639px){.am-recruit-pay{grid-template-columns:1fr}}

/* ============================================================
   Mobile fixed CTA bar
   ============================================================ */
#am-mobile-cta{display:none}
@media (max-width:1023px){
  #am-mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:998;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--am-line);background:var(--am-bg)}
  #am-mobile-cta a{display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:5.6rem;font-size:1.4rem;font-weight:700;letter-spacing:.06em;text-decoration:none}
  #am-mobile-cta .am-cta-tel{color:var(--am-gold) !important;border-right:1px solid var(--am-line)}
  #am-mobile-cta .am-cta-line{background:var(--am-gold);color:var(--am-bg) !important}
  body{padding-bottom:5.6rem}
  .material-scrolltop{bottom:7rem !important}
}

/* full-bleed guard */
body{overflow-x:hidden}

/* area text */
.am-area{max-width:82rem;margin:0 auto;text-align:center}
.am-area p{color:var(--am-muted);font-size:1.5rem;line-height:2;text-align:left;margin:0 0 1.4em}
.am-area a{border-bottom:1px solid var(--am-gold)}
