@charset "UTF-8";
/*
Theme Name: AKANE CAREERS
Template: Mythos-core
Version: 1.3.32
Description: 銀座 茜 採用サイト専用子テーマ
*/

/* =====================================================
  AKANE – Brand Tokens (diff only)
===================================================== */
:root{
  /* brand */
  --brand-ink:#1f1f1f;
  --brand-deep:#111;
  --brand-muted:rgba(0,0,0,.62);
  --brand-line:rgba(0,0,0,.10);
  --brand-bg:#fbfbfa;

  /* Champagne Gold */
  --brand-accent:#b79a63;
  --brand-accent-deep:#8f7445;
  --akane-footer-hover:#660000;

  /* body typography (AKANE tuning) */
  --akane-body-size:15px;
  --akane-body-lh:2.35;
  --akane-body-track:.08em;

  /* CTA（全ページ統一：ミトス同等の“少しだけ出る” + もう少し細く） */
  --cta-ink:rgba(0,0,0,.78);
  --cta-pad-x:8px;
  --cta-pad-b:12px;

  --cta-line-h:0.8px;        /* ← 1pxより繊細 */
  --cta-overhang:10px;       /* ← テキストより少しだけ出す */
  --cta-overhang-hover:16px; /* ← hover時だけ少し伸びる */

  /* Hamburger */
  --ham-w:30px;
  --ham-h:1px;
  --ham-gap:4px;
}

body{
  background:var(--brand-bg);
  color:var(--brand-ink);
}

body.akane-careers{
  /* 写真の空気感を保ったまま、ヒーローコピーの視認性だけを一段上げる */
  --mv-air-1:rgba(0,0,0,.24);
  --mv-air-2:rgba(0,0,0,.44);
}

body.akane-careers #mvGallery .swiper::before{
  background:
    linear-gradient(90deg,rgba(8,6,4,.15) 0%,rgba(8,6,4,.08) 56%,rgba(8,6,4,0) 88%),
    radial-gradient(120% 90% at 50% 28%,var(--mv-air-1),var(--mv-air-2));
}

/* 最初の画像が描画できた時点で覆いを解除し、外部JSの待ち時間を見せない */
html.is-mv-visual-ready #mvGallery.mv-slider::after{
  opacity:0;
}

#mvGallery .swiper-slide > picture{
  display:block;
  width:100%;
  height:100%;
}

#gallery .gallery-swiper .swiper-slide > picture{
  display:block;
  width:100%;
}

body.akane-careers #mvGallery{
  --mv-gold:#e2c98a;
  --mv-gold-dim:rgba(226,201,138,.82);
  --mv-gold-line:rgba(226,201,138,.48);
}

body.akane-careers #mvGallery .mv-fraction{
  color:rgba(226,201,138,.96);
}

body.akane-careers #mvGallery .mv-fraction .slash,
body.akane-careers #mvGallery .mv-fraction .total{
  color:rgba(226,201,138,.76);
}

/* =====================================================
  AKANE CAREERS – Header / Footer
===================================================== */
#siteHeader.site-header,
#siteHeader.site-header.is-scrolled{
  background:#8f7445;
  background-color:#8f7445;
  border-bottom:0;
}

#siteHeader .site-logo--white{display:block;}
#siteHeader .site-logo--black{display:none;}
#siteHeader .hamburger span{background:#fff;}

.site-footer{
  background:#8f7445;
  color:rgba(255,255,255,.88);
}

.site-footer a{color:inherit;}
.site-footer .footer-divider{color:rgba(255,255,255,.35);}

/* =====================================================
  AKANE CAREERS – Hero copy
===================================================== */
.careers-hero-copy{
  position:absolute;
  z-index:4;
  left:clamp(24px,7vw,110px);
  bottom:clamp(92px,12vw,150px);
  color:#fff;
  pointer-events:none;
  text-shadow:0 2px 20px rgba(0,0,0,.48),0 1px 3px rgba(0,0,0,.28);
}
.careers-hero-copy__en{
  margin:0 0 18px;
  font-family:var(--font-en,"Cinzel",serif);
  font-size:11px;
  letter-spacing:.28em;
}
.careers-hero-copy__title{
  margin:0;
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:clamp(28px,4.8vw,58px);
  font-weight:400;
  line-height:1.65;
  letter-spacing:.12em;
}
.careers-hero-copy__lead{
  margin:18px 0 0;
  font-size:13px;
  line-height:2;
  letter-spacing:.1em;
}

/* =====================================================
  AKANE CAREERS – Recruitment cards
===================================================== */
.careers-summary{background:#fff;}
.careers-summary .system-card__body{min-height:190px;}
.careers-summary .system-card__meta{line-height:1.9;}
.careers-summary .system-card__sub{line-height:1.8;}
.careers-summary .system-card__details{
  margin:18px 0 0;
  padding-top:16px;
  border-top:1px solid var(--brand-line);
  font-size:12px;
  line-height:2;
  letter-spacing:.06em;
  color:var(--brand-muted);
}
.careers-section-title,
.about-akane__title.careers-section-title{
  margin-left:auto;
  margin-right:auto;
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:clamp(24px,2.65vw,34px);
  font-weight:400;
  line-height:1.65;
  letter-spacing:.1em;
}
.careers-section-title--nowrap{white-space:nowrap;}

.careers-contact{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(28px,5vw,64px);
  margin:48px auto 0;
}
.careers-contact__link{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:8px 0 12px;
  color:var(--brand-ink);
  font-family:var(--font-en,"Cinzel",serif);
  font-size:13px;
  letter-spacing:.1em;
  border-bottom:1px solid var(--brand-accent);
  text-decoration:none;
}
.careers-contact__link i{
  color:var(--brand-accent);
  font-size:22px;
}
.careers-contact__link::after{content:none !important;display:none !important;}
.careers-entry-note{
  max-width:640px;
  margin:0 auto;
  text-align:center;
  font-size:14px;
  line-height:2.2;
  letter-spacing:.08em;
  color:var(--brand-muted);
}

@media(max-width:768px){
  .careers-hero-copy{left:24px;right:24px;bottom:100px;}
  .careers-hero-copy__title{font-size:28px;}
  .careers-hero-copy__lead{font-size:12px;}
  .careers-summary .system-card__body{min-height:0;}
  .careers-section-title,
  .about-akane__title.careers-section-title{
    font-size:clamp(15px,4.2vw,20px);
    letter-spacing:.04em;
  }
  .careers-contact{flex-direction:column;gap:18px;margin-top:36px;}
}

/* =====================================================
  Header (diff)
  - できるだけ !important を使わず「必要最小限」
===================================================== */
#siteHeader.site-header{
  padding-top:12px;
  padding-bottom:12px;
}

#siteHeader{
  background:transparent;
  background-color:transparent;
}

/* scrolledは親header.css側が --header-bg-scrolled で制御できるのが理想。
   現状の互換用としてここは残す（強制が必要なら !important を戻す） */
#siteHeader.is-scrolled{
  background: var(--header-bg-scrolled, #111);
  background-color: var(--header-bg-scrolled, #111);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  border-bottom:0;
}

/* =====================================================
  Logo (diff)
===================================================== */
.site-header__logo img{
  height:38px;
  width:auto;
  display:block;
  image-rendering:-webkit-optimize-contrast;
  transition:opacity .35s ease, transform .35s ease;
}
@media(max-width:768px){
  .site-header__logo img{ height:30px; }
}
.site-header__logo:hover img{
  opacity:.75;
  transform:translateY(1px);
}

/* Fix: header logo double/ghost (必要最小限に圧縮) */
#siteHeader .site-header__logo img:nth-of-type(2),
#siteHeader .site-header__logo picture img:nth-of-type(2),
#siteHeader .site-header__logo .logo-dark,
#siteHeader .site-header__logo .is-dark,
#siteHeader .site-header__logo img.logo-dark,
#siteHeader .site-header__logo img.is-dark{
  display:none;
}

/* =====================================================
  Footer (diff)
===================================================== */
.footer-logo img{
  height:44px;
  width:auto;
}

/* =====================================================
  Default link underline (except controls/buttons)
===================================================== */
.site-content a:not(.vip-btn):not(.system-summary__cta):not(.system-card):not(.site-header__logo):not(.gallery-prev):not(.gallery-next):not(.mv-prev):not(.mv-next){
  position:relative;
  text-decoration:none;
}
.site-content a:not(.vip-btn):not(.system-summary__cta):not(.system-card):not(.site-header__logo):not(.gallery-prev):not(.gallery-next):not(.mv-prev):not(.mv-next)::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-2px;
  width:0;
  height:1px;
  background:var(--brand-accent);
  transition:width .3s ease;
}
.site-content a:not(.vip-btn):not(.system-summary__cta):not(.system-card):not(.site-header__logo):not(.gallery-prev):not(.gallery-next):not(.mv-prev):not(.mv-next):hover::after{
  width:100%;
}

/* =====================================================
  CTA unify (vip-btn / system cta)
  - 親の .vip-btn を “子テーマ差分” で統一
  - bodyクラス依存をやめて、WP標準でも確実に効く
===================================================== */
a.vip-btn,
a.system-summary__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  font-family:var(--font-en,"Cinzel",serif);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;

  color:var(--cta-ink);
  text-decoration:none;

  background:transparent;
  border:0;
  box-shadow:none;

  position:relative;
  padding:10px var(--cta-pad-x) var(--cta-pad-b);

  transition:opacity .35s ease, transform .35s ease;
}

/* underline */
a.vip-btn::after,
a.system-summary__cta::after{
  content:"";
  display:block;
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);

  height:var(--cta-line-h);
  width:calc(100% + var(--cta-overhang));

  background:var(--brand-accent);
  opacity:1;

  transition:opacity .35s ease, width .45s ease;
}

a.vip-btn:hover,
a.system-summary__cta:hover{
  opacity:.72;
  transform:translateY(1px);
}
a.vip-btn:hover::after,
a.system-summary__cta:hover::after{
  width:calc(100% + var(--cta-overhang-hover));
}

/* remove unwanted red lines (TOPカードなどでリンク下線が邪魔な場合) */
.page-home a[href*="vip"]::after,
.page-home a[href*="recruit"]::after,
.page-home a[href*="system"]::after,
.page-home a[href*="company"]::after,
.page-home a[href*="information"]::after,
.system-card__meta .meta-cta::after{
  content:none;
  display:none;
}

/* =====================================================
  TOP – ABOUT stack fix (diff)
===================================================== */
#about .about-akane__body.stack > * + *{
  margin-top:0;
}

/* =====================================================
  Typography (AKANE tuning)
===================================================== */
.about-akane__body{
  width:100%;
  max-width:min(860px,92vw);
  margin:0 auto;
  text-align:center;
}
.about-akane__body p,
.vip-text p{
  font-size:var(--akane-body-size);
  line-height:var(--akane-body-lh);
  letter-spacing:var(--akane-body-track);
  color:var(--brand-muted);
  margin:0;
}
.about-akane__body p + p,
.vip-text p + p{
  margin-top:18px;
}
@media (max-width:768px){
  .about-akane__body p,
  .vip-text p{
    font-size:14px;
    line-height:2.15;
  }
  .about-akane__body p + p,
  .vip-text p + p{
    margin-top:14px;
  }
}

/* Final color lock: parent/legacy child rulesより後で採用色を固定 */
body.akane-careers #siteHeader.site-header,
body.akane-careers #siteHeader.site-header.is-scrolled{
  background:#8f7445;
  background-color:#8f7445;
  border-bottom:0;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body.akane-careers #siteHeader .hamburger span{background:#fff;}
body.akane-careers .site-footer{background:#8f7445;color:rgba(255,255,255,.9);}

/* =====================================================
  VIP (diff)
===================================================== */
.vip{ background:var(--brand-bg); }
.vip-text{
  max-width:640px;
  margin:0 auto 44px;
  text-align:center;
}

/* =====================================================
  Hamburger (diff)
===================================================== */
.site-header__toggle span,
.menu-toggle span,
.hamburger span{
  height:var(--ham-h);
  width:var(--ham-w);
}
.site-header__toggle span + span,
.menu-toggle span + span,
.hamburger span + span{
  margin-top:var(--ham-gap);
}

/* =====================================================
  SYSTEM PAGE – Price Table (AKANE diff)
===================================================== */
.page-system .system-dl{
  max-width:980px;
  border-top:1px solid var(--brand-line);
  text-align:left;
}
.page-system .system-dl__row{
  display:grid;
  grid-template-columns:minmax(240px,1fr) 220px;
  gap:28px;
  padding:18px 0;
  border-bottom:1px solid var(--brand-line);
  align-items:center;
}
.page-system .system-dl dt{
  font-size:14px;
  line-height:2.0;
  letter-spacing:.06em;
  color:color-mix(in srgb, var(--brand-ink) 74%, transparent);
  font-weight:400;
}
.page-system .system-dl dd{
  margin:0;
  text-align:right;
  font-family:var(--font-en,"Cinzel",serif);
  font-size:14px;
  line-height:1.9;
  letter-spacing:.10em;
  color:color-mix(in srgb, var(--brand-ink) 72%, transparent);
  font-variant-numeric:tabular-nums;
}
.page-system .system-h{
  margin-top:56px;
  text-align:center;
  font-family:var(--font-jp,"Cormorant Garamond",serif);
  font-weight:400;
  letter-spacing:.12em;
  color:color-mix(in srgb, var(--brand-ink) 78%, transparent);
}
@media (max-width:768px){
  .page-system .system-dl{ margin-top:34px; }
  .page-system .system-dl__row{
    grid-template-columns:1fr;
    gap:10px;
    padding:14px 0;
  }
  .page-system .system-dl dd{
    text-align:left;
    letter-spacing:.08em;
  }
}

/* =====================================================
  CONTACT – Submit Button (AKANE diff)
  - CTAと同じ思想で統一（underline token寄せ）
===================================================== */
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"],
form input[type="submit"],
form button[type="submit"]{
  background:transparent;
  border:0;
  box-shadow:none;

  font-family:var(--font-en,"Cinzel",serif);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;

  color:var(--cta-ink);
  padding:10px var(--cta-pad-x) var(--cta-pad-b);

  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;
  transition:opacity .35s ease, transform .35s ease;
}

/* underline（CTA token に寄せて統一） */
.wpcf7 input[type="submit"]::after,
.wpcf7 button[type="submit"]::after,
form input[type="submit"]::after,
form button[type="submit"]::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  height:var(--cta-line-h);
  width:calc(100% + var(--cta-overhang));
  background:var(--brand-accent);
  transition:width .35s ease, opacity .35s ease;
}

/* hover */
.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover,
form input[type="submit"]:hover,
form button[type="submit"]:hover{
  opacity:.72;
  transform:translateY(1px);
}
.wpcf7 input[type="submit"]:hover::after,
.wpcf7 button[type="submit"]:hover::after,
form input[type="submit"]:hover::after,
form button[type="submit"]:hover::after{
  width:calc(100% + var(--cta-overhang-hover));
}

/* =====================================================
  CTA hover animation OFF（伸びない / 沈むだけ）
===================================================== */
a.vip-btn::after,
a.system-summary__cta::after,
.wpcf7 input[type="submit"]::after,
.wpcf7 button[type="submit"]::after,
form input[type="submit"]::after,
form button[type="submit"]::after{
  /* widthアニメを殺す */
  transition: opacity .25s ease;
}

/* hover時に幅を変えない（=伸びない） */
a.vip-btn:hover::after,
a.system-summary__cta:hover::after,
.wpcf7 input[type="submit"]:hover::after,
.wpcf7 button[type="submit"]:hover::after,
form input[type="submit"]:hover::after,
form button[type="submit"]:hover::after{
  width: calc(100% + var(--cta-overhang)); /* hoverでも同じ幅に固定 */
}

/* hoverは沈むだけ（今のままでOKなら不要だけど、静かにするなら） */
a.vip-btn:hover,
a.system-summary__cta:hover,
.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover,
form input[type="submit"]:hover,
form button[type="submit"]:hover{
  transform: translateY(1px);
  opacity: .85; /* .72 が強いなら .85 が上品 */
}

/* =====================================================
   CTA – 
===================================================== */
a.system-summary__cta:hover,
a.vip-btn:hover,
a.vip-btn:focus,
a.system-summary__cta:focus{
  background: transparent !important;
  box-shadow: none !important;
}

/* =========================================
   VIP MV Title – Match Top Page Font
========================================= */
.page-vip-room .vip-mv__content h1{
  font-family: var(--font-en, "Cinzel", serif);
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
}

/* =====================================================
  REVEAL
===================================================== */
html.reveal-enabled .js-reveal .reveal-item{
  opacity:0;
  visibility:visible !important;
  transform:none !important;
  filter:none !important;
  transition:opacity 1900ms cubic-bezier(.22,.61,.36,1);
}

html.reveal-enabled .js-reveal.is-inview .reveal-item{
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  filter:none !important;
}

html:not(.reveal-enabled) .reveal-item,
html:not(.reveal-enabled) .company-message__logo{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  filter:none!important;
  transition:none!important;
}

@media (prefers-reduced-motion: reduce){
  .js-reveal .reveal-item{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}

/* =====================================================
  AKANE CAREERS – Top page sections
===================================================== */
.careers-opening-recruit{background:#fff;}
.careers-opening-card{
  max-width:720px;
  margin:0 auto;
  padding:clamp(30px,5vw,54px);
  text-align:left;
  background:#fbfaf7;
  border:1px solid rgba(183,154,99,.38);
}
.careers-opening-card h3{margin:0 0 24px;font-family:var(--font-jp,"Noto Serif JP",serif);font-size:20px;font-weight:400;letter-spacing:.08em;}
.careers-opening-card__gender{margin:0 0 10px;color:var(--brand-muted);font-size:13px;}
.careers-opening-card__hourly{margin:0;color:var(--brand-accent);font-size:26px;font-weight:600;}
.careers-opening-card__salary{margin-top:30px;padding-top:28px;border-top:1px solid rgba(183,154,99,.34);}
.careers-opening-card__salary > p{margin:0 0 18px;color:var(--brand-accent);font-size:14px;}
.careers-opening-card__salary dl,.careers-opening-card__salary dl div{margin:0;}
.careers-opening-card__salary dl div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;}
.careers-opening-card__salary dt{color:var(--brand-muted);font-size:13px;}
.careers-opening-card__salary dd{margin:0;font-size:18px;font-weight:600;}

.careers-place{padding-bottom:44px;background:#fff;}
.careers-place .section-head{text-align:left;}
.careers-place__stat{display:flex;align-items:center;gap:28px;padding:34px 40px;background:#fbfaf7;border:1px solid rgba(183,154,99,.38);}
.careers-place__stat p{margin:0;color:var(--brand-muted);font-size:13px;line-height:2;}
.careers-place__number{flex:0 0 auto;color:var(--brand-accent)!important;font-family:var(--font-en,"Cinzel",serif);font-size:52px!important;line-height:1!important;}
.careers-place__number span{font-size:14px;}
.careers-gallery{padding-top:44px;}

.careers-benefit{background:#f5f0e8;}
.careers-benefit__lead{max-width:760px;margin:0 auto 42px;color:var(--brand-muted);font-size:14px;line-height:2.2;letter-spacing:.06em;}
.careers-calc{max-width:560px;margin:0 auto;padding:38px 34px;background:#fff;border:0;}
.careers-calc__label{margin:0 0 24px;text-align:left;color:var(--brand-accent);font-family:var(--font-en,"Cinzel",serif);font-size:11px;letter-spacing:.16em;}
.careers-calc__row,.careers-calc__total{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0;color:var(--brand-muted);font-size:14px;text-align:left;}
.careers-calc__row{border-bottom:1px solid rgba(183,154,99,.38);}
.careers-calc__row + .careers-calc__row{border-bottom:0;}
.careers-calc__row strong{color:var(--brand-ink);font-family:var(--font-jp,"Noto Serif JP",serif);font-size:16px;font-weight:400;}
.careers-calc__total{margin-top:0;padding-top:26px;border-top:1px solid rgba(183,154,99,.38);color:var(--brand-accent);}
.careers-calc__total strong{color:inherit;font-family:var(--font-en,"Cinzel",serif);font-size:30px;font-weight:400;}
.careers-calc__note{max-width:560px;margin:24px auto 0;color:var(--brand-muted);font-size:12px;line-height:2;text-align:center;}
.careers-job-name{margin:10px 0 16px;font-family:var(--font-jp,"Noto Serif JP",serif);font-size:18px;font-weight:400;letter-spacing:.08em;}

.careers-about{background:#fbfaf7;}
.careers-about .section-head{text-align:left;}
.careers-about__grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:center;gap:clamp(46px,8vw,100px);}
.careers-about__image img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.careers-about__copy{color:var(--brand-muted);font-size:13px;line-height:2.15;letter-spacing:.05em;}
.careers-about__copy p{margin:0;}
.careers-about__copy p + p{margin-top:22px;}
.careers-about__quote{padding-left:26px;border-left:2px solid var(--brand-accent);color:var(--brand-ink);font-family:var(--font-jp,"Noto Serif JP",serif);font-size:21px;line-height:2;}

.careers-flow{background:#fff;}
.careers-flow .section-head{text-align:left;}
.careers-flow__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.careers-flow__card{min-height:280px;padding:42px 30px;border:1px solid var(--brand-line);}
.careers-flow__number{margin:0 0 34px;color:var(--brand-accent);font-family:var(--font-en,"Cinzel",serif);font-size:34px;font-style:italic;}
.careers-flow__card h3{margin:0 0 16px;font-family:var(--font-jp,"Noto Serif JP",serif);font-size:17px;font-weight:500;}
.careers-flow__card > p:last-child{margin:0;color:var(--brand-muted);font-size:13px;line-height:2;}

.careers-closing{position:relative;display:flex;align-items:center;min-height:560px;padding:100px 0;background-image:linear-gradient(rgba(0,0,0,.48),rgba(0,0,0,.48)),var(--careers-closing-image);background-position:center;background-size:cover;color:#fff;}
.careers-closing__inner{position:relative;z-index:1;}
.careers-closing .eyebrow{color:rgba(255,255,255,.72);}
.careers-closing .careers-section-title{margin-top:22px;color:#fff;font-size:clamp(27px,3.5vw,44px);}
.careers-closing__inner > p:not(.eyebrow){margin:24px 0 0;color:rgba(255,255,255,.78);font-size:13px;}
.careers-closing__buttons{display:flex;justify-content:center;gap:18px;margin-top:36px;}
.careers-closing__buttons a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:220px;padding:15px 24px;border:1px solid rgba(255,255,255,.8);color:#fff;text-decoration:none;}
.careers-closing__buttons a:first-child{background:var(--brand-accent);border-color:var(--brand-accent);}
.careers-closing__buttons a::after{content:none!important;display:none!important;}

@media(max-width:768px){
  .careers-opening-card__salary dl div{align-items:baseline;}
  .careers-place__stat{display:block;padding:28px 24px;}
  .careers-place__number{margin-bottom:20px!important;}
  .careers-about__grid,.careers-flow__grid{grid-template-columns:1fr;}
  .careers-about__grid{gap:36px;}
  .careers-about__quote{font-size:18px;}
  .careers-flow__card{min-height:0;padding:30px 24px;}
  .careers-flow__number{margin-bottom:22px;}
  .careers-closing{min-height:500px;padding:80px 0;}
  .careers-closing__buttons{flex-direction:column;align-items:center;}
  .careers-closing__buttons a{width:min(100%,280px);}
}

/* =====================================================
  AKANE CAREERS – Menu / Footer social links
===================================================== */
.site-menu__social{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  margin-top:38px;
  padding-top:28px;
  border-top:1px solid rgba(183,154,99,.28);
}
.site-menu__social a{
  color:var(--brand-accent-deep);
  font-family:var(--font-en,"Cinzel",serif);
  font-size:11px;
  letter-spacing:.18em;
  text-decoration:none;
  transition:opacity .3s ease;
}
.site-menu__social a:hover{opacity:.58;}

.careers-footer-sns{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  margin:32px 0;
}
.careers-footer-sns a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  color:#fff;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  text-decoration:none;
  transition:background .3s ease,border-color .3s ease,opacity .3s ease;
}
.careers-footer-sns a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.8);}
.careers-footer-sns i{font-size:16px;}

@media(max-width:768px){
  .site-menu__social{gap:20px;margin-top:28px;padding-top:24px;}
  .site-menu__social a{font-size:10px;}
  .careers-footer-sns{margin:28px 0;}
}

/* =====================================================
  AKANE CAREERS – Requirements two columns
===================================================== */
.careers-requirements-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
}
.careers-requirements-card{
  padding:clamp(36px,5vw,56px);
  background:#fff;
  border:1px solid var(--brand-line);
}
.careers-requirements-card > .eyebrow{margin:0 0 26px;color:var(--brand-accent);}
.careers-requirements-card h3{margin:0 0 34px;font-family:var(--font-jp,"Noto Serif JP",serif);font-size:23px;font-weight:500;letter-spacing:.08em;}
.careers-requirements-price{margin:0 0 26px;color:var(--brand-ink);font-family:var(--font-jp,"Noto Serif JP",serif);font-size:14px;}
.careers-requirements-price strong{margin-right:5px;color:var(--brand-accent);font-family:var(--font-en,"Cinzel",serif);font-size:38px;font-weight:400;}
.careers-requirements-description{margin:0;color:var(--brand-muted);font-size:13px;line-height:2.1;letter-spacing:.05em;}
.careers-requirements-detail{margin-top:28px;padding-top:24px;border-top:1px dashed var(--brand-line);}
.careers-requirements-detail h4{margin:0 0 6px;font-size:13px;font-weight:600;}
.careers-requirements-detail h4:not(:first-child){margin-top:20px;}
.careers-requirements-detail p{margin:0;color:var(--brand-muted);font-size:12px;line-height:1.9;}
.careers-staff-salary{margin:0 0 26px;}
.careers-staff-salary div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:8px 0;}
.careers-staff-salary dt{color:var(--brand-muted);font-size:12px;}
.careers-staff-salary dd{margin:0;font-family:var(--font-jp,"Noto Serif JP",serif);font-size:17px;}
.careers-perks{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:24px 0 0;border-top:1px dashed var(--brand-line);list-style:none;}
.careers-perks li{padding:8px 14px;border:1px solid rgba(183,154,99,.42);border-radius:999px;color:var(--brand-ink);font-size:11px;line-height:1;}

@media(max-width:768px){
  .careers-requirements-grid{grid-template-columns:1fr;gap:20px;}
  .careers-requirements-card{padding:32px 24px;}
  .careers-requirements-card h3{font-size:21px;margin-bottom:28px;}
  .careers-requirements-price strong{font-size:34px;}
}

/* =====================================================
  AKANE CAREERS – AMAN TOKYO inspired precision system
===================================================== */
:root{
  --font-en:"Cormorant Garamond",serif;
  --font-jp:"Cormorant Garamond","Noto Serif JP",serif;
  --brand-ink:#292722;
  --brand-deep:#24231f;
  --brand-muted:#6a665e;
  --brand-line:rgba(41,39,34,.16);
  --brand-bg:#f4f1eb;
  --brand-surface:#f8f6f1;
  --brand-accent:#9a825c;
  --brand-accent-deep:#766344;
  --brand-main:#8b7652;
  --page-shell:1400px;
  --page-gutter:60px;
  --sec-y:132px;
  --sec-y-sm:88px;
  --fz-body:14px;
  --lh-body:2.2;
  --ls-body:.055em;
}

body{background:var(--brand-bg);color:var(--brand-ink);font-family:var(--font-jp);}

/* Headerと全セクションを同一グリッドへ */
.site-header__inner,
.careers-home > section > .container,
.careers-home > section > .careers-closing__inner,
.footer-inner{
  width:100%;
  max-width:var(--page-shell);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--page-gutter);
  padding-right:var(--page-gutter);
}
.careers-home > section > .container.narrow{max-width:var(--page-shell);}

body.akane-careers #siteHeader.site-header,
body.akane-careers #siteHeader.site-header.is-scrolled{
  background:#ebe6dc;
  background-color:#ebe6dc;
}
body.akane-careers #siteHeader .careers-header-logo{display:block;position:static;opacity:1;transform:none;}
body.akane-careers #siteHeader .hamburger span{background:var(--brand-ink);}
body.akane-careers .site-footer{background:#f0ece4;color:var(--brand-ink);}
body.akane-careers .site-footer{padding-left:0;padding-right:0;}
body.akane-careers .site-footer{
  --footer-ink:rgba(41,39,34,.76);
  --footer-muted:rgba(41,39,34,.54);
  --footer-link:rgba(41,39,34,.78);
  --footer-link-hover:#292722;
  --footer-nav:rgba(41,39,34,.72);
  --footer-nav-hover:#292722;
}
.careers-hero-copy{
  left:max(var(--page-gutter),calc((100vw - var(--page-shell))/2 + var(--page-gutter)));
  right:max(var(--page-gutter),calc((100vw - var(--page-shell))/2 + var(--page-gutter)));
}

.careers-home .section,
.careers-home .system-summary{padding-top:var(--sec-y);padding-bottom:var(--sec-y);}
.careers-home .section-head{margin:0 0 54px;text-align:left;}
.careers-home .section-head .eyebrow{display:block;margin:0 0 18px;color:var(--brand-accent);font-family:var(--font-en);font-size:11px;font-style:normal;font-weight:400;letter-spacing:.28em;}
.careers-home .careers-section-title,
.careers-home .about-akane__title.careers-section-title{
  margin:0;
  color:var(--brand-ink);
  font-family:var(--font-jp);
  font-size:clamp(27px,2.35vw,38px);
  font-weight:400;
  line-height:1.6;
  letter-spacing:.07em;
  text-align:left;
}
.careers-home .about-akane__body{max-width:760px;margin:0;text-align:left;}
.careers-home .about-akane__body p{font-size:14px;line-height:2.25;letter-spacing:.055em;}
.careers-home .about-akane__body p + p{margin-top:18px;}

.careers-opening-recruit,
.careers-place,
.careers-gallery,
.careers-flow{background:#f8f6f1;}
.careers-home .careers-flow{padding-bottom:64px!important;}
.careers-home .careers-place{padding-bottom:54px!important;}
.careers-home #gallery.careers-gallery{padding-top:0!important;background:#f8f6f1;}
.about-akane,.careers-summary{background:#f4f1eb;}
.careers-benefit{background:#f0ece4;}
.careers-about{background:#f0ece4;}

.careers-opening-card,.careers-place__stat,.careers-requirements-card,.careers-flow__card{
  border:1px solid var(--brand-line);
  border-radius:0;
  box-shadow:none;
}
.careers-opening-card{max-width:none;background:transparent;}
.careers-opening-card__hourly,.careers-opening-card__salary > p,.careers-place__number,.careers-calc__label,.careers-calc__total,.careers-flow__number{color:var(--brand-accent-deep)!important;}
.careers-place__stat{background:transparent;}
.careers-gallery{padding-top:0!important;}
.careers-benefit__lead{max-width:780px;margin-left:0;text-align:left;}
.careers-calc{max-width:680px;margin-left:0;background:var(--brand-surface);}
.careers-calc__note{max-width:680px;margin-left:0;text-align:left;}
.careers-requirements-card{background:transparent;}
.careers-perks li{border-color:var(--brand-line);border-radius:0;}
.careers-contact{justify-content:flex-start;}
.careers-contact__link{border-bottom:1px solid var(--brand-accent);font-family:var(--font-jp);font-size:12px;font-weight:400;letter-spacing:.08em;}
.careers-contact__link i{color:var(--brand-accent-deep);font-size:16px;}

.careers-about__image img{border-radius:0;}
.careers-about__quote{border-left:1px solid #6b0000;}
.careers-flow__card{background:transparent;}

.careers-closing{min-height:0;padding:48px 0 112px;background:#f8f6f1;background-image:none;color:var(--brand-ink);}
.careers-closing .careers-section-title{color:var(--brand-ink);text-align:center;font-size:clamp(28px,3vw,42px);}
.careers-closing .eyebrow{color:var(--brand-accent-deep);}
.careers-closing__inner > p:not(.eyebrow){color:var(--brand-muted);}
.careers-closing__buttons a{
  min-width:240px;
  padding:16px 28px;
  border:1px solid var(--brand-line);
  border-radius:0;
  background:transparent;
  font-family:var(--font-jp);
  font-size:12px;
  letter-spacing:.08em;
  transition:background-color .35s ease,color .35s ease,border-color .35s ease;
}
.careers-closing__buttons a{color:var(--brand-ink);}
.careers-closing__buttons a:first-child{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff;}
.careers-closing__buttons a:hover{background:var(--brand-accent-deep);border-color:var(--brand-accent-deep);color:#fff;transform:none;opacity:1;}

.site-menu__social{border-top-color:var(--brand-line);}
.site-menu__social a{color:var(--brand-ink);font-family:var(--font-en);font-size:12px;}
.careers-footer-sns a{width:auto;height:auto;border:0;border-radius:0;color:var(--brand-ink);}
.careers-footer-sns a:hover{background:transparent;border:0;opacity:1;transform:none;}
.careers-footer-sns i{font-size:15px;}

@media(max-width:768px){
  :root{--page-gutter:28px;--sec-y:88px;}
  .site-header__inner,
  .careers-home > section > .container,
  .careers-home > section > .careers-closing__inner,
  .footer-inner{padding-left:var(--page-gutter);padding-right:var(--page-gutter);}
  .careers-home .section-head{margin-bottom:38px;}
  .careers-home .careers-section-title,
  .careers-home .about-akane__title.careers-section-title{font-size:clamp(22px,6.2vw,28px);line-height:1.65;letter-spacing:.05em;}
  .careers-section-title--nowrap{font-size:clamp(15px,4.2vw,20px)!important;}
  .careers-contact{align-items:flex-start;}
  .careers-closing__buttons{width:100%;}
}

/* Parent themeの全幅指定を解除し、ヘッダーと完全に同じ基準線へ */
.careers-home > .system-summary > .container{
  width:100%!important;
  max-width:var(--page-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--page-gutter)!important;
  padding-right:var(--page-gutter)!important;
}
.careers-home > .system-summary .section-head,
.careers-home > .system-summary .careers-requirements-grid,
.careers-home > .system-summary .careers-contact{
  width:100%!important;
  max-width:none!important;
  margin-left:0;
  margin-right:0;
}
.careers-home > .system-summary .section-head{align-items:flex-start!important;text-align:left!important;}
.careers-home > #gallery .gallery-stage{padding-left:0;padding-right:0;}

/* ONLY IN AKANE: PC 2 columns / SP stacked */
.careers-benefit__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:clamp(56px,7vw,112px);
}
.careers-benefit__copy,.careers-benefit__example{min-width:0;}
.careers-benefit__copy .section-head{margin-bottom:38px;}
.careers-benefit__lead{max-width:none;margin:0;}
.careers-benefit__example .careers-calc{width:100%;max-width:none;margin:0;}
.careers-benefit__example .careers-calc__note{max-width:none;margin:22px 0 0;}

@media(max-width:768px){
  .careers-benefit__grid{grid-template-columns:1fr;gap:42px;}
  .careers-benefit__example{grid-column:1;}
  .careers-flow{padding-bottom:40px!important;}
  .careers-closing{padding:36px 0 80px;}
  .careers-home .careers-place{padding-bottom:38px!important;}
}

/* =====================================================
  AKANE CAREERS – Final typography & rhythm lock
===================================================== */
:root{
  --ak-shell:1400px;
  --ak-edge:60px;
  --ak-section-y:112px;
  --ak-head-gap:48px;
  --ak-grid-gap:28px;
  --ak-card-pad:44px;
  --ak-eyebrow-size:11px;
  --ak-title-size:34px;
  --ak-body-size:14px;
  --ak-meta-size:12px;
  --ak-body-line:2.2;
}

.site-header__inner,
.careers-home > section > .container,
.careers-home > .system-summary > .container,
.footer-inner{
  width:100%!important;
  max-width:var(--ak-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--ak-edge)!important;
  padding-right:var(--ak-edge)!important;
}

.careers-hero-copy{
  left:max(var(--ak-edge),calc((100vw - var(--ak-shell))/2 + var(--ak-edge)));
  right:max(var(--ak-edge),calc((100vw - var(--ak-shell))/2 + var(--ak-edge)));
}

.careers-home .section,
.careers-home .system-summary{
  padding-top:var(--ak-section-y)!important;
  padding-bottom:var(--ak-section-y)!important;
}

.careers-home .section-head,
.careers-home > .system-summary .section-head{
  width:100%!important;
  max-width:none!important;
  margin:0 0 var(--ak-head-gap)!important;
  text-align:left!important;
  align-items:flex-start!important;
}

.careers-home .section-head .eyebrow,
.careers-home .careers-closing .eyebrow{
  margin:0 0 18px!important;
  font-family:var(--font-en)!important;
  font-size:var(--ak-eyebrow-size)!important;
  font-weight:400!important;
  line-height:1!important;
  letter-spacing:.28em!important;
}

.careers-home .careers-section-title,
.careers-home .about-akane__title.careers-section-title,
.careers-home .careers-closing .careers-section-title{
  margin:0!important;
  font-family:var(--font-jp)!important;
  font-size:var(--ak-title-size)!important;
  font-weight:400!important;
  line-height:1.65!important;
  letter-spacing:.065em!important;
}

.careers-home p,
.careers-home dt,
.careers-home dd,
.careers-home li{
  font-family:var(--font-jp);
}
.careers-home .about-akane__body p,
.careers-benefit__lead,
.careers-requirements-description,
.careers-about__copy,
.careers-flow__card > p:last-child{
  font-size:var(--ak-body-size)!important;
  line-height:var(--ak-body-line)!important;
  letter-spacing:.055em!important;
}

.careers-opening-card,
.careers-calc,
.careers-requirements-card,
.careers-flow__card{
  padding:var(--ak-card-pad)!important;
}
.careers-requirements-grid,
.careers-flow__grid{gap:var(--ak-grid-gap)!important;}
.careers-requirements-card h3,
.careers-about__quote,
.careers-flow__card h3{
  font-size:20px!important;
  font-weight:400!important;
  line-height:1.75!important;
  letter-spacing:.06em!important;
}

.careers-home .careers-place{padding-bottom:48px!important;}
.careers-home #gallery.careers-gallery{padding-top:0!important;padding-bottom:var(--ak-section-y)!important;}
.careers-home .careers-flow{padding-bottom:36px!important;}
.careers-home .careers-closing{padding:36px 0 var(--ak-section-y)!important;}
.careers-closing .careers-section-title{text-align:center!important;}
.careers-closing__inner > p{text-align:center;}

.careers-contact__link,
.careers-closing__buttons a,
.site-menu__social a,
.footer-menu a{
  font-size:var(--ak-meta-size)!important;
  font-weight:400!important;
  letter-spacing:.1em!important;
}

@media(max-width:768px){
  :root{
    --ak-edge:28px;
    --ak-section-y:80px;
    --ak-head-gap:36px;
    --ak-grid-gap:18px;
    --ak-card-pad:28px;
    --ak-title-size:20px;
    --ak-body-size:13px;
    --ak-pay-size:clamp(17px,5vw,20px);
    --ak-pay-feature-size:clamp(20px,6vw,24px);
  }

  .careers-home .careers-section-title,
  .careers-home .about-akane__title.careers-section-title,
  .careers-home .careers-closing .careers-section-title{
    font-size:clamp(13px,4vw,18px)!important;
    line-height:1.55!important;
    letter-spacing:.025em!important;
    white-space:nowrap;
  }

  .careers-home .careers-section-title--nowrap{
    font-size:clamp(13px,4vw,18px)!important;
    letter-spacing:.025em!important;
    white-space:nowrap;
  }

  .careers-hero-copy__title,
  .careers-place__number,
  .careers-flow__number{
    font-size:clamp(20px,6vw,24px)!important;
  }

  html.reveal-enabled .careers-home .careers-section-title{
    opacity:0!important;
    letter-spacing:.025em!important;
    transition:opacity 1600ms cubic-bezier(.22,.61,.36,1);
  }

  html.reveal-enabled .careers-home .js-reveal.is-inview .careers-section-title{
    opacity:1!important;
    letter-spacing:.025em!important;
  }

  .careers-home .careers-place{padding-bottom:34px!important;}
  .careers-home .careers-flow{padding-bottom:28px!important;}
  .careers-home .careers-closing{padding:28px 0 var(--ak-section-y)!important;}
  .careers-requirements-card h3,
  .careers-flow__card h3{font-size:18px!important;}

  .careers-about__quote{
    font-size:clamp(13px,4vw,18px)!important;
    line-height:1.55!important;
    letter-spacing:.025em!important;
  }

  .careers-opening-card__hourly,
  .careers-opening-card__salary dd,
  .careers-calc__row strong,
  .careers-calc__total strong,
  .careers-requirements-price,
  .careers-staff-salary dd{
    font-family:var(--font-jp,"Noto Serif JP",serif)!important;
    font-size:var(--ak-pay-size)!important;
    font-weight:400!important;
    line-height:1.5!important;
    letter-spacing:.025em!important;
    white-space:nowrap;
  }

  .careers-opening-card__hourly{
    color:var(--brand-accent-deep)!important;
    font-size:var(--ak-pay-feature-size)!important;
  }

  .careers-requirements-price{
    color:var(--brand-accent-deep)!important;
    font-size:var(--ak-pay-feature-size)!important;
  }
}

@media(max-width:768px) and (prefers-reduced-motion:reduce){
  .careers-home .careers-section-title{
    opacity:1!important;
    letter-spacing:.025em!important;
    transition:none;
  }
}

/* =====================================================
  AKANE CAREERS – Salary emphasis lock
  同じ給与情報は同じ書体・サイズ・カラーで表示
===================================================== */
.careers-home .careers-opening-card__hourly,
.careers-home .careers-requirements-price{
  color:var(--brand-accent-deep)!important;
  font-family:var(--font-jp,"Noto Serif JP",serif)!important;
  font-size:26px!important;
  font-weight:400!important;
  line-height:1.5!important;
  letter-spacing:.025em!important;
  white-space:nowrap;
}

@media(max-width:768px){
  .careers-home .careers-opening-card__hourly,
  .careers-home .careers-requirements-price{
    font-size:clamp(20px,6vw,24px)!important;
  }
}

/* =====================================================
  AKANE CAREERS – Gallery navigation typography
  works07 / Inside the Space と同じ英数字設定
===================================================== */
#gallery .gallery-prev,
#gallery .gallery-next{
  font-family:var(--font-en,"Cormorant Garamond",serif)!important;
  font-size:10px!important;
  font-weight:400!important;
  letter-spacing:.18em!important;
}

#gallery .gallery-fraction{
  font-family:var(--font-en,"Cormorant Garamond",serif)!important;
  font-size:11px!important;
  font-weight:400!important;
  letter-spacing:.18em!important;
  font-variant-numeric:normal!important;
  font-feature-settings:normal!important;
}

/* =====================================================
  AKANE CAREERS – Footer policy visibility
===================================================== */
body.akane-careers .footer-policy{
  color:rgba(41,39,34,.68)!important;
  font-family:var(--font-en,"Cormorant Garamond",serif)!important;
  font-size:10px!important;
  font-weight:400!important;
  letter-spacing:.20em!important;
}

body.akane-careers .footer-policy a{
  color:inherit!important;
  opacity:1!important;
  transition:color .3s ease!important;
}

body.akane-careers .footer-policy a:hover{
  color:inherit!important;
  opacity:1!important;
}

body.akane-careers .footer-policy .footer-divider{
  opacity:.55!important;
}

/* =====================================================
  AKANE CAREERS – Desktop surface grain
  Retinaの広い余白にだけ、ごく薄い印刷紙の質感を加える
===================================================== */
@media(min-width:769px){
  body.akane-careers::after{
    content:"";
    position:fixed;
    inset:0;
    z-index:9998;
    pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128' viewBox='0 0 128 128'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='128' height='128' filter='url(%23grain)' opacity='.52'/%3E%3C/svg%3E");
    background-repeat:repeat;
    background-size:128px 128px;
    opacity:.018;
    mix-blend-mode:multiply;
  }
}

@media print, (forced-colors:active){
  body.akane-careers::after{
    display:none;
  }
}

/* Gallery slider only: release the shared content shell. */
.careers-home > #gallery > .container.narrow{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

.careers-home > #gallery .gallery-stage{
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Footer official-site link. */
.careers-footer-official{
  margin:-12px 0 32px;
  text-align:center;
}

.careers-footer-official a{
  display:inline-block;
  padding:0 0 8px;
  border-bottom:1px solid var(--brand-accent);
  color:var(--brand-ink);
  font-family:var(--font-jp);
  font-size:var(--ak-meta-size);
  font-weight:400;
  line-height:1.5;
  letter-spacing:.1em;
  text-decoration:none;
}

/* Full-screen menu: align social links to the navigation width. */
.site-menu__social{
  position:static;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:118px;
  margin:28px auto 0!important;
  padding-top:0!important;
  border-top:0!important;
}

.site-menu__social a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  color:rgba(255,255,255,.82)!important;
  text-decoration:none;
}

.site-menu__social i{
  font-size:17px;
  line-height:1;
}

body.akane-careers .footer-info__tel,
body.akane-careers .footer-info__recruit,
body.akane-careers .footer-info__line,
body.akane-careers .footer-info__tel a,
body.akane-careers .footer-info__recruit a,
body.akane-careers .footer-info__line a{
  color:#292722!important;
  font-weight:500;
}

.careers-opening-card__salary > p{
  margin-bottom:18px;
  color:var(--brand-ink)!important;
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:20px!important;
  font-weight:400;
  line-height:1.5;
  letter-spacing:.08em;
}

/* Soften the black logos against the warm beige chrome. */
body.akane-careers .careers-header-logo,
body.akane-careers .footer-logo img{
  opacity:.76;
}


/* =====================================================
  MOBILE FIXED CTA
===================================================== */

.careers-mobile-cta{
  display:none;
}

@media (max-width: 767px){
  .careers-mobile-cta{
    position:fixed;
    z-index:900;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    justify-content:center;
    padding:10px var(--page-gutter,28px) calc(10px + env(safe-area-inset-bottom));
    background:transparent;
    opacity:0;
    visibility:hidden;
    transform:translate3d(0,100%,0);
    pointer-events:none;
    transition:
      transform .48s cubic-bezier(.22,1,.36,1),
      opacity .32s ease,
      visibility .32s ease;
  }

  .careers-mobile-cta.is-visible{
    opacity:1;
    visibility:visible;
    transform:translate3d(0,0,0);
    pointer-events:auto;
  }

  .careers-mobile-cta__link{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    width:100%;
    min-height:50px;
    padding:12px 20px;
    border:0;
    background:#313131;
    color:#f3eee7;
    font-family:var(--font-jp,"Noto Serif JP",serif);
    font-size:13px;
    font-weight:400;
    line-height:1.4;
    letter-spacing:.08em;
    text-align:center;
    text-decoration:none;
  }

  .careers-mobile-cta__link::after{
    content:none!important;
    display:none!important;
  }

  .careers-mobile-cta__link i{
    flex:0 0 auto;
    color:#f3eee7;
    font-size:18px;
  }

  .careers-mobile-cta__link:hover,
  .careers-mobile-cta__link:focus-visible{
    background:#414141;
    color:#f3eee7;
    opacity:1;
    transform:none;
  }
}

.careers-closing__buttons a:first-child{
  background:#313131!important;
  border-color:#313131!important;
  color:#f3eee7!important;
}

.careers-closing__buttons a:first-child:hover,
.careers-closing__buttons a:first-child:focus-visible{
  background:#414141!important;
  border-color:#414141!important;
  color:#f3eee7!important;
  opacity:1!important;
  transform:none!important;
}

.careers-closing__buttons a:nth-child(2):hover,
.careers-closing__buttons a:nth-child(2):focus-visible{
  background:#414141!important;
  border-color:#414141!important;
  color:#f3eee7!important;
  opacity:1!important;
  transform:none!important;
}

@media (prefers-reduced-motion: reduce){
  .careers-mobile-cta{
    transition:none;
  }
}

/* Header state: transparent/white at top, warm beige/ink after scroll. */
body.akane-careers #siteHeader.site-header:not(.is-scrolled){
  background:transparent!important;
  background-color:transparent!important;
  border-bottom-color:transparent!important;
}

body.akane-careers #siteHeader.site-header:not(.is-scrolled) .careers-header-logo{
  filter:brightness(0) invert(1);
  opacity:1;
}

body.akane-careers #siteHeader.site-header:not(.is-scrolled) .hamburger span{
  background:#fff!important;
}

body.akane-careers #siteHeader.site-header.is-scrolled{
  background:rgba(244,241,235,.74)!important;
  background-color:rgba(244,241,235,.74)!important;
  border-bottom-color:transparent!important;
  backdrop-filter:blur(18px) saturate(110%);
  -webkit-backdrop-filter:blur(18px) saturate(110%);
  box-shadow:0 8px 28px rgba(41,39,34,.035);
}

body.akane-careers #siteHeader.site-header.is-scrolled .careers-header-logo{
  filter:none;
  opacity:.76;
}

body.akane-careers #siteHeader.site-header.is-scrolled .hamburger span{
  background:var(--brand-ink)!important;
}

body.akane-careers #siteHeader.site-header,
body.akane-careers #siteHeader .careers-header-logo,
body.akane-careers #siteHeader .hamburger span{
  transition:background-color .52s cubic-bezier(.16,1,.3,1),filter .38s ease,opacity .38s ease;
}

@media(max-width:768px){
  .site-menu__social{
    width:118px;
    margin:24px auto 0!important;
    gap:0!important;
  }

  body.akane-careers .site-footer{
    padding-left:0!important;
    padding-right:0!important;
  }

  body.akane-careers .footer-nav,
  body.akane-careers .footer-menu{
    width:100%!important;
  }

  body.akane-careers .footer-menu{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px!important;
    row-gap:22px!important;
  }

  body.akane-careers .footer-menu li,
  body.akane-careers .footer-menu a{
    width:100%;
    text-align:center;
  }

  .careers-home .careers-contact{
    width:100%!important;
    align-items:stretch!important;
    gap:14px!important;
  }

  .careers-home .careers-contact__link{
    width:100%!important;
    min-height:52px;
    justify-content:flex-start;
    padding:12px 0!important;
  }

  .careers-footer-official{margin:-8px 0 28px;}

  /* SP gallery: match the shared 28px site grid without cropping. */
  .careers-home > #gallery .gallery-stage{
    padding-right:var(--ak-edge)!important;
    padding-left:var(--ak-edge)!important;
  }

  .careers-home > #gallery .gallery-swiper .swiper-slide{
    width:calc(100vw - (var(--ak-edge) * 2))!important;
    transform:none!important;
  }

  .careers-home > #gallery .gallery-swiper .swiper-slide img,
  .careers-home > #gallery .gallery-swiper .swiper-slide.swiper-slide-active img{
    width:100%!important;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    transform:none!important;
  }

  .careers-home > #gallery .gallery-ui{
    padding-right:var(--ak-edge)!important;
    padding-left:var(--ak-edge)!important;
  }
}


/* =====================================================
   PRIVACY POLICY
===================================================== */

.privacy-policy-page{
  background:var(--brand-bg);
  color:var(--brand-ink);
}


/* =====================================================
   HERO
===================================================== */

.privacy-policy-hero{
  padding:140px 0 72px;
  background:var(--brand-bg);
}

.privacy-policy-hero .container{
  width:100%;
  max-width:var(--ak-shell);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--ak-edge);
  padding-right:var(--ak-edge);
}

.privacy-policy-hero .eyebrow{
  margin:0 0 20px;
  color:var(--brand-accent);
  font-family:var(--font-en,"Cormorant Garamond",serif);
  font-size:var(--ak-eyebrow-size);
  font-weight:400;
  line-height:1;
  letter-spacing:.28em;
}

.privacy-policy-title{
  margin:0;
  color:var(--brand-ink);
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:clamp(28px,3vw,42px);
  font-weight:400;
  line-height:1.5;
  letter-spacing:.08em;
}


/* =====================================================
   CONTENT
===================================================== */

.privacy-policy-content{
  padding:0 0 120px;
}

.privacy-policy-content .container{
  width:100%;
  max-width:var(--ak-shell);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--ak-edge);
  padding-right:var(--ak-edge);
}

.privacy-policy-body{
  max-width:900px;
  margin:0 auto;
  padding:64px 72px 72px;
  background:var(--brand-surface);
}


/* =====================================================
   SECTION
===================================================== */

.privacy-policy-section{
  margin:0 0 56px;
}

.privacy-policy-section:last-child{
  margin-bottom:0;
}

.privacy-policy-section h2{
  margin:0 0 22px;
  padding-bottom:14px;
  border-bottom:1px solid var(--brand-line);
  color:var(--brand-ink);
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:18px;
  font-weight:400;
  line-height:1.7;
  letter-spacing:.06em;
}

.privacy-policy-section p{
  margin:0 0 18px;
  color:var(--brand-muted);
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:14px;
  font-weight:400;
  line-height:2.2;
  letter-spacing:.035em;
}

.privacy-policy-section p:last-child{
  margin-bottom:0;
}

.privacy-policy-section ul{
  margin:22px 0 0;
  padding:0 0 0 1.4em;
}

.privacy-policy-section li{
  margin:0 0 10px;
  color:var(--brand-muted);
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:14px;
  font-weight:400;
  line-height:2;
  letter-spacing:.035em;
}

.privacy-policy-section li:last-child{
  margin-bottom:0;
}


/* =====================================================
   CONTACT
===================================================== */

.privacy-policy-contact{
  margin-top:28px;
  padding:28px 32px;
  border:1px solid var(--brand-line);
}

.privacy-policy-contact p{
  margin-bottom:10px;
}

.privacy-policy-contact p:last-child{
  margin-bottom:0;
}

.privacy-policy-contact a{
  color:inherit;
  text-decoration:none;
  transition:opacity .3s ease;
}

.privacy-policy-contact a:hover{
  opacity:.6;
}


/* =====================================================
   DATE
===================================================== */

.privacy-policy-section--date{
  margin-top:72px;
  padding-top:24px;
  border-top:1px solid var(--brand-line);
}

.privacy-policy-section--date p{
  font-size:12px;
  text-align:right;
}


/* =====================================================
   SP
===================================================== */

@media(max-width:768px){

  .privacy-policy-hero{
    padding:110px 0 52px;
  }

  .privacy-policy-hero .eyebrow{
    margin-bottom:16px;
  }

  .privacy-policy-title{
    font-size:26px;
    line-height:1.6;
  }


  .privacy-policy-content{
    padding-bottom:80px;
  }

  .privacy-policy-body{
    padding:42px 24px 48px;
  }


  .privacy-policy-section{
    margin-bottom:44px;
  }

  .privacy-policy-section h2{
    margin-bottom:18px;
    padding-bottom:12px;
    font-size:16px;
    line-height:1.8;
  }

  .privacy-policy-section p{
    margin-bottom:16px;
    font-size:13px;
    line-height:2.1;
  }

  .privacy-policy-section li{
    font-size:13px;
    line-height:2;
  }


  .privacy-policy-contact{
    margin-top:24px;
    padding:22px 20px;
  }


  .privacy-policy-section--date{
    margin-top:56px;
  }

  .privacy-policy-section--date p{
    font-size:11px;
    text-align:left;
  }

}

/* =====================================================
   AKANE CAREERS – Work information rows
   FLOOR LADY / STAFF 勤務条件
===================================================== */

.careers-work-info{
  margin-top:28px;
  border-top:1px solid var(--brand-line);
  border-bottom:1px solid var(--brand-line);
}

.careers-work-info dl{
  margin:0;
}

.careers-work-info dl > div{
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(0,1.2fr);
  gap:28px;
  align-items:center;
  padding:22px 0;
}

.careers-work-info dl > div + div{
  border-top:1px solid var(--brand-line);
}

.careers-work-info dt,
.careers-work-info dd{
  margin:0;
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:13px;
  font-weight:400;
  line-height:1.9;
  letter-spacing:.055em;
}

.careers-work-info dt{
  color:var(--brand-ink);
}

.careers-work-info dd{
  color:var(--brand-muted);
}

/* フロアレディ：勤務条件と各種バックの間隔 */
.careers-work-info + .careers-requirements-detail{
  margin-top:28px;
}

/* スタッフ：勤務条件と福利厚生の間隔 */
.careers-work-info + .careers-perks{
  margin-top:28px;
}

@media(max-width:768px){
  .careers-work-info{
    margin-top:24px;
  }

  .careers-work-info dl > div{
    grid-template-columns:1fr;
    gap:8px;
    padding:18px 0;
  }

  .careers-work-info dt,
  .careers-work-info dd{
    font-size:12px;
    line-height:1.9;
  }

  .careers-work-info + .careers-requirements-detail,
  .careers-work-info + .careers-perks{
    margin-top:24px;
  }
}

/* =====================================================
   AKANE CAREERS – Requirements rhythm fix
   区切り線・余白統一
===================================================== */

/* 勤務条件 */
.careers-work-info{
  margin-top:28px;
  border-top:1px solid var(--brand-line);
  border-bottom:1px solid var(--brand-line);
}

.careers-work-info dl{
  margin:0;
}

.careers-work-info dl > div{
  padding:22px 0;
}

.careers-work-info dl > div + div{
  border-top:1px solid var(--brand-line);
}


/* FLOOR LADY：各種バック・各種スライド */
.careers-requirements-detail{
  margin-top:0;
  padding-top:0;
  border-top:0;
}

.careers-requirements-detail h4{
  margin:0;
  padding-top:22px;
}

.careers-requirements-detail p{
  margin:0;
  padding:14px 0 22px;
}

/* 各種バック → 各種スライドの区切り */
.careers-requirements-detail h4:not(:first-child){
  margin-top:0;
  border-top:1px solid var(--brand-line);
}


/* STAFF：福利厚生 */
.careers-perks{
  margin-top:0;
  padding-top:22px;
  border-top:0;
}


/* 勤務条件の直後 */
.careers-work-info + .careers-requirements-detail,
.careers-work-info + .careers-perks{
  margin-top:0;
}


/* =====================================================
   SP
===================================================== */

@media(max-width:768px){

  .careers-work-info{
    margin-top:24px;
  }

  .careers-work-info dl > div{
    padding:20px 0;
  }

  .careers-requirements-detail h4{
    padding-top:20px;
  }

  .careers-requirements-detail p{
    padding:12px 0 20px;
  }

  .careers-perks{
    padding-top:20px;
  }

  .careers-work-info + .careers-requirements-detail,
  .careers-work-info + .careers-perks{
    margin-top:0;
  }

}

/* =====================================================
   AKANE CAREERS – Instagram mist treatment
   通常時は霧がかった状態 / hover時にクリア
   ※既存レイアウト・リンク疑似要素には触れない
===================================================== */

.careers-instagram > .container{
  display:block;
}

.careers-instagram-inline{
  width:100%;
}

.careers-instagram__caption{
  display:block;
  width:100%;
  margin-top:0;
  margin-bottom:14px;
  color:var(--brand-main)!important;
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:11px!important;
  font-weight:400;
  line-height:1.7;
  letter-spacing:.06em;
  text-align:left!important;
}

.careers-instagram__caption span{
  color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit;
  text-align:left!important;
}

.careers-instagram__link{
  display:block;
  width:100%;
  margin:18px 0 0;
  color:var(--brand-main)!important;
  font-family:var(--font-jp,"Noto Serif JP",serif);
  font-size:11px!important;
  font-weight:400;
  line-height:1.7;
  letter-spacing:.06em;
  text-align:right!important;
  text-decoration:none;
}

.careers-instagram__link::after{
  content:none!important;
  display:none!important;
}

.careers-instagram__link span{
  color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit;
}

.careers-instagram__item{
  position:relative;
  display:block;
  min-width:0;
  aspect-ratio:1 / 1;
  overflow:hidden;
}

.careers-instagram__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:2px;
  width:100%;
}

.careers-instagram__item img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;

  transform:scale(1.006);

  filter:
    blur(.35px)
    brightness(1.015)
    saturate(.95)
    contrast(.98);

  transition:
    filter .75s ease,
    transform .85s cubic-bezier(.16,1,.3,1);
}

@media (hover:hover){

  .careers-instagram__item:hover img{
    transform:scale(1);

    filter:
      blur(0)
      brightness(1)
      saturate(1)
      contrast(1);
  }

}

@media(max-width:768px){
  .careers-instagram__caption{
    margin-bottom:12px;
    font-size:10px!important;
    letter-spacing:.05em;
  }

  .careers-instagram__link{
    margin-top:14px;
    font-size:10px!important;
    letter-spacing:.05em;
  }

  .careers-instagram__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* =====================================================
   TEXT SELECTION
===================================================== */

::selection{
  background:rgba(154,130,92,.20);
  color:#292722;
}

::-moz-selection{
  background:rgba(154,130,92,.20);
  color:#292722;
}

/* =====================================================
   REQUIREMENTS CTA — CHARCOAL FINISH
===================================================== */

#requirements .careers-contact__link{
  border-bottom-color:rgba(49,49,49,.46);
  transition:border-bottom-color .35s ease,color .35s ease;
}

#requirements .careers-contact__link i{
  color:#313131;
  transition:color .35s ease;
}

#requirements .careers-contact__link:hover,
#requirements .careers-contact__link:focus-visible{
  border-bottom-color:#313131;
  color:#313131;
  opacity:1;
}

#requirements .careers-contact__link:hover i,
#requirements .careers-contact__link:focus-visible i{
  color:#313131;
}

/* Only the existing animated underline uses AKANE red.
   Keep text, icons, static borders and the existing animation unchanged. */
body.akane-careers #siteFooter a:not(.footer-logo)::after{
  background-color:var(--akane-footer-hover);
}

/* Match the in-page CTA height to the fixed mobile CTA without changing width. */
@media(max-width:768px){
  .careers-closing__buttons a{
    height:50px;
    min-height:50px;
    padding-top:0;
    padding-bottom:0;
    line-height:1.4;
  }
}
/* =====================================================
  AKANE CAREERS – Quiet tension layer v2
  明るさを保ったまま、文字・写真・面にごく僅かな輪郭を加える。
  このブロックを削除すれば元の表示へ戻せます。
===================================================== */
.careers-home{
  --brand-ink:#27251f;
  --brand-muted:#645f58;
}

body.akane-careers .site-footer{
  --footer-ink:rgba(41,39,34,.80);
  --footer-muted:rgba(41,39,34,.58);
  --footer-link:rgba(41,39,34,.80);
  --footer-nav:rgba(41,39,34,.76);
}

.careers-benefit,
.careers-about,
body.akane-careers .site-footer{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    inset 0 -1px 0 rgba(41,39,34,.030);
}

.careers-about{
  position:relative;
  isolation:isolate;
}

.careers-about::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.055) 0%,rgba(255,255,255,0) 38%,rgba(41,39,34,.018) 100%),
    repeating-linear-gradient(0deg,rgba(41,39,34,.010) 0,rgba(41,39,34,.010) 1px,transparent 1px,transparent 5px);
  opacity:.30;
}

.careers-about > *{
  position:relative;
  z-index:1;
}

.careers-about__quote{
  border-image:
    linear-gradient(180deg,#6b0000 0%,#6b0000 74%,#7c3328 86%,rgba(154,130,92,.94) 100%) 1;
}

.careers-home > #gallery .gallery-swiper .swiper-slide-active img{
  filter:brightness(.99) contrast(1.02) saturate(.995);
}

.careers-about__image img{
  filter:brightness(.985) contrast(1.025) saturate(.99);
}

@media(max-width:768px){
  .careers-benefit,
  .careers-about,
  body.akane-careers .site-footer{
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.12),
      inset 0 -1px 0 rgba(41,39,34,.020);
  }

  .careers-about::before{
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.04) 0%,rgba(255,255,255,0) 42%,rgba(41,39,34,.012) 100%);
    opacity:.20;
  }

  .careers-about__image img{
    filter:brightness(.992) contrast(1.016) saturate(.995);
  }

  .careers-home > #gallery .gallery-swiper .swiper-slide-active img{
    filter:brightness(.995) contrast(1.012) saturate(.998);
  }
}

@media print, (forced-colors:active){
  .careers-benefit,
  .careers-about,
  body.akane-careers .site-footer{
    box-shadow:none;
  }

  .careers-about::before{
    display:none;
  }

  .careers-home > #gallery .gallery-swiper .swiper-slide-active img,
  .careers-about__image img{
    filter:none;
  }
}

/* =====================================================
  AKANE CAREERS – Precision spacing layer
  装飾を足さず、字間・行間・余白のリズムだけを整える。
  Quiet tension layer v2とは独立しており、このブロックだけ削除可能。
===================================================== */
.careers-home{
  --ak-section-y:104px;
  --ak-head-gap:44px;
  --ak-grid-gap:24px;
  --ak-card-pad:42px;
  --ak-body-line:2.14;
}

.careers-hero-copy__en{
  margin-bottom:16px;
  letter-spacing:.26em;
}

.careers-hero-copy__title{
  line-height:1.58;
  letter-spacing:.105em;
}

.careers-hero-copy__lead{
  margin-top:16px;
  line-height:1.9;
  letter-spacing:.075em;
}

.careers-home .section-head .eyebrow,
.careers-home .careers-closing .eyebrow{
  margin-bottom:16px!important;
  letter-spacing:.25em!important;
}

.careers-home .careers-section-title,
.careers-home .about-akane__title.careers-section-title,
.careers-home .careers-closing .careers-section-title{
  line-height:1.58!important;
  letter-spacing:.052em!important;
}

.careers-home .about-akane__body p,
.careers-benefit__lead,
.careers-requirements-description,
.careers-about__copy,
.careers-flow__card > p:last-child{
  line-height:2.14!important;
  letter-spacing:.048em!important;
}

.careers-home .about-akane__body p + p{
  margin-top:20px;
}

.careers-opening-card h3{
  margin-bottom:22px;
  letter-spacing:.065em;
}

.careers-opening-card__salary{
  margin-top:28px;
  padding-top:26px;
}

.careers-opening-card__salary > p{
  margin-bottom:16px;
  letter-spacing:.07em;
}

.careers-opening-card__salary dl div{
  padding-top:7px;
  padding-bottom:7px;
}

.careers-home .careers-place{
  padding-bottom:44px!important;
}

.careers-place__stat{
  gap:24px;
}

.careers-place__stat p:not(.careers-place__number){
  line-height:1.92;
  letter-spacing:.045em;
}

.careers-benefit__grid{
  gap:clamp(56px,5.5vw,88px);
}

.careers-benefit__copy .section-head{
  margin-bottom:36px!important;
}

.careers-calc__label{
  margin-bottom:22px;
  letter-spacing:.14em;
}

.careers-calc__row,
.careers-calc__total{
  padding-top:15px;
  padding-bottom:15px;
  line-height:1.7;
  letter-spacing:.035em;
}

.careers-calc__total{
  padding-top:24px;
}

.careers-benefit__example .careers-calc__note{
  margin-top:20px;
  line-height:1.9;
  letter-spacing:.035em;
}

.careers-requirements-card > .eyebrow{
  margin-bottom:22px;
  letter-spacing:.24em;
}

.careers-requirements-card h3,
.careers-about__quote,
.careers-flow__card h3{
  line-height:1.68!important;
  letter-spacing:.05em!important;
}

.careers-requirements-card h3{
  margin-bottom:30px;
}

.careers-requirements-price,
.careers-staff-salary{
  margin-bottom:24px;
}

.careers-staff-salary div{
  padding-top:7px;
  padding-bottom:7px;
}

.careers-work-info{
  margin-top:24px;
}

.careers-work-info dl > div{
  gap:24px;
  padding-top:20px;
  padding-bottom:20px;
}

.careers-work-info dt,
.careers-work-info dd{
  line-height:1.82;
  letter-spacing:.045em;
}

.careers-requirements-detail h4{
  padding-top:20px;
  line-height:1.7;
  letter-spacing:.045em;
}

.careers-requirements-detail p{
  padding:12px 0 20px;
  line-height:1.85;
  letter-spacing:.035em;
}

.careers-perks{
  gap:8px;
  padding-top:20px;
}

.careers-perks li{
  padding:7px 12px;
  letter-spacing:.04em;
}

.careers-contact{
  margin-top:44px;
}

.careers-about__grid{
  gap:clamp(52px,6vw,84px);
}

.careers-about__quote{
  padding-left:24px;
}

.careers-about__copy p + p{
  margin-top:24px;
}

.careers-flow__number{
  margin-bottom:30px;
  letter-spacing:.025em;
}

.careers-flow__card h3{
  margin-bottom:14px;
}

.careers-home .careers-flow{
  padding-bottom:40px!important;
}

.careers-home .careers-closing{
  padding:40px 0 104px!important;
}

.careers-closing__inner > p:not(.eyebrow){
  margin-top:22px;
  line-height:1.95;
  letter-spacing:.045em;
}

.careers-closing__buttons{
  margin-top:32px;
}

.careers-home #gallery.careers-gallery{
  padding-bottom:104px!important;
}

#gallery .gallery-ui{
  margin-top:18px;
}

#gallery .gallery-ui__row{
  gap:12px;
}

#gallery .gallery-prev,
#gallery .gallery-next{
  letter-spacing:.16em!important;
}

#gallery .gallery-fraction{
  margin-top:8px;
  letter-spacing:.12em!important;
}

.careers-instagram__caption{
  margin-bottom:12px;
  letter-spacing:.055em;
}

.careers-instagram__link{
  margin-top:16px;
  letter-spacing:.055em;
}

body.akane-careers .site-footer{
  padding:88px 20px 52px;
}

body.akane-careers .footer-brand{
  margin-bottom:30px;
}

body.akane-careers .footer-info{
  margin-bottom:20px;
}

body.akane-careers .footer-info p{
  margin-bottom:8px;
  line-height:1.82;
  letter-spacing:.14em;
}

body.akane-careers .footer-info p:first-of-type{
  letter-spacing:.18em;
}

body.akane-careers .footer-info p:nth-of-type(2){
  letter-spacing:.16em;
}

.careers-footer-sns{
  margin:28px 0;
}

.careers-footer-official{
  margin:-8px 0 28px;
}

body.akane-careers .footer-policy{
  margin-bottom:18px;
  line-height:1.7;
  letter-spacing:.18em!important;
}

body.akane-careers .footer-copy{
  line-height:1.7;
  letter-spacing:.16em;
}

@media(max-width:768px){
  .careers-home{
    --ak-section-y:76px;
    --ak-head-gap:32px;
    --ak-grid-gap:16px;
    --ak-card-pad:26px;
    --ak-body-line:2.08;
  }

  .careers-hero-copy__en{
    margin-bottom:14px;
    letter-spacing:.23em;
  }

  .careers-hero-copy__title{
    line-height:1.54;
    letter-spacing:.08em;
  }

  .careers-hero-copy__lead{
    margin-top:14px;
    line-height:1.84;
    letter-spacing:.06em;
  }

  .careers-home .section-head .eyebrow,
  .careers-home .careers-closing .eyebrow{
    margin-bottom:14px!important;
    letter-spacing:.22em!important;
  }

  .careers-home .careers-section-title,
  .careers-home .about-akane__title.careers-section-title,
  .careers-home .careers-closing .careers-section-title{
    line-height:1.5!important;
    letter-spacing:.02em!important;
  }

  .careers-home .about-akane__body p,
  .careers-benefit__lead,
  .careers-requirements-description,
  .careers-about__copy,
  .careers-flow__card > p:last-child{
    line-height:2.08!important;
    letter-spacing:.042em!important;
  }

  .careers-benefit__grid{
    gap:36px;
  }

  .careers-benefit__copy .section-head{
    margin-bottom:30px!important;
  }

  .careers-home .careers-place{
    padding-bottom:36px!important;
  }

  .careers-place__stat{
    gap:0;
  }

  .careers-place__number{
    margin-bottom:18px!important;
  }

  .careers-requirements-card > .eyebrow{
    margin-bottom:20px;
    letter-spacing:.22em;
  }

  .careers-requirements-card h3{
    margin-bottom:26px;
  }

  .careers-work-info{
    margin-top:22px;
  }

  .careers-work-info dl > div{
    gap:7px;
    padding-top:18px;
    padding-bottom:18px;
  }

  .careers-requirements-detail h4{
    padding-top:18px;
  }

  .careers-requirements-detail p{
    padding:10px 0 18px;
  }

  .careers-perks{
    padding-top:18px;
  }

  .careers-contact{
    margin-top:32px;
  }

  .careers-about__grid{
    gap:32px;
  }

  .careers-about__quote{
    padding-left:20px;
  }

  .careers-about__copy p + p{
    margin-top:20px;
  }

  .careers-flow__number{
    margin-bottom:20px;
  }

  .careers-home .careers-flow{
    padding-bottom:32px!important;
  }

  .careers-home .careers-closing{
    padding:32px 0 76px!important;
  }

  .careers-closing__inner > p:not(.eyebrow){
    margin-top:20px;
    line-height:1.9;
  }

  .careers-closing__buttons{
    margin-top:28px;
  }

  .careers-home #gallery.careers-gallery{
    padding-bottom:76px!important;
  }

  #gallery .gallery-ui{
    margin-top:16px;
  }

  #gallery .gallery-ui__row{
    gap:8px;
  }

  #gallery .gallery-prev,
  #gallery .gallery-next{
    letter-spacing:.14em!important;
  }

  #gallery .gallery-fraction{
    margin-top:7px;
    letter-spacing:.10em!important;
  }

  .careers-instagram__caption{
    margin-bottom:10px;
    letter-spacing:.045em;
  }

  .careers-instagram__link{
    margin-top:12px;
    letter-spacing:.045em;
  }

  body.akane-careers .site-footer{
    padding:72px 18px 44px;
  }

  body.akane-careers .footer-brand{
    margin-bottom:28px;
  }

  body.akane-careers .footer-info p{
    line-height:1.78;
    letter-spacing:.12em;
  }

  body.akane-careers .footer-info p:first-of-type{
    letter-spacing:.16em;
  }

  body.akane-careers .footer-info p:nth-of-type(2){
    letter-spacing:.14em;
  }

  .careers-footer-sns{
    margin:24px 0;
  }

  .careers-footer-official{
    margin:-6px 0 26px;
  }

  body.akane-careers .footer-policy{
    margin-bottom:16px;
    letter-spacing:.17em!important;
  }

  body.akane-careers .footer-copy{
    letter-spacing:.14em;
  }
}

/* =====================================================
  AKANE CAREERS – Breathing control layer
  セクションごとに「溜め・停止・流れ」を設計する最終呼吸調整。
  色・装飾・機能には触れず、このブロックの削除だけで復元可能。
===================================================== */

/* MV：コピーをわずかに持ち上げ、最初の視線を静止させる */
.careers-hero-copy{
  bottom:clamp(100px,12.5vw,158px);
}

.careers-hero-copy__en{
  letter-spacing:.245em;
}

.careers-hero-copy__title{
  line-height:1.56;
  letter-spacing:.095em;
}

.careers-hero-copy__lead{
  margin-top:18px;
  line-height:1.92;
  letter-spacing:.068em;
}

/* RECRUIT SUMMARY：MV後に深く吸い、カード内は短く止める */
.careers-home #recruit-summary{
  padding-top:120px!important;
  padding-bottom:96px!important;
}

#recruit-summary .section-head{
  margin-bottom:40px!important;
}

#recruit-summary .careers-section-title{
  letter-spacing:.06em!important;
}

#recruit-summary .careers-opening-card h3{
  margin-bottom:20px;
  letter-spacing:.055em;
}

#recruit-summary .careers-opening-card__gender{
  margin-bottom:8px;
}

#recruit-summary .careers-opening-card__salary{
  margin-top:30px;
  padding-top:24px;
}

#recruit-summary .careers-opening-card__salary dt,
#recruit-summary .careers-opening-card__salary dd{
  letter-spacing:.035em;
}

/* MESSAGE / INSTAGRAM：言葉で止め、写真へ入る前だけ長く溜める */
.careers-home #message{
  padding-top:112px!important;
  padding-bottom:88px!important;
}

#message .section-head{
  margin-bottom:38px!important;
}

#message .careers-section-title{
  letter-spacing:.042em!important;
}

#message .about-akane__body p{
  line-height:2.18!important;
  letter-spacing:.05em!important;
}

#message .about-akane__body p + p{
  margin-top:22px;
}

#message .careers-instagram-inline{
  margin-top:64px!important;
}

#message .careers-instagram__caption,
#message .careers-instagram__link{
  letter-spacing:.05em;
}

/* THE PLACE：見出しに溜め、数字で視線を止めて写真へ流す */
.careers-home #workplace{
  padding-top:112px!important;
  padding-bottom:44px!important;
}

#workplace .section-head{
  margin-bottom:40px!important;
}

#workplace .careers-section-title{
  letter-spacing:.048em!important;
}

#workplace .careers-place__number{
  letter-spacing:.015em;
}

#workplace .careers-place__stat p:not(.careers-place__number){
  line-height:1.95;
  letter-spacing:.042em;
}

/* GALLERY：写真前は余韻、写真後は短く次章へ送る */
.careers-home #gallery.careers-gallery{
  padding-bottom:96px!important;
}

#gallery .gallery-stage{
  margin-top:24px;
}

#gallery .gallery-ui{
  margin-top:20px;
}

#gallery .gallery-prev,
#gallery .gallery-next{
  letter-spacing:.15em!important;
}

#gallery .gallery-fraction{
  margin-top:9px;
  letter-spacing:.09em!important;
}

/* ONLY IN AKANE：写真の余韻を受け、制度説明は密度を上げる */
.careers-home #benefit{
  padding-top:120px!important;
  padding-bottom:108px!important;
}

#benefit .section-head{
  margin-bottom:34px!important;
}

#benefit .careers-section-title{
  line-height:1.55!important;
  letter-spacing:.045em!important;
}

#benefit .careers-benefit__lead{
  line-height:2.08!important;
  letter-spacing:.042em!important;
}

#benefit .careers-benefit__grid{
  gap:clamp(60px,5.8vw,92px);
}

#benefit .careers-calc__label{
  letter-spacing:.13em;
}

#benefit .careers-calc__row,
#benefit .careers-calc__total{
  letter-spacing:.03em;
}

/* REQUIREMENTS：情報密度を整え、応募導線の直前で一度止める */
.careers-home #requirements{
  padding-top:112px!important;
  padding-bottom:120px!important;
}

#requirements .section-head{
  margin-bottom:40px!important;
}

#requirements .careers-section-title{
  letter-spacing:.06em!important;
}

#requirements .careers-requirements-card > .eyebrow{
  margin-bottom:20px;
  letter-spacing:.22em;
}

#requirements .careers-requirements-card h3{
  margin-bottom:28px;
  letter-spacing:.045em!important;
}

#requirements .careers-requirements-description{
  line-height:2.02!important;
  letter-spacing:.04em!important;
}

#requirements .careers-work-info{
  margin-top:26px;
}

#requirements .careers-work-info dl > div{
  padding-top:19px;
  padding-bottom:19px;
}

#requirements .careers-contact{
  margin-top:52px;
}

/* ABOUT AKANE：ページ内で最も長く止め、由来の言葉を残す */
.careers-home #about-akane{
  padding-top:128px!important;
  padding-bottom:124px!important;
}

#about-akane .section-head{
  margin-bottom:48px!important;
}

#about-akane .careers-section-title{
  letter-spacing:.06em!important;
}

#about-akane .careers-about__grid{
  gap:clamp(60px,6.2vw,88px);
}

#about-akane .careers-about__quote{
  line-height:1.72!important;
  letter-spacing:.052em!important;
}

#about-akane .careers-about__copy > p:not(.careers-about__quote){
  line-height:2.2;
  letter-spacing:.05em;
}

#about-akane .careers-about__copy p + p{
  margin-top:26px;
}

/* ENTRY FLOW：説明は短いテンポで進め、CTA前に余白を残す */
.careers-home #flow{
  padding-top:96px!important;
  padding-bottom:48px!important;
}

#flow .section-head{
  margin-bottom:36px!important;
}

#flow .careers-section-title{
  letter-spacing:.045em!important;
}

#flow .careers-flow__grid{
  gap:20px!important;
}

#flow .careers-flow__number{
  margin-bottom:28px;
  letter-spacing:.015em;
}

#flow .careers-flow__card h3{
  margin-bottom:12px;
}

#flow .careers-flow__card > p:last-child{
  line-height:1.95!important;
  letter-spacing:.04em!important;
}

/* FINAL CTA：直前で空気を止め、コピーから操作へ静かに着地 */
.careers-home #entry{
  padding-top:96px!important;
  padding-bottom:104px!important;
}

#entry .eyebrow{
  margin-bottom:18px!important;
  letter-spacing:.265em!important;
}

#entry .careers-section-title{
  letter-spacing:.058em!important;
}

#entry .careers-closing__inner > p:not(.eyebrow){
  margin-top:24px;
  line-height:1.92;
  letter-spacing:.042em;
}

#entry .careers-closing__buttons{
  margin-top:34px;
}

@media(max-width:768px){
  .careers-hero-copy{
    bottom:108px;
  }

  .careers-hero-copy__en{
    letter-spacing:.22em;
  }

  .careers-hero-copy__title{
    line-height:1.52;
    letter-spacing:.068em;
  }

  .careers-hero-copy__lead{
    margin-top:16px;
    line-height:1.86;
    letter-spacing:.052em;
  }

  .careers-home #recruit-summary{
    padding-top:88px!important;
    padding-bottom:68px!important;
  }

  #recruit-summary .section-head{
    margin-bottom:30px!important;
  }

  #recruit-summary .careers-opening-card h3{
    margin-bottom:18px;
  }

  .careers-home #message{
    padding-top:84px!important;
    padding-bottom:68px!important;
  }

  #message .section-head{
    margin-bottom:28px!important;
  }

  #message .careers-section-title{
    letter-spacing:.018em!important;
  }

  #message .about-akane__body p{
    line-height:2.12!important;
    letter-spacing:.04em!important;
  }

  #message .careers-instagram-inline{
    margin-top:48px!important;
  }

  .careers-home #workplace{
    padding-top:84px!important;
    padding-bottom:32px!important;
  }

  #workplace .section-head{
    margin-bottom:30px!important;
  }

  #workplace .careers-section-title{
    letter-spacing:.018em!important;
  }

  .careers-home #gallery.careers-gallery{
    padding-bottom:68px!important;
  }

  #gallery .gallery-stage{
    margin-top:20px;
  }

  #gallery .gallery-ui{
    margin-top:17px;
  }

  #gallery .gallery-prev,
  #gallery .gallery-next{
    letter-spacing:.13em!important;
  }

  #gallery .gallery-fraction{
    margin-top:8px;
    letter-spacing:.075em!important;
  }

  .careers-home #benefit{
    padding-top:88px!important;
    padding-bottom:80px!important;
  }

  #benefit .section-head{
    margin-bottom:28px!important;
  }

  #benefit .careers-section-title{
    line-height:1.48!important;
    letter-spacing:.016em!important;
  }

  #benefit .careers-benefit__lead{
    line-height:2.04!important;
    letter-spacing:.038em!important;
  }

  #benefit .careers-benefit__grid{
    gap:40px;
  }

  .careers-home #requirements{
    padding-top:84px!important;
    padding-bottom:88px!important;
  }

  #requirements .section-head{
    margin-bottom:32px!important;
  }

  #requirements .careers-section-title{
    letter-spacing:.025em!important;
  }

  #requirements .careers-requirements-card h3{
    margin-bottom:24px;
    letter-spacing:.035em!important;
  }

  #requirements .careers-requirements-description{
    line-height:2!important;
    letter-spacing:.036em!important;
  }

  #requirements .careers-contact{
    margin-top:40px;
  }

  .careers-home #about-akane{
    padding-top:96px!important;
    padding-bottom:92px!important;
  }

  #about-akane .section-head{
    margin-bottom:36px!important;
  }

  #about-akane .careers-section-title{
    letter-spacing:.028em!important;
  }

  #about-akane .careers-about__grid{
    gap:36px;
  }

  #about-akane .careers-about__quote{
    line-height:1.62!important;
    letter-spacing:.03em!important;
  }

  #about-akane .careers-about__copy > p:not(.careers-about__quote){
    line-height:2.12;
    letter-spacing:.042em;
  }

  #about-akane .careers-about__copy p + p{
    margin-top:22px;
  }

  .careers-home #flow{
    padding-top:72px!important;
    padding-bottom:36px!important;
  }

  #flow .section-head{
    margin-bottom:28px!important;
  }

  #flow .careers-section-title{
    letter-spacing:.018em!important;
  }

  #flow .careers-flow__grid{
    gap:16px!important;
  }

  #flow .careers-flow__number{
    margin-bottom:18px;
  }

  .careers-home #entry{
    padding-top:72px!important;
    padding-bottom:76px!important;
  }

  #entry .eyebrow{
    margin-bottom:16px!important;
    letter-spacing:.235em!important;
  }

  #entry .careers-section-title{
    letter-spacing:.022em!important;
  }

  #entry .careers-closing__inner > p:not(.eyebrow){
    margin-top:22px;
    line-height:1.88;
  }

  #entry .careers-closing__buttons{
    margin-top:30px;
  }
}

/* =====================================================
   AKANE CAREERS – Final tension pass
   Local optical corrections + THE PLACE chapter.
   Remove this block to revert this final pass completely.
===================================================== */

/* MV: lift the copy by 2px so it holds before the navigation. */
.careers-hero-copy{
  bottom:clamp(102px, 12.5vw, 160px);
}

/* Dense information enters quickly; narrative sections retain a pause. */
#recruit-summary .section-head{
  margin-bottom:38px!important;
}

#message .section-head{
  margin-bottom:36px!important;
}

#message .careers-section-title{
  letter-spacing:.040em!important;
}

#message .careers-instagram-inline{
  margin-top:68px!important;
}

/* THE PLACE: let language and negative space describe the scale. */
.careers-home #workplace{
  padding-top:114px!important;
  padding-bottom:64px!important;
}

#workplace .section-head{
  margin-bottom:54px!important;
  text-align:right!important;
  align-items:flex-end!important;
}

#workplace .section-head .eyebrow,
#workplace .careers-section-title{
  text-align:right!important;
}

#workplace .careers-section-title{
  letter-spacing:.050em!important;
}

#workplace .careers-place__stat{
  display:block;
  width:min(78%, 680px);
  max-width:none;
  margin:0 auto 0 clamp(0px, 5vw, 64px);
  padding:0;
  border:0;
  background:transparent;
  text-align:left;
}

#workplace .careers-place__stat > p:last-child{
  max-width:none;
  margin:0;
  color:#57534d;
  font-size:14px;
  font-weight:400;
  line-height:1.9;
  letter-spacing:.035em;
}

/* Let the photograph hold, then move the eye quickly into its controls. */
#gallery .gallery-stage{
  margin-top:26px!important;
}

#gallery .gallery-ui{
  margin-top:18px!important;
}

#gallery .gallery-fraction{
  letter-spacing:.10em;
}

#benefit .section-head{
  margin-bottom:32px!important;
}

#benefit .careers-section-title{
  letter-spacing:.043em!important;
}

#requirements .section-head{
  margin-bottom:38px!important;
}

#requirements .careers-contact{
  margin-top:56px;
}

#about-akane .section-head{
  margin-bottom:50px!important;
}

#about-akane .careers-section-title{
  letter-spacing:.062em!important;
}

#about-akane .careers-about__grid{
  gap:clamp(62px, 6.2vw, 90px);
}

#flow .section-head{
  margin-bottom:34px!important;
}

#flow .careers-section-title{
  letter-spacing:.043em!important;
}

#entry .careers-section-title{
  letter-spacing:.060em!important;
}

#entry .careers-closing__buttons{
  margin-top:36px;
}

/* A quiet final descent: the footer starts 2px later, then tightens internally. */
body.akane-careers .site-footer{
  padding-top:90px;
}

body.akane-careers .footer-brand{
  margin-bottom:29px;
}

.careers-footer-official{
  margin:-7px 0 29px;
}

@media (max-width: 768px){
  .careers-hero-copy{
    bottom:110px;
  }

  #recruit-summary .section-head{
    margin-bottom:29px!important;
  }

  #message .section-head{
    margin-bottom:27px!important;
  }

  #message .careers-section-title{
    letter-spacing:.018em!important;
  }

  #message .careers-instagram-inline{
    margin-top:51px!important;
  }

  .careers-home #workplace{
    padding-top:86px!important;
    padding-bottom:48px!important;
  }

  #workplace .section-head{
    margin-bottom:42px!important;
  }

  #workplace .careers-section-title{
    letter-spacing:.018em!important;
  }

  #workplace .careers-place__stat{
    width:92%;
    max-width:none;
    margin-right:auto;
    margin-left:0;
  }

  #workplace .careers-place__stat > p:last-child{
    max-width:none;
    color:#57534d;
    font-size:13px;
    line-height:1.85;
    letter-spacing:.025em;
  }

  #gallery .gallery-stage{
    margin-top:22px!important;
  }

  #gallery .gallery-ui{
    margin-top:16px!important;
  }

  #gallery .gallery-fraction{
    letter-spacing:.09em;
  }

  #benefit .section-head{
    margin-bottom:27px!important;
  }

  #requirements .section-head{
    margin-bottom:31px!important;
  }

  #requirements .careers-contact{
    margin-top:43px;
  }

  #about-akane .section-head{
    margin-bottom:38px!important;
  }

  #about-akane .careers-section-title{
    letter-spacing:.020em!important;
  }

  #about-akane .careers-about__grid{
    gap:38px;
  }

  #flow .section-head{
    margin-bottom:27px!important;
  }

  #entry .careers-section-title{
    letter-spacing:.020em!important;
  }

  #entry .careers-closing__buttons{
    margin-top:32px;
  }

  body.akane-careers .site-footer{
    padding-top:74px;
  }

  body.akane-careers .footer-brand{
    margin-bottom:27px;
  }

  .careers-footer-official{
    margin:-5px 0 27px;
  }
}

/* =====================================================
   AKANE CAREERS – THE PLACE final lock
   - 330㎡を非表示
   - THE PLACE / 主見出しは右揃え
   - 説明文は中央配置で視認性を一段上げる
===================================================== */
#workplace .section-head{
  text-align:left!important;
  align-items:flex-start!important;
}

#workplace .section-head .eyebrow,
#workplace .careers-section-title{
  text-align:left!important;
}

#workplace .careers-place__number{
  display:none!important;
}

#workplace .careers-place__stat{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  text-align:left!important;
}

#workplace .careers-place__stat > p:last-child{
  width:min(100%, 900px)!important;
  max-width:900px!important;
  margin:0!important;
  color:#4f4b45!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.9!important;
  letter-spacing:.035em!important;
  text-align:left!important;
}

@media (max-width:768px){
  #workplace .section-head{
    text-align:left!important;
    align-items:flex-start!important;
  }

  #workplace .section-head .eyebrow,
  #workplace .careers-section-title{
    text-align:left!important;
  }

  #workplace .careers-place__number{
    display:none!important;
  }

  #workplace .careers-place__stat{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    text-align:left!important;
  }

  #workplace .careers-place__stat > p:last-child{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    color:#4f4b45!important;
    font-size:14px!important;
    line-height:1.9!important;
    letter-spacing:.025em!important;
    text-align:left!important;
  }
}

/* =====================================================
   AKANE CAREERS – THE PLACE PC density refinement
   PCのみ：主見出し → 第二見出し → 写真の呼吸を最適化。
===================================================== */
@media (min-width:769px){
  .careers-home #workplace{
    padding-bottom:38px!important;
  }

  #workplace .section-head{
    margin-bottom:32px!important;
  }

  #workplace .careers-place__stat > p:last-child{
    font-size:17px!important;
    line-height:1.75!important;
  }
}

/* =====================================================
   AKANE CAREERS – Final micro-tension calibration
   完成済みの構成を変えず、視線の停止と送りだけを1〜4pxで補正。
   このブロックだけを削除すれば、今回分を完全に戻せます。
===================================================== */

@media (min-width:769px){
  /* MV：コピーの重心を1pxだけ上げ、最初の視線を保持。 */
  .careers-hero-copy{
    bottom:clamp(103px, calc(12.5vw + 1px), 161px);
  }

  /* 情報セクションは1pxだけ速く本文へ送る。 */
  #recruit-summary .section-head,
  #requirements .section-head{
    margin-bottom:37px!important;
  }

  /* 言葉からInstagramへ入る直前に2pxの無音を残す。 */
  #message .careers-instagram-inline{
    margin-top:70px!important;
  }

  /* 写真と操作部を1pxだけ結び、数字は操作部へ寄せる。 */
  #gallery .gallery-ui{
    margin-top:17px!important;
  }

  #gallery .gallery-fraction{
    margin-top:8px;
  }

  /* 制度説明は見出しから本文へ1pxだけ早く送る。 */
  #benefit .section-head{
    margin-bottom:31px!important;
  }

  /* 募集要項は情報を締め、CTA前だけ3px静止。 */
  #requirements .careers-requirements-card h3{
    margin-bottom:27px;
  }

  #requirements .careers-contact{
    margin-top:59px;
  }

  /* 由来は見出し後と写真・本文間に僅かな余韻を残す。 */
  #about-akane .section-head{
    margin-bottom:51px!important;
  }

  #about-akane .careers-about__grid{
    gap:clamp(64px, calc(6.2vw + 2px), 92px);
  }

  /* 応募フローは見出しと番号を各1pxだけ締める。 */
  #flow .section-head{
    margin-bottom:33px!important;
  }

  #flow .careers-flow__number{
    margin-bottom:27px;
  }

  /* 最終CTA前は4px止め、コピーから操作へは1px早く送る。 */
  .careers-home #entry{
    padding-top:100px!important;
  }

  #entry .careers-closing__buttons{
    margin-top:35px;
  }

  /* ページ末尾の着地だけ2px深くする。 */
  body.akane-careers .site-footer{
    padding-top:92px;
  }
}

@media (max-width:768px){
  /* SPは同じ意図を、より短い呼吸で個別調整。 */
  .careers-hero-copy{
    bottom:111px;
  }

  #recruit-summary .section-head{
    margin-bottom:28px!important;
  }

  #message .careers-instagram-inline{
    margin-top:53px!important;
  }

  #gallery .gallery-ui{
    margin-top:15px!important;
  }

  #gallery .gallery-fraction{
    margin-top:7px;
  }

  #benefit .section-head{
    margin-bottom:26px!important;
  }

  #requirements .section-head{
    margin-bottom:30px!important;
  }

  #requirements .careers-requirements-card h3{
    margin-bottom:23px;
  }

  #requirements .careers-contact{
    margin-top:46px;
  }

  #about-akane .section-head{
    margin-bottom:39px!important;
  }

  #about-akane .careers-about__grid{
    gap:40px;
  }

  #flow .section-head{
    margin-bottom:26px!important;
  }

  #flow .careers-flow__number{
    margin-bottom:17px;
  }

  .careers-home #entry{
    padding-top:76px!important;
  }

  #entry .careers-closing__buttons{
    margin-top:31px;
  }

  body.akane-careers .site-footer{
    padding-top:76px;
  }
}

/* =====================================================
   AKANE CAREERS – Final finish
   CLOSE表記と電話CTAホバーのみ。削除で今回分を復元可能。
===================================================== */

/* Full-screen menu: replace the cross with a quiet text label. */
body.akane-careers .site-menu__close{
  display:flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:64px;
  padding:0 2px;
  font-family:var(--font-en,"Cinzel",serif);
  font-size:10px;
  font-weight:400;
  line-height:1;
  letter-spacing:.24em;
  text-indent:.24em;
}

body.akane-careers .site-menu__close::before,
body.akane-careers .site-menu__close::after{
  content:none;
  display:none;
}

body.akane-careers .site-menu__close .site-menu__close-label{
  display:block;
}

/* Final CTA: lighten the telephone hover without sacrificing contrast. */
body.akane-careers #entry .careers-closing__buttons a:nth-child(2):hover,
body.akane-careers #entry .careers-closing__buttons a:nth-child(2):focus-visible{
  background:#626262!important;
  border-color:#626262!important;
}

/* Recruit summary: balanced two-column presentation (PC), single-column (SP). */
@media (min-width: 769px) {
  #recruit-summary .careers-opening-card__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
  }
  #recruit-summary .careers-opening-card__floor,
  #recruit-summary .careers-opening-card__salary {
    min-width: 0;
  }
  #recruit-summary .careers-opening-card__floor {
    padding-right: clamp(22px, 3.5vw, 52px);
  }
  #recruit-summary .careers-opening-card__salary {
    margin-top: 0;
    padding-top: 0;
    padding-left: clamp(22px, 3.5vw, 52px);
    border-top: 0;
    border-left: 1px solid var(--brand-line);
  }
  #recruit-summary .careers-opening-card__salary > p {
    margin-top: 0;
  }
  #recruit-summary .careers-opening-card__salary dl div {
    align-items: baseline;
    gap: 12px;
  }
}
@media (max-width: 768px) {
  #recruit-summary .careers-opening-card__columns { display: block; }
}

/* v1.3.32 — requirements CTA: text-only links with the existing fine underline. */
#requirements .careers-contact__link { gap: 0; }
