/* ==========================================================
   あわらタイムズ｜共通CSS
   AWT COMMON
   2026-09-15

   方針
   - SWELLを土台として使用
   - ヘッダーはSWELL標準
   - フッターは Blog Parts ID 1034 の独自HTML
   - 固定ページ共通基盤は .awt-page 配下で管理
   - ガイド固有デザインは別CSSへ分離
   - 修正版を末尾へ継ぎ足さず、このファイル自体を常に最新版へ更新
   ========================================================== */

@import url("https://fonts.googleapis.com/css2?family=Yuji+Syuku&display=swap");


/* ==========================================================
   01. DESIGN TOKENS
   ========================================================== */

:root {
  --awt-navy: #102a3a;
  --awt-text: #25343d;
  --awt-muted: #667680;

  --awt-green: #27846b;
  --awt-green-dark: #1f6d58;
  --awt-green-soft: #edf7f3;

  --awt-blue: #2d7fb8;
  --awt-blue-soft: #eef6fb;

  --awt-red: #c94755;
  --awt-red-soft: #fff3f5;

  --awt-yellow: #b98516;
  --awt-yellow-soft: #fff8e8;

  --awt-border: #dce5e9;
  --awt-border-soft: #eaf0f2;

  --awt-bg: #ffffff;
  --awt-bg-soft: #f7faf9;

  --awt-focus: #086ac4;

  --awt-container: 1180px;
  --awt-wide: 1280px;
  --awt-reading: 860px;

  --awt-radius-sm: 10px;
  --awt-radius-md: 14px;
  --awt-radius-lg: 18px;

  --awt-shadow-sm: 0 4px 14px rgba(16, 42, 58, .05);
  --awt-shadow-md: 0 8px 24px rgba(16, 42, 58, .07);
  --awt-shadow-header: 0 5px 18px rgba(16, 42, 58, .07);

  --awt-transition: .18s ease;
}


/* ==========================================================
   02. SWELL COMMON ADJUSTMENTS
   ========================================================== */

/*
 * 旧CSSにあった
 * .c-pageTitle,
 * .p-breadcrumb { display:none; }
 * は廃止。
 *
 * ページタイトルとパンくずはSWELL標準を基本として表示する。
 */

body.page .c-pageTitle {
  color: var(--awt-navy);
}

/* 固定ページタイトルは装飾を増やさず、読みやすさだけ整える */
body.page .c-pageTitle,
body.page .c-pageTitle__inner {
  float: none;
}

body.page .c-pageTitle {
  font-size: clamp(30px, 3.1vw, 42px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.02em;
}

/* パンくず */
body.page .p-breadcrumb {
  color: var(--awt-muted);
  font-size: 12px;
}

/* フォーカスをキーボード操作時に明確化 */
:where(
  #header,
  #fix_header,
  #awt-common-footer,
  .awt-page
) a:focus-visible,
:where(
  #header,
  #fix_header,
  #awt-common-footer,
  .awt-page
) button:focus-visible {
  outline: 3px solid var(--awt-focus);
  outline-offset: 3px;
}


/* ==========================================================
   03. COMMON HEADER
   SWELL標準ヘッダーを使用
   ========================================================== */

/* 通常ヘッダー */
#header.l-header,
.l-header {
  background: #fff;
  border-bottom: 1px solid var(--awt-border-soft);
  box-shadow: none;
}

/* ヘッダー内部の最大幅だけ統一 */
#header .l-header__inner,
.l-header .l-header__inner {
  width: 100%;
  max-width: var(--awt-wide);
  margin-inline: auto;
}

/* ロゴはSWELLカスタマイザーのサイズ指定を尊重 */
.l-header__logo {
  min-width: 0;
}

/* PCグローバルナビ */
@media (min-width: 960px) {

  .l-header__gnav .c-gnav {
    column-gap: 2px;
  }

  .l-header__gnav .c-gnav > .menu-item > a {
    position: relative;
    padding-inline: 11px;
    color: var(--awt-navy);
  }

  .l-header__gnav .c-gnav > .menu-item > a .ttl {
    color: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .015em;
    white-space: nowrap;
    transition: color var(--awt-transition);
  }

  .l-header__gnav .c-gnav > .menu-item > a::after {
    height: 2px;
    background: var(--awt-green);
  }

  .l-header__gnav .c-gnav > .menu-item:hover > a,
  .l-header__gnav .c-gnav > .menu-item:focus-within > a {
    color: var(--awt-green-dark);
  }

  /*
   * 最優先入口「目的から探す」
   * グローバルナビ1番目を控えめに強調。
   */
  .l-header__gnav .c-gnav > .menu-item:first-child > a .ttl {
    color: var(--awt-green-dark);
    font-weight: 800;
  }
}


/* 追従ヘッダー */
#fix_header.l-fixHeader,
.l-fixHeader {
  background: rgba(255, 255, 255, .98);
  border-bottom: 1px solid var(--awt-border-soft);
  box-shadow: var(--awt-shadow-header);
  backdrop-filter: blur(8px);
}

#fix_header .l-fixHeader__inner,
.l-fixHeader .l-fixHeader__inner {
  width: 100%;
  max-width: var(--awt-wide);
  margin-inline: auto;
}

@media (min-width: 960px) {

  .l-fixHeader .c-gnav {
    column-gap: 2px;
  }

  .l-fixHeader .c-gnav > .menu-item > a {
    position: relative;
    padding-inline: 11px;
    color: var(--awt-navy);
  }

  .l-fixHeader .c-gnav > .menu-item > a .ttl {
    color: inherit;
    font-size: 13.5px;
    font-weight: 700;
    letter-spacing: .015em;
    white-space: nowrap;
  }

  .l-fixHeader .c-gnav > .menu-item > a::after {
    height: 2px;
    background: var(--awt-green);
  }

  .l-fixHeader .c-gnav > .menu-item:first-child > a .ttl {
    color: var(--awt-green-dark);
    font-weight: 800;
  }
}


/* 検索・メニューボタン：タップ領域を確保 */
.l-header__customBtn,
.l-header__menuBtn,
.l-fixHeader__customBtn,
.l-fixHeader__menuBtn {
  min-width: 44px;
  min-height: 44px;
}

/* ヘッダー内アイコン */
#header .c-iconBtn,
#fix_header .c-iconBtn {
  color: var(--awt-navy);
}


/* ==========================================================
   04. COMMON TYPOGRAPHY
   標準固定ページは .awt-page をルートにする
   ========================================================== */

.awt-page {
  color: var(--awt-text);
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    "Noto Sans JP",
    sans-serif;
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: .01em;
  overflow-wrap: anywhere;
}

.awt-page,
.awt-page *,
.awt-page *::before,
.awt-page *::after {
  box-sizing: border-box;
}

.awt-page img {
  display: block;
  max-width: 100%;
  height: auto;
}

.awt-page p {
  margin: 0 0 1.15em;
}

.awt-page strong {
  color: var(--awt-navy);
  font-weight: 800;
}

/* 本文リンクは「リンクである」ことが分かるよう下線あり */
.awt-page a:not(.awt-btn):not(.awt-card):not(.awt-link-card) {
  color: var(--awt-blue);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .2em;
}

.awt-page a:not(.awt-btn):not(.awt-card):not(.awt-link-card):hover {
  color: #1c648f;
}


/* ---------- H1 ---------- */

/*
 * .awt-page 内に独自H1を置く場合の共通形。
 * SWELL標準タイトルを使うページでは .c-pageTitle がH1になるため、
 * 本文内でH1を重複させない。
 */
.awt-page h1 {
  margin: 0 0 18px;
  padding: 0 !important;
  color: var(--awt-navy) !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: clamp(30px, 3.1vw, 42px);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -.02em;
}

.awt-page h1::before,
.awt-page h1::after {
  content: none !important;
  display: none !important;
}


/* ---------- H2 ---------- */

.awt-page h2 {
  margin: 2.4em 0 .85em;
  padding: 2px 0 2px 15px !important;
  color: var(--awt-navy) !important;
  background: none !important;
  border: 0 !important;
  border-left: 4px solid var(--awt-guide-accent, var(--awt-green)) !important;
  box-shadow: none !important;
  font-size: clamp(23px, 2.2vw, 29px);
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: -.015em;
}

.awt-page h2::before,
.awt-page h2::after {
  content: none !important;
  display: none !important;
}


/* ---------- H3 ---------- */

.awt-page h3 {
  margin: 2em 0 .75em;
  padding: 0 0 8px !important;
  color: var(--awt-navy) !important;
  background: none !important;
  border: 0 !important;
  border-bottom: 1px solid var(--awt-border) !important;
  box-shadow: none !important;
  font-size: clamp(19px, 1.8vw, 23px);
  font-weight: 800;
  line-height: 1.5;
}

.awt-page h3::before,
.awt-page h3::after {
  content: none !important;
  display: none !important;
}


/* ---------- H4 ---------- */

.awt-page h4 {
  position: relative;
  margin: 1.7em 0 .65em;
  padding: 0 0 0 14px !important;
  color: var(--awt-navy) !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.55;
}

.awt-page h4::before {
  position: absolute;
  top: .55em;
  left: 0;
  width: 6px;
  height: 6px;
  content: "";
  background: var(--awt-guide-accent, var(--awt-green));
  border-radius: 50%;
}

.awt-page h4::after {
  content: none !important;
  display: none !important;
}


/* ---------- リスト ---------- */

.awt-page :where(ul, ol) {
  margin: 1em 0 1.4em;
  padding-left: 1.5em;
}

.awt-page li {
  margin: .35em 0;
}

.awt-page li::marker {
  color: var(--awt-guide-accent, var(--awt-green));
  font-weight: 800;
}


/* ---------- 引用 ---------- */

.awt-page blockquote {
  margin: 1.5em 0;
  padding: 16px 18px;
  color: #4f626c;
  background: var(--awt-bg-soft);
  border: 0;
  border-left: 4px solid var(--awt-border);
  border-radius: 0 var(--awt-radius-sm) var(--awt-radius-sm) 0;
}

.awt-page blockquote > :last-child {
  margin-bottom: 0;
}


/* ---------- 表 ---------- */

.awt-page .awt-table-wrap {
  overflow-x: auto;
  margin: 1.5em 0;
  -webkit-overflow-scrolling: touch;
}

.awt-page table {
  width: 100%;
  min-width: 620px;
  margin: 0;
  border-collapse: collapse;
  background: #fff;
}

.awt-page th,
.awt-page td {
  padding: 12px 14px;
  border: 1px solid var(--awt-border);
  text-align: left;
  vertical-align: top;
}

.awt-page th {
  color: var(--awt-navy);
  background: var(--awt-green-soft);
  font-weight: 800;
}


/* ==========================================================
   05. COMMON PAGE LAYOUT
   ========================================================== */

/*
 * 標準固定ページのHTML:
 *
 * <div class="awt-page">
 *   <div class="awt-page__inner">
 *     ...
 *   </div>
 * </div>
 *
 * 1カラム・読みやすい幅を基本とする。
 */

.awt-page {
  --awt-guide-accent: var(--awt-green);
  width: 100%;
}

.awt-page__inner {
  width: min(var(--awt-reading), calc(100% - 40px));
  margin-inline: auto;
  padding: 10px 0 64px;
}

.awt-page__inner--wide {
  width: min(var(--awt-container), calc(100% - 40px));
}

.awt-page__lead {
  margin: 0 0 30px;
  color: #48606d;
  font-size: 18px;
  line-height: 1.9;
}

.awt-page__lead > :last-child {
  margin-bottom: 0;
}

.awt-page__eyebrow {
  margin: 0 0 8px;
  color: var(--awt-guide-accent, var(--awt-green));
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
}

.awt-page__section {
  margin: 0 0 42px;
}

.awt-page__section:last-child {
  margin-bottom: 0;
}

/* セクション間を空白だけでなく薄い境界で整理したい場合 */
.awt-page__section--separated {
  padding-top: 34px;
  border-top: 1px solid var(--awt-border-soft);
}


/* ==========================================================
   06. COMMON COMPONENTS
   ========================================================== */

/* ---------- 「まず知りたいこと」 ---------- */

.awt-summary {
  margin: 0 0 34px;
  padding: 20px 22px;
  background: var(--awt-green-soft);
  border: 1px solid #d6e9e1;
  border-radius: var(--awt-radius-md);
}

.awt-summary__label {
  display: block;
  margin-bottom: 7px;
  color: var(--awt-green-dark);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
}

.awt-summary__title {
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--awt-navy) !important;
  background: none !important;
  border: 0 !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
}

.awt-summary__title::before,
.awt-summary__title::after {
  content: none !important;
  display: none !important;
}

.awt-summary p:last-child {
  margin-bottom: 0;
}


/* ---------- 共通ボックス ---------- */

.awt-box {
  --awt-box-accent: var(--awt-green);
  --awt-box-bg: var(--awt-green-soft);

  margin: 1.5em 0;
  padding: 18px 20px;
  background: var(--awt-box-bg);
  border: 1px solid color-mix(in srgb, var(--awt-box-accent) 25%, white);
  border-radius: var(--awt-radius-md);
}

.awt-box--info {
  --awt-box-accent: var(--awt-blue);
  --awt-box-bg: var(--awt-blue-soft);
}

.awt-box--important {
  --awt-box-accent: var(--awt-red);
  --awt-box-bg: var(--awt-red-soft);
}

.awt-box--note {
  --awt-box-accent: var(--awt-yellow);
  --awt-box-bg: var(--awt-yellow-soft);
}

.awt-box__label {
  display: block;
  margin-bottom: 6px;
  color: var(--awt-box-accent);
  font-size: 13px;
  font-weight: 800;
}

.awt-box__title {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: var(--awt-navy) !important;
  background: none !important;
  border: 0 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.awt-box__title::before,
.awt-box__title::after {
  content: none !important;
  display: none !important;
}

.awt-box > :last-child {
  margin-bottom: 0;
}


/* ---------- ボタン ---------- */

.awt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 18px;
  color: #fff !important;
  background: var(--awt-guide-accent, var(--awt-green));
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
  text-decoration: none !important;
  transition:
    transform var(--awt-transition),
    background var(--awt-transition),
    box-shadow var(--awt-transition);
}

.awt-btn:hover {
  transform: translateY(-1px);
  background: var(--awt-green-dark);
  box-shadow: var(--awt-shadow-sm);
}

.awt-btn--secondary {
  color: var(--awt-navy) !important;
  background: #fff;
  border-color: var(--awt-border);
}

.awt-btn--secondary:hover {
  background: var(--awt-bg-soft);
}


/* ---------- 導線カード ---------- */

.awt-link-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 64px;
  padding: 14px 16px;
  color: var(--awt-navy) !important;
  background: #fff;
  border: 1px solid var(--awt-border);
  border-radius: var(--awt-radius-md);
  box-shadow: none;
  text-decoration: none !important;
  transition:
    border-color var(--awt-transition),
    box-shadow var(--awt-transition),
    transform var(--awt-transition);
}

.awt-link-card:hover {
  transform: translateY(-1px);
  border-color: #b9d3c9;
  box-shadow: var(--awt-shadow-sm);
}

.awt-link-card strong {
  display: block;
  color: var(--awt-navy);
  font-size: 16px;
  line-height: 1.45;
}

.awt-link-card small {
  display: block;
  margin-top: 3px;
  color: var(--awt-muted);
  font-size: 13px;
  line-height: 1.5;
}

.awt-link-card__arrow {
  color: var(--awt-guide-accent, var(--awt-green));
  font-size: 20px;
}


/* ---------- 関連ページ等のリスト ---------- */

.awt-link-list {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
}


/* ---------- 公式情報 ---------- */

.awt-official {
  margin-top: 34px;
  padding: 18px 20px;
  background: #f6f8f9;
  border: 1px solid var(--awt-border);
  border-radius: var(--awt-radius-md);
}

.awt-official__label {
  display: block;
  margin-bottom: 6px;
  color: var(--awt-muted);
  font-size: 12px;
  font-weight: 800;
}

.awt-official p {
  margin-bottom: .7em;
}

.awt-official > :last-child {
  margin-bottom: 0;
}


/* ==========================================================
   07. COMMON FOOTER
   Blog Parts ID: 1034
   HTML: #awt-common-footer
   ========================================================== */

#awt-common-footer {
  /*
   * フッター全体は画面幅いっぱいまで広げる。
   * 街並み画像・ロゴ・ナビ等の内側配置は各コンテナ幅を維持する。
   */
  width: 100vw;
  max-width: 100vw;
  margin-top: 64px;
  margin-right: calc(50% - 50vw);
  margin-bottom: 0;
  margin-left: calc(50% - 50vw);
  color: var(--awt-text);
  background: #fff;
  overflow-x: clip;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    "Noto Sans JP",
    sans-serif;
}

#awt-common-footer,
#awt-common-footer *,
#awt-common-footer *::before,
#awt-common-footer *::after {
  box-sizing: border-box;
}

#awt-common-footer a {
  color: inherit;
  text-decoration: none;
}

#awt-common-footer img {
  display: block;
  max-width: 100%;
  height: auto;
}


/* ---------- 街並み ---------- */

#awt-common-footer .awt-cf-town {
  width: min(1220px, calc(100% - 40px));
  margin: 0 auto;
  padding-top: 8px;
}

#awt-common-footer .awt-cf-town img {
  width: 100%;
  max-width: 1180px;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
  object-position: center bottom;
}


/* ---------- 本体 ---------- */

#awt-common-footer .awt-cf-main {
  margin-top: -1px;
  background:
    linear-gradient(
      180deg,
      #f8fcfa 0%,
      #ffffff 100%
    );
  border-top: 1px solid #e3ece8;
}

#awt-common-footer .awt-cf-container {
  width: min(var(--awt-container), calc(100% - 48px));
  margin-inline: auto;
}

/*
 * PC:
 * ブランド | 右ナビエリア
 * 注意書きは下段いっぱい
 */
#awt-common-footer .awt-cf-layout {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(520px, 1.2fr);
  gap: 34px 64px;
  align-items: start;
  padding: 34px 0 30px;
}


/* ---------- ブランド ---------- */

#awt-common-footer .awt-cf-brand {
  min-width: 0;
}

#awt-common-footer .awt-cf-logo {
  display: inline-block;
}

#awt-common-footer .awt-cf-logo img {
  width: auto;
  max-width: 230px;
  height: auto;
}

#awt-common-footer .awt-cf-message {
  margin: 17px 0 0;
  color: #355870;
  font-family: "Yuji Syuku", "Yu Mincho", serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .02em;
  transform: rotate(-1deg);
}


/* ---------- ナビ全体 ---------- */

#awt-common-footer .awt-cf-nav-area {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  min-width: 0;
}

#awt-common-footer .awt-cf-nav-group {
  min-width: 0;
}

#awt-common-footer .awt-cf-nav-title {
  margin: 0 0 8px;
  color: var(--awt-green-dark);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .04em;
}

#awt-common-footer .awt-cf-nav {
  display: grid;
  align-content: start;
  border-top: 1px solid var(--awt-border);
}

#awt-common-footer .awt-cf-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 46px;
  padding: 9px 2px;
  color: #38566a;
  border-bottom: 1px solid var(--awt-border);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  transition:
    color var(--awt-transition),
    padding-left var(--awt-transition);
}

/* HTML側にある矢印だけを使用。疑似要素では追加しない */
#awt-common-footer .awt-cf-nav a span {
  flex: 0 0 auto;
  color: #7e9e92;
  font-size: 17px;
  font-weight: 500;
  line-height: 1;
  transition: transform var(--awt-transition);
}

#awt-common-footer .awt-cf-nav a:hover {
  padding-left: 5px;
  color: var(--awt-green-dark);
}

#awt-common-footer .awt-cf-nav a:hover span {
  transform: translateX(2px);
}


/* ---------- 注意書き ---------- */

#awt-common-footer .awt-cf-notes {
  grid-column: 1 / -1;
  padding-top: 18px;
  color: #718188;
  border-top: 1px solid #e7eeeb;
  font-size: 11.5px;
  line-height: 1.85;
}

#awt-common-footer .awt-cf-notes p {
  max-width: 900px;
  margin: 0;
}


/* ---------- 最下部 ---------- */

#awt-common-footer .awt-cf-copyright {
  background: #4f9470;
}

#awt-common-footer .awt-cf-copyright__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 54px;
  color: #fff;
  font-size: 11px;
  line-height: 1.6;
}

#awt-common-footer .awt-cf-copyright__inner span:last-child {
  opacity: .9;
}


/* ==========================================================
   08. SWELL BEFORE-FOOTER WIDGET
   ========================================================== */

/* ブログパーツを入れる「フッター直前」の余白を整理 */
#before_footer_widget,
.w-beforeFooter,
.l-footer__before {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* 共通フッターが入った時だけ全幅化 */
#before_footer_widget:has(#awt-common-footer),
.w-beforeFooter:has(#awt-common-footer),
.l-footer__before:has(#awt-common-footer) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}

#before_footer_widget:has(#awt-common-footer) > *,
.w-beforeFooter:has(#awt-common-footer) > *,
.l-footer__before:has(#awt-common-footer) > * {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/*
 * 独自フッターがあるページでは
 * SWELL標準フッターを非表示。
 */
body:has(#awt-common-footer) .l-footer,
body:has(#awt-common-footer) footer#footer.l-footer {
  display: none !important;
}


/* ==========================================================
   09. TABLET
   ========================================================== */

@media (max-width: 1100px) {

  #header .l-header__inner,
  .l-header .l-header__inner,
  #fix_header .l-fixHeader__inner,
  .l-fixHeader .l-fixHeader__inner {
    padding-inline: 20px;
  }

  #awt-common-footer {
    margin-top: 52px;
  }

  #awt-common-footer .awt-cf-town {
    width: min(100% - 28px, 1000px);
  }

  #awt-common-footer .awt-cf-container {
    width: min(100% - 36px, 860px);
  }

  #awt-common-footer .awt-cf-layout {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 30px 0 28px;
  }

  #awt-common-footer .awt-cf-brand {
    max-width: 520px;
  }

  #awt-common-footer .awt-cf-nav-area {
    gap: 28px;
  }
}


/* ==========================================================
   10. MOBILE
   ========================================================== */

@media (max-width: 959px) {

  /* モバイルヘッダーはSWELLの構造を尊重して高さだけ安定化 */
  #header .l-header__inner,
  .l-header .l-header__inner {
    min-height: 64px;
    padding-inline: 14px;
  }

  #fix_header .l-fixHeader__inner,
  .l-fixHeader .l-fixHeader__inner {
    min-height: 60px;
    padding-inline: 14px;
  }

  .l-header__customBtn,
  .l-header__menuBtn,
  .l-fixHeader__customBtn,
  .l-fixHeader__menuBtn {
    min-width: 44px;
    min-height: 44px;
  }

  .awt-page__inner,
  .awt-page__inner--wide {
    width: min(100% - 32px, var(--awt-reading));
  }
}

@media (max-width: 600px) {

  body.page .c-pageTitle {
    font-size: 28px;
    line-height: 1.4;
  }

  body.page .p-breadcrumb {
    font-size: 11px;
  }

  .awt-page {
    font-size: 16px;
    line-height: 1.85;
  }

  .awt-page__inner,
  .awt-page__inner--wide {
    width: calc(100% - 32px);
    padding-bottom: 48px;
  }

  .awt-page__lead {
    margin-bottom: 24px;
    font-size: 16.5px;
    line-height: 1.85;
  }

  .awt-page h1 {
    margin-bottom: 14px;
    font-size: 28px;
  }

  .awt-page h2 {
    margin-top: 2.1em;
    padding-left: 12px !important;
    font-size: 22px;
  }

  .awt-page h3 {
    font-size: 19px;
  }

  .awt-page h4 {
    font-size: 17px;
  }

  .awt-summary,
  .awt-box {
    padding: 16px;
  }

  .awt-summary__title {
    font-size: 19px !important;
  }

  .awt-link-card {
    min-height: 60px;
    padding: 13px 14px;
  }

  .awt-link-card strong {
    font-size: 15px;
  }

  #awt-common-footer {
    margin-top: 40px;
  }

  #awt-common-footer .awt-cf-town {
    width: calc(100% - 20px);
    padding-top: 4px;
  }

  #awt-common-footer .awt-cf-container {
    width: calc(100% - 28px);
  }

  #awt-common-footer .awt-cf-layout {
    gap: 25px;
    padding: 25px 0 22px;
  }

  #awt-common-footer .awt-cf-logo img {
    max-width: 195px;
  }

  #awt-common-footer .awt-cf-message {
    margin-top: 13px;
    font-size: 18px;
    line-height: 1.7;
  }

  /* スマホはナビを縦並び */
  #awt-common-footer .awt-cf-nav-area {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  #awt-common-footer .awt-cf-nav-title {
    margin-bottom: 6px;
    font-size: 13px;
  }

  #awt-common-footer .awt-cf-nav a {
    min-height: 48px;
    padding-block: 10px;
    font-size: 14px;
  }

  #awt-common-footer .awt-cf-notes {
    padding-top: 16px;
    font-size: 11px;
    line-height: 1.8;
  }

  #awt-common-footer .awt-cf-copyright__inner {
    display: block;
    min-height: 0;
    padding: 12px 0;
    text-align: center;
    font-size: 10.5px;
    line-height: 1.75;
  }

  #awt-common-footer .awt-cf-copyright__inner span {
    display: block;
  }
}


/* ==========================================================
   11. REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  #header *,
  #fix_header *,
  #awt-common-footer *,
  #awt-common-footer *::before,
  #awt-common-footer *::after,
  .awt-page *,
  .awt-page *::before,
  .awt-page *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}
