@charset "UTF-8";
@layer reset {
  *, *::before, *::after {
    box-sizing: border-box;
  }
  /* 2. デフォルトの余白を削除 */
  * {
    margin: 0;
  }
  /* 3. 本文の行間を整え、フォントのレンダリングを滑らかにする */
  body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }
  /* 4. メディア要素（画像など）がはみ出さないようにし、ブロック要素化する */
  img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
  }
  /* 5. フォーム要素が親のフォント設定を無視するのを防ぐ */
  input, button, textarea, select {
    font: inherit;
  }
  /* 6. 長い単語が画面からはみ出して横スクロールが出るのを防ぐ */
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
  }
  /* 7. ルート（#rootや#__nextなど）にスタック文脈を作成する（Reactなどのフレームワーク用） */
  #root, #__next {
    isolation: isolate;
  }
  html[lang=ar] {
    direction: rtl;
  }
  article, aside, details, figcaption, figure,
  footer, header, hgroup, menu, nav, section, main {
    display: block;
  }
  strong {
    font-weight: bold;
  }
  html {
    overflow-y: scroll;
    scroll-padding-block-start: 72px;
  }
  img {
    vertical-align: top;
    max-inline-size: 100%;
  }
}
:root {
  --min-viewport-width: 320px;
  --max-viewport-width: calc(1480px + (var(--space-48) * 2));
  --max-content-width: calc(980px + (var(--space-24) * 2));
  --font-primary: "Noto Sans JP", sans-serif;
  --font-secondary: "Manrope", sans-serif;
  --font-tertiary: "Allura", cursive;
  --font-accent: "Moon Dance", cursive;
  --txt-color: #3A3A3A;
  --link-color: #275DED;
  --link-color-bg: #D2DEFD;
  --white-color: #FFF;
  --theme-color: #FFEBEB;
  --theme-color-sub: #F9A5BD;
  --accent-color: #D95675;
  --gray-color: #FFF8F6;
  --gray-color-2: #DBD3D1;
  --gray-color-3: #81716E;
  --gray-color-4: #D9D9D9;
  --opacity-0: rgba(255, 255, 255, 0);
  --footer-color: #552C21;
  --line-color: #00B900;
  --black-color: #000;
  --rounded-full: calc(infinity * 1px);
  --rem: 1rem / 16;
  --space-4: calc(4 * var(--rem));
  --space-6: calc(6 * var(--rem));
  --space-8: calc(8 * var(--rem));
  --space-10: calc(10 * var(--rem));
  --space-12: calc(12 * var(--rem));
  --space-16: calc(16 * var(--rem));
  --space-18: calc(18 * var(--rem));
  --space-20: calc(20 * var(--rem));
  --space-24: calc(24 * var(--rem));
  --space-28: calc(28 * var(--rem));
  --space-32: calc(32 * var(--rem));
  --space-36: calc(36 * var(--rem));
  --space-40: calc(40 * var(--rem));
  --space-44: calc(44 * var(--rem));
  --space-48: calc(48 * var(--rem));
  --space-56: calc(56 * var(--rem));
  --space-64: calc(64 * var(--rem));
  --space-72: calc(72 * var(--rem));
  --space-80: calc(80 * var(--rem));
  --space-104: calc(104 * var(--rem));
  --em: 1em / 16;
  --space-4-em: calc(4 * var(--em));
  --space-8-em: calc(8 * var(--em));
  --space-12-em: calc(12 * var(--em));
  --space-16-em: calc(16 * var(--em));
  --space-18-em: calc(18 * var(--em));
  --space-20-em: calc(20 * var(--em));
  --space-24-em: calc(24 * var(--em));
  --space-32-em: calc(32 * var(--em));
  --space-40-em: calc(40 * var(--em));
  --space-48-em: calc(48 * var(--em));
  --space-56-em: calc(56 * var(--em));
  --space-64-em: calc(64 * var(--em));
  --space-72-em: calc(72 * var(--em));
  --space-80-em: calc(80 * var(--em));
  --fontsize-base: 16;
  --font-value: calc(var(--fontsize-base) * var(--em));
  --font-size-10: calc(10 / var(--fontsize-base) * var(--font-value));
  --font-size-12: calc(12 / var(--fontsize-base) * var(--font-value));
  --font-size-14: calc(14 / var(--fontsize-base) * var(--font-value));
  --font-size-16: var(--font-value);
  --font-size-18: calc(18 / var(--fontsize-base) * var(--font-value));
  --font-size-20: calc(20 / var(--fontsize-base) * var(--font-value));
  --font-size-22: calc(22 / var(--fontsize-base) * var(--font-value));
  --font-size-24: calc(24 / var(--fontsize-base) * var(--font-value));
  --font-size-26: calc(26 / var(--fontsize-base) * var(--font-value));
  --font-size-28: calc(28 / var(--fontsize-base) * var(--font-value));
  --font-size-30: calc(30 / var(--fontsize-base) * var(--font-value));
  --font-size-32: calc(32 / var(--fontsize-base) * var(--font-value));
  --font-size-36: calc(36 / var(--fontsize-base) * var(--font-value));
  --font-size-40: calc(40 / var(--fontsize-base) * var(--font-value));
  --font-size-48: calc(48 / var(--fontsize-base) * var(--font-value));
  --font-size-56: calc(56 / var(--fontsize-base) * var(--font-value));
  --font-size-64: calc(64 / var(--fontsize-base) * var(--font-value));
  /* ratio */
  --tracking-unit: 0.1em;
  /* value */
  --tracking-value-0: 0; /* 0 (0) */
  --tracking-value-1: 0.1; /* 0.01em (1%) */
  --tracking-value-2: 0.2; /* 0.02em (2%) */
  --tracking-value-3: 0.3; /* 0.03em (3%) */
  --tracking-value-4: 0.4; /* 0.04em (4%) */
  --tracking-value-5: 0.5; /* 0.05em (5%) */
  --tracking-value-6: 0.6; /* 0.06em (6%) */
  --tracking-value-7: 0.7; /* 0.07em (7%) */
  --tracking-value-8: 0.8; /* 0.08em (8%) */
  --tracking-value-9: 0.9; /* 0.09em (9%) */
  --tracking-value-10: 1; /* 0.1em (10%) */
  /* property */
  --tracking-0: calc(var(--tracking-value-0) * var(--tracking-unit));
  --tracking-1: calc(var(--tracking-value-1) * var(--tracking-unit));
  --tracking-2: calc(var(--tracking-value-2) * var(--tracking-unit));
  --tracking-3: calc(var(--tracking-value-3) * var(--tracking-unit));
  --tracking-4: calc(var(--tracking-value-4) * var(--tracking-unit));
  --tracking-5: calc(var(--tracking-value-5) * var(--tracking-unit));
  --tracking-6: calc(var(--tracking-value-6) * var(--tracking-unit));
  --tracking-7: calc(var(--tracking-value-7) * var(--tracking-unit));
  --tracking-8: calc(var(--tracking-value-8) * var(--tracking-unit));
  --tracking-9: calc(var(--tracking-value-9) * var(--tracking-unit));
  --tracking-10: calc(var(--tracking-value-10) * var(--tracking-unit));
  /* Elevation */
  --elevation-01: 0px 2px 8px 1px rgba(0, 0, 0, 0.1), 0px 1px 5px 0px rgba(0, 0, 0, 0.3);
  --elevation-02: 0px 2px 12px 2px rgba(0, 0, 0, 0.1), 0px 1px 6px 0px rgba(0, 0, 0, 0.3);
  --elevation-03: 0px 4px 16px 3px rgba(0, 0, 0, 0.1), 0px 1px 6px 0px rgba(0, 0, 0, 0.3);
  --elevation-04: 0px 6px 20px 4px rgba(0, 0, 0, 0.1), 0px 2px 6px 0px rgba(0, 0, 0, 0.3);
  --elevation-05: 0px 8px 24px 5px rgba(0, 0, 0, 0.1), 0px 2px 10px 0px rgba(0, 0, 0, 0.3);
  --elevation-06: 0px 10px 30px 6px rgba(0, 0, 0, 0.1), 0px 3px 12px 0px rgba(0, 0, 0, 0.3);
  --elevation-07: 0px 12px 36px 7px rgba(0, 0, 0, 0.1), 0px 3px 14px 0px rgba(0, 0, 0, 0.3);
  --elevation-08: 0px 14px 40px 7px rgba(0, 0, 0, 0.1), 0px 3px 16px 0px rgba(0, 0, 0, 0.3);
  --header-size:
    calc(
      var(--space-8) /* ヘッダー上下余白 */
      + var(--font-size-36) /* 電話番号 */
      + var(--space-8) /* ヘッダー中間余白 */
      + var(--space-48) /* メニューボタン高さ */
    ) ;
}
:root body.sub {
  --header-size:
    calc(
      85 * var(--rem)
    ) ;
}
@media screen and (max-width: 980px) {
  :root body.sub {
    --header-size:
      calc(69 * var(--rem));
  }
}
@media screen and (max-width: 480px) {
  :root body.sub {
    --header-size:
      calc(64 * var(--rem));
  }
}
:root {
  --container-content: calc(1480px + calc(var(--space-48) * 2));
  --content-wrapper: calc(var(--content-width) + calc(var(--space-16) * 2));
  --content-wrapper-PC: calc(1200px + calc(var(--space-48) * 2));
  --content-wrapper-L: calc($content-width-tab + calc(var(--space-16) * 2));
  --content-wrapper-s: calc(784px + calc(var(--space-16) * 2));
  --delay: .2s;
  --hover-anm: all .2s ease 0s;
  --anm-time: .8s;
  --scroll-anm: all var(--anm-time) .1s;
  --scroll-anm--delay-1: all var(--anm-time) calc(.1s + var(--delay));
  --scroll-anm--delay-2: all var(--anm-time) calc(.1s + (var(--delay) * 2));
  --scroll-anm--delay-3: all var(--anm-time) calc(.1s + (var(--delay) * 3));
  --scroll-anm--delay-4: all var(--anm-time) calc(.1s + (var(--delay) * 4));
  --shape-triangle-right: polygon(0 0, 100% 50%, 0 100%);
  --shape-triangle-bottom: polygon(0 0, 100% 0%, 50% 100%);
  --section-radius: calc(32 * var(--em));
}

@media screen and (max-width: 784px) {
  :root {
    --section-radius: calc(16 * var(--em));
  }
}
:where(.visually-hidden) {
  position: absolute !important;
  inset-inline-start: 0px !important;
  inset-block-start: 0px !important;
  width: 4px !important;
  height: 4px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: block;
  visibility: visible;
}

@media screen and (max-width: 784px) {
  html.open-menu {
    overflow: hidden;
  }
}

body {
  position: relative;
  line-height: 1.5;
  min-inline-size: 320px;
  background: var(--white-color);
  color: var(--txt-color);
  font-family: var(--font-primary);
  background: var(--white-color);
}
body.sub {
  padding-block-start: calc(var(--header-size) + var(--space-72));
}

a {
  color: var(--link-color);
  text-decoration: underline;
  transition: var(--hover-anm);
}
a:hover {
  opacity: 0.8;
}

.word-wrap {
  display: inline-block;
}

.btn {
  display: inline-block;
  vertical-align: top;
  overflow: hidden;
  line-height: 1.5;
  padding-inline: var(--space-8);
  padding-block: var(--space-4);
  background: var(--gray-color);
  border-radius: var(--rounded-full);
  color: var(--txt-color);
  text-decoration: none;
  transition: var(--hover-anm);
  outline: calc(2 * var(--rem)) var(--opacity-0) solid;
  outline-offset: calc(-1 * var(--rem));
}
.btn:hover {
  outline-color: var(--link-color);
  background-color: var(--link-color-bg);
  opacity: 1;
}
.btn--link {
  background-color: var(--link-color);
  color: var(--white-color);
}
.btn--link:hover {
  background-color: var(--white-color);
  color: var(--link-color);
  outline-color: var(--link-color);
}
.btn--accent {
  background-color: var(--accent-color);
  color: var(--white-color);
}
.btn--accent:hover {
  background-color: var(--white-color);
  color: var(--accent-color);
  outline-color: var(--accent-color);
}

.link-arrow {
  display: inline-block;
  position: relative;
  inline-size: calc(28 * var(--rem));
  block-size: calc(8 * var(--rem));
}
.link-arrow::before, .link-arrow::after {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inline-size: 100%;
  inset-block-end: 0;
  block-size: calc(2 * var(--rem));
  background: var(--black-color);
}
.link-arrow::after {
  inline-size: calc(8 * var(--rem));
  inset-inline-start: calc(16 * var(--rem));
  transform: rotate(45deg) translate(0, calc(-5 * var(--rem)));
}

.link-right-arrow {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  place-items: center;
  gap: var(--space-16);
  padding-inline: var(--space-8);
  color: currentColor;
  text-decoration: none;
}
.link-right-arrow__label[lang=en]::first-letter {
  text-transform: capitalize;
}
.link-right-arrow__arrow {
  inline-size: calc(24 * var(--rem));
  aspect-ratio: 3/1;
  background: url(../img/icon_arrow.png) left top no-repeat;
  background-size: contain;
  transition: var(--hover-anm);
}
.link-right-arrow:hover .link-right-arrow__arrow {
  transform: translateX(calc(4 * var(--rem)));
}

.center-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-8);
  margin-block: var(--space-72) var(--space-48);
  font-weight: normal;
  font-size: var(--font-size-32);
  text-align: center;
}
@media screen and (max-width: 784px) {
  .center-ttl {
    margin-block: var(--space-64) var(--space-24);
    font-size: clamp(20px, 4.2vw, 28px);
  }
}
.center-ttl::before, .center-ttl::after {
  content: "";
  display: block;
  inline-size: calc(32 * var(--rem));
  block-size: calc(2 * var(--rem));
  background-color: var(--theme-color-sub);
}

.section-ttl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: var(--space-40);
  padding-inline: var(--space-32);
  border-block-start: 1px var(--theme-color-sub) solid;
}
@media screen and (max-width: 784px) {
  .section-ttl {
    padding-block: var(--space-24);
    padding-inline: var(--space-24);
  }
}
@media screen and (max-width: 480px) {
  .section-ttl {
    display: block;
    padding-inline: var(--space-16);
  }
  .section-ttl .link-right-arrow {
    display: grid;
    inline-size: fit-content;
    margin-left: auto;
    margin-block-start: var(--space-16);
  }
}

.left-ttl {
  position: relative;
  inline-size: fit-content;
  padding-inline-end: var(--space-48);
  font-size: var(--font-size-32);
  font-weight: normal;
}
@media screen and (max-width: 784px) {
  .left-ttl {
    font-size: clamp(var(--font-size-20), 4.2vw, var(--font-size-28));
  }
}
.left-ttl::after {
  content: "";
  position: absolute;
  inset-inline-end: 0;
  inset-block: 0;
  inline-size: calc(4 * var(--rem));
  block-size: calc(32 * var(--rem));
  margin-block: auto;
  background: var(--theme-color-sub);
}
@media screen and (max-width: 480px) {
  .left-ttl::after {
    block-size: 80%;
  }
}

.header {
  position: fixed;
  inset-block-start: 0;
  inset-inline-start: 0;
  z-index: 1000;
  gap: var(--space-16);
  inline-size: 100%;
  padding-inline: var(--space-16);
  padding-block: var(--space-8);
}
@media screen and (max-width: 480px) {
  .header {
    padding: var(--space-8);
  }
}
.header::after {
  content: "";
  display: block;
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  z-index: -1;
  inline-size: 100%;
  block-size: 100%;
  background-color: var(--white-color);
  opacity: 0.56;
}
.header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .header__inner {
    gap: var(--space-8);
  }
}
.header__logo {
  max-inline-size: calc(208 * var(--rem));
}
@media screen and (max-width: 480px) {
  .header__logo {
    inline-size: 50vw;
  }
}
.header__logo a {
  display: block;
}
.header__logo a:hover {
  opacity: 1;
}
.header__nav {
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: flex-end;
  gap: var(--space-8) var(--space-16);
  align-items: center;
}
@media screen and (max-width: 480px) {
  .header__nav {
    gap: var(--space-8);
  }
}
.header__phone {
  grid-column: 1/3;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--space-8);
  font-weight: 500;
  font-size: var(--font-size-24);
}
.header__phone svg {
  inline-size: 1em;
  block-size: auto;
  color: var(--txt-color);
}
@media screen and (max-width: 480px) {
  .header__phone {
    font-size: clamp(var(--font-size-12), 5vw, var(--font-size-24));
  }
}

.nav-global-list {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-16);
  padding: unset;
}
@media screen and (max-width: 1480px) {
  .nav-global-list__item:not(.nav-global-list__item--cta) {
    display: none;
  }
}
@media screen and (max-width: 784px) {
  .nav-global-list__item--cta + .nav-global-list__item--cta {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .nav-global-list__item {
    font-size: clamp(var(--font-size-12), 3.5vw, var(--font-size-16));
  }
}

.btn-menu {
  --border-height: calc(2 * var(--rem));
  --border-width: 100%;
  --border-raound: calc(1 * var(--rem));
  --border-color: var(--black-color);
  display: grid;
  position: relative;
  z-index: 999;
  background: none;
  border: none;
  gap: calc(4 * var(--rem));
  inline-size: calc(40 * var(--rem));
  padding: unset;
  cursor: pointer;
}
.btn-menu::before, .btn-menu__inner, .btn-menu::after {
  content: "";
  display: block;
  inline-size: var(--border-width);
  block-size: var(--border-height);
  border-radius: var(--border-raound);
  background-color: var(--black-color);
  transition: var(--hover-anm);
}
.btn-menu__label {
  order: 4;
  line-height: 1;
  margin-inline: auto;
  font-size: var(--font-size-12);
  text-transform: uppercase;
  transition: var(--hover-anm);
}
.btn-menu[aria-expanded=true]::before {
  transform: rotate(32deg) translate(3px, 5px);
}
.btn-menu[aria-expanded=true]::after {
  transform: rotate(-32deg) translate(3px, -5px);
}
.btn-menu[aria-expanded=true] .btn-menu__inner {
  opacity: 0;
  transform: rotate(32deg) translate(3px, 5px);
}
.btn-menu[aria-expanded=true] .btn-menu__label {
  opacity: 0;
}

.drawer {
  position: fixed;
  inset-inline-start: 100%;
  inset-block-start: var(--space-8);
  z-index: 989;
  inline-size: var(--min-viewport-width);
  block-size: calc(100vh - 8 * var(--rem));
  padding: var(--space-24);
  border-radius: calc(4 * var(--rem));
  background: var(--gray-color);
  transition: all 0.3s ease 0s;
}
.drawer-menu__list {
  list-style: none;
  margin: unset;
  padding: unset;
}
.drawer-menu__item {
  margin-block: var(--space-16);
}
.drawer-menu__link {
  color: currentColor;
  text-decoration: none;
}
.drawer-contact__list {
  list-style: none;
  display: grid;
  gap: var(--space-16);
  position: absolute;
  inset-block-end: var(--space-24);
  inset-inline-start: var(--space-24);
  margin: unset;
  padding: unset;
}
.drawer-contact__link:not(.btn--accent) {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  border: 1px var(--link-color) solid;
  background-color: var(--white-color);
}
.drawer-contact__link:not(.btn--accent) img {
  inline-size: calc(24 * var(--rem));
}
.open-menu .drawer {
  transform: translate(calc(-1 * (var(--min-viewport-width) + var(--space-8))));
}

.article-img-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, calc(336 * var(--rem)));
  gap: var(--space-24);
  padding-block: var(--space-44);
}
@media screen and (max-width: 784px) {
  .article-img-list {
    grid-template-columns: 1fr;
  }
}
.article-img-list__item {
  display: grid;
  grid-template-rows: repeat(4, auto) 1fr;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: flex-start;
}
.article-img-list__ttl {
  order: 3;
  inline-size: 100%;
}
.article-img-list__link {
  display: block;
  color: currentColor;
  text-decoration: none;
}
@media screen and (max-width: 784px) {
  .article-img-list__link {
    display: grid;
    grid-template-columns: minmax(0, min(40%, 240 * var(--rem))) 1fr;
    align-items: center;
  }
}
.article-img-list__link:hover, .article-img-list__link:focus-within {
  opacity: 1;
}
.article-img-list__img {
  display: block;
  inline-size: 100%;
  aspect-ratio: 1.6/1;
  overflow: hidden;
  border-radius: calc(8 * var(--rem));
}
.article-img-list__img img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transition: var(--hover-anm);
}
.article-img-list__link:hover .article-img-list__img img, .article-img-list__link:focus-within .article-img-list__img img {
  transform: scale(1.1);
}
.article-img-list__ttl-label {
  display: block;
  margin-block-start: var(--space-8);
  padding-inline: var(--space-16);
  font-weight: bold;
}
.article-img-list__info {
  display: flex;
  justify-content: space-between;
  order: 1;
  inline-size: 100%;
}
.article-img-list__info time {
  font-size: var(--font-size-12);
}
.article-img-list__category {
  order: 2;
  display: grid;
  place-content: center;
  padding-inline: var(--space-8);
  background-color: var(--gray-color-3);
  color: var(--white-color);
  font-size: var(--font-size-12);
}
.article-img-list__sub-info {
  order: 4;
  inline-size: 100%;
  padding-inline: var(--space-16);
  color: var(--gray-color-3);
}
.article-img-list__foot-link {
  order: 5;
  inline-size: 100%;
  margin-block-end: auto;
  text-align: right;
}

.article-list {
  list-style: none;
  margin: unset;
  padding: unset;
}
.article-list__item {
  padding: var(--space-16);
}
.article-list__item + .article-list__item {
  border-block-start: 1px var(--black-color) solid;
}
.article-list__link {
  display: grid;
  grid-template-columns: calc(224 * var(--rem)) 1fr;
  align-items: center;
  gap: var(--space-24);
  color: currentColor;
  text-decoration: none;
}
@media screen and (max-width: 784px) {
  .article-list__link {
    grid-template-columns: minmax(0, min(40%, 240 * var(--rem))) 1fr;
    gap: var(--space-16);
  }
}
.article-list__img {
  overflow: hidden;
}
.article-list__img img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transition: var(--hover-anm);
}
.article-list__link:hover .article-list__img img, .article-list__link:focus-within .article-list__img img {
  transform: scale(1.1);
}
.article-list__time {
  font-size: var(--font-size-12);
}
.article-list__ttl {
  margin-block-start: var(--space-4);
}
.article-list__category {
  display: inline-block;
  padding-inline: var(--space-8);
  background-color: var(--theme-color-sub);
  color: var(--black-color);
  font-size: var(--font-size-12);
}

.category-list {
  list-style: none;
  display: grid;
  gap: var(--space-24);
  margin: unset;
  padding: unset;
}
.category-list__item {
  padding-inline-start: var(--space-36);
}
.category-list__link {
  display: inline-block;
  position: relative;
  color: currentColor;
  text-decoration: none;
}
.category-list__link::before {
  content: "";
  position: absolute;
  inset-inline-start: calc(-1 * var(--space-36));
  inset-block: 0;
  inline-size: calc(32 * var(--rem));
  block-size: calc(2 * var(--rem));
  margin-block: auto;
  background-color: var(--theme-color-sub);
  transition: var(--hover-anm);
}
.category-list__link::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline-start: 0;
  inline-size: 0;
  block-size: calc(2 * var(--rem));
  background: var(--theme-color-sub);
  transition: all 0.2s ease 0.2s;
}
.category-list__link:hover, .category-list__link:focus-within {
  opacity: 1;
}
.category-list__link:hover::before, .category-list__link:focus-within::before {
  inline-size: calc(12 * var(--rem));
  inset-inline-start: calc(-1 * var(--space-16));
}
.category-list__link:hover::after, .category-list__link:focus-within::after {
  inline-size: 100%;
}

.map-wrapper {
  position: relative;
  inline-size: 100%;
  aspect-ratio: 2.37/1;
  max-block-size: 560px;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .map-wrapper {
    aspect-ratio: 1/1;
  }
}
.map-wrapper iframe {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 100%;
  block-size: 100%;
}

.topic-pass {
  max-inline-size: var(--max-viewport-width);
  margin-inline: auto;
  padding-inline: var(--space-48);
}
.topic-pass__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--space-8) var(--space-24);
  padding: unset;
}
.topic-pass__item + .topic-pass__item {
  position: relative;
  padding-inline-start: var(--space-12);
}
.topic-pass__item + .topic-pass__item::before {
  --arrow-size: calc(4 * var(--rem));
  content: "";
  position: absolute;
  inset-block: 0;
  inset-inline-start: calc(-14 * var(--rem));
  inline-size: var(--arrow-size);
  block-size: var(--arrow-size);
  margin: auto;
  border: 1px var(--txt-color) solid;
  border-inline-start: none;
  border-block-end: none;
  transform: rotate(45deg);
}
.topic-pass__label {
  color: var(--gray-color-3);
  text-decoration: none;
}
.topic-pass__label--current {
  color: var(--txt-color);
}

.sub-container {
  max-inline-size: var(--max-viewport-width);
  margin-inline: auto;
  margin-block-start: var(--space-32);
  padding-inline: var(--space-48);
}
@media screen and (max-width: 784px) {
  .sub-container {
    padding-inline: var(--space-16);
  }
}
.sub-container__head--has-thumbnail {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
}
@media screen and (max-width: 784px) {
  .sub-container__head--has-thumbnail {
    display: block;
  }
}
.sub-container__head--has-thumbnail .sub-container__head-inner {
  grid-column: 5/-1;
}
.sub-container__thumbnail {
  padding-block-end: var(--space-24);
  grid-column: span 3;
}
.sub-container__thumbnail img {
  inline-size: 100%;
  block-size: auto;
  object-fit: contain;
}
.sub-container__ttl {
  margin-block-end: var(--space-48);
  font-size: 100%;
}
@media screen and (max-width: 784px) {
  .sub-container__ttl {
    margin-block: var(--space-24);
  }
}
.sub-container__ttl-contentsname {
  display: block;
  inline-size: fit-content;
  margin-block-end: var(--space-48);
}
@media screen and (max-width: 784px) {
  .sub-container__ttl-contentsname {
    margin-block-end: var(--space-24);
  }
}
.sub-container__ttl-label {
  font-size: var(--font-size-32);
}
.sub-container__body {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
}
@media screen and (max-width: 784px) {
  .sub-container__body {
    display: block;
  }
}
.sub-container__side {
  grid-column: span 3;
  height: 100%;
}
.sub-container__main {
  grid-column: 1/-1;
}
.sub-container__body--has-side .sub-container__main {
  grid-column: 5/-1;
}

.toc {
  position: sticky;
  inset-block-start: calc(var(--header-size) + var(--space-24));
  margin-block-end: var(--space-24);
  padding: var(--space-16);
  padding-block-end: var(--space-24);
  background: var(--gray-color-4);
}
@media screen and (max-width: 784px) {
  .toc {
    margin-block-end: var(--space-48);
  }
}
.toc__ttl {
  text-box-trim: trim-both;
  font-size: var(--font-size-24);
  text-transform: capitalize;
}
.toc__list {
  padding: unset;
  padding-inline-start: 1.5em;
}
.toc__item {
  margin-block-start: 0.5lh;
}
.toc__link {
  color: var(--black-color);
  text-decoration: none;
}

.pagetop {
  display: grid;
  grid-template-columns: auto calc(16 * var(--rem));
  align-items: center;
  gap: var(--space-8);
  position: fixed;
  z-index: 979;
  inset-block-end: var(--space-16);
  inset-inline-end: var(--space-16);
  color: currentColor;
  text-decoration: none;
}
.pagetop__label {
  font-weight: bold;
}
.pagetop svg {
  color: currentColor;
  inline-size: var(--font-size-16);
}
.pagetop.in-footer {
  color: var(--white-color);
}

.scroll.slideup {
  opacity: 0;
  transform: translate(0, 24px);
  transition: all 0.4s ease-out 0s;
}
.scroll.slideup[data-flg=true] {
  opacity: 1;
  transform: translate(0, 0);
}

.entry-thumbnail {
  margin-block-end: var(--space-40);
  text-align: center;
}
.entry-thumbnail img {
  box-shadow: var(--elevation-04);
}

.author {
  margin-block: var(--space-48) var(--space-32);
  background: var(--gray-color-2);
  padding-block: var(--space-16);
  border-block-start: 2px var(--theme-color) solid;
}
.author__head {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: var(--space-16);
  padding: var(--space-16);
}
.author__img-wrap {
  overflow: hidden;
  border-radius: var(--rounded-full);
  border: 2px var(--gray-color-3) solid;
  outline: 2px var(--white-color) solid;
  outline-offset: -4px;
  aspect-ratio: 1;
}
.author__img {
  inline-size: auto;
  block-size: 100%;
}
.author__name-wrap {
  font-weight: 600;
  font-size: calc(18 * var(--em));
}
.author__name {
  font-weight: 600;
}
.author__body {
  padding: var(--space-16);
  padding-block-start: 0;
}

@layer base {
  .txt-box {
    overflow: hidden;
    padding-block-end: 48px;
    font-size: var(--font-size-18);
    letter-spacing: var(--tracking-3);
  }
  .txt-box .text-b {
    font-weight: bold;
  }
  .txt-box .text-i {
    font-style: italic;
  }
  .txt-box em {
    font-style: italic;
  }
  .txt-box h1 {
    line-height: 1.2;
    margin-block: 40px 16px;
    margin-inline: 0;
    font-size: 3em;
    font-weight: bold;
  }
  .txt-box h2 {
    line-height: 1.5;
    margin-block: 0 2rem;
    margin-inline: 0;
    font-size: 1.7em;
    font-weight: bold;
    padding-block: 1rem;
    padding-inline: 1rem;
    border-block-start: 2px var(--theme-color-sub) solid;
    background: var(--gray-color);
    letter-spacing: var(--tracking-5);
  }
  .txt-box * + h2 {
    margin-block-start: 5rem;
  }
  .txt-box h3 {
    position: relative;
    line-height: 1.5;
    margin-block: 3rem 1rem;
    padding-inline-start: 0.5em;
    font-weight: bold;
    font-size: 1.5em;
    letter-spacing: var(--tracking-3);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: var(--theme-color-sub);
    text-underline-offset: var(--space-8);
  }
  .txt-box h3::before {
    content: "";
    display: inline-block;
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0.4em;
    inline-size: 0.2em;
    height: 0.7em;
    background: var(--theme-color-sub);
  }
  .txt-box h4 {
    line-height: 1.5;
    margin-block: 1.5rem 0.5rem;
    font-size: 1.2em;
    font-weight: bold;
  }
  .txt-box h5 {
    line-height: 1.5;
    margin-block: 1rem 0.5rem;
    font-size: 1em;
    font-weight: bold;
    text-decoration: underline;
    text-underline-offset: 4px;
  }
  .txt-box h6 {
    line-height: 1.5;
    margin-block: 1rem 0.5rem;
    font-size: 1em;
    font-weight: bold;
  }
  @media screen and (max-width: 784px) {
    .txt-box h1 {
      font-size: 187.5%;
    }
  }
  @media screen and (max-width: 784px) and (max-width: 784px) {
    .txt-box h1 {
      font-size: 214.2857142857%;
    }
  }
  @media screen and (max-width: 784px) {
    .txt-box h2 {
      font-size: 150%;
    }
  }
  @media screen and (max-width: 784px) and (max-width: 784px) {
    .txt-box h2 {
      font-size: 171.4285714286%;
    }
  }
  @media screen and (max-width: 784px) {
    .txt-box h3 {
      font-size: 125%;
    }
  }
  @media screen and (max-width: 784px) and (max-width: 784px) {
    .txt-box h3 {
      font-size: 142.8571428571%;
    }
  }
  @media screen and (max-width: 784px) {
    .txt-box h4 {
      font-size: 100%;
    }
  }
  @media screen and (max-width: 784px) and (max-width: 784px) {
    .txt-box h4 {
      font-size: 114.2857142857%;
    }
  }
  @media screen and (max-width: 784px) {
    .txt-box h5, .txt-box h6 {
      font-size: 75%;
    }
  }
  @media screen and (max-width: 784px) and (max-width: 784px) {
    .txt-box h5, .txt-box h6 {
      font-size: 85.7142857143%;
    }
  }
  .txt-box ul {
    list-style: none;
    margin-block: 1em;
    padding: unset;
  }
  .txt-box ul li {
    position: relative;
    padding-left: 1.5em;
  }
  .txt-box ul li::before {
    content: "";
    position: absolute;
    inset-inline-start: 0.5em;
    inset-block-start: 0.5em;
    inline-size: 0.5em;
    block-size: 0.5em;
    border-radius: 50%;
    background-color: var(--theme-color-sub);
  }
  .txt-box ol {
    list-style: decimal;
    margin-block: 1em;
    padding-left: 1.5em;
  }
  .txt-box ol li {
    list-style: decimal;
  }
  .txt-box li + li {
    margin-block-start: 0.8em;
  }
  .txt-box p {
    margin-block: 1em;
  }
  @media screen and (max-width: 784px) {
    .txt-box p {
      font-size: 2.8vw;
    }
  }
  @media screen and (max-width: 480px) {
    .txt-box p {
      font-size: 4vw;
    }
  }
  .txt-box a {
    text-decoration: none;
  }
  .txt-box blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
  }
  .txt-box img {
    block-size: auto;
    max-inline-size: 100%;
  }
  .txt-box .aligncenter {
    display: block;
    margin-block: 0;
    margin-inline: auto;
  }
  .txt-box .alignright {
    float: inline-end;
    margin-block: 0 10px;
    margin-inline: 20px 0;
  }
  .txt-box .alignleft {
    float: inline-start;
    margin-block: 0 10px;
    margin-inline: 0 20px;
  }
  .txt-box .wp-caption {
    border: 1px solid #ddd;
    text-align: start;
    background-color: #f3f3f3;
    padding: 5px;
    border-radius: 3px;
  }
  .txt-box .wp-caption img {
    margin: 0;
    padding: 0;
    border: 0 none;
  }
  .txt-box .wp-caption p.wp-caption-text {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    padding: 0;
  }
  .txt-box .is-style-clear {
    overflow: hidden;
  }
  .txt-box .has-text-align-center {
    text-align: center;
  }
  .txt-box .has-text-align-right {
    text-align: end;
  }
  .txt-box table {
    inline-size: 100%;
    max-inline-size: 1480px;
    block-size: auto !important;
    inline-size: auto !important;
    margin-block: 48px;
    margin-inline: auto;
    border-collapse: collapse;
  }
  .txt-box table th, .txt-box table td {
    block-size: auto !important;
    inline-size: auto !important;
    border: 1px #888 solid;
    padding-block: 0.5em;
    padding-inline: 1em;
    text-align: start;
  }
  .txt-box table th {
    white-space: nowrap;
  }
  .txt-box table tr {
    block-size: auto !important;
    inline-size: auto !important;
  }
  .txt-box table tr:nth-child(even) {
    background: #EEE;
  }
  .txt-box .logo_link {
    display: flex;
    justify-content: center;
    margin: 24px auto;
  }
  .txt-box .logo_link li {
    margin: 0 8px;
    padding: 0;
    padding-bottom: 12px;
    border-radius: 4px;
    background: #EEE;
  }
  .txt-box .logo_link li::before {
    display: none;
  }
  .txt-box .logo_link li a {
    display: block;
    box-sizing: border-box;
    padding: 8px;
    height: 100%;
    color: inherit;
    text-align: center;
  }
  .txt-box .logo_link li ._img {
    display: block;
    overflow: hidden;
    border-radius: 4px;
  }
  .txt-box .logo_link li ._txt {
    display: block;
    line-height: 1.3;
    padding-top: 1.3em;
    font-size: 95%;
  }
  .txt-box .logo_link li.new {
    position: relative;
    overflow: hidden;
  }
  .txt-box .logo_link li.new::after {
    content: "NEW";
    display: inline-block;
    position: absolute;
    top: -0.5em;
    left: -1.8em;
    line-height: 1;
    padding: 1.7em;
    padding-bottom: 0.2em;
    background: #d72222;
    color: #FFF;
    font-weight: bold;
    text-align: center;
    transform: rotate(-45deg);
  }
  .txt-box .contact-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    justify-content: center;
    max-inline-size: 776px;
    gap: var(--space-16);
    list-style: none;
    margin-block: var(--space-48);
    margin-inline: auto;
    padding: unset;
  }
  .txt-box .contact-list__item {
    margin: unset;
    padding: unset;
    text-align: center;
  }
  .txt-box .contact-list__item::before {
    display: none;
  }
  .txt-box .contact-list__item a {
    display: inline-block;
  }
  @media screen and (max-width: 784px) {
    .txt-box .contact-list {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: var(--space-8);
    }
    .txt-box .contact-list__item {
      inline-size: 160px;
    }
  }
  .txt-box .marker {
    font-weight: bold;
  }
  .txt-box .marker--yellow {
    background: linear-gradient(transparent 70%, #fff3b8 0%);
  }
  .txt-box .textbox1 {
    position: relative;
    border: 2px #00a3af solid;
    border-radius: 1em;
    margin-block: 2em;
    padding-block: 1em;
    padding-inline: 1em;
  }
  .txt-box .textbox1__head {
    position: absolute;
    inset-block: -0.8em auto;
    inset-inline: 0.5em auto;
    padding: 0 0.5em;
    background: #FFF;
    color: #00a3af;
    font-weight: bold;
  }
  .txt-box .textbox1 p {
    margin-block: 0;
  }
  .txt-box .textbox1 p + p {
    margin-block: 0.5em 0;
  }
  .txt-box .textbox2 {
    margin-block: 2em;
    border: 2px #113560 solid;
    border-radius: 1em;
    padding: 1em;
  }
  .txt-box .fam_check_box {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    max-inline-size: 800px;
    margin-block: 40px;
    margin-inline: auto;
  }
  .txt-box .fam_check_box li {
    position: relative;
    box-sizing: border-box;
    inline-size: 45%;
    margin-block: 0.4em;
    margin-inline: 2.5%;
    padding-inline-start: 2.5em;
    font-size: 112.5%;
  }
  @media screen and (max-width: 784px) {
    .txt-box .fam_check_box li {
      font-size: 128.5714285714%;
    }
  }
  .txt-box .fam_check_box li::before {
    content: "";
    display: inline-block;
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0;
    inline-size: 2em;
    height: 2em;
    background: url("/img/check.svg") left top no-repeat;
  }
  @media screen and (max-width: 480px) {
    .txt-box .fam_check_box li {
      inline-size: 97%;
      margin-inline-start: 3%;
    }
  }
  .txt-box .blogcard {
    margin-block: var(--space-32);
  }
  .txt-box .blogcard > a {
    display: flex;
    justify-content: space-between;
    overflow: hidden;
    line-height: 1.5;
    padding: var(--space-8);
    border: 4px #D1E0FD solid;
    border-radius: calc(16 * var(--rem));
    color: currentColor;
    text-decoration: none;
  }
  .txt-box .blogcard_thumbnail {
    width: 200px;
  }
  .txt-box .blogcard_content {
    width: calc(100% - 216px);
  }
  .txt-box .blogcard_title {
    font-weight: bold;
    font-size: 110%;
  }
  .txt-box .blogcard_excerpt {
    margin-top: 8px;
    font-size: 95%;
  }
  @media screen and (max-width: 480px) {
    .txt-box .blogcard > a {
      display: block;
    }
    .txt-box .blogcard_thumbnail {
      margin-inline: auto;
      margin-block-end: var(--space-8);
    }
    .txt-box .blogcard_content {
      width: 100%;
    }
  }
}
.nav-links {
  display: flex;
  justify-content: center;
  margin-block: 40px 0;
  margin-inline: auto;
  max-inline-size: 800px;
  line-height: 1;
}
.nav-links .page-numbers {
  display: inline-block;
  box-sizing: border-box;
  inline-size: 1.5em;
  height: 1.5em;
  margin-block: 0;
  margin-inline: 1%;
  padding-block: 0.2em;
  padding-inline: 0.5em;
}
.nav-links .page-numbers.current {
  color: var(--white-color);
  border-radius: 50%;
  background: var(--theme-color);
}
.nav-links .page-numbers.prev, .nav-links .page-numbers.next {
  inline-size: auto;
}
.nav-links a {
  color: inherit;
}

.icon-line {
  display: grid;
  grid-template-columns: calc(16 * var(--rem)) 1fr;
  place-items: center;
  gap: var(--space-8);
  block-size: calc(16 * var(--rem));
}
.icon-line::before {
  content: "";
  inline-size: 100%;
  aspect-ratio: 1;
  background: url(../img/ornament_flower.png) left center no-repeat;
  background-size: contain;
  transition: 1s ease-out;
}
.icon-line::after {
  content: "";
  inline-size: 100%;
  block-size: 1px;
  background-color: var(--theme-color-sub);
}

.top .visual {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  block-size: 100vh;
  min-block-size: 640px;
  overflow: hidden;
}
@media screen and (max-width: 980px) {
  .top .visual {
    grid-template-columns: 37vw 1fr;
  }
}
@media screen and (max-width: 784px) {
  .top .visual {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
    block-size: auto;
  }
}
@media screen and (max-width: 784px) {
  .top .visual__inner {
    order: 1;
  }
}
@media screen and (max-width: 480px) {
  .top .visual__inner {
    font-size: 3vw;
  }
}
.top .visual-img {
  position: relative;
  overflow: hidden;
}
.top .visual-img__img {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 980px) {
  .top .visual-img__img {
    object-position: right;
  }
}
@media screen and (max-width: 784px) {
  .top .visual-img {
    order: 2;
    aspect-ratio: 1.6/1;
  }
}
.top .visual-catch {
  display: grid;
  place-items: center;
  position: relative;
  z-index: 1;
  block-size: 100%;
}
@media screen and (max-width: 784px) {
  .top .visual-catch {
    padding-block: calc(var(--header-size) + var(--space-16)) var(--space-32);
  }
}
.top .visual-catch::before, .top .visual-catch::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  inset-inline-start: 0;
  inset-block-start: 0;
  inline-size: 86%;
  aspect-ratio: 635/421;
  background: url(/img/bg_main_visual_01.png) left top no-repeat;
  background-size: cover;
}
@media screen and (max-width: 784px) {
  .top .visual-catch::before, .top .visual-catch::after {
    inline-size: 60%;
  }
}
@media screen and (max-width: 480px) {
  .top .visual-catch::before, .top .visual-catch::after {
    inline-size: 70%;
  }
}
.top .visual-catch::after {
  background-image: url(/img/bg_main_visual_02.png);
  inset-inline: auto 0;
  inset-block: auto 0;
}
.top .visual-catch__inner {
  display: grid;
  gap: var(--space-16);
  text-align: center;
}
.top .visual-catch__txt-1 {
  display: flex;
  gap: var(--space-8);
  justify-content: center;
  align-items: center;
  font-size: var(--font-size-32);
}
.top .visual-catch__txt-1::before, .top .visual-catch__txt-1::after {
  content: "";
  display: inline-block;
  inline-size: calc(32 * var(--rem));
  block-size: calc(2 * var(--rem));
  background-color: var(--theme-color-sub);
}
.top .visual-catch__txt-2 {
  display: grid;
  font-weight: bold;
}
.top .visual-catch__txt-2 .txt-strong {
  font-size: var(--font-size-40);
}
.top .visual-catch__txt-2 .txt-small {
  font-size: var(--font-size-32);
}
.top .visual-catch__txt-2 .txt-gold {
  display: inline-block;
  background: linear-gradient(90deg, #CAA906 0%, #E2D076 27%, #B88A27 74%, #CAA906 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.top .visual-catch__txt-3 {
  font-weight: bold;
  font-size: var(--font-size-32);
}
.top .visual-catch__txt-3 .txt-strong {
  color: var(--accent-color);
}
.top .visual-catch__txt-4 .txt-label {
  display: inline-block;
  padding-inline: var(--space-8);
  background-color: var(--accent-color);
  color: var(--white-color);
  font-size: var(--font-size-24);
}
.top__container {
  max-inline-size: var(--max-viewport-width);
  margin-inline: auto;
  padding-inline: var(--space-48);
}
@media screen and (max-width: 1200px) {
  .top__container {
    padding-inline: var(--space-24);
  }
}
@media screen and (max-width: 784px) {
  .top__container {
    padding-inline: var(--space-16);
  }
}
.top__sec-1 {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-inline: var(--space-48);
  background-color: var(--gray-color);
}
@media screen and (max-width: 784px) {
  .top__sec-1 {
    padding-inline: var(--space-24);
  }
}
.top__sec-1::before, .top__sec-1::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  z-index: -1;
  block-size: 100%;
  aspect-ratio: 1.6/1;
  background: url(/img/bg_top_pickup-menu_01.png) no-repeat;
  background-size: contain;
}
@media screen and (max-width: 784px) {
  .top__sec-1::before, .top__sec-1::after {
    block-size: 70%;
  }
}
@media screen and (max-width: 480px) {
  .top__sec-1::before, .top__sec-1::after {
    block-size: 40%;
    opacity: 0.7;
  }
}
.top__sec-1::after {
  inset-inline: auto 0;
  transform: scale(-1, 1);
}
@media screen and (max-width: 480px) {
  .top__sec-1::after {
    inset-block: auto 0;
    transform: scale(-1, -1);
  }
}
.top__sec-2 {
  padding-block: 0 var(--space-72);
  max-inline-size: var(--max-content-width);
  margin-inline: auto;
  padding-inline: var(--space-24);
}
@media screen and (max-width: 480px) {
  .top__sec-2 {
    padding-block-end: 0px;
    padding-inline: var(--space-16);
  }
}
.top__sec-3, .top__sec-4 {
  padding-block-start: var(--space-48);
}
@media screen and (max-width: 784px) {
  .top__sec-3, .top__sec-4 {
    padding-block-start: var(--space-24);
  }
}
.top__sec-5 {
  position: relative;
  overflow: hidden;
  padding-block-end: var(--space-80);
}
.top__sec-5::after {
  content: "";
  position: absolute;
  inset-block-start: 7em;
  inset-inline-start: -16px;
  z-index: -1;
  inline-size: 152%;
  aspect-ratio: 1/0.5;
  border-start-start-radius: var(--rounded-full);
  border-start-end-radius: var(--rounded-full);
  background: linear-gradient(180deg, rgb(255, 235, 235) 0%, rgb(255, 255, 255) 100%);
}
.top__sec-8 {
  padding-block-end: var(--space-72);
}
.top__sec-9 {
  background-color: var(--gray-color);
}
@media screen and (max-width: 784px) {
  .top__sec-9 p {
    font-size: 2.8vw;
  }
}
@media screen and (max-width: 480px) {
  .top__sec-9 p {
    font-size: 4vw;
  }
}
.top__sec-9 .top__container {
  background: url(../img/map-japan.svg) right center no-repeat;
  background-size: auto 95%;
}
@media screen and (max-width: 784px) {
  .top__sec-9 .top__container {
    background-size: 120% auto;
    background-position-x: left;
  }
}

.menu-pickup__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  padding: unset;
}
@media screen and (max-width: 1200px) {
  .menu-pickup__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 784px) {
  .menu-pickup__list {
    grid-template-columns: 1fr;
    padding-block: var(--space-24);
  }
}
.menu-pickup__item {
  display: flex;
  justify-content: center;
  position: relative;
  padding-block: var(--space-56);
}
@media screen and (max-width: 1200px) {
  .menu-pickup__item {
    padding-block: var(--space-24);
  }
}
@media screen and (max-width: 784px) {
  .menu-pickup__item {
    padding-block: 0;
    justify-content: flex-start;
  }
}
.menu-pickup__item::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block: 0;
  margin-block: auto;
  inline-size: calc(1 * var(--rem));
  block-size: 45%;
  background-color: var(--gray-color-3);
}
.menu-pickup__item:first-child::after {
  opacity: 0;
}
@media screen and (max-width: 1200px) {
  .menu-pickup__item:first-child::after {
    opacity: 1;
  }
}
.menu-pickup__link {
  display: flex;
  gap: var(--space-32);
  padding: var(--space-16);
  color: currentColor;
  text-decoration: none;
}
.menu-pickup__link .link-arrow {
  transition: var(--hover-anm);
}
.menu-pickup__link:hover {
  text-decoration: underline;
  text-underline-offset: calc(2 * var(--em));
  opacity: 1;
}
.menu-pickup__link:hover .link-arrow {
  transform: translate(calc(4 * var(--rem)), 0);
}
.menu-pickup__label-wrap {
  display: grid;
  gap: var(--space-8);
  font-size: var(--font-size-24);
  text-align: center;
}
@media screen and (max-width: 784px) {
  .menu-pickup__label-wrap {
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 480px) {
  .menu-pickup__label-wrap {
    display: grid;
    gap: 0;
    align-items: center;
    font-size: var(--font-size-20);
    text-align: start;
  }
}
.menu-pickup__label-en {
  letter-spacing: var(--tracking-3);
  font-family: var(--font-secondary);
  text-box-trim: trim-both;
  text-transform: uppercase;
}
@media screen and (max-width: 480px) {
  .menu-pickup__label-en {
    font-size: 0.8em;
  }
}
.menu-pickup__arrow {
  display: grid;
  place-items: center;
}

.services-menu {
  max-inline-size: var(--max-viewport-width);
  margin-inline: auto;
  padding-inline: var(--space-48);
}
@media screen and (max-width: 784px) {
  .services-menu {
    padding-inline: var(--space-16);
  }
}
@media screen and (max-width: 480px) {
  .services-menu {
    padding-inline: var(--space-8);
  }
}
.sub .services-menu {
  padding-block-end: var(--space-48);
}
.services-menu__list {
  list-style: none;
  padding: unset;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-48) var(--space-20);
}
@media screen and (max-width: 1200px) {
  .services-menu__list {
    grid-template-columns: 1fr;
  }
}
.services-menu__link {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: var(--space-24);
  color: currentColor;
  text-decoration: none;
}
@media screen and (max-width: 480px) {
  .services-menu__link {
    column-gap: var(--space-8);
  }
}
.services-menu__link:hover {
  opacity: 1;
}
.services-menu__link:hover .icon-line::before {
  transform: rotate(-460deg);
}
.services-menu__img {
  grid-row: 1/3;
  inline-size: calc(240 * var(--rem));
  min-block-size: calc(216 * var(--rem));
  border-start-start-radius: var(--rounded-full);
  border-start-end-radius: var(--rounded-full);
  overflow: hidden;
}
@media screen and (max-width: 784px) {
  .services-menu__img {
    grid-row: auto;
    inline-size: calc(120 * var(--rem));
    min-block-size: 0;
    aspect-ratio: 1;
  }
}
@media screen and (max-width: 480px) {
  .services-menu__img {
    inline-size: calc(104 * var(--rem));
  }
}
.services-menu__img img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  transition: var(--hover-anm);
}
.services-menu__link:hover .services-menu__img img {
  transform: scale(1.2);
}
.services-menu__ttl {
  padding-block-start: var(--space-28);
  font-size: var(--font-size-24);
  text-align: center;
}
@media screen and (max-width: 480px) {
  .services-menu__ttl {
    font-size: clamp(var(--font-size-18), 4vw, var(--font-size-24));
  }
}
.services-menu__ttl-sub {
  font-size: 0.8em;
}
.services-menu__ttl .icon-line {
  margin-block-start: var(--space-8);
}
.services-menu__link:hover .services-menu__ttl {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.services-menu__dscrpt {
  padding-block: var(--space-20) var(--space-16);
  padding-inline: var(--space-16);
}
@media screen and (max-width: 784px) {
  .services-menu__dscrpt {
    grid-column: 1/3;
  }
}

.sec-strongs {
  padding-block: var(--space-48);
  background-color: var(--theme-color);
}
@media screen and (max-width: 480px) {
  .sec-strongs {
    padding-block: var(--space-24);
  }
}
.sec-strongs__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-56) var(--space-40);
  max-inline-size: var(--max-viewport-width);
  margin-inline: auto;
  padding-inline: var(--space-48);
}
@media screen and (max-width: 1200px) {
  .sec-strongs__list {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 784px) {
  .sec-strongs__list {
    gap: var(--space-24);
    padding-inline: var(--space-24);
  }
}
.sec-strongs__item {
  display: flex;
  align-items: center;
  gap: var(--space-8);
  position: relative;
  z-index: 1;
  padding-inline: var(--space-24);
  padding-block: var(--space-16);
}
@media screen and (max-width: 480px) {
  .sec-strongs__item {
    padding-inline: var(--space-16);
    padding-block: 0;
  }
}
.sec-strongs__item::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 0;
  z-index: -1;
  inline-size: 100%;
  block-size: 100%;
  background-color: var(--white-color);
}
.sec-strongs__item::after {
  content: "";
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  z-index: -2;
  margin-inline: auto;
  inline-size: calc(152 * var(--rem));
  block-size: calc(80 * var(--rem));
  border-radius: var(--rounded-full);
  box-shadow: 0 -2px calc(40 * var(--rem)) rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 480px) {
  .sec-strongs__item::after {
    display: none;
  }
}
.sec-strongs__num {
  color: var(--accent-color);
  font-family: var(--font-accent);
  font-size: var(--font-size-64);
}
@media screen and (max-width: 480px) {
  .sec-strongs__num {
    font-size: clamp(var(--font-size-32), 13.2vw, var(--font-size-64));
  }
}
.sec-strongs__label {
  position: relative;
  z-index: 1;
  padding-inline: var(--space-8);
  padding-block: var(--space-16);
  font-weight: bold;
  font-size: var(--font-size-24);
}
@media screen and (max-width: 784px) {
  .sec-strongs__label {
    font-size: clamp(var(--font-size-18), 3.2vw, var(--font-size-24));
  }
}
.sec-strongs__label::after {
  content: "";
  position: absolute;
  inset-block-end: var(--space-16);
  inset-inline-start: 0;
  z-index: -1;
  inline-size: 100%;
  block-size: calc(18 * var(--rem));
  background-color: var(--theme-color);
}
.sec-strongs__strong {
  color: var(--accent-color);
}

.top-counselor__wrapper {
  max-inline-size: var(--max-viewport-width);
  margin-inline: auto;
  padding-inline: var(--space-48);
  padding-block-start: var(--space-16);
}
@media screen and (max-width: 784px) {
  .top-counselor__wrapper {
    padding-inline: var(--space-24);
  }
}
.top-counselor__ttl {
  display: grid;
  align-items: baseline;
  grid-template-columns: repeat(2, auto);
  gap: var(--space-16);
  position: relative;
  inline-size: fit-content;
  padding-inline: var(--space-16);
  padding-block: var(--space-56) var(--space-24);
  font-weight: normal;
}
.top-counselor__ttl-label-jp {
  font-size: var(--font-size-24);
}
@media screen and (max-width: 784px) {
  .top-counselor__ttl-label-jp {
    font-size: clamp(var(--font-size-18), 4vw, var(--font-size-24));
  }
}
.top-counselor__ttl-label-en {
  position: relative;
  padding-inline-start: var(--space-44);
  font-family: var(--font-tertiary);
  font-size: var(--font-size-24);
  text-transform: capitalize;
}
@media screen and (max-width: 784px) {
  .top-counselor__ttl-label-en {
    font-size: clamp(var(--font-size-18), 4vw, var(--font-size-24));
  }
}
.top-counselor__ttl-label-en::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block: 0;
  inline-size: calc(36 * var(--rem));
  block-size: 1px;
  margin-block: auto;
  background-color: var(--gray-color-3);
  transform: translateY(-0.1em);
}
.top-counselor__ttl::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 0;
  inline-size: calc(32 * var(--rem));
  aspect-ratio: 1;
  background: url(../img/ornament_flower.png) center center no-repeat;
  background-size: contain;
}
.top-counselor__ttl::after {
  content: "";
  position: absolute;
  inset-block-start: calc(15 * var(--rem));
  inset-inline-start: calc(40 * var(--rem));
  inline-size: calc(160 * var(--rem));
  block-size: calc(2 * var(--rem));
  background-color: var(--theme-color);
}
.top-counselor__inner {
  display: flex;
  align-items: flex-start;
  gap: var(--space-32);
}
@media screen and (max-width: 784px) {
  .top-counselor__inner {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
  }
}
.top-counselor__inner .txt-box {
  padding: var(--space-24);
  padding-block-start: var(--space-8);
}
@media screen and (max-width: 784px) {
  .top-counselor__inner .txt-box {
    inline-size: 100%;
  }
}
@media screen and (max-width: 480px) {
  .top-counselor__inner .txt-box {
    padding-inline: 0;
  }
}
.top-counselor__container {
  inline-size: 60%;
}
@media screen and (max-width: 784px) {
  .top-counselor__container {
    order: 2;
    inline-size: 100%;
  }
}
.top-counselor__img {
  inline-size: 40%;
}
@media screen and (max-width: 784px) {
  .top-counselor__img {
    order: 1;
    inline-size: 100%;
    max-inline-size: 480px;
  }
}
.top-counselor__footer-link {
  margin-block-start: var(--space-24);
}
.top-counselor + .top-counselor {
  margin-block-start: var(--space-48);
}

.top-column {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: var(--space-16);
  max-inline-size: var(--max-viewport-width);
  padding-inline: var(--space-48);
  margin-inline: auto;
}
@media screen and (max-width: 980px) {
  .top-column {
    gap: var(--space-24);
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 980px) {
  .top-column {
    padding-inline: var(--space-16);
  }
}
.top-column__categories {
  display: grid;
  gap: var(--space-32);
  grid-template-rows: repeat(2, auto) 1fr;
}
@media screen and (max-width: 980px) {
  .top-column__categories {
    order: 2;
  }
}
.top-column__sub-ttl {
  line-height: 1;
  font-weight: normal;
  font-family: var(--font-secondary);
  font-size: var(--font-size-24);
}
@media screen and (max-width: 980px) {
  .top-column__container {
    order: 1;
  }
}

.service-area {
  padding-block: var(--space-48);
}
.service-area__item {
  display: flex;
  gap: var(--space-16);
  align-items: center;
  border-block: 1px var(--gray-color-3) solid;
  padding: var(--space-16);
}
@media screen and (max-width: 784px) {
  .service-area__item {
    flex-wrap: wrap;
  }
}
.service-area__item + .service-area__item {
  border-block-start: none;
}
.service-area__group {
  inline-size: 7.2em;
  padding-inline-end: var(--space-16);
  font-size: var(--font-size-20);
}
@media screen and (max-width: 784px) {
  .service-area__group {
    inline-size: 100%;
  }
}
@media screen and (max-width: 480px) {
  .service-area__group {
    font-size: 4.6vw;
  }
}
.service-area__prefecture {
  display: grid;
  align-items: center;
}
.service-area__prefecture-label {
  display: inline-block;
  inline-size: calc(56 * var(--rem));
  overflow: hidden;
  border-radius: var(--rounded-full);
  background-color: var(--white-color);
  font-size: var(--font-size-12);
  text-align: center;
}

.img-box {
  position: relative;
  padding-bottom: var(--space-64);
}
.img-box__img {
  float: inline-end;
  inline-size: 67%;
}
.img-box__img-sub {
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 40%;
}

.bg-scroll__v {
  position: relative;
  aspect-ratio: 1/1.36;
  overflow: hidden;
}
.bg-scroll__v img {
  position: absolute;
  inset-inline-start: 0;
  block-size: 120%;
  max-inline-size: none;
}

.foot-contact {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  background: url(../img/bg_gerbera.jpg) center center no-repeat;
  background-size: cover;
  color: var(--white-color);
}
.foot-contact__head {
  grid-column: 1/3;
  border-block-end: 1px var(--white-color) solid;
  padding-inline: var(--space-16);
  padding-block: var(--space-64);
}
@media screen and (max-width: 480px) {
  .foot-contact__head {
    padding-block: var(--space-40);
  }
}
.foot-contact__ttl {
  display: grid;
  place-items: center;
  gap: var(--space-12);
  font-weight: 300;
  font-size: 100%;
}
.foot-contact__ttl-label-en {
  display: grid;
  place-items: center;
  gap: var(--space-8);
  line-height: 1;
  font-family: var(--font-tertiary);
  font-size: var(--font-size-40);
  text-transform: capitalize;
}
.foot-contact__ttl-label-en::before {
  content: "";
  inline-size: calc(72 * var(--rem));
  aspect-ratio: 1;
  background: url(../img/ornament_flower-w.png) center center no-repeat;
  background-size: contain;
}
@media screen and (max-width: 480px) {
  .foot-contact__ttl-label-en::before {
    inline-size: calc(48 * var(--rem));
  }
}
.foot-contact__ttl-label-en::after {
  content: "";
  inline-size: var(--space-32);
  block-size: 1px;
  background-color: var(--white-color);
}
.foot-contact__ttl-label {
  font-size: var(--font-size-32);
}
@media screen and (max-width: 784px) {
  .foot-contact__ttl-label {
    font-size: clamp(var(--font-size-24), 5.5vw, var(--font-size-32));
  }
}
.foot-contact__head-inner {
  max-inline-size: calc(480 * var(--rem));
  margin-block-start: var(--space-24);
  margin-inline: auto;
  font-weight: 300;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .foot-contact__head-inner {
    font-size: 4vw;
  }
}
.foot-contact__phone {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: var(--space-12);
  margin-block-start: var(--space-24);
  font-weight: 300;
  font-family: var(--font-tertiary);
}
@media screen and (max-width: 480px) {
  .foot-contact__phone {
    font-size: 4vw;
  }
}
.foot-contact__phone .phone a {
  color: currentColor;
  text-decoration: none;
}
.foot-contact__phone .phone-ttl {
  line-height: 1;
  font-size: var(--font-size-24);
  text-transform: capitalize;
}
.foot-contact__phone .phone-num {
  line-height: 1;
  font-size: var(--font-size-48);
}
.foot-contact__sns-link {
  display: grid;
  justify-content: center;
  padding-block: var(--space-64);
  color: currentColor;
  font-size: var(--font-size-32);
  text-decoration: none;
}
@media screen and (max-width: 784px) {
  .foot-contact__sns-link {
    padding-block: var(--space-40);
    font-size: clamp(var(--font-size-24), 5.5vw, var(--font-size-32));
  }
}
.foot-contact__sns-link::before {
  content: "";
  order: 1;
  inline-size: calc(32 * var(--rem));
  aspect-ratio: 1;
  margin-inline: auto;
  background: url(../img/icon_line.png) center center no-repeat;
  background-size: contain;
  filter: brightness(100);
  transition: var(--hover-anm);
}
.foot-contact__sns-link::after {
  content: "";
  order: 2;
  inline-size: calc(32 * var(--rem));
  block-size: 1px;
  margin-inline: auto;
  background-color: var(--white-color);
  margin-block: var(--space-16) var(--space-32);
}
.foot-contact__sns-link:hover, .foot-contact__sns-link:focus-within {
  opacity: 1;
}
.foot-contact__sns-link:hover::before, .foot-contact__sns-link:focus-within::before {
  opacity: 1;
  transform: translateY(-8px);
}
.foot-contact__sns-label {
  order: 3;
  position: relative;
  font-weight: 300;
}
.foot-contact__sns-label::after {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block-end: 0;
  inline-size: 0;
  block-size: 1px;
  transition: var(--hover-anm);
}
.foot-contact__sns-link:hover .foot-contact__sns-label::after, .foot-contact__sns-link:focus-within .foot-contact__sns-label::after {
  inline-size: 100%;
  background-color: var(--white-color);
}
.foot-contact__sns--mail {
  border-inline-start: 1px var(--white-color) solid;
}
.foot-contact__sns--mail .foot-contact__sns-link::before {
  background-image: url(../img/icon_heart.png);
}

.footer {
  background-color: var(--footer-color);
}
.footer__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-24);
  max-inline-size: var(--max-viewport-width);
  padding-inline: var(--space-48);
  padding-block: var(--space-64) var(--space-72);
  margin-inline: auto;
  color: var(--white-color);
}
@media screen and (max-width: 1200px) {
  .footer__container {
    grid-template-columns: 0.8fr 1fr;
  }
}
@media screen and (max-width: 980px) {
  .footer__container {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media screen and (max-width: 480px) {
  .footer__container {
    padding-block: var(--space-40);
    padding-inline: var(--space-16);
  }
}
.footer__site-name {
  max-inline-size: calc(288 * var(--rem));
}
.footer__site-name img {
  filter: brightness(200);
}
.footer__address {
  margin-block-start: var(--space-16);
}
.footer__phone a {
  color: currentColor;
  text-decoration: none;
}
.footer__phone-num {
  margin-inline-start: var(--space-8);
  font-size: var(--font-size-24);
}
.footer__contact-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-32) var(--space-16);
  inline-size: fit-content;
  margin: unset;
  margin-block-start: var(--space-32);
  padding: unset;
}
@media screen and (max-width: 1200px) {
  .footer__contact-list {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 980px) {
  .footer__contact-list {
    grid-template-columns: repeat(3, auto);
  }
}
@media screen and (max-width: 784px) {
  .footer__contact-list {
    margin-inline: auto;
    grid-template-columns: 1fr;
  }
}
.footer__contact-item:first-child {
  grid-column: 1/3;
}
@media screen and (max-width: 1200px) {
  .footer__contact-item:first-child {
    grid-column: auto;
  }
}
.footer__contact-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-8);
  padding-block: var(--space-8);
  padding-inline: var(--space-16);
  border-radius: var(--rounded-full);
  background: var(--white-color);
  color: var(--txt-color);
  text-decoration: none;
  outline: 2px transparent solid;
  outline-offset: 2px;
  transition: var(--hover-anm);
}
.footer__contact-link img {
  inline-size: calc(24 * var(--rem));
}
.footer__contact-link:hover, .footer__contact-link:focus-within {
  outline-color: var(--white-color);
}
.footer__nav-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: min-content;
  grid-template-rows: repeat(6, min-content);
  gap: var(--space-16) var(--space-24);
  margin: unset;
  padding: unset;
}
@media screen and (max-width: 1480px) {
  .footer__nav-list {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(10, min-content);
  }
}
@media screen and (max-width: 784px) {
  .footer__nav-list {
    grid-template-columns: 1fr;
  }
}
.footer__nav-item:first-child {
  grid-row: 1/-1;
}
@media screen and (max-width: 784px) {
  .footer__nav-item:first-child {
    grid-row: auto;
    padding-block-end: var(--space-24);
  }
}
.footer__nav-link {
  display: inline-block;
  position: relative;
  padding-inline-start: var(--space-10);
  color: currentColor;
  text-decoration: none;
  transition: var(--hover-anm);
}
.footer__nav-link::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  inset-block: 0;
  inline-size: calc(2 * var(--rem));
  block-size: calc(16 * var(--rem));
  margin-block: auto;
  background: var(--gray-color-4);
}
.footer__nav-link:hover, .footer__nav-link:focus-within {
  padding-inline-start: var(--space-12);
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: calc(4 * var(--rem));
}
.footer__nav-list-sub {
  display: grid;
  gap: var(--space-12);
  list-style: none;
  margin: unset;
  margin-block-start: var(--space-12);
  padding: unset;
}
.footer__nav-link-sub {
  padding-left: var(--space-10);
  transition: var(--hover-anm);
  color: currentColor;
  text-decoration: none;
}
.footer__nav-link-sub:hover, .footer__nav-link-sub:focus-within {
  padding-left: var(--space-12);
  text-decoration: underline;
  text-underline-offset: calc(4 * var(--rem));
}
.footer__foot {
  border-block-start: 1px var(--white-color) solid;
  color: var(--white-color);
}
.footer__foot-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-inline-size: var(--max-viewport-width);
  margin-inline: auto;
  padding-block: var(--space-32) var(--space-48);
  padding-inline: var(--space-48);
}
@media screen and (max-width: 980px) {
  .footer__foot-inner {
    display: block;
    padding-block-start: var(--space-24);
    padding-inline: 0;
  }
}
@media screen and (max-width: 784px) {
  .footer__foot-inner {
    padding-block-start: 0;
  }
}
.footer__nav-sub {
  order: 2;
}
.footer__nav-sub-list {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  gap: var(--space-24);
  margin: unset;
  padding: unset;
}
@media screen and (max-width: 980px) {
  .footer__nav-sub-list {
    justify-content: center;
    padding-block-end: var(--space-24);
    border-block-end: 1px var(--white-color) solid;
  }
}
@media screen and (max-width: 784px) {
  .footer__nav-sub-list {
    display: block;
    padding-block-end: 0;
  }
}
@media screen and (max-width: 784px) {
  .footer__nav-sub-item + .footer__nav-sub-item {
    border-block-start: 1px var(--white-color) solid;
  }
}
.footer__nav-sub-link {
  color: currentColor;
  text-decoration: none;
}
@media screen and (max-width: 784px) {
  .footer__nav-sub-link {
    display: inline-block;
    padding: var(--space-16);
  }
}
.footer__nav-sub-link:hover, .footer__nav-sub-link:focus-within {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: calc(4 * var(--rem));
}
.footer__copyright {
  order: 1;
  font-size: var(--font-size-12);
}
@media screen and (max-width: 980px) {
  .footer__copyright {
    padding-block-start: var(--space-24);
    text-align: center;
  }
}/*# sourceMappingURL=style.css.map */