/* 年齢確認 — Beauté Date（アイボリー×サーモン×こげ茶。筆記体のロゴ） */
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(58,38,32,.42);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  font-family:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  color:#3A2620;
  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:#FFFCFA;
  padding:clamp(40px,8vw,58px) clamp(24px,7vw,56px) clamp(36px,7vw,50px);
  text-align:center;border-radius:4px;
  box-shadow:0 24px 80px rgba(58,38,32,.28);
  position:relative;
}
.agegate-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#EAC2B4;border-radius:4px 4px 0 0;}

.agegate-logo{line-height:1;margin-bottom:22px;display:flex;align-items:baseline;justify-content:center;gap:9px;}
.agegate-logo .b{font-family:"Pinyon Script",cursive;font-size:42px;color:#3A2620;}
.agegate-logo .d{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:24px;color:#E29C87;}

.agegate-eyebrow{font-family:"Jost","Helvetica Neue",sans-serif;font-size:10px;letter-spacing:.36em;text-indent:.36em;text-transform:uppercase;color:#E29C87;}
.agegate-title{margin:10px 0 22px;font-weight:500;font-size:20px;letter-spacing:.16em;text-indent:.16em;}
.agegate-ja{font-size:13px;line-height:2.1;letter-spacing:.05em;color:#6E5147;}
.agegate-en{margin-top:16px;padding-top:16px;border-top:1px solid rgba(58,38,32,.12);
  font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:15px;line-height:1.6;color:#6E5147;}
.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:.36em;}
.agegate .agegate-card .agegate-title{text-indent:.16em;}

.agegate-btns{margin-top:30px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.agegate-btns button{
  min-width:180px;padding:15px 20px;cursor:pointer;border-radius:999px;
  display:inline-flex;flex-direction:column;align-items:center;gap:3px;
  font-family:"Shippori Mincho B1",serif;font-size:14px;font-weight:500;letter-spacing:.16em;text-indent:.16em;
  border:1px solid #E29C87;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:.18em;text-indent:.18em;opacity:.85;}
.agegate-yes{background:#E29C87;color:#fff;}
.agegate-yes:hover{background:#d8876f;border-color:#d8876f;}
.agegate-no{background:transparent;color:#6E5147;border-color:rgba(58,38,32,.3)!important;}
.agegate-no:hover{border-color:#3A2620!important;color:#3A2620;}
.agegate-btns button:focus-visible{outline:2px solid #3A2620;outline-offset:3px;}
@media (prefers-reduced-motion:reduce){.agegate{animation:none;transition:none;}}
