@charset "UTF-8";
/*
Theme Name: いまいメディカルコーポレーション
Author: fci
Description: いまいメディカルコーポレーションテーマ 
Version: 1.0
*/
/* afacad-flux-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Afacad Flux";
  font-style: normal;
  font-weight: 500;
  src: url("./fonts/afacad-flux/afacad-flux-v4-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-maru-gothic-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Zen Maru Gothic";
  font-style: normal;
  font-weight: 500;
  src: url("./fonts/zen-maru-gothic/zen-maru-gothic-v19-japanese-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* zen-maru-gothic-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Zen Maru Gothic";
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/zen-maru-gothic/zen-maru-gothic-v19-japanese-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/noto-sans-jp/noto-sans-jp-v56-japanese-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("./fonts/noto-sans-jp/noto-sans-jp-v56-japanese-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-700 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/noto-sans-jp/noto-sans-jp-v56-japanese-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: unset;
  color: currentColor;
}

button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* 変数 */
:root {
  --f1: 2.44em; /* 39.04px */
  --f2: 1.95em; /* 31.2px */
  --f3: 1.56em; /* 24.96px */
  --f4: 1.25em; /* 20px */
  --f5: 1em; /* 16px */
  --f6: 0.8em; /* 12.8px */
  --myw: 1000px; /* 標準幅 */
  --green: #006240;
  --yellow: #ffad3c;
  --orange: #d96028;
  --blue: #05438b;
  --t-black: #292d38;
  --text: #212121;
  --font-base: 'Noto Sans JP', system-ui, -apple-system, 'Hiragino Sans',
      'Yu Gothic', sans-serif;
  --font-round: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
  --font-accent: 'Afacad Flux', system-ui, sans-serif;
}

:root {
  --bp-sm: 480px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1200px;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  overflow-x: clip;
}

img,
iframe,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

figure {
  margin-left: 0;
  margin-right: 0;
}

body *,
body *::before,
body *::after {
  box-sizing: border-box;
}

body {
  font-family: var(--font-base);
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.05em;
  line-height: 1.6;
  color: var(--t-black);
}

/* スクリーンリーダー用のテキスト */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.l-container {
  max-width: 1100px;
  margin-inline: auto;
  padding-inline: 15px;
}

.page-hero {
  position: relative;
}
.page-hero__media {
  position: relative;
  overflow: hidden;
}
.page-hero__picture {
  display: block;
  width: 100%;
  height: 100%;
}
.page-hero__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-hero__badge {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  padding: 19px 26px 7px 15px;
  max-width: calc(100% - 24px);
  background: #fff;
  border-radius: 0 30px 0 0;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}
@media (min-width: 1024px) {
  .page-hero__badge {
    padding: 26px 80px 6px 85px;
  }
}
.page-hero__breadcrumb {
  width: 100%;
  padding: 13px 15px 2px;
}
@media (min-width: 1024px) {
  .page-hero__breadcrumb {
    padding-inline: 88px;
    padding-top: 40px;
  }
}
.page-hero__breadcrumb .breadcrumb {
  font-size: 0;
  font-weight: 300;
  display: flex;
  align-items: center;
}
.page-hero__breadcrumb .breadcrumb > span,
.page-hero__breadcrumb .breadcrumb a {
  font-size: 12px;
}
.page-hero__breadcrumb .breadcrumb a {
  text-decoration: none;
}
.page-hero__breadcrumb .breadcrumb a:hover {
  text-decoration: underline;
}
.page-hero__breadcrumb .breadcrumb > span:not(:first-child)::before {
  content: ">";
  margin: 0 8px;
  color: inherit;
  font-size: 12px;
}
.page-hero__title {
  position: relative;
  padding-left: 33px;
  font-family: var(--font-round);
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.3;
  display: block;
}
@media (min-width: 1024px) {
  .page-hero__title {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-left: 50px;
    font-size: 30px;
  }
}
.page-hero__title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 28px;
  background-image: url("./img/common/icon/page_hero_icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media (min-width: 1024px) {
  .page-hero__title::before {
    width: 34px;
    height: 40px;
  }
}
@media (min-width: 1024px) {
  .page-hero__ja {
    font-size: 30px;
  }
}
.page-hero__en {
  display: block;
  color: var(--yellow);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.1em;
  font-family: var(--font-accent);
}
@media (min-width: 1024px) {
  .page-hero__en {
    font-size: 18px;
  }
}

/* =========================
  Common Section Heading
========================= */
.p__hd {
  text-align: center;
  margin: 0 0 18px;
}
.p__ttl {
  font-family: var(--font-round);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.2em;
  margin: 0;
}
@media (min-width: 1024px) {
  .p__ttl {
    font-size: 30px;
  }
}
.p__ttl-ib {
  display: inline-block;
}
.p__en {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1;
  font-family: var(--font-accent);
  letter-spacing: 0.1em;
  color: var(--yellow);
}
@media (min-width: 1024px) {
  .p__en {
    font-size: 18px;
  }
}

/* =========================
  Common Button
========================= */
.c-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  height: 48px;
  width: 224px;
  overflow: hidden;
  border-radius: 9999px;
  font-family: var(--font-round);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
  padding-right: 8px;
  transition: filter 0.1s ease, transform 0.1s ease;
}
.c-btn--primary {
  position: relative;
  z-index: 0;
  color: #fff;
  background: var(--green);
  transform: translateZ(0);
}
.c-btn--primary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--yellow);
  border-radius: 9999px;
  transform-origin: left center;
  transition: transform 0.25s ease;
  z-index: -1;
  will-change: transform;
  transform: translateZ(0) scaleX(0);
}
.c-btn--primary:hover::before, .c-btn--primary:focus-visible::before {
  transform: translateZ(0) scaleX(1);
}
.c-btn__txt {
  position: relative;
  z-index: 1;
  display: inline-block;
  white-space: nowrap;
  transform: translateZ(0);
  will-change: transform, color;
  -webkit-text-fill-color: currentColor;
}
.c-btn {
  /* 右側の装飾（ill.svg） */
}
.c-btn__ill {
  position: absolute;
  right: 21px;
  top: 50%;
  z-index: 1;
  transform: translateY(-50%) scale(1);
  width: 23px;
  height: 25px;
  background: url("./img/common/icon/btn_ill.svg") no-repeat center/contain;
  transition: transform 0.25s ease;
  will-change: transform;
}
.c-btn:hover .c-btn__ill, .c-btn:focus-visible .c-btn__ill {
  transform: translateY(-50%) scale(0.86);
  background-image: url("./img/common/icon/btn_ill-hover.svg");
}

/* =========================
  Scroll Reveal
========================= */
.js-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  will-change: opacity, transform;
}

.js-reveal.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.js-reveal[data-reveal=left] {
  transform: translateX(-18px);
}

.js-reveal.is-inview[data-reveal=left] {
  transform: translateX(0);
}

.js-reveal[data-reveal=right] {
  transform: translateX(18px);
}

.js-reveal.is-inview[data-reveal=right] {
  transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
  .js-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.site-header {
  position: relative;
  z-index: 1100;
}
.site-header--fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1200;
  pointer-events: none;
}
.site-header__inner {
  position: relative;
  pointer-events: auto;
  height: 60px;
  padding-inline: 10px;
  margin-inline: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: transparent;
}
@media (min-width: 1024px) {
  .site-header__inner {
    height: 66px;
    padding-inline: unset;
    margin-inline: unset;
    padding-left: 40px;
    margin-top: 20px;
  }
}
.site-header__inner::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 0 0 20px 20px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  pointer-events: none;
  z-index: 0;
}
@media (min-width: 1024px) {
  .site-header__inner::before {
    /* PCではヘッダー全体の背景パネルは使わず、グロナビ側（__pc）に背景を持たせる */
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    opacity: 0;
  }
}
.site-header__logo, .site-header__pc, .site-header__sp {
  position: relative;
  z-index: 1;
}
.site-header {
  /* ロゴ */
}
.site-header__logo {
  flex: 0 0 auto;
  display: block;
  width: 152px;
  height: 30px;
}
.site-header__logo-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 1024px) {
  .site-header__logo {
    width: 252px;
    height: auto;
  }
}
.site-header {
  /* PC は別途ブレイクポイントで表示にする想定 */
}
.site-header__pc {
  display: none;
  margin-left: auto;
}
@media (min-width: 1024px) {
  .site-header__pc {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-left: auto;
    /* グロナビ＋お問い合わせの塊だけ背景を持たせる */
    background: rgba(255, 255, 255, 0.7);
    border-radius: 9999px 0 0 9999px;
    padding: 0 40px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
}
.site-header {
  /* SP 右側 */
}
.site-header__sp {
  display: flex;
  align-items: center;
  gap: 15px;
}
@media (min-width: 1024px) {
  .site-header__sp {
    display: none;
  }
}
.site-header {
  /* SP：店舗検索ボタン（右上のピル） */
}
.site-header__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  position: relative;
  z-index: 1;
}
.site-header__btn--store-search {
  height: 34px;
  width: 100px;
  border-radius: 9999px;
  background: var(--green);
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  transition: background-color 0.2s ease, filter 0.2s ease, transform 0.1s ease;
}
.site-header__btn--store-search:hover, .site-header__btn--store-search:focus-visible {
  filter: brightness(1.2);
}
.site-header__btn--contact {
  /* PCで上書き */
}
@media (min-width: 1024px) {
  .site-header__btn--contact {
    position: relative;
    overflow: hidden;
    height: 45px;
    padding-inline: 18px;
    border-radius: 9999px;
    background: var(--green);
    color: #fff;
    font-weight: 500;
    font-family: var(--font-round);
    font-size: 16px;
    letter-spacing: 0.1em;
  }
  .site-header__btn--contact::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--yellow);
    border-radius: 9999px;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.22s ease;
    z-index: 0;
  }
  .site-header__btn--contact {
    position: relative;
  }
  .site-header__btn--contact:hover::before, .site-header__btn--contact:focus-visible::before {
    transform: scaleX(1);
  }
  .site-header__btn--contact .site-header__btn-text {
    position: relative;
    z-index: 1;
  }
}
.site-header {
  /* SP：ハンバーガー */
}
.site-header__toggle {
  position: relative;
  z-index: 1200;
  width: 24px;
  height: 26px;
  border: 0;
  background: transparent;
  border-radius: 10px;
  cursor: pointer;
}
.site-header__toggle:focus-visible {
  outline: 2px solid rgba(31, 90, 66, 0.45);
  outline-offset: 2px;
}
.site-header__toggle-line {
  position: absolute;
  left: 50%;
  width: 24px;
  height: 3px;
  background: var(--green);
  border-radius: 2px;
  transform: translateX(-50%);
  transition: transform 0.2s ease, opacity 0.2s ease, top 0.2s ease;
}
.site-header__toggle-line:nth-child(1) {
  top: 0;
}
.site-header__toggle-line:nth-child(2) {
  top: 10px;
  background: var(--yellow);
}
.site-header__toggle-line:nth-child(3) {
  top: 20px;
}
.site-header__toggle {
  /* 開いた状態（JSで aria-expanded="true" にする想定） */
}
.site-header__toggle[aria-expanded=true] .site-header__toggle-line:nth-child(1) {
  top: 10px;
  transform: translateX(-50%) rotate(45deg);
}
.site-header__toggle[aria-expanded=true] .site-header__toggle-line:nth-child(2) {
  opacity: 0;
}
.site-header__toggle[aria-expanded=true] .site-header__toggle-line:nth-child(3) {
  top: 10px;
  transform: translateX(-50%) rotate(-45deg);
}
.site-header {
  /* PCナビ */
}
@media (min-width: 1024px) {
  .site-header__nav {
    display: block;
    width: auto;
  }
}
@media (min-width: 1024px) {
  .site-header__menu {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
  }
}
@media (min-width: 1100px) {
  .site-header__menu {
    gap: 25px;
  }
}
@media (min-width: 1200px) {
  .site-header__menu {
    gap: 30px;
  }
}
@media (min-width: 1024px) {
  .site-header__menu-item {
    border: 0;
  }
}
@media (min-width: 1024px) {
  .site-header__menu-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    font-weight: 700;
    font-family: var(--font-round);
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.1em;
    padding: 25px 2px;
  }
  .site-header__menu-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    height: 2px;
    background: var(--yellow);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.22s ease;
  }
  .site-header__menu-link:hover, .site-header__menu-link:focus-visible {
    opacity: 1;
    color: var(--yellow);
  }
  .site-header__menu-link:hover::after, .site-header__menu-link:focus-visible::after {
    transform: scaleX(1);
  }
}
@media (min-width: 1240px) {
  .site-header__menu-link {
    font-size: 16px;
  }
}
@media (min-width: 1024px) {
  .site-header__actions {
    display: flex;
    align-items: center;
  }
}
.site-header {
  /* SP：ドロワー（メニュー） */
}
.site-header-drawer {
  position: fixed;
  inset: 0;
  /* ヘッダーを“剥き出し”で見せるため、ドロワーはヘッダーより背面にする */
  z-index: 1150;
  /* 初期は非表示 */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* 背景のカバーは入れない（透明） */
  background: transparent;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  /* メニュー本体 */
}
.site-header-drawer__nav {
  height: 100%;
  padding-top: 66px;
  padding-inline: 10px;
  display: flex;
  justify-content: center;
  /* 背景カバーが無いので、パネルだけが浮いて見えるように余白は維持 */
}
.site-header-drawer__panel {
  width: 100%;
  background-color: #fff;
  border-radius: 24px 24px 0 0;
  padding: 30px 30px 24px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  outline: 1px solid rgba(33, 33, 33, 0.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  flex-direction: column;
  overflow: auto;
}
.site-header-drawer__in {
  max-width: 540px;
  margin-inline: auto;
  width: 100%;
}
.site-header-drawer__menu {
  list-style: none;
  margin-bottom: 30px;
}
.site-header-drawer__menu-item {
  border-bottom: 1px solid rgba(33, 33, 33, 0.1);
}
.site-header-drawer__menu-item--has-children {
  border-bottom: 0;
}
.site-header-drawer__menu-item:first-child {
  border-top: unset;
}
.site-header-drawer__menu-item:first-child .site-header-drawer__menu-link {
  padding-top: unset;
}
.site-header-drawer__menu-link {
  display: block;
  padding: 15px 0;
  text-decoration: none;
  color: var(--green);
  font-weight: 700;
  font-family: var(--font-round);
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
}
.site-header-drawer__menu-link:hover, .site-header-drawer__menu-link:focus-visible {
  opacity: 0.8;
}
.site-header-drawer {
  /* SPドロワー：会社案内アコーディオン（チェックボックス方式） */
}
.site-header-drawer__accordion {
  border-bottom: 1px solid rgba(33, 33, 33, 0.1);
  padding-top: 15px;
  padding-bottom: 15px;
}
.site-header-drawer__accordion:hover {
  opacity: 0.8;
}
.site-header-drawer__accordion-toggle {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  overflow: hidden;
  white-space: nowrap;
}
.site-header-drawer__accordion-summary {
  display: flex;
  align-items: center;
  gap: 15px;
  cursor: pointer;
  color: var(--green);
  font-weight: 700;
  font-family: var(--font-round);
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
}
.site-header-drawer__accordion-arrow {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.site-header-drawer {
  /* 閉じ→開き：矢印回転 */
}
.site-header-drawer__accordion-toggle:checked + .site-header-drawer__accordion-summary .site-header-drawer__accordion-arrow {
  transform: rotate(180deg);
}
.site-header-drawer__submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: max-height 0.32s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.24s ease, transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), padding 0.24s ease;
  will-change: max-height, opacity, transform, padding;
}
.site-header-drawer {
  /* 閉じ→開き：サブメニューをふわっと表示 */
}
.site-header-drawer__accordion-toggle:checked ~ .site-header-drawer__submenu {
  max-height: 360px;
  opacity: 1;
  transform: translateY(0);
  padding: 30px 0 15px 0;
}
.site-header-drawer__submenu-item {
  margin: 0;
  padding: 0;
}
.site-header-drawer__submenu-link {
  display: block;
  padding-left: 13px;
  font-family: var(--font-round);
  line-height: 1;
  letter-spacing: 0.1em;
}
.site-header-drawer__submenu-link:hover, .site-header-drawer__submenu-link:focus-visible {
  opacity: 0.8;
}
.site-header-drawer {
  /* ドロワー内の下部CTA（必要なら後でデザイン調整） */
}
.site-header-drawer__cta {
  display: grid;
  gap: 12px;
}
.site-header-drawer__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  border-radius: 9999px;
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-family: var(--font-round);
  font-size: 17px;
  margin-inline: 6px;
  transition: filter 0.2s ease;
}
.site-header-drawer__btn:hover, .site-header-drawer__btn:focus-visible {
  filter: brightness(1.2);
}
.site-header-drawer__btn--contact {
  background: var(--green);
}
.site-header-drawer__btn--recruit {
  background: var(--orange);
}
.site-header-drawer__btn--support {
  background: var(--blue);
}
.site-header-drawer__btn::after {
  content: "";
  position: absolute;
  right: 30px;
  top: 50%;
  width: 11px;
  height: 10px;
  transform: translate(0, -50%);
  background: url("./img/common/icon/right-arrow.svg") no-repeat center/contain;
  transition: transform 0.2s ease;
}
.site-header-drawer__btn:hover::after, .site-header-drawer__btn:focus-visible::after {
  transform: translate(8px, -50%);
}
.site-header {
  /* 開いた時 */
}
body.is-drawer-open .site-header-drawer {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.site-header {
  /* SP固定フッターボタン（採用/開業支援） */
}
.site-header__sp-fixed-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 900;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .site-header__sp-fixed-cta {
    /* PC：固定CTAは右端に縦配置（テキスト縦） */
    left: auto;
    right: 0;
    bottom: 0;
    width: 56px;
    grid-template-columns: 1fr;
    border-radius: unset;
    overflow: hidden;
    z-index: 950;
    gap: 3px;
  }
}
.site-header__sp-fixed-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 52px;
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-family: var(--font-round);
  font-size: 17px;
  transition: filter 0.2s ease, transform 0.2s ease;
  will-change: transform;
}
.site-header__sp-fixed-btn:hover, .site-header__sp-fixed-btn:focus-visible {
  filter: brightness(1.2);
}
.site-header__sp-fixed-btn:hover .site-header__sp-fixed-icon, .site-header__sp-fixed-btn:focus-visible .site-header__sp-fixed-icon {
  transform: translateX(8px);
}
.site-header__sp-fixed-btn--recruit {
  background: var(--orange);
}
.site-header__sp-fixed-btn--support {
  background: var(--blue);
}
.site-header__sp-fixed-btn .site-header__sp-fixed-icon {
  width: 18px;
  height: 18px;
  display: inline-block;
  flex: 0 0 auto;
  transition: transform 0.2s ease;
}
@media (min-width: 1024px) {
  .site-header__sp-fixed-btn:hover, .site-header__sp-fixed-btn:focus-visible {
    filter: brightness(1.2);
  }
  .site-header__sp-fixed-btn {
    justify-content: center;
    gap: 7px;
    width: 56px;
    height: 192px;
    font-size: 17px;
    letter-spacing: 0.12em;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    border-radius: 20px 0 0 20px;
  }
  .site-header__sp-fixed-btn .site-header__sp-fixed-icon {
    width: 22px;
    height: 18px;
    transition: transform 0.2s ease;
  }
}
@media (min-width: 1024px) {
  .site-header__menu-item {
    position: relative;
  }
}
.site-header__menu-item {
  /* よくある質問は 1200px(xl) 未満では非表示（HOME追加による文字あふれ対策） */
}
@media (max-width: 1199px) {
  .site-header__menu-item--faq {
    display: none;
  }
}
@media (min-width: 1024px) {
  .site-header__menu-item--has-children:hover .site-header__submenu, .site-header__menu-item--has-children:focus-within .site-header__submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(3px);
    pointer-events: auto;
    top: 100%;
  }
}
@media (min-width: 1024px) {
  .site-header__submenu {
    position: absolute;
    top: 0;
    left: -70px;
    width: -moz-max-content;
    width: max-content;
    background: rgb(255, 255, 255);
    border-radius: 9999px;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1);
    outline: 1px solid rgba(33, 33, 33, 0.06);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: -1;
    transition: opacity 0.32s cubic-bezier(0.16, 1, 0.3, 1), transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), top 0.32s ease, visibility 0.32s ease;
    will-change: transform, opacity;
  }
}
@media (min-width: 1024px) and (min-width: 1200px) {
  .site-header__submenu {
    left: -60px;
  }
}
@media (min-width: 1024px) {
  .site-header__submenu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -12px;
    height: 20px;
  }
  .site-header__submenu--vertical {
    border-radius: 20px;
    padding: 15px 0;
    min-width: 200px;
  }
  .site-header__submenu--vertical .site-header__submenu-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    height: auto;
    padding-inline: 0;
  }
  .site-header__submenu--vertical .site-header__submenu-item {
    padding: 0;
    width: 100%;
  }
  .site-header__submenu--vertical .site-header__submenu-link {
    display: inline-block;
    padding: 15px 30px;
    width: 100%;
    text-align: center;
    font-size: 15px;
  }
  .site-header__submenu--vertical .site-header__submenu-link .site-header__submenu-text::after {
    transform-origin: center;
  }
  .site-header__submenu--vertical .site-header__submenu-link:hover, .site-header__submenu--vertical .site-header__submenu-link:focus-visible {
    background-color: rgba(var(--green-rgb), 0.05);
  }
}
@media (min-width: 1024px) {
  .site-header__submenu-list {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding-inline: 40px;
    height: 65px;
  }
}
@media (min-width: 1024px) {
  .site-header__submenu-item {
    margin: 0;
    padding: 8px 0;
    font-weight: 700;
  }
}
@media (min-width: 1024px) {
  .site-header__submenu-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    font-weight: 700;
    font-family: var(--font-round);
    letter-spacing: 0.1em;
    line-height: 1;
    padding: 8px 2px;
  }
  .site-header__submenu-link .site-header__submenu-text {
    position: relative;
    display: inline-block;
    padding-bottom: 2px;
  }
  .site-header__submenu-link .site-header__submenu-text::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: var(--yellow);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.22s ease;
  }
  .site-header__submenu-link:hover .site-header__submenu-text, .site-header__submenu-link:focus-visible .site-header__submenu-text {
    color: var(--yellow);
  }
  .site-header__submenu-link:hover .site-header__submenu-text::after, .site-header__submenu-link:focus-visible .site-header__submenu-text::after {
    transform: scaleX(1);
  }
}

/* =========================
  Front
========================= */
.home .hero {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 560px;
  overflow: hidden;
  color: #fff;
}
.home .hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.home .hero__video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.home .hero__content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.home .hero__catch {
  font-family: var(--font-round);
  font-size: 35px;
  line-height: 1.857;
  letter-spacing: 0.1em;
  margin: 0;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media (min-width: 1024px) {
  .home .hero__catch {
    font-size: 53px;
    line-height: 2;
  }
}
.home .hero__br {
  display: inline;
}
.home .hero {
  /* SP〜タブレット（<lg）は改行そのまま。lg以上はPC用の改行に切り替える */
}
.home .hero__br--base {
  display: inline;
}
@media (min-width: 1024px) {
  .home .hero__br--base {
    display: none;
  }
}
.home .hero__br--lg {
  display: none;
}
@media (min-width: 1024px) {
  .home .hero__br--lg {
    display: inline;
  }
}
.home .hero__scroll {
  position: absolute;
  bottom: 60px;
  left: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  letter-spacing: 0.1em;
  opacity: 0.9;
}
@media (min-width: 1024px) {
  .home .hero__scroll {
    left: 50%;
    gap: 6px;
    transform: translateX(-50%);
    bottom: 27px;
  }
}
.home .hero__scroll-text {
  writing-mode: vertical-rl;
  font-size: 14px;
  text-orientation: mixed;
  font-family: var(--font-accent);
}
@media (min-width: 1024px) {
  .home .hero__scroll-text {
    writing-mode: horizontal-tb;
    text-orientation: initial;
  }
}
.home .hero__scroll-line {
  position: relative;
  width: 1px;
  height: 35px;
  overflow: hidden;
}
.home .hero__scroll-line::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  transform: scaleY(0);
  transform-origin: 50% 0;
  animation: heroScrollLine 2s cubic-bezier(0, 0, 0, 1) infinite;
}
@keyframes heroScrollLine {
  0% {
    transform: scaleY(0);
    transform-origin: 50% 0;
  }
  50% {
    transform: scaleY(1);
    transform-origin: 50% 0;
  }
  50.1% {
    transform: scaleY(1);
    transform-origin: 50% 100%;
  }
  100% {
    transform: scaleY(0);
    transform-origin: 50% 100%;
  }
}
.home {
  /* =========================
    Store Search
  ========================= */
}
.home .store-search {
  margin-bottom: 60px;
  background: #f8f8f8;
  padding-top: 30px;
  padding-bottom: 30px;
  scroll-margin-top: 40px;
}
@media (min-width: 1024px) {
  .home .store-search {
    padding-bottom: unset;
    margin-bottom: 82px;
    background-color: #fff;
  }
}
.home .store-search__in {
  max-width: 680px;
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .home .store-search__in {
    background: #f8f8f8;
    display: flex;
    max-width: 1026px;
    align-items: center;
    padding-top: 36px;
    padding-bottom: 44px;
    padding-right: 55px;
    padding-left: 55px;
    justify-content: space-between;
  }
}
.home .store-search__hd {
  text-align: center;
  margin: 0 0 35px;
  flex: 0 1 auto;
}
.home .store-search__ttl {
  font-family: var(--font-round);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.458;
  letter-spacing: 0.2em;
  margin: 0;
}
.home .store-search__en {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1;
  font-family: var(--font-accent);
  letter-spacing: 0.1em;
  color: var(--yellow);
}
@media (min-width: 1024px) {
  .home .store-search__en {
    font-size: 18px;
  }
}
.home .store-search__bd {
  display: grid;
  gap: 35px;
}
@media (min-width: 1024px) {
  .home .store-search__bd {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: unset;
    max-width: 760px;
  }
}
.home .store-search__kw {
  text-align: center;
}
@media (min-width: 1024px) {
  .home .store-search__kw {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--green);
  }
}
.home .store-search__lbl {
  display: block;
  letter-spacing: 0.1em;
  color: var(--t-black);
  line-height: 1.875;
  margin-bottom: 4px;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .home .store-search__lbl {
    margin-bottom: unset;
    font-size: 18px;
    margin-right: 30px;
  }
}
.home .store-search__fld {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
  max-width: 560px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .home .store-search__fld {
    max-width: 420px;
    margin: unset;
    margin-right: 20px;
  }
}
.home .store-search__ico {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  display: block;
}
.home .store-search__inp {
  width: 100%;
  height: 44px;
  border-radius: 999px;
  border: 2px solid var(--green);
  background: #fff;
  padding: 0 18px 0 58px;
  font-size: 16px;
  outline: none;
}
.home .store-search__inp:focus-visible {
  box-shadow: 0 0 0 4px rgba(0, 98, 64, 0.18);
}
.home .store-search__btn {
  display: block;
  width: min(148px, 100%);
  height: 44px;
  margin-inline: auto;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.2s ease, filter 0.2s ease, transform 0.1s ease;
}
@media (min-width: 1024px) {
  .home .store-search__btn {
    margin: unset;
    width: 110px;
  }
}
.home .store-search__btn:hover {
  filter: brightness(1.2);
}
.home .store-search__pref {
  text-align: center;
}
@media (min-width: 1024px) {
  .home .store-search__pref {
    display: flex;
    align-items: center;
  }
}
.home .store-search__sub {
  margin: 0 0 9px;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .home .store-search__sub {
    font-size: 18px;
    margin-right: 30px;
  }
}
.home .store-search__list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
}
@media (min-width: 1024px) {
  .home .store-search__list {
    gap: 20px;
    margin-bottom: unset;
    margin-right: 20px;
  }
}
.home .store-search__item {
  margin: 0;
}
.home .store-search__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 11px 23px 11px;
  border-radius: 999px;
  border: 2px solid var(--green);
  background: #fff;
  color: var(--green);
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1;
  font-size: 500;
  text-decoration: none;
  transition: background 0.2s ease;
}
.home .store-search__tab:hover {
  background: rgba(255, 214, 0, 0.18);
}
.home .store-search__geo {
  text-align: center;
}
.home .store-search__geo-btn {
  padding: 10px 22px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1;
  transition: background-color 0.2s ease, filter 0.2s ease, transform 0.1s ease;
}
.home .store-search__geo-btn:hover {
  filter: brightness(1.2);
}
.home .store-search__geo-ico {
  width: 18px;
  height: 23px;
  flex: 0 0 24px;
  display: block;
}
.home .pharmacy {
  --p-med: 0;
  --p-d1: 0;
  --p-d2: 0;
  --p-d3: 0;
  --p-d4: 0;
  position: relative;
  z-index: 2;
}
@media (min-width: 1024px) {
  .home .pharmacy {
    z-index: 1;
  }
}
@media (min-width: 1024px) {
  .home .pharmacy__in {
    display: flex;
    flex-direction: row-reverse;
    position: relative;
    padding-top: 93px;
    gap: 88px;
  }
  .home .pharmacy__in::before {
    content: "";
    display: block;
    width: 70.4245973646%;
    background-color: #f4f7f0;
    position: absolute;
    left: 0;
    top: 0;
    height: 849px;
    z-index: -1;
  }
}
.home .pharmacy__media {
  will-change: transform;
  transform: translate3d(0, calc(var(--p-med) * 1px), 0);
}
@media (min-width: 1024px) {
  .home .pharmacy__media {
    flex: 0 0 48.9019033675%;
  }
}
.home .pharmacy__content {
  background: #f4f7f0;
  padding-top: 82px;
  position: relative;
}
@media (min-width: 1024px) {
  .home .pharmacy__content {
    background: unset;
    padding-top: unset;
    flex: 1 1 auto;
    max-width: 377px;
  }
}
.home .pharmacy__content .p__hd {
  margin-bottom: 30px;
}
.home .pharmacy__desc {
  width: 81.6%;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .home .pharmacy__desc {
    width: unset;
  }
}
.home .pharmacy__lead {
  color: var(--green);
  font-family: var(--font-round);
  font-weight: 700;
  font-size: 20px;
  margin-bottom: 30px;
  letter-spacing: 0;
}
.home .pharmacy__lead-span {
  display: inline-block;
}
.home .pharmacy__text__br-sp {
  display: inline;
}
@media (min-width: 1024px) {
  .home .pharmacy__text__br-sp {
    display: none;
  }
}
.home .pharmacy__text {
  font-size: 15px;
  letter-spacing: 0;
  line-height: 2.133;
}
.home .pharmacy__cta {
  margin-top: 13px;
  display: flex;
  justify-content: center;
  transform: translateY(24px);
}
@media (min-width: 1024px) {
  .home .pharmacy__cta {
    transform: unset;
    margin-top: 36px;
  }
}
.home .pharmacy__deco {
  position: absolute;
  will-change: transform;
}
.home .pharmacy__deco--tl {
  transform: translate3d(0, calc(var(--p-d1) * 1px), 0);
  width: 65px;
  height: 45px;
  top: 9px;
  left: 15px;
}
@media (min-width: 1024px) {
  .home .pharmacy__deco--tl {
    top: -64px;
    left: -66px;
  }
}
.home .pharmacy__deco--tr {
  transform: translate3d(0, calc(var(--p-d2) * 1px), 0);
  width: 43px;
  height: 53px;
  top: 66px;
  right: 0px;
}
@media (min-width: 1024px) {
  .home .pharmacy__deco--tr {
    width: 46px;
    height: 57px;
    right: unset;
    left: -154px;
    top: 310px;
  }
}
.home .pharmacy__deco--br {
  transform: translate3d(0, calc(var(--p-d3) * 1px), 0);
  width: 47px;
  height: 47px;
  bottom: 35px;
  right: 7px;
}
@media (min-width: 1024px) {
  .home .pharmacy__deco--br {
    width: 75px;
    height: 75px;
    bottom: -28px;
    right: -300px;
  }
}
.home .pharmacy__deco--bl {
  transform: translate3d(0, calc(var(--p-d4) * 1px), 0);
  width: 78px;
  height: 54px;
  bottom: -24px;
  left: -5px;
}
@media (min-width: 1024px) {
  .home .pharmacy__deco--bl {
    width: 144px;
    height: 99px;
    bottom: -224px;
    left: -89px;
  }
}
.home .service-sns__wrapper {
  position: relative;
}
@media (min-width: 1024px) {
  .home .service-sns__wrapper {
    background-image: url("./img/top/service_bg_ill.svg");
    background-repeat: no-repeat;
    background-position: right calc(50vw - 960px) bottom 51%;
    background-size: 960px auto;
  }
}
.home .service {
  padding-top: 82px;
  padding-bottom: 60px;
  position: relative;
  z-index: 1;
}
@media (min-width: 1024px) {
  .home .service {
    padding-bottom: 140px;
  }
}
.home .service__bg-ill {
  position: absolute;
  display: none;
  z-index: -10;
}
@media (min-width: 1024px) {
  .home .service__bg-ill {
    bottom: 0;
    right: 0;
    display: block;
  }
}
.home .service .p__hd {
  margin-bottom: 30px;
}
@media (min-width: 1024px) {
  .home .service .p__hd {
    margin-bottom: 90px;
  }
}
.home .service__in {
  max-width: 1032px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .home .service__in {
    padding-inline: 0;
  }
}
.home .service__list {
  list-style: none;
  margin: 0;
  padding-inline: 15px;
  display: grid;
  gap: 30px;
}
@media (min-width: 768px) {
  .home .service__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    padding-inline: unset;
  }
}
.home .service__item {
  margin: 0;
}
@media (min-width: 1024px) {
  .home .service__item--wide {
    grid-column: 1/span 1;
  }
}
.home .service__cta {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
@media (min-width: 1024px) {
  .home .service__cta {
    margin-top: 60px;
  }
}
.home .service .service-card {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 8px;
  border: 3px solid var(--green);
  border-radius: 9px;
  background: #fff;
  text-decoration: none;
  color: var(--green);
  transition: border-color 0.2s ease, color 0.2s ease;
}
@media (min-width: 1024px) {
  .home .service .service-card {
    padding: 14px 13px;
    gap: unset;
  }
}
.home .service .service-card {
  background: #fff;
}
.home .service .service-card:hover {
  background: #fff;
  border-color: var(--yellow);
}
.home .service .service-card:hover .service-card__img {
  filter: brightness(1.2);
}
.home .service .service-card:hover .service-card__ttl {
  color: var(--yellow);
}
.home .service .service-card:hover .service-card__ico {
  background: var(--yellow);
}
.home .service .service-card:hover .service-card__ico-img {
  transform: translateX(4px);
}
.home .service .service-card__ico {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
}
.home .service .service-card__ico-img {
  width: 8px;
  height: 9px;
  display: block;
  transition: transform 0.2s ease;
}
.home .service .service-card__fig {
  flex: 0 0 143px;
  margin: 0;
}
@media (min-width: 1024px) {
  .home .service .service-card__fig {
    flex: 0 0 167px;
    margin-right: 24px;
  }
}
.home .service .service-card__img {
  width: 100%;
  height: auto;
  display: block;
  transition: filter 0.2s ease;
}
.home .service .service-card__ttl {
  flex: 1 1 auto;
  font-weight: 500;
  color: var(--green);
  letter-spacing: 0.05em;
  line-height: 1.6;
}
@media (min-width: 390px) {
  .home .service .service-card__ttl {
    font-size: 22px;
  }
}
@media (min-width: 1024px) {
  .home .service .service-card__ttl {
    letter-spacing: 0.1em;
    margin-right: 14px;
    flex: 0 1 auto;
  }
}
.home .instagram {
  margin-bottom: 60px;
}
@media (min-width: 1024px) {
  .home .instagram {
    margin-bottom: 140px;
  }
}
@media (min-width: 1024px) {
  .home .instagram #sbi_images {
    gap: 24px !important;
  }
}
.home .instagram #sb_instagram {
  margin-bottom: 16px !important;
}
@media (min-width: 1024px) {
  .home .instagram #sb_instagram {
    margin-bottom: 24px !important;
  }
}
.home .instagram__in {
  max-width: 1062px;
  margin-inline: auto;
  padding-inline: 15px;
}
.home .instagram__ttl {
  display: flex;
  align-items: start;
  gap: 15px;
  margin-inline: auto;
  justify-content: center;
}
.home .instagram__logo {
  margin-top: 8px;
}
.home .instagram__bd .sb_instagram_header.sbi_medium,
.home .instagram__bd #sbi_load {
  display: none;
}
.home .instagram__cta {
  display: flex;
  justify-content: center;
}
.home .instagram__cta .c-btn {
  padding-right: 14px;
}
.home .info {
  position: relative;
  padding-top: 30px;
  background-image: url("./img/top/news_bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding-bottom: 50px;
}
@media (min-width: 1024px) {
  .home .info {
    background-image: url("./img/top/news_bg-pc.webp");
    background-position: center center;
    padding: 90px 0;
  }
}
@media (min-width: 1024px) {
  .home .info .p__en {
    margin-left: 16px;
  }
}
.home .info__in {
  position: relative;
  z-index: 1;
  margin-inline: 34px;
  max-width: 984px;
}
@media (min-width: 1024px) {
  .home .info__in {
    margin-inline: auto;
  }
}
.home .info__hd {
  margin-bottom: 18px;
  text-align: center;
}
@media (min-width: 1024px) {
  .home .info__hd {
    margin-bottom: 30px;
    text-align: left;
  }
}
.home .info__bd {
  display: grid;
  gap: 30px;
}
@media (min-width: 1024px) {
  .home .info__bd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
  }
}
.home .info__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 1024px) {
  .home .info__list {
    flex: 1 1 auto;
  }
}
.home .info__item {
  margin: 0;
  border-bottom: 1px solid #d6d6d6;
}
.home .info__link {
  display: grid;
  gap: 19px;
  text-decoration: none;
  color: var(--t-black);
  padding: 12px 12px 17px;
  transition: background 0.2s ease;
}
@media (min-width: 1024px) {
  .home .info__link {
    grid-template-columns: 140px 1fr;
    align-items: baseline;
    padding: 26px 37px 31px;
  }
}
.home .info__link:hover {
  background: #fff;
}
.home .info__date {
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0;
}
@media (min-width: 1024px) {
  .home .info__date {
    font-size: 16px;
  }
}
.home .info__text {
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.714;
}
@media (min-width: 1024px) {
  .home .info__text {
    font-size: 16px;
  }
}
.home .info__cta {
  display: flex;
  justify-content: center;
  margin-bottom: -24px;
}
@media (min-width: 1024px) {
  .home .info__cta {
    margin-bottom: unset;
  }
}
@media (min-width: 1024px) {
  .home .info__cta {
    justify-content: flex-end;
    margin-top: 0;
    flex: 0 0 auto;
  }
}
.home .info__cta .c-btn {
  padding-right: 14px;
}
.home .about {
  padding: 81px 0 67px;
  --p-bg1: 0;
  --p-bg2: 0;
  --p-txt: 0;
}
.home .about .about__br-sp {
  display: inline;
}
@media (min-width: 1024px) {
  .home .about .about__br-sp {
    display: none;
  }
}
@media (min-width: 1024px) {
  .home .about {
    padding-top: unset;
  }
}
.home .about__in {
  position: relative;
  max-width: 1500px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .home .about__in {
    padding: 0 0 140px;
  }
}
.home .about__layers {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.home .about__layer {
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  will-change: transform;
}
.home .about__layer--tr {
  top: 0;
  right: 0;
  width: 331px;
  height: 100%;
  background-image: url("./img/top/about01.webp");
  background-position: right top;
  transform: translate3d(0, calc(var(--p-bg1) * 1px), 0);
}
@media (min-width: 768px) {
  .home .about__layer--tr {
    width: 540px;
  }
}
@media (min-width: 1024px) {
  .home .about__layer--tr {
    width: 535px;
    background-image: url("./img/top/about01-pc.webp");
  }
}
.home .about__layer--bl {
  left: 0;
  bottom: 0;
  width: 534px;
  height: 100%;
  background-image: url("./img/top/about02.webp");
  background-position: left bottom;
  transform: translate3d(-152px, calc(var(--p-bg2) * 1px + 76px), 0);
}
@media (min-width: 768px) {
  .home .about__layer--bl {
    width: 740px;
    transform: translate3d(-112px, calc(var(--p-bg2) * 1px + 156px), 0);
  }
}
@media (min-width: 1024px) {
  .home .about__layer--bl {
    background-image: url("./img/top/about02-pc.webp");
    width: 746px;
    height: 798px;
    left: -82px;
    bottom: -130px;
  }
}
.home .about__hd {
  margin-bottom: 26px;
  padding-top: 90px;
  position: relative;
  z-index: 2;
  padding-inline: 40px;
}
@media (min-width: 1024px) {
  .home .about__hd {
    margin-bottom: 30px;
    padding-top: 140px;
  }
}
.home .about__hd .p__ttl {
  line-height: 1.458;
}
.home .about__body {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  will-change: transform;
  transform: translate3d(0, calc(var(--p-txt) * 1px), 0);
}
.home .about__card {
  width: 100%;
  max-width: 780px;
  position: relative;
  z-index: 2;
  font-size: 15px;
}
@media (min-width: 1024px) {
  .home .about__card {
    max-width: 920px;
  }
}
.home .about__lead {
  margin: 0 0 32px;
  text-align: center;
  letter-spacing: 0;
  line-height: 2.133;
}
@media (min-width: 1024px) {
  .home .about__lead {
    font-size: 16px;
    margin-bottom: 26px;
  }
}
.home .about__text {
  margin: 0 0 32px;
  text-align: center;
  letter-spacing: 0;
  line-height: 2.133;
}
.home .about__text:last-child {
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  .home .about__text {
    font-size: 16px;
    margin-bottom: 22px;
  }
}
.home .company {
  padding: 0 0 84px;
  position: relative;
}
@media (min-width: 1024px) {
  .home .company::before {
    content: "";
    position: absolute;
    display: block;
    left: 0;
    top: -60px;
    bottom: 0;
    width: 69.2532942899%;
    background-color: #f4f7f0;
    z-index: 1;
  }
}
@media (min-width: 1024px) {
  .home .company {
    padding: unset;
  }
}
.home .company__in {
  margin-inline: auto;
  display: grid;
  gap: 0;
}
@media (min-width: 1024px) {
  .home .company__in {
    grid-template-columns: 51.096% 48.904%;
    gap: 30px;
  }
}
.home .company__media {
  margin-left: 34px;
  position: relative;
  z-index: 20;
}
@media (min-width: 1024px) {
  .home .company__media {
    margin-left: unset;
  }
}
.home .company__splide .splide__track {
  overflow: hidden;
  border-radius: inherit;
  padding-right: clamp(46px, 46px + (100vw - 375px) * 0.0555, 220px) !important;
}
@media (min-width: 768px) {
  .home .company__splide .splide__track {
    padding-right: clamp(120px, 120px + (100vw - 768px) * 0.6, 340px) !important;
  }
}
@media (min-width: 1024px) {
  .home .company__splide .splide__track {
    padding-right: clamp(46px, 46px + (100vw - 375px) * 0.25, 360px) !important;
  }
}
.home .company__splide .splide__slide {
  aspect-ratio: 295/210;
}
@media (min-width: 1024px) {
  .home .company__splide .splide__slide {
    width: min(505px, 37vw) !important;
    max-width: 505px;
    justify-self: end;
  }
}
.home .company__slide-img.company__slide-img {
  width: 100%;
  display: block;
  aspect-ratio: 295/210;
  -o-object-fit: cover;
     object-fit: cover;
}
.home .company__content {
  background: #f4f7f0;
  margin-top: -173px;
  margin-inline: 15px;
  padding: 203px 20px 0;
  position: relative;
  z-index: 10;
}
@media (min-width: 1024px) {
  .home .company__content {
    background: transparent;
    padding: unset;
    margin: unset;
    grid-column: 1;
    grid-row: 1;
    max-width: 404px;
    margin-left: auto;
  }
}
@media (min-width: 1024px) and (min-width: 1366px) {
  .home .company__content {
    max-width: clamp(404px, 404px + (100vw - 1366px) * 0.25, 560px);
  }
}
.home .company__content .p__hd {
  text-align: center;
  margin-bottom: 30px;
}
@media (min-width: 1024px) {
  .home .company__content .p__hd {
    text-align: start;
  }
}
.home .company__catch {
  margin: 0 0 20px;
  color: var(--green);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0em;
  line-height: 1.6;
  font-family: var(--font-round);
}
@media (min-width: 1024px) {
  .home .company__catch {
    margin-bottom: 30px;
  }
}
.home .company__text {
  font-size: 15px;
  letter-spacing: 0;
  line-height: 2.133;
}
.home .company__text-lg {
  display: none;
}
@media (min-width: 1024px) {
  .home .company__text-lg {
    display: block;
  }
}
.home .company__text p {
  margin: 0 0 18px;
}
.home .company__text p:last-child {
  margin-bottom: 36px;
}
@media (min-width: 1024px) {
  .home .company__text p:last-child {
    margin-bottom: 66px;
  }
}
@media (min-width: 1024px) {
  .home .company__text {
    font-size: 15px;
  }
  .home .company__text p {
    margin-bottom: 16px;
  }
}
.home .company__cta {
  display: flex;
  justify-content: center;
  margin-bottom: -24px;
}
@media (min-width: 1024px) {
  .home .company__cta {
    justify-content: start;
  }
}
.home .company__cta .c-btn {
  padding-right: 14px;
}
.home {
  /* =========================
    FAQ
  ========================= */
}
.home .faq {
  padding: 0 0 73px;
}
@media (min-width: 1024px) {
  .home .faq {
    padding: 120px 0 90px;
  }
}
.home .faq__in {
  position: relative;
  margin-inline: auto;
}
.home .faq__body {
  position: relative;
}
.home .faq__content {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (min-width: 768px) {
  .home .faq__content {
    max-width: 624px;
    margin-inline: auto;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 50px;
    text-align: left;
  }
}
.home .faq__side {
  display: contents;
}
@media (min-width: 768px) {
  .home .faq__side {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 310px;
    order: 2;
  }
}
.home .faq__txt {
  order: 1;
}
.home .faq__fig {
  order: 2;
  margin: 0;
  position: relative;
  width: 244px;
  margin-inline: auto;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .home .faq__fig {
    width: 264px;
    flex: 0 0 auto;
    margin-bottom: 0;
    position: static;
    order: 1;
  }
}
.home .faq__img {
  width: 100%;
  height: auto;
  display: block;
}
.home .faq__hd {
  margin-bottom: 30px;
}
.home .faq__lead {
  margin: 0 0 30px;
  font-family: var(--font-round);
  font-weight: 700;
  color: var(--green);
  letter-spacing: 0;
  font-size: 20px;
  line-height: 1.6;
  text-align: center;
}
@media (min-width: 768px) {
  .home .faq__lead {
    text-align: left;
  }
}
.home .faq__cta {
  order: 3;
  display: flex;
  justify-content: center;
  width: 100%;
}
@media (min-width: 768px) {
  .home .faq__cta {
    justify-content: center;
  }
}
.home .faq__deco {
  position: absolute;
  pointer-events: none;
  z-index: 0;
}
.home .faq__deco--tl {
  top: 42px;
  left: -30px;
  width: 32px;
}
@media (min-width: 1024px) {
  .home .faq__deco--tl {
    width: 46px;
    top: -8px;
    left: -80px;
  }
}
.home .faq__deco--tr {
  top: 25px;
  right: -40px;
  width: 21px;
}
@media (min-width: 1024px) {
  .home .faq__deco--tr {
    width: 31px;
    top: -10px;
    right: -120px;
  }
}
.home .faq__deco--bl {
  bottom: 30px;
  left: -28px;
  width: 22px;
}
@media (min-width: 1024px) {
  .home .faq__deco--bl {
    width: 31px;
    bottom: -16px;
    left: -74px;
  }
}
.home .faq__deco--br {
  bottom: 42px;
  right: -32px;
  width: 31px;
}
@media (min-width: 1024px) {
  .home .faq__deco--br {
    width: 43px;
    bottom: -18px;
    right: -132px;
  }
}
.home .faq__deco-img {
  width: 100%;
  height: auto;
  display: block;
}
.home {
  /* =========================
    Banners（メディア掲載 / 動画ギャラリー）
  ========================= */
}
.home .front-bnr {
  padding-bottom: 80px;
}
@media (min-width: 1024px) {
  .home .front-bnr {
    padding-bottom: 140px;
  }
}
.home .front-bnr__in {
  width: 100%;
  margin: 0;
  padding: 0;
}
.home .front-bnr__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
}
.home .front-bnr__item {
  margin: 0;
}
.home .front-bnr__link {
  position: relative;
  display: block;
  width: 100%;
  height: 160px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}
@media (min-width: 768px) {
  .home .front-bnr__link {
    height: 250px;
  }
}
.home .front-bnr__link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  transition: background 0.2s ease;
}
.home .front-bnr__link:hover::before {
  background: rgba(0, 0, 0, 0.22);
}
.home .front-bnr__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.home .front-bnr__item--movie .front-bnr__img {
  /* SP時：少し左寄せ（被写体を右側に見せる想定） */
  -o-object-position: 15% 50%;
     object-position: 15% 50%;
}
@media (min-width: 768px) {
  .home .front-bnr__item--movie .front-bnr__img {
    /* PCは中央に戻す */
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
}
.home .front-bnr__text {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.home .front-bnr__jp {
  display: block;
  font-family: var(--font-round);
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.55;
  color: #fff;
  font-size: 20px;
}
@media (min-width: 768px) {
  .home .front-bnr__jp br {
    display: none;
  }
}
@media (min-width: 768px) {
  .home .front-bnr__jp {
    font-size: 26px;
  }
}
@media (min-width: 1024px) {
  .home .front-bnr__jp {
    font-size: 30px;
  }
}
.home .front-bnr__en {
  display: block;
  margin-top: 3px;
  font-family: var(--font-accent);
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}
@media (min-width: 1024px) {
  .home .front-bnr__en {
    margin-top: unset;
    font-size: 18px;
  }
}
.home .front-bnr__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-footer {
  position: relative;
  z-index: 100;
}
.site-footer::before {
  content: "";
  width: 100%;
  top: 63px;
  bottom: 0;
  position: absolute;
  background-color: #f4f7f0;
  z-index: -1;
}
@media (min-width: 768px) {
  .site-footer::before {
    top: 150px;
  }
}
.site-footer__in {
  margin-inline: auto;
  box-sizing: border-box;
  padding: 0 15px 68px;
  max-width: 560px;
}
@media (min-width: 768px) {
  .site-footer__in {
    padding: 0 40px 64px;
    max-width: unset;
  }
}
@media (min-width: 1024px) {
  .site-footer__in {
    padding: 0 60px 12px;
    max-width: 1312px;
  }
}
.site-footer__banners {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0 0 60px;
}
@media (min-width: 768px) {
  .site-footer__banners {
    margin-bottom: 56px;
  }
}
@media (min-width: 1024px) {
  .site-footer__banners {
    display: flex;
    margin-bottom: 90px;
  }
}
.site-footer__banner {
  display: block;
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .site-footer__banner {
    height: 300px;
  }
}
.site-footer__banner img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: relative;
  z-index: 0;
  transform: scale(1);
  transition: transform 0.35s ease, filter 0.25s ease;
  will-change: transform, filter;
}
.site-footer__banner-text {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  padding: 0 14px;
  pointer-events: none;
  transition: none;
}
.site-footer__banner-jp {
  font-weight: 700;
  font-family: var(--font-round);
  letter-spacing: 0.08em;
  line-height: 1.25;
  font-size: clamp(22px, 2.2vw, 34px);
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}
@media (min-width: 1024px) {
  .site-footer__banner-jp > br {
    display: none;
  }
}
.site-footer__banner-en {
  margin-top: 6px;
  font-size: 16px;
  letter-spacing: 0.12em;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
  font-family: var(--font-accent);
  font-weight: 500;
}
@media (min-width: 768px) {
  .site-footer__banner-en {
    font-size: 17px;
  }
}
.site-footer__banner:hover img, .site-footer__banner:focus-visible img {
  transform: scale(1.04);
  filter: brightness(0.88);
}
.site-footer__banner--02 img {
  -o-object-position: 30% center;
     object-position: 30% center;
}
@media (min-width: 768px) {
  .site-footer__banner--02 img {
    -o-object-position: center;
       object-position: center;
  }
}
@media (min-width: 1024px) {
  .site-footer__banner {
    flex: 1;
  }
}
.site-footer__main {
  display: flex;
  flex-direction: column;
  gap: 44px;
}
@media (min-width: 1024px) {
  .site-footer__main {
    flex-direction: row;
    align-items: flex-start;
    gap: 54px;
  }
}
@media (min-width: 1024px) {
  .site-footer__addr--br {
    display: none;
  }
}
@media (min-width: 768px) {
  .site-footer__brand {
    display: flex;
    gap: 30px;
  }
}
@media (min-width: 1024px) {
  .site-footer__brand {
    flex: 0 0 39.3456375839%;
    flex-direction: column;
    gap: 25px;
  }
}
.site-footer__brand-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 30px;
  flex: 1 1 50%;
}
@media (min-width: 1024px) {
  .site-footer__brand-head {
    margin-bottom: unset;
    gap: 40px;
  }
}
.site-footer__brand-left {
  display: flex;
  flex-direction: column;
  gap: 11px;
  flex: 1 0 71.3043478261%;
}
@media (min-width: 1024px) {
  .site-footer__brand-left {
    flex: 1 1 71.3043478261%;
  }
}
.site-footer__brand-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.site-footer__brand-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
}
.site-footer__brand-text {
  font-weight: 700;
  letter-spacing: 0.02em;
}
.site-footer__brand-contact {
  display: flex;
  gap: 14px;
}
.site-footer__brand-badges {
  flex: 1 1 auto;
}
@media (min-width: 1024px) {
  .site-footer__brand-badges {
    flex: 1 0 21.3219616205%;
  }
}
.site-footer__brand-body {
  line-height: 1.625;
  letter-spacing: 0.05em;
  font-family: var(--font-round);
  flex: 1 1 50%;
}
.site-footer__brand-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.site-footer__brand-badge img {
  max-height: 100%;
  width: auto;
}
.site-footer__tel {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  width: 100%;
}
.site-footer__tel:hover {
  filter: brightness(1.08);
}
.site-footer__tel-img {
  display: block;
  width: 100%;
  height: auto;
  max-width: none;
  min-width: 0;
}
.site-footer__insta {
  flex: 0 0 14.6341463415%;
}
.site-footer__insta:hover {
  filter: brightness(1.2);
}
.site-footer__insta-img {
  display: block;
  width: 100%;
}
.site-footer__company {
  color: var(--green);
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.05em;
  font-family: var(--font-round);
}
.site-footer__hours, .site-footer__note {
  font-size: 15px;
  letter-spacing: 0;
}
.site-footer__hours-label {
  font-weight: 500;
}
.site-footer__nav {
  min-width: 0;
  flex: 1;
  display: none;
  font-family: var(--font-round);
}
@media (min-width: 1024px) {
  .site-footer__nav {
    display: block;
    flex: 1 1 55.9563758389%;
  }
}
.site-footer__nav-top {
  height: 1px;
  background: rgba(31, 91, 43, 0.55);
  margin-bottom: 22px;
}
@media (min-width: 768px) {
  .site-footer__nav-top {
    margin-bottom: 30px;
  }
}
@media (min-width: 1024px) {
  .site-footer__nav-layout {
    display: flex;
    row-gap: 32px;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
@media (min-width: 1024px) {
  .site-footer__nav-left {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 41px;
         column-gap: 41px;
    row-gap: 20px;
  }
}
@media (min-width: 1024px) {
  .site-footer__nav-right {
    display: flex;
    flex-direction: column;
    max-width: 283px;
    gap: 18px;
    flex: 1 0 283px;
  }
}
.site-footer__nav-mini {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 19px;
  font-weight: 700;
  color: var(--green);
  letter-spacing: 0.1em;
}
.site-footer__nav-mini .site-footer__nav-link {
  font-weight: 700;
  font-size: 16px;
}
.site-footer__nav-mini-col {
  min-width: 0;
}
.site-footer__nav-head {
  font-weight: 700;
  color: var(--green);
  margin-bottom: 20px;
  display: block;
}
.site-footer__nav-head--sec {
  color: var(--t-black);
  font-weight: 500;
  font-size: 15px;
}
.site-footer__nav-head, .site-footer__nav-link {
  position: relative;
  display: inline-block;
  text-decoration: none;
  transition: color 0.18s ease;
}
.site-footer__nav-head::after, .site-footer__nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 2px;
  background: var(--yellow);
  border-radius: 9999px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.22s ease;
}
.site-footer__nav-head:hover, .site-footer__nav-head:focus-visible, .site-footer__nav-link:hover, .site-footer__nav-link:focus-visible {
  color: var(--yellow);
}
.site-footer__nav-head:hover::after, .site-footer__nav-head:focus-visible::after, .site-footer__nav-link:hover::after, .site-footer__nav-link:focus-visible::after {
  transform: scaleX(1);
}
.site-footer__nav-ttl {
  font-weight: 500;
  font-size: 15px;
  margin-bottom: 20px;
}
.site-footer__nav-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 20px;
}
.site-footer__nav-list--sec {
  gap: 13px;
}
.site-footer__nav-sub {
  display: flex;
  gap: 20px 47px;
  flex-wrap: wrap;
}
.site-footer__nav-link {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.site-footer__nav-link--reg {
  font-weight: 400;
  color: inherit;
  transition: opacity 0.18s ease;
}
.site-footer__nav-link--reg::after {
  display: none;
}
.site-footer__nav-link--reg:hover, .site-footer__nav-link--reg:focus-visible {
  opacity: 0.6;
  color: inherit;
}
.site-footer__nav-link--em {
  color: var(--green);
  font-weight: 700;
}
@media (min-width: 1256px) {
  .site-footer__nav-col--last {
    margin-top: 48px;
  }
}
.site-footer__cta {
  margin-top: 0;
  display: grid;
  gap: 10px;
}
@media (min-width: 768px) {
  .site-footer__cta {
    margin-top: 18px;
  }
}
.site-footer__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 54px;
  border-radius: 999px;
  color: #fff;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.1em;
  transition: filter 0.18s ease;
}
.site-footer__btn:hover {
  filter: brightness(1.2);
}
.site-footer__btn:hover .site-footer__btn-ico {
  transform: translateX(8px);
}
.site-footer__btn-ico {
  position: absolute;
  right: 30px;
  width: 11px;
  height: 10px;
  transform: translateX(0);
  transition: transform 0.18s ease;
  will-change: transform;
}
.site-footer__btn--contact {
  background: #1f5b2b;
}
.site-footer__btn--recruit {
  background: #d05c28;
}
.site-footer__btn--support {
  background: #0c4b87;
}
.site-footer__copyright {
  margin-top: 33px;
  text-align: center;
  color: #1f5b2b;
}
.site-footer__copyright small {
  font-size: 13px;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .site-footer__copyright {
    margin-top: 43px;
  }
}
.site-footer__copyright-line {
  display: inline-block;
}

.site-footer__nav-mini .site-footer__nav-link {
  justify-self: start;
  width: -moz-fit-content;
  width: fit-content;
}

/* メディアクエリ */
.information #service-pharmacy,
.information #service-consulting,
.information #service-homecare,
.information #service-others {
  scroll-margin-top: 20px;
}
.information {
  background-image: url("./img/page/information/intro_bg.webp");
  background-size: 104% auto;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center;
}
@media (min-width: 1024px) {
  .information {
    background-image: url("./img/page/information/intro_bg-pc.webp");
  }
}
.information-nav {
  background-color: #f4f7f0;
  padding: 15px 20px 29px;
  font-size: 15px;
  letter-spacing: 0.02em;
  font-family: var(--font-round);
}
@media (min-width: 768px) {
  .information-nav {
    padding: 30px 0;
  }
}
.information-nav__list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 14px;
  justify-content: center;
}
@media (min-width: 768px) {
  .information-nav__list {
    flex-wrap: nowrap;
    gap: 30px;
    font-size: 16px;
    margin-inline: auto;
    max-width: 700px;
  }
}
.information-nav__item {
  padding: 13px 25px;
  display: flex;
  justify-content: center;
  position: relative;
  transition: background-color 0.2s ease;
  border-radius: 999px;
  letter-spacing: 0.18em;
}
@media (min-width: 768px) {
  .information-nav__item {
    padding: 13px 30px;
  }
}
.information-nav__item::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 43px;
  transform: translateX(-50%);
  width: 1px;
  height: 8px;
  background-color: var(--green);
  transition: height 0.2s ease;
}
.information-nav__item:hover {
  background-color: #fff;
}
.information-nav__item:hover::after {
  height: 15px;
}
.information-nav__item:first-of-type {
  flex: 1 1 100%;
}
.information-nav__item:not(:first-of-type) {
  flex: 1 1 50%;
}
.information-nav__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.information-nav__text {
  white-space: nowrap;
}
.information-section,
.information #access,
.information #philosophy,
.information #culture {
  scroll-margin-top: 90px;
}
.information #philosophy {
  position: relative;
  z-index: 0;
}
.information #philosophy::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: -140px;
  left: 50%;
  width: min(910px, 100% - 30px);
  transform: translateX(-50%);
  background-color: #fff;
  z-index: -1;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .information #philosophy::before {
    top: 25px;
  }
}
.information #philosophy::after {
  content: "";
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
  width: 96%;
  height: 170px;
  background-image: url("./img/page/information/pill_ill.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top right;
}
@media (min-width: 1024px) {
  .information #philosophy::after {
    content: "";
    position: absolute;
    top: 5%;
    left: 50%;
    transform: translateX(-41%);
    width: 808px;
    height: 170px;
    background-image: url("./img/page/information/pill_ill.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
  }
}
.information #culture {
  position: relative;
  z-index: 0;
}
.information #culture::before {
  content: "";
  position: absolute;
  top: 20px;
  bottom: -30px;
  left: 50%;
  width: min(910px, 100% - 30px);
  transform: translateX(-50%);
  background-color: #fff;
  z-index: -1;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .information #culture::before {
    bottom: -60px;
  }
}
.information #culture::after {
  content: "";
  position: absolute;
  top: 11%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 426px;
  background-image: url("./img/page/information/cul_ill.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top right;
  z-index: 100;
}
@media (min-width: 768px) {
  .information #culture::after {
    top: -11%;
  }
}
@media (min-width: 1024px) {
  .information #culture::after {
    content: "";
    position: absolute;
    top: 11%;
    left: 53%;
    transform: translateX(-52%);
    width: 744px;
    height: 426px;
    background-image: url("./img/page/information/cul_ill.webp");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: top right;
    z-index: 100;
  }
}
.information .message {
  margin-bottom: 60px;
}
.information .message__title {
  padding-top: 60px;
  font-size: 24px;
  font-weight: 700;
  color: var(--green);
  text-align: center;
  font-family: var(--font-round);
  letter-spacing: 0.2em;
  line-height: 1.458;
  padding-inline: 30px;
}
@media (min-width: 768px) {
  .information .message__title {
    font-size: 30px;
    padding-top: 90px;
  }
}
.information .message__title span {
  display: inline-block;
}
.information .message__name {
  padding-inline: 15px;
  padding-bottom: 27px;
  max-width: 483px;
  width: 100%;
  display: block;
  margin-bottom: 28px;
}
@media (min-width: 768px) {
  .information .message__name {
    margin-left: 12.0790629575%;
  }
}
@media (min-width: 1024px) {
  .information .message__name {
    padding: unset;
    transform: translateY(14px);
  }
}
.information .message__bottom {
  margin-top: 15px;
  position: relative;
  max-width: 1400px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .information .message__bottom {
    margin-top: -159px;
  }
}
@media (min-width: 768px) {
  .information .message__greet {
    display: flex;
    flex-direction: row-reverse;
    margin-left: 12.0790629575%;
    margin-top: 90px;
  }
}
@media (min-width: 1024px) {
  .information .message__greet {
    margin-top: unset;
  }
}
.information .message__greet-image {
  flex: 0 0 57.5402635432vw;
}
@media (min-width: 768px) {
  .information .message__greet-image {
    flex: 0 0 65.4454621149%;
  }
}
.information .message__greet-text {
  margin-bottom: 30px;
  position: relative;
  z-index: 10;
  background-color: #fff;
  margin-top: -58px;
  margin-inline: 15px;
}
@media (min-width: 768px) {
  .information .message__greet-text {
    flex: 0 0 51.290591174%;
    margin-right: -17.2356369692%;
    margin-top: unset;
  }
}
@media (min-width: 1024px) {
  .information .message__greet-text {
    padding: 60px;
    margin-top: 220px;
    margin-bottom: unset;
  }
}
.information .message__greet-text__in {
  padding: 30px;
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.867;
  background-color: #fff;
  position: relative;
}
@media (min-width: 768px) {
  .information .message__greet-text__in {
    margin-top: unset;
  }
}
@media (min-width: 1024px) {
  .information .message__greet-text__in {
    padding: unset;
  }
}
.information .message__greet-text-fig {
  padding: 0 15px;
  max-width: 1168px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .information .message__greet-text-fig {
    margin-top: -287px;
  }
}
.information .message__greet-text-img {
  aspect-ratio: 340/220;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -10;
}
@media (min-width: 768px) {
  .information .message__greet-text-img {
    aspect-ratio: 1138/400;
  }
}
.information .business__inner {
  max-width: 1400px;
  margin-inline: auto;
}
.information .business-block__head {
  display: flex;
  justify-content: center;
  color: var(--green);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .information .business-block__head {
    font-size: 30px;
  }
}
.information .business .philosophy {
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  .information .business .philosophy {
    margin-bottom: 90px;
  }
}
@media (min-width: 1024px) {
  .information .business .philosophy .business-block__head {
    margin-bottom: 60px;
  }
}
.information .business .philosophy .business-block__body {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.944;
  padding-inline: 47px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  flex-direction: column;
  row-gap: 30px;
  font-family: var(--font-round);
}
@media (min-width: 768px) {
  .information .business .philosophy .business-block__body {
    padding-inline: unset;
    font-size: 20px;
    row-gap: 25px;
  }
}
.information .business .culture {
  margin-bottom: 90px;
}
.information .business .culture .business-block__title {
  letter-spacing: 1.4em;
}
@media (min-width: 1024px) {
  .information .business .culture {
    margin-bottom: 200px;
  }
}
@media (min-width: 1024px) {
  .information .business .culture__body {
    display: flex;
  }
}
.information .business .culture__media {
  margin-right: 15.7333333333%;
  flex: 0 0 57.9795021962%;
}
@media (min-width: 1024px) {
  .information .business .culture__media {
    margin: unset;
  }
}
.information .business .culture__content {
  margin-left: 12.5333333333%;
  padding: 30px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.867;
  background: #f4f7f0;
  margin-top: -50px;
  position: relative;
  z-index: 10;
  flex: 0 0 54.0263543192%;
}
@media (min-width: 1024px) {
  .information .business .culture__content {
    margin: unset;
    padding: 60px;
    padding-right: 12.4450951684%;
    margin-left: -164px;
    margin-top: 104px;
  }
}
.information .business .service {
  margin-bottom: 85px;
}
@media (min-width: 1024px) {
  .information .business .service__body {
    display: flex;
  }
}
.information .business .service__media {
  margin-right: 9.3333333333%;
  flex: 0 0 57.9795021962%;
}
@media (min-width: 1024px) {
  .information .business .service__media {
    margin: unset;
  }
}
.information .business .service__catch {
  letter-spacing: 0.2em;
  font-size: 20px;
  font-family: var(--font-round);
  color: var(--green);
  font-weight: 700;
}
.information .business .service__content {
  margin-inline: 15px;
  padding: 30px 30px 0;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.867;
  background: #fff;
  margin-top: -32px;
  position: relative;
  z-index: 10;
  flex: 0 0 54.0263543192%;
}
@media (min-width: 1024px) {
  .information .business .service__content {
    max-width: 648px;
    margin: unset;
    padding: 60px;
    margin-right: 12.4450951684%;
    margin-left: -15.5197657394%;
    margin-top: 55px;
    padding-bottom: unset;
  }
}
.information .business .service__actions {
  display: flex;
  justify-content: center;
  margin-bottom: -25px;
}
@media (min-width: 1024px) {
  .information .business .service__actions {
    margin-top: 30px;
  }
}
.information .business .consul {
  margin-bottom: 85px;
}
@media (min-width: 1024px) {
  .information .business .consul__body {
    display: flex;
    flex-direction: row-reverse;
  }
}
.information .business .consul__media {
  margin-left: 9.3333333333%;
  flex: 0 0 57.9795021962%;
}
@media (min-width: 1024px) {
  .information .business .consul__media {
    margin: unset;
  }
}
.information .business .consul__catch {
  letter-spacing: 0.2em;
  font-size: 20px;
  font-family: var(--font-round);
  color: var(--green);
  font-weight: 700;
}
.information .business .consul__catch > span {
  display: inline-block;
}
.information .business .consul__content {
  margin-inline: 15px;
  padding: 30px 30px 0;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.867;
  background: #fff;
  margin-top: -32px;
  position: relative;
  z-index: 10;
  flex: 0 0 54.0263543192%;
}
@media (min-width: 1024px) {
  .information .business .consul__content {
    max-width: 648px;
    margin: unset;
    padding: 60px;
    margin-left: 12.4450951684%;
    margin-right: -15.5197657394%;
    margin-top: 30px;
    padding-bottom: unset;
  }
}
.information .business .consul__actions {
  display: flex;
  justify-content: center;
  margin-bottom: -25px;
}
@media (min-width: 1024px) {
  .information .business .consul__actions {
    margin-top: 30px;
  }
}
.information .business .consul__actions .c-btn {
  width: 274px;
}
.information .business .homecare {
  margin-bottom: 60px;
}
@media (min-width: 1024px) {
  .information .business .homecare__body {
    display: flex;
  }
}
.information .business .homecare__media {
  margin-right: 9.3333333333%;
  flex: 0 0 57.9795021962%;
}
@media (min-width: 1024px) {
  .information .business .homecare__media {
    margin: unset;
  }
}
.information .business .homecare__catch {
  letter-spacing: 0.2em;
  font-size: 20px;
  font-family: var(--font-round);
  color: var(--green);
  font-weight: 700;
}
.information .business .homecare__content {
  margin-inline: 15px;
  padding: 30px 30px 30px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.867;
  background: #fff;
  margin-top: -32px;
  position: relative;
  z-index: 10;
  flex: 0 0 54.0263543192%;
}
@media (min-width: 1024px) {
  .information .business .homecare__content {
    max-width: 648px;
    margin: unset;
    padding: 60px;
    margin-right: 12.4450951684%;
    margin-left: -15.5197657394%;
    margin-top: 30px;
  }
}
.information .business .homecare__actions {
  display: flex;
  justify-content: center;
}
@media (min-width: 1024px) {
  .information .business .homecare__actions {
    margin-top: 30px;
  }
}
.information .business .others {
  margin-bottom: 60px;
}
@media (min-width: 1024px) {
  .information .business .others {
    margin-bottom: 140px;
  }
}
@media (min-width: 1024px) {
  .information .business .others__body {
    display: flex;
    flex-direction: row-reverse;
  }
}
.information .business .others__media {
  margin-left: 9.3333333333%;
  flex: 0 0 57.9795021962%;
}
@media (min-width: 1024px) {
  .information .business .others__media {
    margin: unset;
  }
}
.information .business .others__catch {
  letter-spacing: 0.2em;
  font-size: 20px;
  font-family: var(--font-round);
  color: var(--green);
  font-weight: 700;
}
.information .business .others__content {
  margin-inline: 15px;
  padding: 30px 30px 30px;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.867;
  background: #fff;
  margin-top: -32px;
  position: relative;
  z-index: 10;
  flex: 0 0 54.0263543192%;
}
@media (min-width: 1024px) {
  .information .business .others__content {
    max-width: 648px;
    margin: unset;
    padding: 60px;
    margin-left: 12.4450951684%;
    margin-right: -15.5197657394%;
    margin-top: 30px;
    padding-bottom: unset;
    max-height: 256px;
  }
}
.information .business .others__actions {
  display: flex;
  justify-content: center;
}
@media (min-width: 1024px) {
  .information .business .others__actions {
    margin-top: 30px;
  }
}
.information .business .others__actions .c-btn {
  width: 274px;
}
.information .plan {
  padding: 0 0 70px;
}
@media (min-width: 768px) {
  .information .plan {
    padding: 0 0 90px;
  }
}
.information .plan__inner {
  max-width: 1026px;
  margin-inline: auto;
  padding-inline: 15px;
  text-align: center;
}
.information .plan__lead {
  margin: 0;
  color: var(--green);
  font-weight: 700;
  letter-spacing: 0.12em;
  font-family: var(--font-round);
  font-size: 20px;
  line-height: 1.9;
}
@media (min-width: 1024px) {
  .information .plan__lead {
    font-size: 24px;
  }
}
.information .plan__lead span {
  display: inline-block;
}
.information .plan__actions {
  margin-top: 18px;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .information .plan__actions {
    margin-top: 20px;
  }
}
.information .plan__actions .c-btn {
  width: 224px;
}
.information .company {
  padding-bottom: 90px;
}
.information .company__inner {
  max-width: 824px;
  margin-inline: auto;
  padding-inline: 15px;
}
.information .company__head {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .information .company__head {
    margin-bottom: 60px;
  }
}
.information .company__title {
  display: flex;
  justify-content: center;
  color: var(--green);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
}
@media (min-width: 768px) {
  .information .company__title {
    font-size: 30px;
  }
}
.information .company__groups {
  display: flex;
  flex-direction: column;
  row-gap: 60px;
}
@media (min-width: 768px) {
  .information .company__groups {
    row-gap: 90px;
  }
}
.information .company-group__name {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .information .company-group__name {
    font-size: 20px;
    margin-bottom: 30px;
  }
}
.information .company-group__name span {
  display: inline-block;
}
.information .company-table {
  display: flex;
  flex-direction: column;
}
.information .company-table__row {
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
@media (min-width: 768px) {
  .information .company-table__row {
    display: grid;
    grid-template-columns: 165px 1fr;
    align-items: start;
    padding: 20px 30px 28px;
    -moz-column-gap: 50px;
         column-gap: 50px;
    row-gap: 0;
  }
}
.information .company-table__row.is-zebra {
  background-color: rgba(255, 255, 255, 0.5);
}
@media (min-width: 1024px) {
  .information .company-table__row.is-zebra {
    background-color: rgb(255, 255, 255);
  }
}
.information .company-table__th {
  font-size: 17px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #1a1a1a;
}
.information .company-table__td {
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.7;
  color: #1a1a1a;
}
.information .access {
  padding-bottom: 80px;
}
@media (min-width: 1024px) {
  .information .access {
    padding-bottom: 160px;
  }
}
.information .access__inner {
  max-width: 1026px;
  margin-inline: auto;
}
.information .access__head {
  text-align: center;
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  .information .access__head {
    margin-bottom: 24px;
  }
}
.information .access__title {
  color: var(--green);
  font-weight: 700;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  font-size: 24px;
}
@media (min-width: 768px) {
  .information .access__title {
    font-size: 30px;
  }
}
.information .access__lead {
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.12em;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .information .access__lead {
    font-size: 16px;
    margin-bottom: 28px;
  }
}
.information .access__map {
  overflow: hidden;
}
.information .access__map iframe {
  display: block;
  width: 100%;
  height: 393px;
  border: 0;
}
.information #business {
  padding-top: 60px;
  margin-top: -60px;
}
@media (min-width: 768px) {
  .information #business {
    padding-top: 90px;
    margin-top: -90px;
  }
}
.information #company {
  padding-top: 60px;
  margin-top: -60px;
}
@media (min-width: 768px) {
  .information #company {
    padding-top: 90px;
    margin-top: -90px;
  }
}
.information {
  /* ---------------------------------
  Button icon – is-pdf のみ上書き
  --------------------------------- */
}
.information .c-btn.c-btn--primary:hover .c-btn__ill.is-pdf {
  transform: scale(1.25) !important;
}
.information .c-btn__ill.is-pdf {
  width: 18px !important;
  height: 19px !important;
  margin-left: 8px !important;
  display: inline-block !important;
  vertical-align: -3px;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none;
  background: url("./img/page/media/pdf.svg") no-repeat center/contain;
  transition: transform 0.25s ease;
}
.information {
  /* ---------------------------------
  Pagination
  --------------------------------- */
}
.information__pagination {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  font-family: var(--font-accent);
}
@media (min-width: 1024px) {
  .information__pagination {
    margin-top: 74px;
  }
}
.information__pagination .page-numbers {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 30px;
}
.information__pagination .page-numbers li {
  margin: 0;
  padding: 0;
}
.information__pagination .page-numbers a,
.information__pagination .page-numbers span {
  min-width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  color: #1f3b2f;
}
.information__pagination .page-numbers .page-numbers.current {
  background-color: unset;
  color: var(--green);
  font-weight: 700;
}
.information__pagination .page-numbers a {
  background: transparent;
  font-size: 15px;
}
.information__pagination .page-numbers a:hover {
  border-color: rgba(31, 59, 47, 0.5);
  text-decoration: underline;
}
.information__pagination .page-numbers a.prev, .information__pagination .page-numbers a.next {
  background-color: var(--green);
}
.information__pagination .page-numbers .current {
  background: #1f6a43;
  color: #fff;
}

/* =====================================================
  Media (メディア掲載)
  - page-media.php 用
===================================================== */
.p-media {
  padding: 60px 0 166px;
  position: relative;
}
.p-media::before {
  content: "";
  display: block;
  background: #f3f6ef;
  right: 0;
  bottom: 80px;
  top: 0;
  left: 0;
  position: absolute;
  z-index: -1;
  max-width: 1026px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .p-media::before {
    top: 200px;
    bottom: 337px;
  }
}
.p-media__list {
  display: flex;
  flex-direction: column;
  gap: 80px;
  max-width: 880px;
  margin-inline: auto;
}
@media (min-width: 1024px) {
  .p-media__list {
    gap: 88px;
  }
}
.p-media__empty {
  padding: 40px 0;
  text-align: center;
}
.p-media {
  /* ---------------------------------
  Card
  --------------------------------- */
}
.p-media-card {
  padding: 60px 30px 0;
  background: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.16);
}
@media (min-width: 768px) {
  .p-media-card {
    padding: 60px 60px 0;
  }
}
.p-media-card__inner {
  display: grid;
  gap: 60px;
}
@media (min-width: 768px) {
  .p-media-card__inner {
    grid-template-columns: 53.9473684211% 38.4210526316%;
    align-items: start;
    gap: 58px;
  }
}
.p-media-card__title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: var(--green);
}
@media (min-width: 768px) {
  .p-media-card__title {
    font-size: 20px;
  }
}
.p-media-card__text {
  margin-top: 30px;
  font-size: 15px;
  line-height: 1.9;
}
.p-media-card__text p {
  margin: 0;
}
.p-media-card__text p + p {
  margin-top: 12px;
}
.p-media-card__text a {
  text-decoration: underline;
}
.p-media-card__thumb {
  width: 100%;
}
.p-media-card__thumb img {
  display: block;
  width: 100%;
  height: auto;
}
.p-media-card__cta {
  display: flex;
  justify-content: center;
  margin-top: 32px;
  margin-bottom: -24px;
}
.p-media {
  /* ---------------------------------
  Button icon
  - mediaページだけ `.c-btn__ill` を差し替え
  --------------------------------- */
}
.p-media .c-btn.c-btn--primary {
  padding-right: 0 !important;
}
.p-media .c-btn.c-btn--primary:hover .c-btn__ill.is-pdf {
  transform: scale(1.25) !important;
}
.p-media .c-btn.c-btn--primary:hover .c-btn__ill.is-arrow {
  transform: translateX(4px) !important;
}
.p-media .c-btn__ill {
  width: 12px !important;
  height: 12px !important;
  margin-left: 8px !important;
  display: inline-block !important;
  vertical-align: -3px;
  /* shared button styles が当たってもアイコンが消えないように固定 */
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.25s ease;
}
.p-media .c-btn.c-btn--primary .c-btn__ill.is-arrow {
  background-image: url("./img/page/media/arrow.svg");
}
.p-media .c-btn.c-btn--primary .c-btn__ill.is-pdf {
  width: 18px !important;
  height: 19px !important;
  background-image: url("./img/page/media/pdf.svg");
}
.p-media .c-btn__ill:not(.is-pdf):not(.is-arrow) {
  background-image: url("./img/page/media/arrow.svg");
}
.p-media {
  /* ---------------------------------
  Pagination
  --------------------------------- */
}
.p-media__pagination {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  font-family: var(--font-accent);
}
@media (min-width: 1024px) {
  .p-media__pagination {
    margin-top: 74px;
  }
}
.p-media__pagination .page-numbers {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 30px;
}
.p-media__pagination .page-numbers li {
  margin: 0;
  padding: 0;
}
.p-media__pagination .page-numbers a,
.p-media__pagination .page-numbers span {
  min-width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  color: #1f3b2f;
}
.p-media__pagination .page-numbers .page-numbers.current {
  background-color: unset;
  color: var(--green);
  font-weight: 700;
}
.p-media__pagination .page-numbers a {
  background: transparent;
  font-size: 15px;
}
.p-media__pagination .page-numbers a:hover {
  border-color: rgba(31, 59, 47, 0.5);
  text-decoration: underline;
}
.p-media__pagination .page-numbers a.prev, .p-media__pagination .page-numbers a.next {
  background-color: var(--green);
}
.p-media__pagination .page-numbers .current {
  background: #1f6a43;
  color: #fff;
}

/* Small tweaks for very narrow screens */
@media (max-width: 360px) {
  .p-media-card {
    padding: 18px 14px 16px;
  }
  .p-media-card__title {
    font-size: 15px;
  }
}
.p-movie {
  padding: 40px 0 90px;
}
@media (min-width: 768px) {
  .p-movie {
    padding: 123px 0 139px;
  }
}
.p-movie__list {
  display: flex;
  flex-direction: column;
  gap: 90px;
}
@media (min-width: 768px) {
  .p-movie__list {
    gap: 164px;
  }
}
@media (min-width: 768px) {
  .p-movie .p-movie-card {
    display: flex;
    justify-content: center;
  }
}
.p-movie .p-movie-card__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 90px;
  max-width: 910px;
}
@media (min-width: 768px) {
  .p-movie .p-movie-card__inner {
    display: flex;
    grid-template-columns: 38.4615% 55.8242%;
    -moz-column-gap: 5.7143%;
         column-gap: 5.7143%;
  }
}
.p-movie .p-movie-card__body {
  order: 2;
  flex: 1 1 38.4615%;
}
@media (min-width: 768px) {
  .p-movie .p-movie-card__body {
    order: 1;
  }
}
.p-movie .p-movie-card__movie {
  order: 1;
  flex: 1 1 55.8242%;
}
@media (min-width: 768px) {
  .p-movie .p-movie-card__movie {
    order: 2;
  }
}
.p-movie .p-movie-card__title {
  margin: 0 0 30px;
  color: var(--green);
  font-weight: 700;
  line-height: 1.4;
  font-size: 20px;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
}
.p-movie .p-movie-card__text {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 0;
}
.p-movie .p-movie-card__cta {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-movie .p-movie-card:nth-of-type(even) .p-movie-card__inner {
    flex-direction: row-reverse;
  }
}
.p-movie__embed {
  position: relative;
  width: 100%;
}
.p-movie__embed::before {
  content: "";
  position: absolute;
  left: 83px;
  bottom: -49px;
  right: -15px;
  height: 139px;
  background: #f0f3f5;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-movie__embed::before {
    bottom: -74px;
    height: 219px;
    left: 111px;
    right: -2000px;
  }
}
.p-movie__embed iframe {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 16/9;
  border: 0;
  display: block;
  background: #000;
}
.p-movie-card:nth-of-type(even) .p-movie__embed::before {
  right: 83px;
  left: -15px;
}
@media (min-width: 768px) {
  .p-movie-card:nth-of-type(even) .p-movie__embed::before {
    right: 111px;
    left: -2000px;
  }
}
.p-movie__empty {
  margin: 0;
}
.p-movie .c-btn {
  width: auto;
  min-width: 224px;
  max-width: 100%;
  padding-left: 24px;
  padding-right: 56px;
  white-space: nowrap;
}
.p-movie .c-btn__ill {
  flex: 0 0 auto;
  margin-left: 10px;
}
.p-movie .c-btn__ill.is-arrow {
  width: 26px;
  height: 27px;
  transition: transform 0.15s ease;
}
.p-movie .c-btn:hover {
  transform: none;
}
.p-movie .c-btn:active {
  transform: none;
}
.p-movie__pagination {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}
.p-movie__pagination .page-numbers {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.p-movie__pagination .page-numbers a,
.p-movie__pagination .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #1a1a1a;
  font-family: var(--font-en);
  font-weight: 500;
  font-size: 15px;
  line-height: 1;
  min-width: 18px;
  height: 18px;
}
.p-movie__pagination .page-numbers .current {
  color: var(--green);
}
.p-movie__pagination .p-media__page-nav {
  width: 34px;
  height: 34px;
  border-radius: 9999px;
  background: var(--green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.p-movie__pagination .p-media__page-nav img {
  display: block;
  width: 14px;
  height: 14px;
}
.p-movie__pagination .prev a,
.p-movie__pagination .prev span,
.p-movie__pagination .next a,
.p-movie__pagination .next span {
  min-width: auto;
  height: auto;
}

.p-faq {
  padding: 30px 0 72px;
  position: relative;
}
@media (min-width: 768px) {
  .p-faq {
    margin-bottom: 140px;
  }
}
.p-faq::before {
  content: "";
  position: absolute;
  top: 72px;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f7f9fa;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-faq::before {
    top: 102px;
  }
}
@media (min-width: 768px) {
  .p-faq {
    padding-bottom: 96px;
  }
}
.p-faq__intro {
  max-width: 815px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-faq__intro {
    padding: 40px 0 60px;
  }
}
.p-faq__intro-inner {
  display: grid;
  gap: 30px;
  margin-bottom: 60px;
  align-items: center;
}
@media (min-width: 768px) {
  .p-faq__intro-inner {
    grid-template-columns: 298px 1fr;
    gap: 54px;
    margin-bottom: unset;
    align-items: unset;
  }
}
.p-faq__intro-media {
  display: flex;
  justify-content: center;
  padding-inline: 23px;
}
@media (min-width: 768px) {
  .p-faq__intro-media {
    padding-inline: unset;
  }
}
.p-faq__intro-illust {
  width: 100%;
  max-width: 360px;
  height: auto;
  display: block;
}
.p-faq__intro-body {
  display: grid;
  gap: 16px;
}
@media (min-width: 768px) {
  .p-faq__intro-body {
    margin-top: 86px;
  }
}
.p-faq__intro-text {
  margin: 0;
  line-height: 2.188;
  font-weight: 500;
}
@media (min-width: 768px) {
  .p-faq__intro-text {
    font-size: 20px;
    line-height: 1.75;
  }
}
.p-faq__sections {
  max-width: 932px;
  margin-inline: auto;
}

.p-faq-section + .p-faq-section {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .p-faq-section + .p-faq-section {
    margin-top: 46px;
  }
}
.p-faq-section__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 20px;
  font-weight: 700;
  font-size: 15px;
  font-weight: 700;
  color: var(--green);
  letter-spacing: 0;
}
.p-faq-section__dot {
  width: 10px;
  height: 10px;
  border-radius: 9999px;
  background: var(--green);
  flex: 0 0 auto;
}
.p-faq-section__list {
  display: grid;
  gap: 30px;
}
.p-faq-item {
  background: #fff;
  overflow: hidden;
}
.p-faq-item__q {
  width: 100%;
  display: grid;
  grid-template-columns: 65px 1fr 40px;
  padding: 0;
  border: 0;
  background: #fff;
  cursor: pointer;
}
@media (min-width: 768px) {
  .p-faq-item__q {
    grid-template-columns: 86px 1fr 74px;
  }
}
.p-faq-item__q-mark {
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--green);
  color: #fff;
  font-weight: 500;
  font-family: var(--font-accent);
  font-size: 28px;
}
@media (min-width: 768px) {
  .p-faq-item__q-mark {
    height: 96px;
  }
}
.p-faq-item__q-text {
  padding: 25px 10px 22px;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0;
  line-height: 1.867;
  color: var(--green);
}
@media (min-width: 768px) {
  .p-faq-item__q-text {
    padding: 32px 42px;
    font-size: 16px;
  }
}
.p-faq-item__toggle {
  position: relative;
  height: 27px;
  width: 27px;
  margin: 22px 10px 0 0;
  background-color: #9ba800;
  border-radius: 50%;
  display: block;
  transition: background-color 0.2s ease;
}
@media (min-width: 768px) {
  .p-faq-item__toggle {
    height: 35px;
    width: 35px;
    margin-top: 32px;
  }
}
.p-faq-item__toggle::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("./img/page/faq/plus_icon.svg") no-repeat center/12px 12px;
  transition: transform 0.25s ease;
  transform-origin: 50% 50%;
}
@media (min-width: 768px) {
  .p-faq-item__toggle::before {
    background: url("./img/page/faq/plus_icon.svg") no-repeat center/18px 18px;
  }
}
.p-faq-item.is-open .p-faq-item__toggle {
  background-color: #d0d0d0;
}
.p-faq-item.is-open .p-faq-item__toggle::before {
  transform: rotate(45deg);
}
.p-faq-item.is-open .p-faq-item__a {
  opacity: 1;
  transform: scale(1);
}
.p-faq-item__a {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transform: scale(0.98);
  transform-origin: top;
  transition: max-height 0.35s ease, opacity 0.25s ease, transform 0.25s ease;
  will-change: max-height, opacity, transform;
}
.p-faq-item__a-inner {
  display: grid;
  grid-template-columns: 65px 1fr;
  gap: 0;
}
@media (min-width: 768px) {
  .p-faq-item__a-inner {
    grid-template-columns: 86px 1fr;
  }
}
.p-faq-item__a-mark {
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffad3c;
  color: #fff;
  font-weight: 500;
  font-family: var(--font-accent);
  font-size: 28px;
}
@media (min-width: 768px) {
  .p-faq-item__a-mark {
    height: 96px;
  }
}
.p-faq-item__a-text {
  padding: 25px 10px 22px;
  line-height: 1.9;
}
@media (min-width: 768px) {
  .p-faq-item__a-text {
    padding: 34px 42px;
    font-size: 16px;
    padding-right: 10%;
  }
}
.p-faq-item__a-text p {
  margin: 0;
}
.p-faq-item__a-text p + p {
  margin-top: 10px;
}

.p-faq-item__q[aria-expanded=true] .p-faq-item__toggle {
  background-color: #d0d0d0;
}
.p-faq-item__q[aria-expanded=true] .p-faq-item__toggle::before {
  transform: rotate(45deg);
}
.p-faq-item__q[aria-expanded=true] + .p-faq-item__a {
  opacity: 1;
  transform: scale(1);
}

.privacy__content {
  max-width: 910px;
  margin: 0 auto;
  padding: 32px 20px 56px;
}
@media (min-width: 768px) {
  .privacy__content {
    padding: 40px 24px 72px;
  }
}
@media (min-width: 1024px) {
  .privacy__content {
    padding: 66px 24px 111px;
    padding-inline: unset;
  }
}
.privacy__item:not(:first-child) {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .privacy__item:not(:first-child) {
    margin-top: 32px;
  }
}
@media (min-width: 1024px) {
  .privacy__item:not(:first-child) {
    margin-top: 36px;
  }
}
.privacy__title {
  font-family: var(--font-round);
  font-weight: bold;
  color: var(--green);
  font-size: 18px;
  letter-spacing: 0.2em;
  line-height: 1.778;
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  .privacy__title {
    margin-bottom: 14px;
  }
}
@media (min-width: 1024px) {
  .privacy__title {
    font-size: 20px;
  }
}
.privacy__body {
  margin-top: 6px;
}
.privacy__body p {
  font-size: 15px;
  line-height: 1.867;
  letter-spacing: 0;
  margin: 0;
}
.privacy__body p:not(:first-child) {
  margin-top: 10px;
}
.privacy__bullet {
  margin: 10px 0 0;
  padding-left: 1.2em;
  list-style: disc;
}
.privacy__bullet-item {
  font-size: 15px;
  line-height: 1.867;
  letter-spacing: 0;
  margin: 0;
}
.privacy__bullet-item:not(:first-child) {
  margin-top: 6px;
}
.privacy__contact {
  margin-top: 10px;
}
.privacy__contact-name, .privacy__contact-tel {
  font-size: 15px;
  line-height: 1.867;
  letter-spacing: 0;
  margin: 0;
}
.privacy__contact-name:not(:first-child), .privacy__contact-tel:not(:first-child) {
  margin-top: 6px;
}

/* ===== lead ===== */
.contact .site-footer__btn,
.contact-confirm .site-footer__btn {
  height: 48px;
}

.contact-lead {
  text-align: center;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 26px;
  margin-bottom: 64px;
  padding-left: 16px;
  padding-right: 16px;
}
@media (min-width: 768px) {
  .contact-lead {
    margin-top: 100px;
    margin-bottom: 90px;
  }
}
.contact-lead__text {
  font-size: 15px;
  line-height: 2;
  margin-bottom: 30px;
}
.contact-lead__text span {
  display: inline-block;
}
.contact-lead__tel {
  margin-bottom: 30px;
}
.contact-lead__tel-link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  font-weight: 700;
  font-size: 20px;
  color: var(--orange);
  text-decoration: none;
  letter-spacing: 0.04em;
}
@media (min-width: 768px) {
  .contact-lead__tel-link {
    flex-direction: row;
    align-items: baseline;
  }
}
.contact-lead__tel-main {
  display: flex;
  align-items: center;
  gap: 15px;
  row-gap: 16px;
  text-underline-offset: 10px;
}
.contact-lead__tel-main:hover {
  text-decoration: underline;
}
.contact-lead__tel-icon {
  width: 25px;
  height: 25px;
  flex: 0 0 auto;
}
.contact-lead__tel-icon img {
  width: 100%;
  height: 100%;
  display: block;
}
.contact-lead__tel-label {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0;
  font-family: var(--font-accent);
}
.contact-lead__tel-number {
  font-size: 29px;
  font-weight: 700;
  letter-spacing: 0;
}
.contact-lead__tel-note {
  font-size: 20px;
  color: var(--orange);
  margin-left: 0;
}
@media (min-width: 768px) {
  .contact-lead__tel-note {
    margin-left: 6px;
  }
}
.contact-lead__note {
  font-size: 13px;
  margin-bottom: 24px;
}
.contact-lead__note span {
  display: inline-block;
}
.contact-lead__actions {
  display: flex;
  justify-content: center;
}

/* ===== 確認ページ ===== */
.contact-confirm {
  max-width: 910px;
  margin: 0 auto;
  margin-top: 34px;
  margin-bottom: 60px;
  padding-top: 30px;
  padding-bottom: 53px;
  padding-inline: 15px;
  background: #f8f8f8;
}
@media (min-width: 768px) {
  .contact-confirm {
    padding-top: 32px;
    padding-bottom: 60px;
    margin-bottom: 112px;
  }
}
@media (min-width: 1024px) {
  .contact-confirm {
    padding-inline: unset;
  }
}
.contact-confirm__card {
  background: #fff;
  padding: 60px 30px 68px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .contact-confirm__card {
    padding: 60px 58px 68px;
    max-width: 630px;
  }
}
.contact-confirm__lead {
  font-size: 14px;
  line-height: 2;
  text-align: center;
  margin-bottom: 30px;
  letter-spacing: 0;
}
.contact-confirm__list {
  display: grid;
  gap: 30px;
  max-width: 520px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .contact-confirm__list {
    max-width: unset;
  }
}
@media (min-width: 768px) {
  .contact-confirm__row {
    display: flex;
  }
}
.contact-confirm__item {
  display: grid;
  gap: 8px;
}
@media (min-width: 768px) {
  .contact-confirm__item {
    grid-template-columns: 160px 1fr;
    gap: 22px;
    align-items: start;
  }
}
.contact-confirm__term {
  font-size: 13px;
  color: #4d4d4d;
  line-height: 1.8;
  letter-spacing: 0;
  white-space: nowrap;
}
.contact-confirm__desc {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0;
  word-break: break-word;
}
.contact-confirm__message {
  line-height: 2;
  letter-spacing: 0;
  white-space: pre-wrap;
}
.contact-confirm__actions {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}
@media (min-width: 768px) {
  .contact-confirm__actions {
    margin-top: 38px;
    flex-direction: row;
    justify-content: center;
    gap: 30px;
  }
}
.contact-confirm__actions .site-footer__btn {
  width: 280px;
  justify-content: center;
}
@media (min-width: 768px) {
  .contact-confirm__actions .site-footer__btn {
    width: 224px;
  }
}
.contact-confirm__actions .contact-confirm__btn-back {
  background: #fff;
  border: 2px solid var(--green);
  color: var(--green);
}
.contact-confirm__actions .contact-confirm__btn-back:hover {
  opacity: 0.9;
}
@media (min-width: 768px) {
  .contact-confirm__dt {
    flex: 1 1 auto;
    font-size: 14px;
  }
}
@media (min-width: 768px) {
  .contact-confirm__dd {
    flex: 0 1 65.7587548638%;
  }
}

/* ===== 入力ページ ===== */
.contact-form {
  max-width: 1026px;
  margin: 0 auto;
  margin-bottom: 60px;
  padding-top: 56px;
  padding-bottom: 54px;
  padding-left: 16px;
  padding-right: 16px;
  background: #f8f8f8;
}
@media (min-width: 768px) {
  .contact-form {
    padding-top: 30px;
    padding-bottom: 60px;
    margin-bottom: 112px;
  }
}
@media (min-width: 1024px) {
  .contact-form {
    padding-inline: unset;
  }
}
.contact-form__title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: var(--orange);
  justify-content: center;
}
.contact-form__title-icon {
  width: 30px;
  height: auto;
}
.contact-form__body .wpcf7-form {
  display: grid;
  gap: 18px;
}
.contact-form__body .contact-form__label {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 10px;
  font-size: 14px;
}
.contact-form__body .contact-form__label:not(:first-child) {
  margin-top: 15px;
}
.contact-form__body input,
.contact-form__body textarea {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid #4d4d4d;
  border-radius: 6px;
  font-size: 16px;
  line-height: 1.867;
  letter-spacing: 0;
}
.contact-form__body input:focus,
.contact-form__body textarea:focus {
  outline: none;
  border-color: var(--green);
  box-shadow: 0 0 0 2px rgba(0, 98, 64, 0.15);
}
.contact-form__body input::-moz-placeholder, .contact-form__body textarea::-moz-placeholder {
  color: #c1c1c1;
}
.contact-form__body input::placeholder,
.contact-form__body textarea::placeholder {
  color: #c1c1c1;
}
.contact-form__body textarea {
  min-height: 140px;
  resize: vertical;
}
.contact-form__body input[type=checkbox] {
  margin: unset;
  padding: unset;
  width: 15px;
  height: 15px;
  border-radius: unset;
  border: 1px solid #000;
}
.contact-form__body .cf7-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.contact-form__body .cf7-privacy {
  font-size: 14px;
  line-height: 2;
  margin-top: 26px;
  text-align: center;
}
.contact-form__body .cf7-privacy a {
  color: #ffad3c;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.contact-form__body .cf7-privacy + label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.6;
}
.contact-form__body .is-required {
  display: inline-block;
  font-size: 13px;
  color: #fff;
  background: #ffad3c;
  line-height: 1;
  padding: 6px 13px;
}
.contact-form__body .contact-form__notice {
  margin-top: 60px;
  font-size: 14px;
  line-height: 2;
  max-width: 986px;
  margin-inline: auto;
  text-align: center;
  letter-spacing: 0;
}
.contact-form__body .contact-form__row {
  max-width: 780px;
  margin-inline: auto;
  justify-content: space-between;
}
.contact-form__body .contact-form__row:not(:last-child) {
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  .contact-form__body .contact-form__row {
    display: flex;
    gap: unset;
  }
}
.contact-form__body .contact-form__row .contact-form__head {
  flex: 1 1 auto;
}
.contact-form__body .contact-form__row .contact-form__field {
  flex: 0 0 70.5128205128%;
}
.contact-form__actions {
  text-align: center;
}
.contact-form__actions .site-footer__btn {
  width: 224px;
  margin: 0 auto;
  margin-top: 30px;
}
.contact-form__actions .c-btn {
  min-width: 220px;
  justify-content: center;
}

/* ===== 送信完了ページ ===== */
.contact-thanks {
  max-width: 910px;
  margin: 0 auto;
  margin-top: 60px;
  margin-bottom: 53px;
}
@media (min-width: 768px) {
  .contact-thanks {
    margin-top: 130px;
    margin-bottom: 149px;
  }
}
.contact-thanks__icon {
  width: 38px;
  height: 38px;
  margin: 0 auto 10px;
}
.contact-thanks__icon img {
  width: 100%;
  height: 100%;
  display: block;
}
.contact-thanks__title {
  font-size: 30px;
  font-weight: 700;
  color: #FFAD3C;
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .contact-thanks__title {
    font-size: 32px;
    margin-bottom: 20px;
  }
}
.contact-thanks__text {
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0;
  text-align: center;
}
.contact-thanks__text span {
  display: inline-block;
}
.contact-thanks__text-br {
  display: block;
}
@media (min-width: 768px) {
  .contact-thanks__text-br {
    display: none;
  }
}
.contact-thanks__actions {
  margin-top: 60px;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .contact-thanks__actions {
    margin-top: 44px;
  }
}

.support.l-main {
  max-width: 1026px;
  margin-inline: auto;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .support.l-main {
    margin-top: 90px;
  }
}
.support {
  padding: 0 0 80px;
  /* ==============================
    Layout
  ============================== */
  /* ==============================
    Item (details)
  ============================== */
}
.support details.support-item {
  margin-bottom: 30px;
  scroll-margin-top: 40px;
}
@media (min-width: 768px) {
  .support details.support-item {
    scroll-margin-top: 90px;
  }
}
.support details.support-item + .support details.support-item {
  margin-top: 22px;
}
@media (min-width: 768px) {
  .support details.support-item + .support details.support-item {
    margin-top: 26px;
  }
}
.support details.support-item > summary {
  list-style: none;
}
.support details.support-item > summary::-webkit-details-marker {
  display: none;
}
.support details.support-item[open] .support-item__toggle-ico {
  transform: rotate(0deg);
}
.support details.support-item[open] .support-item__drawer {
  opacity: 1;
  transform: translateY(0);
}
.support {
  /* ==============================
    Summary / Header
  ============================== */
}
.support .support-item__summary {
  cursor: pointer;
  position: relative;
  padding: 16px 15px 20px;
  background: #f4f7f0;
}
@media (min-width: 768px) {
  .support .support-item__summary {
    padding: unset;
  }
}
.support .support-item__summary:hover .support-item__toggle-ico {
  transform: rotate(180deg) translate(0px, 0px);
}
.support .support-item__head {
  position: relative;
}
@media (min-width: 768px) {
  .support .support-item__head {
    padding: unset;
  }
}
.support .support-item__grid {
  display: grid;
  gap: 10px;
}
@media (min-width: 768px) {
  .support .support-item__grid {
    grid-template-columns: 52% 41.1306042885%;
    justify-content: space-between;
    gap: 22px;
  }
}
.support .support-item__col {
  min-width: 0;
}
@media (min-width: 768px) {
  .support .support-item__col {
    padding-left: 16px;
    gap: unset;
  }
}
.support .support-item__col--text {
  display: grid;
  gap: 16px;
  padding-top: 12px;
  padding-bottom: 12px;
}
@media (min-width: 1024px) {
  .support .support-item__col--image {
    justify-self: end;
    padding-left: unset;
  }
}
.support .support-item {
  /* service + number + title */
}
.support .support-item__top {
  display: flex;
  align-items: center;
  gap: 24px;
}
.support .support-item__kicker {
  /*
    Keep existing visual rhythm (service above, number row below)
    but place the kicker icon to the RIGHT of the number.
  */
  display: grid;
  grid-template-columns: auto auto;
  grid-template-areas: "en en" "no ico";
  align-items: start;
  gap: 0 8px;
  margin: 0;
  flex: 0 0 auto;
}
.support .support-item__kicker-ico {
  grid-area: ico;
  width: 23px;
  height: auto;
}
.support .support-item__kicker-ico img {
  display: block;
  width: 100%;
  height: 100%;
}
.support .support-item__kicker-en {
  grid-area: en;
  margin-top: 0;
  font-size: 19px;
  letter-spacing: 0;
  color: #ffad3c;
  line-height: 1;
  font-family: var(--font-accent);
}
.support .support-item__no {
  grid-area: no;
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  position: relative;
  line-height: 1;
}
.support .support-item__no-txt {
  font-size: 49px;
  font-weight: 500;
  letter-spacing: 0;
  color: #ffad3c;
  margin-top: -4px;
  font-family: var(--font-accent);
}
@media (min-width: 768px) {
  .support .support-item__no-txt {
    font-size: 56px;
  }
}
.support .support-item__title {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .support .support-item__title {
    font-size: 26px;
  }
}
.support .support-item__lead {
  margin: 0;
  font-size: 15px;
  line-height: 1.867;
  letter-spacing: 0;
  color: rgba(0, 0, 0, 0.78);
}
@media (min-width: 768px) {
  .support .support-item__lead {
    font-size: 15px;
  }
}
.support .support-item__thumb {
  overflow: hidden;
  background: #fff;
}
.support .support-item__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.support .support-item {
  /* Toggle circle (centered on the border between header and drawer) */
}
.support .support-item__toggle {
  position: absolute;
  left: 50%;
  bottom: -34px;
  transform: translateX(-50%);
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: var(--green);
  display: grid;
  place-items: center;
  transition: transform 200ms ease;
  z-index: 2;
}
@media (min-width: 768px) {
  .support .support-item__toggle {
    bottom: -16px;
  }
}
.support .support-item__toggle-btn {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}
.support .support-item__toggle-ico {
  width: 10px;
  height: 11px;
  display: block;
  background: url("./img/page/support/arrow_icon.svg") no-repeat center/contain;
  transition: transform 220ms ease;
  transform: rotate(180deg) translate(0px, 4px);
}
.support .support-item {
  /* ==============================
    Drawer
  ============================== */
}
.support .support-item__drawer {
  /* fade/slide (JS height animation uses inline height) */
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 240ms ease, transform 240ms ease;
}
.support .support-item__panel {
  background: #f7e5c9;
}
.support .support-item {
  /* footer button in panel */
}
.support .support-item__footer {
  padding: 0 15px 16px;
}
.support .support-item__actions {
  display: flex;
  justify-content: flex-start;
}
.support {
  /* ==============================
    Block (inside drawer)
  ============================== */
}
.support .support-block + .support .support-block {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.support .support-block__title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding: 12px 22px;
  background: #ffad3c;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--green);
  font-size: 15px;
}
@media (min-width: 768px) {
  .support .support-block__title {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
.support .support-block__title-ico {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--green);
  flex: 0 0 auto;
}
.support .support-block__title-text {
  display: block;
}
.support .support-block__text {
  padding: 16px 15px;
}
.support .support-block__p {
  margin: 0;
  font-size: 15px;
  line-height: 1.95;
  letter-spacing: 0.02em;
  color: rgba(0, 0, 0, 0.78);
}
.support .support-block__p + .support .support-block__p {
  margin-top: 10px;
}
.support .support-block {
  /* list */
}
.support .support-block__list {
  margin: 0;
  padding: 14px 14px 16px;
  list-style: none;
  display: grid;
  gap: 10px;
}
.support .support-block__item {
  display: grid;
  grid-template-columns: 10px 1fr;
  gap: 10px;
  align-items: start;
}
.support .support-block__item-ico {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgb(0, 98, 64);
  margin-top: 6px;
}
.support .support-block__item-text {
  font-size: 14px;
  line-height: 1.95;
  letter-spacing: 0.02em;
  color: rgba(0, 0, 0, 0.78);
}
.support {
  /* ==============================
    Merits (01)
  ============================== */
}
.support .support-merits {
  padding: 16px 15px;
  list-style: none;
  display: grid;
  gap: 16px;
}
.support .support-merit {
  margin: 0;
}
.support .support-merit__in {
  display: grid;
  gap: 8px;
}
.support .support-merit__head {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.support .support-merit__no {
  width: 21px;
  height: 21px;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 13px;
  line-height: 1;
  flex: 0 0 auto;
}
.support .support-merit__title {
  color: var(--orange);
  font-size: 15px;
  line-height: 1.867;
  letter-spacing: 0.02em;
}
.support .support-merit__text {
  letter-spacing: 0;
  line-height: 1.867;
}
.support .support-merit__p {
  margin: 0;
  font-size: 15px;
  line-height: 1.95;
  letter-spacing: 0.02em;
  color: rgba(0, 0, 0, 0.78);
}
.support .support-merit__p + .support .support-merit__p {
  margin-top: 10px;
}
.support {
  /* ==============================
    Steps (03)
  ============================== */
}
.support .support-steps {
  padding: 16px 15px;
  list-style: none;
  display: grid;
  gap: 16px;
}
.support .support-step {
  background-color: #fff7ed;
  padding: 10px;
}
@media (min-width: 768px) {
  .support .support-step {
    padding: 16px;
    padding-right: 24px;
  }
}
.support .support-step__in {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media (min-width: 768px) {
  .support .support-step__in {
    flex-direction: row;
  }
}
.support .support-step__icon {
  display: flex;
  justify-content: center;
  width: 113px;
  height: 88px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .support .support-step__icon {
    flex: 0 0 113px;
    width: 113px;
    height: 88px;
  }
}
.support .support-step__icon img {
  display: block;
  width: 100%;
  height: 100%;
}
.support .support-step__title {
  margin: 0;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: rgba(0, 0, 0, 0.84);
}
.support .support-step__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .support .support-step__text {
    padding-top: 12px;
  }
}
.support .support-step__body {
  flex: 1 1 auto;
}
.support {
  /* ==============================
    Cards (04)
  ============================== */
}
.support .support-cards {
  display: grid;
  gap: 16px;
}
@media (min-width: 768px) {
  .support .support-cards {
    display: flex;
    gap: 12px;
  }
}
.support .support-card {
  background: #fff7ed;
  width: 234px;
  height: 153px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .support .support-card {
    flex: 0 1 234px;
    margin-inline: unset;
  }
}
.support .support-card__in {
  padding: 8px;
  display: grid;
  justify-items: center;
  text-align: center;
}
.support .support-card__icon {
  width: 88px;
  height: 88px;
}
.support .support-card__icon img {
  display: block;
  width: 100%;
  height: 100%;
}
.support .support-card__text {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0;
}
.support {
  /* ==============================
    Item modifiers
  ============================== */
}
.support .support-item--02 .support-block--merits .support-block__text {
  padding: 16px 15px 0;
}
.support .support-item--02 .support-block__text {
  display: flex;
  flex-direction: column;
  row-gap: 14px;
}
.support .support-item--03 .support-item__actions {
  padding-inline: 15px;
}
.support .support-item--05 .support-block__text {
  padding-top: unset;
}
.support {
  /* ==============================
    Reduce motion
  ============================== */
}
@media (prefers-reduced-motion: reduce) {
  .support .support-item__toggle,
  .support .support-item__toggle-ico,
  .support .support-item__drawer {
    transition: none;
  }
}

.sitemap {
  padding: 30px 0 53px;
  font-family: var(--font-round);
}
.sitemap .l-container {
  max-width: 940px;
}
@media (min-width: 768px) {
  .sitemap {
    padding-top: 90px;
    padding-bottom: 140px;
  }
}

.sitemap__inner {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.sitemap-block {
  padding: 0;
}

.sitemap-block__title {
  margin: 0;
  font-size: clamp(16px, 2.2vw, 18px);
  font-weight: 700;
  color: var(--green);
}

.sitemap-block__title-link {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--green);
  color: inherit;
  text-decoration: none;
  font-size: 20px;
  padding-bottom: 4px;
  letter-spacing: 0.2em;
}

.sitemap-block__title-link:hover {
  text-decoration: none;
}

.sitemap-block__mark {
  display: inline-block;
  flex: 0 0 auto;
}

.sitemap-links {
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px 18px;
}
@media (min-width: 768px) {
  .sitemap-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.sitemap-links__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  text-decoration: none;
  line-height: 1.6;
}

.sitemap-links__link:hover {
  text-decoration: none;
  opacity: 0.85;
}

.sitemap-links__icon {
  flex: 0 0 auto;
  transform: translateY(1px);
  width: 7.22px;
  height: 12.45px;
}

.sitemap-links__text {
  display: inline-block;
}

@media (min-width: 768px) {
  .sitemap-links--cols {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.sitemap-stores {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.sitemap-pref__title {
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 700;
  color: var(--orange);
  display: flex;
  align-items: center;
  gap: 8px;
}

.sitemap-area__title {
  margin: 0 0 10px;
  font-weight: 700;
  color: var(--orange);
  display: flex;
  align-items: center;
  gap: 8px;
  letter-spacing: 0.2em;
}

.sitemap-area__dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--orange);
  display: inline-block;
}

.sitemap-area__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px 18px;
}
@media (min-width: 768px) {
  .sitemap-area__list {
    display: flex;
    flex-wrap: wrap;
  }
}

.sitemap-area__item {
  margin: 0;
  flex: 1 0 auto;
}

.sitemap-area__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: inherit;
  text-decoration: none;
  line-height: 1.6;
}

.sitemap-area__link:hover {
  text-decoration: none;
  opacity: 0.85;
}

.sitemap-area__icon {
  flex: 0 0 auto;
  transform: translateY(1px);
  width: 7.22px;
  height: 12.45px;
}

.sitemap-area__text {
  display: inline-block;
  white-space: nowrap;
  letter-spacing: 0.1em;
}

.l-store-1366 {
  max-width: 1366px;
  margin-inline: auto;
  padding-inline: 15px;
}
@media (min-width: 1024px) {
  .l-store-1366 {
    padding-inline: 0;
  }
}

.store-head {
  background: #fff;
  padding: 30px 0 60px;
}
.store-head__top {
  margin-bottom: 30px;
}
@media (min-width: 1024px) {
  .store-head {
    --store-pad-l: clamp(24px, 12.4450951684vw, 170px);
    --store-pad-r: clamp(24px, 8.49194729136vw, 116px);
    --store-gap: clamp(24px, 4.24597364568vw, 58px);
    --store-col-left: clamp(320px, 32.2108345534vw, 440px);
    --store-col-right: clamp(380px, 42.6061493411vw, 582px);
    padding-top: 100px;
    padding-bottom: 80px;
  }
  .store-head__inner {
    padding-left: var(--store-pad-l);
    padding-right: var(--store-pad-r);
  }
  .store-head__top {
    margin-bottom: 30px;
  }
  .store-head__media {
    min-width: 0;
  }
}
.store-head__grid {
  display: grid;
}
@media (min-width: 768px) {
  .store-head__grid {
    grid-template-columns: 1fr 1.25fr;
    align-items: start;
    gap: 32px;
  }
}
@media (min-width: 1024px) {
  .store-head__grid {
    grid-template-columns: minmax(0, var(--store-col-left)) minmax(0, var(--store-col-right));
    -moz-column-gap: var(--store-gap);
         column-gap: var(--store-gap);
    row-gap: 0;
    align-items: start;
  }
}
.store-head__logo {
  margin-bottom: 16px;
}
@media (min-width: 1024px) {
  .store-head__logo {
    margin-bottom: 60px;
  }
}
.store-head__logo img {
  display: block;
  width: 100%;
  max-height: 91px;
  width: auto;
}
.store-head__line {
  margin-bottom: 16px;
}
@media (min-width: 1024px) {
  .store-head__line {
    margin-bottom: 30px;
  }
}
.store-head__line-link {
  display: block;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.2s ease;
}
.store-head__line-link img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .store-head__contact {
    margin-bottom: 30px;
  }
}
@media (min-width: 1024px) {
  .store-head__contact {
    display: flex;
    align-items: center;
    gap: 16px;
  }
}
.store-head__name {
  margin: 0 0 20px;
  font-weight: 700;
  line-height: 1.2;
  font-size: 24px;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  color: var(--orange);
  text-align: center;
}
@media (min-width: 768px) {
  .store-head__name {
    text-align: left;
  }
}
.store-head__tel {
  margin: 0 0 10px;
  margin-inline: auto;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .store-head__tel .c-btn,
  .store-head__tel .c-btn--primary {
    all: unset;
    box-sizing: border-box;
    font-size: 24px;
    letter-spacing: 0;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: #ffad3c;
    text-underline-offset: 4px;
    pointer-events: none;
  }
}
@media (min-width: 1024px) {
  .store-head__tel {
    margin: unset;
  }
}
.store-head__tel-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 6px;
}
.store-head__tel-row:first-child {
  margin-top: 0;
}
.store-head__tel-label {
  min-width: 42px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--brown, #6a2903);
}
.store-head__tel-value {
  margin: 0;
  color: var(--text, #222);
}
.store-head__tel-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: #0f6b3a;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  line-height: 1;
  transition: filter 0.2s ease;
}
.store-head__tel-link:hover {
  filter: brightness(0.95);
}
@media (min-width: 768px) {
  .store-head__tel-link {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    font-weight: 700;
    text-decoration: none;
  }
  .store-head__tel-link:hover {
    filter: none;
    text-decoration: underline;
  }
}
.store-head__tel .c-btn.c-btn--primary.store-head__tel-btn {
  width: 274px;
  max-width: 360px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .store-head__tel .c-btn.c-btn--primary.store-head__tel-btn {
    max-width: none;
    width: auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .store-head__tel .c-btn.c-btn--primary.store-head__tel-btn .c-btn__ill {
    display: none;
  }
}
.store-head__fax {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .store-head__fax {
    align-items: center;
    margin-bottom: unset;
  }
}
.store-head__lead {
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .store-head__lead {
    margin-bottom: 30px;
  }
}
.store-head__features {
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  .store-head__features {
    margin-bottom: 30px;
  }
}
.store-head__features-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 15px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.store-head__features-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 10px;
  background-color: #fff;
  background-image: repeating-linear-gradient(-45deg, #fff7ed 0, #fff7ed 4px, transparent 4px, transparent 8px);
  border: 1px solid #f0e2d2;
  font-family: var(--font-round);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.store-head__hours {
  width: 100%;
  max-width: 520px;
}
.store-head__body {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.9;
}
.store-head__body p {
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 0;
}
.store-head__closure {
  margin-bottom: 24px;
}
.store-head__closure-label {
  display: inline-block;
  background: #fff5e6;
  padding: 4px 12px;
  font-size: 15px;
  font-weight: 700;
  color: #000;
  font-family: var(--font-round);
  margin-bottom: 20px;
}
.store-head__closure-item {
  margin-bottom: 8px;
}
.store-head__closure-item:last-child {
  margin-bottom: 0;
}
.store-head__closure-date {
  color: #ff0000;
  font-size: 24px;
  font-weight: 500;
  font-family: var(--font-round);
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .store-head__closure-date {
    font-size: 28px;
  }
}
.store-head__closure-time {
  color: #ff0000;
  font-size: 20px;
  font-weight: 500;
  font-family: var(--font-round);
  margin-left: 0.5em;
}
@media (min-width: 768px) {
  .store-head__closure-time {
    font-size: 24px;
  }
}

.store-hours {
  --label-col: clamp(88px, 22vw, 128px);
  --label-gap: clamp(24px, 3vw, 40px);
  --dow-gap: clamp(10px, 1.6vw, 16px);
  overflow: hidden;
}
.store-hours__grid {
  display: grid;
  -moz-column-gap: 0;
       column-gap: 0;
}
.store-hours__grid--7 {
  grid-template-columns: var(--label-col) repeat(7, minmax(0, 1fr));
}
.store-hours__grid--8 {
  grid-template-columns: var(--label-col) repeat(8, minmax(0, 1fr));
}
@media (min-width: 768px) {
  .store-hours__grid {
    margin-bottom: 10px;
  }
}
.store-hours__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 17px calc(var(--dow-gap) / 2);
  min-width: 0;
}
@media (min-width: 768px) {
  .store-hours__cell {
    padding: 17px 0;
  }
}
.store-hours__label, .store-hours__dow {
  background: #fff7ed;
  border-bottom: 1px solid #d0d0d0;
  font-weight: 500;
  letter-spacing: 0.05em;
  white-space: nowrap;
  font-size: 15px;
}
.store-hours__label {
  justify-content: flex-start;
}
@media (min-width: 768px) {
  .store-hours__label {
    justify-content: center;
  }
}
.store-hours__dow {
  line-height: 1;
  font-size: 15px;
}
.store-hours__time {
  justify-content: flex-start;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .store-hours__time {
    font-size: 14px;
    justify-content: center;
  }
}
.store-hours__time--row2, .store-hours__status--row2 {
  border-top: 1px solid #d0d0d0;
}
.store-hours__status {
  min-height: 18px;
}
.store-hours__status-icon {
  display: block;
  width: 18px;
  height: 18px;
}
.store-hours__note {
  font-size: 15px;
  letter-spacing: 0;
  margin-bottom: 30px;
}
.store-hours__note p {
  line-height: 1.75;
}
.store-hours__closure {
  display: flex;
  flex-direction: column;
  background: #fff7ed;
  padding: 15px;
  margin-bottom: 30px;
  font-weight: 500;
}
@media (min-width: 768px) {
  .store-hours__closure {
    padding: 18px 20px 18px 40px;
    flex-direction: row;
    gap: 30px;
  }
}
.store-hours__closure-label {
  font-size: 15px;
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  .store-hours__closure-label {
    margin-bottom: 0;
    flex: 0 0 auto;
  }
}
.store-hours__closure-list {
  color: #e43c00;
  font-size: 15px;
}
.store-hours__closure-item {
  display: inline-block;
  margin-right: 0.5em;
}
.store-hours__closure-item::after {
  content: "、";
}
.store-hours__closure-item:last-child {
  margin-right: 0;
}
.store-hours__closure-item:last-child::after {
  content: "";
}

.store-media {
  margin: 0;
}
.store-media img {
  display: block;
  width: 100%;
  height: auto;
}
.store-media--main {
  margin-bottom: 10px;
}
@media (min-width: 1024px) {
  .store-media--main {
    margin-right: calc(var(--store-pad-r) * -1);
  }
}
.store-media__subs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7px;
  margin-bottom: 20px;
}

.store-mid {
  background-color: rgba(255, 173, 60, 0.2);
  position: relative;
  overflow: hidden;
}
.store-mid__inner {
  position: relative;
}
.store-mid__inner::before, .store-mid__inner::after {
  content: "";
  position: absolute;
  top: 120px;
  width: 95px;
  height: 100%;
  background-repeat: repeat-y;
  background-size: contain;
  pointer-events: none;
}
.store-mid__inner::before {
  left: -116px;
  background-image: url("./img/store/ill_l.svg");
  background-position: left top;
}
.store-mid__inner::after {
  right: -116px;
  background-image: url("./img/store/ill_r.svg");
  background-position: right top;
}
@media (min-width: 620px) {
  .store-mid__service-hero {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .store-mid__service-hero {
    padding-bottom: 60px;
  }
}
.store-mid::after {
  content: "";
  position: absolute;
  left: -18px;
  bottom: -200px;
  width: 232px;
  height: auto;
  aspect-ratio: 231.52/457.62;
  background-image: url("./img/store/ill_dr.svg");
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: contain;
  pointer-events: none;
  z-index: 10;
}
@media (min-width: 768px) {
  .store-mid::after {
    bottom: 0;
    left: calc(50vw - 470px);
  }
}
@media (min-width: 1024px) {
  .store-mid::after {
    left: calc(50vw - 470px - 100px);
  }
}
.store-mid__inner {
  padding-inline: 15px;
  padding-top: 30px;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .store-mid__inner {
    max-width: 940px;
    margin-inline: auto;
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media (min-width: 1024px) {
  .store-mid__inner {
    max-width: 1056px;
    padding-bottom: 30px;
  }
}
.store-mid__top {
  background-color: #fff;
  padding: 30px 15px 0;
}
@media (min-width: 768px) {
  .store-mid__top {
    padding: 60px 60px 0;
  }
}
.store-mid__title {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  color: var(--orange);
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .store-mid__title {
    margin-bottom: 30px;
    text-align: left;
  }
}
.store-mid__photos {
  display: flex;
  flex-direction: column;
  gap: 30px;
  background-color: #fff;
}
@media (min-width: 768px) {
  .store-mid__photos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    padding-bottom: 60px;
    padding-inline: 60px;
  }
}
@media (min-width: 1024px) {
  .store-mid__photos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
  }
}
.store-mid-block {
  background-color: #fff;
}
.store-mid-block__title {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  color: var(--orange);
  text-align: center;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .store-mid-block__title {
    text-align: left;
  }
}
.store-mid-block__body p {
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 0;
}
.store-mid__block--first {
  padding-top: 60px;
  padding-inline: 15px;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .store-mid__block--first {
    padding-top: unset;
    padding-bottom: 30px;
    padding-inline: 60px;
  }
}
.store-mid__block--second {
  padding-inline: 15px;
  padding-bottom: 60px;
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  .store-mid__block--second {
    padding-bottom: 60px;
    margin-bottom: 30px;
    padding-inline: 60px;
  }
}

.store-message {
  background: #f4f7f0;
  padding: 60px 15px 160px;
  position: relative;
  background-image: url("./img/store/ill_lt.webp"), url("./img/store/ill_rb.webp");
  background-repeat: no-repeat, no-repeat;
  background-position: left 4px top 7px, right 13px bottom 17px;
  background-size: 65px 45px, 65px 45px;
  z-index: 10;
}
@media (min-width: 768px) {
  .store-message {
    padding-bottom: 60px;
    background-image: url("./img/store/ill_lt.webp"), url("./img/store/ill_rb.webp"), url("./img/store/ill_rt.webp");
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-position: left 53px top 75px, right 23px bottom 73px, right 30px top 18px;
    background-size: 65px 45px, 65px 45px, 46px 57px;
  }
}
.store-message__title {
  margin: 0 0 18px;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  color: var(--green);
}
@media (min-width: 768px) {
  .store-message__title {
    font-size: 20px;
    text-align: left;
    max-width: 440px;
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .store-message__title {
    max-width: 630px;
  }
}
.store-message__body p {
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0;
  max-width: 630px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .store-message__body p {
    text-align: left;
    max-width: 440px;
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .store-message__body p {
    max-width: 630px;
  }
}

.store-access {
  padding: 60px 0 113px;
}
@media (min-width: 1024px) {
  .store-access {
    padding: 186px 0 107px;
  }
}
.store-access__inner {
  padding-inline: 15px;
}
@media (min-width: 768px) {
  .store-access__inner {
    max-width: 940px;
    margin-inline: auto;
  }
}
@media (min-width: 1024px) {
  .store-access__inner {
    max-width: 1040px;
  }
}
.store-access__title {
  margin: 0 0 20px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  color: var(--orange);
}
@media (min-width: 768px) {
  .store-access__title {
    text-align: left;
  }
}
.store-access__address p {
  margin: 0 0 30px;
  font-size: 15px;
  line-height: 1.75;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .store-access__address p {
    margin-bottom: 20px;
  }
}
.store-access__map {
  overflow: hidden;
}
.store-access__map-iframe {
  display: block;
  width: 100%;
  border: 0;
  aspect-ratio: 345/316;
}
@media (min-width: 768px) {
  .store-access__map-iframe {
    aspect-ratio: 3/2;
  }
}
@media (min-width: 1024px) {
  .store-access__map-iframe {
    aspect-ratio: 1026/417;
  }
}
.store-access__back {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
@media (min-width: 1024px) {
  .store-access__back {
    margin-top: 90px;
  }
}
.store-access .c-btn.c-btn--primary {
  position: relative;
}
.store-access .c-btn.c-btn--primary .c-btn__ill.is-arrow {
  background-image: url("./img/page/media/arrow.svg");
}
.store-access .c-btn.c-btn--primary:hover .c-btn__ill.is-arrow {
  transform: translateY(-50%) translateX(4px) !important;
}
.store-access .c-btn__ill {
  width: 12px !important;
  height: 12px !important;
  margin-left: 8px !important;
  display: inline-block !important;
  /* このセクションでは absolute で右端に固定 */
  position: absolute !important;
  right: 21px !important;
  top: 50% !important;
  z-index: 1 !important;
  /* 縮小(scale)はさせず、横スライドだけさせる */
  transform: translateY(-50%) translateX(0) !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.25s ease;
  will-change: transform;
}

.stores,
.nearby {
  background: #fff;
}
.stores__head,
.nearby__head {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .stores__head,
  .nearby__head {
    margin-top: 90px;
  }
}
.stores__intro,
.nearby__intro {
  margin-bottom: 60px;
}
.stores__intro-title,
.nearby__intro-title {
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  color: var(--green);
  line-height: 1.4;
  text-align: center;
  margin-bottom: 30px;
}
@media (min-width: 1024px) {
  .stores__intro-title,
  .nearby__intro-title {
    font-size: 30px;
  }
}
.stores__intro-text,
.nearby__intro-text {
  margin: 0;
  line-height: 2.188;
  letter-spacing: 0;
  padding-inline: 15px;
}
@media (min-width: 768px) {
  .stores__intro-text,
  .nearby__intro-text {
    max-width: 900px;
    margin-inline: auto;
    text-align: center;
  }
}
.stores__nav,
.nearby__nav {
  margin-bottom: 34px;
  max-width: 100%;
  overflow-x: clip;
}
@media (min-width: 768px) {
  .stores__nav,
  .nearby__nav {
    margin-bottom: 46px;
  }
}
.stores__nav-rows,
.nearby__nav-rows {
  max-width: 740px;
  margin-inline: auto;
  padding-inline: 15px;
  overflow-x: clip;
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
@media (min-width: 1200px) {
  .stores__nav-rows,
  .nearby__nav-rows {
    max-width: unset;
  }
}
.stores__nav-row,
.nearby__nav-row {
  margin: 0;
  padding: 0;
  list-style: none;
  -moz-column-gap: 20px;
       column-gap: 20px;
  row-gap: 20px;
  /* flex が妥当：自然な折り返し＋中央寄せ */
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
}
.stores,
.nearby {
  /* 上段（4つ想定）：md=2列、lg=4列に寄せる */
}
.stores__nav-row:first-child .stores__nav-item,
.nearby__nav-row:first-child .stores__nav-item {
  /* デフォルトはボタン幅優先（自然な折り返し） */
  flex: 0 1 auto;
}
@media (min-width: 768px) {
  .stores__nav-row:first-child .stores__nav-item,
  .nearby__nav-row:first-child .stores__nav-item {
    /* 2列化（アイテム枠は2列、ボタンは中で可変幅） */
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 1024px) {
  .stores__nav-row:first-child .stores__nav-item,
  .nearby__nav-row:first-child .stores__nav-item {
    /* 4列化 */
  }
}
.stores,
.nearby {
  /* 下段（3つ想定）：md=2列（崩れても中央寄せ）、lg=3列 */
}
.stores__nav-row:last-child .stores__nav-item,
.nearby__nav-row:last-child .stores__nav-item {
  flex: 0 1 auto;
}
@media (min-width: 768px) {
  .stores__nav-row:last-child .stores__nav-item,
  .nearby__nav-row:last-child .stores__nav-item {
    display: flex;
    justify-content: center;
  }
}
.stores__nav-item,
.nearby__nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  border: 0;
  background: transparent;
  padding: 0;
}
.stores__nav-link,
.nearby__nav-link {
  width: auto;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 11px 21px;
  border-radius: 999px;
  background: var(--orange);
  color: #fff;
  font-family: var(--font-round);
  line-height: 1;
  text-decoration: none;
  transition: filter 0.2s ease, background-color 0.2s ease;
}
.stores__nav-link:hover,
.nearby__nav-link:hover {
  background-color: #ffad3c;
  filter: none;
  text-decoration: none;
}
.stores__nav-icon,
.nearby__nav-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 22px;
  display: block;
  filter: brightness(0) invert(1);
}
.stores__nav-label,
.nearby__nav-label {
  display: inline-block;
  min-width: 0;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
  text-align: center;
  /* ボタン内は改行させない */
  white-space: nowrap;
  overflow: visible;
  text-overflow: unset;
  /* 長い文言でも潰れにくいように、文字サイズだけ可変 */
  font-size: 16px;
}
.stores__nav-down,
.nearby__nav-down {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.stores__nav-down img,
.nearby__nav-down img {
  display: block;
  width: 14px;
  height: 14px;
  transition: transform 0.25s ease, filter 0.25s ease;
  will-change: transform;
}
.stores .stores-cards--nearby,
.nearby .stores-cards--nearby {
  margin-bottom: 0 !important;
  padding-bottom: 120px !important;
}
.stores__nav-item:hover .stores__nav-link,
.nearby__nav-item:hover .stores__nav-link {
  background-color: #ffad3c;
  filter: none;
}
.stores__nav-item:hover .stores__nav-down img,
.nearby__nav-item:hover .stores__nav-down img {
  filter: none;
  transform: translateY(6px);
}
.stores .stores-area,
.nearby .stores-area {
  margin-top: 80px;
  background-color: #f7f9fa;
  scroll-margin-top: 64px;
}
@media (min-width: 1024px) {
  .stores .stores-area,
  .nearby .stores-area {
    scroll-margin-top: 100px;
  }
}
@media (min-width: 1024px) {
  .stores .stores-area,
  .nearby .stores-area {
    margin-top: 85px;
  }
}
.stores .stores-area#area-sendai_wakabayashi, .stores .stores-area#area-sendai_izumi, .stores .stores-area#area-miyagi_south,
.nearby .stores-area#area-sendai_wakabayashi,
.nearby .stores-area#area-sendai_izumi,
.nearby .stores-area#area-miyagi_south {
  background-color: #f4f7f0 !important;
}
.stores .stores-area:nth-child(even) .stores-area__title > div,
.nearby .stores-area:nth-child(even) .stores-area__title > div {
  left: 0 !important;
  right: 87.8477306003% !important;
}
.stores .stores-area__title,
.nearby .stores-area__title {
  position: relative;
  background-color: #fff7ed;
  padding-top: 15px;
  padding-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
}
@media (min-width: 768px) {
  .stores .stores-area__title > div,
  .nearby .stores-area__title > div {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 87.8477306003%;
    background: #fff;
  }
}
.stores .stores-area__title::before,
.nearby .stores-area__title::before {
  content: "";
  flex: 0 0 auto;
  width: 17px;
  height: 25px;
  background-image: url("./img/store/pin-orange_icon.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.stores .stores-area__title::after,
.nearby .stores-area__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -30px;
  width: 100%;
  height: 38px;
  background-image: url("./img/store/stripe.svg");
  background-repeat: repeat-x;
  background-position: left center;
  pointer-events: none;
}
.stores .stores-cards,
.nearby .stores-cards {
  margin: 0;
  list-style: none;
  padding-top: 90px;
  padding-bottom: 84px;
  margin-bottom: 80px;
  max-width: 1000px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 64px;
}
@media (min-width: 768px) {
  .stores .stores-cards,
  .nearby .stores-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 64px 40px;
    padding-bottom: 114px;
  }
}
.stores .stores-cards__item,
.nearby .stores-cards__item {
  max-width: 480px;
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .stores .stores-cards__item,
  .nearby .stores-cards__item {
    max-width: 940px;
  }
}
.stores .stores-card,
.nearby .stores-card {
  background: #fff;
  padding: 21px 15px 0;
}
@media (min-width: 768px) {
  .stores .stores-card,
  .nearby .stores-card {
    padding-top: 20px;
    padding-inline: 20px;
  }
}
.stores .stores-card__closure,
.nearby .stores-card__closure {
  background: #ff0000;
  color: #fff;
  padding: 4px;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  font-family: var(--font-round);
  margin-bottom: 12px;
}
.stores .stores-card__media,
.nearby .stores-card__media {
  margin-bottom: 30px;
}
.stores .stores-card__img,
.nearby .stores-card__img {
  display: block;
  width: 100%;
  height: auto;
}
.stores .stores-card__img--placeholder,
.nearby .stores-card__img--placeholder {
  aspect-ratio: 16/10;
  background: #f4f7f0;
}
.stores .stores-card__title,
.nearby .stores-card__title {
  margin: 0 0 20px;
  font-weight: 700;
  line-height: 1.2;
  font-size: 20px;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  color: var(--orange);
}
@media (min-width: 768px) {
  .stores .stores-card__title,
  .nearby .stores-card__title {
    font-size: 20px;
  }
}
.stores .stores-card__tel,
.nearby .stores-card__tel {
  font-size: 20px;
  font-weight: 700;
  color: #ffad3c;
}
.stores .stores-card__address,
.nearby .stores-card__address {
  margin: 0 0 10px;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0;
}
.stores .stores-card__fax,
.nearby .stores-card__fax {
  margin: 0 0 30px;
  font-size: 16px;
  line-height: 1.75;
  letter-spacing: 0;
}
.stores .stores-card__url,
.nearby .stores-card__url {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #ffad3c;
  text-underline-offset: 4px;
  color: inherit;
}
.stores .store-hours__note,
.nearby .store-hours__note {
  margin-top: 30px !important;
}
.stores__btn-wrap,
.nearby__btn-wrap {
  display: flex;
  justify-content: center;
}
.stores .c-btn.c-btn--primary,
.nearby .c-btn.c-btn--primary {
  position: relative;
  margin-bottom: -24px;
}
.stores .c-btn.c-btn--primary .c-btn__ill.is-arrow,
.nearby .c-btn.c-btn--primary .c-btn__ill.is-arrow {
  background-image: url("./img/page/media/arrow.svg");
}
.stores .c-btn.c-btn--primary:hover .c-btn__ill.is-arrow,
.nearby .c-btn.c-btn--primary:hover .c-btn__ill.is-arrow {
  transform: translateY(-50%) translateX(4px) !important;
}
.stores .c-btn__ill,
.nearby .c-btn__ill {
  width: 12px !important;
  height: 12px !important;
  margin-left: 8px !important;
  display: inline-block !important;
  /* このセクションでは absolute で右端に固定 */
  position: absolute !important;
  right: 21px !important;
  top: 50% !important;
  z-index: 1 !important;
  /* 縮小(scale)はさせず、横スライドだけさせる */
  transform: translateY(-50%) translateX(0) !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.25s ease;
  will-change: transform;
}

.store-hours__cell.store-hours__label,
.store-hours__cell.store-hours__time {
  padding-left: 8px;
}

.l-store--prefecture .stores-area {
  margin-top: 0;
  background-color: #fff;
}
.l-store--prefecture .stores-cards {
  padding-top: unset;
}
.l-store--prefecture .stores__intro {
  margin-bottom: unset;
}
@media (min-width: 1024px) {
  .l-store--prefecture .stores__intro {
    margin-bottom: 60px;
  }
}
.l-store--prefecture .stores__intro-title {
  color: var(--t-black);
  font-size: 28px;
}
@media (min-width: 1024px) {
  .l-store--prefecture .stores__intro-title {
    font-size: 45px;
  }
}
@media (min-width: 768px) {
  .l-store--prefecture .stores-cards--prefecture {
    -moz-column-gap: 0px;
         column-gap: 0px;
  }
}
@media (min-width: 1024px) {
  .l-store--prefecture .stores-cards--prefecture {
    -moz-column-gap: 40px;
         column-gap: 40px;
    row-gap: 85px;
  }
}

.nearby .c-btn {
  margin-bottom: unset !important;
}
.nearby.l-container {
  padding: unset;
}
.nearby__map {
  height: auto !important;
  aspect-ratio: 345/350;
  max-width: 615px;
}
.nearby__map-inner {
  margin-top: 30px;
  padding-top: 20px;
  padding-inline: 15px;
  padding-bottom: 20px;
  margin-bottom: 60px;
  background-color: #f7f9fa;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .nearby__map-inner {
    padding-top: 60px;
    padding-bottom: 60px;
    margin-top: 90px;
    margin-bottom: 90px;
  }
}
.nearby .stores-card.stores-card--nearby {
  padding-top: unset;
  padding: 30px 15px;
  border: 3px solid #fff7ed;
  margin-bottom: 44px;
}
@media (min-width: 768px) {
  .nearby .stores-card.stores-card--nearby {
    padding: 40px 28px;
  }
}
.nearby__list {
  padding-inline: 15px;
}
.nearby .stores-card__title {
  text-align: center;
}
@media (min-width: 768px) {
  .nearby .stores-card__title {
    font-size: 24px;
  }
}
.nearby .stores-card__hint {
  display: none;
}
.nearby .stores-card__tel {
  text-align: center;
  color: var(--t-black);
  font-size: 22px;
  letter-spacing: 0;
}
.nearby .stores-card__fax {
  text-align: center;
  font-size: 12px;
}
.nearby .store-hours__note {
  margin-top: 10px !important;
  font-size: 13px;
}
.nearby .stores-card__section-title {
  text-align: center;
  color: var(--orange);
  font-weight: 700;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
}
.nearby .stores-card__address {
  font-size: 15px;
}
.nearby .stores-card__maplink {
  display: none;
}
.nearby .stores-card__distance {
  font-size: 15px;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .nearby .stores-card__distance {
    margin-bottom: unset;
  }
}
.nearby .stores-cards__item--nearby {
  position: relative;
  z-index: 1;
  background-color: #fff;
}
.nearby .stores-cards__item--nearby::after {
  content: "";
  position: absolute;
  inset: 0;
  bottom: 88px;
  z-index: -1;
  pointer-events: none;
  transform: translate(12px, 12px);
  background-image: repeating-linear-gradient(-45deg, #fff7ed 0, #fff7ed 6px, transparent 0px, transparent 16px);
  filter: blur(0.2px);
}
.nearby .stores-cards.stores-cards--nearby {
  padding-top: unset !important;
}
@media (min-width: 768px) {
  .nearby .stores-cards.stores-cards--nearby {
    display: flex !important;
    flex-direction: column;
    row-gap: 60px;
    padding-top: unset !important;
  }
  .nearby .stores-cards.stores-cards--nearby .stores-card__section {
    padding-inline: unset !important;
  }
}
@media (min-width: 768px) {
  .nearby .store-head__inner {
    display: flex;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
  .nearby .store-head__inner > div {
    flex: 1 1 50%;
  }
  .nearby .store-head__inner .store-hours__cell.store-hours__dow {
    padding-right: 5px;
  }
  .nearby .store-head__inner .store-head__hours {
    margin-top: unset;
  }
  .nearby .store-head__inner .stores-card__section-title {
    text-align: start;
  }
}
@media (min-width: 768px) {
  .nearby .stores-card__title {
    text-align: left;
  }
  .nearby .stores-card__number {
    display: flex;
    align-items: baseline;
    gap: 30px;
  }
  .nearby .stores-card__tel {
    font-size: 22px;
  }
  .nearby .stores-card__section-title {
    text-align: left;
  }
  .nearby .stores-card__section {
    padding-inline: 37px;
  }
}
.nearby .nearby__back {
  display: flex;
  justify-content: center;
  margin-bottom: 53px;
}
@media (min-width: 768px) {
  .nearby .nearby__back {
    margin-bottom: 112px;
  }
}
.nearby .nearby__back .c-btn--primary {
  background-color: white !important;
  border: 1px solid var(--green);
  color: var(--green);
}
.nearby .nearby__back .c-btn--primary:hover {
  color: #fff;
}
.nearby .nearby__back .c-btn {
  padding-right: 26px;
}
.nearby .nearby__back .c-btn__ill {
  width: 24px !important;
  height: 24px !important;
}

@media (min-width: 768px) {
  .stores--search .stores-card__number,
  .stores--prefecture .stores-card__number {
    display: flex;
    -moz-column-gap: 24px;
         column-gap: 24px;
    align-items: baseline;
    flex-wrap: wrap;
  }
}

.l-store--search .stores__intro-title {
  color: var(--t-black);
  font-size: 28px;
}
@media (min-width: 1024px) {
  .l-store--search .stores__intro-title {
    font-size: 45px;
  }
}
.l-store--search .stores-area--search {
  background-color: #fff;
  margin-top: 60px;
  margin-bottom: 140px;
}
.l-store--search .stores-cards {
  padding: unset;
}
.l-store--search .stores-empty {
  padding: 40px 0 80px;
  margin-inline: 15px;
}
@media (min-width: 768px) {
  .l-store--search .stores-empty {
    padding: 60px 0 120px;
  }
}
.l-store--search .stores-empty__inner {
  max-width: 740px;
  margin-inline: auto;
  padding: 40px;
  background: #fff;
  border: 2px solid var(--green);
  border-radius: 16px;
  text-align: center;
}
.l-store--search .stores-empty__title {
  margin: 0 0 24px;
  font-weight: 700;
  letter-spacing: 0.2em;
  font-family: var(--font-round);
  color: var(--orange);
  font-size: 18px;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .l-store--search .stores-empty__title {
    font-size: 20px;
  }
}
.l-store--search .stores-empty__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0;
  color: var(--t-black);
  margin-bottom: 40px;
}
.l-store--search .stores-empty .c-btn__ill {
  width: 24px !important;
  height: 24px !important;
}

.p-news {
  padding: 60px 0 170px;
  margin-bottom: 50px;
  background-image: url("./img/page/news/bg_sp.webp");
  background-repeat: no-repeat;
  background-position: center calc(var(--hero-height, 300px) - 0px);
  background-size: 100% auto;
  background-attachment: fixed;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  .p-news {
    background-image: url("./img/page/news/bg_pc.webp");
    background-position: center calc(var(--hero-height, 300px) - 10px);
  }
}
@media (min-width: 768px) {
  .p-news {
    padding: 90px 0 90px;
    margin-bottom: 117px;
  }
}
.p-news__in {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 16px;
}
.p-news-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-news-list__item:not(:first-child) {
  border-top: 1px solid #d0d0d0;
}
.p-news-list__item:last-child {
  border-bottom: 1px solid #d0d0d0;
}
.p-news-list__link {
  display: flex;
  flex-direction: column;
  row-gap: 14px;
  align-items: baseline;
  color: inherit;
  text-decoration: none;
  padding: 26px 0;
  transition: background-color 0.22s ease-in;
}
@media (min-width: 768px) {
  .p-news-list__link {
    flex-direction: row;
    -moz-column-gap: 30px;
         column-gap: 30px;
    padding-inline: 40px;
  }
}
.p-news-list__link:hover {
  background-color: #fff;
}
.p-news-list__date {
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0;
}
.p-news-list__title {
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0;
}
.p-news .p-media__pagination {
  margin-top: 28px;
}
@media (min-width: 768px) {
  .p-news .p-media__pagination {
    margin-top: 34px;
  }
}
.p-news-detail {
  margin: 30px 0 53px;
}
@media (min-width: 768px) {
  .p-news-detail {
    margin: 90px 0 112px;
  }
}
.p-news-detail .l-container {
  max-width: 940px;
  position: relative;
}
.p-news-detail .l-container::before, .p-news-detail .l-container::after {
  content: "";
  top: 0;
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  height: -webkit-fill-available;
}
.p-news-detail .l-container::before {
  left: -208px;
  top: 200px;
  width: 148px;
  background-image: url("./img/page/news/news_ill_l.svg");
}
.p-news-detail .l-container::after {
  right: -108px;
  width: 65px;
  background-image: url("./img/page/news/news_ill_r.svg");
}
.p-news-detail .l-container > * {
  position: relative;
  z-index: 1;
}
.p-news-detail__card {
  border: 1px solid #a7b500;
  padding: 60px 30px;
}
@media (min-width: 1024px) {
  .p-news-detail__card {
    padding: 60px 112px;
  }
}
.p-news-detail__divider {
  height: 1px;
  width: 100%;
  background: rgba(0, 98, 64, 0.38);
  margin: 14px 0 16px;
}
@media (min-width: 768px) {
  .p-news-detail__divider {
    margin: 16px 0 18px;
  }
}
.p-news-detail__thumb {
  margin-top: 18px;
  background: #d9d9d9;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-news-detail__thumb {
    margin-top: 22px;
    aspect-ratio: 700/360;
  }
}
.p-news-detail__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.p-news-detail__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: baseline;
  margin: 0 0 14px;
}
@media (min-width: 768px) {
  .p-news-detail__meta {
    margin-bottom: 18px;
  }
}
.p-news-detail__date {
  line-height: 1.6;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .p-news-detail__date {
    margin-bottom: 20px;
  }
}
.p-news-detail__title,
.p-news-detail h1 {
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0;
  margin: 0 0 30px;
  padding: 10px 0;
  border-top: 2px solid #a7b500;
  border-bottom: 2px solid #a7b500;
  font-weight: 500;
}
@media (min-width: 768px) {
  .p-news-detail__title,
  .p-news-detail h1 {
    font-size: 32px;
    margin-bottom: 20px;
  }
}
.p-news-detail__content {
  line-height: 2.188;
  letter-spacing: 0;
}
.p-news-detail__content h2,
.p-news-detail__content h3,
.p-news-detail__content h4,
.p-news-detail__content h5 {
  letter-spacing: 0;
  margin: 0;
}
.p-news-detail__content h2 {
  position: relative;
  margin-top: 34px;
  margin-bottom: 18px;
  padding: 10px 30px 10px 20px;
  background: #fff;
  border-left: 10px solid #e78a18;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
  font-size: 20px;
  line-height: 1.8;
  font-weight: 500;
}
@media (min-width: 768px) {
  .p-news-detail__content h2 {
    font-size: 28px;
  }
}
.p-news-detail__content h3 {
  margin-top: 28px;
  margin-bottom: 14px;
  padding-left: 16px;
  border-left: 6px solid #e78a18;
  font-size: 17px;
  line-height: 1.7;
  font-weight: 600;
}
@media (min-width: 768px) {
  .p-news-detail__content h3 {
    margin-top: 34px;
    margin-bottom: 16px;
    font-size: 18px;
  }
}
.p-news-detail__content h4 {
  margin-top: 22px;
  margin-bottom: 12px;
  padding-bottom: 4px;
  border-bottom: 1px solid #a7b500;
  font-size: 16px;
  line-height: 1.7;
  font-weight: 600;
}
@media (min-width: 768px) {
  .p-news-detail__content h4 {
    margin-top: 26px;
    margin-bottom: 14px;
  }
}
.p-news-detail__content h5 {
  position: relative;
  margin-top: 18px;
  margin-bottom: 10px;
  padding-left: 1em;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 600;
}
.p-news-detail__content h5::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e78a18;
  transform: translateY(-50%);
}
.p-news-detail__content p {
  margin: 0 0 18px;
}
@media (min-width: 768px) {
  .p-news-detail__content p {
    margin-bottom: 20px;
  }
}
.p-news-detail__content a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.p-news-detail__content a:hover {
  text-decoration-thickness: 2px;
}
.p-news-detail__content a:focus-visible {
  outline: 2px solid rgba(167, 181, 0, 0.55);
  outline-offset: 2px;
  border-radius: 2px;
}
.p-news-detail__content ul,
.p-news-detail__content ol {
  margin: 0 0 18px;
  padding-left: 1.4em;
}
@media (min-width: 768px) {
  .p-news-detail__content ul,
  .p-news-detail__content ol {
    margin-bottom: 20px;
  }
}
.p-news-detail__content li {
  margin: 0.25em 0;
  line-height: 2;
}
.p-news-detail__content ul {
  list-style: disc;
}
.p-news-detail__content ol {
  list-style: decimal;
}
.p-news-detail__content blockquote {
  margin: 22px 0;
  padding: 14px 16px;
  border-left: 4px solid rgba(167, 181, 0, 0.7);
  background: rgba(0, 98, 64, 0.04);
}
@media (min-width: 768px) {
  .p-news-detail__content blockquote {
    margin: 26px 0;
    padding: 16px 20px;
  }
}
.p-news-detail__content blockquote > :last-child {
  margin-bottom: 0;
}
.p-news-detail__content hr {
  border: 0;
  height: 1px;
  background: rgba(0, 98, 64, 0.2);
  margin: 26px 0;
}
@media (min-width: 768px) {
  .p-news-detail__content hr {
    margin: 32px 0;
  }
}
.p-news-detail__content table {
  width: 100%;
  border-collapse: collapse;
  margin: 22px 0;
  font-size: 14px;
  line-height: 1.8;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 768px) {
  .p-news-detail__content table {
    display: table;
    overflow-x: visible;
    font-size: 15px;
  }
}
.p-news-detail__content th,
.p-news-detail__content td {
  border: 1px solid rgba(0, 98, 64, 0.18);
  padding: 10px 12px;
  vertical-align: top;
}
.p-news-detail__content th {
  background: rgba(0, 98, 64, 0.06);
  font-weight: 600;
}
.p-news-detail__content .wp-block-button__link.wp-element-button {
  background: var(--orange);
  color: #fff;
  border-radius: 999px;
  border: none;
  box-shadow: none;
  font-weight: 700;
  padding: 14px 26px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.p-news-detail__content .wp-block-button__link.wp-element-button:hover {
  filter: brightness(0.95);
}
.p-news-detail__content .wp-block-table.store-info-table {
  border: 1px solid rgba(217, 96, 40, 0.35);
  border-radius: 0;
}
.p-news-detail__content .wp-block-table.store-info-table table {
  margin: 0;
  display: table;
  width: 100%;
  border-collapse: collapse;
}
.p-news-detail__content .wp-block-table.store-info-table th,
.p-news-detail__content .wp-block-table.store-info-table td {
  border: 1px solid rgba(217, 96, 40, 0.22);
  padding: 12px 14px;
  vertical-align: middle;
  background: #fff;
  color: var(--text);
  font-weight: 500;
}
.p-news-detail__content .wp-block-table.store-info-table th {
  width: 7em;
  white-space: nowrap;
  background: rgba(217, 96, 40, 0.1);
  color: var(--t-black);
  font-weight: 700;
}
.p-news-detail__content .wp-block-table.time-table {
  border: 1px solid rgba(217, 96, 40, 0.35);
  border-radius: 0;
}
.p-news-detail__content .wp-block-table.time-table table {
  margin: 0;
  width: 100%;
  border-collapse: collapse;
}
.p-news-detail__content .wp-block-table.time-table th,
.p-news-detail__content .wp-block-table.time-table td {
  border: 1px solid rgba(217, 96, 40, 0.22);
  padding: 10px 10px;
  text-align: center;
  vertical-align: middle;
  background: #fff;
  color: var(--text);
}
.p-news-detail__content .wp-block-table.time-table thead th {
  background: rgba(217, 96, 40, 0.1);
  color: var(--t-black);
  font-weight: 700;
}
.p-news-detail__content .wp-block-table.time-table tbody td:first-child,
.p-news-detail__content .wp-block-table.time-table tbody th:first-child {
  background: rgba(217, 96, 40, 0.1);
  color: var(--t-black);
  font-weight: 700;
  white-space: nowrap;
  text-align: left;
}
.p-news-detail__content .wp-block-table.time-table .cal--open {
  color: var(--orange);
  font-weight: 800;
}
.p-news-detail__content .wp-block-table.time-table .cal--half {
  color: var(--yellow);
  font-weight: 800;
}
.p-news-detail__content .wp-block-table.time-table .cal--close {
  color: #e53935;
  font-weight: 800;
}
.p-news-detail__content .is-red {
  color: #e53935;
  font-weight: 800;
}
.p-news-detail__content figure {
  margin: 22px 0;
}
@media (min-width: 768px) {
  .p-news-detail__content figure {
    margin: 28px 0;
  }
}
.p-news-detail__content figcaption {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.7);
}
.p-news-detail__content .wp-caption {
  max-width: 100%;
  margin: 22px auto;
}
@media (min-width: 768px) {
  .p-news-detail__content .wp-caption {
    margin: 28px auto;
  }
}
.p-news-detail__content .wp-caption img {
  margin: 0 auto;
}
.p-news-detail__content .wp-caption .wp-caption-text {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.7);
}
.p-news-detail__content img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 22px auto;
}
@media (min-width: 768px) {
  .p-news-detail__content img {
    margin: 28px auto;
  }
}
.p-news-detail__content > *:first-child {
  margin-top: 0;
}
.p-news-detail__content > *:last-child {
  margin-bottom: 0;
}
.p-news-detail__body > *:first-child {
  margin-top: 0;
}
.p-news-detail__body > *:last-child {
  margin-bottom: 0;
}
.p-news-detail__body img {
  max-width: 100%;
  height: auto;
  display: block;
}
.p-news-detail__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-news-detail__nav {
    margin-top: 32px;
    padding-top: 18px;
  }
}
.p-news-detail__nav a {
  text-decoration: none;
  display: flex;
  align-items: center;
  -moz-column-gap: 5px;
       column-gap: 5px;
}
.p-news-detail__nav a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.p-news-detail__nav .is-prev,
.p-news-detail__nav .is-next {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  line-height: 1.6;
}
.p-news-detail__nav-icon {
  display: inline-flex;
  align-items: center;
}
.p-news-detail__nav-icon img {
  width: 5px;
  height: auto;
  display: block;
  padding-top: 2px;
}
.p-news-detail__back {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .p-news-detail__back {
    margin-top: 22px;
  }
}
.p-news-detail__back .c-btn {
  min-width: 200px;
  padding-inline: 26px;
}
.p-news-detail__back .c-btn__ill.is-arrow {
  margin-left: 10px;
}
.p-news-detail__footer {
  display: flex;
  justify-content: center;
}
.p-news .p-media__pagination {
  margin-inline: auto;
  margin-top: 34px;
}
@media (min-width: 768px) {
  .p-news .p-media__pagination {
    margin-top: 44px;
  }
}
.p-news .p-media__pagination .page-numbers {
  gap: 22px;
  justify-content: space-between;
  font-size: 15px !important;
}
@media (min-width: 768px) {
  .p-news .p-media__pagination .page-numbers {
    gap: 40px;
  }
}

.p-breadcrumb,
.c-breadcrumb,
.breadcrumb,
.yoast-breadcrumb {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
}
/* ============================================
  404
============================================ */
.p-404 {
  padding: 48px 20px 80px;
}
@media (min-width: 768px) {
  .p-404 {
    padding: 64px 24px 96px;
  }
}
.p-404__inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 32px 0 0;
  position: relative;
}
.p-404__inner::before {
  content: "404";
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 72px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: rgba(0, 0, 0, 0.06);
  line-height: 1;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media (min-width: 768px) {
  .p-404__inner::before {
    top: -26px;
    font-size: 92px;
  }
}
.p-404__lead {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .p-404__lead {
    font-size: 16px;
  }
}
.p-404__actions {
  margin-top: 24px;
  display: grid;
  gap: 12px;
}
@media (min-width: 768px) {
  .p-404__actions {
    margin-top: 32px;
    display: flex;
    justify-content: center;
    gap: 16px;
  }
}
.p-404__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s ease;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
}
@media (min-width: 768px) {
  .p-404__btn {
    width: auto;
    min-width: 220px;
  }
}
.p-404__btn:hover {
  opacity: 0.88;
}
.p-404__btn--primary {
  background: var(--green, #006240);
  color: #fff;
}
.p-404__btn--ghost {
  border: 1px solid var(--green, #006240);
  color: var(--green, #006240);
  background: #fff;
  box-shadow: none;
}
.p-404__links {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
@media (min-width: 768px) {
  .p-404__links {
    margin-top: 32px;
  }
}
.p-404__links-title {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
}
.p-404__links-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  justify-items: center;
}
.p-404__links-list a {
  display: inline-block;
  text-decoration: none;
  color: var(--green, #006240);
  font-weight: 700;
  position: relative;
  padding: 6px 10px;
  border-radius: 999px;
  transition: background 0.2s ease, color 0.2s ease;
}
.p-404__links-list a:hover {
  text-decoration: none;
  background: rgba(0, 98, 64, 0.08);
}/*# sourceMappingURL=style.css.map */