@charset "UTF-8";
:root {
  --rem: calc(1rem / 16);
  --color-01: #e50012;
  --color-02: #ff1d25;
  --color-03: #f7931e;
  --color-04: #08c754;
  --color-05: #d0e8ff;
  --color-06: #0071bc;
  --color-07: #00456b;
  --color-08: #f2f2f2;
  --color-09: #e6e6e6;
  --color-10: #bfbfbf;
  --color-11: #ababab;
  --color-12: #666666;
  --font-size: var(--_font-size);
  --leading-trim: calc((1em - 1lh) / 2);
  --duration: .25s;
  --scrollbar: 0;
  --max: var(--_inline-viewport);
  --gap: calc(var(--_gap) * var(--rem));
  --nav: calc(var(--_nav) * var(--rem));
  --footer: calc(var(--_footer) * var(--rem));
}
@media (max-width: 767.98px) {
  :root {
    --_basis: 375;
    --_max: 767;
    --_gap: 15;
    --_nav: 60;
    --_inline-viewport: 100cqi;
    --_font-size: calc(16 / var(--_basis) * 100cqi);
  }
}
@media (min-width: 768px) {
  :root {
    --_basis: 1600;
    --_max: var(--_basis);
    --_gap: 80;
    --_nav: 100;
    --_inline-viewport: calc(var(--_basis) * var(--rem));
    --_font-size: min(16 / var(--_basis) * 100cqi, 16px);
  }
}

:where(html) {
  interpolate-size: allow-keywords;
  font-size: var(--font-size);
  font-family: "Noto Sans JP", sans-serif;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
   -ms-text-size-adjust: none;
       text-size-adjust: none;
  word-break: normal;
  color: #000;
  background-color: #fff;
  overflow-wrap: anywhere;
  line-break: strict;
  scroll-behavior: smooth;
  -webkit-tap-highlight-color: transparent;
}
@media (min-width: 768px) {
  :where(html) {
    container-type: inline-size;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:where(body) {
  inline-size: 100cqi;
  min-block-size: 100dvh;
}

:where(a) {
  text-decoration: none;
  text-underline-offset: 0.125em;
  word-break: break-all;
  color: inherit;
}

:where(a, [tabindex]) {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

:where(h1, h2, h3, h4, h5, h6) {
  font-weight: 700;
  font-size: inherit;
  line-height: 1.2;
  overflow-wrap: break-word;
  text-wrap: balance;
}

:where(ul, ol)[role=list] {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  list-style: none;
}

:where(canvas, img, picture, svg, video) {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
}

:where(svg:not([fill])) {
  fill: currentColor;
}

:where(iframe) {
  inline-size: 100%;
  border: none;
}

:where(input, button, select, textarea) {
  font: inherit;
  color: inherit;
  border-width: 1px;
  border-style: solid;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

:where(button) {
  background-color: rgba(0, 0, 0, 0);
}

:where([type=checkbox], [type=radio], [type=reset], [type=submit], button, label[for], select, summary) {
  cursor: pointer;
}

:focus-visible {
  outline-offset: -1px;
  outline-style: solid;
  outline-color: currentColor;
}

::-webkit-input-placeholder {
  color: var(--gray-01, darkGray);
}

::-moz-placeholder {
  color: var(--gray-01, darkGray);
}

:-ms-input-placeholder {
  color: var(--gray-01, darkGray);
}

::-ms-input-placeholder {
  color: var(--gray-01, darkGray);
}

::placeholder {
  color: var(--gray-01, darkGray);
}

:target {
  scroll-margin-block-start: var(--nav);
}

/* layout
-------------------------------------------------------------------------------- */
.m-container {
  display: flow-root;
  inline-size: calc(var(--max) - var(--gap) * 2);
  margin-inline: auto;
  contain: layout;
}
.m-container :is(.fluid, .contain) {
  inline-size: 100cqi;
  margin-inline: calc(50% - 50cqi);
}
.m-container .contain {
  padding-inline: calc(50cqi - 50%);
}
@media (max-width: 767.98px) {
  .m-container :is(.sm-fluid, .sm-contain) {
    inline-size: 100cqi;
    margin-inline: calc(50% - 50cqi);
  }
  .m-container .sm-contain {
    padding-inline: calc(50cqi - 50%);
  }
}
@media (min-width: 768px) {
  .m-container.\--1324md {
    --max: min((1324px + var(--gap) * 2), calc(1324 * var(--rem)));
  }
  .m-container.\--1520md {
    --max: min((1520px + var(--gap) * 2), calc(1520 * var(--rem)));
  }
}

/* screen reader text
-------------------------------------------------------------------------------- */
.m-sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  white-space: nowrap;
  border-width: 0;
}

/* indent
-------------------------------------------------------------------------------- */
.m-indent {
  padding-left: calc(var(--indent, 1) * 1em);
  text-indent: calc(var(--indent, 1) * -1em);
}

/* ellipsis
-------------------------------------------------------------------------------- */
.m-ellipsis {
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap;
}

/* line clamp
-------------------------------------------------------------------------------- */
.m-line-clamp {
  overflow: clip;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  block-size: min(100%, var(--line-clamp, 2) * 1lh);
  -webkit-line-clamp: var(--line-clamp, 2);
  line-clamp: var(--line-clamp, 2);
}

/* heading
-------------------------------------------------------------------------------- */
.m-heading {
  text-align: center;
}
.m-heading.\--deco {
  color: #fff;
  background-color: var(--color-06);
}
.m-heading.\--deco + * {
  background-color: #fff;
}
.m-heading:not(.\--deco) {
  color: var(--color-06);
}
@media (max-width: 767.98px) {
  .m-heading.\--deco {
    padding-block: 0.9375rem 2.8125rem;
    font-size: 1.125rem;
    line-height: 1.3333333333;
  }
  .m-heading.\--deco + * {
    -webkit-margin-before: -1.875rem;
            margin-block-start: -1.875rem;
  }
  .m-heading:not(.\--deco) {
    padding-block: 0.9375rem;
    font-size: 2.25rem;
  }
}
@media (min-width: 768px) {
  .m-heading {
    font-size: 1.625rem;
  }
  .m-heading.\--deco {
    padding-block: 3.75rem 11.25rem;
  }
  .m-heading.\--deco + * {
    -webkit-margin-before: -7.5rem;
            margin-block-start: -7.5rem;
  }
  .m-heading:not(.\--deco) {
    padding-block: 3.75rem;
  }
}

/* overflow background color
-------------------------------------------------------------------------------- */
.m-overflow-background-color {
  -o-border-image: -o-linear-gradient(var(--overflow-background-color) 0 0) 0/100%/0 100lvi;
     border-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, var(--overflow-background-color))) fill 0/100%/0 100lvi;
     border-image: linear-gradient(var(--overflow-background-color) 0 0) fill 0/100%/0 100lvi;
}

/* ユーザーがモーションを希望しない場合
-------------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  ::-webkit-backdrop {
    background-attachment: scroll !important;
    -webkit-animation-duration: 1ms !important;
            animation-duration: 1ms !important;
    -webkit-animation-delay: 0s !important;
            animation-delay: 0s !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 1ms !important;
            transition-duration: 1ms !important;
    -webkit-transition-delay: 0s !important;
            transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }
  *, *::before, *::after, ::backdrop {
    background-attachment: scroll !important;
    -webkit-animation-duration: 1ms !important;
            animation-duration: 1ms !important;
    -webkit-animation-delay: 0s !important;
            animation-delay: 0s !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 1ms !important;
         -o-transition-duration: 1ms !important;
            transition-duration: 1ms !important;
    -webkit-transition-delay: 0s !important;
         -o-transition-delay: 0s !important;
            transition-delay: 0s !important;
    scroll-behavior: auto !important;
  }
}
/* hover できる場合
-------------------------------------------------------------------------------- */
@media (any-hover: hover) {
  [data-hover]:not([data-hover=image], [data-hover=underline]) {
    -webkit-transition-duration: var(--duration);
         -o-transition-duration: var(--duration);
            transition-duration: var(--duration);
    will-change: auto;
  }
  [data-hover=opacity] {
    -webkit-transition-property: opacity;
    -o-transition-property: opacity;
    transition-property: opacity;
  }
  [data-hover=opacity]:is(:hover, :focus-visible) {
    outline: none;
    opacity: 0.5;
    will-change: opacity;
  }
  [data-hover=color] {
    -webkit-transition-property: color;
    -o-transition-property: color;
    transition-property: color;
  }
  [data-hover=color]:is(:hover, :focus-visible) {
    outline: none;
    color: var(--_data-hover-color-1);
    will-change: color;
  }
  [data-hover=image] {
    overflow: hidden;
  }
  [data-hover=image]:is(:hover, :focus-visible) [data-hover=target] {
    scale: 1.1;
    will-change: scale;
  }
  [data-hover=target] {
    -webkit-transition-property: scale;
    -o-transition-property: scale;
    transition-property: scale;
  }
  [data-hover=button] {
    -webkit-transition-property: color, background-color;
    -o-transition-property: color, background-color;
    transition-property: color, background-color;
  }
  [data-hover=button]:is(:hover, :focus-visible) {
    color: var(--_data-hover-color-2);
    background-color: var(--_data-hover-color-1);
    will-change: color, background-color;
  }
  [data-hover=header-bg] {
    -webkit-transition-property: background-color;
    -o-transition-property: background-color;
    transition-property: background-color;
  }
  [data-hover=header-bg]:is(:hover, :focus-visible) {
    background-color: var(--color-05);
    will-change: background-color;
  }
  [data-hover=underline]:is(:hover, :focus-visible) {
    text-decoration: underline;
  }
}
[data-hover=button] {
  color: var(--_data-hover-color-1);
  border: 1px solid var(--_data-hover-color-2);
  background-color: var(--_data-hover-color-2);
}

.c-cta {
  --_data-hover-color-1: var(--color-07);
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
  block-size: 100%;
  padding-inline: 1.125rem;
  font-style: normal;
  font-size: 0.875rem;
  line-height: 1;
}
.c-cta_head {
  display: grid;
  gap: 0.125em 0.5em;
  -webkit-margin-after: 0.125rem;
          margin-block-end: 0.125rem;
  -webkit-padding-after: 0.3125rem;
          padding-block-end: 0.3125rem;
  -webkit-border-after: 1px dotted var(--color-10);
          border-block-end: 1px dotted var(--color-10);
}
.c-cta_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-cta_item.\--tel {
  -webkit-column-gap: 0.125em;
     -moz-column-gap: 0.125em;
          column-gap: 0.125em;
  font-weight: 900;
  font-size: 1.5rem;
}
.c-cta_item.\--mail {
  -webkit-column-gap: 0.25em;
     -moz-column-gap: 0.25em;
          column-gap: 0.25em;
  font-weight: 600;
}
.c-cta_item > svg {
  inline-size: auto;
  block-size: 1.25rem;
}
.c-cta_item > span {
  -webkit-padding-after: 0.25rem;
          padding-block-end: 0.25rem;
}
.c-cta_notice {
  grid-area: 2/span 2;
  font-size: 0.625rem;
}
@media (min-width: 768px) {
  .c-cta {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
    -webkit-padding-end: 3.125rem;
            padding-inline-end: 3.125rem;
  }
}

@media (max-width: 767.98px) {
  .sticky-cta {
    position: fixed;
    inset-block-end: 0;
    z-index: 9;
    inline-size: 100%;
    block-size: 6.75rem;
    padding-block: 1.25rem;
    background-color: #fff;
  }
  .sticky-cta .top {
    position: absolute;
    inset-inline-end: 1.25rem;
    inset-block-start: -2.4375rem;
    overflow: clip;
    display: grid;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    inline-size: 2.5rem;
    block-size: 2.4375rem;
    border: 1px solid;
    -webkit-border-after: 0;
            border-block-end: 0;
    border-top-left-radius: 0.625rem;
    border-top-right-radius: 0.625rem;
    background-color: #fff;
  }
  .sticky-cta .top > svg {
    inline-size: 1.875rem;
    block-size: auto;
  }
}
.header {
  --_data-hover-color-1: var(--color-07);
  position: sticky;
  inset-block-start: 0;
  z-index: 10;
}
.header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  block-size: var(--nav);
  -webkit-border-after: 1px solid var(--color-10);
          border-block-end: 1px solid var(--color-10);
  background-color: #fff;
}
.header_button {
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
  place-items: center;
  inline-size: var(--nav);
  border: none;
  -webkit-border-start: 1px solid var(--color-10);
          border-inline-start: 1px solid var(--color-10);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  aspect-ratio: 1;
}
.header_button.is-open .wrapper > span:nth-of-type(1) {
  rotate: 45deg;
}
.header_button.is-open .wrapper > span:nth-of-type(2) {
  scale: 0 1;
}
.header_button.is-open .wrapper > span:nth-of-type(3) {
  rotate: -45deg;
}
.header_button > .wrapper {
  display: grid;
  -ms-flex-line-pack: justify;
      align-content: space-between;
}
.header_button > .wrapper > span {
  inline-size: 100%;
  block-size: 1px;
  background-color: #000;
  -webkit-transition-property: rotate, scale, translate;
  -o-transition-property: rotate, scale, translate;
  transition-property: rotate, scale, translate;
  -webkit-transition-duration: calc(var(--duration) * 2);
       -o-transition-duration: calc(var(--duration) * 2);
          transition-duration: calc(var(--duration) * 2);
}
.header_button > .label {
  -webkit-margin-after: var(--leading-trim);
          margin-block-end: var(--leading-trim);
}
.header_nav {
  position: fixed;
  inset-block-start: var(--nav);
  visibility: hidden;
  overflow-y: auto;
  background-color: #fff;
  -webkit-transition-property: visibility, translate, opacity;
  -o-transition-property: visibility, translate, opacity;
  transition-property: visibility, translate, opacity;
  -webkit-transition-duration: calc(var(--duration) * 2);
       -o-transition-duration: calc(var(--duration) * 2);
          transition-duration: calc(var(--duration) * 2);
  -webkit-transition-delay: calc(var(--duration) * 2) 0s 0s;
       -o-transition-delay: calc(var(--duration) * 2) 0s 0s;
          transition-delay: calc(var(--duration) * 2) 0s 0s;
  translate: 50% 0;
  opacity: 0;
  will-change: visibility, translate, opacity;
}
.header_nav.is-open {
  visibility: visible;
  -webkit-transition-delay: 0s;
       -o-transition-delay: 0s;
          transition-delay: 0s;
  translate: 0;
  opacity: 1;
}
.header_nav_inner {
  display: grid;
}
.header_nav_control {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 1px;
     -moz-column-gap: 1px;
          column-gap: 1px;
  -webkit-border-after: 1px solid var(--color-10);
          border-block-end: 1px solid var(--color-10);
  background-color: var(--color-10);
}
.header_nav_control_item {
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
  place-items: center;
  row-gap: 0.5em;
  inline-size: 100%;
  background-color: #fff;
}
.header_nav_control_item > svg {
  inline-size: 3.75rem;
}
.header_nav_control_item > span {
  -webkit-margin-after: var(--leading-trim);
          margin-block-end: var(--leading-trim);
}
.header_nav_list {
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  row-gap: 0.75em;
}
.header_nav_list > a {
  padding-block: 0.25em;
}
@media (max-width: 767.98px) {
  .header_inner {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-padding-start: var(--gap);
            padding-inline-start: var(--gap);
  }
  .header_logo {
    inline-size: 9.75rem;
  }
  .header_button.is-open .wrapper > span:nth-of-type(1) {
    translate: 0 0.53125rem;
  }
  .header_button.is-open .wrapper > span:nth-of-type(3) {
    translate: 0 -0.53125rem;
  }
  .header_button > .wrapper {
    inline-size: 1.75rem;
    block-size: 1.125rem;
    margin-block: 0.25rem;
  }
  .header_button > .label {
    font-size: 0.625rem;
  }
  .header_nav {
    block-size: calc(100dvh - var(--nav) - 6.75rem);
    -webkit-border-after: 1px solid var(--color-10);
            border-block-end: 1px solid var(--color-10);
  }
  .header_nav_control_item {
    aspect-ratio: 1.2/1;
  }
  .header_nav_list {
    padding: calc(var(--gap) * 2);
  }
}
@media (min-width: 768px) {
  .header_inner {
    -webkit-padding-start: 2.5rem;
            padding-inline-start: 2.5rem;
  }
  .header_logo {
    inline-size: 20.625rem;
  }
  .header_md-item {
    display: grid;
    -ms-flex-line-pack: center;
        align-content: center;
    place-items: center;
    row-gap: 0.625rem;
    inline-size: 6.25rem;
    font-size: 0.6875rem;
    -webkit-border-start: 1px solid var(--color-10);
            border-inline-start: 1px solid var(--color-10);
    -webkit-border-after: 1px solid var(--color-10);
            border-block-end: 1px solid var(--color-10);
    aspect-ratio: 1;
  }
  .header_md-item > svg {
    inline-size: 2.25rem;
    aspect-ratio: 1;
  }
  .header_button {
    -webkit-border-after: 1px solid var(--color-10);
            border-block-end: 1px solid var(--color-10);
  }
  .header_button.is-open .wrapper > span:nth-of-type(1) {
    translate: 0 0.75rem;
  }
  .header_button.is-open .wrapper > span:nth-of-type(3) {
    translate: 0 -0.75rem;
  }
  .header_button > .wrapper {
    inline-size: 2.375rem;
    block-size: 1.5625rem;
    margin-block: 0.65625rem;
  }
  .header_button > .label {
    font-size: 0.6875rem;
  }
  .header_nav {
    inset-inline-end: 0;
    display: grid;
    grid-template-rows: 1fr -webkit-max-content;
    grid-template-rows: 1fr max-content;
    inline-size: 25rem !important;
    block-size: calc(100dvh - var(--nav));
    -webkit-border-start: 1px solid var(--color-10);
            border-inline-start: 1px solid var(--color-10);
  }
  .header_nav_inner {
    grid-template-rows: 10rem auto;
  }
  .header_nav_list {
    padding: var(--gap);
  }
  .header_nav .c-cta {
    inline-size: 100%;
    padding: 1.25rem;
    -webkit-border-before: 1px solid var(--color-10);
            border-block-start: 1px solid var(--color-10);
  }
}

.hero .swiper-pagination {
  position: revert;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.hero .swiper-pagination-bullet {
  inline-size: 0.5rem;
}
.hero .swiper-pagination-bullet-active {
  background-color: var(--color-06);
}
.hero_pagination {
  position: absolute;
  inset-inline: 0;
  z-index: 1;
}
.hero img {
  inline-size: 100%;
}
.hero_link {
  position: absolute;
}
@media (max-width: 767.98px) {
  .hero .swiper-pagination {
    -webkit-column-gap: 2px;
       -moz-column-gap: 2px;
            column-gap: 2px;
  }
  .hero .swiper-pagination-bullet {
    block-size: 2px;
  }
  .hero_pagination {
    inset-block-end: 0.125rem;
  }
  body.dpf .hero_link {
    width: 10.625rem;
    height: 1.875rem;
    bottom: 0.25rem;
    left: 1.5625rem;
  }
  body.hv .hero_link {
    width: 12.8125rem;
    height: 1.9375rem;
    bottom: 0.8125rem;
    left: 0.625rem;
  }
  body.int .hero_link {
    width: 12.8125rem;
    height: 1.9375rem;
    bottom: 0.8125rem;
    left: 0.625rem;
  }
}
@media (min-width: 768px) {
  .hero .swiper-pagination {
    -webkit-column-gap: 0.5rem;
       -moz-column-gap: 0.5rem;
            column-gap: 0.5rem;
  }
  .hero .swiper-pagination-bullet {
    block-size: 0.5rem;
  }
  .hero_pagination {
    inset-block-end: 1.125rem;
  }
  body.dpf .hero_link {
    width: 50.625vw;
    height: 8.25vw;
    bottom: 2.8125vw;
    left: 2.5625vw;
  }
  body.hv .hero_link {
    width: 54.4375vw;
    height: 9.0625vw;
    bottom: 3vw;
    left: 2.5625vw;
  }
  body.int .hero_link {
    width: 54.4375vw;
    height: 9.0625vw;
    bottom: 3vw;
    left: 2.5625vw;
  }
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 !important;
}

.sec01 {
  font-weight: 400;
  text-align: center;
}
.sec01_list {
  display: grid;
  background-color: #fff;
  list-style-type: "";
}
.sec01_item {
  display: grid;
  -ms-flex-line-pack: start;
      align-content: start;
  justify-items: center;
}
.sec01_heading {
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  place-items: center;
}
.sec01_heading > span {
  grid-area: 1/-1;
  color: var(--color-06);
}
.sec01_heading::before {
  grid-area: 1/-1;
  line-height: 1;
  color: var(--color-08);
  content: attr(data-number);
}
.sec01_lead {
  color: var(--color-06);
}
.sec01_image {
  inline-size: 15.375rem;
}
.sec01_text {
  -webkit-margin-after: var(--leading-trim);
          margin-block-end: var(--leading-trim);
}
@media (max-width: 767.98px) {
  .sec01_heading {
    font-size: 2.25rem;
  }
  .sec01_heading::before {
    font-size: 6.875rem;
  }
  .sec01_heading > span {
    -webkit-padding-before: 0.5em;
            padding-block-start: 0.5em;
  }
  .sec01_list {
    -webkit-padding-before: 1.25rem;
            padding-block-start: 1.25rem;
  }
  .sec01_item {
    row-gap: 1.5rem;
    -webkit-padding-after: 1.25rem;
            padding-block-end: 1.25rem;
  }
  .sec01_item:nth-of-type(2) {
    border-block: 1px solid var(--color-06);
  }
  .sec01_lead {
    font-size: 1.25rem;
  }
  .sec01_image.\--2 {
    translate: -2rem 0;
  }
  .sec01_text {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .sec01_list {
    grid-template-columns: repeat(3, 1fr);
    padding-block: 2.5rem;
  }
  .sec01_item {
    row-gap: 1.875rem;
  }
  .sec01_item:nth-of-type(2) {
    border-inline: 1px solid var(--color-06);
  }
  .sec01_heading {
    font-size: 2.5rem;
  }
  .sec01_heading::before {
    -webkit-margin-before: -1.75rem;
            margin-block-start: -1.75rem;
    font-size: 10rem;
  }
  .sec01_lead {
    font-size: 1.6875rem;
  }
  .sec01_text {
    font-size: 1.375rem;
  }
}

.sec02_table {
  inline-size: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.sec02_table :is(td, th) {
  padding: 0.5em;
  border: 1px solid var(--color-11);
}
.sec02_table th {
  color: #fff;
  background-color: var(--color-06);
}
.sec02_table td {
  background-color: #fff;
}
.sec02 .pagination.\--lp {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.sec02 .pagination.\--lp svg {
  inline-size: 1em;
  block-size: auto;
  -webkit-padding-before: 0.125rem;
          padding-block-start: 0.125rem;
}
.sec02 .pagination.\--lp > nav {
  line-height: 1;
}
.sec02 .pagination.\--lp > nav > div:first-of-type {
  display: none;
}
.sec02 .pagination.\--lp > nav > div:last-of-type > div > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25em;
}
.sec02 .pagination.\--lp > nav > div:last-of-type > div > span > * {
  display: grid;
  place-items: center;
  min-inline-size: 2.25rem;
  block-size: 2.25rem;
  padding: 0.25em 0.25em calc(0.25em + 0.125rem);
  border: 1px solid var(--color-11);
  background-color: #fff;
}
.sec02 .pagination.\--lp > nav > div:last-of-type > div > span > *[aria-current=page] {
  color: var(--color-11);
  background-color: #eee;
}
@media (max-width: 767.98px) {
  .sec02 {
    padding-block: 3.0625rem 4rem;
  }
  .sec02_heading {
    font-size: 1.125rem;
  }
  .sec02_scroll {
    overflow-x: auto;
  }
  .sec02_table :is(td, th) {
    inline-size: 15rem;
  }
}
@media (min-width: 768px) {
  .sec02 {
    -webkit-padding-after: 3.75rem;
            padding-block-end: 3.75rem;
    font-size: 1.125rem;
  }
}

.sec03_inner {
  display: grid;
}
.sec03_body {
  display: grid;
}
.sec03_title {
  font-weight: 700;
  color: var(--color-06);
}
.sec03_model {
  -ms-flex-item-align: end;
      align-self: end;
  white-space: nowrap;
}
.sec03_price {
  justify-self: end;
  font-weight: 900;
  line-height: 1;
  color: var(--color-01);
}
@media (max-width: 767.98px) {
  .sec03 {
    padding-block: 3.0625rem 4rem;
  }
  .sec03_inner {
    row-gap: 2.5rem;
  }
  .sec03_image {
    inline-size: 100%;
  }
  .sec03_body {
    grid-template-columns: auto 1fr;
    -webkit-column-gap: 1em;
       -moz-column-gap: 1em;
            column-gap: 1em;
  }
  .sec03_title {
    font-size: 1.5rem;
  }
  .sec03_model {
    -webkit-padding-after: 0.125rem;
            padding-block-end: 0.125rem;
  }
  .sec03_price {
    grid-column: span 2;
    font-size: 2.25rem;
  }
}
@media (min-width: 768px) {
  .sec03 {
    -webkit-padding-after: 3.75rem;
            padding-block-end: 3.75rem;
  }
  .sec03_inner {
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 5.625rem;
       -moz-column-gap: 5.625rem;
            column-gap: 5.625rem;
  }
  .sec03_image {
    inline-size: 26.25rem;
  }
  .sec03_body {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
  }
  .sec03_title {
    grid-column: span 2;
    font-size: 1.625rem;
  }
  .sec03_model {
    font-size: 1.25rem;
  }
  .sec03_price {
    font-size: 2.625rem;
  }
}

.sec04_tablist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  font-weight: 700;
}
.sec04_tab {
  padding-block: 0.5em 0.75em;
  border: none;
}
.sec04_tab[aria-selected=true] {
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
  text-decoration-thickness: 0.125em;
  text-underline-offset: 0.25em;
  color: var(--color-06);
  pointer-events: none;
}
.sec04_tab[aria-selected=false] {
  color: var(--color-12);
  background-color: var(--color-09);
}
@media (any-hover: hover) {
  .sec04_tab[aria-selected=false] {
    -webkit-transition: background-color var(--duration);
    -o-transition: background-color var(--duration);
    transition: background-color var(--duration);
  }
  .sec04_tab[aria-selected=false]:is(:hover, :focus-visible) {
    background-color: var(--color-05);
  }
}
.sec04_panel_inner {
  display: grid;
}
.sec04_panel_item {
  display: grid;
  grid-auto-rows: -webkit-max-content;
  grid-auto-rows: max-content;
  background-color: #fff;
}
.sec04_panel_heading {
  font-weight: 700;
  color: var(--color-06);
}
.sec04_panel_row {
  display: grid;
  row-gap: 1lh;
}
.sec04_panel :is(dl, .m-indent) {
  font-size: 0.875rem;
}
.sec04_panel_list {
  -webkit-padding-start: 1.5em;
          padding-inline-start: 1.5em;
}
.sec04_panel_list strong {
  font-weight: 400;
  color: var(--color-02);
}
.sec04_image.\--1 {
  border: 1px solid var(--color-10);
}
.sec04_download {
  --_data-hover-color-1: #fff;
  --_data-hover-color-2: var(--color-03);
  display: grid;
  place-items: center;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .sec04 {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
    text-align: justify;
  }
  .sec04_panel_inner {
    row-gap: 1.25rem;
    padding-inline: var(--gap);
    -webkit-padding-before: 1.5rem;
            padding-block-start: 1.5rem;
  }
  .sec04_panel_item {
    row-gap: 1.25rem;
    -webkit-padding-after: 2.5rem;
            padding-block-end: 2.5rem;
  }
  .sec04_panel_item:not(.sec04_panel_item:last-of-type) {
    -webkit-border-after: 1px solid var(--color-06);
            border-block-end: 1px solid var(--color-06);
  }
  .sec04_panel_heading {
    font-size: 1.5rem;
    text-align: center;
  }
  .sec04_download {
    block-size: 4rem;
    font-size: 1.5rem;
  }
  .sec04 .sm-1-1 {
    grid-area: 1/1;
  }
  .sec04 .sm-2-1 {
    grid-area: 2/1;
  }
  .sec04 .sm-3-1 {
    grid-area: 3/1;
  }
  .sec04_image {
    inline-size: 100%;
  }
}
@media (min-width: 768px) {
  .sec04 {
    -webkit-padding-after: 3.75rem;
            padding-block-end: 3.75rem;
  }
  .sec04_tablist {
    font-size: 1.625rem;
  }
  .sec04_panel_inner {
    grid-template-rows: auto auto;
    grid-template-columns: repeat(2, 1fr);
    padding: 4rem 2rem 2.5rem;
  }
  .sec04_panel_item {
    row-gap: 1.5rem;
  }
  .sec04_panel_item:nth-of-type(-n + 2) {
    -webkit-padding-after: 2rem;
            padding-block-end: 2rem;
    -webkit-border-after: 1px solid var(--color-06);
            border-block-end: 1px solid var(--color-06);
  }
  .sec04_panel_item:nth-of-type(n + 3) {
    -webkit-padding-before: 2rem;
            padding-block-start: 2rem;
  }
  .sec04_panel_item:nth-of-type(odd) {
    -webkit-padding-end: 2rem;
            padding-inline-end: 2rem;
    -webkit-border-end: 1px solid var(--color-06);
            border-inline-end: 1px solid var(--color-06);
  }
  .sec04_panel_item:nth-of-type(even) {
    -webkit-padding-start: 2rem;
            padding-inline-start: 2rem;
  }
  .sec04_panel_heading {
    font-size: 1.625rem;
  }
  .sec04_panel_row {
    grid-template-rows: -webkit-max-content 1fr;
    grid-template-rows: max-content 1fr;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    font-size: 1.125rem;
  }
  .sec04 .md-span2-1 {
    grid-area: span 2/1;
  }
  .sec04 .md-1-2 {
    grid-area: 1/2;
  }
  .sec04 .md-2-2 {
    grid-area: 2/2;
  }
  .sec04 .md-3-span2 {
    grid-area: 3/span 2;
  }
  .sec04_image.\--1 {
    inline-size: 17.125rem;
  }
  .sec04_image:not(.\--1) {
    inline-size: 18.125rem;
  }
  .sec04_download {
    block-size: 3rem;
    -webkit-padding-after: 0.125rem;
            padding-block-end: 0.125rem;
  }
}

.sec05 a {
  text-decoration: underline;
  color: var(--color-06);
}
.sec05 strong {
  font-weight: 400;
  color: var(--color-02);
}
.sec05_heading {
  display: grid;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  place-items: center;
}
.sec05_heading::before {
  grid-area: 1/-1;
  font-weight: 900;
  color: var(--_faq_en_color, #e9eff7);
  content: attr(data-en);
}
.sec05_heading > span {
  grid-area: 1/-1;
}
.sec05_inner {
  display: grid;
  row-gap: 1.25rem;
}
.sec05_item {
  display: grid;
  row-gap: 1.25rem;
}
.sec05_item:not(.sec05_item:last-of-type) {
  -webkit-padding-after: 1.25rem;
          padding-block-end: 1.25rem;
  -webkit-border-after: 1px dotted #707070;
          border-block-end: 1px dotted #707070;
}
:is(.sec05_question, .sec05_answer) {
  display: grid;
  background-position: 0 50%;
  background-repeat: no-repeat;
}
.sec05_question {
  font-weight: 700;
  color: var(--color-06);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='%230071bc'%3E%3Cpath d='M30 56.17C15.57 56.17 3.83 44.43 3.83 30S15.57 3.83 30 3.83 56.17 15.57 56.17 30 44.43 56.17 30 56.17Zm0-50.34C16.67 5.83 5.83 16.67 5.83 30S16.67 54.17 30 54.17 54.17 43.33 54.17 30 43.33 5.83 30 5.83Z'/%3E%3Cpath d='M38.84 27.91c0 2.08-.37 3.88-1.12 5.41-.75 1.53-1.9 2.64-3.46 3.33l4.47 4.99h-5.04l-3.41-4.16h-.29c-2.01 0-3.67-.4-4.98-1.2-1.31-.8-2.28-1.91-2.91-3.35-.63-1.44-.95-3.12-.95-5.04s.32-3.6.95-5.02c.63-1.42 1.6-2.53 2.91-3.31 1.31-.79 2.98-1.18 5-1.18s3.67.39 4.97 1.18c1.3.79 2.27 1.9 2.9 3.33s.95 3.11.95 5.03Zm-13.55 0c0 1.94.37 3.47 1.12 4.59.75 1.12 1.94 1.68 3.59 1.68s2.89-.56 3.61-1.68c.73-1.12 1.09-2.65 1.09-4.59s-.36-3.47-1.09-4.59-1.92-1.68-3.59-1.68-2.87.56-3.61 1.68-1.12 2.65-1.12 4.59Z'/%3E%3C/svg%3E%0A");
}
.sec05_answer {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Ccircle cx='30' cy='30' r='26.17' fill='%230071bc'/%3E%3Cpath d='m34.73 39.32-1.35-4.42h-6.76l-1.35 4.42h-4.24l6.55-18.64h4.81l6.58 18.64h-4.24Zm-2.29-7.72-1.35-4.32c-.09-.29-.2-.67-.34-1.12-.14-.45-.28-.91-.42-1.38-.14-.47-.25-.88-.34-1.22-.09.35-.2.78-.35 1.29-.15.51-.29 1-.42 1.46-.13.46-.23.78-.3.98l-1.33 4.32h4.84Z' fill='%23fff'/%3E%3C/svg%3E%0A");
}
@media (max-width: 767.98px) {
  .sec05 {
    -webkit-padding-after: 4rem;
            padding-block-end: 4rem;
  }
  .sec05_heading::before {
    font-size: 5.625rem;
  }
  .sec05_heading > span {
    -webkit-padding-before: 0.25em;
            padding-block-start: 0.25em;
  }
  :is(.sec05_question, .sec05_answer) {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-block-size: 1.875rem;
    -webkit-padding-start: 2.625rem;
            padding-inline-start: 2.625rem;
    background-position: 0 0;
    background-size: 1.875rem;
  }
  .sec05_question {
    font-size: 1.125rem;
    line-height: 1.3333333333;
  }
  .sec05_answer {
    text-align: justify;
    line-height: 1.625;
  }
}
@media (min-width: 768px) {
  .sec05 {
    -webkit-padding-after: 3.75rem;
            padding-block-end: 3.75rem;
  }
  .sec05_heading::before {
    font-size: 4.625rem;
  }
  .sec05_heading > span {
    -webkit-padding-before: 0.25em;
            padding-block-start: 0.25em;
  }
  :is(.sec05_question, .sec05_answer) {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-block-size: 3.75rem;
    -webkit-padding-start: 4.5rem;
            padding-inline-start: 4.5rem;
    background-size: 3.75rem;
  }
  .sec05_question {
    font-size: 1.5rem;
  }
  .sec05_answer {
    font-size: 1.125rem;
  }
}

.sec06 {
  --_submit_border-radius: calc(15 * var(--rem));
  --_submit_offset-y: calc(5 * var(--rem));
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--color-06)), to(var(--color-08)));
  background-image: -o-linear-gradient(var(--color-06) var(--_background-block-size), var(--color-08) var(--_background-block-size));
  background-image: linear-gradient(var(--color-06) var(--_background-block-size), var(--color-08) var(--_background-block-size));
}
.sec06_container {
  background-color: #fff;
}
.sec06_inner {
  display: grid;
}
.sec06_search {
  display: grid;
}
.sec06_label {
  font-weight: 700;
}
.sec06_select {
  block-size: 3.25rem;
  padding-inline: 1em calc(2em + 0.75rem);
  border: 1px solid;
  border-radius: 0.5rem;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 6'%3E%3Cpath d='M.39.19 6 5.81 11.61.19H.39z'/%3E%3C/svg%3E%0A");
  background-position: top 50% right 1em;
  background-repeat: no-repeat;
  background-size: 0.75rem 0.375rem;
}
.sec06_submit {
  display: grid;
  grid-template-columns: 2.75rem auto 2.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  block-size: 5rem;
  margin-inline: auto;
  padding-inline: 1.5rem;
  font-weight: 700;
  font-size: 2.25rem;
  color: #fff;
  border: none;
  border-radius: var(--_submit_border-radius);
  -webkit-box-shadow: 0 var(--_submit_offset-y) var(--_submit_shadow, #002e88);
          box-shadow: 0 var(--_submit_offset-y) var(--_submit_shadow, #002e88);
  background-color: var(--color-06);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.sec06_foot {
  display: grid;
  justify-items: center;
}
.sec06_button {
  display: grid;
  grid-template-columns: 2rem auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
  inline-size: 21.25rem;
  block-size: 3.625rem;
  padding-inline: 1rem;
  font-weight: 700;
  color: #fff;
  border-radius: var(--_submit_border-radius);
  -webkit-box-shadow: 0 var(--_submit_offset-y) #7a9f3c;
          box-shadow: 0 var(--_submit_offset-y) #7a9f3c;
  background-color: #98c548;
}
@media (max-width: 767.98px) {
  .sec06 {
    --_background-block-size: calc(90 * var(--rem));
    -webkit-padding-before: 3.75rem;
            padding-block-start: 3.75rem;
  }
  .sec06_container {
    padding-inline: var(--gap);
    -webkit-padding-after: 3.5rem;
            padding-block-end: 3.5rem;
  }
  .sec06_inner {
    row-gap: 1.875rem;
    -webkit-padding-before: 0.9375rem;
            padding-block-start: 0.9375rem;
  }
  .sec06_heading {
    line-height: 1.1666666667;
  }
  .sec06_search {
    row-gap: 1.875rem;
  }
  .sec06_search_item {
    display: grid;
    justify-items: center;
    row-gap: 0.25em;
  }
  .sec06_label {
    font-size: 1.25rem;
  }
  .sec06_select {
    inline-size: 100%;
  }
  .sec06_submit {
    inline-size: 100%;
  }
  .sec06_foot {
    row-gap: 1.25rem;
  }
  .sec06_button {
    inline-size: 100%;
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .sec06 {
    --_background-block-size: calc(260 * var(--rem));
    -webkit-padding-before: 5rem;
            padding-block-start: 5rem;
    font-size: 1.25rem;
  }
  .sec06_container {
    -webkit-padding-after: 5rem;
            padding-block-end: 5rem;
  }
  .sec06_inner {
    row-gap: 4rem;
  }
  .sec06_heading {
    font-size: 2.8125rem;
  }
  .sec06_search {
    grid-template-columns: repeat(2, auto);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 3rem 4.5rem;
  }
  .sec06_search_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-column-gap: 0.5em;
       -moz-column-gap: 0.5em;
            column-gap: 0.5em;
  }
  .sec06_select {
    inline-size: 16.25rem;
  }
  .sec06_submit {
    grid-column: span 2;
    inline-size: 21.25rem;
  }
  .sec06_foot {
    row-gap: 1.875rem;
  }
  .sec06_button {
    inline-size: 21.25rem;
    font-size: 1.625rem;
  }
}

.sec07_inner {
  display: grid;
}
.sec07_item-wrapper {
  display: grid;
  row-gap: 1em;
}
.sec07_button-wrapper {
  display: grid;
}
.sec07_button {
  --_data-hover-color-1: #fff;
  --_data-hover-color-2: var(--color-03);
  display: grid;
  -ms-flex-line-pack: center;
      align-content: center;
  justify-items: center;
  row-gap: 0.5em;
  font-weight: 700;
  font-size: 1.25rem;
}
.sec07_button > span {
  -webkit-margin-after: var(--leading-trim);
          margin-block-end: var(--leading-trim);
}
.sec07_gallery {
  display: grid;
}
.sec07_gallery figure {
  display: grid;
  row-gap: 0.25em;
}
.sec07_gallery figcaption {
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 767.98px) {
  .sec07 {
    padding-block: 3.0625rem 4rem;
  }
  .sec07_inner {
    row-gap: 1em;
  }
  .sec07_gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gap);
  }
  .sec07_gallery img {
    inline-size: 100%;
  }
  .sec07_button-wrapper {
    row-gap: var(--gap);
  }
  .sec07_button {
    grid-template-columns: -webkit-max-content 9em;
    grid-template-columns: max-content 9em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    justify-items: start;
    -webkit-column-gap: 0.5em;
       -moz-column-gap: 0.5em;
            column-gap: 0.5em;
    block-size: 6.25rem;
  }
  .sec07_button > svg {
    inline-size: 2.5rem;
  }
}
@media (min-width: 768px) {
  .sec07 {
    -webkit-padding-after: 3.75rem;
            padding-block-end: 3.75rem;
  }
  .sec07_inner {
    row-gap: 6.25rem;
    font-size: 1.25rem;
    text-align: center;
  }
  .sec07_button-wrapper {
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 1.75rem;
       -moz-column-gap: 1.75rem;
            column-gap: 1.75rem;
    inline-size: -webkit-max-content;
    inline-size: -moz-max-content;
    inline-size: max-content;
    margin-inline: auto;
  }
  .sec07_button {
    inline-size: 17.75rem;
    block-size: 9.625rem;
  }
  .sec07_button > svg {
    inline-size: 3.75rem;
  }
  .sec07_gallery {
    grid-template-columns: repeat(4, 1fr);
    -webkit-column-gap: 1.75rem;
       -moz-column-gap: 1.75rem;
            column-gap: 1.75rem;
  }
  .sec07_image {
    inline-size: 16.875rem;
  }
}

.sec08 {
  display: grid;
}
.sec08_hgroup {
  font-weight: 700;
  text-align: center;
  color: #fff;
}
@media (max-width: 767.98px) {
  .sec08 {
    row-gap: 2rem;
    padding-block: 2rem;
  }
  .sec08 img {
    inline-size: 100%;
  }
  .sec08_heading {
    -webkit-margin-before: var(--leading-trim);
            margin-block-start: var(--leading-trim);
    font-size: 3rem;
  }
  .sec08_lead {
    font-size: 1.375rem;
  }
}
@media (min-width: 768px) {
  .sec08 {
    row-gap: 1lh;
    padding-block: 3.5rem;
  }
  .sec08_hgroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.625rem;
  }
  .sec08_image {
    inline-size: 43.875rem;
    margin-inline: auto;
  }
}

.footer {
  background-color: #fff;
}
.footer_nav_wrapper > a {
  position: relative;
}
.footer_nav_wrapper > a::before {
  position: absolute;
  inset-inline-start: -0.75em;
  inset-block: 0;
  -webkit-padding-end: 0.5em;
          padding-inline-end: 0.5em;
  content: ">";
}
.footer_foot {
  display: grid;
  place-items: center;
  font-size: 0.75rem;
  color: #fff;
  background-color: #000;
}
@media (max-width: 767.98px) {
  .footer_nav {
    display: grid;
    row-gap: 0.5rem;
    padding: 1.875rem 1.25rem;
    font-size: 1.125rem;
  }
  .footer_nav_wrapper {
    display: grid;
    row-gap: 0.5em;
    -webkit-margin-after: 1em;
            margin-block-end: 1em;
    -webkit-padding-start: 0.75em;
            padding-inline-start: 0.75em;
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--color-06);
  }
  .footer_foot {
    padding-block: 0.75rem 7.5rem;
  }
}
@media (min-width: 768px) {
  .footer_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    block-size: 10.625rem;
    padding: 1.25rem 1.25rem 1.25rem 2.5rem;
  }
  .footer_link {
    -ms-flex-item-align: center;
        align-self: center;
    inline-size: 20.625rem;
  }
  .footer_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -ms-flex-item-align: end;
        align-self: flex-end;
    -webkit-column-gap: 2em;
       -moz-column-gap: 2em;
            column-gap: 2em;
    font-size: 0.75rem;
  }
  .footer_nav_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-column-gap: 2em;
       -moz-column-gap: 2em;
            column-gap: 2em;
    inline-size: 100%;
    -webkit-margin-after: 1.5rem;
            margin-block-end: 1.5rem;
  }
  .footer_nav > a {
    position: relative;
  }
  .footer_nav > a ~ a::before {
    position: absolute;
    inset-inline-start: calc(-1em - 1.615px);
    inset-block-start: -0.078125rem;
    content: "|";
    pointer-events: none;
  }
  .footer_foot {
    block-size: 2.5rem;
  }
}

/* helper
-------------------------------------------------------------------------------- */
@media (max-width: 767.98px) {
  .sm {
    display: block;
  }
  .smf {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .smg {
    display: grid;
  }
  :is(.md, .mdf, .mdg) {
    display: none;
  }
}
@media (min-width: 768px) {
  .md {
    display: block;
  }
  .mdf {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .mdg {
    display: grid;
  }
  :is(.sm, .smf, .smg) {
    display: none;
  }
}
.upper {
  text-transform: uppercase;
}
