.topbar.topbar-solid{background:#160e13;box-shadow:0 2px 16px #160e1314}
.topbar .nav{gap:clamp(12px,1.3vw,22px)}
.topbar .nav a{white-space:nowrap}
.topbar .nav a[aria-current="page"]{color:#e7b08a;border-bottom-color:#e7b08a}
.info-page{min-height:75vh;padding:132px 6vw 96px;background:#fff9f6}
.info-container{width:min(100%,960px);margin:auto}
.info-back{display:inline-block;padding:8px 0;color:#87374f;font-size:14px;margin-bottom:30px}
.info-back:hover{text-decoration:underline;text-underline-offset:4px}
.info-heading{text-align:center;margin-bottom:46px}
.info-heading .info-kicker{font:600 16px/1.4 "Cormorant Garamond",serif;letter-spacing:.24em;color:#9b3057;margin:0 0 10px}
.info-heading h1{font-size:clamp(30px,4vw,42px);font-weight:600;letter-spacing:.12em;line-height:1.5;margin:0 0 16px;color:#311b26}
.info-heading>p:last-child{font-size:16px;color:#725e68;margin:0;line-height:1.9}
.notice-section{background:#fff9f6;scroll-margin-top:78px}
.notice-section .section-heading{max-width:1100px;margin:0 auto 34px}
.notice-section .section-heading h2{font-size:clamp(24px,3vw,32px);line-height:1.65;letter-spacing:.06em}
.notice-section .notice-content{max-width:1100px;margin:auto}
.notice-content{padding:36px 44px;background:#fff;border:1px solid #eadce2;border-top:3px solid #a81f54;color:#4d4047;font-size:16px;line-height:2;overflow-wrap:anywhere}
.notice-list{list-style:disc;padding-left:24px;margin:0}
.notice-list li{padding:18px 0 18px 5px;border-bottom:1px solid #efe5e9}
.notice-list li:first-child{padding-top:0}
.notice-list li:last-child{border-bottom:0}
.notice-list li::marker{color:#a81f54}
.notice-list p{margin:0 0 12px}
.notice-list p:last-child{margin-bottom:0}
.notice-closing{border-top:1px solid #d9b5c4;margin-top:16px;padding-top:24px}
.notice-closing p{margin:0 0 16px}
.notice-closing p:last-child{margin-bottom:0}
.recruit-intro{background:#28131f;color:#fff;padding:44px 36px;text-align:center;border-top:3px solid #c96a8c}
.recruit-intro h2{font-size:clamp(23px,3vw,30px);font-weight:500;line-height:1.6;margin:0 0 18px;letter-spacing:.07em}
.recruit-intro>p{font-size:16px;line-height:2;color:#eadde3;margin:0}
.recruit-highlights{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.recruit-highlights li{font-size:14px;padding:6px 20px;border:1px solid #806273;color:#f0c5b0}
.recruit-details{margin-top:44px}
.recruit-details h2{font-size:23px;font-weight:500;letter-spacing:.1em;margin:0 0 22px;color:#4a1830}
.recruit-table{margin:0;background:#fff;border:1px solid #e7d9df}
.recruit-table>div{display:grid;grid-template-columns:172px minmax(0,1fr);border-bottom:1px solid #e7d9df}
.recruit-table>div:last-child{border-bottom:0}
.recruit-table dt{display:flex;align-items:center;justify-content:center;background:#f1e3e9;color:#7b2a4b;padding:24px;font-size:16px;font-weight:600;letter-spacing:.12em}
.recruit-table dd{margin:0;padding:24px 32px;font-size:16px;line-height:1.9;color:#4d4047;overflow-wrap:anywhere}
.recruit-detail-note{display:block;color:#76606c;font-size:14px;margin-top:6px}
.recruit-phone{font-size:clamp(22px,3vw,30px);font-weight:700;color:#8f1747;white-space:nowrap}
.recruit-phone:hover{text-decoration:underline;text-underline-offset:5px}
.recruit-contact{text-align:center;margin-top:40px}
.recruit-contact>p{font-size:16px;margin:0 0 16px;color:#6b5060}
.recruit-contact .primary-button{max-width:360px;width:100%;min-height:58px;font-size:16px}
.recruit-contact>span{display:block;font-size:16px;color:#8f1747;margin-top:12px;letter-spacing:.08em}
.info-page a:focus-visible{outline:2px solid #a81f54;outline-offset:5px}
@media(min-width:1101px) and (max-width:1440px){.topbar .header-call{display:none}.topbar .brand-jp{display:none}}
@media(max-width:1100px){
  .notice-section{scroll-margin-top:62px}
  .topbar{height:62px;padding:0 18px;background:rgba(12,8,10,.94);backdrop-filter:blur(9px)}
  .topbar .brand-en{font-size:25px}
  .topbar .brand-jp,.topbar .header-call{display:none}
  .topbar .menu-button{display:flex;margin-left:auto;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px}
  .topbar .menu-button span:not(.sr-only){display:block;width:24px;height:1px;background:#fff;margin-left:auto}
  .topbar .nav{position:absolute;top:62px;left:0;right:0;margin:0;padding:18px 24px;background:#150e12;display:none;flex-direction:column;gap:0;max-height:calc(100dvh - 62px);overflow-y:auto;overscroll-behavior:contain}
  .topbar .nav.open{display:flex}
  .topbar .nav a{padding:12px;border-bottom:1px solid #392930;font-size:14px;min-height:44px}
  .info-page{padding-top:98px}
}
@media(max-width:540px){
  .info-page{padding:88px 20px 64px}
  .info-back{margin-bottom:22px}
  .info-heading{margin-bottom:30px}
  .info-heading h1{font-size:30px}
  .info-heading>p:last-child{font-size:15px}
  .notice-content{padding:24px 20px;font-size:16px;line-height:1.95}
  .notice-list{padding-left:18px}
  .notice-list li{padding-left:2px}
  .recruit-intro{padding:30px 22px}
  .recruit-intro h2{font-size:23px}
  .recruit-highlights{gap:8px}
  .recruit-highlights li{padding:5px 12px}
  .recruit-details{margin-top:32px}
  .recruit-table>div{grid-template-columns:1fr}
  .recruit-table dt{justify-content:flex-start;padding:12px 20px}
  .recruit-table dd{padding:20px}
}
