/* 年齢確認 — Beauté TOKYO（アイボリー×炭色×ゴールド。サイトのCTAと同じボタン） */
html:not(.age-ok), html:not(.age-ok) body{overflow:hidden!important;}
html.age-ok .agegate{display:none!important;}

.agegate{
  position:fixed;inset:0;z-index:2147483000;
  display:flex;align-items:center;justify-content:center;
  padding:24px 16px;
  background:rgba(18,17,16,.62);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  font-family:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  color:#1B1A17;
  animation:agegate-in .5s ease both;
  transition:opacity .45s ease;
}
.agegate.is-leaving{opacity:0;}
@keyframes agegate-in{from{opacity:0;}to{opacity:1;}}

.agegate-card{
  width:min(100%,540px);max-height:calc(100svh - 48px);overflow:auto;
  background:#FAF8F3;
  padding:clamp(40px,8vw,60px) clamp(24px,7vw,56px) clamp(36px,7vw,52px);
  text-align:center;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
  position:relative;
}
/* 内側の細い罫線（サイトの額縁の雰囲気） */
.agegate-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(27,26,23,.12);pointer-events:none;}

.agegate-logo{line-height:1;margin-bottom:26px;}
.agegate-logo .b{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:40px;letter-spacing:.02em;}
.agegate-logo .t{display:block;margin-top:8px;font-family:"Jost","Helvetica Neue",sans-serif;font-weight:400;font-size:10px;letter-spacing:.5em;text-indent:.5em;color:#8B8578;}

.agegate-eyebrow{font-family:"Jost","Helvetica Neue",sans-serif;font-size:10px;letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;color:#8B8578;}
.agegate-title{margin:10px 0 24px;font-weight:600;font-size:20px;letter-spacing:.16em;text-indent:.16em;}
.agegate-ja{font-size:13px;line-height:2.1;letter-spacing:.06em;color:#3d3a34;}
.agegate-en{margin-top:16px;padding-top:16px;border-top:1px solid rgba(27,26,23,.12);
  font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:15px;line-height:1.6;letter-spacing:.02em;color:#5f5a50;}
.ag-sp{display:inline;}
@media (min-width:600px){.ag-sp{display:none;}}
.agegate-en{text-wrap:balance;}
.agegate:focus{outline:none;}

/* ページ側の h2・p の指定（幅・余白・左寄せ・字下げ）が入り込まないように。
   Beauté Date の求人ページでは h2 の max-width:360px が効いて見出しが左にずれていた（2026-10-03） */
.agegate .agegate-card h2,.agegate .agegate-card p{
  max-width:none;width:auto;margin-left:auto;margin-right:auto;
  text-align:center;float:none;position:static;transform:none;
}
.agegate .agegate-card p{text-indent:0;}
.agegate .agegate-card .agegate-eyebrow{text-indent:.4em;}
.agegate .agegate-card .agegate-title{text-indent:.16em;}

.agegate-btns{margin-top:32px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.agegate-btns button{
  min-width:180px;padding:15px 20px;cursor:pointer;
  display:inline-flex;flex-direction:column;align-items:center;gap:4px;
  font-family:"Shippori Mincho B1",serif;font-size:14px;font-weight:600;letter-spacing:.18em;text-indent:.18em;
  border:1px solid #C9A98C;transition:background .3s ease,border-color .3s ease,color .3s ease;
}
.agegate-btns small{font-family:"Jost","Helvetica Neue",sans-serif;font-weight:400;font-size:9.5px;letter-spacing:.2em;text-indent:.2em;opacity:.8;}
.agegate-yes{background:#C9A98C;color:#1B1A17;}
.agegate-yes:hover{background:#bd9877;border-color:#bd9877;}
.agegate-no{background:transparent;color:#1B1A17;border-color:rgba(27,26,23,.35)!important;}
.agegate-no:hover{border-color:#1B1A17!important;}
.agegate-btns button:focus-visible{outline:2px solid #1B1A17;outline-offset:3px;}
@media (prefers-reduced-motion:reduce){.agegate{animation:none;transition:none;}}
