@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
}

span, picture {
  display: inline-block;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

input,
textarea,
select {
  font: inherit;
}

/*----------------------------------
  レイアウト（単位不要）
----------------------------------*/
/*----------------------------------
  color
----------------------------------*/
/*----------------------------------
  font-family
----------------------------------*/
/*----------------------------------
  z-index
----------------------------------*/
html {
  scroll-behavior: smooth;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.5625vw;
  }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 16px;
  }
}

body {
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
}
body.is-fixed {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
  }
}
.c-button {
  position: relative;
  width: 14.5rem;
  height: 3.5rem;
  display: grid;
  place-items: center;
  border: 2px solid #FD8652;
  border-radius: 3.125rem;
  background-color: #FD8652;
  color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  margin-inline: auto;
  -webkit-transition: background-color 0.4s, color 0.4s;
  transition: background-color 0.4s, color 0.4s;
}
.c-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.75rem;
  translate: 0 -50%;
  width: 1.25rem;
  aspect-ratio: 1/1;
  background: url(../img/common/button-arrow-icon.png) center/contain no-repeat;
  -webkit-transition: background-image 0.4s;
  transition: background-image 0.4s;
}
@media (any-hover: hover) {
  .c-button:hover {
    opacity: 1;
    background-color: #FFF;
    color: #FD8652;
  }
  .c-button:hover::after {
    background-image: url(../img/common/button-arrow-icon--orange.png);
  }
}

.c-follow-side-nav {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: visible;
  opacity: 1;
  -webkit-transition: visibility 0.6s, opacity 0.6s;
  transition: visibility 0.6s, opacity 0.6s;
  z-index: 99;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav {
    top: 24%;
    bottom: unset;
    width: unset;
    display: unset;
  }
}
.c-follow-side-nav.is-hidden {
  visibility: hidden;
  opacity: 0;
}
@media (orientation: landscape) and (max-height: 599px) {
  .c-follow-side-nav {
    display: none;
  }
}

.c-follow-side-nav__button {
  position: relative;
  width: 33.33%;
  height: 3.125rem;
  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;
  gap: 0.25rem;
  border-radius: 1rem 1rem 0 0;
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  padding-inline: 0.25rem;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button {
    translate: 0.375rem 0;
    width: 4.3125rem;
    height: 10rem;
    -webkit-box-pack: unset;
        -ms-flex-pack: unset;
            justify-content: unset;
    gap: unset;
    border-radius: 1rem 0 0 1rem;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    font-size: 1rem;
    letter-spacing: 0.25rem;
    -webkit-transition: translate 0.4s;
    transition: translate 0.4s;
  }
}
@media screen and (min-width: 768px) and (any-hover: hover) {
  .c-follow-side-nav__button:hover {
    opacity: 1;
    translate: 0 0;
  }
}
.c-follow-side-nav__button:nth-of-type(1) {
  background-color: #12B3F1;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button:nth-of-type(1) {
    padding: 2.5rem 0.375rem 0.25rem 0;
  }
}
.c-follow-side-nav__button:nth-of-type(1)::before {
  width: 1.625rem;
  aspect-ratio: 31/17;
  background: url(../img/common/supplement-icon--white.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button:nth-of-type(1)::before {
    top: 0.9375rem;
    width: 1.9375rem;
  }
}
.c-follow-side-nav__button:nth-of-type(1) .c-follow-side-nav__button-text {
  width: 4.375rem;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button:nth-of-type(1) .c-follow-side-nav__button-text {
    width: unset !important;
  }
}
.c-follow-side-nav__button:nth-of-type(2) {
  background-color: #2670C4;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button:nth-of-type(2) {
    padding: 2.625rem 0.375rem 0.625rem 0;
  }
}
.c-follow-side-nav__button:nth-of-type(2)::before {
  width: 1.375rem;
  aspect-ratio: 26/27;
  background: url(../img/common/beer-icon--white.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button:nth-of-type(2)::before {
    top: 0.625rem;
    width: 1.625rem;
  }
}
.c-follow-side-nav__button:nth-of-type(2) .c-follow-side-nav__button-text {
  width: 5rem;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button:nth-of-type(2) .c-follow-side-nav__button-text {
    width: unset;
  }
}
.c-follow-side-nav__button::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button::before {
    position: absolute;
    left: calc(50% - 0.375rem);
    translate: -50% 0;
  }
}

.c-follow-side-nav__button-text--small {
  position: relative;
  font-size: 0.6875rem;
  padding-right: 0.875rem;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button-text--small {
    padding: 0 0 0.875rem 0;
  }
}
.c-follow-side-nav__button-text--small::before {
  content: "";
  position: absolute;
  bottom: 50%;
  right: 0;
  translate: 0 50%;
  width: 1rem;
  aspect-ratio: 1/1;
  background: url(../img/common/button-arrow-icon.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .c-follow-side-nav__button-text--small::before {
    bottom: 0;
    right: 50%;
    translate: 50% 0;
  }
}

.c-follow-nav__button {
  width: 33.33%;
  height: 3.125rem;
  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;
  gap: 0.25rem;
  border-radius: 1rem 1rem 0 0;
  background-color: #FD8652;
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.075rem;
  padding-inline: 0.25rem;
  -webkit-transition: visibility 0.6s, opacity 0.6s, translate 0.4s;
  transition: visibility 0.6s, opacity 0.6s, translate 0.4s;
  z-index: 99;
}
@media screen and (min-width: 768px) {
  .c-follow-nav__button {
    position: fixed;
    bottom: 1.625rem;
    right: 1.625rem;
    width: 7.75rem;
    height: unset;
    aspect-ratio: 1/1;
    display: unset;
    border-radius: 50%;
    text-align: center;
    font-size: 1.25rem;
    padding: 2.6875rem 0 0;
  }
}
.c-follow-nav__button::before, .c-follow-nav__button::after {
  content: "";
}
@media screen and (min-width: 768px) {
  .c-follow-nav__button::before, .c-follow-nav__button::after {
    position: absolute;
  }
}
.c-follow-nav__button::before {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 1.5rem;
  aspect-ratio: 1/1;
  background: url(../img/common/mail-icon--white.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .c-follow-nav__button::before {
    top: 1.125rem;
    left: 50%;
    translate: -50% 0;
  }
}
.c-follow-nav__button::after {
  display: none;
  inset: 0;
  width: 7.125rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid #FFF;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .c-follow-nav__button::after {
    display: block;
  }
}
@media screen and (any-hover: hover) and (min-width: 768px) {
  .c-follow-nav__button:hover {
    opacity: 1;
    translate: 0 -0.5rem;
  }
}
.c-follow-nav__button.is-hidden {
  visibility: hidden;
  opacity: 0;
}

.c-follow-nav__button-text {
  width: 4.375rem;
}
@media screen and (min-width: 768px) {
  .c-follow-nav__button-text {
    width: 6.25rem;
  }
}

/*----------------------------------
  英語
----------------------------------*/
@media screen and (min-width: 768px) {
  html.lang-en .c-follow-side-nav {
    top: 30%;
  }
}
html.lang-en .c-follow-side-nav__button {
  font-size: 0.6875rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .c-follow-side-nav__button {
    height: 13.125rem;
    font-size: 0.8125rem;
    padding-inline: 2.5rem 0;
  }
}
html.lang-en .c-follow-side-nav__button:nth-of-type(1) .c-follow-side-nav__button-text {
  width: min(6rem, 100%);
}
@media screen and (min-width: 768px) {
  html.lang-en .c-follow-side-nav__button:nth-of-type(1) .c-follow-side-nav__button-text {
    width: unset;
  }
}
html.lang-en .c-follow-side-nav__button:nth-of-type(2) .c-follow-side-nav__button-text {
  width: min(5rem, 100%);
}
@media screen and (min-width: 768px) {
  html.lang-en .c-follow-side-nav__button:nth-of-type(2) .c-follow-side-nav__button-text {
    width: unset;
  }
}
@media screen and (min-width: 768px) {
  html.lang-en .c-follow-side-nav__button-text--small::before {
    rotate: 90deg;
  }
}
html.lang-en .c-follow-nav__button {
  font-size: 0.6875rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .c-follow-nav__button {
    width: 7.75rem;
    font-size: 0.875rem;
    padding: 2.6875rem 0 0;
  }
}
html.lang-en .c-follow-nav__button::after {
  width: 7.125rem;
}
html.lang-en .c-follow-nav__button-text {
  width: min(5.625rem, 100%);
}
@media screen and (min-width: 768px) {
  html.lang-en .c-follow-nav__button-text {
    width: unset;
  }
}

/*----------------------------------
  中国語
----------------------------------*/
html.lang-cn .c-follow-side-nav__button:nth-of-type(2) .c-follow-side-nav__button-text {
  width: min(4.125rem, 100%);
}
@media screen and (min-width: 768px) {
  html.lang-cn .c-follow-side-nav__button:nth-of-type(2) .c-follow-side-nav__button-text {
    width: unset;
  }
}

.c-heading__head {
  text-align: center;
}
.c-heading__head:has(.c-heading--white) {
  text-align: left;
  margin-left: 0.125rem;
}

.c-heading {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0.2rem;
}
@media screen and (min-width: 768px) {
  .c-heading {
    font-size: 3rem;
    line-height: 1;
    letter-spacing: 0.36rem;
  }
}

.c-heading--sub {
  color: #039DD6;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.125rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-heading--sub {
    font-size: 1.25rem;
  }
}

.c-heading--white {
  color: #FFF;
}

.c-heading--sub-white {
  color: #FFF;
}

.c-heading--dot {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.25rem;
  padding-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-heading--dot {
    font-size: 2.5rem;
    line-height: 1;
    padding-left: 2.25rem;
  }
}
.c-heading--dot::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 0.75rem;
  aspect-ratio: 1/1;
  background-color: #00B3E9;
  margin-top: 0.125rem;
}
@media screen and (min-width: 768px) {
  .c-heading--dot::before {
    width: 1rem;
    margin-top: 0;
  }
}

.c-heading--dot-small {
  font-size: 1.375rem;
  padding-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-heading--dot-small {
    font-size: 2rem;
    padding-left: 1.875rem;
  }
}
.c-heading--dot-small::before {
  width: 0.625rem;
  background-color: #2670C4;
  margin-top: 0.125rem;
}
@media screen and (min-width: 768px) {
  .c-heading--dot-small::before {
    width: 0.875rem;
  }
}

.c-heading--small {
  position: relative;
  border-bottom: 2px solid #2670C4;
  color: #2670C4;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3;
  padding: 0 0 0.625rem 2.625rem;
}
@media screen and (min-width: 768px) {
  .c-heading--small {
    font-size: clamp(2rem, 0.9333333333rem + 1.6666666667vw, 2.25rem);
    line-height: 1;
    padding: 0 0 1.125rem 3.75rem;
  }
}
.c-heading--small::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  scale: 0.8;
  width: 2.5rem;
  aspect-ratio: 1/1;
  background: center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .c-heading--small::before {
    left: 0.625rem;
    scale: 1;
  }
}
.c-heading--small.icon-supplement::before {
  top: 0.25rem;
  aspect-ratio: 40/23;
  background-image: url(../img/common/supplement-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-supplement::before {
    top: 0.5rem;
    left: 0.875rem;
  }
}
.c-heading--small.icon-merit::before {
  left: 0.5rem;
  width: 1.625rem;
  aspect-ratio: 26/40;
  background-image: url(../img/common/merit-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-merit::before {
    top: -0.0625rem;
    left: 1.0625rem;
  }
}
.c-heading--small.icon-disadvantages::before {
  top: 0.1875rem;
  aspect-ratio: 40/35;
  background-image: url(../img/common/disadvantages-icon.png);
}
.c-heading--small.icon-type::before {
  top: -0.125rem;
  background-image: url(../img/common/type-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-type::before {
    top: 0.125rem;
  }
}
.c-heading--small.icon-yen::before {
  top: -0.25rem;
  background-image: url(../img/common/yen-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-yen::before {
    top: 0rem;
  }
}
.c-heading--small.icon-check-point::before {
  background-image: url(../img/common/check-point-icon.png);
}
.c-heading--small.icon-information::before {
  background-image: url(../img/common/information-icon.png);
}
.c-heading--small.icon-summary::before {
  background-image: url(../img/common/summary-icon.png);
}
.c-heading--small.icon-juice::before {
  background-image: url(../img/common/juice-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-juice::before {
    top: -0.125rem;
  }
}
.c-heading--small.icon-document::before {
  background-image: url(../img/common/document-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-document::before {
    top: -0.125rem;
  }
}
.c-heading--small.icon-workflow::before {
  background-image: url(../img/common/workflow-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-workflow::before {
    top: -0.125rem;
  }
}
.c-heading--small.icon-fresh-food::before {
  background-image: url(../img/common/fresh-food-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-fresh-food::before {
    top: -0.125rem;
  }
}
.c-heading--small.icon-pet-supplements::before {
  background-image: url(../img/common/pet-supplements-icon.png);
}
.c-heading--small.icon-medal::before {
  background-image: url(../img/common/medal-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-medal::before {
    top: -0.125rem;
  }
}
.c-heading--small.icon-policy::before {
  aspect-ratio: 40/35.5;
  background-image: url(../img/common/policy-icon.png);
}
.c-heading--small.icon-hdlsop::before {
  background-image: url(../img/common/hdlsop-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-hdlsop::before {
    top: -0.125rem;
  }
}
.c-heading--small.icon-ivy::before {
  background-image: url(../img/common/ivy-icon.png);
}
.c-heading--small.icon-supply::before {
  background-image: url(../img/common/supply-icon.png);
}
@media screen and (min-width: 768px) {
  .c-heading--small.icon-supply::before {
    top: 0.125rem;
  }
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .c-heading--dot {
  letter-spacing: 0.125rem;
}

.c-hero {
  width: 100%;
  height: 15rem;
  display: grid;
  place-items: center;
  border-radius: 0 0 0 3.75rem;
  background: center/cover no-repeat;
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .c-hero {
    height: unset;
    aspect-ratio: 1440/350;
    border-radius: 0 0 0 6.25rem;
    margin-top: 10.375rem;
  }
}
@media screen and (min-width: 1440px) {
  .c-hero {
    margin-top: 9.375rem;
  }
}

.c-hero__box {
  text-align: center;
}

.c-hero__heading {
  color: #FFF;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .c-hero__heading {
    font-size: 4.1666666667vw;
    letter-spacing: 0.4166666667vw;
  }
}

.c-hero__heading--sub {
  color: #FFF;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.125rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-hero__heading--sub {
    font-size: 1.3888888889vw;
    letter-spacing: 0.1388888889vw;
    margin-top: 0.6944444444vw;
  }
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .c-hero {
  margin-top: 7.4375rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .c-hero {
    margin-top: 13.75rem;
  }
}
@media screen and (min-width: 1440px) {
  html.lang-en .c-hero {
    margin-top: 9.375rem;
  }
}

.c-breadcrumbs {
  padding-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .c-breadcrumbs {
    padding-top: 2.5rem;
  }
}

.c-breadcrumbs__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .c-breadcrumbs__inner {
    gap: 1rem;
  }
}
.c-breadcrumbs__inner > span {
  border-radius: 1.25rem;
  background-color: #F2F2F2;
  font-size: 0.875rem;
  padding: 0.375rem 1rem;
  -webkit-transition: background-color 0.4s, color 0.4s;
  transition: background-color 0.4s, color 0.4s;
}
.c-breadcrumbs__inner > span:has(.current-item) {
  background-color: #2670C4;
  color: #FFF;
}
.c-breadcrumbs__inner > span:has(a) {
  padding: 0;
}
.c-breadcrumbs__inner > span a {
  padding: 0.375rem 1rem;
}
@media (any-hover: hover) {
  .c-breadcrumbs__inner > span:hover {
    background-color: #2670C4;
    color: #FFF;
  }
  .c-breadcrumbs__inner > span:hover a {
    opacity: 1;
  }
}

.c-detail-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  font-size: max(0.875rem, 12px);
  font-weight: 500;
  line-height: 1.2;
}
.c-detail-link::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.5rem;
  aspect-ratio: 1/1;
  background: url(../img/common/circle-arrow-icon--orange.png) center/contain no-repeat;
  -webkit-transition: translate 0.4s;
  transition: translate 0.4s;
}
@media (any-hover: hover) {
  .c-detail-link:hover {
    opacity: 1;
  }
  .c-detail-link:hover::after {
    translate: 0.25rem 0;
  }
}

.c-lead {
  text-align: center;
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-lead {
    font-size: 1.125rem;
    margin-top: 2.5rem;
  }
}

.c-columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-columns {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 3.4375rem;
    margin-top: 2.5rem;
  }
}

.c-columns__image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-columns__image {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: clamp(27.5rem, -0.5rem + 43.75vw, 34.0625rem);
  }
}
.c-columns__image img {
  border-radius: 1.25rem;
}

.c-columns__text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .c-columns__text {
    font-size: 1.125rem;
  }
}
.c-columns__text + .c-columns__text {
  margin-top: 1rem;
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .c-columns__text {
  text-align: left;
}

.c-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.375rem;
  padding-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .c-pagination {
    gap: 1.125rem;
    padding-top: 3.75rem;
  }
}
.c-pagination li {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2rem;
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background-color: #FFF;
  color: #FD8652;
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-pagination li {
    width: 2.75rem;
    font-size: 1rem;
  }
}
.c-pagination li a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  -webkit-transition: background-color 0.4s;
  transition: background-color 0.4s;
}
@media (any-hover: hover) {
  .c-pagination li a:hover {
    opacity: 1;
    background-color: #F2F2F2;
  }
}
.c-pagination .prev, .c-pagination .next {
  background-color: unset;
}
.c-pagination .prev a, .c-pagination .next a {
  background: url(../img/common/pagination-arrow-icon.png) center/contain no-repeat;
  -webkit-transition: background-image 0.4s;
  transition: background-image 0.4s;
}
@media (any-hover: hover) {
  .c-pagination .prev a:hover, .c-pagination .next a:hover {
    opacity: 1;
    background-image: url(../img/common/pagination-arrow-icon--orange.png);
    background-color: transparent;
  }
}
.c-pagination .prev {
  rotate: 180deg;
}
.c-pagination .current {
  background-color: #FD8652;
  color: #FFF;
}

.l-inner {
  width: 100%;
  max-width: 35rem;
  padding-inline: 1.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 79rem;
    padding-inline: 2rem;
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 6.25rem;
  background-color: #FFF;
  padding-top: 0.375rem;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .l-header {
    height: 9.375rem;
    padding-top: 0.75rem;
  }
}

.l-header__inner {
  max-width: 90rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-inline: 1.25rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    padding-inline: 1.75rem;
  }
}

.l-header__head-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 17.5rem;
  border-radius: 0.1875rem;
  background-color: #F9F9F9;
  color: #474747;
  font-size: 0.75rem;
  line-height: 1.6;
  padding: 0.1875rem 0.375rem;
}
@media screen and (min-width: 768px) {
  .l-header__head-text {
    max-width: 31.5rem;
    margin-left: 0.5rem;
    padding: 0.1875rem 1.0625rem 0.1875rem 0.1875rem;
  }
}
@media screen and (min-width: 1440px) {
  .l-header__head-text {
    max-width: 100%;
  }
}

.l-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .l-header__body {
    margin-top: -0.375rem;
  }
}

.l-header__logo {
  width: 13.125rem;
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    width: 20rem;
    margin-top: 0.375rem;
  }
}

.l-header__body-image {
  width: 2.5rem;
  margin-left: 1.75rem;
}
@media screen and (min-width: 768px) {
  .l-header__body-image {
    width: 3.5rem;
    margin-left: clamp(0.5rem, -6.5769230769rem + 11.0576923077vw, 3.375rem);
  }
}

.l-header__language {
  position: relative;
}
.l-header__language.is-active .l-header__language-text::after {
  rotate: 180deg;
}

.l-header__body-language {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-header__body-language {
    margin-inline: clamp(0.5rem, -34.8846153846rem + 55.2884615385vw, 14.875rem) 0;
    display: block;
  }
}

.l-header__language-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.125rem;
  font-weight: 500;
}
.l-header__language-text::before {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1/1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: url(../img/common/earth-icon.png) center/contain no-repeat;
  margin-right: 0.25rem;
}
.l-header__language-text::after {
  content: "";
  width: 0.75rem;
  aspect-ratio: 12/6;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: url(../img/common/arrow-icon.png) center/contain no-repeat;
  margin-left: 0.375rem;
  -webkit-transition: rotate 0.4s;
  transition: rotate 0.4s;
}
@media screen and (min-width: 768px) {
  .l-header__language-text::after {
    margin-left: 0.625rem;
  }
}

.gtranslate {
  width: 7.375rem;
  background-color: #F5F9FC;
  -webkit-filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.08));
          filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.08));
  margin-top: 0.75rem;
  padding-block: 1.125rem;
  z-index: 101;
}
@media screen and (min-width: 768px) {
  .gtranslate {
    position: absolute;
    top: 2.75rem;
    right: 50%;
    translate: 50% 0;
    display: none;
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  .gtranslate::before {
    content: "";
    position: absolute;
    top: -1.1875rem;
    left: 50%;
    translate: -50% 0;
    width: 1.125rem;
    height: 1.1875rem;
    background-color: #F5F9FC;
    -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
            clip-path: polygon(50% 0, 100% 100%, 0 100%);
  }
}
.gtranslate a {
  font-size: 1rem;
  font-weight: 500 !important;
  padding: 0.375rem 0 0.375rem 1rem;
  -webkit-transition: color 0.4s;
  transition: color 0.4s;
}
.gtranslate a.gt-current-lang {
  color: #2670C4;
}
@media (any-hover: hover) {
  .gtranslate a:hover {
    opacity: 1;
    color: #2670C4;
  }
}

.gtranslate_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 0.25rem;
}

.l-header__link {
  display: none;
  gap: 0.3125rem;
  font-size: max(1rem, 13px);
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .l-header__link {
    position: absolute !important;
    top: 1rem;
    right: 3.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media screen and (min-width: 1440px) {
  .l-header__link {
    position: relative !important;
    top: unset;
    right: unset;
    margin-left: 2.9375rem;
  }
}
.l-header__link::after {
  content: "";
  width: 1.25rem;
  aspect-ratio: 1/1;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: url(../img/common/link-icon.png) center/contain no-repeat;
}

.l-header__tel {
  display: none;
  white-space: nowrap;
  text-align: center;
  font-size: 0.875rem;
  line-height: 1.2;
  letter-spacing: 0.035rem;
}
@media screen and (min-width: 768px) {
  .l-header__tel {
    display: block;
    margin-left: clamp(1.25rem, -0.75rem + 3.125vw, 2.0625rem);
  }
}

.l-header__tel--large {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.1875rem;
  color: #12B3F1;
  font-family: "Lato", sans-serif;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.05625rem;
}
.l-header__tel--large::before {
  content: "";
  width: 1.3125rem;
  aspect-ratio: 21/23;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: url(../img/common/tel-icon.png) center/contain no-repeat;
}

.l-header__tel--small {
  font-size: max(0.625rem, 10px);
  line-height: 1;
}

.l-header__button {
  display: none;
  height: 3.75rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.125rem;
  border-radius: 2.1875rem;
  background: linear-gradient(92deg, #FD6D4D 4.07%, #F49338 95.33%);
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  padding-inline: clamp(2.1875rem, -0.8894230769rem + 4.8076923077vw, 3.4375rem) clamp(2.625rem, -0.4519230769rem + 4.8076923077vw, 3.875rem);
}
@media screen and (min-width: 768px) {
  .l-header__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: clamp(1.3125rem, -4.8413461538rem + 9.6153846154vw, 3.8125rem);
  }
}
.l-header__button::before {
  content: "";
  width: 1.25rem;
  aspect-ratio: 20/17;
  background: url(../img/common/mail-icon.png) center/contain no-repeat;
}

.l-header__nav {
  display: none;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .l-header__nav {
    display: block;
  }
}

.l-header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1.5rem, -0.9615384615rem + 3.8461538462vw, 2.5rem);
}

.l-header__nav-item {
  position: relative;
}
.l-header__nav-item.is-active button.l-header__nav-item-link::after {
  rotate: 180deg;
}
.l-header__nav-item:last-of-type .l-header__sub-nav {
  left: unset;
  right: 0;
}
@media screen and (min-width: 1440px) {
  .l-header__nav-item:last-of-type .l-header__sub-nav {
    right: -1.25rem;
  }
}

.l-header__nav-item-link {
  font-size: max(1rem, 13px);
  font-weight: 500;
  line-height: 1.6;
}

button.l-header__nav-item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}
button.l-header__nav-item-link::after {
  content: "";
  width: 0.75rem;
  aspect-ratio: 12/6;
  background: url(../img/common/arrow-icon.png) center/contain no-repeat;
  -webkit-transition: rotate 0.4s;
  transition: rotate 0.4s;
}

.l-header__sub-nav {
  position: absolute;
  top: 2.375rem;
  left: -1.25rem;
  width: 22rem;
  min-height: 18.75rem;
  display: none;
  background-color: rgba(255, 255, 255, 0.95);
  -webkit-box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.06);
  padding: 1.25rem 2.6875rem;
}
@media screen and (min-width: 1440px) {
  .l-header__sub-nav {
    left: -2.5rem;
  }
}

.l-header__sub-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
}

.l-header__sub-nav-item-link {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-size: 1rem;
  line-height: 1.3;
  padding-block: 0.375rem;
  -webkit-transition: color 0.4s;
  transition: color 0.4s;
}
.l-header__sub-nav-item-link::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 0.4375rem;
  aspect-ratio: 7/13;
  background: url(../img/common/arrow-nav-icon.png) center/contain no-repeat;
  -webkit-transition: background-image 0.4s;
  transition: background-image 0.4s;
}

@media (any-hover: hover) {
  a.l-header__sub-nav-item-link:hover {
    opacity: 1;
    color: #2670C4;
  }
  a.l-header__sub-nav-item-link:hover::before {
    background-image: url(../img/common/arrow-nav-icon--blue.png);
  }
}

.l-header__sub-nav-item-link--large {
  font-size: 1.625rem;
  border-bottom: 2px solid #039DD6;
  padding-block: 1.125rem;
  margin-bottom: 0.75rem;
}
.l-header__sub-nav-item-link--large::before {
  width: 0.625rem;
}

/*----------------------------------
  ドロワーメニュー
----------------------------------*/
.l-drawer-button {
  position: absolute;
  top: 1.75rem;
  right: 1.25rem;
  width: 2.5rem;
  aspect-ratio: 1/1;
  border-radius: 0.5rem;
  background-color: #12B3F1;
  -webkit-transition: top 0.4s;
  transition: top 0.4s;
  z-index: 102;
}
@media screen and (min-width: 768px) {
  .l-drawer-button {
    top: 2rem;
    right: 1.75rem;
    width: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .l-drawer-button {
    display: none;
  }
}
.l-drawer-button.is-checked {
  top: 0.625rem;
}
.l-drawer-button.is-checked .l-drawer-button__bar {
  top: 1.1875rem;
}
@media screen and (min-width: 768px) {
  .l-drawer-button.is-checked .l-drawer-button__bar {
    top: 1.4375rem;
  }
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-of-type(1) {
  rotate: 45deg;
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-of-type(2) {
  opacity: 0;
}
.l-drawer-button.is-checked .l-drawer-button__bar:nth-of-type(3) {
  rotate: -45deg;
}

.l-drawer-button__bar {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  width: 1.25rem;
  height: 0.125rem;
  background-color: #FFF;
  -webkit-transition: top 0.4s, rotate 0.4s, opacity 0.4s;
  transition: top 0.4s, rotate 0.4s, opacity 0.4s;
}
@media screen and (min-width: 768px) {
  .l-drawer-button__bar {
    width: 1.5rem;
  }
}
.l-drawer-button__bar:nth-of-type(1) {
  top: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .l-drawer-button__bar:nth-of-type(1) {
    top: 0.9375rem;
  }
}
.l-drawer-button__bar:nth-of-type(2) {
  top: 1.1875rem;
}
@media screen and (min-width: 768px) {
  .l-drawer-button__bar:nth-of-type(2) {
    top: 1.4375rem;
  }
}
.l-drawer-button__bar:nth-of-type(3) {
  top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .l-drawer-button__bar:nth-of-type(3) {
    top: 1.9375rem;
  }
}

.l-drawer-menu {
  position: fixed;
  top: 0;
  right: -100%;
  max-width: 22.5rem;
  height: 100dvh;
  background-color: #FFF;
  overflow: auto;
  opacity: 0;
  padding: 3.125rem 2.125rem;
  -webkit-transition: right 0.6s, opacity 0.6s;
  transition: right 0.6s, opacity 0.6s;
  z-index: 101;
}
@media screen and (min-width: 768px) {
  .l-drawer-menu {
    display: none;
  }
}
.l-drawer-menu.is-checked {
  right: 0;
  opacity: 1;
}

.l-drawer-menu__tel {
  display: block;
}

.l-drawer-menu__button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-inline: 4.1875rem;
  margin: 1.25rem auto 0;
}

.l-drawer-menu__box-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1.25rem;
}

.l-drawer-menu__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 1.5rem;
  margin-top: 2.25rem;
}

.l-drawer-menu__item:first-child .l-drawer-menu__item-link {
  text-transform: uppercase;
}

.l-drawer-menu__item-link {
  color: #12B3F1;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3;
  padding-block: 0.25rem;
}

.l-drawer-menu__sub-list {
  margin-top: 0.5rem;
}

.l-drawer-menu__sub-item + .l-drawer-menu__sub-item {
  margin-top: 0.25rem;
}

.l-drawer-menu__sub-item-link {
  font-size: 1rem;
  line-height: 1.3;
  padding-block: 0.25rem;
}

.l-drawer-menu__language {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.25rem auto 0;
}

.l-drawer-menu__language-text::after {
  display: none;
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .l-header {
  height: 7.4375rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .l-header {
    height: 13.125rem;
  }
}
@media screen and (min-width: 1440px) {
  html.lang-en .l-header {
    height: 9.375rem;
  }
}
html.lang-en .l-header__tel {
  white-space: wrap;
}
html.lang-en .l-header__nav-list {
  gap: clamp(1.5rem, 0.2692307692rem + 1.9230769231vw, 2rem);
}
html.lang-en .l-drawer-menu__sub-item-link {
  overflow-wrap: anywhere;
}

.l-footer {
  width: 100%;
  background-color: #FFF;
  padding-block: 4.25rem 0.75rem;
}

.l-footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem;
}
@media screen and (min-width: 768px) {
  .l-footer__inner {
    max-width: 87.75rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 12.5rem;
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__inner {
    gap: clamp(5.75rem, -23.1730769231rem + 45.1923076923vw, 17.5rem);
  }
}
@media screen and (min-width: 1440px) {
  .l-footer__inner {
    gap: 10.8125rem;
  }
}

.l-footer__body {
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .l-footer__body {
    width: 18.75rem;
  }
}

.l-footer__logo-wrapper {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.l-footer__logo {
  width: 15rem;
}
@media screen and (min-width: 768px) {
  .l-footer__logo {
    width: 18.75rem;
  }
}

.l-footer__logo-icon {
  position: absolute;
  top: 50%;
  left: 16.75rem;
  translate: 0 -50%;
  width: 2.5rem;
}
@media screen and (min-width: 768px) {
  .l-footer__logo-icon {
    left: clamp(20rem, 10.4rem + 15vw, 22.25rem);
    width: 3.5rem;
  }
}

.l-footer__address {
  font-size: 1rem;
  line-height: 1.35;
  margin-top: 1.8125rem;
}

.l-footer__box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 2.0625rem auto 0;
}

.l-footer__box-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  padding-block: 0.375rem 0.875rem;
}
.l-footer__box-link + .l-footer__box-link {
  border-left: 2px solid #E8E8E8;
}
.l-footer__box-link:nth-of-type(1) .l-footer__box-link-icon {
  padding-inline: 0.4375rem;
}
.l-footer__box-link:nth-of-type(2) .l-footer__box-link-icon {
  padding-inline: 0.3125rem;
}

.l-footer__box-link-icon {
  width: 2rem;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 50%;
  background-color: #00C2E9;
}

.l-footer__box-link-text {
  font-size: 0.875rem;
}

.l-footer__nav-list {
  max-width: 20.9375rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem 0.75rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .l-footer__nav-list {
    max-width: unset;
    gap: 2.5rem;
    margin-inline: 0;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer__nav-list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1440px) {
  .l-footer__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.l-footer__nav-item:first-child .l-footer__nav-item-link {
  text-transform: uppercase;
}
.l-footer__nav-item:last-child .l-footer__sub-nav-list {
  margin-top: 0;
}
.l-footer__nav-item:last-child .l-footer__sub-nav-item-link {
  color: #00C2E9;
  font-weight: 700;
}

.l-footer__nav-item-link {
  color: #00C2E9;
  font-size: max(1.125rem, 16px);
  font-weight: 700;
  line-height: 1.6;
}

.l-footer__sub-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  margin-top: 0.25rem;
}

.l-footer__sub-nav-item-link {
  font-size: max(1rem, 14px);
  line-height: 1.2;
  padding-block: 0.125rem;
}

.l-footer__copyright {
  width: 96%;
  text-align: center;
  font-size: 0.75rem;
  line-height: 1.4;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .l-footer__copyright {
    font-size: max(0.75rem, 12px);
    line-height: 1;
    margin-top: 3.0625rem;
  }
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .l-footer__sub-nav-item-link {
  overflow-wrap: anywhere;
}

.l-step__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
  margin-block: 2.25rem 2.5rem;
}
@media screen and (min-width: 768px) {
  .l-step__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 3rem 1.5rem;
    margin-block: 2.9375rem 3.75rem;
  }
}

.l-step__item {
  position: relative;
  width: 100%;
  border-radius: 1.25rem;
  background-color: #F9F9F9;
  padding: 0.5625rem 1.375rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .l-step__item {
    padding-bottom: 2.5rem;
  }
}
.l-step__item + .l-step__item::before {
  content: "";
  position: absolute;
  top: -1.5625rem;
  left: 50%;
  translate: -50% 0;
  width: 0.3125rem;
  height: 1.625rem;
  background-color: #CAD7DD;
}
@media screen and (min-width: 768px) {
  .l-step__item + .l-step__item::before {
    top: 50%;
    left: -1.5625rem;
    translate: 0 -50%;
    width: 1.625rem;
    height: 0.3125rem;
  }
}
@media screen and (min-width: 768px) {
  .l-step__item:nth-of-type(5)::before {
    top: -3rem;
    left: 50%;
    translate: 0 0;
    height: 3rem;
    width: clamp(46.125rem, -3.475rem + 77.5vw, 57.75rem);
    background: url(../img/common/step-bg--pc.png) center/100% 100% no-repeat;
  }
}

.l-step__item-head {
  position: relative;
  z-index: 0;
}

.l-step__item-number {
  text-align: center;
  color: #E67444;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.35;
}
@media screen and (min-width: 768px) {
  .l-step__item-number {
    font-size: 2.125rem;
  }
}

.l-step__item-image {
  position: relative;
  width: 6.875rem;
  margin: -1rem auto 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .l-step__item-image {
    margin-top: -1.4375rem;
  }
}

.l-step__item-title {
  text-align: center;
  color: #2670C4;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  margin-top: 0.75rem;
}

.l-step__item-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 0.5rem;
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .l-step__inner .c-heading {
  max-width: 50rem;
  line-height: 1.3;
  margin-inline: auto;
}
html.lang-en .l-step__inner .c-lead {
  max-width: 50rem;
  margin-inline: auto;
}
html.lang-en .l-step__item-text {
  text-align: left;
}

.l-sales-methods__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2.5rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .l-sales-methods__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 5.6875rem;
  }
}

.l-sales-methods__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 1.25rem;
  background-color: #FFF;
  padding: 0rem clamp(1rem, -1.4615384615rem + 3.8461538462vw, 2rem) 2.375rem;
}

.l-sales-methods__item-number {
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #FD8652;
  color: transparent;
  font-family: "Lato", sans-serif;
  font-size: 2.5rem;
  line-height: 1.35;
  margin-top: -2rem;
}
@media screen and (min-width: 768px) {
  .l-sales-methods__item-number {
    font-size: 3.75rem;
    margin-top: -3.1875rem;
  }
}

.l-sales-methods__item-title {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .l-sales-methods__item-title {
    font-size: 1.5rem;
  }
}

.l-sales-methods__item-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.35;
  letter-spacing: -0.01rem;
  margin-block: 1rem 1.5rem;
}

.l-sales-methods__item-body {
  margin-top: auto;
}

.l-sales-methods__item-body-content {
  height: 3.4375rem;
  border-bottom: 2px solid #d9d9d9;
}
@media screen and (min-width: 768px) {
  .l-sales-methods__item-body-content {
    height: 4.8125rem;
  }
}
@media screen and (min-width: 1440px) {
  .l-sales-methods__item-body-content {
    height: 3.4375rem;
  }
}
.l-sales-methods__item-body-content + .l-sales-methods__item-body-content {
  margin-top: 0.5rem;
}

.l-sales-methods__item-body-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  color: #2670C4;
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .l-sales-methods__item-body-text {
    font-size: 1.25rem;
  }
}

.l-sales-methods__item-body-text--white {
  width: 4.25rem;
  height: 1.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.25rem;
  background-color: #2670C4;
  color: #FFF;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .l-sales-methods__item-body-text--white {
    width: 4.5625rem;
    height: 1.875rem;
    font-size: 1.125rem;
  }
}

.l-sales-methods__item-body-text--small {
  color: #555;
  font-size: max(0.8125rem, 11px);
  line-height: 1.3;
  letter-spacing: -0.008125rem;
  margin-top: 0.25rem;
}
@media screen and (min-width: 1440px) {
  .l-sales-methods__item-body-text--small {
    line-height: 1;
  }
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .l-sales-methods__item:nth-of-type(3) .l-sales-methods__item-body-content {
  height: 3.4375rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .l-sales-methods__item:nth-of-type(3) .l-sales-methods__item-body-content {
    height: 4.8125rem;
  }
}
html.lang-en .l-sales-methods__item-body-content {
  height: 4.625rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .l-sales-methods__item-body-content {
    height: 4.8125rem;
  }
}
html.lang-en .l-sales-methods__item-body-text {
  font-size: 1rem;
}
html.lang-en .l-sales-methods__item-body-text--white {
  width: 5rem;
}

.l-page-case {
  position: relative;
  border-radius: 0 6.25rem 0 0;
  background-color: #2670C4;
  padding-block: 5rem;
  margin-top: -6.25rem;
}
@media screen and (min-width: 768px) {
  .l-page-case {
    border-radius: 0 12.5rem 0 0;
    padding-block: 10.0625rem 9.1875rem;
    margin-top: -12.5rem;
  }
}
.l-page-case::before {
  content: "";
  position: absolute;
  top: 3.625rem;
  right: 0;
  width: 12.5rem;
  aspect-ratio: 400/281;
  background: url(../img/common/case-image.webp) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .l-page-case::before {
    width: 25rem;
  }
}

.l-case__inner {
  padding-left: clamp(1.25rem, -14.9137931034rem + 68.9655172414vw, 7.5rem);
}

.swiper-container {
  position: relative;
}

.l-case__slider-container {
  padding-bottom: 3.75rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .l-case__slider-container {
    padding-bottom: 5.75rem;
    margin-top: 3.75rem;
  }
}

.l-case__slide {
  width: 15.5rem;
}
@media screen and (min-width: 768px) {
  .l-case__slide {
    width: 27.1875rem;
  }
}

.l-case__slide-image {
  width: 100%;
  aspect-ratio: 435/300;
  border-radius: 0.9375rem;
  overflow: hidden;
}
.l-case__slide-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-case__slide-content {
  margin-top: 1.25rem;
}

.l-case__slide-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .l-case__slide-label {
    gap: 1.25rem;
  }
}

.l-case__slide-date {
  color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .l-case__slide-date {
    font-size: 1.125rem;
  }
}

.l-case__slide-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 0.25rem;
  background-color: #12B3F1;
  color: #FFF;
  font-size: max(0.75rem, 12px);
  font-weight: 700;
  padding: 0.25rem 0.625rem;
}

.l-case__slide-title {
  color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .l-case__slide-title {
    font-size: 1.125rem;
  }
}

.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

.l-case__slide-button-prev,
.l-case__slide-button-next {
  top: unset;
  bottom: 0;
  right: unset;
  width: 2.5rem;
  height: 2.5rem;
  background: url(../img/common/circle-arrow-icon--white.png) center/contain no-repeat;
  margin: 0;
  -webkit-transition: translate 0.4s;
  transition: translate 0.4s;
}
@media screen and (min-width: 768px) {
  .l-case__slide-button-prev,
  .l-case__slide-button-next {
    width: 3.4375rem;
    height: 3.4375rem;
  }
}

.l-case__slide-button-prev {
  left: 0;
  rotate: 180deg;
}
@media (any-hover: hover) {
  .l-case__slide-button-prev:hover {
    opacity: 1;
    translate: -0.375rem 0;
  }
}

.l-case__slide-button-next {
  left: 4.4375rem;
}
@media (any-hover: hover) {
  .l-case__slide-button-next:hover {
    opacity: 1;
    translate: 0.375rem 0;
  }
}

.l-case__detail-link {
  position: relative;
  gap: 0.75rem;
  color: #FFF;
  margin-top: 1.25rem;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .l-case__detail-link {
    margin: -2.1875rem 0 0 15.4375rem;
  }
}
.l-case__detail-link::after {
  width: 2.1875rem;
  background-image: url(../img/common/circle-arrow-icon--light-orange.png);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .l-page-case .c-heading {
  width: 10rem;
}
@media screen and (min-width: 600px) {
  html.lang-en .l-page-case .c-heading {
    width: unset;
  }
}

/*----------------------------------
  中国語
----------------------------------*/
html.lang-cn .l-page-case .c-heading {
  width: 10rem;
}
@media screen and (min-width: 600px) {
  html.lang-cn .l-page-case .c-heading {
    width: unset;
  }
}

.l-contact {
  background-color: #2B5687;
  padding-block: 3.75rem;
}
@media screen and (min-width: 768px) {
  .l-contact {
    padding-block: 5.875rem;
  }
}

.l-contact__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .l-contact__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1.25rem;
  }
}

.l-contact__head {
  text-align: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .l-contact__head {
    text-align: left;
  }
}

.l-contact__heading {
  color: #FFF;
  font-family: "Lato", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .l-contact__heading {
    font-size: 3.75rem;
    letter-spacing: 0.375rem;
  }
}

.l-contact__heading--sub {
  color: #FFF;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .l-contact__heading--sub {
    font-size: 1.125rem;
    margin-top: 1.3125rem;
  }
}

.l-contact__box {
  width: 100%;
  max-width: 53.5625rem;
  border-radius: 0.75rem;
  background-color: #FFF;
  padding: 2rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .l-contact__box {
    padding: 4.125rem 2rem 4.125rem clamp(2rem, -8.1333333333rem + 15.8333333333vw, 4.375rem);
  }
}

.l-contact__text {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
}

.l-contact__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .l-contact__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: unset;
        -ms-flex-align: unset;
            align-items: unset;
    gap: clamp(2.5rem, -9.5rem + 18.75vw, 5.3125rem);
  }
}

.l-contact__tel {
  white-space: nowrap;
  text-align: center;
  color: #000;
  font-size: 0.875rem;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .l-contact__tel {
    text-align: right;
    margin-right: 0.375rem;
  }
}

.l-contact__tel--large {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.3125rem;
  color: #12B3F1;
  font-family: "Lato", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: -0.0625rem;
}
@media screen and (min-width: 768px) {
  .l-contact__tel--large {
    translate: 0.375rem 0;
    font-size: 2.5625rem;
    line-height: 1;
    letter-spacing: -0.129375rem;
  }
}
.l-contact__tel--large::before {
  content: "";
  width: 1.5rem;
  aspect-ratio: 21/23;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: url(../img/common/tel-icon.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .l-contact__tel--large::before {
    width: 1.8125rem;
  }
}

.l-contact__tel--small {
  font-size: max(0.6875rem, 10px);
  margin-right: 0.25rem;
}
@media screen and (min-width: 768px) {
  .l-contact__tel--small {
    line-height: 1;
  }
}

.l-contact__button-area {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.l-contact__button {
  height: 4.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  border-radius: 3rem;
  background: linear-gradient(92deg, #FD6D4D 4.07%, #F49338 95.33%);
  color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  padding-inline: 2.375rem;
}
@media screen and (min-width: 768px) {
  .l-contact__button {
    font-size: 1.125rem;
    padding-inline: clamp(2.1875rem, -6.3458333333rem + 13.3333333333vw, 4.1875rem);
  }
}
.l-contact__button::before {
  content: "";
  width: 1.5rem;
  aspect-ratio: 20/17;
  background: url(../img/common/mail-icon.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .l-contact__button::before {
    width: 1.6875rem;
  }
}

.l-contact__text--small {
  text-align: center;
  color: #000;
  font-size: max(0.6875rem, 10px);
  margin-top: 0.6875rem;
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .l-contact__tel {
  white-space: wrap;
}
html.lang-en .l-contact__button {
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .l-material__inner {
    max-width: 85.25rem;
  }
}

.l-material__lead {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .l-material__lead {
    font-size: 1.125rem;
  }
}

.l-material__box {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .l-material__box {
    margin-top: 3.6875rem;
  }
}
@media screen and (min-width: 768px) {
  .l-material__box:nth-of-type(1) .l-material__box-list {
    max-width: 40rem;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1440px) {
  .l-material__box:nth-of-type(1) .l-material__box-list {
    max-width: 100%;
    grid-template-columns: repeat(6, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .l-material__box:nth-of-type(2) .l-material__box-list {
    max-width: 67.5rem;
    grid-template-columns: repeat(5, 1fr);
  }
}

.l-material__box-title {
  text-align: center;
  color: #2670C4;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.125rem;
}
@media screen and (min-width: 768px) {
  .l-material__box-title {
    font-size: 2rem;
    letter-spacing: 0.2rem;
  }
}

.l-material__box-list {
  max-width: 26.25rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
  margin: 1.25rem auto 0;
}
@media screen and (min-width: 768px) {
  .l-material__box-list {
    margin-top: 1.5625rem;
  }
}

.l-material__box-item-image {
  border-radius: 1.25rem;
  -webkit-filter: drop-shadow(0px 0px 40px rgba(0, 45, 107, 0.1));
          filter: drop-shadow(0px 0px 40px rgba(0, 45, 107, 0.1));
  overflow: hidden;
}

.l-material__box-item-title {
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  margin-block: 1rem 0.375rem;
}
@media screen and (min-width: 768px) {
  .l-material__box-item-title {
    font-size: 1.25rem;
  }
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .l-material__inner .c-heading {
  max-width: 50rem;
  line-height: 1.3;
  margin-inline: auto;
}

.l-introduction__list {
  max-width: 61.25rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.875rem 1.25rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .l-introduction__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.75rem 2.5rem;
    margin-top: 2.5rem;
  }
}

.l-introduction__item-image {
  width: 100%;
  aspect-ratio: 300/340;
  border-radius: 0.9375rem;
  overflow: hidden;
}
.l-introduction__item-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-introduction__item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .l-introduction__item-content {
    gap: 1.25rem;
  }
}

.l-introduction__item-category {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 0.25rem;
  background-color: #2670C4;
  color: #FFF;
  font-size: 0.9375rem;
  font-weight: 500;
  padding: 0.375rem;
}
@media screen and (min-width: 768px) {
  .l-introduction__item-category {
    font-size: 1.25rem;
    padding: 0.375rem 0.625rem;
  }
}

.l-introduction__item-text {
  font-size: 0.9375rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .l-introduction__item-text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .l-introduction__item-content {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
}

.l-sidebar {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .l-sidebar {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 15.625rem;
  }
}

.l-sidebar__item + .l-sidebar__item {
  margin-top: 1.5rem;
}

.l-sidebar__item-title {
  border-bottom: 1px solid #2670C4;
  color: #2670C4;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom: 0.25rem;
}

.l-sidebar__item-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 0.4375rem;
}

.l-sidebar__item-content {
  border-bottom: 1px dashed #ECECEC;
  padding-block: 0.625rem 0.5625rem;
  margin-left: 0.5625rem;
}

.l-sidebar__item-text {
  font-size: 1rem;
  line-height: 1.2;
}

.l-sidebar__item-date {
  display: block;
  color: #BBB;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .l-introduction__item-content {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.5rem;
}

.l-post__container {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .l-post__container {
    padding-block: 9.375rem;
  }
}

.l-post__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.25rem;
}
@media screen and (min-width: 768px) {
  .l-post__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-main-visual {
  width: 100%;
  aspect-ratio: 375/515;
  background: url(../img/top/main-visual-bg--sp.webp) center 40vw/contain no-repeat;
  margin-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-main-visual {
    aspect-ratio: 1440/799;
    background: url(../img/top/main-visual-bg--pc.webp) center/cover no-repeat;
    margin-top: 16.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-main-visual {
    margin-top: 15.25rem;
  }
}

.p-main-visual__heading {
  width: 82.6666666667vw;
  margin-left: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  .p-main-visual__heading {
    width: 65.4166666667vw;
    padding-top: 2.5694444444vw;
    margin-left: 8.6805555556vw;
  }
}
.p-main-visual__heading picture {
  display: block;
}
.p-main-visual__heading .p-main-visual__heading--en,
.p-main-visual__heading .p-main-visual__heading--cn {
  display: none;
}

/*----------------------------------
  strengths
----------------------------------*/
.p-strengths {
  background: url(../img/oem-planning/oem-planning-main-bg.webp) right top/52.5rem no-repeat;
}
@media screen and (min-width: 768px) {
  .p-strengths {
    background: url(../img/oem-planning/oem-planning-main-bg.webp) right top/90rem no-repeat;
  }
}
@media screen and (min-width: 1440px) {
  .p-strengths {
    max-width: 128.6875rem;
    background: url(../img/oem-planning/oem-planning-main-bg--xl.webp) right top/128.6875rem no-repeat;
    margin-inline: auto;
  }
}

.p-strengths__inner {
  max-width: 90rem;
}

.p-strengths__heading {
  font-family: "Lato", sans-serif;
  font-size: 3.125rem;
  letter-spacing: 0.625rem;
  padding-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-strengths__heading {
    font-size: clamp(5rem, -0.3333333333rem + 8.3333333333vw, 6.25rem);
    padding-top: 4.875rem;
  }
}
.p-strengths__heading:first-letter {
  color: #00C2E9;
}

.p-strengths__heading--blue:first-letter {
  color: #00C2E9;
}

.p-strengths__heading--sub {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-strengths__heading--sub {
    font-size: 1.25rem;
    margin-top: 1rem;
  }
}

.p-strengths__body {
  max-width: 32.5rem;
  padding-inline: 0;
}
@media screen and (min-width: 768px) {
  .p-strengths__body {
    max-width: 79rem;
    padding-inline: 2rem;
  }
}

.p-strengths__body-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
  margin-top: 0rem;
}
@media screen and (min-width: 768px) {
  .p-strengths__body-content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 2.5rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-strengths__body-content {
    margin-top: -3.4375rem;
  }
}

.p-strengths__body-title {
  font-size: 1.875rem;
  line-height: 1.4;
  letter-spacing: 0.0625rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-strengths__body-title {
    font-size: 2.875rem;
    letter-spacing: ren(1.38);
    margin-top: 4.3125rem;
  }
}

.p-strengths__body-title--small {
  font-size: 1.625rem;
  letter-spacing: 0.05625rem;
}
@media screen and (min-width: 768px) {
  .p-strengths__body-title--small {
    font-size: 2.5rem;
    letter-spacing: 0.075rem;
  }
}

.p-strengths__body-title-image {
  width: 12.8125rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-strengths__body-title-image {
    width: 19.75rem;
  }
}
.p-strengths__body-title-image img {
  vertical-align: text-top;
}

.p-strengths__body-box {
  width: 100%;
  border-radius: 1.4375rem;
  background-color: #FFF;
  -webkit-box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.06);
  padding: 1.25rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-strengths__body-box {
    width: 43.125rem;
    padding: 3.4375rem 2.9375rem 3.125rem;
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-strengths__body-box {
    margin-bottom: 1.875rem;
  }
}

.p-strengths__body-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-strengths__body-text {
    font-size: 1.25rem;
  }
}

.p-strengths__body-detail-link {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-strengths__body-detail-link {
    margin-top: 0;
  }
}

/*----------------------------------
  point
----------------------------------*/
.p-point {
  padding-block: 6.25rem 5rem;
}
@media screen and (min-width: 768px) {
  .p-point {
    padding-block: 12.875rem 9.375rem;
  }
}

.p-point__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-point__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 3.375rem;
  }
}

.p-point__item {
  position: relative;
  width: 100%;
  border-radius: 1.25rem;
  background-color: #FFF;
  -webkit-box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
          box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.08);
  padding: 4.4375rem 1.25rem 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-point__item {
    width: clamp(18.75rem, -2.5833333333rem + 33.3333333333vw, 23.75rem);
    padding: 4.4375rem clamp(1.25rem, -0.8833333333rem + 3.3333333333vw, 1.75rem) 2.5rem;
  }
}
.p-point__item:nth-of-type(6)::before {
  content: "";
  position: absolute;
  top: 1.1875rem;
  right: 1.1875rem;
  background: url(../img/common/gmp-icon.png) center/contain no-repeat;
  width: 4rem;
  aspect-ratio: 70/56;
}
@media screen and (min-width: 768px) {
  .p-point__item:nth-of-type(6)::before {
    width: 4.375rem;
  }
}

.p-point__item-icon {
  position: absolute;
  top: 0;
  left: 0;
  height: 3.1875rem;
  border-radius: 1.25rem 0 0 0;
  background-color: #2670C4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.25rem;
  -webkit-clip-path: polygon(0 0, 100% 0, 87% 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 87% 100%, 0 100%);
  padding-inline: 0.9375rem 1.8125rem;
}

.p-point__item-label {
  text-transform: uppercase;
  color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.0675rem;
}
@media screen and (min-width: 768px) {
  .p-point__item-label {
    font-size: 1.125rem;
  }
}

.p-point__item-number {
  color: #FFF;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.35;
}
@media screen and (min-width: 768px) {
  .p-point__item-number {
    font-size: 2.1875rem;
  }
}

.p-point__item-image {
  width: 6.25rem;
  margin-inline: auto;
}

.p-point__item-title {
  text-align: center;
  color: #2670C4;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-point__item-title {
    font-size: 1.375rem;
    margin-top: 1.5625rem;
  }
}

.p-point__item-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.5;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-point__item-text {
    margin-top: 1rem;
  }
}

/*----------------------------------
  sales
----------------------------------*/
.p-sales__wrapper {
  width: 100%;
  border-radius: 0 6.25rem 0 0;
  background: url(../img/top/sales-bg.webp) center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-sales__wrapper {
    border-radius: 0 12.5rem 0 0;
  }
}

.p-sales {
  position: relative;
  padding-top: 8.875rem;
  z-index: 0;
}
@media screen and (min-width: 1440px) {
  .p-sales {
    overflow: hidden;
  }
}
.p-sales::before {
  content: "";
  position: absolute;
  top: -1.25rem;
  right: 0;
  width: 11.25rem;
  aspect-ratio: 325/312;
  background: url(../img/top/sales-image.webp) center/contain no-repeat;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-sales::before {
    top: 3rem;
    width: 20.3125rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-sales::before {
    width: 22.9375rem;
    aspect-ratio: 367/312;
    right: calc(50% - 45rem - 2.625rem);
    background-image: url(../img/top/sales-image--xl.webp);
  }
}

/*----------------------------------
  materiel
----------------------------------*/
.p-materiel {
  padding-block: 6.25rem 11.25rem;
}
@media screen and (min-width: 768px) {
  .p-materiel {
    padding-block: 12.5rem 21.875rem;
  }
}

/*----------------------------------
  product
----------------------------------*/
.p-product__wrapper {
  border-radius: 0 6.25rem 0 6.25rem;
  background-color: #2670C4;
  margin-top: -6.25rem;
}
@media screen and (min-width: 768px) {
  .p-product__wrapper {
    border-radius: 0 12.5rem 0 12.5rem;
    margin-top: -12.5rem;
  }
}

.p-product {
  position: relative;
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-product {
    padding-top: 9.375rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-product {
    overflow: hidden;
  }
}
.p-product::before {
  content: "";
  position: absolute;
  top: -2.5rem;
  right: 0;
  width: 12.5rem;
  aspect-ratio: 404/281;
  background: url(../img/top/product-image--05.webp) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-product::before {
    top: -5.5rem;
    width: 25.25rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-product::before {
    width: 27.8125rem;
    aspect-ratio: 445/313;
    top: 3.9375rem;
    right: calc(50% - 45rem - 2.5rem);
    background-image: url(../img/top/product-image--05-xl.webp);
  }
}
.p-product .c-heading__head {
  text-align: center;
}

.p-product__inner {
  max-width: 32.5rem;
  padding-inline: 0;
}
@media screen and (min-width: 768px) {
  .p-product__inner {
    max-width: 90rem;
  }
}

.p-product__list {
  display: grid;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-product__list {
    grid-template-columns: repeat(4, 1fr);
    margin-top: 3.75rem;
  }
}

.p-product__item {
  position: relative;
}

.p-product__item-image {
  width: 100%;
  aspect-ratio: 5/4;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-product__item-image {
    aspect-ratio: unset;
  }
}
.p-product__item-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-product__item-image img {
    height: auto;
    -o-object-fit: unset;
       object-fit: unset;
  }
}

.p-product__item-title {
  position: absolute;
  bottom: 0.9375rem;
  left: 50%;
  translate: -50% 0;
  width: 100%;
  text-align: center;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-product__item-title {
    font-size: clamp(1.375rem, 0.8416666667rem + 0.8333333333vw, 1.5rem);
  }
}

/*----------------------------------
  case
----------------------------------*/
.p-case {
  padding-block: 6.25rem 5rem;
}
@media screen and (min-width: 768px) {
  .p-case {
    padding-block: 12.5rem 9.125rem;
  }
}

/*----------------------------------
  step
----------------------------------*/
.p-step {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-step {
    padding-top: 9.1875rem;
  }
}

/*----------------------------------
  faq
----------------------------------*/
.p-faq {
  position: relative;
  padding-top: 10rem;
}
@media screen and (min-width: 768px) {
  .p-faq {
    padding-top: 13.75rem;
  }
}
.p-faq::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  left: 0;
  width: 11.25rem;
  aspect-ratio: 308/244;
  background: url(../img/top/faq-image.webp) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-faq::before {
    top: 7.875rem;
    width: 19.25rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-faq::before {
    width: 21rem;
    aspect-ratio: 336/244;
    left: calc(50% - 45rem - 1.75rem);
    background-image: url(../img/top/faq-image--xl.webp);
  }
}

.p-faq__list {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-faq__list {
    margin-top: 3.75rem;
  }
}

.p-faq__button {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-faq__button {
    margin-top: 3.75rem;
  }
}

/*----------------------------------
  news
----------------------------------*/
.p-news {
  padding-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-news {
    padding-top: 12.5rem;
  }
}

.p-news__inner {
  display: grid;
}
@media screen and (min-width: 768px) {
  .p-news__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 2.5rem;
  }
}

.p-news__content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-news__content {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: block;
  }
}

.p-news__heading {
  font-family: "Lato", sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-news__heading {
    font-size: 5rem;
    letter-spacing: 0.5rem;
  }
}
.p-news__heading:first-letter {
  color: #00C2E9;
}

.p-news__heading--sub {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-news__heading--sub {
    font-size: 1.25rem;
    margin-top: 1rem;
  }
}

.p-news__detail-link {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-news__detail-link {
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
    margin-top: 4.75rem;
  }
}

.p-news__list {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  width: 100%;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-news__list {
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
    width: 50.625rem;
    margin-top: 4.6875rem;
  }
}

.p-news__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  border-bottom: 1px solid #EDEDED;
  padding-block: 1.5625rem 1.4375rem;
}
@media screen and (min-width: 768px) {
  .p-news__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.875rem;
  }
}

.p-news__item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-news__item-label {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    gap: 1.5rem;
  }
}

.p-news__item-date {
  color: #AEB0B0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-news__item-category {
  border-radius: 0.25rem;
  background-color: green;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.625rem;
}

.p--news__item-title {
  font-size: 1rem;
  line-height: 1.6;
}

/*----------------------------------
  column
----------------------------------*/
.p-column {
  position: relative;
  padding-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-column {
    padding-top: 12.5rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-column {
    overflow: hidden;
  }
}
.p-column::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  right: 0;
  width: 11.25rem;
  aspect-ratio: 328/203;
  background: url(../img/top/column-image.webp) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-column::before {
    top: 12.8125rem;
    width: 20.5rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-column::before {
    width: 22.25rem;
    aspect-ratio: 356/203;
    right: calc(50% - 45rem - 1.6875rem);
    background-image: url(../img/top/column-image--xl.webp);
  }
}

.p-column__heading {
  font-family: "Lato", sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-column__heading {
    font-size: 5rem;
    letter-spacing: 0.5rem;
  }
}
.p-column__heading:first-letter {
  color: #00C2E9;
}

.p-column__heading--sub {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-column__heading--sub {
    font-size: 1.25rem;
    margin-top: 1rem;
  }
}

.p-column__list {
  display: grid;
  gap: 1.875rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-column__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.9375rem;
    margin-top: 3.75rem;
  }
}

.p-column__detail-link {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-column__detail-link {
    margin-top: 2.8125rem;
  }
}

/*----------------------------------
  business
----------------------------------*/
.p-business {
  padding-top: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-business {
    padding-top: 12.5rem;
  }
}

.p-business__inner {
  max-width: 32.5rem;
  padding-inline: 0;
}
@media screen and (min-width: 768px) {
  .p-business__inner {
    max-width: 90rem;
  }
}

.p-business__head {
  margin-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-business__head {
    margin-left: 3.75rem;
  }
}

.p-business__heading {
  font-family: "Lato", sans-serif;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-business__heading {
    font-size: 5rem;
    letter-spacing: 0.5rem;
  }
}
.p-business__heading:first-letter {
  color: #00C2E9;
}

.p-business__heading--sub {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-business__heading--sub {
    font-size: 1.25rem;
    margin-top: 1rem;
  }
}

.p-business__list {
  display: grid;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-business__list {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 3.75rem;
  }
}

.p-business__item {
  position: relative;
  height: 25rem;
  padding: 8.0625rem 0 0 2.5rem;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-business__item {
    height: 25rem;
    padding: 8.0625rem 0 0 3.375rem;
  }
}
.p-business__item:nth-of-type(1) {
  background: url(../img/top/business-bg--01.webp) center/cover no-repeat;
}
.p-business__item:nth-of-type(2) {
  background: url(../img/top/business-bg--02.webp) center/cover no-repeat;
}
@media (any-hover: hover) {
  .p-business__item:hover {
    opacity: 1;
  }
  .p-business__item:hover .p-business__item-icon::before {
    right: 3.75rem;
  }
}

.p-business__item__head {
  color: #FFF;
}

.p-business__item-title {
  font-family: "Lato", sans-serif;
  font-size: 1.875rem;
  font-weight: 500;
  letter-spacing: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-business__item-title {
    font-size: 2.75rem;
  }
}

.p-business__item-title--sub {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-business__item-title--sub {
    margin-top: 1rem;
  }
}

.p-business__item-icon {
  position: relative;
  width: 3.75rem;
  height: 1px;
  background-color: #FFF;
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-business__item-icon {
    margin-top: 4.875rem;
  }
}
.p-business__item-icon::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  translate: 50% -50%;
  width: 2.5rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #FFAC88;
  z-index: -1;
  -webkit-transition: right 0.4s;
  transition: right 0.4s;
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-main-visual {
  width: 100%;
  aspect-ratio: 375/555;
  background: url(../img/top/main-visual-bg--sp.webp) center 50.6666666667vw/contain no-repeat;
  margin-top: 7.4375rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-main-visual {
    aspect-ratio: 1440/799;
    background: url(../img/top/main-visual-bg--pc.webp) center/cover no-repeat;
    margin-top: 16.25rem;
  }
}
@media screen and (min-width: 1024px) {
  html.lang-en .p-main-visual {
    margin-top: 15.25rem;
  }
}
html.lang-en .p-main-visual__heading {
  width: 77.0666666667vw;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-main-visual__heading {
    width: 64.2361111111vw;
  }
}
html.lang-en .p-main-visual__heading .p-main-visual__heading--ja {
  display: none;
}
html.lang-en .p-main-visual__heading .p-main-visual__heading--en {
  display: block;
}
html.lang-en .p-strengths__body-text {
  text-align: left;
}
html.lang-en .p-point__item-text {
  text-align: left;
}

/*----------------------------------
  中国語
----------------------------------*/
html.lang-cn .p-main-visual__heading {
  width: 62.1333333333vw;
}
@media screen and (min-width: 768px) {
  html.lang-cn .p-main-visual__heading {
    width: 55.0694444444vw;
  }
}
html.lang-cn .p-main-visual__heading .p-main-visual__heading--ja {
  display: none;
}
html.lang-cn .p-main-visual__heading .p-main-visual__heading--cn {
  display: block;
}
html.lang-cn .p-strengths__heading {
  padding-top: 8.75rem;
}
@media screen and (min-width: 768px) {
  html.lang-cn .p-strengths__heading {
    padding-top: 4.875rem;
  }
}

.p-page-first-time-visitors__list {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__list {
    padding-top: 9.375rem;
  }
}

.p-page-first-time-visitors__item + .p-page-first-time-visitors__item {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__item + .p-page-first-time-visitors__item {
    margin-top: 6.25rem;
  }
}

.p-page-first-time-visitors__item-text {
  max-width: 68.75rem;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__item-text {
    font-size: max(1.125rem, 14px);
    margin-top: 1.5rem;
  }
}

.p-page-first-time-visitors__sub-list {
  max-width: 64.375rem;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__sub-list {
    margin-top: 2.5rem;
  }
}

.p-page-first-time-visitors__sub-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  border-radius: 1rem;
  background-color: #EFF8FF;
  padding: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__sub-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.p-page-first-time-visitors__sub-item + .p-page-first-time-visitors__sub-item {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__sub-item + .p-page-first-time-visitors__sub-item {
    margin-top: 1.5rem;
  }
}

.p-page-first-time-visitors__sub-item-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8.75rem;
}

.p-page-first-time-visitors__sub-item-body-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}

.p-page-first-time-visitors__sub-item-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  text-align: center;
}

.p-page-first-time-visitors__sub-item-icon-name {
  color: #FD8652;
  font-family: "Lato", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__sub-item-icon-name {
    font-size: 0.875rem;
  }
}

.p-page-first-time-visitors__sub-item-number {
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #FD8652;
  color: transparent;
  font-family: "Lato", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__sub-item-number {
    font-size: 1.5rem;
  }
}

.p-page-first-time-visitors__sub-item-title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__sub-item-title {
    font-size: 1.75rem;
    line-height: 1;
  }
}

.p-page-first-time-visitors__sub-item-text {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__sub-item-text {
    font-size: max(1.125rem, 14px);
    margin-top: 1rem;
  }
}

.p-page-first-time-visitors__wrapper {
  width: 100%;
  border-radius: 0 6.25rem 0 0;
  background: url(../img/first-time-visitors/first-time-visitors-bg.webp) center/cover no-repeat;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__wrapper {
    border-radius: 0 12.5rem 0 0;
    margin-top: 9.375rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-first-time-visitors__hero {
  background-image: url(../img/first-time-visitors/first-time-visitors-hero-bg.webp);
}

/*----------------------------------
  step
----------------------------------*/
.p-page-first-time-visitors__step {
  position: relative;
  padding-top: 11.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__step {
    padding-top: 20rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-page-first-time-visitors__step {
    padding-top: 9.5rem;
  }
}
.p-page-first-time-visitors__step::before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  width: 12.5rem;
  aspect-ratio: 330/313;
  background: url(../img/first-time-visitors/first-time-visitors-step-image.webp) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-page-first-time-visitors__step::before {
    width: 20.625rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-page-first-time-visitors__step::before {
    width: 22.9375rem;
    aspect-ratio: 367/313;
    top: 2.75rem;
    left: calc(50% - 45rem - 2.3125rem);
    background-image: url(../img/first-time-visitors/first-time-visitors-step-image--xl.webp);
  }
}

/*----------------------------------
  sales methods
----------------------------------*/
.p-first-time-visitors-sales-methods {
  padding-block: 6.25rem 10.625rem;
}
@media screen and (min-width: 768px) {
  .p-first-time-visitors-sales-methods {
    padding-block: 13.75rem 21.75rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-oem-planning__hero {
  background-image: url(../img/oem-planning/oem-planning-hero-bg.webp);
}

/*----------------------------------
  main
----------------------------------*/
.p-page-oem-planning-main {
  background: url(../img/oem-planning/oem-planning-main-bg.webp) right top/52.5rem no-repeat;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-main {
    background: url(../img/oem-planning/oem-planning-main-bg.webp) right top/90rem no-repeat;
    margin-top: 3.875rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-page-oem-planning-main {
    max-width: 128.6875rem;
    background: url(../img/oem-planning/oem-planning-main-bg--xl.webp) right top/128.6875rem no-repeat;
    margin-inline: auto;
  }
}

.p-page-oem-planning-main__heading {
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05rem;
  padding-top: 9.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-main__heading {
    width: 43rem;
    font-size: 2.875rem;
    letter-spacing: 0.08625rem;
  }
}

.p-page-oem-planning-main__heading--small {
  font-size: 1.5rem;
  letter-spacing: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-main__heading--small {
    font-size: 2.5rem;
    letter-spacing: 0.075rem;
  }
}

.p-page-oem-planning-main__heading-image {
  width: 11.875rem;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-main__heading-image {
    width: 19.75rem;
  }
}
.p-page-oem-planning-main__heading-image img {
  vertical-align: text-top;
}

.p-page-oem-planning-main__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-main__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 3.1875rem;
  }
}

.p-page-oem-planning-main__box {
  width: 100%;
  border-radius: 1.4375rem;
  background-color: #FFF;
  -webkit-box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.06);
  padding: 2rem 1.25rem;
  margin-block: 2.3125rem 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-main__box {
    width: 43.125rem;
    padding: 3.25rem 3.5rem 3.75rem 2.6875rem;
  }
}

.p-page-oem-planning-main__text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-main__text {
    font-size: 1.25rem;
  }
}
.p-page-oem-planning-main__text + .p-page-oem-planning-main__text {
  margin-top: 1rem;
}

.p-page-oem-planning-main__image {
  width: min(100%, 28.625rem);
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-main__image {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: clamp(22.5rem, -3.6333333333rem + 40.8333333333vw, 28.625rem);
  }
}

.p-page-oem-planning-main__image--en,
.p-page-oem-planning-main__image--cn {
  display: none;
}

/*----------------------------------
  list
----------------------------------*/
.p-page-oem-planning__list {
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__list {
    padding-top: 6.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-page-oem-planning__list-inner {
    max-width: 74rem;
  }
}

.p-page-oem-planning__item {
  position: relative;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 1.25rem;
  background-color: #FFF;
  -webkit-filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 0.06));
          filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 0.06));
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.p-page-oem-planning__item + .p-page-oem-planning__item {
  margin-top: 1.25rem;
}
.p-page-oem-planning__item + .p-page-oem-planning__item::before {
  content: "";
  position: absolute;
  top: -1.25rem;
  left: 50%;
  translate: -50% 0;
  width: 4.5rem;
  aspect-ratio: 72/20;
  background: url(../img/common/arrow-icon--blue.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__item + .p-page-oem-planning__item::before {
    left: 46.2%;
    translate: 0 0;
  }
}

.p-page-oem-planning__item-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: clamp(12.5rem, -3.6637931034rem + 68.9655172414vw, 18.75rem);
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__item-image {
    width: 18.75rem;
  }
}
.p-page-oem-planning__item-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1.25rem 1.25rem 0 0;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__item-image img {
    border-radius: 1.25rem 0 0 1.25rem;
  }
}

.p-page-oem-planning__item-body {
  padding: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__item-body {
    padding: 0 clamp(2.5rem, -2.8333333333rem + 8.3333333333vw, 3.75rem);
  }
}

.p-page-oem-planning__item-body-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__item-body-head {
    gap: 1.625rem;
  }
}

.p-page-oem-planning__item-number {
  color: #FFAC88;
  font-family: "Lato", sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__item-number {
    font-size: 3.4375rem;
  }
}

.p-page-oem-planning__item-title {
  color: #2670C4;
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__item-title {
    font-size: 1.5rem;
  }
}

.p-page-oem-planning__item-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning__item-text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  material
----------------------------------*/
.p-page-oem-planning-material {
  position: relative;
  background: url(../img/oem-planning/oem-planning-material-bg.webp) center/cover no-repeat;
  border-radius: 0 6.25rem 0 0;
  padding-block: 6.875rem 11.25rem;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-material {
    border-radius: 0 12.5rem 0 0;
    padding-block: 12.5rem 21.875rem;
    margin-top: 9.375rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 1440px) {
  .p-page-oem-planning-material {
    padding-top: 9.375rem;
  }
}
.p-page-oem-planning-material::before {
  content: "";
  position: absolute;
  top: -1rem;
  left: 0;
  width: 12.5rem;
  aspect-ratio: 356/204;
  background: url(../img/oem-planning/oem-planning-material-image.webp) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-page-oem-planning-material::before {
    width: 22.25rem;
  }
}
@media screen and (min-width: 1440px) {
  .p-page-oem-planning-material::before {
    left: calc(50% - 45rem);
  }
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-oem-planning-main__text {
  text-align: left;
}
html.lang-en .p-page-oem-planning__item-text {
  text-align: left;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-oem-planning__item-text {
    line-height: 1.7;
  }
}
html.lang-en .p-page-oem-planning-main__image--ja {
  display: none;
}
html.lang-en .p-page-oem-planning-main__image--en {
  display: block;
}

/*----------------------------------
  中国語
----------------------------------*/
html.lang-cn .p-page-oem-planning-main__image--ja {
  display: none;
}
html.lang-cn .p-page-oem-planning-main__image--cn {
  display: block;
}

.p-page-step__list {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-step__list {
    padding-block: 9.375rem 10.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-page-step__list-inner {
    max-width: 72.75rem;
  }
}

.p-page-step__list-text {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-step__list-text {
    font-size: 1.375rem;
  }
}

.p-page-step__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-step__item {
    display: block;
    margin-top: 4.0625rem;
  }
}
.p-page-step__item + .p-page-step__item {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-step__item + .p-page-step__item {
    margin-top: 5.5rem;
  }
}
.p-page-step__item + .p-page-step__item::before {
  content: "";
  position: absolute;
  top: -5.5625rem;
  left: 7.6875rem;
  width: 0.25rem;
  height: 5.625rem;
  background: url(../img/step/step-line.png) center/contain no-repeat;
  z-index: -1;
  display: none;
}
@media screen and (min-width: 768px) {
  .p-page-step__item + .p-page-step__item::before {
    display: block;
  }
}

.p-page-step__item-image {
  width: 15.625rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-page-step__item-image {
    margin-inline: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-page-step__item-body {
    position: absolute;
    top: 50%;
    left: 18.75rem;
    translate: 0 -50%;
  }
}

.p-page-step__item-head {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 1.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  border-radius: 1.375rem;
  background-color: #F2F2F2;
  padding-inline: 0.9375rem;
}

.p-page-step__item-head-name {
  color: #FD8652;
  font-family: "Lato", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
}

.p-page-step__item-head-number {
  color: #FD8652;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-step__item-head-number {
    font-size: 1.25rem;
  }
}

.p-page-step__item-title {
  color: #2670C4;
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-step__item-title {
    font-size: 1.875rem;
  }
}

.p-page-step__item-text {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-step__item-text {
    font-size: 1.125rem;
  }
}

.p-page-step__sub-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 1rem;
}

.p-page-step__sub-item-title {
  color: #2670C4;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}
@media screen and (min-width: 768px) {
  .p-page-step__sub-item-title {
    font-size: 1.125rem;
  }
}

.p-page-step__sub-item-link {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: underline;
  text-underline-position: from-font;
  color: #2670C4;
  font-size: 0.875rem;
  line-height: 1.6;
  margin: 0.375rem 0 0 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-step__sub-item-link {
    font-size: 1rem;
    margin-left: 2rem;
  }
}
.p-page-step__sub-item-link + .p-page-step__sub-item-link {
  margin-top: 0.1875rem;
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-step__hero {
  background-image: url(../img/step/step-hero-bg.webp);
}
.p-page-step__hero .c-hero__heading {
  line-height: 1.2;
}

/*----------------------------------
  英語
----------------------------------*/
@media screen and (min-width: 768px) {
  html.lang-en .p-page-step__item-title {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-step__item-text {
    font-size: 1.0625rem;
    line-height: 1.5;
  }
}

.p-page-products__text {
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-products__text {
    font-size: 1.25rem;
    padding-top: 9.375rem;
  }
}

.p-page-products__list {
  margin-block: 2.5rem 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-products__list {
    margin-block: 4.5rem 9.375rem;
  }
}

.p-page-products__list-inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-page-products__list-inner {
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-page-products__item-image {
  border-radius: 0.9375rem;
  overflow: hidden;
}

.p-page-products__item-title {
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-products__item-title {
    font-size: 1.125rem;
    line-height: 1;
    margin-top: 1rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-products__hero {
  background-image: url(../img/products/products-hero-bg.webp);
}

.p-page-health-foods-supplements__box {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-health-foods-supplements__box {
    margin-top: 9.375rem;
  }
}
.p-page-health-foods-supplements__box + .p-page-health-foods-supplements__box {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-health-foods-supplements__box + .p-page-health-foods-supplements__box {
    margin-top: 6.25rem;
  }
}
.p-page-health-foods-supplements__box:nth-of-type(3) {
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-health-foods-supplements__box:nth-of-type(3) {
    margin-bottom: 9.375rem;
  }
}
.p-page-health-foods-supplements__box:nth-of-type(3) .p-page-health-foods-supplements__item-title {
  margin-top: 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-page-health-foods-supplements__box:nth-of-type(3) .p-page-health-foods-supplements__item-title {
    margin-top: 0.8125rem;
  }
}

.p-page-health-foods-supplements__box-text {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-health-foods-supplements__box-text {
    font-size: 1.125rem;
    margin-top: 1.5rem;
  }
}

.p-page-health-foods-supplements__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem 1rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-health-foods-supplements__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem 1.5rem;
    margin-top: 2.5rem;
  }
}

.p-page-health-foods-supplements__item-image {
  border-radius: 1.25rem;
  -webkit-filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 0.06));
          filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 0.06));
  overflow: hidden;
}

.p-page-health-foods-supplements__item-title {
  text-align: center;
  font-size: clamp(0.9375rem, 0.775862069rem + 0.6896551724vw, 1rem);
  font-weight: 700;
  line-height: 1.3;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-health-foods-supplements__item-title {
    line-height: 1;
    margin-top: 1rem;
  }
}

.p-page-health-foods-supplements__item-text {
  font-size: 0.875rem;
  line-height: 1.3;
  margin-top: 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-page-health-foods-supplements__item-text {
    font-size: 1rem;
    margin-top: 0.6875rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-health-foods-supplements__hero {
  background-image: url(../img/health-foods-supplements/health-foods-supplements-hero-bg.webp);
}
.p-page-health-foods-supplements__hero .c-hero__heading {
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .p-page-health-foods-supplements__hero .c-hero__heading {
    line-height: 1;
  }
}

.p-page-functional-claims-foods__box {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-functional-claims-foods__box {
    margin-top: 9.375rem;
  }
}
.p-page-functional-claims-foods__box + .p-page-functional-claims-foods__box {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-functional-claims-foods__box + .p-page-functional-claims-foods__box {
    margin-top: 6.25rem;
  }
}
.p-page-functional-claims-foods__box:nth-of-type(3) {
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-functional-claims-foods__box:nth-of-type(3) {
    margin-bottom: 9.375rem;
  }
}

.p-page-functional-claims-foods__list {
  max-width: 64.375rem;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-page-functional-claims-foods__list {
    margin-top: 2.5rem;
  }
}

.p-page-functional-claims-foods__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  border-radius: 1rem;
  background-color: #F9F9F9;
  padding: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-functional-claims-foods__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2.5rem;
    padding: 1.875rem;
  }
}
.p-page-functional-claims-foods__item + .p-page-functional-claims-foods__item {
  margin-top: 0.9375rem;
}
.p-page-functional-claims-foods__item + .p-page-functional-claims-foods__item::before {
  content: "";
  position: absolute;
  top: -0.9375rem;
  left: 50%;
  translate: -50% 0;
  width: 3.375rem;
  aspect-ratio: 54/15;
  background: url(../img/common/arrow-icon--blue.png) center/contain no-repeat;
}

.p-page-functional-claims-foods__item-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8.75rem;
}

.p-page-functional-claims-foods__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}

.p-page-functional-claims-foods__item-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}

.p-page-functional-claims-foods__item-name {
  color: #E67444;
  font-size: 0.875rem;
  font-weight: 500;
}

.p-page-functional-claims-foods__item-number {
  color: #E67444;
  font-size: 1.25rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-page-functional-claims-foods__item-number {
    font-size: 1.625rem;
  }
}

.p-page-functional-claims-foods__item-title {
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-page-functional-claims-foods__item-title {
    font-size: 1.5rem;
  }
}

.p-page-functional-claims-foods__item-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-functional-claims-foods__item-text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-functional-claims-foods__hero {
  background-image: url(../img/functional-claims-foods/functional-claims-foods-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-functional-claims-foods__item-text {
  text-align: left;
}

.p-page-nutrient-function-foods__box {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-nutrient-function-foods__box {
    padding-block: 9.375rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-nutrient-function-foods__hero {
  background-image: url(../img/nutrient-function-foods/nutrient-function-foods-hero-bg.webp);
}

.p-page-pet-supplements__box {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-pet-supplements__box {
    padding-block: 9.375rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-pet-supplements__hero {
  background-image: url(../img/pet-supplements/pet-supplements-hero-bg.webp);
}

.p-page-our-features__text {
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__text {
    font-size: 1.25rem;
    padding-top: 9.375rem;
  }
}

.p-page-our-features__list {
  padding-bottom: 5rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__list {
    padding-bottom: 9.375rem;
    margin-top: 3.625rem;
  }
}

.p-page-our-features__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-page-our-features__item:nth-of-type(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p-page-our-features__item:nth-of-type(even) .p-page-our-features__item-body {
  margin-inline: 0 -17.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__item:nth-of-type(even) .p-page-our-features__item-body {
    margin-inline: 0 -1.625rem;
  }
}
.p-page-our-features__item + .p-page-our-features__item {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__item + .p-page-our-features__item {
    margin-top: 3rem;
  }
}

.p-page-our-features__item-image {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 18.75rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__item-image {
    width: clamp(20rem, -1.3333333333rem + 33.3333333333vw, 25rem);
  }
}
.p-page-our-features__item-image img {
  border-radius: 1.25rem;
}

.p-page-our-features__item-body {
  min-height: 18.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 1.25rem;
  background-color: #F9F9F9;
  padding: 2.5rem 1.25rem 1.25rem;
  margin: 12.8125rem 0 0 -17.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__item-body {
    padding: 0 clamp(5rem, -2.2rem + 11.25vw, 6.6875rem) 1.6875rem;
    margin: 2.125rem 0 0 -1.625rem;
  }
}
.p-page-our-features__item-body::after {
  content: "";
  width: 2.5rem;
  aspect-ratio: 1/1;
  background: url(../img/common/circle-arrow-icon--orange.png) center/contain no-repeat;
  margin: auto 0 0 auto;
  -webkit-transition: translate 0.4s, scale 0.4s;
  transition: translate 0.4s, scale 0.4s;
}
@media (any-hover: hover) {
  .p-page-our-features__item-body:hover {
    opacity: 1;
  }
  .p-page-our-features__item-body:hover::after {
    translate: 0.5rem 0;
    scale: 1.1;
  }
}

.p-page-our-features__item-icon {
  width: 10.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.625rem;
  border-bottom: 2px solid #E1E1E1;
  padding-bottom: 0.0625rem;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__item-icon {
    width: 14.875rem;
    gap: 0.875rem;
    margin-top: -2.125rem;
  }
}

.p-page-our-features__item-name {
  color: #FD8652;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.125rem;
  margin-bottom: 0.375rem;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__item-name {
    font-size: 1.25rem;
  }
}

.p-page-our-features__item-number {
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #FD8652;
  color: transparent;
  font-family: "Lato", sans-serif;
  font-size: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__item-number {
    font-size: 4.25rem;
  }
}

.p-page-our-features__item-title {
  color: #2670C4;
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__item-title {
    font-size: 1.875rem;
  }
}

.p-page-our-features__item-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
  margin-block: 1rem 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-our-features__item-text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-our-features__hero {
  background-image: url(../img/our-features/our-features-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-our-features__item-text {
  text-align: left;
}

/*----------------------------------
  gmp
----------------------------------*/
.p-page-quality-control-gmp {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-gmp {
    padding-top: 9.375rem;
  }
}

.p-page-quality-control-gmp__body {
  max-width: 66.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.125rem;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-gmp__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-top: 2.5rem;
  }
}

.p-page-quality-control-gmp__body-title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-gmp__body-title {
    font-size: 1.75rem;
  }
}

.p-page-quality-control-gmp__body-text {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-gmp__body-text {
    font-size: 1.125rem;
    margin-top: 1.125rem;
  }
}

.p-page-quality-control-gmp__body-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8.5rem;
}

.p-page-quality-control-gmp__foot {
  max-width: 67.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.125rem;
  border-radius: 1.25rem;
  background-color: #EFF8FF;
  padding: 1.25rem;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-gmp__foot {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 2.3125rem;
    padding: 2.3125rem 4.1875rem 1.9375rem 4.5rem;
    margin-top: 3rem;
  }
}

.p-page-quality-control-gmp__foot-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.25rem;
}

.p-page-quality-control-gmp__foot-title {
  position: relative;
  color: #2670C4;
  font-size: 1.125rem;
  font-weight: 700;
  padding-left: 1.4375rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-gmp__foot-title {
    font-size: 1.5rem;
  }
}
.p-page-quality-control-gmp__foot-title::before {
  content: "";
  position: absolute;
  top: -0.25rem;
  left: 0;
  width: 1rem;
  aspect-ratio: 16/25;
  background: url(../img/common/merit-icon.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-gmp__foot-title::before {
    top: 0;
  }
}

.p-page-quality-control-gmp__foot-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-gmp__foot-text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  policy
----------------------------------*/
.p-page-quality-control-policy {
  padding-block: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy {
    padding-block: 6.25rem 8.125rem;
  }
}

.p-page-quality-control-policy__head {
  display: grid;
  gap: 1.25rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__head {
    grid-template-columns: 49.8333333333% 40.8333333333%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 2.5rem;
  }
}

.p-page-quality-control-policy__head-text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__head-text {
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
    font-size: 1.25rem;
  }
}

.p-page-quality-control-policy__head-image {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__head-image {
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}
.p-page-quality-control-policy__head-image img {
  border-radius: 1.25rem;
}

.p-page-quality-control-policy__list {
  max-width: 69.4375rem;
  margin: 2.5rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__list {
    margin-top: 3.75rem;
  }
}

.p-page-quality-control-policy__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__item {
    display: block;
  }
}
.p-page-quality-control-policy__item + .p-page-quality-control-policy__item {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__item + .p-page-quality-control-policy__item {
    margin-top: 3.75rem;
  }
}

.p-page-quality-control-policy__item-image {
  width: 15.625rem;
}

@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__item-content {
    position: absolute;
    top: 50%;
    left: 19.4375rem;
    translate: 0 -50%;
  }
}

.p-page-quality-control-policy__item-icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 1.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.125rem;
  border-radius: 1.375rem;
  background-color: #F2F2F2;
  padding-inline: 0.8125rem 0.875rem;
}

.p-page-quality-control-policy__item-name {
  color: #FD8652;
  font-family: "Lato", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
}

.p-page-quality-control-policy__item-number {
  color: #FD8652;
  font-size: 1rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__item-number {
    font-size: 1.25rem;
  }
}

.p-page-quality-control-policy__item-title {
  color: #2670C4;
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__item-title {
    font-size: 1.875rem;
  }
}

.p-page-quality-control-policy__item-text {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-quality-control-policy__item-text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-quality-control__hero {
  background-image: url(../img/quality-control/quality-control-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-quality-control-gmp__foot-text,
html.lang-en .p-page-quality-control-policy__head-text {
  text-align: left;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-quality-control-policy__item + .p-page-quality-control-policy__item {
    margin-top: 4.5rem;
  }
}

.p-page-facilities table {
  table-layout: fixed;
  border-collapse: collapse;
}

.p-page-facilities-nav {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities-nav {
    padding-top: 9.375rem;
  }
}

.p-page-facilities-nav__inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities-nav__inner {
    gap: 0.9375rem;
  }
}

.p-page-facilities-nav__link {
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 0.5rem;
  background-color: #00B3E9;
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 0.9375rem 0.5rem 0.9375rem clamp(0rem, -1.2931034483rem + 5.5172413793vw, 0.5rem);
}
@media screen and (min-width: 768px) {
  .p-page-facilities-nav__link {
    font-size: 1.125rem;
  }
}
.p-page-facilities-nav__link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.625rem;
  width: 0.75rem;
  aspect-ratio: 12/6;
  background: url(../img/common/arrow-icon--white.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .p-page-facilities-nav__link::before {
    right: 1.0625rem;
  }
}

.p-page-facilities__heading {
  border-bottom: 2px solid #2670C4;
  color: #2670C4;
  font-size: 1.5rem;
  font-weight: 700;
  padding-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__heading {
    font-size: 2.25rem;
  }
}

.p-page-facilities__lead {
  text-align: justify;
  color: #000;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__lead {
    font-size: 1.125rem;
    margin-top: 2.5rem;
  }
}

.p-page-facilities__title {
  color: #2670C4;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3;
}

.p-page-facilities__body-table-container {
  width: 100%;
  overflow: auto;
  margin-top: 1rem;
}

.p-page-facilities__body-table-border {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0.25rem;
  border: 1px solid #B9B9B9;
  overflow: hidden;
}

.p-page-facilities__body-table {
  width: 32.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__body-table {
    width: clamp(59.5rem, 46.7rem + 20vw, 62.5rem);
  }
}
.p-page-facilities__body-table thead {
  min-height: 2.875rem;
  background-color: #2670C4;
  border-bottom: 1px solid #B9B9B9;
}
.p-page-facilities__body-table thead th {
  color: #FFF;
}
.p-page-facilities__body-table thead th:first-of-type {
  border-radius: 0.1875rem 0 0 0;
}
.p-page-facilities__body-table thead th:last-of-type {
  border-radius: 0 0.1875rem 0 0;
}
.p-page-facilities__body-table tbody {
  background-color: #FFF;
}
.p-page-facilities__body-table tr:last-of-type td:first-of-type {
  border-radius: 0 0 0 0.1875rem;
}
.p-page-facilities__body-table tr:last-of-type td:last-of-type {
  border-radius: 0 0 0.1875rem 0;
}
.p-page-facilities__body-table th:first-of-type {
  width: 6.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__body-table th:first-of-type {
    width: 10.75rem;
  }
}
.p-page-facilities__body-table th + th,
.p-page-facilities__body-table td + td {
  border-left: 1px solid #B9B9B9;
}
.p-page-facilities__body-table tr + tr {
  border-top: 1px solid #B9B9B9;
}
.p-page-facilities__body-table th, .p-page-facilities__body-table td {
  vertical-align: middle;
  font-size: 1rem;
  line-height: 1.6;
  padding: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__body-table th, .p-page-facilities__body-table td {
    padding: 0.625rem 0.75rem;
  }
}
.p-page-facilities__body-table td span {
  text-indent: -0.8em;
  margin-left: 1em;
}

.p-page-facilities__list {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__list {
    margin-top: 2rem;
  }
}

.p-page-facilities__item + .p-page-facilities__item {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__item + .p-page-facilities__item {
    margin-top: 3rem;
  }
}

.p-page-facilities__item-table {
  width: 20.9375rem;
  border: 1px solid #B9B9B9;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__item-table {
    width: 30.9375rem;
  }
}
.p-page-facilities__item-table thead {
  min-height: 2.5625rem;
  background-color: #2670C4;
  border-bottom: 1px solid #B9B9B9;
}
.p-page-facilities__item-table thead th {
  color: #FFF;
}
.p-page-facilities__item-table tbody {
  background-color: #FFF;
}
.p-page-facilities__item-table th:nth-of-type(1) {
  width: 7.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__item-table th:nth-of-type(1) {
    width: 12.8125rem;
  }
}
.p-page-facilities__item-table th:nth-of-type(2) {
  width: 3.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__item-table th:nth-of-type(2) {
    width: 3.9375rem;
  }
}
.p-page-facilities__item-table td:nth-of-type(2) {
  text-align: center;
}
.p-page-facilities__item-table th + th,
.p-page-facilities__item-table td + td {
  border-left: 1px solid #B9B9B9;
}
.p-page-facilities__item-table tr + tr {
  border-top: 1px solid #B9B9B9;
}
.p-page-facilities__item-table th, .p-page-facilities__item-table td {
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1.3;
  padding: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__item-table th, .p-page-facilities__item-table td {
    font-size: 1rem;
    padding: 0.625rem 0.75rem;
  }
}

.p-page-facilities__item-box {
  display: grid;
  gap: 1.75rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__item-box {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-page-facilities__item-box-image {
  width: 100%;
}
.p-page-facilities__item-box-image img {
  border-radius: 1.25rem;
}

.p-page-facilities__item-box-title {
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities__item-box-title {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  preparation
----------------------------------*/
.p-page-facilities-preparation {
  padding-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities-preparation {
    padding-top: 5rem;
  }
}

.p-page-facilities-preparation__body {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities-preparation__body {
    margin-top: 2.5rem;
  }
}

/*----------------------------------
  fill
----------------------------------*/
.p-page-facilities-fill {
  padding-top: 4.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities-fill {
    padding-top: 7.5rem;
  }
}

/*----------------------------------
  packing
----------------------------------*/
.p-page-facilities-packing {
  padding-block: 4.5rem 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-facilities-packing {
    padding-block: 7.5rem 9.375rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-facilities__hero {
  background-image: url(../img/facilities/facilities-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-facilities-nav__link {
  font-size: 0.8125rem;
  padding-inline: 0.5rem 1.625rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-facilities-nav__link {
    font-size: 1.125rem;
    padding-inline: 2.0625rem;
  }
}
html.lang-en .p-page-facilities__lead {
  text-align: left;
}
html.lang-en .p-page-facilities__item-table th:nth-of-type(1) {
  width: 6.3125rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-facilities__item-table th:nth-of-type(1) {
    width: 11.5rem;
  }
}
html.lang-en .p-page-facilities__item-table th:nth-of-type(2) {
  width: 4.5625rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-facilities__item-table th:nth-of-type(2) {
    width: 5.25rem;
  }
}

.p-page-original-raw-materials__content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content {
    margin-top: 3.75rem;
  }
}

.p-page-original-raw-materials__content-title {
  color: #2670C4;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content-title {
    font-size: 1.25rem;
    line-height: 1;
  }
}

.p-page-original-raw-materials__content-title--red {
  color: #ED574C;
}

.p-page-original-raw-materials__content-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  padding-inline: 0.375rem;
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content-box {
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5rem;
    padding-inline: 0;
  }
}

.p-page-original-raw-materials__content-box-item + .p-page-original-raw-materials__content-box-item .p-page-original-raw-materials__content-box-item-image {
  position: relative;
}
.p-page-original-raw-materials__content-box-item + .p-page-original-raw-materials__content-box-item .p-page-original-raw-materials__content-box-item-image::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.125rem;
  translate: 0 -50%;
  width: 0.75rem;
  aspect-ratio: 20/72;
  background-color: #71B4E0;
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content-box-item + .p-page-original-raw-materials__content-box-item .p-page-original-raw-materials__content-box-item-image::before {
    left: -1.875rem;
    width: 1.25rem;
  }
}

.p-page-original-raw-materials__content-box-item-image img {
  border-radius: 1.25rem;
  -webkit-filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 0.06));
          filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 0.06));
}

.p-page-original-raw-materials__content-box-item-text {
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content-box-item-text {
    font-size: 1.125rem;
    margin-top: 1.625rem;
  }
}

.p-page-original-raw-materials__content-box-item-text--red {
  color: #ED574C;
}

.p-page-original-raw-materials__content-list-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content-list-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.p-page-original-raw-materials__content-list {
  width: min(50rem, 100%);
  border: 1px solid #DDD;
}

.p-page-original-raw-materials__content-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-page-original-raw-materials__content-item + .p-page-original-raw-materials__content-item {
  border-top: 1px solid #DDD;
}
.p-page-original-raw-materials__content-item dt, .p-page-original-raw-materials__content-item dd {
  font-size: 0.9375rem;
  line-height: 1.5;
  padding: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content-item dt, .p-page-original-raw-materials__content-item dd {
    font-size: 1rem;
    padding: 1rem 1.5rem;
  }
}
.p-page-original-raw-materials__content-item dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 7.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F9F9F9;
  border-right: 1px solid #DDD;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content-item dt {
    width: 13rem;
  }
}
.p-page-original-raw-materials__content-item dt:has(sub) {
  display: block;
}
.p-page-original-raw-materials__content-item dt sub {
  vertical-align: sub;
  font-size: smaller;
}
.p-page-original-raw-materials__content-item dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-page-original-raw-materials__content-image-box {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 21rem;
}

.p-page-original-raw-materials__content-image img {
  border-radius: 1.25rem;
}

.p-page-original-raw-materials__content-image-box-text {
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  margin-top: 1rem;
}

.p-page-original-raw-materials__content-text {
  font-size: 1rem;
  margin-top: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content-text {
    font-size: 1.125rem;
  }
}

.p-page-original-raw-materials__content-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials__content-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(2.5rem, -7.6333333333rem + 15.8333333333vw, 4.875rem);
    margin-top: 3.75rem;
  }
}
.p-page-original-raw-materials__content-wrapper .p-page-original-raw-materials__content {
  margin-top: 0;
}

.p-page-original-raw-materials__content-wrapper-image-box {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 11.4375rem;
}

.p-page-original-raw-materials__content-wrapper-text {
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.5rem;
}

/*----------------------------------
  hdlsop
----------------------------------*/
.p-page-original-raw-materials-hdlsop {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-hdlsop {
    padding-top: 9.375rem;
  }
}

.p-page-original-raw-materials-hdlsop__wrapper {
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-hdlsop__wrapper {
    margin-top: 2.5rem;
  }
}

.p-page-original-raw-materials-hdlsop__image {
  width: 100%;
}
.p-page-original-raw-materials-hdlsop__image img {
  border-radius: 1.25rem;
}

.p-page-original-raw-materials-hdlsop__title {
  color: #FD8652;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-hdlsop__title {
    font-size: 1.75rem;
    line-height: 1;
    margin-top: 2.3125rem;
  }
}

.p-page-original-raw-materials-hdlsop__text {
  max-width: 65rem;
  text-align: justify;
  font-size: 0.9375rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-hdlsop__text {
    font-size: 1rem;
    margin-top: 1.3125rem;
  }
}
.p-page-original-raw-materials-hdlsop__text + .p-page-original-raw-materials-hdlsop__text {
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-hdlsop__text + .p-page-original-raw-materials-hdlsop__text {
    margin-top: 1.0625rem;
  }
}

.p-page-original-raw-materials-hdlsop__text--blue {
  color: #2670C4;
  font-weight: 700;
}

/*----------------------------------
  kotarahimubutsu
----------------------------------*/
.p-page-original-raw-materials-kotarahimubutsu {
  padding-block: 1.875rem 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-kotarahimubutsu {
    padding-block: 1.875rem 9.375rem;
  }
}

.p-page-original-raw-materials-kotarahimubutsu__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-kotarahimubutsu__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 3.4375rem;
    margin-top: 2.5625rem;
  }
}

.p-page-original-raw-materials-kotarahimubutsu__head-image {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-kotarahimubutsu__head-image {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 45.4166666667%;
  }
}
.p-page-original-raw-materials-kotarahimubutsu__head-image img {
  border-radius: 1.25rem;
  -webkit-filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 0.08));
          filter: drop-shadow(0px 0px 40px rgba(0, 0, 0, 0.08));
}

@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-kotarahimubutsu__head-content {
    width: 45.75%;
  }
}

.p-page-original-raw-materials-kotarahimubutsu__head-text--orange {
  color: #FD8652;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-kotarahimubutsu__head-text--orange {
    font-size: 1.5rem;
  }
}

.p-page-original-raw-materials-kotarahimubutsu__head-text--small {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-kotarahimubutsu__head-text--small {
    font-size: 1rem;
  }
}

.p-page-original-raw-materials-kotarahimubutsu__head-text {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-kotarahimubutsu__head-text {
    font-size: 1.125rem;
    margin-top: 1.25rem;
  }
}

.p-page-original-raw-materials-kotarahimubutsu__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-kotarahimubutsu__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: unset;
        -ms-flex-align: unset;
            align-items: unset;
    gap: clamp(2.5rem, -11.6333333333rem + 22.0833333333vw, 5.8125rem);
    margin-top: 2.5rem;
  }
}

.p-page-original-raw-materials-kotarahimubutsu__body-text {
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-page-original-raw-materials-kotarahimubutsu__body-text {
    font-size: 1.125rem;
  }
}

.p-page-original-raw-materials-kotarahimubutsu__body-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 21rem;
}
.p-page-original-raw-materials-kotarahimubutsu__body-image img {
  border-radius: 1.25rem;
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-original-raw-materials__hero {
  background-image: url(../img/original-raw-materials/original-raw-materials-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en sub {
  vertical-align: unset;
  font-size: unset;
}
html.lang-en .p-page-original-raw-materials-hdlsop__text {
  text-align: left;
}
html.lang-en .p-page-original-raw-materials-hdlsop__box-arrow {
  padding-top: 0.5rem;
}

/*----------------------------------
  中国語
----------------------------------*/
html.lang-cn sub {
  vertical-align: unset;
  font-size: unset;
}

.p-page-raw-materials__body {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials__body {
    padding-block: 9.375rem;
  }
}

.p-page-raw-materials__lead {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials__lead {
    font-size: 1.25rem;
    margin-bottom: 1.8125rem;
  }
}

.p-page-raw-materials__text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials__text {
    margin-top: 1.5rem;
  }
}

.p-page-raw-materials__nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials__nav {
    grid-template-columns: repeat(5, 1fr);
    margin-top: 2.5rem;
  }
}

.p-page-raw-materials__nav-link {
  width: 100%;
  min-height: 3.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.5rem;
  background-color: #12B3F1;
  color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  padding: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials__nav-link {
    font-size: 1.125rem;
  }
}

.p-page-raw-materials__list {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials__list {
    margin-top: 2.5rem;
  }
}

.p-page-raw-materials-accordion {
  scroll-margin-top: 1.25rem;
}
.p-page-raw-materials-accordion + .p-page-raw-materials-accordion {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials-accordion + .p-page-raw-materials-accordion {
    margin-top: 1.5rem;
  }
}
.p-page-raw-materials-accordion.is-opened .p-page-raw-materials-summary::after {
  rotate: 180deg;
}

.p-page-raw-materials-summary {
  position: relative;
  width: 100%;
  min-height: 5.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  border-radius: 0.625rem;
  background-color: #F5F9FC;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  padding-inline: 1.25rem 3rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials-summary {
    font-size: 1.125rem;
    padding-inline: 3.375rem 5.5rem;
  }
}
.p-page-raw-materials-summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  translate: 0 -50%;
  width: 1.25rem;
  aspect-ratio: 26/12;
  background: url(../img/common/arrow-icon--skyblue.png) center/contain no-repeat;
  -webkit-transition: rotate 0.4s;
  transition: rotate 0.4s;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials-summary::after {
    right: 3.375rem;
    width: 1.625rem;
  }
}
.p-page-raw-materials-summary::-webkit-details-marker {
  display: none;
}

.p-page-raw-materials-accordion__inner {
  max-width: 68.875rem;
  padding: 2rem 1.25rem 0;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials-accordion__inner {
    padding-top: 2.5rem;
  }
}

.p-page-raw-materials-accordion__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  border-bottom: 1px solid #EDEDED;
  padding-bottom: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials-accordion__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 3.125rem;
    padding-bottom: 1.4375rem;
  }
}
.p-page-raw-materials-accordion__content + .p-page-raw-materials-accordion__content {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials-accordion__content + .p-page-raw-materials-accordion__content {
    margin-top: 1.5rem;
  }
}

.p-page-raw-materials-accordion__name {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  color: #2670C4;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials-accordion__name {
    width: 12.9375rem;
    font-size: 1.125rem;
  }
}

.p-page-raw-materials-accordion__text {
  font-size: 1rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-raw-materials-accordion__text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-raw-materials__hero {
  background-image: url(../img/original-raw-materials/original-raw-materials-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-raw-materials__nav-link font {
  display: block;
  text-align: center;
}
html.lang-en .p-page-raw-materials__text {
  text-align: left;
}

/*----------------------------------
  type
----------------------------------*/
.p-page-packaging-materials-type {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-packaging-materials-type {
    padding-top: 9.375rem;
  }
}

.p-page-packaging-materials-type__list {
  display: grid;
  gap: 1.25rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-packaging-materials-type__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.875rem;
    margin-top: 2.5rem;
  }
}

.p-page-packaging-materials-type__item-image {
  width: 100%;
}
.p-page-packaging-materials-type__item-image img {
  border-radius: 1.25rem;
}

.p-page-packaging-materials-type__item-title {
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-packaging-materials-type__item-title {
    font-size: 1.25rem;
    margin-top: 1.125rem;
  }
}

/*----------------------------------
  choice
----------------------------------*/
.p-page-packaging-materials-choice {
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-packaging-materials-choice {
    padding-top: 6.25rem;
  }
}

/*----------------------------------
  support
----------------------------------*/
.p-page-packaging-materials-support {
  padding-block: 3.75rem 4.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-packaging-materials-support {
    padding-block: 5rem 7.875rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-packaging-materials__hero {
  background-image: url(../img/packaging-materials/packaging-materials-hero-bg.webp);
}

.p-page-faq__body {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-faq__body {
    padding-block: 9.375rem;
  }
}

.page-faq__nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.9375rem 1.0625rem;
}
@media screen and (min-width: 768px) {
  .page-faq__nav {
    grid-template-columns: repeat(3, 1fr);
  }
}

.page-faq_nav-link {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 3.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.5rem;
  background-color: #12B3F1;
  color: #FFF;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
  padding: 0.5rem 1.625rem 0.5rem clamp(1rem, -0.6163793103rem + 6.8965517241vw, 1.625rem);
}
@media screen and (min-width: 768px) {
  .page-faq_nav-link {
    font-size: 1.125rem;
    padding-inline: 2rem;
  }
}
.page-faq_nav-link::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.625rem;
  translate: 0 -50%;
  width: 0.75rem;
  aspect-ratio: 12/6;
  background: url(../img/common/arrow-icon--white.png) center/contain no-repeat;
}
@media screen and (min-width: 768px) {
  .page-faq_nav-link::before {
    right: 1rem;
  }
}

.page-faq__item {
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .page-faq__item {
    padding-top: 6.25rem;
  }
}

.page-faq__item-title {
  color: #2670C4;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .page-faq__item-title {
    font-size: 2rem;
  }
}

.p-page-faq-accordion {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-faq-accordion {
    margin-top: 2rem;
  }
}
.p-page-faq-accordion + .p-page-faq-accordion {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-faq-accordion + .p-page-faq-accordion {
    margin-top: 1.5rem;
  }
}
.p-page-faq-accordion.is-opened .p-page-faq-summary::after {
  rotate: 180deg;
}

.p-page-faq-summary {
  position: relative;
  width: 100%;
  min-height: 5.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  cursor: pointer;
  border-radius: 0.625rem;
  background-color: #F5F9FC;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 0.75rem 2.75rem 0.75rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-faq-summary {
    gap: 1rem;
    font-size: 1.125rem;
    padding-inline: 3.375rem 4.875rem;
  }
}
.p-page-faq-summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.25rem;
  translate: 0 -50%;
  width: 1.25rem;
  aspect-ratio: 26/12;
  background: url(../img/common/arrow-icon--skyblue.png) center/contain no-repeat;
  -webkit-transition: rotate 0.4s;
  transition: rotate 0.4s;
}
@media screen and (min-width: 768px) {
  .p-page-faq-summary::after {
    right: 3.1875rem;
    width: 1.625rem;
  }
}
.p-page-faq-summary::-webkit-details-marker {
  display: none;
}

.p-page-faq-summary__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #12B3F1;
  font-family: "Lato", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-faq-summary__icon {
    font-size: 1.5rem;
  }
}

.p-page-faq-accordion__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  padding: 1rem 1.25rem 0;
}
@media screen and (min-width: 768px) {
  .p-page-faq-accordion__inner {
    gap: 1rem;
    padding: 1.5rem 3.625rem 0;
  }
}

.p-page-faq-accordion__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  color: #FD8652;
  font-family: "Lato", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-faq-accordion__icon {
    font-size: 1.5rem;
  }
}

.p-page-faq-accordion__text {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-faq-accordion__text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-faq__hero {
  background-image: url(../img/faq/faq-hero-bg--sp.webp);
}
@media screen and (min-width: 768px) {
  .p-page-faq__hero {
    background-image: url(../img/faq/faq-hero-bg--pc.webp);
  }
}

.p-page-company__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-company__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-page-company__head {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: clamp(16.25rem, 0.25rem + 25vw, 20rem);
  }
}

/*----------------------------------
  information
----------------------------------*/
.p-page-company-information {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-information {
    padding-top: 9.375rem;
  }
}

.p-page-company-information__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  border-bottom: 1px solid #ECECEC;
  padding-bottom: 0.9375rem;
}
.p-page-company-information__item + .p-page-company-information__item {
  margin-top: 1rem;
}
.p-page-company-information__item dt, .p-page-company-information__item dd {
  font-size: 1rem;
  line-height: 1.6;
  letter-spacing: 0.0225rem;
}
.p-page-company-information__item dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 5.875rem;
  color: #2670C4;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-company-information__item dt {
    width: 11.25rem;
  }
}
.p-page-company-information__item dd.--en {
  display: none;
}
.p-page-company-information__item a {
  text-decoration: underline;
}

/*----------------------------------
  map
----------------------------------*/
.p-page-company-map {
  padding-top: 2.5rem;
}
.p-page-company-map iframe {
  width: 100%;
  height: 22.5rem;
}

/*----------------------------------
  history
----------------------------------*/
.p-page-company-history {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-history {
    padding-block: 9.375rem;
  }
}

.p-page-company-history__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-history__item {
    padding-bottom: 2.875rem;
  }
}
.p-page-company-history__item::before, .p-page-company-history__item::after {
  content: "";
  position: absolute;
  left: 4.875rem;
  translate: -50% 0;
  background-color: #2670C4;
}
@media screen and (min-width: 768px) {
  .p-page-company-history__item::before, .p-page-company-history__item::after {
    left: 7.5rem;
  }
}
.p-page-company-history__item::before {
  top: 0.875rem;
  width: 1px;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-page-company-history__item::before {
    top: 1rem;
  }
}
.p-page-company-history__item::after {
  top: 0.5rem;
  width: 0.75rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  .p-page-company-history__item::after {
    top: 0.625rem;
  }
}
.p-page-company-history__item:last-of-type {
  padding-bottom: 0;
}
.p-page-company-history__item:last-of-type::before {
  height: 1.875rem;
}
.p-page-company-history__item dt, .p-page-company-history__item dd {
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-page-company-history__item dt, .p-page-company-history__item dd {
    font-size: 1.125rem;
  }
}
.p-page-company-history__item dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 7.5rem;
  color: #2670C4;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-company-history__item dt {
    width: 12.75rem;
  }
}
.p-page-company-history__item dd {
  text-align: justify;
}

/*----------------------------------
  idea
----------------------------------*/
.p-page-company-idea {
  border-radius: 0 6.25rem 0 0;
  background: url(../img/company/company-idea-bg.webp) center top/100% 46.9375rem no-repeat;
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-idea {
    border-radius: 0 12.5rem 0 0;
    padding-top: 9.625rem;
  }
}

.p-page-company-idea__list {
  margin: 2.5rem 0 0 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-idea__list {
    margin: 3.75rem 0 0 clamp(2.5rem, -10.8333333333rem + 20.8333333333vw, 5.625rem);
  }
}

.p-page-company-idea__list-text {
  position: relative;
  font-size: 1.25rem;
  line-height: 1.6;
  padding-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-idea__list-text {
    font-size: clamp(1.625rem, 1.0916666667rem + 0.8333333333vw, 1.75rem);
    padding-left: 2.375rem;
  }
}
.p-page-company-idea__list-text + .p-page-company-idea__list-text {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-idea__list-text + .p-page-company-idea__list-text {
    margin-top: 2.5rem;
  }
}
.p-page-company-idea__list-text::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}

.p-page-company-idea__image {
  padding-inline: 1rem;
  margin: 0.625rem max(50% - 50vw, -6.25rem) 0;
}
@media screen and (min-width: 768px) {
  .p-page-company-idea__image {
    padding-inline: 1.5625rem;
    margin-top: 0;
  }
}

/*----------------------------------
  message
----------------------------------*/
.p-page-company-message {
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-message {
    padding-top: 6.25rem;
  }
}

/*----------------------------------
  contribution
----------------------------------*/
.p-page-company-contribution {
  padding-block: 3.75rem 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-contribution {
    padding-block: 6.25rem 9.375rem;
  }
}

.p-page-company-contribution__title {
  font-size: 1.125rem;
  line-height: 1.8;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-contribution__title {
    font-size: 1.5rem;
    margin-top: 2.5rem;
  }
}

.p-page-company-contribution__text {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-company-contribution__text {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-company__hero {
  background-image: url(../img/company/company-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
@media screen and (min-width: 768px) {
  html.lang-en .p-page-company .c-heading--dot {
    font-size: 2rem;
  }
}
html.lang-en .p-page-company-information__item dt, html.lang-en .p-page-company-information__item dd {
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-company-information__item dt, html.lang-en .p-page-company-information__item dd {
    font-size: 1.125rem;
  }
}
html.lang-en .p-page-company-information__item dt {
  width: 6.875rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-company-information__item dt {
    width: 11.25rem;
  }
}
html.lang-en .p-page-company-information__item dd.--jp {
  display: none;
}
html.lang-en .p-page-company-information__item dd.--en {
  display: block;
}
html.lang-en .p-page-company-history__item dd {
  text-align: left;
}

.p-page-recruit__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 6.875rem;
  }
}

.p-page-recruit__list {
  max-width: 43.75rem;
}

.p-page-recruit__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  border-bottom: 1px solid #ECECEC;
  padding: 0 0.5rem 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__item {
    padding: 0 1.25rem 0.75rem 0.8125rem;
  }
}
.p-page-recruit__item + .p-page-recruit__item {
  margin-top: 1rem;
}
.p-page-recruit__item:first-of-type dd {
  font-weight: 700;
}
.p-page-recruit__item dt, .p-page-recruit__item dd {
  font-size: 1rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__item dt, .p-page-recruit__item dd {
    font-size: 1.125rem;
  }
}
.p-page-recruit__item dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.625rem;
  color: #2670C4;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__item dt {
    width: 12.625rem;
  }
}

.p-page-recruit__list-text {
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.1375rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__list-text {
    font-size: 1.375rem;
  }
}

/*----------------------------------
  nav
----------------------------------*/
.p-page-recruit__nav {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__nav {
    padding-top: 9.375rem;
  }
}

.p-page-recruit__nav-text {
  text-align: center;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__nav-text {
    font-size: 1.25rem;
  }
}

.p-page-recruit__nav-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.75rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__nav-list {
    gap: 1.5rem;
  }
}

.p-page-recruit__nav-item:nth-of-type(1) .p-page-recruit__nav-item-link {
  background-image: url(../img/recruit/recruit-nav-bg--01.webp);
}
.p-page-recruit__nav-item:nth-of-type(2) .p-page-recruit__nav-item-link {
  background-image: url(../img/recruit/recruit-nav-bg--02.webp);
}
.p-page-recruit__nav-item:nth-of-type(3) .p-page-recruit__nav-item-link {
  background-image: url(../img/recruit/recruit-nav-bg--03.webp);
}

.p-page-recruit__nav-item-link {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 7rem;
  border-radius: 0.625rem;
  background: center/cover no-repeat;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 1.25rem 0.75rem 2.6875rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__nav-item-link {
    min-height: 9.9375rem;
    font-size: 1.5rem;
    padding: 2.5625rem 2.1875rem 3.9375rem;
  }
}
.p-page-recruit__nav-item-link::before, .p-page-recruit__nav-item-link::after {
  content: "";
  position: absolute;
  bottom: 1.875rem;
  translate: 0 50%;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__nav-item-link::before, .p-page-recruit__nav-item-link::after {
    bottom: 3.125rem;
  }
}
.p-page-recruit__nav-item-link::before {
  left: 3.125rem;
  width: 1.25rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #FFAC88;
  -webkit-transition: left 0.4s;
  transition: left 0.4s;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__nav-item-link::before {
    left: 4.375rem;
    width: 1.625rem;
  }
}
.p-page-recruit__nav-item-link::after {
  left: 0.75rem;
  width: 3rem;
  height: 1px;
  background-color: #FFF;
}
@media screen and (min-width: 768px) {
  .p-page-recruit__nav-item-link::after {
    left: 2.1875rem;
  }
}
@media (any-hover: hover) {
  .p-page-recruit__nav-item-link:hover {
    opacity: 1;
  }
  .p-page-recruit__nav-item-link:hover::before {
    left: 0.125rem;
  }
}
@media screen and (any-hover: hover) and (min-width: 768px) {
  .p-page-recruit__nav-item-link:hover::before {
    left: 1.375rem;
  }
}

/*----------------------------------
  about
----------------------------------*/
.p-page-recruit-about {
  padding-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-about {
    padding-top: 6.25rem;
  }
}

.p-page-recruit-about__text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-about__text {
    font-size: 1.25rem;
    margin-top: 2.5rem;
  }
}

.p-page-recruit-about__container {
  padding-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-about__container {
    padding-top: 3.75rem;
  }
}

/*----------------------------------
  statue
----------------------------------*/
.p-page-recruit-statue__inner {
  display: grid;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-statue__inner {
    grid-template-columns: 46% 45.4166666667%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-page-recruit-statue__content {
  display: contents;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-statue__content {
    display: block;
  }
}

.p-page-recruit-statue__text {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-statue__text {
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
    font-size: 1.125rem;
    margin-top: 3.375rem;
  }
}

.p-page-recruit-statue__image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-statue__image {
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
  }
}
.p-page-recruit-statue__image img {
  border-radius: 1.25rem;
}

/*----------------------------------
  new-graduate
----------------------------------*/
@media screen and (min-width: 768px) {
  .p-page-recruit-new-graduate .c-heading--dot {
    width: 18.75rem;
  }
}

.p-page-recruit-new-graduate__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-new-graduate__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 14.9375rem;
  }
}

/*----------------------------------
  carrier
----------------------------------*/
@media screen and (min-width: 768px) {
  .p-page-recruit-carrier .c-heading--dot {
    width: 18.75rem;
  }
}

.p-page-recruit-carrier__video-wrapper .c-heading--dot {
  width: unset !important;
}

.p-page-recruit-carrier__video {
  width: 100%;
  padding-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-carrier__video {
    padding-top: 2.5rem;
  }
}
.p-page-recruit-carrier__video video {
  width: 100%;
  height: auto;
}

/*----------------------------------
  introduction
----------------------------------*/
.p-page-recruit-introduction {
  padding-top: 3.75rem;
  scroll-margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-introduction {
    padding-top: 6.25rem;
  }
}

/*----------------------------------
  environment
----------------------------------*/
.p-page-recruit-environment {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-environment {
    padding-block: 9.375rem;
  }
}

.p-page-recruit-environment__body {
  display: grid;
  gap: 1.25rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-recruit-environment__body {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    margin-top: 2.5rem;
  }
}

.p-page-recruit-environment__image img {
  border-radius: 1.25rem;
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-recruit__hero {
  background-image: url(../img/recruit/recruit-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-recruit__nav-item-link {
  font-size: 1rem;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-recruit__nav-item-link {
    font-size: 1.5rem;
    overflow-wrap: unset;
  }
}
html.lang-en .p-page-recruit-new-graduate .c-heading--dot,
html.lang-en .p-page-recruit-carrier .c-heading--dot {
  width: 18.75rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .p-page-recruit-new-graduate__inner {
    gap: 7.5rem;
  }
}

/*----------------------------------
  interview
----------------------------------*/
.p-page-employee-interview {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview {
    padding-top: 9.375rem;
  }
}

.p-page-employee-interview__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.5rem;
  }
}

.p-page-employee-interview__head-heading {
  color: #12B3F1;
  font-family: "Lato", sans-serif;
  font-size: 2rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__head-heading {
    font-size: 3.75rem;
  }
}

.p-page-employee-interview__head-name {
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__head-name {
    font-size: 1.25rem;
  }
}

.p-page-employee-interview__head-text {
  font-size: 0.875rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__head-text {
    font-size: 0.9375rem;
  }
}

.p-page-employee-interview__head-image {
  max-width: 44.3125rem;
  aspect-ratio: 709/334;
}
.p-page-employee-interview__head-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1.25rem;
}

.p-page-employee-interview__list {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__list {
    margin-top: 2.5rem;
  }
}

.p-page-employee-interview__item + .p-page-employee-interview__item {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__item + .p-page-employee-interview__item {
    margin-top: 3.125rem;
  }
}

.p-page-employee-interview__item-title {
  border-bottom: 1px solid #AEB0B0;
  color: #2670C4;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__item-title {
    font-size: 1.125rem;
  }
}

.p-page-employee-interview__item-text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__item-text {
    font-size: 1.125rem;
  }
}

.p-page-employee-interview__foot {
  max-width: 67.5rem;
  border-radius: 1.25rem;
  background-color: #F5F9FC;
  padding: 2rem 1.25rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__foot {
    padding: 4.0625rem 7.875rem 4.9375rem;
    margin-top: 2.5rem;
  }
}

.p-page-employee-interview__foot-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__foot-title {
    font-size: 1.875rem;
  }
}

.p-page-employee-interview__foot-box {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__foot-box {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
    margin-top: 3.125rem;
  }
}

.p-page-employee-interview__foot-list:first-of-type .p-page-employee-interview__foot-item:last-of-type::before {
  display: block;
  height: calc(100% + 1rem);
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__foot-list:first-of-type .p-page-employee-interview__foot-item:last-of-type::before {
    display: none;
  }
}

.p-page-employee-interview__foot-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  padding-bottom: 1rem;
}
.p-page-employee-interview__foot-item::before, .p-page-employee-interview__foot-item::after {
  content: "";
  position: absolute;
  left: 5rem;
  translate: -50% 0;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__foot-item::before, .p-page-employee-interview__foot-item::after {
    left: 5.375rem;
  }
}
.p-page-employee-interview__foot-item::before {
  top: 0.6875rem;
  width: 1px;
  height: 100%;
  background-color: #2670C4;
}
.p-page-employee-interview__foot-item::after {
  top: 0.4375rem;
  width: 0.625rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #2670C4;
}
.p-page-employee-interview__foot-item:last-of-type {
  padding-bottom: 0;
}
.p-page-employee-interview__foot-item:last-of-type::before {
  display: none;
}
.p-page-employee-interview__foot-item dt, .p-page-employee-interview__foot-item dd {
  font-size: 0.9375rem;
  line-height: 1.6;
}
.p-page-employee-interview__foot-item dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6.25rem;
  color: #2670C4;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-page-employee-interview__foot-item dt {
    width: 7.8125rem;
  }
}

/*----------------------------------
  introduction
----------------------------------*/
.p-page-employee-introduction {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-employee-introduction {
    padding-block: 9.375rem 10rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-employee__hero {
  background-image: url(../img/employee/employee-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-employee-interview__item-text {
  text-align: left;
}

/*----------------------------------
  一覧
----------------------------------*/
.p-page-oem-case__nav {
  padding-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case__nav {
    padding-top: 9.375rem;
  }
}

.p-page-oem-case__nav-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case__nav-list {
    grid-template-columns: repeat(5, 1fr);
  }
}

.p-page-oem-case__nav-link {
  height: 100%;
  min-height: 4.375rem;
  display: grid;
  place-items: center;
  border-radius: 0.5rem;
  background-color: #12B3F1;
  text-align: center;
  color: #FFF;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case__nav-link {
    font-size: 1.125rem;
  }
}
.p-page-oem-case__nav-link.is-current {
  background-color: #2670C4;
}

.p-page-oem-case__body {
  padding-block: 2.5rem 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case__body {
    padding-block: 3.75rem 9.375rem;
  }
}

.p-page-oem-case__list {
  display: grid;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.75rem 1.5rem;
  }
}

.p-page-oem-case__item-image {
  width: 100%;
  aspect-ratio: 384/304;
  border-radius: 0.9375rem;
  -webkit-box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.06);
          box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
.p-page-oem-case__item-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-page-oem-case__item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case__item-label {
    margin-top: 1rem;
  }
}

.p-page-oem-case__item-date {
  color: #BABABA;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case__item-date {
    font-size: 1.125rem;
  }
}

.p-page-oem-case__item-category {
  border-radius: 0.25rem;
  background-color: #12B3F1;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.625rem;
}

.p-page-oem-case__item-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 0.6875rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case__item-title {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  詳細
----------------------------------*/
.p-page-oem-case-detail__body {
  padding-block: 5rem 11.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case-detail__body {
    padding-block: 9.375rem 21.875rem;
  }
}

.p-page-oem-case-detail__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}

.p-page-oem-case-detail__date {
  color: #AEB0B0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case-detail__date {
    font-size: 1.125rem;
  }
}

.p-page-oem-case-detail__category {
  border-radius: 0.25rem;
  background-color: #12B3F1;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.625rem;
}

.p-page-oem-case-detail__heading {
  color: #2670C4;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case-detail__heading {
    font-size: 2.25rem;
  }
}

.p-page-oem-case-detail__columns {
  margin-top: 1.25rem;
}
.p-page-oem-case-detail__columns .c-columns__image {
  aspect-ratio: 545/334;
}
.p-page-oem-case-detail__columns .c-columns__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-page-oem-case-detail__button {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-oem-case-detail__button {
    margin-top: 3.75rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-oem-case__hero {
  background-image: url(../img/oem-case/oem-case-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-oem-case__nav-link {
  overflow-wrap: anywhere;
}

/*----------------------------------
  一覧
----------------------------------*/
.p-page-news__body {
  width: min(50.625rem, 100%);
}

.p-page-news__list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.p-page-news__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  border-bottom: 1px solid #EDEDED;
  padding-block: 1.125rem 1.4375rem;
}
@media screen and (min-width: 768px) {
  .p-page-news__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.875rem;
  }
}

.p-page-news__item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-page-news__item-label {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    gap: 1.5rem;
  }
}

.p-page-news__item-date {
  color: #AEB0B0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-page-news__item-category {
  min-width: 5.75rem;
  border-radius: 0.25rem;
  background-color: green;
  text-align: center;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.625rem;
}

.p-page-news__item-title {
  font-size: 1rem;
  line-height: 1.6;
}

.p-page-news__category--red {
  background-color: #C00 !important;
}

.p-page-news__category--orange {
  background-color: #FD8652 !important;
}

.p-page-news__category--gray {
  background-color: #8E8E8E !important;
}

.p-page-news__category--blue {
  background-color: #2670C4 !important;
}

/*----------------------------------
  詳細
----------------------------------*/
.p-page-news-detail__body {
  width: min(53.8125rem, 100%);
}

.p-page-news-detail__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}

.p-page-news-detail__date {
  color: #AEB0B0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-page-news-detail__category {
  border-radius: 0.25rem;
  background-color: green;
  color: #FFF;
  font-weight: 700;
  padding: 0.25rem 0.625rem;
}

.p-page-news-detail__heading {
  color: #2670C4;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-news-detail__heading {
    font-size: 1.875rem;
  }
}

.p-page-news-detail__image {
  margin-top: 1.1875rem;
}
.p-page-news-detail__image img {
  border-radius: 1.25rem;
}

.p-page-news-detail__text {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 1.3125rem;
}
@media screen and (min-width: 768px) {
  .p-page-news-detail__text {
    font-size: 1.125rem;
  }
}

.p-page-news-detail__button-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-news-detail__button-area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: unset;
        -ms-flex-align: unset;
            align-items: unset;
    gap: 6.25rem;
    margin-top: 3.75rem;
  }
}

.p-page-news-detail__button-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.4375rem;
}

.p-page-news-detail__button-nav-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  font-size: 0.875rem;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .p-page-news-detail__button-nav-link {
    gap: 1.5rem;
  }
}

.p-page-news-detail__button-nav-link-prev::before {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  rotate: 180deg;
  width: 3rem;
  aspect-ratio: 1/1;
  background: url(../img/common/circle-arrow-icon--white.png) center/contain no-repeat;
  -webkit-transition: translate 0.4s;
  transition: translate 0.4s;
}
@media screen and (min-width: 768px) {
  .p-page-news-detail__button-nav-link-prev::before {
    width: 3.4375rem;
  }
}
@media (any-hover: hover) {
  .p-page-news-detail__button-nav-link-prev:hover {
    opacity: 1;
  }
  .p-page-news-detail__button-nav-link-prev:hover::before {
    translate: -0.375rem 0;
  }
}

.p-page-news-detail__button-nav-link-next::after {
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3rem;
  aspect-ratio: 1/1;
  background: url(../img/common/circle-arrow-icon--white.png) center/contain no-repeat;
  -webkit-transition: translate 0.4s;
  transition: translate 0.4s;
}
@media screen and (min-width: 768px) {
  .p-page-news-detail__button-nav-link-next::after {
    width: 3.4375rem;
  }
}
@media (any-hover: hover) {
  .p-page-news-detail__button-nav-link-next:hover {
    opacity: 1;
  }
  .p-page-news-detail__button-nav-link-next:hover::after {
    translate: 0.375rem 0;
  }
}

.p-page-news__button {
  margin-inline: 0;
}
@media screen and (min-width: 768px) {
  .p-page-news__button {
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-news__hero {
  background-image: url(../img/news/news-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-news-detail__text {
  text-align: left;
}

/*----------------------------------
  一覧
----------------------------------*/
.p-page-column__body {
  width: 100%;
}

.p-page-column__list {
  display: grid;
  gap: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-page-column__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-page-column__item {
  border-radius: 0.625rem;
  background-color: #FFF;
  -webkit-filter: drop-shadow(0px 0px 18px rgba(0, 0, 0, 0.1));
          filter: drop-shadow(0px 0px 18px rgba(0, 0, 0, 0.1));
}

.p-page-column__item-image {
  width: 100%;
  aspect-ratio: 440/214;
  border-radius: 0.625rem 0.625rem 0 0;
  overflow: hidden;
}
.p-page-column__item-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-page-column__item-content {
  padding: 1.5rem 1.25rem;
}

.p-page-column__item-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}

.p-page-column__item-date {
  color: #AEB0B0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-column__item-date {
    font-size: 1.125rem;
  }
}

.p-page-column__item-category {
  border-radius: 0.25rem;
  background-color: #12B3F1;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.625rem;
}

.p-page-column__item-title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  margin-top: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .p-page-column__item-title {
    font-size: 1.125rem;
  }
}

/*----------------------------------
  詳細
----------------------------------*/
.p-page-column-detail__date {
  color: #AEB0B0;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-page-column-detail__date {
    font-size: 1.125rem;
  }
}

.p-page-column-detail__category {
  border-radius: 0.25rem;
  background-color: #12B3F1;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.25rem 0.625rem;
}

.p-page-column-detail__image {
  width: 100%;
  aspect-ratio: 861/334;
  border-radius: 1.25rem;
  overflow: hidden;
  margin-top: 1.25rem;
}
.p-page-column-detail__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-page-column-detail__content h2 {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.8;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-column-detail__content h2 {
    font-size: 1.25rem;
  }
}
.p-page-column-detail__content h3 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-page-column-detail__content h3 {
    font-size: 1.125rem;
  }
}
.p-page-column-detail__content p {
  text-align: justify;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-page-column-detail__content p {
    font-size: 1.125rem;
  }
}
.p-page-column-detail__content ul {
  list-style: inside disc;
}
.p-page-column-detail__content ol {
  list-style: inside decimal;
}
.p-page-column-detail__content li {
  font-size: 1rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-page-column-detail__content li {
    font-size: 1.125rem;
  }
}

.p-page-column-detail-relevance {
  padding-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-column-detail-relevance {
    padding-bottom: 9.375rem;
  }
}

.p-page-column-detail-relevance__list {
  display: grid;
  gap: 2rem;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-column-detail-relevance__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.875rem;
    margin-top: 4.0625rem;
  }
}

.p-page-column-detail-relevance__item-image {
  aspect-ratio: 358/215;
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-column__hero {
  background-image: url(../img/column/column-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .p-page-column-detail__content p {
  text-align: left;
}

/*----------------------------------
  list
----------------------------------*/
.page-contact__list {
  max-width: 58.75rem;
  padding: 5rem 1.25rem 0;
}
@media screen and (min-width: 768px) {
  .page-contact__list {
    padding-top: 9.375rem;
    margin-inline: auto;
  }
}

.page-contact__item {
  border-bottom: 4px solid #F2F2F2;
  padding-bottom: 2.25rem;
}
.page-contact__item:nth-of-type(2) {
  padding-bottom: 2rem;
}
.page-contact__item + .page-contact__item {
  margin-top: 2.125rem;
}

.page-contact__lead {
  text-align: center;
  font-size: 1rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .page-contact__lead {
    font-size: 1.375rem;
  }
}

.page-contact__item-tel {
  display: block;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .page-contact__item-tel {
    font-size: 1.5rem;
  }
}

.page-contact__item-tel--large {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.3125rem;
  color: #2670C4;
  font-family: "Lato", sans-serif;
  font-size: 1.5rem;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .page-contact__item-tel--large {
    font-size: 2.5rem;
    margin-top: 0.875rem;
  }
}
.page-contact__item-tel--large::before {
  content: "";
  width: 1.8125rem;
  aspect-ratio: 29/32;
  background: url(../img/common/tel-icon--blue.png) center/contain no-repeat;
}

.page-contact__item-tel--small {
  font-size: 0.875rem;
  font-weight: 400;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .page-contact__item-tel--small {
    font-size: 0.9375rem;
    margin-top: 0.6875rem;
  }
}

/*----------------------------------
  form-input
----------------------------------*/
.page-contact-form {
  padding-block: 3.75rem 5rem;
}
@media screen and (min-width: 768px) {
  .page-contact-form {
    padding-block: 6.25rem 9.375rem;
  }
}
.page-contact-form:has(.form__privacy-policy .wpcf7-not-valid-tip) .form__button-area {
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .form__inner {
    max-width: 75.25rem;
  }
}

.form__item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .form__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 1rem;
  }
}
.form__item + .form__item {
  margin-top: 1.875rem;
}

.form__item-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .form__item-title {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    width: clamp(26.25rem, 18.7833333333rem + 11.6666666667vw, 28rem);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 1rem;
  }
}

.form__item-required {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 1.375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 0.125rem;
  background-color: #FD8652;
  color: #FFF;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.35;
  padding-inline: 0.625rem;
}

.form__item-any {
  background-color: #8E8E8E;
}

.form__item-label {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .form__item-label {
    font-size: 1.125rem;
    line-height: 1;
  }
}

.form__item-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .form__item-radio {
    gap: 1rem 2.5rem;
  }
}
.form__item-radio .wpcf7-list-item {
  margin: 0;
}
.form__item-radio .wpcf7-list-item label {
  position: relative;
  padding-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  .form__item-radio .wpcf7-list-item label {
    padding-left: 1.75rem;
  }
}
.form__item-radio .wpcf7-list-item label::before, .form__item-radio .wpcf7-list-item label::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
.form__item-radio .wpcf7-list-item label::before {
  left: 0rem;
  width: 1.25rem;
  border: 1px solid #8E8E8E;
  background-color: #F2F2F2;
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
}
.form__item-radio .wpcf7-list-item label::after {
  left: 0.1875rem;
  width: 0.875rem;
  background-color: #FFAC88;
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.form__item-radio .wpcf7-list-item label:has(input:checked)::before {
  border-color: #FFAC88;
}
.form__item-radio .wpcf7-list-item label:has(input:checked)::after {
  opacity: 1;
}
.form__item-radio input {
  width: 1px;
  height: 1px;
  position: absolute;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
}

.form__item-input {
  width: 100%;
  border: none;
  border-radius: 0.3125rem;
  background: #F2F2F2;
  padding: 0.75rem 0.625rem;
}
@media screen and (min-width: 768px) {
  .form__item-input {
    min-width: clamp(32.75rem, -0.85rem + 52.5vw, 40.625rem);
    padding: 1rem 1.5rem;
  }
}
.form__item-input::-webkit-input-placeholder {
  color: #8E8E8E;
}
.form__item-input::-moz-placeholder {
  color: #8E8E8E;
}
.form__item-input:-ms-input-placeholder {
  color: #8E8E8E;
}
.form__item-input::-ms-input-placeholder {
  color: #8E8E8E;
}
.form__item-input::placeholder {
  color: #8E8E8E;
}

.form__item-select {
  width: 100%;
  border-radius: 0.3125rem;
  border: 1px solid #8E8E8E;
  background: #FFF;
  padding: 0.75rem 0.625rem;
}
@media screen and (min-width: 768px) {
  .form__item-select {
    min-width: clamp(32.75rem, -0.85rem + 52.5vw, 40.625rem);
    padding: 0.875rem 1.5rem;
  }
}

.textarea {
  padding: 0.625rem;
}
@media screen and (min-width: 768px) {
  .textarea {
    padding: 1.125rem 1.3125rem;
  }
}

.form__button-area {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 2.1875rem;
  background: linear-gradient(92deg, #FD6D4D 4.07%, #F49338 95.33%);
  overflow: hidden;
  margin: 1.5rem auto 0;
}

.form__button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 16.4375rem;
  height: 3.75rem;
  display: grid;
  place-items: center;
  border: 2px solid transparent;
  border-radius: 2.1875rem;
  background-color: transparent;
  color: #FFF;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
  padding-inline: 0.625rem;
  cursor: pointer;
  -webkit-transition: border-color 0.4s, background-color 0.4s, color 0.4s;
  transition: border-color 0.4s, background-color 0.4s, color 0.4s;
}
@media (any-hover: hover) {
  .form__button:hover {
    opacity: 1;
    border-color: #FD8652;
    background-color: #FFF;
    color: #FD8652;
  }
}

.form__privacy-policy {
  position: relative;
  display: block;
  margin-inline: auto;
  margin-top: 1.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.form__privacy-policy .wpcf7-not-valid-tip {
  position: absolute;
  top: 1.75rem;
  left: 0;
  width: 20rem;
  margin-top: 0;
}

.form__privacy-policy-text {
  text-decoration: underline;
}

.wpcf7-not-valid-tip {
  margin-top: 0.5rem;
}

/*デフォルトのサンクスメッセージを非表示*/
.wpcf7-response-output {
  display: none;
}

/*スピナー非表示*/
.wpcf7-spinner {
  display: none;
}

.form__recaptcha {
  text-align: center;
  font-size: 0.75rem;
  line-height: 1.35;
  margin-top: 1.5rem;
}

.form__recaptcha-link {
  text-decoration: underline;
}

/* reCAPTCHAバッジを非表示にする */
.grecaptcha-badge {
  visibility: hidden;
}

/*----------------------------------
  form-thanks
----------------------------------*/
.thanks_area {
  display: none;
}

.form-thanks__text {
  font-size: 1rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .form-thanks__text {
    text-align: center;
    font-size: 1.375rem;
  }
}
.form-thanks__text + .form-thanks__text {
  margin-top: 1rem;
}

.form-thanks__button {
  margin-top: 2.5rem;
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-contact__hero {
  background-image: url(../img/contact/contact-hero-bg.webp);
}

/*----------------------------------
  英語
----------------------------------*/
@media screen and (min-width: 768px) {
  html.lang-en .form__item-title {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
html.lang-en .form__item-input::-webkit-input-placeholder {
  font-size: 0.8125rem;
}
html.lang-en .form__item-input::-moz-placeholder {
  font-size: 0.8125rem;
}
html.lang-en .form__item-input:-ms-input-placeholder {
  font-size: 0.8125rem;
}
html.lang-en .form__item-input::-ms-input-placeholder {
  font-size: 0.8125rem;
}
html.lang-en .form__item-input::placeholder {
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  html.lang-en .form__item-input::-webkit-input-placeholder {
    font-size: 1rem;
  }
  html.lang-en .form__item-input::-moz-placeholder {
    font-size: 1rem;
  }
  html.lang-en .form__item-input:-ms-input-placeholder {
    font-size: 1rem;
  }
  html.lang-en .form__item-input::-ms-input-placeholder {
    font-size: 1rem;
  }
  html.lang-en .form__item-input::placeholder {
    font-size: 1rem;
  }
}
html.lang-en .form__privacy-policy .wpcf7-not-valid-tip {
  left: -2.375rem;
}
html.lang-en .form__privacy-policy .wpcf7-not-valid-tip > font {
  display: block;
  text-align: center;
}

/*----------------------------------
  中国語
----------------------------------*/
html.lang-cn .form__privacy-policy .wpcf7-not-valid-tip {
  left: -4.5rem;
}
html.lang-cn .form__privacy-policy .wpcf7-not-valid-tip > font {
  display: block;
  text-align: center;
}

.p-page-privacy-policy__body {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-privacy-policy__body {
    padding-block: 9.375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-page-privacy-policy__body__inner {
    max-width: 71.5rem;
  }
}

.p-page-privacy-policy__body-lead {
  font-size: 1rem;
  line-height: 1.8;
}

.p-page-privacy-policy__body-list {
  margin-top: 2.5rem;
}

.p-page-privacy-policy__body-item + .p-page-privacy-policy__body-item {
  margin-top: 2.5rem;
}

.p-page-privacy-policy__body-item-title {
  border-bottom: 2px solid #2670C4;
  color: #2670C4;
  font-size: 1.125rem;
  font-weight: 700;
  padding-bottom: 0.875rem;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .p-page-privacy-policy__body-item-title {
    font-size: 1.25rem;
    margin-right: 2.0625rem;
    line-height: 1;
  }
}

.p-page-privacy-policy__body-item-content {
  margin-top: 1rem;
}

.p-page-privacy-policy__body-item-text {
  font-size: 1rem;
  line-height: 1.8;
}

.p-page-privacy-policy__body-item-text-list {
  list-style: inside decimal;
}
.p-page-privacy-policy__body-item-text-list li {
  text-indent: -1em;
  margin-left: 1em;
}
.p-page-privacy-policy__body-item-text-list .p-page-privacy-policy__body-item-text-list {
  list-style-type: lower-alpha;
}
.p-page-privacy-policy__body-item-text-list .p-page-privacy-policy__body-item-text-list .p-page-privacy-policy__body-item-text-list {
  list-style-type: lower-roman;
}

/*----------------------------------
  hero
----------------------------------*/
.p-page-privacy-policy__hero {
  background-image: url(../img/privacy-policy/privacy-policy-hero-bg.webp);
}

.p-not-found__body {
  padding-block: 5rem;
}
@media screen and (min-width: 768px) {
  .p-not-found__body {
    padding-block: 9.375rem;
  }
}

.p-not-found__text {
  text-align: center;
  line-height: 1.8;
}

.p-not-found__button {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-not-found__button {
    margin-top: 3.75rem;
  }
}

/*----------------------------------
  hero
----------------------------------*/
.p-not-found__hero {
  background-image: url(../img/privacy-policy/privacy-policy-hero-bg.webp);
}

.u-hidden-sp {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-hidden-sp {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-hidden-pc {
    display: none;
  }
}

@media screen and (min-width: 1440px) {
  .u-hidden-xl {
    display: none;
  }
}

.u-hidden-sm {
  display: none;
}
@media screen and (min-width: 600px) {
  .u-hidden-sm {
    display: block;
  }
}

.u-hidden-sp--en {
  display: none;
}

.u-hidden-pc--en {
  display: none;
}

/*----------------------------------
  英語
----------------------------------*/
html.lang-en .u-hidden-sp--en {
  display: none;
}
@media screen and (min-width: 768px) {
  html.lang-en .u-hidden-sp--en {
    display: block;
  }
}
html.lang-en .u-hidden-pc--en {
  display: block;
}
@media screen and (min-width: 768px) {
  html.lang-en .u-hidden-pc--en {
    display: none;
  }
}
html.lang-en .u-hidden--en {
  display: none;
}

/*----------------------------------
  中国語
----------------------------------*/
html.lang-cn .u-hidden--cn {
  display: none;
}

@media (any-hover: hover) {
  a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  a:hover {
    opacity: 0.7;
  }
  .u-hover-bg {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .u-hover-bg:hover {
    opacity: 1;
    background-color: #E9F6FE;
  }
  .u-hover-bg--blue {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .u-hover-bg--blue:hover {
    opacity: 1;
    background-color: #2670C4;
  }
  .u-hover-up {
    -webkit-transition: translate 0.4s;
    transition: translate 0.4s;
  }
  .u-hover-up:hover {
    opacity: 1;
    translate: 0 -0.5rem;
  }
  .u-hover-image img {
    -webkit-transition: scale 0.4s;
    transition: scale 0.4s;
  }
  .u-hover-image:hover {
    opacity: 1;
  }
  .u-hover-image:hover img {
    scale: 1.05;
  }
  .u-hover-scale {
    -webkit-transition: scale 0.4s;
    transition: scale 0.4s;
  }
  .u-hover-scale:hover {
    opacity: 1;
    scale: 1.05;
  }
  .u-hover-underline:hover {
    opacity: 1;
    text-decoration: unset;
  }
}
.u-hover-text {
  position: relative;
}
.u-hover-text .u-hover-text__border {
  position: absolute;
  left: 0;
  bottom: -0.25rem;
  width: 100%;
  height: 1px;
  background: currentColor;
  scale: 0;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: scale 0.4s ease;
  transition: scale 0.4s ease;
}
@media (any-hover: hover) {
  .u-hover-text:hover {
    opacity: 1;
  }
  .u-hover-text:hover .u-hover-text__border {
    scale: 1;
  }
}

.u-hover-text--black {
  -webkit-transition: color 0.4s;
  transition: color 0.4s;
}
@media (any-hover: hover) {
  .u-hover-text--black:hover {
    opacity: 1;
    color: #333;
  }
}/*# sourceMappingURL=style.css.map */