/* Tailwind (compiled, inline) */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Noto Sans JP,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.m-0{margin:0}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-8{height:2rem}.h-\[64px\]{height:64px}.h-\[7px\]{height:7px}.w-\[7px\]{width:7px}.max-w-3xl{max-width:48rem}.flex-1{flex:1 1 0%}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-\[color\:var\(--line\)\]{border-color:var(--line)}.bg-\[color\:var\(--mist\)\]{background-color:var(--mist)}.p-0{padding:0}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-sans{font-family:Noto Sans JP,sans-serif}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.font-normal{font-weight:400}.leading-\[1\.8\]{line-height:1.8}.leading-\[1\.9\]{line-height:1.9}.text-\[color\:var\(--ink-45\)\]{color:var(--ink-45)}.text-\[color\:var\(--ink-60\)\]{color:var(--ink-60)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.hover\:text-\[color\:var\(--navy\)\]:hover{color:var(--navy)}@media (min-width:640px){.sm\:block{display:block}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[180px_1fr\]{grid-template-columns:180px 1fr}.sm\:flex-row{flex-direction:row}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1\.2fr_1fr_1fr\]{grid-template-columns:1.2fr 1fr 1fr}.md\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.md\:gap-4{gap:1rem}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.05fr_1fr\]{grid-template-columns:1.05fr 1fr}.lg\:grid-cols-\[1\.1fr_1fr\]{grid-template-columns:1.1fr 1fr}.lg\:grid-cols-\[1fr_1\.1fr\]{grid-template-columns:1fr 1.1fr}.lg\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.lg\:grid-cols-\[1fr_260px\]{grid-template-columns:1fr 260px}.lg\:gap-14{gap:3.5rem}.lg\:gap-16{gap:4rem}}

/* 採用ページのお知らせ（イベント・社内の活動） */
#nvRecruit{ display:none; }
#nvRecruit.is-on{ display:block; }
.rc-news{ display:grid; gap:2px; grid-template-columns:1fr; background:rgba(184,153,104,.3);
  border-top:1px solid rgba(184,153,104,.45); border-bottom:1px solid rgba(184,153,104,.45); }
@media (min-width:820px){ .rc-news{ grid-template-columns:repeat(2,1fr); } .rc-item:last-child:nth-child(odd){ grid-column:1 / -1; } }
.rc-item{ background:#fff; padding:26px 26px; transition:background .4s ease; }
.rc-item:hover{ background:linear-gradient(180deg,#fff, rgba(184,153,104,.08)); }
.rc-meta{ display:flex; align-items:center; gap:13px; margin-bottom:13px; }
.rc-date{ font-family:"Cormorant Garamond",serif; font-size:16px; letter-spacing:.12em; color:var(--ink-45); }
.rc-tag{ font-size:11.5px; letter-spacing:.14em; padding:5px 11px; border:1px solid; }
.rc-ev{ color:var(--teal); border-color:rgba(31,169,154,.5); }
.rc-rp{ color:var(--pink); border-color:rgba(224,112,144,.5); }
.rc-item h3{ font-family:"Noto Serif JP",serif; font-size:17.5px; line-height:1.75; }
.rc-item p{ margin-top:11px; font-size:14.5px; line-height:2; color:var(--ink-60); }
.rc-all{ margin-top:26px; }
/* ============================================================
   SARASA HOTELS｜ブランド規律（公式サイトと共通）
   ティールとピンクは等価のペア／オレンジは「点」のみ／ネイビー・ゴールドは上乗せ
   ============================================================ */
:root{
  --teal:#1FA99A; --pink:#E07090; --orange:#F5A823;
  --navy:#1A2848; --gold:#B89968;
  --white:#FFFFFF; --mist:#F9F9FB;
  --line:rgba(26,40,72,.12); --line-strong:rgba(26,40,72,.22);
  --ink:#1A2848; --ink-60:rgba(26,40,72,.62); --ink-45:rgba(26,40,72,.45);
  --shadow-soft:0 10px 30px rgba(26,40,72,.08);
  --shadow-lift:0 18px 46px rgba(26,40,72,.14);
}
*{ -webkit-tap-highlight-color:transparent; box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:96px; }
html,body{ overflow-x:clip; }
body{
  font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",sans-serif;
  color:var(--ink); background:var(--white);
  font-feature-settings:"palt" 1; letter-spacing:.01em; margin:0;
  overflow-x:hidden;
}
h1,h2,h3,.serif{ font-family:"Noto Serif JP",serif; font-weight:500; letter-spacing:.02em; }
.latin{ font-family:"Cormorant Garamond",serif; font-weight:500; letter-spacing:.06em; }
.num{ font-family:"Cormorant Garamond",serif; font-weight:600; font-variant-numeric:tabular-nums; }
img{ max-width:100%; display:block; }
.skip-link{ position:absolute; left:12px; top:-60px; z-index:200; background:var(--navy); color:#fff; padding:10px 16px; border-radius:6px; font-size:13px; transition:top .18s ease; }
.skip-link:focus{ top:12px; }
:focus-visible{ outline:2px solid var(--teal); outline-offset:3px; border-radius:4px; }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{ animation-duration:.001ms !important; transition-duration:.001ms !important; scroll-behavior:auto !important; } }

/* ---------- layout ---------- */
.wrap{ width:min(1180px, calc(100% - 40px)); margin-inline:auto; }
@media (max-width:640px){ .wrap{ width:calc(100% - 32px); } }
.sec{ padding:88px 0; }
@media (max-width:768px){ .sec{ padding:60px 0; } }
.sec-mist{ background:var(--mist); }
.sec-navy{ background:var(--navy); color:#fff; }
.sec-edge{ height:1px; background:linear-gradient(90deg, rgba(31,169,154,.35) 0 50%, rgba(224,112,144,.35) 50% 100%); }

/* ---------- section heading（ティール＋ピンクの等価ペア） ---------- */
.sec-head{ margin-bottom:44px; }
.sec-kicker{ display:inline-flex; align-items:center; gap:10px; font-family:"Cormorant Garamond",serif; font-size:18px; letter-spacing:.16em; color:var(--ink-60); margin-bottom:12px; }
.sec-kicker::before{ content:""; width:34px; height:3px; border-radius:2px; background:linear-gradient(90deg, var(--teal) 0 50%, var(--pink) 50% 100%); }
.sec-navy .sec-kicker{ color:rgba(255,255,255,.7); }
.sec-title{ font-size:clamp(26px,3.4vw,38px); line-height:1.4; margin:0; }
.sec-lead{ margin-top:14px; color:var(--ink-60); font-size:15px; line-height:2; max-width:44em; }
.sec-navy .sec-lead{ color:rgba(255,255,255,.72); }
.rule-teal-pink{ height:4px; background:linear-gradient(90deg, var(--teal) 0 50%, var(--pink) 50% 100%); }

/* ---------- header ---------- */
.site-header{ position:fixed; inset:0 0 auto 0; z-index:80; background:rgba(255,255,255,.94); backdrop-filter:saturate(140%) blur(12px); border-bottom:1px solid var(--line); transition:box-shadow .25s ease; }
.site-header.is-scrolled{ box-shadow:0 6px 22px rgba(26,40,72,.07); }
.util-bar{ border-bottom:1px solid var(--line); background:linear-gradient(90deg, rgba(31,169,154,.05) 0%, rgba(255,255,255,0) 45%, rgba(224,112,144,.05) 100%); }
.nav-link{ display:inline-flex; flex-direction:column; align-items:center; line-height:1.15; color:var(--ink-60); text-decoration:none; transition:color .2s; }
.nav-link:hover{ color:var(--navy); }
.nav-jp{ font-size:13px; font-weight:500; }
.nav-en{ font-family:"Cormorant Garamond",serif; font-size:11px; letter-spacing:.14em; color:var(--ink-45); margin-top:2px; }
.logo-img{ height:40px; width:auto; }
@media (max-width:640px){ .logo-img{ height:34px; } }

.menu-btn{ width:42px; height:42px; border-radius:999px; border:1px solid var(--line-strong); background:#fff; display:inline-flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; }
.menu-btn span{ display:block; width:18px; height:2px; background:var(--navy); border-radius:2px; transition:transform .2s, opacity .2s; }
.menu-btn.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.menu-btn.is-open span:nth-child(2){ opacity:0; }
.menu-btn.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.mobile-nav{ display:none; border-top:1px solid var(--line); background:#fff; max-height:calc(100svh - 96px); overflow:auto; }
.mobile-nav.is-open{ display:block; }
.mobile-nav a{ display:block; padding:12px 6px; font-size:15px; color:var(--navy); text-decoration:none; border-bottom:1px solid var(--line); }
.mobile-nav a.is-cta{ color:var(--teal); font-weight:500; border-bottom:0; }
@media (min-width:1024px){ .menu-btn, .mobile-nav{ display:none !important; } }

/* ---------- buttons ---------- */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 26px; border-radius:999px; font-size:14px; font-weight:500; text-decoration:none; border:1px solid transparent; cursor:pointer; transition:all .2s ease; line-height:1; }
.btn-primary{ background:var(--navy); color:#fff; }
.btn-primary:hover{ background:#22335c; transform:translateY(-1px); box-shadow:var(--shadow-soft); }
.btn-primary .dot{ width:7px; height:7px; border-radius:50%; background:var(--orange); }
.btn-ghost{ background:#fff; color:var(--navy); border-color:var(--line-strong); }
.btn-ghost:hover{ border-color:var(--navy); }
.btn-white{ background:#fff; color:var(--navy); }
.btn-white:hover{ transform:translateY(-1px); box-shadow:var(--shadow-soft); }
.btn-sm{ padding:10px 18px; font-size:13px; }

/* ---------- photo frames ---------- */
.ph{ position:relative; overflow:hidden; background:var(--mist); }
.ph img{ width:100%; height:100%; object-fit:cover; }
.ph-fallback{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:var(--mist); }
.ph-fallback svg{ width:52%; max-width:220px; height:auto; }
.ph-cap{ position:absolute; left:0; right:0; bottom:0; padding:10px 14px; font-size:12px; color:#fff; background:linear-gradient(180deg, rgba(26,40,72,0), rgba(26,40,72,.72)); }

.people-ph{ aspect-ratio:3/2; }
@media (min-width:640px){ .people-ph{ aspect-ratio:auto; width:100%; height:100%; min-height:200px; } }

/* ---------- hero ---------- */
.hero{ position:relative; color:#fff; background:var(--navy); overflow:hidden; }
.hero::before{ content:""; position:absolute; inset:0; background:
  radial-gradient(60% 80% at 8% 20%, rgba(31,169,154,.22), transparent 60%),
  radial-gradient(60% 80% at 92% 85%, rgba(224,112,144,.22), transparent 60%); pointer-events:none; }
.hero-in{ position:relative; z-index:1; padding:128px 0 72px; }
@media (max-width:1023px){ .hero-in{ padding:112px 0 48px; } }
.hero-grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:48px; align-items:center; }
@media (max-width:1023px){ .hero-grid{ grid-template-columns:1fr; gap:34px; } }
.hero h1{ font-size:clamp(38px,5.2vw,68px); line-height:1.25; margin:0 0 14px; font-weight:500; white-space:nowrap; }
@media (max-width:1023px){ .hero h1{ font-size:min(9.6vw,64px); } }
.hero-sub{ font-size:clamp(14.5px,1.4vw,18px); line-height:1.9; color:rgba(255,255,255,.86); max-width:34em; }
.hero-pair{ display:inline-flex; align-items:center; gap:10px; font-family:"Cormorant Garamond",serif; letter-spacing:.18em; font-size:17px; color:rgba(255,255,255,.85); margin-bottom:18px; }
.hero-pair::before{ content:""; width:34px; height:3px; border-radius:2px; background:linear-gradient(90deg, var(--teal) 0 50%, var(--pink) 50% 100%); }
.hero-fig{ margin:0; display:flex; flex-direction:column; align-items:center; }
.hero-frame{ position:relative; display:inline-block; max-width:100%; border-radius:6px; overflow:hidden; background:rgba(255,255,255,.06);
  border:1px solid rgba(184,153,104,.6); box-shadow:0 0 0 7px var(--navy), 0 0 0 8px rgba(184,153,104,.35), var(--shadow-lift); }
.hero-frame img{ max-height:min(72vh,660px); width:auto; max-width:100%; height:auto; display:block; }
@media (max-width:1023px){ .hero-frame img{ max-height:68vh; } }
.hero-frame .ph-fallback{ position:relative; aspect-ratio:4/3; }
.hero-capt{ width:100%; display:flex; justify-content:space-between; align-items:baseline; margin:22px 4px 0; font-size:12px; color:rgba(255,255,255,.6); letter-spacing:.06em; }
.hero-capt .latin{ font-size:14px; letter-spacing:.2em; }

/* ---------- TOC tabs (sticky under header) ---------- */
.toc{ position:sticky; top:96px; z-index:60; background:rgba(255,255,255,.96); backdrop-filter:saturate(140%) blur(10px); border-bottom:1px solid var(--line); }
.toc-scroll{ display:flex; gap:6px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:10px 0; scroll-snap-type:x proximity; }
.toc-scroll::-webkit-scrollbar{ display:none; }
.toc-scroll a{ flex:0 0 auto; scroll-snap-align:start; padding:9px 14px; border-radius:999px; font-size:13px; font-weight:500; color:var(--ink-60); text-decoration:none; border:1px solid var(--line); background:#fff; white-space:nowrap; transition:all .18s; }
.toc-scroll a:hover{ color:var(--navy); border-color:var(--line-strong); }
.toc-scroll a.is-active{ color:#fff; background:var(--navy); border-color:var(--navy); }
.toc-scroll a.is-entry{ color:var(--navy); border-color:var(--navy); }
.toc-scroll a.is-entry::before{ content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--orange); margin-right:6px; vertical-align:1px; }
.toc-scroll a.is-entry.is-active{ color:#fff; }
@media (min-width:1024px){ .toc-scroll{ justify-content:center; flex-wrap:wrap; overflow:visible; } }
html{ scroll-padding-top:156px; }

/* ---------- stats ---------- */
.stat{ padding:22px 8px 20px; text-align:center; border-radius:14px; background:#fff; border:1px solid var(--line); }
.stat .num{ font-size:clamp(30px,3.6vw,44px); line-height:1; color:var(--navy); }
.stat .unit{ font-family:"Noto Serif JP",serif; font-size:14px; color:var(--navy); margin-left:2px; }
.stat .lbl{ font-size:12px; color:var(--ink-60); margin-top:8px; line-height:1.5; }
.stat.is-teal .num{ color:var(--teal); } .stat.is-pink .num{ color:var(--pink); }

/* ---------- cards ---------- */
.card{ background:#fff; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.card-body{ padding:26px 26px 28px; }
.ico{ width:44px; height:44px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; }
.ico svg{ width:22px; height:22px; stroke-width:1.7; fill:none; stroke:currentColor; }
.ico-teal{ background:rgba(31,169,154,.12); color:var(--teal); }
.ico-pink{ background:rgba(224,112,144,.12); color:var(--pink); }
.ico-navy{ background:rgba(26,40,72,.08); color:var(--navy); }
.tag{ display:inline-block; font-size:11.5px; padding:4px 10px; border-radius:999px; border:1px solid var(--line-strong); color:var(--ink-60); }
.tag-teal{ background:rgba(31,169,154,.1); border-color:transparent; color:var(--teal); }
.tag-pink{ background:rgba(224,112,144,.1); border-color:transparent; color:var(--pink); }
.tag-navy{ background:var(--navy); border-color:transparent; color:#fff; }

/* ---------- hotels ---------- */
.hotel-card .ph{ aspect-ratio:4/3; }
.hotel-card .num{ font-size:34px; color:var(--navy); line-height:1; }

/* ---------- 3 balance diagram ---------- */
.fw{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.fw svg{ width:100%; height:auto; min-width:640px; }
.fw-note{ display:none; font-size:12px; color:var(--ink-45); margin-top:6px; }
@media (max-width:700px){ .fw-note{ display:block; } }
@media print{ .fw{ overflow:visible } .fw svg{ min-width:0 } }

/* ---------- timeline (career) ---------- */
.tl{ position:relative; padding-left:34px; }
.tl::before{ content:""; position:absolute; left:11px; top:6px; bottom:6px; width:2px; background:linear-gradient(180deg, var(--teal) 0 50%, var(--pink) 50% 100%); border-radius:2px; }
.tl-item{ position:relative; padding:0 0 30px; }
.tl-item:last-child{ padding-bottom:0; }
.tl-item::before{ content:""; position:absolute; left:-30px; top:6px; width:16px; height:16px; border-radius:50%; background:#fff; border:3px solid var(--teal); }
.tl-item.is-pink::before{ border-color:var(--pink); }
.tl-item.is-navy::before{ border-color:var(--navy); background:var(--navy); }
.tl-year{ font-family:"Cormorant Garamond",serif; font-size:15px; letter-spacing:.1em; color:var(--ink-45); }
.tl-title{ font-family:"Noto Serif JP",serif; font-size:18px; margin:2px 0 4px; }
.tl-body{ font-size:13.5px; color:var(--ink-60); line-height:1.9; }

/* ---------- steps (selection) ---------- */
.steps{ display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; }
.steps::before{ content:""; position:absolute; left:10%; right:10%; top:26px; height:2px; background:linear-gradient(90deg, var(--teal) 0 50%, var(--pink) 50% 100%); }
.step{ text-align:center; position:relative; padding:0 6px; }
.step-no{ width:52px; height:52px; border-radius:50%; background:#fff; border:2px solid var(--teal); display:inline-flex; align-items:center; justify-content:center; font-family:"Cormorant Garamond",serif; font-size:22px; font-weight:600; color:var(--navy); position:relative; z-index:1; }
.step:nth-child(4) .step-no, .step:nth-child(5) .step-no{ border-color:var(--pink); }
.step:nth-child(5) .step-no{ background:var(--navy); border-color:var(--navy); color:#fff; }
.step-t{ font-family:"Noto Serif JP",serif; font-size:15px; margin-top:12px; }
.step-d{ font-size:12.5px; color:var(--ink-60); margin-top:4px; line-height:1.7; }
@media (max-width:720px){
  .steps{ grid-template-columns:1fr; gap:14px; padding-left:8px; }
  .steps::before{ left:33px; right:auto; top:8%; bottom:8%; width:2px; height:auto; background:linear-gradient(180deg, var(--teal) 0 50%, var(--pink) 50% 100%); }
  .step{ display:grid; grid-template-columns:52px 1fr; gap:14px; text-align:left; align-items:center; }
  .step-t{ margin-top:0; }
}

/* ---------- tabs (募集要項) ---------- */
.tabs{ display:flex; gap:8px; border-bottom:1px solid var(--line); overflow-x:auto; }
.tab{ padding:12px 18px; font-size:14px; font-weight:500; color:var(--ink-60); border:0; background:none; cursor:pointer; white-space:nowrap; position:relative; }
.tab.is-active{ color:var(--navy); }
.tab.is-active::after{ content:""; position:absolute; left:8px; right:8px; bottom:-1px; height:3px; border-radius:2px; background:linear-gradient(90deg, var(--teal) 0 50%, var(--pink) 50% 100%); }
.panel{ display:none; }
.panel.is-active{ display:block; }
.spec{ width:100%; border-collapse:collapse; font-size:14px; }
.spec th{ width:9.5em; text-align:left; vertical-align:top; padding:14px 12px; font-weight:500; color:var(--navy); background:rgba(26,40,72,.04); border-bottom:1px solid var(--line); }
.spec td{ padding:14px 12px; line-height:1.85; border-bottom:1px solid var(--line); color:var(--ink); }
.spec td small{ display:block; color:var(--ink-60); font-size:12.5px; }
@media (max-width:560px){ .spec th{ width:6.5em; padding:12px 10px; font-size:13px; } .spec td{ padding:12px 10px; font-size:13.5px; } }

/* ---------- workstyle bars ---------- */
.bar{ height:10px; border-radius:6px; background:rgba(26,40,72,.08); overflow:hidden; }
.bar > i{ display:block; height:100%; border-radius:6px; }

/* ---------- FAQ ---------- */
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; padding:18px 44px 18px 0; font-size:15px; font-weight:500; position:relative; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:""; position:absolute; right:6px; top:50%; width:10px; height:10px; border-right:2px solid var(--navy); border-bottom:2px solid var(--navy); transform:translateY(-70%) rotate(45deg); transition:transform .2s; }
.faq details[open] summary::after{ transform:translateY(-30%) rotate(225deg); }
.faq .ans{ padding:0 0 20px; font-size:14px; line-height:1.9; color:var(--ink-60); }

/* ---------- gallery ---------- */
.gal{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:150px; gap:10px; }
.gal .ph{ border-radius:12px; }
.gal .g1{ grid-column:span 3; grid-row:span 2; }
.gal .g2{ grid-column:span 3; }
.gal .g3{ grid-column:span 2; }
.gal .g4{ grid-column:span 1; }
@media (max-width:720px){ .gal{ grid-template-columns:repeat(2,1fr); grid-auto-rows:130px; } .gal .g1{ grid-column:span 2; } .gal .g2{ grid-column:span 2; } .gal .g3,.gal .g4{ grid-column:span 1; } }

/* ---------- quick bar (mobile) ---------- */
.quickbar{ position:fixed; inset:auto 0 0 0; z-index:70; background:rgba(255,255,255,.97); border-top:1px solid var(--line); padding:10px 14px calc(10px + env(safe-area-inset-bottom)); display:flex; gap:10px; }
@media (min-width:768px){ .quickbar{ display:none; } }
body{ padding-bottom:74px; }
@media (min-width:768px){ body{ padding-bottom:0; } }

/* ---------- footer ---------- */
.site-footer{ border-top:1px solid var(--line); background:#fff; }
.site-footer a{ color:var(--ink-60); text-decoration:none; font-size:13.5px; }
.site-footer a:hover{ color:var(--navy); }
.ph-fallback{ position:relative; width:100%; height:100%; min-height:180px; overflow:hidden;
  background:linear-gradient(140deg,#F2FAF8 0%,#FFFFFF 52%,#FDF3F6 100%); }
.ph-fallback svg{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.ph-mark{ position:absolute; left:50%; bottom:14px; transform:translateX(-50%);
  font-family:"Cormorant Garamond",serif; font-size:15px; letter-spacing:.24em; color:rgba(26,40,72,.4); white-space:nowrap; }
