/*
 * 見た目（2026-10-24 佐藤が3案から選んだB案「きりっと」）: 白と深い青緑、要所だけオレンジ。写真を画面いっぱいに、角は立てる。
 * 取引先・求職者に向けた「会社」らしい信頼感
 */
:root {
  --bg: #ffffff;
  --bg-alt: #eef3f4;
  --card-bg: #ffffff;
  --text: #1d2b30;
  --muted: #5a6a70;
  --line: #d6e0e3;
  --accent: #0f4c5c;
  --accent-text: #ffffff;
  --accent-2: #0f4c5c;
  --head-font: "Noto Sans JP", var(--body-font);
  --en-font: "Montserrat", var(--body-font);
  --radius: 2px;
  --radius-lg: 4px;
  --shadow: none;
  --page-head-bg: #0f4c5c;
  --footer-bg: #0b3540;
  --footer-text: #e6eef0;
}

.section-en { font-weight: 600; color: #b84a0e; font-size: 13px; letter-spacing: .2em; }
.section-title { position: relative; padding-left: 18px; }
.section-title::before { content: ""; position: absolute; left: 0; top: .25em; bottom: .25em; width: 5px; background: var(--accent); }
.message-body .section-title, .done .section-title { padding-left: 18px; }

/* 下層ページの見出しは青緑の帯に白文字 */
.page-head { color: #fff; }
.page-head .section-en { color: #9fd3de; }
.page-title { letter-spacing: .08em; }

/* トップ: 写真いっぱいに、左下に白い文字 */
.hero-media { position: relative; }
.hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8, 40, 48, .78) 0%, rgba(8, 40, 48, .45) 45%, rgba(8, 40, 48, 0) 75%); }
.hero-media img { height: clamp(420px, 78vh, 760px); object-position: 70% 40%; }
.hero-copy { color: #fff; top: 50%; bottom: auto; transform: translateY(-50%); padding: 0; }
.hero-en { font-family: var(--en-font); font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .24em; color: #9fd3de; }
.hero-title { font-weight: 700; letter-spacing: .06em; }
@media (max-width: 640px) {
  .hero-media::after { background: linear-gradient(0deg, rgba(8, 40, 48, .85) 0%, rgba(8, 40, 48, .4) 55%, rgba(8, 40, 48, 0) 80%); }
  .hero-media img { height: 520px; object-position: 62% 40%; }
  .hero-copy { top: auto; bottom: 0; transform: none; padding-bottom: 32px; }
}

.site-header { box-shadow: 0 1px 0 var(--line); }
.site-nav a { font-weight: 500; }
.site-nav a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--accent); border-radius: 0; }
.site-nav a.nav-cta { background: #b84a0e; }
.btn { letter-spacing: .08em; }
.cta-card { --cta-bg: #0f4c5c; }
.cta-card:nth-child(2) { --cta-bg: #b84a0e; }
.store-mini a { border-left: 4px solid var(--accent); }
.store-name { font-size: 18px; }
.table-list > div { padding-block: 20px; }
.table-list dt { color: var(--accent); }
.steps li { border-radius: 0; }
.message-media img { filter: saturate(.9); }
