/*!
 * header-footer.css — ヘッダー・ナビゲーション・ドロワー・相談ボタン・チャット・モーダル・フッター
 * Ohashi Method 2.1.0 — 2026年11月版
 * このファイルはビルドで展開された版です。1行に1宣言、ルールごとに用途コメントを付けています。
 * 同じソースからクリティカル CSS（header.php）とアセットマニフェスト（*.asset.php）も生成されます。
 */

/* ==========================================================================
   Ohashi Method — chrome (pop / line-art skin): header, navigation, drawer,
   side button, sticky mobile CTA, chatbot, modal, footer, back-to-top,
   fixed edge frames. Depends on style.css tokens.
   ========================================================================== */

/* ========================================================================
   1. Header
   ======================================================================== */

/* [1. Header] .om-header */
.om-header {
  position: sticky;  /* 配置方法 */
  top: 0;  /* 上端 */
  z-index: var(--om-z-header);  /* 重なり順 */
  background: #fff;  /* 背景 */
  border-bottom: 3px solid var(--om-ink);
  transition: box-shadow var(--om-m-base);  /* 変化のアニメーション */
}

/* [1. Header] .om-header.is-scrolled */
/* スクロール後 */
.om-header.is-scrolled {
  box-shadow: 0 6px 0 rgba(20, 20, 20, 0.08);  /* 影 */
}

/* [1. Header] .om-header__inner */
.om-header__inner {
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 18px;  /* 要素の間隔 */
  min-height: var(--om-header-h);  /* 最小高さ */
}

@media (max-width: 1023px) {

  /* [1. Header] .om-header__inner */
  .om-header__inner {
    min-height: var(--om-header-h-m);  /* 最小高さ */
  }
}

/* [1. Header] .om-header__brand */
.om-header__brand {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 12px;  /* 要素の間隔 */
  flex: 0 0 auto;  /* 伸縮 */
  text-decoration: none;  /* 下線 */
  color: var(--om-brand-navy);  /* 文字色 */
}

/* [1. Header] .om-brand__mark */
.om-brand__mark {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  width: 56px;  /* 幅 */
  height: 56px;  /* 高さ */
  flex: 0 0 auto;  /* 伸縮 */
}

/* [1. Header] .om-brand__img */
.om-brand__img {
  display: block;  /* 表示形式 */
  width: 56px;  /* 幅 */
  height: 56px;  /* 高さ */
  object-fit: contain;  /* 画像の収め方 */
  transition: transform var(--om-m-base) var(--om-m-spring);  /* 変化のアニメーション */
}

/* [1. Header] .om-header__brand:hover .om-brand__img */
/* ホバー時 */
.om-header__brand:hover .om-brand__img {
  transform: rotate(-6deg) scale(1.06);  /* 変形 */
}

/* [1. Header] .om-brand__name */
.om-brand__name {
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 900;  /* 太さ */
  font-size: 1.45rem;  /* 文字サイズ */
  letter-spacing: 0.04em;  /* 字間 */
  white-space: nowrap;  /* 改行の扱い */
  color: var(--om-brand-navy);  /* 文字色 */
  line-height: 1;  /* 行間 */
}

/* [1. Header] .om-brand__tag */
.om-brand__tag {
  display: none;  /* 表示形式 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  color: var(--om-ink);  /* 文字色 */
  white-space: nowrap;  /* 改行の扱い */
}

@media (min-width: 1200px) {

  /* [1. Header] .om-brand__tag */
  .om-brand__tag {
    display: inline-block;  /* 表示形式 */
    margin-left: 6px;
    padding: 3px 10px;  /* 内側の余白 */
    border: 1.5px solid var(--om-ink);  /* 枠線 */
    border-radius: var(--om-r-pill);  /* 角丸 */
    background: var(--om-yellow);  /* 背景 */
  }
}

@media (max-width: 767px) {

  /* [1. Header] .om-brand__mark */
  .om-brand__mark,
  .om-brand__img {
    width: 44px;  /* 幅 */
    height: 44px;  /* 高さ */
  }

  /* [1. Header] .om-brand__name */
  .om-brand__name {
    font-size: 1.2rem;  /* 文字サイズ */
  }
}

/* [1. Header] .om-header__logo */
.om-header__logo {
  display: block;  /* 表示形式 */
  height: 44px;  /* 高さ */
  width: auto;  /* 幅 */
  max-width: 200px;  /* 最大幅 */
  object-fit: contain;  /* 画像の収め方 */
}

/* [1. Header] .om-header__mark */
.om-header__mark {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  width: 44px;  /* 幅 */
  height: 44px;  /* 高さ */
  border: var(--om-line);  /* 枠線 */
  border-radius: 50%;  /* 角丸 */
  background: var(--om-navy);  /* 背景 */
  color: #fff;  /* 文字色 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 900;  /* 太さ */
}

/* [1. Header] .om-header__name */
.om-header__name {
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 900;  /* 太さ */
  font-size: 1.3rem;  /* 文字サイズ */
  white-space: nowrap;  /* 改行の扱い */
  color: var(--om-brand-navy);  /* 文字色 */
}

/* [1. Header] .om-header__tag */
.om-header__tag {
  display: none;  /* 表示形式 */
}

/* [1. Header] .om-header__brand img[src=""] */
.om-header__brand img[src=""],
.om-header__brand img:not([src]) {
  display: none;  /* 表示形式 */
}

/* [1. Header] .om-header__nav */
.om-header__nav {
  display: none;  /* 表示形式 */
  flex: 1 1 auto;  /* 伸縮 */
  justify-content: center;  /* 横の揃え */
}

@media (min-width: 1024px) {

  /* [1. Header] .om-header__nav */
  .om-header__nav {
    display: flex;  /* 表示形式 */
  }
}

/* [1. Header] .om-nav__list */
.om-nav__list {
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 2px;  /* 要素の間隔 */
  margin: 0;  /* 外側の余白 */
  padding: 0;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
}

/* [1. Header] .om-nav__item */
.om-nav__item {
  position: relative;  /* 配置方法 */
  margin: 0;  /* 外側の余白 */
}

/* [1. Header] .om-nav__link */
.om-nav__link,
.om-nav__list > li > a {
  position: relative;  /* 配置方法 */
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 4px;  /* 要素の間隔 */
  padding: 10px 13px;  /* 内側の余白 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 700;  /* 太さ */
  font-size: 0.95rem;  /* 文字サイズ */
  color: var(--om-ink);  /* 文字色 */
  text-decoration: none;  /* 下線 */
  white-space: nowrap;  /* 改行の扱い */
  transition: color var(--om-m-fast);  /* 変化のアニメーション */
}

/* [1. Header] .om-nav__link::after */
/* 疑似要素 */
.om-nav__link::after,
.om-nav__list > li > a::after {
  content: "";  /* 生成内容 */
  position: absolute;  /* 配置方法 */
  left: 13px;  /* 左端 */
  right: 13px;  /* 右端 */
  bottom: 4px;  /* 下端 */
  height: 4px;  /* 高さ */
  background: var(--om-accent);  /* 背景 */
  transform: scaleX(0);  /* 変形 */
  transform-origin: left;
  transition: transform var(--om-m-base) var(--om-m-ease);  /* 変化のアニメーション */
}

/* [1. Header] .om-nav__link:hover::after */
/* ホバー時、疑似要素 */
.om-nav__link:hover::after,
.om-nav__list > li > a:hover::after,
.om-nav__list > li.current-menu-item > a::after,
.om-nav__list > li.current_page_item > a::after,
.om-nav__link[aria-current="page"]::after {
  transform: scaleX(1);  /* 変形 */
}

/* [1. Header] .om-nav__link:hover */
/* ホバー時 */
.om-nav__link:hover,
.om-nav__list > li > a:hover {
  color: var(--om-ink);  /* 文字色 */
}

/* [1. Header] .om-nav__list .sub-menu */
.om-nav__list .sub-menu {
  position: absolute;  /* 配置方法 */
  left: 0;  /* 左端 */
  top: 100%;  /* 上端 */
  min-width: 220px;
  margin: 6px 0 0;  /* 外側の余白 */
  padding: 8px;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
  background: #fff;  /* 背景 */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-lg);  /* 角丸 */
  box-shadow: var(--om-sh-md);  /* 影 */
  opacity: 0;  /* 不透明度 */
  visibility: hidden;  /* 可視 */
  transform: translateY(6px);  /* 変形 */
  transition: opacity var(--om-m-fast), transform var(--om-m-fast), visibility var(--om-m-fast);  /* 変化のアニメーション */
}

/* [1. Header] .om-nav__item:hover > .sub-menu */
/* ホバー時、フォーカス時 */
.om-nav__item:hover > .sub-menu,
.om-nav__item:focus-within > .sub-menu {
  opacity: 1;  /* 不透明度 */
  visibility: visible;  /* 可視 */
  transform: none;  /* 変形 */
}

/* [1. Header] .om-nav__list .sub-menu a */
.om-nav__list .sub-menu a {
  display: block;  /* 表示形式 */
  padding: 10px 14px;  /* 内側の余白 */
  border-radius: var(--om-r-md);  /* 角丸 */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
  color: var(--om-ink);  /* 文字色 */
  text-decoration: none;  /* 下線 */
}

/* [1. Header] .om-nav__list .sub-menu a::after */
/* 疑似要素 */
.om-nav__list .sub-menu a::after {
  display: none;  /* 表示形式 */
}

/* [1. Header] .om-nav__list .sub-menu a:hover */
/* ホバー時 */
.om-nav__list .sub-menu a:hover {
  background: var(--om-yellow-soft);  /* 背景 */
}

/* [1. Header] .om-header__actions */
.om-header__actions {
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 10px;  /* 要素の間隔 */
  margin-left: auto;
}

/* [1. Header] .om-header__cta */
.om-header__cta {
  min-height: 48px;  /* 最小高さ */
  padding: 0 22px;  /* 内側の余白 */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
  box-shadow: var(--om-sh-sm);  /* 影 */
}

@media (max-width: 1023px) {

  /* [1. Header] .om-header__cta */
  .om-header__cta {
    min-height: 42px;  /* 最小高さ */
    padding: 0 16px;  /* 内側の余白 */
    box-shadow: var(--om-sh-xs);  /* 影 */
  }

  /* [1. Header] .om-header__cta .om-ico */
  .om-header__cta .om-ico {
    width: 16px;  /* 幅 */
    height: 16px;  /* 高さ */
  }
}

@media (max-width: 479px) {

  /* [1. Header] .om-header__cta span */
  .om-header__cta span {
    display: none;  /* 表示形式 */
  }

  /* [1. Header] .om-header__cta */
  .om-header__cta {
    width: 42px;  /* 幅 */
    padding: 0;  /* 内側の余白 */
    justify-content: center;  /* 横の揃え */
  }
}

/* [1. Header] .om-header__toggle */
.om-header__toggle {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  flex-direction: column;  /* 並ぶ方向 */
  gap: 5px;  /* 要素の間隔 */
  width: 46px;  /* 幅 */
  height: 46px;  /* 高さ */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-md);  /* 角丸 */
  background: var(--om-yellow);  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
  cursor: pointer;  /* カーソル */
  box-shadow: var(--om-sh-xs);  /* 影 */
}

/* [1. Header] .om-header__toggle span */
.om-header__toggle span {
  display: block;  /* 表示形式 */
  width: 20px;  /* 幅 */
  height: 3px;  /* 高さ */
  background: currentColor;  /* 背景 */
  transition: transform var(--om-m-base) var(--om-m-ease), opacity var(--om-m-fast);  /* 変化のアニメーション */
}

/* [1. Header] .om-header__toggle[aria-expanded="true"] span:nth-child(1) */
.om-header__toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);  /* 変形 */
}

/* [1. Header] .om-header__toggle[aria-expanded="true"] span:nth-child(2) */
.om-header__toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;  /* 不透明度 */
}

/* [1. Header] .om-header__toggle[aria-expanded="true"] span:nth-child(3) */
.om-header__toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);  /* 変形 */
}

@media (min-width: 1024px) {

  /* [1. Header] .om-header__toggle */
  .om-header__toggle {
    display: none;  /* 表示形式 */
  }
}

/* [1. Header] .om-header__announce */
.om-header__announce {
  background: var(--om-yellow);  /* 背景 */
  border-bottom: 2px solid var(--om-ink);
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  text-align: center;  /* 行揃え */
  padding: 6px var(--om-gutter);  /* 内側の余白 */
}

/* [1. Header] .om-header__announce a */
.om-header__announce a {
  color: var(--om-ink);  /* 文字色 */
  font-weight: 700;  /* 太さ */
}

/* ========================================================================
   2. Drawer (mobile navigation)
   ======================================================================== */

/* [2. Drawer (mobile navigation)] .om-nav-backdrop */
.om-nav-backdrop {
  position: fixed;  /* 配置方法 */
  inset: 0;  /* 上下左右の位置 */
  z-index: calc(var(--om-z-header) + 1);  /* 重なり順 */
  background: var(--om-overlay);  /* 背景 */
  opacity: 0;  /* 不透明度 */
  visibility: hidden;  /* 可視 */
  transition: opacity var(--om-m-base), visibility var(--om-m-base);  /* 変化のアニメーション */
}

/* [2. Drawer (mobile navigation)] .om-drawer */
.om-drawer {
  position: fixed;  /* 配置方法 */
  top: 0;  /* 上端 */
  right: 0;  /* 右端 */
  bottom: 0;  /* 下端 */
  z-index: calc(var(--om-z-header) + 2);  /* 重なり順 */
  width: min(86vw, 380px);  /* 幅 */
  overflow-y: auto;  /* 縦のはみ出し */
  padding: 20px 22px 32px;  /* 内側の余白 */
  background: #fff;  /* 背景 */
  border-left: 3px solid var(--om-ink);
  transform: translateX(105%);  /* 変形 */
  transition: transform var(--om-m-slow) var(--om-m-ease);  /* 変化のアニメーション */
  display: flex;  /* 表示形式 */
  flex-direction: column;  /* 並ぶ方向 */
}

/* [2. Drawer (mobile navigation)] .om-nav-open .om-nav-backdrop */
.om-nav-open .om-nav-backdrop {
  opacity: 1;  /* 不透明度 */
  visibility: visible;  /* 可視 */
}

/* [2. Drawer (mobile navigation)] .om-nav-open .om-drawer */
.om-nav-open .om-drawer {
  transform: none;  /* 変形 */
}

@media (min-width: 1024px) {

  /* [2. Drawer (mobile navigation)] .om-drawer */
  .om-drawer,
  .om-nav-backdrop {
    display: none;  /* 表示形式 */
  }
}

/* [2. Drawer (mobile navigation)] .om-drawer__head */
.om-drawer__head {
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: space-between;  /* 横の揃え */
  margin-bottom: 18px;
}

/* [2. Drawer (mobile navigation)] .om-drawer__title */
.om-drawer__title {
  margin: 0;  /* 外側の余白 */
  font-family: var(--om-font-display);  /* 書体 */
  font-weight: 900;  /* 太さ */
  font-size: 1.1rem;  /* 文字サイズ */
  letter-spacing: 0.1em;  /* 字間 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__close */
.om-drawer__close {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  width: 42px;  /* 幅 */
  height: 42px;  /* 高さ */
  border: var(--om-line);  /* 枠線 */
  border-radius: 50%;  /* 角丸 */
  background: var(--om-yellow);  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
  box-shadow: var(--om-sh-xs);  /* 影 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__list */
.om-drawer__list {
  margin: 0;  /* 外側の余白 */
  padding: 0;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__list li */
.om-drawer__list li {
  margin: 0;  /* 外側の余白 */
  border-top: 2px dashed var(--om-gray-300);
}

/* [2. Drawer (mobile navigation)] .om-drawer__list li:last-child */
.om-drawer__list li:last-child {
  border-bottom: 2px dashed var(--om-gray-300);
}

/* [2. Drawer (mobile navigation)] .om-drawer__list a */
.om-drawer__list a {
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: space-between;  /* 横の揃え */
  padding: 14px 6px;  /* 内側の余白 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 700;  /* 太さ */
  color: var(--om-ink);  /* 文字色 */
  text-decoration: none;  /* 下線 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__list a::after */
/* 疑似要素 */
.om-drawer__list a::after {
  content: "";  /* 生成内容 */
  width: 9px;  /* 幅 */
  height: 9px;  /* 高さ */
  border-right: 3px solid var(--om-accent);
  border-top: 3px solid var(--om-accent);
  transform: rotate(45deg);  /* 変形 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__list .sub-menu */
.om-drawer__list .sub-menu {
  margin: 0 0 8px 14px;  /* 外側の余白 */
  padding: 0;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__list .sub-menu li */
.om-drawer__list .sub-menu li {
  border: 0;  /* 枠線 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__list .sub-menu a */
.om-drawer__list .sub-menu a {
  padding: 8px 6px;  /* 内側の余白 */
  font-weight: 500;  /* 太さ */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
}

/* [2. Drawer (mobile navigation)] .om-drawer__cta */
.om-drawer__cta {
  display: grid;  /* 表示形式 */
  gap: 12px;  /* 要素の間隔 */
  margin-top: 22px;
}

/* [2. Drawer (mobile navigation)] .om-drawer__meta */
.om-drawer__meta {
  margin: 20px 0 0;  /* 外側の余白 */
  padding: 0;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  color: var(--om-ink-soft);  /* 文字色 */
  display: grid;  /* 表示形式 */
  gap: 6px;  /* 要素の間隔 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__meta li */
.om-drawer__meta li {
  display: flex;  /* 表示形式 */
  align-items: flex-start;  /* 縦の揃え */
  gap: 8px;  /* 要素の間隔 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__meta .om-ico */
.om-drawer__meta .om-ico {
  flex: 0 0 auto;  /* 伸縮 */
  width: 16px;  /* 幅 */
  height: 16px;  /* 高さ */
  margin-top: 3px;
  color: var(--om-accent);  /* 文字色 */
}

/* [2. Drawer (mobile navigation)] .om-drawer__mascot */
.om-drawer__mascot {
  margin-top: auto;
  display: flex;  /* 表示形式 */
  justify-content: center;  /* 横の揃え */
  padding-top: 20px;
}

/* [2. Drawer (mobile navigation)] .om-drawer__mascot .om-kobito-wrap */
.om-drawer__mascot .om-kobito-wrap {
  width: 90px;  /* 幅 */
}

/* ========================================================================
   3. Side button (desktop) & sticky bar (mobile)
   ======================================================================== */

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side */
.om-side {
  position: fixed;  /* 配置方法 */
  right: 20px;  /* 右端 */
  bottom: 26px;  /* 下端 */
  z-index: var(--om-z-side);  /* 重なり順 */
  display: none;  /* 表示形式 */
  opacity: 0;  /* 不透明度 */
  transform: translateY(20px);  /* 変形 */
  transition: opacity var(--om-m-base), transform var(--om-m-base) var(--om-m-spring);  /* 変化のアニメーション */
}

@media (min-width: 1024px) {

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-side */
  .om-side {
    display: block;  /* 表示形式 */
  }
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side.is-visible */
/* 表示状態 */
.om-side.is-visible {
  opacity: 1;  /* 不透明度 */
  transform: none;  /* 変形 */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side.is-hidden */
.om-side.is-hidden {
  opacity: 0;  /* 不透明度 */
  pointer-events: none;  /* クリック可否 */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side__link */
.om-side__link {
  position: relative;  /* 配置方法 */
  display: flex;  /* 表示形式 */
  flex-direction: column;  /* 並ぶ方向 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  gap: 2px;  /* 要素の間隔 */
  width: 120px;  /* 幅 */
  height: 120px;  /* 高さ */
  border: 3px solid var(--om-ink);  /* 枠線 */
  border-radius: 50%;  /* 角丸 */
  background: var(--om-accent);  /* 背景 */
  color: #fff;  /* 文字色 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 900;  /* 太さ */
  font-size: 0.92rem;  /* 文字サイズ */
  line-height: 1.3;  /* 行間 */
  text-align: center;  /* 行揃え */
  text-decoration: none;  /* 下線 */
  box-shadow: var(--om-sh-md);  /* 影 */
  transition: transform var(--om-m-base) var(--om-m-spring), box-shadow var(--om-m-fast);  /* 変化のアニメーション */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side__link:hover */
/* ホバー時 */
.om-side__link:hover {
  transform: translate(2px, 2px) rotate(-4deg);  /* 変形 */
  box-shadow: var(--om-sh-sm);  /* 影 */
  color: #fff;  /* 文字色 */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side__link .om-ico */
.om-side__link .om-ico {
  width: 24px;  /* 幅 */
  height: 24px;  /* 高さ */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side__ring */
.om-side__ring {
  position: absolute;  /* 配置方法 */
  inset: -9px;  /* 上下左右の位置 */
  border-radius: 50%;  /* 角丸 */
  border: 2px dashed var(--om-ink);  /* 枠線 */
  animation: om-spin 18s linear infinite;  /* アニメーション */
}

@keyframes om-spin {
  to {
    transform: rotate(360deg);
  }
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side__badge */
.om-side__badge {
  position: absolute;  /* 配置方法 */
  top: -14px;  /* 上端 */
  left: 50%;  /* 左端 */
  transform: translateX(-50%) rotate(-4deg);  /* 変形 */
  padding: 3px 10px;  /* 内側の余白 */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: var(--om-yellow);  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
  font-size: 10px;  /* 文字サイズ */
  font-weight: 900;  /* 太さ */
  white-space: nowrap;  /* 改行の扱い */
  box-shadow: var(--om-sh-xs);  /* 影 */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side__hover */
.om-side__hover {
  position: absolute;  /* 配置方法 */
  right: 130px;  /* 右端 */
  top: 50%;  /* 上端 */
  transform: translateY(-50%);  /* 変形 */
  padding: 8px 12px;  /* 内側の余白 */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-md);  /* 角丸 */
  background: #fff;  /* 背景 */
  box-shadow: var(--om-sh-sm);  /* 影 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  white-space: nowrap;  /* 改行の扱い */
  opacity: 0;  /* 不透明度 */
  transition: opacity var(--om-m-fast);  /* 変化のアニメーション */
  pointer-events: none;  /* クリック可否 */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-side:hover .om-side__hover */
/* ホバー時 */
.om-side:hover .om-side__hover {
  opacity: 1;  /* 不透明度 */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-sticky-cta */
.om-sticky-cta {
  position: fixed;  /* 配置方法 */
  left: 0;  /* 左端 */
  right: 0;  /* 右端 */
  bottom: 0;  /* 下端 */
  z-index: var(--om-z-cta-sticky);  /* 重なり順 */
  display: flex;  /* 表示形式 */
  gap: 8px;  /* 要素の間隔 */
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));  /* 内側の余白 */
  background: #fff;  /* 背景 */
  border-top: 3px solid var(--om-ink);
  transform: translateY(110%);  /* 変形 */
  transition: transform var(--om-m-base) var(--om-m-ease);  /* 変化のアニメーション */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-sticky-cta.is-visible */
/* 表示状態 */
.om-sticky-cta.is-visible {
  transform: none;  /* 変形 */
}

@media (min-width: 1024px) {

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-sticky-cta */
  .om-sticky-cta {
    display: none;  /* 表示形式 */
  }
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-sticky-cta__main */
.om-sticky-cta__main,
.om-sticky-cta__tel {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  gap: 8px;  /* 要素の間隔 */
  min-height: 50px;  /* 最小高さ */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 700;  /* 太さ */
  text-decoration: none;  /* 下線 */
  box-shadow: var(--om-sh-xs);  /* 影 */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-sticky-cta__main */
.om-sticky-cta__main {
  flex: 1 1 auto;  /* 伸縮 */
  background: var(--om-accent);  /* 背景 */
  color: #fff;  /* 文字色 */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-sticky-cta__tel */
.om-sticky-cta__tel {
  flex: 0 0 auto;  /* 伸縮 */
  padding: 0 16px;  /* 内側の余白 */
  background: var(--om-yellow);  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-sticky-cta .om-ico */
.om-sticky-cta .om-ico {
  width: 18px;  /* 幅 */
  height: 18px;  /* 高さ */
}

/* [3. Side button (desktop) & sticky bar (mobile)] body.om-has-sticky */
body.om-has-sticky {
  padding-bottom: 74px;
}

@media (min-width: 1024px) {

  /* [3. Side button (desktop) & sticky bar (mobile)] body.om-has-sticky */
  body.om-has-sticky {
    padding-bottom: 0;
  }
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-totop */
.om-totop {
  position: fixed;  /* 配置方法 */
  right: 24px;  /* 右端 */
  bottom: 170px;  /* 下端 */
  z-index: var(--om-z-side);  /* 重なり順 */
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  width: 44px;  /* 幅 */
  height: 44px;  /* 高さ */
  border: var(--om-line);  /* 枠線 */
  border-radius: 50%;  /* 角丸 */
  background: #fff;  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
  box-shadow: var(--om-sh-xs);  /* 影 */
  opacity: 0;  /* 不透明度 */
  visibility: hidden;  /* 可視 */
  transition: opacity var(--om-m-base), visibility var(--om-m-base);  /* 変化のアニメーション */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-totop.is-visible */
/* 表示状態 */
.om-totop.is-visible {
  opacity: 1;  /* 不透明度 */
  visibility: visible;  /* 可視 */
}

@media (max-width: 1023px) {

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-totop */
  .om-totop {
    right: 14px;  /* 右端 */
    bottom: 90px;  /* 下端 */
  }
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-edge */
.om-edge {
  display: none;  /* 表示形式 */
}

@media (min-width: 1400px) {

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge */
  .om-edge {
    display: block;  /* 表示形式 */
    position: fixed;  /* 配置方法 */
    top: 0;  /* 上端 */
    bottom: 0;  /* 下端 */
    width: 60px;  /* 幅 */
    pointer-events: none;  /* クリック可否 */
    z-index: var(--om-z-deco);  /* 重なり順 */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge--left */
  /* バリエーション: left */
  .om-edge--left {
    left: 0;  /* 左端 */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge--right */
  /* バリエーション: right */
  .om-edge--right {
    right: 0;  /* 右端 */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge::before */
  /* 疑似要素 */
  .om-edge::before {
    content: "";  /* 生成内容 */
    position: absolute;  /* 配置方法 */
    top: 24px;  /* 上端 */
    bottom: 24px;  /* 下端 */
    left: 28px;  /* 左端 */
    width: 3px;  /* 幅 */
    background: var(--om-ink);  /* 背景 */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge::after */
  /* 疑似要素 */
  .om-edge::after {
    content: "";  /* 生成内容 */
    position: absolute;  /* 配置方法 */
    left: 24px;  /* 左端 */
    top: 20px;  /* 上端 */
    width: 11px;  /* 幅 */
    height: 11px;  /* 高さ */
    background: #fff;  /* 背景 */
    border: 2px solid var(--om-ink);  /* 枠線 */
    box-shadow: 0 calc(100vh - 51px) 0 #fff, 0 calc(100vh - 51px) 0 2px var(--om-ink);  /* 影 */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge__item */
  .om-edge__item {
    position: absolute;  /* 配置方法 */
    border: 2px solid var(--om-ink);  /* 枠線 */
    border-radius: 50%;  /* 角丸 */
    opacity: 0.95;  /* 不透明度 */
    animation: om-float 8s ease-in-out infinite;  /* アニメーション */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge__item--1 */
  /* バリエーション: 1 */
  .om-edge__item--1 {
    left: 22px;  /* 左端 */
    top: 18%;  /* 上端 */
    width: 15px;  /* 幅 */
    height: 15px;  /* 高さ */
    background: var(--om-accent);  /* 背景 */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge__item--2 */
  /* バリエーション: 2 */
  .om-edge__item--2 {
    left: 18px;  /* 左端 */
    top: 36%;  /* 上端 */
    width: 23px;  /* 幅 */
    height: 23px;  /* 高さ */
    background: var(--om-yellow);  /* 背景 */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge__item--3 */
  /* バリエーション: 3 */
  .om-edge__item--3 {
    left: 24px;  /* 左端 */
    top: 54%;  /* 上端 */
    width: 11px;  /* 幅 */
    height: 11px;  /* 高さ */
    background: var(--om-navy);  /* 背景 */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge__item--4 */
  /* バリエーション: 4 */
  .om-edge__item--4 {
    left: 20px;  /* 左端 */
    top: 70%;  /* 上端 */
    width: 19px;  /* 幅 */
    height: 19px;  /* 高さ */
    background: #fff;  /* 背景 */
  }

  /* [3. Side button (desktop) & sticky bar (mobile)] .om-edge__item--5 */
  /* バリエーション: 5 */
  .om-edge__item--5 {
    left: 23px;  /* 左端 */
    top: 86%;  /* 上端 */
    width: 13px;  /* 幅 */
    height: 13px;  /* 高さ */
    background: var(--om-accent);  /* 背景 */
  }
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-float */
.om-float {
  animation: om-float 7s ease-in-out infinite;  /* アニメーション */
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-float--slow */
/* バリエーション: slow */
.om-float--slow {
  animation-duration: 11s;
}

/* [3. Side button (desktop) & sticky bar (mobile)] .om-float--delay */
/* バリエーション: delay */
.om-float--delay {
  animation-delay: -3s;
}

/* ========================================================================
   4. Chatbot
   ======================================================================== */

/* [4. Chatbot] .om-chat */
.om-chat {
  position: fixed;  /* 配置方法 */
  left: 20px;  /* 左端 */
  bottom: 26px;  /* 下端 */
  z-index: var(--om-z-chatbot);  /* 重なり順 */
}

/* [4. Chatbot] .om-chat--right */
/* バリエーション: right */
.om-chat--right {
  left: auto;  /* 左端 */
  right: 160px;  /* 右端 */
}

@media (max-width: 1023px) {

  /* [4. Chatbot] .om-chat */
  .om-chat {
    left: 12px;  /* 左端 */
    bottom: 84px;  /* 下端 */
  }

  /* [4. Chatbot] .om-chat--right */
  /* バリエーション: right */
  .om-chat--right {
    right: auto;  /* 右端 */
  }
}

/* [4. Chatbot] .om-chat.is-delayed */
.om-chat.is-delayed {
  display: none;  /* 表示形式 */
}

/* [4. Chatbot] .om-chat__launcher */
.om-chat__launcher {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 8px;  /* 要素の間隔 */
  min-height: 52px;  /* 最小高さ */
  padding: 0 18px 0 14px;  /* 内側の余白 */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: var(--om-navy);  /* 背景 */
  color: #fff;  /* 文字色 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 700;  /* 太さ */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
  box-shadow: var(--om-sh-sm);  /* 影 */
  cursor: pointer;  /* カーソル */
  text-decoration: none;  /* 下線 */
  transition: transform var(--om-m-fast) ease-out, box-shadow var(--om-m-fast);  /* 変化のアニメーション */
}

/* [4. Chatbot] .om-chat__launcher:hover */
/* ホバー時 */
.om-chat__launcher:hover {
  transform: translate(2px, 2px);  /* 変形 */
  box-shadow: 1px 1px 0 var(--om-ink);  /* 影 */
  color: #fff;  /* 文字色 */
}

/* [4. Chatbot] .om-chat__launcher .om-ico */
.om-chat__launcher .om-ico {
  width: 22px;  /* 幅 */
  height: 22px;  /* 高さ */
}

/* [4. Chatbot] .om-chat.is-open .om-chat__launcher */
/* 開いた状態 */
.om-chat.is-open .om-chat__launcher {
  display: none;  /* 表示形式 */
}

@media (max-width: 479px) {

  /* [4. Chatbot] .om-chat__launcher-label */
  .om-chat__launcher-label {
    display: none;  /* 表示形式 */
  }

  /* [4. Chatbot] .om-chat__launcher */
  .om-chat__launcher {
    width: 52px;  /* 幅 */
    padding: 0;  /* 内側の余白 */
    justify-content: center;  /* 横の揃え */
  }
}

/* [4. Chatbot] .om-chat__panel */
.om-chat__panel {
  position: fixed;  /* 配置方法 */
  left: 20px;  /* 左端 */
  bottom: 26px;  /* 下端 */
  width: min(calc(100vw - 24px), 380px);  /* 幅 */
  max-height: min(70vh, 620px);
  display: flex;  /* 表示形式 */
  flex-direction: column;  /* 並ぶ方向 */
  background: #fff;  /* 背景 */
  border: 3px solid var(--om-ink);  /* 枠線 */
  border-radius: var(--om-r-xl);  /* 角丸 */
  box-shadow: var(--om-sh-lg);  /* 影 */
  overflow: hidden;  /* はみ出し */
}

/* [4. Chatbot] .om-chat--right .om-chat__panel */
/* バリエーション: right */
.om-chat--right .om-chat__panel {
  left: auto;  /* 左端 */
  right: 20px;  /* 右端 */
}

@media (max-width: 1023px) {

  /* [4. Chatbot] .om-chat__panel */
  .om-chat__panel {
    left: 12px;  /* 左端 */
    right: 12px;  /* 右端 */
    bottom: 12px;  /* 下端 */
    width: auto;  /* 幅 */
    max-height: 80vh;
  }
}

/* [4. Chatbot] .om-chat__panel[hidden] */
.om-chat__panel[hidden] {
  display: none;  /* 表示形式 */
}

/* [4. Chatbot] .om-chat__header */
.om-chat__header {
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: space-between;  /* 横の揃え */
  gap: 10px;  /* 要素の間隔 */
  padding: 14px 16px;  /* 内側の余白 */
  background: var(--om-navy);  /* 背景 */
  border-bottom: 3px solid var(--om-ink);
  color: #fff;  /* 文字色 */
}

/* [4. Chatbot] .om-chat__title */
.om-chat__title {
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 8px;  /* 要素の間隔 */
  margin: 0;  /* 外側の余白 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 900;  /* 太さ */
}

/* [4. Chatbot] .om-chat__title .om-ico */
.om-chat__title .om-ico {
  width: 20px;  /* 幅 */
  height: 20px;  /* 高さ */
}

/* [4. Chatbot] .om-chat__close */
.om-chat__close {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  width: 36px;  /* 幅 */
  height: 36px;  /* 高さ */
  border: var(--om-line);  /* 枠線 */
  border-radius: 50%;  /* 角丸 */
  background: #fff;  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
}

/* [4. Chatbot] .om-chat__log */
.om-chat__log {
  flex: 1 1 auto;  /* 伸縮 */
  overflow-y: auto;  /* 縦のはみ出し */
  padding: 16px;  /* 内側の余白 */
  background: var(--om-gray-50);  /* 背景 */
  display: flex;  /* 表示形式 */
  flex-direction: column;  /* 並ぶ方向 */
  gap: 10px;  /* 要素の間隔 */
  min-height: 180px;  /* 最小高さ */
}

/* [4. Chatbot] .om-chat__msg */
.om-chat__msg {
  display: flex;  /* 表示形式 */
}

/* [4. Chatbot] .om-chat__msg--user */
/* バリエーション: user */
.om-chat__msg--user {
  justify-content: flex-end;  /* 横の揃え */
}

/* [4. Chatbot] .om-chat__bubble */
.om-chat__bubble {
  max-width: 88%;  /* 最大幅 */
  padding: 10px 14px;  /* 内側の余白 */
  border: 1.5px solid var(--om-ink);  /* 枠線 */
  border-radius: var(--om-r-lg);  /* 角丸 */
  background: #fff;  /* 背景 */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
  line-height: 1.7;  /* 行間 */
}

/* [4. Chatbot] .om-chat__msg--user .om-chat__bubble */
/* バリエーション: user */
.om-chat__msg--user .om-chat__bubble {
  background: var(--om-yellow);  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
}

/* [4. Chatbot] .om-chat__bubble p */
.om-chat__bubble p {
  margin: 0 0 6px;  /* 外側の余白 */
}

/* [4. Chatbot] .om-chat__bubble p:last-child */
.om-chat__bubble p:last-child {
  margin: 0;  /* 外側の余白 */
}

/* [4. Chatbot] .om-chat__q */
.om-chat__q {
  font-weight: 700;  /* 太さ */
}

/* [4. Chatbot] .om-chat__short */
.om-chat__short {
  font-weight: 700;  /* 太さ */
  color: var(--om-navy-deep);  /* 文字色 */
}

/* [4. Chatbot] .om-chat__long */
.om-chat__long {
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  color: var(--om-ink-soft);  /* 文字色 */
}

/* [4. Chatbot] .om-chat__link */
.om-chat__link {
  display: inline-block;  /* 表示形式 */
  margin-top: 4px;
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
}

/* [4. Chatbot] .om-chat__quick */
.om-chat__quick {
  display: flex;  /* 表示形式 */
  flex-wrap: wrap;  /* 折り返し */
  gap: 6px;  /* 要素の間隔 */
  padding: 10px 14px 0;  /* 内側の余白 */
  background: var(--om-gray-50);  /* 背景 */
}

/* [4. Chatbot] .om-chat__chip */
.om-chat__chip {
  padding: 6px 12px;  /* 内側の余白 */
  border: 1.5px solid var(--om-ink);  /* 枠線 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: #fff;  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  cursor: pointer;  /* カーソル */
}

/* [4. Chatbot] .om-chat__chip:hover */
/* ホバー時 */
.om-chat__chip:hover {
  background: var(--om-yellow);  /* 背景 */
}

/* [4. Chatbot] .om-chat__chip--ghost */
/* バリエーション: ghost */
.om-chat__chip--ghost {
  border-style: dashed;
  color: var(--om-gray-600);  /* 文字色 */
}

/* [4. Chatbot] .om-chat__form */
.om-chat__form {
  display: flex;  /* 表示形式 */
  gap: 8px;  /* 要素の間隔 */
  padding: 12px 14px;  /* 内側の余白 */
  background: #fff;  /* 背景 */
  border-top: 2px solid var(--om-ink);
}

/* [4. Chatbot] .om-chat__input */
.om-chat__input {
  flex: 1 1 auto;  /* 伸縮 */
  min-height: 44px;  /* 最小高さ */
  padding: 8px 14px;  /* 内側の余白 */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: #fff;  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
  font-size: 16px;  /* 文字サイズ */
}

/* [4. Chatbot] .om-chat__input:focus */
/* フォーカス時 */
.om-chat__input:focus {
  outline: none;  /* フォーカス枠 */
  box-shadow: var(--om-sh-pink);  /* 影 */
}

/* [4. Chatbot] .om-chat__send */
.om-chat__send {
  flex: 0 0 auto;  /* 伸縮 */
  width: 44px;  /* 幅 */
  height: 44px;  /* 高さ */
  border: var(--om-line);  /* 枠線 */
  border-radius: 50%;  /* 角丸 */
  background: var(--om-accent);  /* 背景 */
  color: #fff;  /* 文字色 */
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
}

/* [4. Chatbot] .om-chat__foot */
.om-chat__foot {
  margin: 0;  /* 外側の余白 */
  padding: 8px 14px 12px;  /* 内側の余白 */
  font-size: 11px;  /* 文字サイズ */
  color: var(--om-gray-600);  /* 文字色 */
  background: #fff;  /* 背景 */
}

/* [4. Chatbot] .om-chat__lead */
.om-chat__lead {
  display: grid;  /* 表示形式 */
  gap: 8px;  /* 要素の間隔 */
}

/* [4. Chatbot] .om-chat__lead-label */
.om-chat__lead-label {
  display: block;  /* 表示形式 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
}

/* [4. Chatbot] .om-chat__lead-input */
.om-chat__lead-input {
  display: block;  /* 表示形式 */
  width: 100%;  /* 幅 */
  margin-top: 2px;
  padding: 8px 10px;  /* 内側の余白 */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-md);  /* 角丸 */
  background: #fff;  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
  font-size: 16px;  /* 文字サイズ */
}

/* [4. Chatbot] .om-chat__lead-input:focus */
/* フォーカス時 */
.om-chat__lead-input:focus {
  outline: none;  /* フォーカス枠 */
  box-shadow: var(--om-sh-pink);  /* 影 */
}

/* [4. Chatbot] .om-chat__lead-submit */
.om-chat__lead-submit {
  min-height: 44px;  /* 最小高さ */
}

/* [4. Chatbot] .om-chat__privacy */
.om-chat__privacy {
  margin: 0;  /* 外側の余白 */
  font-size: 11px;  /* 文字サイズ */
  color: var(--om-gray-600);  /* 文字色 */
}

/* ========================================================================
   5. Modal (native <dialog>)
   ======================================================================== */

/* [5. Modal (native <dialog>)] .om-modal */
.om-modal {
  position: fixed;  /* 配置方法 */
  inset: 0;  /* 上下左右の位置 */
  z-index: var(--om-z-modal);  /* 重なり順 */
  width: 100%;  /* 幅 */
  max-width: none;  /* 最大幅 */
  height: 100%;  /* 高さ */
  max-height: none;
  margin: 0;  /* 外側の余白 */
  padding: 20px;  /* 内側の余白 */
  border: 0;  /* 枠線 */
  background: transparent;  /* 背景 */
}

/* [5. Modal (native <dialog>)] .om-modal:not([open]) */
/* 開いた状態 */
.om-modal:not([open]) {
  display: none;  /* 表示形式 */
}

/* [5. Modal (native <dialog>)] .om-modal[open] */
/* 開いた状態 */
.om-modal[open] {
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
}

/* [5. Modal (native <dialog>)] .om-modal::backdrop */
.om-modal::backdrop {
  background: rgba(20, 20, 20, 0.5);  /* 背景 */
}

/* [5. Modal (native <dialog>)] .om-modal__inner */
.om-modal__inner {
  position: relative;  /* 配置方法 */
  width: min(100%, 720px);  /* 幅 */
}

/* [5. Modal (native <dialog>)] .om-modal__bg */
.om-modal__bg {
  position: fixed;  /* 配置方法 */
  inset: 0;  /* 上下左右の位置 */
  background: var(--om-overlay);  /* 背景 */
}

/* [5. Modal (native <dialog>)] .om-modal__overlay */
.om-modal__overlay {
  position: fixed;  /* 配置方法 */
  inset: 0;  /* 上下左右の位置 */
  background: var(--om-overlay);  /* 背景 */
}

/* [5. Modal (native <dialog>)] .om-modal__content */
.om-modal__content {
  position: relative;  /* 配置方法 */
  z-index: 1;  /* 重なり順 */
  max-height: 86vh;
  overflow: auto;  /* はみ出し */
  padding: 32px;  /* 内側の余白 */
  background: #fff;  /* 背景 */
  border: 3px solid var(--om-ink);  /* 枠線 */
  border-radius: var(--om-r-xl);  /* 角丸 */
  box-shadow: var(--om-sh-xl);  /* 影 */
}

/* [5. Modal (native <dialog>)] .om-modal__close */
.om-modal__close {
  position: absolute;  /* 配置方法 */
  right: 14px;  /* 右端 */
  top: 14px;  /* 上端 */
  z-index: 2;  /* 重なり順 */
  width: 40px;  /* 幅 */
  height: 40px;  /* 高さ */
  border: var(--om-line);  /* 枠線 */
  border-radius: 50%;  /* 角丸 */
  background: var(--om-yellow);  /* 背景 */
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  cursor: pointer;  /* カーソル */
}

/* [5. Modal (native <dialog>)] .om-modal__title */
.om-modal__title {
  margin: 0 0 14px;  /* 外側の余白 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 900;  /* 太さ */
  font-size: 1.2rem;  /* 文字サイズ */
}

/* [5. Modal (native <dialog>)] .om-modal__nav */
.om-modal__nav {
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: space-between;  /* 横の揃え */
  gap: 12px;  /* 要素の間隔 */
  margin-top: 20px;
}

/* [5. Modal (native <dialog>)] .om-modal__nav .om-road */
.om-modal__nav .om-road {
  display: none;  /* 表示形式 */
}

/* [5. Modal (native <dialog>)] .om-modal__pager */
.om-modal__pager {
  display: flex;  /* 表示形式 */
  gap: 8px;  /* 要素の間隔 */
  margin-left: auto;
}

/* [5. Modal (native <dialog>)] .om-modal__prev */
.om-modal__prev,
.om-modal__next {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 6px;  /* 要素の間隔 */
  min-height: 40px;  /* 最小高さ */
  padding: 0 16px;  /* 内側の余白 */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: #fff;  /* 背景 */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  cursor: pointer;  /* カーソル */
  box-shadow: var(--om-sh-xs);  /* 影 */
}

/* [5. Modal (native <dialog>)] .om-modal__prev[hidden] */
.om-modal__prev[hidden],
.om-modal__next[hidden] {
  display: none;  /* 表示形式 */
}

/* ========================================================================
   5b. Sprite icons (om_icon)
   ======================================================================== */

/* [5b. Sprite icons (om_icon)] .om-icon */
.om-icon {
  display: inline-block;  /* 表示形式 */
  width: 1.25em;  /* 幅 */
  height: 1.25em;  /* 高さ */
  vertical-align: -0.25em;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: 0 0 auto;  /* 伸縮 */
}

/* [5b. Sprite icons (om_icon)] .om-icon--star */
/* バリエーション: star */
.om-icon--star {
  fill: currentColor;
}

/* [5b. Sprite icons (om_icon)] .om-sprite */
.om-sprite {
  position: absolute;  /* 配置方法 */
  width: 0;  /* 幅 */
  height: 0;  /* 高さ */
  overflow: hidden;  /* はみ出し */
}

/* [5b. Sprite icons (om_icon)] .om-road */
.om-road,
.om-road__car {
  display: none;  /* 表示形式 */
}

/* ========================================================================
   6. Footer
   ======================================================================== */

/* [6. Footer] .om-footer */
.om-footer {
  position: relative;  /* 配置方法 */
  overflow: hidden;  /* はみ出し */
  margin-top: 0;
  padding: clamp(56px, 8vw, 100px) 0 0;  /* 内側の余白 */
  background: #fff;  /* 背景 */
  border-top: 3px solid var(--om-ink);
}

/* [6. Footer] .om-footer__scene */
.om-footer__scene {
  position: relative;  /* 配置方法 */
  z-index: 1;  /* 重なり順 */
  display: flex;  /* 表示形式 */
  justify-content: center;  /* 横の揃え */
  align-items: flex-end;  /* 縦の揃え */
  gap: 6px;  /* 要素の間隔 */
  margin: 0 auto 32px;  /* 外側の余白 */
}

/* [6. Footer] .om-footer__scene .om-kobito-wrap */
.om-footer__scene .om-kobito-wrap {
  width: 92px;  /* 幅 */
}

@media (max-width: 767px) {

  /* [6. Footer] .om-footer__scene .om-kobito-wrap */
  .om-footer__scene .om-kobito-wrap {
    width: 64px;  /* 幅 */
  }
}

/* [6. Footer] .om-footer__grid */
.om-footer__grid {
  position: relative;  /* 配置方法 */
  z-index: 1;  /* 重なり順 */
  display: grid;  /* 表示形式 */
  gap: 36px;  /* 要素の間隔 */
}

@media (min-width: 900px) {

  /* [6. Footer] .om-footer__grid */
  .om-footer__grid {
    grid-template-columns: 1.4fr 1fr 1fr 1fr;  /* グリッドの列 */
  }
}

/* [6. Footer] .om-footer__brand */
.om-footer__brand {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 10px;  /* 要素の間隔 */
  text-decoration: none;  /* 下線 */
  color: var(--om-brand-navy);  /* 文字色 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 900;  /* 太さ */
  font-size: 1.3rem;  /* 文字サイズ */
}

/* [6. Footer] .om-footer__brand .om-brand__mark */
.om-footer__brand .om-brand__mark,
.om-footer__brand .om-brand__img {
  width: 48px;  /* 幅 */
  height: 48px;  /* 高さ */
}

/* [6. Footer] .om-footer__brand img */
.om-footer__brand img {
  height: 48px;  /* 高さ */
  width: auto;  /* 幅 */
}

/* [6. Footer] .om-footer__message */
.om-footer__message {
  margin: 14px 0 18px;  /* 外側の余白 */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  color: var(--om-ink);  /* 文字色 */
  max-width: 420px;  /* 最大幅 */
}

/* [6. Footer] .om-footer__group-title */
.om-footer__group-title {
  margin: 0 0 12px;  /* 外側の余白 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 900;  /* 太さ */
  font-size: 1rem;  /* 文字サイズ */
  display: flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 8px;  /* 要素の間隔 */
}

/* [6. Footer] .om-footer__group-title::before */
/* 疑似要素 */
.om-footer__group-title::before {
  content: "";  /* 生成内容 */
  width: 12px;  /* 幅 */
  height: 12px;  /* 高さ */
  background: var(--om-accent);  /* 背景 */
  border: 1.5px solid var(--om-ink);  /* 枠線 */
}

/* [6. Footer] .om-footer__list */
.om-footer__list {
  margin: 0;  /* 外側の余白 */
  padding: 0;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
  display: grid;  /* 表示形式 */
  gap: 6px;  /* 要素の間隔 */
}

/* [6. Footer] .om-footer__list a */
.om-footer__list a {
  font-size: var(--om-fs-sm);  /* 文字サイズ */
  color: var(--om-ink);  /* 文字色 */
  text-decoration: none;  /* 下線 */
}

/* [6. Footer] .om-footer__list a:hover */
/* ホバー時 */
.om-footer__list a:hover {
  color: var(--om-accent-deep);  /* 文字色 */
  text-decoration: underline;  /* 下線 */
  text-decoration-thickness: 2px;
}

/* [6. Footer] .om-footer__list .sub-menu */
.om-footer__list .sub-menu {
  margin: 4px 0 4px 12px;  /* 外側の余白 */
  padding: 0;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
  display: grid;  /* 表示形式 */
  gap: 4px;  /* 要素の間隔 */
}

/* [6. Footer] .om-footer__list .sub-menu a */
.om-footer__list .sub-menu a {
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  color: var(--om-gray-600);  /* 文字色 */
}

/* [6. Footer] .om-footer__company */
.om-footer__company {
  position: relative;  /* 配置方法 */
  z-index: 1;  /* 重なり順 */
  margin-top: clamp(32px, 5vw, 48px);
  padding: 22px 26px;  /* 内側の余白 */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-lg);  /* 角丸 */
  background: #fff;  /* 背景 */
  box-shadow: var(--om-sh-sm);  /* 影 */
  display: grid;  /* 表示形式 */
  gap: 8px 24px;  /* 要素の間隔 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  color: var(--om-ink-soft);  /* 文字色 */
}

@media (min-width: 768px) {

  /* [6. Footer] .om-footer__company */
  .om-footer__company {
    grid-template-columns: repeat(2, 1fr);  /* グリッドの列 */
  }
}

/* [6. Footer] .om-footer__company dl */
.om-footer__company dl {
  display: grid;  /* 表示形式 */
  grid-template-columns: 90px 1fr;  /* グリッドの列 */
  gap: 4px 10px;  /* 要素の間隔 */
  margin: 0;  /* 外側の余白 */
}

/* [6. Footer] .om-footer__company dt */
.om-footer__company dt {
  font-weight: 900;  /* 太さ */
  color: var(--om-ink);  /* 文字色 */
}

/* [6. Footer] .om-footer__company dd */
.om-footer__company dd {
  margin: 0;  /* 外側の余白 */
}

/* [6. Footer] .om-footer__area */
.om-footer__area {
  position: relative;  /* 配置方法 */
  z-index: 1;  /* 重なり順 */
  margin-top: 22px;
  font-size: 11px;  /* 文字サイズ */
  color: var(--om-gray-600);  /* 文字色 */
  line-height: 1.9;  /* 行間 */
}

/* [6. Footer] .om-footer__bottom */
.om-footer__bottom {
  position: relative;  /* 配置方法 */
  z-index: 1;  /* 重なり順 */
  margin-top: clamp(28px, 4vw, 40px);
  padding: 20px 0 calc(20px + env(safe-area-inset-bottom));  /* 内側の余白 */
  border-top: 3px solid var(--om-ink);
  background: var(--om-grad-pink);  /* 背景 */
  color: #fff;  /* 文字色 */
}

/* [6. Footer] .om-footer__bottom::before */
/* 疑似要素 */
.om-footer__bottom::before {
  content: "";  /* 生成内容 */
  position: absolute;  /* 配置方法 */
  inset: 0;  /* 上下左右の位置 */
  background-image: var(--om-pattern-dots);
  background-size: 18px 18px;
  pointer-events: none;  /* クリック可否 */
}

/* [6. Footer] .om-footer__bottom-inner */
.om-footer__bottom-inner {
  position: relative;  /* 配置方法 */
  display: flex;  /* 表示形式 */
  flex-wrap: wrap;  /* 折り返し */
  align-items: center;  /* 縦の揃え */
  justify-content: space-between;  /* 横の揃え */
  gap: 10px 20px;  /* 要素の間隔 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  color: #fff;  /* 文字色 */
}

/* [6. Footer] .om-footer__legal-nav ul */
.om-footer__legal-nav ul {
  display: flex;  /* 表示形式 */
  flex-wrap: wrap;  /* 折り返し */
  gap: 6px 16px;  /* 要素の間隔 */
  margin: 0;  /* 外側の余白 */
  padding: 0;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
}

/* [6. Footer] .om-footer__legal-nav a */
.om-footer__legal-nav a {
  color: #fff;  /* 文字色 */
  text-decoration: none;  /* 下線 */
}

/* [6. Footer] .om-footer__legal-nav a:hover */
/* ホバー時 */
.om-footer__legal-nav a:hover {
  color: #fff;  /* 文字色 */
  text-decoration: underline;  /* 下線 */
}

/* [6. Footer] .om-footer__copy */
.om-footer__copy {
  margin: 0;  /* 外側の余白 */
}

/* [6. Footer] .om-footer__badges */
.om-footer__badges {
  display: flex;  /* 表示形式 */
  flex-wrap: wrap;  /* 折り返し */
  gap: 6px;  /* 要素の間隔 */
  margin: 12px 0 0;  /* 外側の余白 */
  padding: 0;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
}

/* [6. Footer] .om-footer__badges li */
.om-footer__badges li {
  padding: 3px 10px;  /* 内側の余白 */
  border: 1.5px solid var(--om-ink);  /* 枠線 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: var(--om-yellow);  /* 背景 */
  font-size: 11px;  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  color: var(--om-ink);  /* 文字色 */
}

/* [6. Footer] .om-footer--minimal */
/* バリエーション: minimal */
.om-footer--minimal {
  padding-top: 40px;
}

/* [6. Footer] .om-footer-cta */
.om-footer-cta {
  position: relative;  /* 配置方法 */
  z-index: 1;  /* 重なり順 */
  margin: 0 0 clamp(36px, 5vw, 56px);  /* 外側の余白 */
  padding: clamp(28px, 4vw, 44px);  /* 内側の余白 */
  border: var(--om-line);  /* 枠線 */
  border-radius: var(--om-r-xl);  /* 角丸 */
  background: #fff;  /* 背景 */
  box-shadow: var(--om-sh-lg);  /* 影 */
  text-align: center;  /* 行揃え */
}

/* [6. Footer] .om-footer-cta__eyebrow */
.om-footer-cta__eyebrow {
  display: inline-block;  /* 表示形式 */
  margin: 0 0 8px;  /* 外側の余白 */
  padding: 2px 12px;  /* 内側の余白 */
  border: var(--om-line);  /* 枠線 */
  background: var(--om-yellow);  /* 背景 */
  font-family: var(--om-font-display);  /* 書体 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 900;  /* 太さ */
  color: var(--om-ink);  /* 文字色 */
  letter-spacing: 0.1em;  /* 字間 */
}

/* [6. Footer] .om-footer-cta__title */
.om-footer-cta__title {
  margin: 0 0 10px;  /* 外側の余白 */
  font-size: clamp(1.3rem, 2.6vw, 1.8rem);  /* 文字サイズ */
}

/* [6. Footer] .om-footer-cta__text */
.om-footer-cta__text {
  margin: 0 0 18px;  /* 外側の余白 */
  color: var(--om-ink-soft);  /* 文字色 */
}
/* ==========================================================================
   Ohashi Method — chrome extras: header layout variants, footer variants,
   search overlay, toast, cookie notice, announcement, offline/noscript.
   ========================================================================== */

/* ========================================================================
   7. Header variants (setting header_layout)
   ======================================================================== */

/* [7. Header variants (setting header_layout)] .om-header--static */
/* バリエーション: static */
.om-header--static {
  position: relative;  /* 配置方法 */
}

/* [7. Header variants (setting header_layout)] .om-header--centered .om-header__inner */
/* バリエーション: centered */
.om-header--centered .om-header__inner {
  flex-wrap: wrap;  /* 折り返し */
  justify-content: center;  /* 横の揃え */
  padding: 10px 0;  /* 内側の余白 */
}

/* [7. Header variants (setting header_layout)] .om-header--centered .om-header__brand */
/* バリエーション: centered */
.om-header--centered .om-header__brand {
  width: 100%;  /* 幅 */
  justify-content: center;  /* 横の揃え */
}

/* [7. Header variants (setting header_layout)] .om-header--centered .om-header__nav */
/* バリエーション: centered */
.om-header--centered .om-header__nav {
  order: 3;
  width: 100%;  /* 幅 */
}

/* [7. Header variants (setting header_layout)] .om-header--centered .om-header__actions */
/* バリエーション: centered */
.om-header--centered .om-header__actions {
  margin-left: 0;
  order: 2;
}

/* [7. Header variants (setting header_layout)] .om-header--minimal .om-header__nav */
/* バリエーション: minimal */
.om-header--minimal .om-header__nav,
.om-header--minimal .om-header__tag {
  display: none;  /* 表示形式 */
}

/* [7. Header variants (setting header_layout)] .om-header--minimal .om-header__toggle */
/* バリエーション: minimal */
.om-header--minimal .om-header__toggle {
  display: inline-flex;  /* 表示形式 */
}

/* [7. Header variants (setting header_layout)] .om-header--transparent */
/* バリエーション: transparent */
.om-header--transparent {
  background: transparent;  /* 背景 */
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  position: absolute;  /* 配置方法 */
  left: 0;  /* 左端 */
  right: 0;  /* 右端 */
}

/* [7. Header variants (setting header_layout)] .om-header--transparent.is-scrolled */
/* スクロール後、バリエーション: transparent.is-scrolled */
.om-header--transparent.is-scrolled {
  background: rgba(255, 255, 255, 0.96);  /* 背景 */
  position: sticky;  /* 配置方法 */
}

/* [7. Header variants (setting header_layout)] .om-header__meta */
.om-header__meta {
  display: none;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 16px;  /* 要素の間隔 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  color: var(--om-gray-600);  /* 文字色 */
}

@media (min-width: 1280px) {

  /* [7. Header variants (setting header_layout)] .om-header--with-meta .om-header__meta */
  /* バリエーション: with-meta */
  .om-header--with-meta .om-header__meta {
    display: inline-flex;  /* 表示形式 */
  }
}

/* [7. Header variants (setting header_layout)] .om-header__meta .om-ico */
.om-header__meta .om-ico {
  width: 14px;  /* 幅 */
  height: 14px;  /* 高さ */
  color: var(--om-navy);  /* 文字色 */
}

/* [7. Header variants (setting header_layout)] .om-header__tel */
.om-header__tel {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  gap: 6px;  /* 要素の間隔 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 900;  /* 太さ */
  font-size: 1.05rem;  /* 文字サイズ */
  color: var(--om-ink);  /* 文字色 */
  text-decoration: none;  /* 下線 */
}

/* [7. Header variants (setting header_layout)] .om-header__tel small */
.om-header__tel small {
  display: block;  /* 表示形式 */
  font-size: 10px;  /* 文字サイズ */
  font-weight: 400;  /* 太さ */
  color: var(--om-gray-600);  /* 文字色 */
  line-height: 1.2;  /* 行間 */
}

@media (max-width: 1023px) {

  /* [7. Header variants (setting header_layout)] .om-header__tel */
  .om-header__tel {
    display: none;  /* 表示形式 */
  }
}

/* [7. Header variants (setting header_layout)] .om-header__progress */
.om-header__progress {
  position: absolute;  /* 配置方法 */
  left: 0;  /* 左端 */
  bottom: -1px;  /* 下端 */
  height: 3px;  /* 高さ */
  width: 0;  /* 幅 */
  background: linear-gradient(90deg, var(--om-accent), var(--om-navy));  /* 背景 */
  transition: width 80ms linear;  /* 変化のアニメーション */
}

/* [7. Header variants (setting header_layout)] .om-header--hide-on-scroll.is-hidden */
/* バリエーション: hide-on-scroll.is-hidden */
.om-header--hide-on-scroll.is-hidden {
  transform: translateY(-100%);  /* 変形 */
  transition: transform var(--om-m-base) var(--om-m-ease);  /* 変化のアニメーション */
}

/* [7. Header variants (setting header_layout)] .om-header__nav .om-nav__badge */
.om-header__nav .om-nav__badge {
  margin-left: 4px;
  padding: 1px 6px;  /* 内側の余白 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: var(--om-accent);  /* 背景 */
  color: #fff;  /* 文字色 */
  font-size: 9px;  /* 文字サイズ */
  vertical-align: middle;
}

/* [7. Header variants (setting header_layout)] .om-nav__list .menu-item-has-children > a::after */
/* 疑似要素 */
.om-nav__list .menu-item-has-children > a::after {
  content: "";  /* 生成内容 */
  display: inline-block;  /* 表示形式 */
  width: 6px;  /* 幅 */
  height: 6px;  /* 高さ */
  margin-left: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);  /* 変形 */
}

/* [7. Header variants (setting header_layout)] .om-nav__list .sub-menu .sub-menu */
.om-nav__list .sub-menu .sub-menu {
  left: 100%;  /* 左端 */
  top: 0;  /* 上端 */
}

/* [7. Header variants (setting header_layout)] .om-nav__mega */
.om-nav__mega {
  position: absolute;  /* 配置方法 */
  left: 50%;  /* 左端 */
  top: 100%;  /* 上端 */
  width: min(960px, calc(100vw - 48px));  /* 幅 */
  transform: translate(-50%, 8px);  /* 変形 */
  padding: 24px;  /* 内側の余白 */
  display: grid;  /* 表示形式 */
  grid-template-columns: repeat(3, 1fr);  /* グリッドの列 */
  gap: 20px;  /* 要素の間隔 */
  background: #fff;  /* 背景 */
  border-radius: var(--om-r-xl);  /* 角丸 */
  box-shadow: var(--om-sh-lg);  /* 影 */
  opacity: 0;  /* 不透明度 */
  visibility: hidden;  /* 可視 */
  transition: opacity var(--om-m-fast), visibility var(--om-m-fast);  /* 変化のアニメーション */
}

/* [7. Header variants (setting header_layout)] .om-nav__item:hover > .om-nav__mega */
/* ホバー時、フォーカス時 */
.om-nav__item:hover > .om-nav__mega,
.om-nav__item:focus-within > .om-nav__mega {
  opacity: 1;  /* 不透明度 */
  visibility: visible;  /* 可視 */
}

/* [7. Header variants (setting header_layout)] .om-nav__mega-title */
.om-nav__mega-title {
  margin: 0 0 8px;  /* 外側の余白 */
  font-family: var(--om-font-round);  /* 書体 */
  font-weight: 700;  /* 太さ */
  color: var(--om-navy);  /* 文字色 */
}

/* [7. Header variants (setting header_layout)] .om-nav__mega a */
.om-nav__mega a {
  display: block;  /* 表示形式 */
  padding: 6px 0;  /* 内側の余白 */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
  color: var(--om-ink);  /* 文字色 */
  text-decoration: none;  /* 下線 */
}

/* [7. Header variants (setting header_layout)] .om-nav__mega a:hover */
/* ホバー時 */
.om-nav__mega a:hover {
  color: var(--om-navy);  /* 文字色 */
  text-decoration: underline;  /* 下線 */
}

/* ========================================================================
   8. Drawer extras
   ======================================================================== */

/* [8. Drawer extras] .om-drawer__search */
.om-drawer__search {
  margin: 14px 0;  /* 外側の余白 */
}

/* [8. Drawer extras] .om-drawer__section-title */
.om-drawer__section-title {
  margin: 18px 0 6px;  /* 外側の余白 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  letter-spacing: 0.08em;  /* 字間 */
  color: var(--om-gray-600);  /* 文字色 */
}

/* [8. Drawer extras] .om-drawer__chips */
.om-drawer__chips {
  display: flex;  /* 表示形式 */
  flex-wrap: wrap;  /* 折り返し */
  gap: 6px;  /* 要素の間隔 */
}

/* [8. Drawer extras] .om-drawer__chips a */
.om-drawer__chips a {
  padding: 5px 12px;  /* 内側の余白 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: var(--om-gray-100);  /* 背景 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  color: var(--om-ink);  /* 文字色 */
  text-decoration: none;  /* 下線 */
}

/* [8. Drawer extras] .om-drawer__chips a:hover */
/* ホバー時 */
.om-drawer__chips a:hover {
  background: var(--om-navy-soft);  /* 背景 */
  color: var(--om-navy-deep);  /* 文字色 */
}

/* [8. Drawer extras] .om-drawer__note */
.om-drawer__note {
  margin: 14px 0 0;  /* 外側の余白 */
  padding: 12px 14px;  /* 内側の余白 */
  border-radius: var(--om-r-md);  /* 角丸 */
  background: var(--om-yellow-soft);  /* 背景 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
}

/* [8. Drawer extras] .om-drawer__deco */
.om-drawer__deco {
  position: absolute;  /* 配置方法 */
  right: -20px;  /* 右端 */
  bottom: -20px;  /* 下端 */
  width: 120px;  /* 幅 */
  height: 120px;  /* 高さ */
  border-radius: 50%;  /* 角丸 */
  background: var(--om-sky);  /* 背景 */
  z-index: -1;  /* 重なり順 */
}

/* [8. Drawer extras] .om-drawer--left */
/* バリエーション: left */
.om-drawer--left {
  right: auto;  /* 右端 */
  left: 0;  /* 左端 */
  transform: translateX(-105%);  /* 変形 */
}

/* [8. Drawer extras] .om-drawer--full */
/* バリエーション: full */
.om-drawer--full {
  width: 100vw;  /* 幅 */
}

/* [8. Drawer extras] .om-nav-open .om-drawer--left */
/* バリエーション: left */
.om-nav-open .om-drawer--left {
  transform: none;  /* 変形 */
}

/* ========================================================================
   9. Search overlay
   ======================================================================== */

/* [9. Search overlay] .om-search-overlay */
.om-search-overlay {
  position: fixed;  /* 配置方法 */
  inset: 0;  /* 上下左右の位置 */
  z-index: var(--om-z-overlay);  /* 重なり順 */
  display: flex;  /* 表示形式 */
  align-items: flex-start;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  padding: 12vh 20px 20px;  /* 内側の余白 */
  background: var(--om-overlay);  /* 背景 */
}

/* [9. Search overlay] .om-search-overlay[hidden] */
.om-search-overlay[hidden] {
  display: none;  /* 表示形式 */
}

/* [9. Search overlay] .om-search-overlay__box */
.om-search-overlay__box {
  width: min(100%, 680px);  /* 幅 */
  padding: 24px;  /* 内側の余白 */
  background: #fff;  /* 背景 */
  border-radius: var(--om-r-2xl);  /* 角丸 */
  box-shadow: var(--om-sh-xl);  /* 影 */
}

/* [9. Search overlay] .om-search-overlay__title */
.om-search-overlay__title {
  margin: 0 0 12px;  /* 外側の余白 */
  font-size: 1.1rem;  /* 文字サイズ */
}

/* [9. Search overlay] .om-search-overlay__hint */
.om-search-overlay__hint {
  margin: 12px 0 0;  /* 外側の余白 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  color: var(--om-gray-600);  /* 文字色 */
}

/* [9. Search overlay] .om-search-overlay__suggest */
.om-search-overlay__suggest {
  display: flex;  /* 表示形式 */
  flex-wrap: wrap;  /* 折り返し */
  gap: 6px;  /* 要素の間隔 */
  margin: 12px 0 0;  /* 外側の余白 */
  padding: 0;  /* 内側の余白 */
  list-style: none;  /* リスト記号 */
}

/* [9. Search overlay] .om-search-overlay__suggest a */
.om-search-overlay__suggest a {
  padding: 5px 12px;  /* 内側の余白 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: var(--om-gray-100);  /* 背景 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
  text-decoration: none;  /* 下線 */
  color: var(--om-ink);  /* 文字色 */
}

/* ========================================================================
   10. Toast / cookie / announcement
   ======================================================================== */

/* [10. Toast / cookie / announcement] .om-toast */
.om-toast {
  position: fixed;  /* 配置方法 */
  left: 50%;  /* 左端 */
  bottom: 24px;  /* 下端 */
  z-index: var(--om-z-toast);  /* 重なり順 */
  transform: translate(-50%, 20px);  /* 変形 */
  padding: 12px 18px;  /* 内側の余白 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: var(--om-ink);  /* 背景 */
  color: #fff;  /* 文字色 */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  box-shadow: var(--om-sh-lg);  /* 影 */
  opacity: 0;  /* 不透明度 */
  visibility: hidden;  /* 可視 */
  transition: opacity var(--om-m-base), transform var(--om-m-base), visibility var(--om-m-base);  /* 変化のアニメーション */
}

/* [10. Toast / cookie / announcement] .om-toast.is-visible */
/* 表示状態 */
.om-toast.is-visible {
  opacity: 1;  /* 不透明度 */
  visibility: visible;  /* 可視 */
  transform: translate(-50%, 0);  /* 変形 */
}

/* [10. Toast / cookie / announcement] .om-toast--success */
/* バリエーション: success */
.om-toast--success {
  background: var(--om-mint);  /* 背景 */
}

/* [10. Toast / cookie / announcement] .om-toast--error */
/* バリエーション: error */
.om-toast--error {
  background: var(--om-red);  /* 背景 */
}

/* [10. Toast / cookie / announcement] .om-cookie */
.om-cookie {
  position: fixed;  /* 配置方法 */
  left: 16px;  /* 左端 */
  right: 16px;  /* 右端 */
  bottom: 16px;  /* 下端 */
  z-index: var(--om-z-toast);  /* 重なり順 */
  display: flex;  /* 表示形式 */
  flex-wrap: wrap;  /* 折り返し */
  align-items: center;  /* 縦の揃え */
  gap: 12px;  /* 要素の間隔 */
  padding: 16px 20px;  /* 内側の余白 */
  background: #fff;  /* 背景 */
  border-radius: var(--om-r-xl);  /* 角丸 */
  box-shadow: var(--om-sh-xl);  /* 影 */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
}

@media (min-width: 768px) {

  /* [10. Toast / cookie / announcement] .om-cookie */
  .om-cookie {
    left: auto;  /* 左端 */
    right: 24px;  /* 右端 */
    bottom: 24px;  /* 下端 */
    max-width: 420px;  /* 最大幅 */
  }
}

/* [10. Toast / cookie / announcement] .om-cookie[hidden] */
.om-cookie[hidden] {
  display: none;  /* 表示形式 */
}

/* [10. Toast / cookie / announcement] .om-cookie__text */
.om-cookie__text {
  flex: 1 1 240px;  /* 伸縮 */
  margin: 0;  /* 外側の余白 */
}

/* [10. Toast / cookie / announcement] .om-cookie__actions */
.om-cookie__actions {
  display: flex;  /* 表示形式 */
  gap: 8px;  /* 要素の間隔 */
}

/* [10. Toast / cookie / announcement] .om-announce */
.om-announce {
  position: relative;  /* 配置方法 */
  padding: 8px var(--om-gutter);  /* 内側の余白 */
  background: var(--om-yellow-soft);  /* 背景 */
  text-align: center;  /* 行揃え */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
}

/* [10. Toast / cookie / announcement] .om-announce a */
.om-announce a {
  color: var(--om-ink);  /* 文字色 */
  font-weight: 700;  /* 太さ */
}

/* [10. Toast / cookie / announcement] .om-announce__close */
.om-announce__close {
  position: absolute;  /* 配置方法 */
  right: 8px;  /* 右端 */
  top: 50%;  /* 上端 */
  transform: translateY(-50%);  /* 変形 */
  width: 28px;  /* 幅 */
  height: 28px;  /* 高さ */
  border: 0;  /* 枠線 */
  border-radius: 50%;  /* 角丸 */
  background: rgba(0, 0, 0, 0.06);  /* 背景 */
}

/* [10. Toast / cookie / announcement] .om-announce--pink */
/* バリエーション: pink */
.om-announce--pink {
  background: var(--om-blush);  /* 背景 */
}

/* [10. Toast / cookie / announcement] .om-announce--sky */
/* バリエーション: sky */
.om-announce--sky {
  background: var(--om-sky);  /* 背景 */
}

/* [10. Toast / cookie / announcement] .om-offline */
.om-offline {
  position: fixed;  /* 配置方法 */
  left: 0;  /* 左端 */
  right: 0;  /* 右端 */
  top: 0;  /* 上端 */
  z-index: var(--om-z-toast);  /* 重なり順 */
  padding: 8px;  /* 内側の余白 */
  background: var(--om-red);  /* 背景 */
  color: #fff;  /* 文字色 */
  text-align: center;  /* 行揃え */
  font-size: var(--om-fs-sm);  /* 文字サイズ */
}

/* [10. Toast / cookie / announcement] .om-offline[hidden] */
.om-offline[hidden] {
  display: none;  /* 表示形式 */
}

/* ========================================================================
   11. Footer variants
   ======================================================================== */

/* [11. Footer variants] .om-footer--cream */
/* バリエーション: cream */
.om-footer--cream {
  background: var(--om-cream);  /* 背景 */
}

/* [11. Footer variants] .om-footer--blush */
/* バリエーション: blush */
.om-footer--blush {
  background: var(--om-blush);  /* 背景 */
}

/* [11. Footer variants] .om-footer--paper */
/* バリエーション: paper */
.om-footer--paper {
  background: #fff;  /* 背景 */
  border-top: 2px dashed var(--om-gray-200);
}

/* [11. Footer variants] .om-footer__wave */
.om-footer__wave {
  position: absolute;  /* 配置方法 */
  left: 0;  /* 左端 */
  right: 0;  /* 右端 */
  top: -1px;  /* 上端 */
  height: 60px;  /* 高さ */
  line-height: 0;  /* 行間 */
}

/* [11. Footer variants] .om-footer__wave svg */
.om-footer__wave svg {
  display: block;  /* 表示形式 */
  width: 100%;  /* 幅 */
  height: 100%;  /* 高さ */
}

/* [11. Footer variants] .om-footer__topics-grid */
.om-footer__topics-grid {
  display: grid;  /* 表示形式 */
  gap: 6px;  /* 要素の間隔 */
}

@media (min-width: 640px) {

  /* [11. Footer variants] .om-footer__topics-grid */
  .om-footer__topics-grid {
    grid-template-columns: repeat(2, 1fr);  /* グリッドの列 */
  }
}

/* [11. Footer variants] .om-footer__tokushoho */
.om-footer__tokushoho {
  margin-top: 16px;
  font-size: 11px;  /* 文字サイズ */
  color: var(--om-gray-600);  /* 文字色 */
}

/* [11. Footer variants] .om-footer__tokushoho dt */
.om-footer__tokushoho dt {
  font-weight: 700;  /* 太さ */
  display: inline;  /* 表示形式 */
  margin-right: 6px;
}

/* [11. Footer variants] .om-footer__tokushoho dd */
.om-footer__tokushoho dd {
  display: inline;  /* 表示形式 */
  margin: 0 14px 0 0;  /* 外側の余白 */
}

/* [11. Footer variants] .om-footer__social */
.om-footer__social {
  display: flex;  /* 表示形式 */
  gap: 8px;  /* 要素の間隔 */
  margin-top: 12px;
}

/* [11. Footer variants] .om-footer__social a */
.om-footer__social a {
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  width: 36px;  /* 幅 */
  height: 36px;  /* 高さ */
  border-radius: 50%;  /* 角丸 */
  background: #fff;  /* 背景 */
  color: var(--om-navy);  /* 文字色 */
  box-shadow: var(--om-sh-xs);  /* 影 */
}

/* [11. Footer variants] .om-footer__social a:hover */
/* ホバー時 */
.om-footer__social a:hover {
  background: var(--om-navy);  /* 背景 */
  color: #fff;  /* 文字色 */
}

/* [11. Footer variants] .om-footer__edition */
.om-footer__edition {
  display: inline-block;  /* 表示形式 */
  margin-top: 10px;
  padding: 2px 10px;  /* 内側の余白 */
  border-radius: var(--om-r-pill);  /* 角丸 */
  background: #fff;  /* 背景 */
  font-size: 11px;  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  color: var(--om-navy);  /* 文字色 */
}

/* [11. Footer variants] .om-footer__road */
.om-footer__road {
  position: absolute;  /* 配置方法 */
  left: 0;  /* 左端 */
  right: 0;  /* 右端 */
  bottom: 0;  /* 下端 */
  height: 10px;  /* 高さ */
  background: repeating-linear-gradient(90deg, var(--om-yellow) 0 24px, transparent 24px 40px);  /* 背景 */
  opacity: 0.6;  /* 不透明度 */
}

/* [11. Footer variants] .om-footer__diagnostics */
.om-footer__diagnostics {
  font-size: 10px;  /* 文字サイズ */
  color: var(--om-gray-400);  /* 文字色 */
}

/* [11. Footer variants] .om-footer-cta--compact */
/* バリエーション: compact */
.om-footer-cta--compact {
  padding: 20px;  /* 内側の余白 */
}

/* [11. Footer variants] .om-footer-cta--compact .om-footer-cta__title */
/* バリエーション: compact */
.om-footer-cta--compact .om-footer-cta__title {
  font-size: 1.15rem;  /* 文字サイズ */
}

/* [11. Footer variants] .om-footer__kobito-line */
.om-footer__kobito-line {
  display: flex;  /* 表示形式 */
  justify-content: center;  /* 横の揃え */
  gap: 8px;  /* 要素の間隔 */
}

/* ========================================================================
   12. Floating UI extras
   ======================================================================== */

/* [12. Floating UI extras] .om-side--left */
/* バリエーション: left */
.om-side--left {
  right: auto;  /* 右端 */
  left: 18px;  /* 左端 */
}

/* [12. Floating UI extras] .om-side--square .om-side__link */
/* バリエーション: square */
.om-side--square .om-side__link {
  border-radius: var(--om-r-xl);  /* 角丸 */
  width: auto;  /* 幅 */
  height: auto;  /* 高さ */
  padding: 14px 20px;  /* 内側の余白 */
  flex-direction: row;  /* 並ぶ方向 */
}

/* [12. Floating UI extras] .om-side--blue .om-side__link */
/* バリエーション: blue */
.om-side--blue .om-side__link {
  background: var(--om-navy);  /* 背景 */
  box-shadow: 0 12px 30px rgba(45, 107, 255, 0.35);  /* 影 */
}

/* [12. Floating UI extras] .om-side--yellow .om-side__link */
/* バリエーション: yellow */
.om-side--yellow .om-side__link {
  background: var(--om-yellow);  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
  box-shadow: 0 12px 30px rgba(255, 210, 63, 0.4);  /* 影 */
}

/* [12. Floating UI extras] .om-side__count */
.om-side__count {
  position: absolute;  /* 配置方法 */
  right: -4px;  /* 右端 */
  top: -4px;  /* 上端 */
  min-width: 22px;
  height: 22px;  /* 高さ */
  padding: 0 6px;  /* 内側の余白 */
  border-radius: 11px;  /* 角丸 */
  background: var(--om-ink);  /* 背景 */
  color: #fff;  /* 文字色 */
  font-size: 11px;  /* 文字サイズ */
  font-weight: 700;  /* 太さ */
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
}

/* [12. Floating UI extras] .om-sticky-cta--yellow .om-sticky-cta__main */
/* バリエーション: yellow */
.om-sticky-cta--yellow .om-sticky-cta__main {
  background: var(--om-yellow);  /* 背景 */
  color: var(--om-ink);  /* 文字色 */
  box-shadow: none;  /* 影 */
}

/* [12. Floating UI extras] .om-sticky-cta--blue .om-sticky-cta__main */
/* バリエーション: blue */
.om-sticky-cta--blue .om-sticky-cta__main {
  background: var(--om-navy);  /* 背景 */
  box-shadow: none;  /* 影 */
}

/* [12. Floating UI extras] .om-sticky-cta__chat */
.om-sticky-cta__chat {
  flex: 0 0 auto;  /* 伸縮 */
  width: 50px;  /* 幅 */
  display: inline-flex;  /* 表示形式 */
  align-items: center;  /* 縦の揃え */
  justify-content: center;  /* 横の揃え */
  border-radius: 50%;  /* 角丸 */
  background: var(--om-sky);  /* 背景 */
  color: var(--om-navy);  /* 文字色 */
}

/* [12. Floating UI extras] .om-chat--pink .om-chat__launcher */
/* バリエーション: pink */
.om-chat--pink .om-chat__launcher,
.om-chat--pink .om-chat__header {
  background: var(--om-accent);  /* 背景 */
}

/* [12. Floating UI extras] .om-chat--pink .om-chat__msg--user .om-chat__bubble */
/* バリエーション: user */
.om-chat--pink .om-chat__msg--user .om-chat__bubble {
  background: var(--om-accent);  /* 背景 */
}

/* [12. Floating UI extras] .om-chat--mint .om-chat__launcher */
/* バリエーション: mint */
.om-chat--mint .om-chat__launcher,
.om-chat--mint .om-chat__header {
  background: var(--om-mint);  /* 背景 */
}

/* [12. Floating UI extras] .om-chat--mint .om-chat__msg--user .om-chat__bubble */
/* バリエーション: user */
.om-chat--mint .om-chat__msg--user .om-chat__bubble {
  background: var(--om-mint);  /* 背景 */
}

/* [12. Floating UI extras] .om-chat__typing */
.om-chat__typing {
  display: inline-flex;  /* 表示形式 */
  gap: 4px;  /* 要素の間隔 */
  padding: 6px 0;  /* 内側の余白 */
}

/* [12. Floating UI extras] .om-chat__typing i */
.om-chat__typing i {
  width: 6px;  /* 幅 */
  height: 6px;  /* 高さ */
  border-radius: 50%;  /* 角丸 */
  background: var(--om-gray-400);  /* 背景 */
  animation: om-typing 1s ease-in-out infinite;  /* アニメーション */
}

/* [12. Floating UI extras] .om-chat__typing i:nth-child(2) */
.om-chat__typing i:nth-child(2) {
  animation-delay: 0.15s;
}

/* [12. Floating UI extras] .om-chat__typing i:nth-child(3) */
.om-chat__typing i:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes om-typing {
  0%, 100% {
    transform: translateY(0);
    opacity: 0.5;
  }
  50% {
    transform: translateY(-4px);
    opacity: 1;
  }
}

/* [12. Floating UI extras] .om-chat__badge */
.om-chat__badge {
  position: absolute;  /* 配置方法 */
  right: -4px;  /* 右端 */
  top: -4px;  /* 上端 */
  width: 12px;  /* 幅 */
  height: 12px;  /* 高さ */
  border-radius: 50%;  /* 角丸 */
  background: var(--om-accent);  /* 背景 */
  border: 2px solid #fff;  /* 枠線 */
}

/* [12. Floating UI extras] .om-chat__launcher--noscript */
/* バリエーション: noscript */
.om-chat__launcher--noscript {
  display: inline-flex;  /* 表示形式 */
}

/* [12. Floating UI extras] .om-chat__panel--wide */
/* バリエーション: wide */
.om-chat__panel--wide {
  width: min(calc(100vw - 24px), 460px);  /* 幅 */
}

/* [12. Floating UI extras] .om-chat__msg--system .om-chat__bubble */
/* バリエーション: system */
.om-chat__msg--system .om-chat__bubble {
  background: var(--om-yellow-soft);  /* 背景 */
  font-size: var(--om-fs-xs);  /* 文字サイズ */
}

/* [12. Floating UI extras] .om-chat__source */
.om-chat__source {
  color: var(--om-gray-400);  /* 文字色 */
}

/* [12. Floating UI extras] .om-modal--wide .om-modal__content */
/* バリエーション: wide */
.om-modal--wide .om-modal__content {
  width: min(100%, 960px);  /* 幅 */
}

/* [12. Floating UI extras] .om-modal__footer */
.om-modal__footer {
  display: flex;  /* 表示形式 */
  justify-content: flex-end;  /* 横の揃え */
  gap: 10px;  /* 要素の間隔 */
  margin-top: 20px;
}

/* [12. Floating UI extras] .om-modal-open */
.om-modal-open {
  overflow: hidden;  /* はみ出し */
}

/* [12. Floating UI extras] .om-totop--square */
/* バリエーション: square */
.om-totop--square {
  border-radius: var(--om-r-md);  /* 角丸 */
}

/* [12. Floating UI extras] .om-edge--hidden */
/* バリエーション: hidden */
.om-edge--hidden {
  display: none !important;  /* 表示形式 */
}

/* ========================================================================
   13. Print & reduced motion (chrome)
   ======================================================================== */

@media print {

  /* [13. Print & reduced motion (chrome)] .om-header */
  .om-header {
    position: static;  /* 配置方法 */
    box-shadow: none;  /* 影 */
  }

  /* [13. Print & reduced motion (chrome)] .om-header__actions */
  .om-header__actions,
  .om-drawer,
  .om-nav-backdrop,
  .om-side,
  .om-sticky-cta,
  .om-chat,
  .om-totop,
  .om-edge,
  .om-toast,
  .om-cookie,
  .om-footer__scene,
  .om-footer-cta {
    display: none !important;  /* 表示形式 */
  }

  /* [13. Print & reduced motion (chrome)] .om-footer */
  .om-footer {
    background: none;  /* 背景 */
    padding-top: 20pt;
  }

  /* [13. Print & reduced motion (chrome)] .om-footer__company */
  .om-footer__company {
    box-shadow: none;  /* 影 */
    border: 1px solid #ccc;  /* 枠線 */
  }
}

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

  /* [13. Print & reduced motion (chrome)] .om-side__ring */
  .om-side__ring,
  .om-header__progress,
  .om-chat__typing i,
  .om-footer__road {
    animation: none !important;  /* アニメーション */
  }

  /* [13. Print & reduced motion (chrome)] .om-drawer */
  .om-drawer {
    transition: none;  /* 変化のアニメーション */
  }
}

/* [13. Print & reduced motion (chrome)] .om-header__inner .om-btn:focus-visible */
/* フォーカス時 */
.om-header__inner .om-btn:focus-visible {
  outline-offset: 2px;
}

/* [13. Print & reduced motion (chrome)] .om-drawer a:focus-visible */
/* フォーカス時 */
.om-drawer a:focus-visible,
.om-drawer button:focus-visible {
  outline: 3px solid var(--om-focus);  /* フォーカス枠 */
  outline-offset: 2px;
}

/* [13. Print & reduced motion (chrome)] .om-footer a:focus-visible */
/* フォーカス時 */
.om-footer a:focus-visible {
  outline: 3px solid var(--om-focus);  /* フォーカス枠 */
  outline-offset: 2px;
  border-radius: 4px;  /* 角丸 */
}
