/*
Theme Name: Matsudakai
Theme URI: https://sendai-doctor.com
Author: 医療法人松田会
Author URI: https://sendai-doctor.com
Description: 医療法人松田会 医師採用LP専用テーマ
Version: 1.0.0
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: matsudakai
*/

:root {
  --cream: #FAFAFA;
  --warm-white: #FFFFFF;
  --sand: #F7F7F6;
  --warm-gray: #F0F0EE;
  --accent: #2A2A2A;
  --accent-light: #888888;
  --accent-gold: #C9A84C;
  --accent-pale: #F5F5F4;
  --navy: #3A3A3A;
  --dark: #000000;
  --body: #1A1A1A;
  --muted: #666666;
  --border: #E8E8E6;
  --gold: #5A5A5A;
  --gold-pale: #F5F5F3;
  --card: #F7F7F6;
  --line-green: #06c755;
}
*{margin:0;padding:0;box-sizing:border-box}
body {
  margin: 0;
  padding: 0;
  background: #FFFFFF;
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.container {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  background: #FFFFFF;
}

@media (min-width: 768px) {
  body {
    background: #F5F5F4;
  }
  .container {
    box-shadow: 0 0 40px rgba(0,0,0,0.06);
  }
}

.section{padding:64px 28px}
.section--card{background:var(--card)}
.section--white{background:var(--warm-white)}
.section--navy{background:#F2F2F0;color:#2A2A2A}
.section--accent{background:#F7F7F6}

.slabel{display:flex;align-items:center;gap:8px;margin-bottom:14px;opacity:.55;font-size:13px;font-family:'DM Sans',sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.slabel__num{background:var(--border);border-radius:4px;padding:2px 7px;font-weight:700}
.slabel--light{color:#BBB}
.slabel--light .slabel__num{background:#E0E0E0}

h1{font-size:40px;font-weight:700;line-height:1.5;color:var(--dark);letter-spacing:.5px;font-family:'Noto Serif JP',serif}
h2{font-size:28px;font-weight:700;line-height:1.55;color:var(--dark);letter-spacing:.3px;font-family:'Noto Serif JP',serif}
.accent{color:var(--accent)}
.gold{color:var(--gold)}
.body-text{font-size:17px;line-height:2;color:var(--body);font-weight:400}
.muted-text{font-size:14px;line-height:1.85;color:var(--muted);font-weight:400}
.small-label{font-size:13.5px;letter-spacing:2.5px;color:var(--muted);font-family:'DM Sans',sans-serif;text-transform:uppercase;font-weight:600;margin-bottom:16px}
.divider{width:48px;height:1px;background:#D0D0D0;margin:24px 0}
.divider-gold{width:60px;height:3px;background:var(--accent-gold);margin:18px 0 24px;border-radius:2px}

/* FIRST VIEW — NO BUTTONS */
.fv{position:relative;min-height:520px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.fv__bg{position:absolute;inset:0;background:linear-gradient(180deg,#FFFFFF 0%,#F7F7F6 50%,#F0F0EE 100%)}
.fv__circle1{position:absolute;top:-60px;right:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.03) 0%,transparent 70%)}
.fv__circle2{position:absolute;bottom:60px;left:-50px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.02) 0%,transparent 70%)}
.fv__content{position:relative;padding:100px 28px 48px}
.fv h1{font-size:42px;line-height:1.45;letter-spacing:1px;font-family:'Noto Serif JP',serif}

.check-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.check-icon{width:22px;height:22px;min-width:22px;border-radius:6px;background:#888;display:flex;align-items:center;justify-content:center;margin-top:3px;color:#fff;font-size:12px;font-weight:700}
.check-text{font-size:16.5px;line-height:1.85;color:var(--body);font-weight:400}

.story-card{background:#FAFAFA;border-radius:16px;padding:24px 20px;margin-top:16px;border-left:2px solid #DDD}
.story-card:first-of-type{margin-top:24px}
.story-card__label{font-size:11px;color:var(--accent);font-family:'DM Sans',sans-serif;font-weight:600;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}
.story-card p{font-size:16px;line-height:2.05;color:var(--body);margin-top:12px}
.story-card p:first-of-type{margin-top:0}

.transition{background:#F7F7F6;padding:56px 28px;text-align:center}
.transition h2{font-size:21px;font-weight:700}

.feat-card{background:#FFFFFF;border:1px solid #EEEEEE;border-radius:16px;padding:28px 24px;margin-bottom:16px}
.feat-card__icon{font-size:28px;margin-bottom:12px}
.feat-card__title{font-size:18px;font-weight:700;color:var(--dark);margin-bottom:10px;line-height:1.5}
.feat-card__body{font-size:16px;line-height:2;color:var(--body);font-weight:400}

.stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-top:24px}
.stat-card{background:var(--warm-white);border-radius:12px;padding:16px 10px;text-align:center;border:1px solid var(--border)}
.stat-num{font-size:38px;font-weight:700;color:var(--dark);font-family:'DM Sans',sans-serif;line-height:1.1}
.stat-unit{font-size:13px;color:var(--muted)}
.stat-label{font-size:13px;color:var(--body);margin-top:4px;line-height:1.5}

.tl-item{display:flex;gap:16px;margin-bottom:4px}
.tl-time{font-size:14px;font-weight:700;color:var(--dark);font-family:'DM Sans',sans-serif;white-space:nowrap;min-width:50px;padding-top:2px}
.tl-content{flex:1;padding-bottom:16px;border-left:1px solid #E0E0E0;padding-left:16px}
.tl-content h4{font-size:16px;font-weight:700;margin-bottom:2px}
.tl-content p{font-size:14px;color:var(--body);line-height:1.6}

.access-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--border);font-size:15px}
.access-time{font-family:'DM Sans',sans-serif;font-size:26px;font-weight:700;color:var(--dark)}

.req-row{display:flex;border-bottom:1px solid var(--border);padding:14px 0;font-size:14px}
.req-label{font-size:14px;color:var(--muted);width:80px;min-width:80px;font-weight:500}
.req-value{font-size:15px;color:var(--dark);line-height:1.7}
.req-highlight{color:var(--gold);font-weight:700}

.voice-card{background:#FAFAFA;border-radius:16px;padding:24px 20px;margin-bottom:16px;border-left:2px solid #DDD}
.voice-card .voice-name{font-size:14px;font-weight:700;color:var(--dark);margin-bottom:4px}
.voice-card .voice-sub{font-size:11px;color:var(--muted);margin-bottom:12px}
.voice-card p{font-size:16px;line-height:2.05;color:var(--body);font-style:italic}

.entry{background:#F7F7F6;padding:56px 28px}
.form-box{background:var(--warm-white);border-radius:20px;padding:28px 24px;box-shadow:0 4px 24px rgba(0,0,0,.06);margin-top:28px}
.form-group{margin-bottom:20px}
.form-label{font-size:14px;color:var(--muted);display:block;margin-bottom:6px;font-weight:600}
.form-input{width:100%;padding:12px 16px;border-radius:10px;border:1px solid var(--border);font-size:16px;font-family:'Noto Sans JP',sans-serif;background:var(--card);outline:none}
.form-input:focus{border-color:var(--accent)}
.btn-primary{width:100%;padding:16px;border-radius:50px;background:#555;color:#fff;border:none;font-size:15px;font-weight:600;font-family:'Noto Sans JP',sans-serif;cursor:pointer;letter-spacing:1px}
.btn-line{width:100%;padding:16px;border-radius:50px;background:var(--line-green);color:#fff;border:none;font-size:15px;font-weight:600;font-family:'Noto Sans JP',sans-serif;cursor:pointer;letter-spacing:1px;margin-top:10px;display:inline-block;text-align:center;text-decoration:none}

.footer{background:#444;color:#fff;padding:40px 28px 32px}
.footer__name{font-size:14px;font-weight:600;margin-bottom:8px;letter-spacing:1px}
.footer__info{font-size:12px;color:#aaa;line-height:1.8;margin-bottom:20px}
.footer__copy{border-top:1px solid #444;padding-top:16px;font-size:10px;color:#777;line-height:1.6}

/* RECRUIT ACCORDION */
.acc{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;overflow:hidden;transition:box-shadow .3s}
.acc:hover{box-shadow:0 2px 10px rgba(0,0,0,.05)}
.acc-h{display:flex;align-items:center;padding:14px 16px;cursor:pointer;background:var(--warm-white);user-select:none}
.acc-h:active{background:var(--cream)}
.acc-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;margin-right:12px;flex-shrink:0}
.acc-name{flex:1}
.acc-name h3{font-size:16px;font-weight:700;color:var(--dark)}
.acc-name .ds{font-size:13px;color:var(--muted);margin-top:2px}
.acc-arrow{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--muted);transition:transform .3s}
.acc.open .acc-arrow{transform:rotate(180deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.acc.open .acc-body{max-height:1400px}
.acc-inner{padding:0 16px 20px}
.psr-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-bottom:14px}
.psr-c{padding:10px;border-radius:8px;font-size:13px;line-height:1.6}
.psr-c.p{background:#FAFAFA;border-top:2px solid #BBB}
.psr-c.s{background:#FAFAFA;border-top:2px solid #888}
.psr-c.r{background:#FAFAFA;border-top:2px solid #555}
.psr-c .lb{font:700 10px/1 'DM Sans',sans-serif;letter-spacing:1.5px;margin-bottom:4px}
.psr-c.p .lb{color:#BBB}.psr-c.s .lb{color:#888}.psr-c.r .lb{color:#555}
.psr-c p{color:var(--dark)}
.rtbl{width:100%;border-collapse:collapse;font-size:13px;font-family:'Noto Sans JP',sans-serif}
.rtbl th{background:var(--card);text-align:left;padding:8px 10px;font-size:13px;font-weight:700;color:var(--dark);width:64px;border-bottom:1px solid var(--border);vertical-align:top}
.rtbl td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--body);line-height:1.7}
.rtbl tr:last-child th,.rtbl tr:last-child td{border-bottom:none}
.acc-cta{margin-top:12px}
.acc-cta a{display:flex;align-items:center;justify-content:center;padding:10px;border-radius:50px;font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;background:var(--line-green);color:#fff;letter-spacing:.5px}

/* FLOATING CTA — LINE */
.float-cta {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 600px;
  padding: 12px 24px 20px;
  z-index: 200;
  background: linear-gradient(0deg, rgba(255,255,255,0.97) 60%, transparent);
}
.float-cta__inner{display:flex;gap:8px}
.float-cta button, .float-cta a{flex:1;padding:14px;border-radius:50px;border:none;font-size:14px;font-weight:600;font-family:'Noto Sans JP',sans-serif;cursor:pointer;letter-spacing:.5px;text-align:center;text-decoration:none}
.float-cta .fc-line{background:var(--line-green);color:#fff;box-shadow:0 4px 20px rgba(6,199,85,.4)}
.float-cta .fc-text{background:transparent;color:rgba(255,255,255,.8);font-size:11px;padding:0;flex:none;cursor:default;letter-spacing:0}

.badge{position:fixed;top:16px;right:16px;background:rgba(0,0,0,.7);color:#fff;font-family:'DM Sans',sans-serif;font-size:10px;padding:6px 12px;border-radius:20px;z-index:1000;letter-spacing:1px}

/* SIDE PANEL (legacy mock styles — HTML removed in Stage 2-A) */
.side-panel{display:none;max-width:280px;padding-top:20px;position:sticky;top:40px;background:#FFF;border-radius:16px;padding:24px 20px;border:1px solid #E8E8E6}
.side-panel h2{font-size:14px;font-weight:600;color:#555;margin-bottom:4px;font-family:'DM Sans',sans-serif;letter-spacing:.5px}
.side-panel .sp-sub{font-size:18px;font-weight:500;color:#3A3A3A;margin-bottom:20px;line-height:1.6}
.sp-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #F0F0EE;font-size:12px;color:#777;text-decoration:none;transition:color .2s}
.sp-item:hover{color:var(--accent)}
.sp-num{font-family:'DM Sans',sans-serif;font-weight:700;color:var(--muted);width:20px}
.sp-tag{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:1px;margin-left:auto}
.tag-r{background:#888;color:#fff}
.tag-p{background:#AAA;color:#fff}
.tag-s{background:#BBB;color:#fff}
.tag-c{background:var(--line-green);color:#fff}
.tag-n{background:#999;color:#fff}

.quote-block{border-left:3px solid var(--accent-light);padding:20px 20px 20px 24px;background:var(--card);border-radius:0 12px 12px 0;margin:20px 0}
.quote-block p{font-size:14px;line-height:2;color:var(--body);font-style:italic}

/* CAROUSEL */
.carousel{position:relative;border-radius:12px;overflow:hidden;margin-top:24px}
.carousel__track{display:flex;transition:transform .8s cubic-bezier(.4,0,.2,1);will-change:transform}
.carousel__slide{min-width:100%;position:relative}
.carousel__slide img{width:100%;height:220px;object-fit:cover;display:block}
.carousel__overlay{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:linear-gradient(0deg,rgba(0,0,0,.5) 0%,transparent 100%)}
.carousel__caption{font-size:11px;color:rgba(255,255,255,.92);font-family:'DM Sans',sans-serif;letter-spacing:.5px}
.carousel__dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.carousel__dot{width:6px;height:6px;border-radius:50%;background:#DDD;transition:all .3s;cursor:pointer}
.carousel__dot.active{width:20px;border-radius:3px;background:#888}
/* PHOTO GRID */
.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}
.photo-grid__item{border-radius:10px;overflow:hidden;position:relative}
.photo-grid__item img{width:100%;height:110px;object-fit:cover;display:block}
.photo-grid__item--wide{grid-column:1/-1}
.photo-grid__item--wide img{height:140px}
.photo-grid__label{position:absolute;bottom:0;left:0;right:0;padding:8px 12px;background:linear-gradient(0deg,rgba(0,0,0,.5),transparent);font-size:13px;color:rgba(255,255,255,.9);font-family:'DM Sans',sans-serif;letter-spacing:.5px}
/* SECTION PHOTO */
.section-photo{border-radius:12px;overflow:hidden;margin:20px 0}
.section-photo img{width:100%;height:160px;object-fit:cover;display:block}

/* IMAGE PLACEHOLDER */
.image-placeholder {
  background: linear-gradient(135deg, #F0F0EE 0%, #E8E8E6 100%);
  height: 220px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px 0;
}
.image-placeholder__label {
  font-family: 'DM Sans', sans-serif;
  font-size: 13px;
  letter-spacing: 3px;
  color: #AAAAAA;
  font-weight: 600;
}

/* ============================================
   Snow Monkey Forms — v7 design integration
   ============================================ */

/* 1. Form reset */
.form-box .snow-monkey-form,
.form-box .smf-form {
  background: transparent;
  box-shadow: none;
  padding: 0;
  max-width: 100%;
}

/* 2. Labels */
.form-box .smf-item__col--label {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px !important;
  color: var(--muted);
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
}

.form-box .smf-item__col--label label {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px !important;
  color: var(--muted);
  font-weight: 600;
}

/* 3. Text & email inputs */
.form-box .smf-text-control__control,
.form-box .smf-textarea-control__control {
  width: 100%;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid var(--border);
  font-size: 16px !important;
  font-family: 'Noto Sans JP', sans-serif;
  background: var(--card);
  outline: none;
  box-shadow: none;
  max-width: 100%;
  box-sizing: border-box;
}

.form-box .smf-text-control__control:focus,
.form-box .smf-textarea-control__control:focus {
  border-color: var(--accent);
}

/* 4. Select boxes */
.form-box .smf-select-control__control {
  width: 100%;
  padding: 12px 16px;
  border-radius: 10px;
  border: 1px solid var(--border);
  font-size: 16px !important;
  font-family: 'Noto Sans JP', sans-serif;
  background: var(--card);
  outline: none;
  appearance: auto;
  -webkit-appearance: auto;
  max-width: 100%;
  box-sizing: border-box;
}

/* 5. Field spacing */
.form-box .wp-block-snow-monkey-forms-item,
.form-box .smf-item {
  margin-bottom: 20px;
}

/* 6. Submit buttons */
.form-box .smf-action {
  margin-top: 16px;
}

.form-box .smf-button-control__control,
.form-box .smf-action button {
  width: 100%;
  padding: 16px;
  border-radius: 50px;
  background: #555;
  color: #fff;
  border: none;
  font-size: 15px;
  font-weight: 600;
  font-family: 'Noto Sans JP', sans-serif;
  cursor: pointer;
  letter-spacing: 1px;
  transition: background 0.2s;
}

.form-box .smf-button-control__control:hover,
.form-box .smf-action button:hover {
  background: #444;
}

/* 7. Confirm / complete screen display values */
.form-box .smf-text-control__display,
.form-box .smf-textarea-control__display,
.form-box .smf-select-control__display,
.form-box .smf-email-control__display {
  display: block;
  padding: 8px 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  color: var(--dark);
  border-bottom: 1px solid var(--border);
}

/* 8. Error messages */
.form-box .smf-error-messages {
  color: #c00;
  font-size: 12px;
  margin-top: 6px;
  font-family: 'Noto Sans JP', sans-serif;
}

/* 10. Mobile note paragraph */
.form-box > p {
  max-width: 100%;
  font-size: 13px;
  color: var(--muted);
  text-align: center;
  margin-top: 14px;
  line-height: 1.85;
  padding: 0 8px;
  box-sizing: border-box;
}

/* ============================================
   Targeted Size Override — 5 specific sections
   福生病院LP相当のサイズに引き上げ
   ============================================ */

/* === 1. FV sub-copy === */
.fv .muted-text,
.fv .fv__content .muted-text,
.fv .fv__content p {
  font-size: 14px;
  line-height: 1.95;
  color: var(--body);
}

/* === 2. Story card label & title (Section 03 EMPATHY STORY) === */
.story-card__label {
  font-size: 16px;
  letter-spacing: 2px;
  margin-bottom: 18px;
}

.story-card h3,
.story-card h4 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--dark);
  margin-bottom: 12px;
}

.story-card [class*="story-"][class*="-title"],
.story-card .story-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

/* === 3. Area info cards (教育・レジャー・ショッピング) === */
.feat-card {
  padding: 32px 24px;
}

.feat-card__icon {
  font-size: 34px;
  margin-bottom: 14px;
}

.feat-card__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 12px;
}

.feat-card__body {
  font-size: 17px;
  line-height: 2;
}

/* === 4. Voice card (Section 08 VOICE) === */
.voice-card {
  background: #FAFAFA;
  border-radius: 16px;
  padding: 24px 20px;
  margin-bottom: 16px;
  border-left: 2px solid #DDD;
}

.voice-card .voice-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 4px;
}

.voice-card .voice-sub {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 12px;
}

.voice-card p {
  font-size: 16px;
  line-height: 2;
  color: var(--body);
  font-style: italic;
}

/* === 5. Accordion (診療科別募集要項 Section 11) === */
.acc-h {
  padding: 20px 18px;
}

.acc-icon {
  width: 44px;
  height: 44px;
  font-size: 20px;
  margin-right: 14px;
}

.acc-name h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.acc-name .ds {
  font-size: 14px;
  margin-top: 6px;
}

.acc-inner {
  padding: 0 18px 24px;
}

.psr-row {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 12px;
  margin-bottom: 22px;
}

.psr-c {
  padding: 20px 18px;
  border-radius: 12px;
  border-top: none;
  border-left: 3px solid;
  background: var(--card);
  font-size: 17px;
  line-height: 1.7;
}

.psr-c.p { border-left-color: #BBB; }
.psr-c.s { border-left-color: #888; }
.psr-c.r { border-left-color: #555; }
.psr-c.p .lb { color: #888; }
.psr-c.s .lb { color: #555; }
.psr-c.r .lb { color: var(--dark); }

.psr-c .lb {
  font: 700 22px/1 'DM Sans', sans-serif;
  letter-spacing: 3px;
  margin-bottom: 14px;
  display: block;
}

.psr-c p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--dark);
  font-weight: 500;
}

.rtbl {
  font-size: 15px;
}

.rtbl th {
  padding: 14px 12px;
  font-size: 15px;
  width: 76px;
}

.rtbl td {
  padding: 14px 12px;
  font-size: 15px;
  line-height: 1.8;
}

.acc-cta a {
  padding: 16px;
  font-size: 15px;
}

/* Voice detail (三浦先生 5項目インタビュー詳細) */
.voice-detail {
  background: var(--card);
  border-radius: 12px;
  padding: 24px 22px;
  margin-bottom: 14px;
}

.voice-detail > div:first-child {
  font-size: 20px !important;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 12px;
  line-height: 1.4;
}

.voice-detail p {
  font-size: 18px !important;
  line-height: 1.9;
  margin: 0;
  color: var(--body);
}

/* Interview photo (医師の声セクション) */
.interview-photo {
  margin: 24px 0;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
}

.interview-photo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
}

.interview-photo__caption {
  display: block;
  font-size: 12px;
  color: var(--muted);
  text-align: right;
  margin-top: 8px;
  padding-right: 4px;
}

/* ===== FLOATING HEADER (sticky) ===== */
.floating-header{position:sticky;top:12px;margin:12px auto 0;max-width:min(560px,calc(100% - 40px));background:rgba(255,255,255,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:14px;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 4px 20px rgba(0,0,0,.13);z-index:50;border:1px solid rgba(201,168,76,.18)}
.header-brand{display:flex;flex-direction:column;min-width:0}
.header-hospital-name{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:700;color:#2A2A2A;letter-spacing:.5px;line-height:1.2}
.header-subtitle{display:flex;align-items:center;gap:7px;margin-top:3px}
.header-subtitle .en{font:700 8.5px/1 'DM Sans',sans-serif;letter-spacing:1.5px;color:#C9A84C}
.header-subtitle .divider-v{width:1px;height:9px;background:#D8C99E}
.header-subtitle .ja{font-size:10.5px;color:#999999;font-weight:600}
.header-cta{background:#C9A84C;color:#fff;text-decoration:none;font-family:'Noto Serif JP',serif;font-size:11.5px;font-weight:600;padding:9px 16px;border-radius:8px;box-shadow:0 3px 10px rgba(201,168,76,.32);white-space:nowrap;letter-spacing:.5px}
