@charset "UTF-8";
:root {
  --beige: #FBF0E4;
  --black-0: #000;
  --blue-0: #00afec;
  --blue-1: #1a96d5;
  --blue-2: #54c3f1;
  --blue-gray: #DCE7ED;
  --c-main: #3e3a39;
  --font-en: "EB Garamond", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, system-ui;
  --font-main: "Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,sans-serif;
  --gradient-c: linear-gradient(90deg, #7D98CE 0%, #4CACE2 45.3%, #64C0AB 87.5%);
  --gradient-w: linear-gradient(90deg, #e3007f 21.4724%, #ef8200 88.3436%);
  --gray-89: #898989;
  --gray-90: #909090;
  --l-beige: #FFFAF4;
  --l-blue-d: #dbe7ed;
  --l-blue-e: #eaf6fd;
  --l-blue-e9: rgba(233, 246, 254, .4);
  --l-blue-f: #F5FBFF;
  --l-gray-c: #c9caca;
  --l-gray-e: #e6e6e6;
  --link-blue: #0000EE;
  --red: #F15454;
  --white: #fff;
}

html {
  font-size: 100%;
       text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
@media (max-width: 1170px) {
  html {
    font-size: 1.3675213675vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 100%;
  }
}
@media (max-width: 390px) {
  html {
    font-size: 4.1025641026vw;
  }
}

body {
  color: var(--c-main);
  font-family: var(--font-main);
          font-feature-settings: "palt";
  font-weight: 500;
  line-break: strict;
  word-break: normal;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
}

button,
a,
a:before,
a:after {
  cursor: pointer;
  transition: 0.3s all;
  -webkit-transition: 0.3s all;
}

@media (any-hover: hover) {
  button,
  a,
  a:before,
  a:after {
    cursor: pointer;
  }
}
a[href^="tel:"] {
  color: inherit;
  pointer-events: none;
  text-decoration: none;
}

@media (hover: none) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}
#chatplusview #eye_catcher:not(.eyecatcher-imagemap) img {
  height: auto !important;
  max-width: 130px !important;
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
          box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Make images easier to work with */
img,
picture {
  display: block;
  max-width: 100%;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  background-color: transparent;
  background-color: initial;
  border: none;
  color: inherit;
  cursor: pointer;
  outline: none;
  padding: 0;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
            transition-duration: 0.01ms !important;
    -webkit-animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
  }
}
.l-header {
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 900;
}

.l-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1170px;
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .l-inner {
    padding-left: 6.4102564103vw;
    padding-right: 6.4102564103vw;
  }
}

.l-main {
  padding-top: 7.0625rem;
}
@media screen and (max-width: 768px) {
  .l-main {
    padding-top: 5.125rem;
  }
}

.c-bar-ttl {
  border-bottom: 0.1875rem solid var(--l-blue-e);
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.8;
  padding-block: 0.8125rem;
}
@media screen and (max-width: 768px) {
  .c-bar-ttl {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
    padding-block: 0.75rem;
  }
}

.c-breadcrumb {
  background-color: var(--l-blue-f);
  font-size: max(0.75rem, 10px);
  font-weight: 400;
  letter-spacing: 0.1em;
  padding-block: 0.6875rem;
  padding-inline: 5.375rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb {
    font-size: 0.75rem;
    padding-inline: 1.25rem 0.3125rem;
  }
}

.c-breadcrumb__inner {
  padding: 0;
}

.c-breadcrumb__list {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  gap: 0.3125rem 1.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
      -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb__list {
    gap: 0.3125rem 1rem;
  }
}

.c-breadcrumb li,
.c-breadcrumb .breadcrumbs > span {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.75rem, 10px);
  letter-spacing: 0.2em;
  position: relative;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .c-breadcrumb li,
  .c-breadcrumb .breadcrumbs > span {
    font-size: 0.625rem;
  }
}

.c-breadcrumb__list > li:not(:last-child)::after {
  background: url(../img/icon/arrow_right-bk.png) no-repeat center/contain;
  content: "";
  display: block;
      flex-shrink: 0;
  height: 1.25rem;
  position: absolute;
  right: -1.5625rem;
  top: 50%;
          transform: translateY(-50%);
  width: 1.25rem;
  -ms-flex-negative: 0;
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-breadcrumb__list > li:not(:last-child)::after {
    height: 1rem;
    right: -0.9375rem;
    width: 1rem;
  }
}

.c-breadcrumb__trail {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  gap: 0.3125rem 1.25rem;
      -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  -webkit-box-align: center;
}

.c-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

@media (any-hover: hover) {
  .c-breadcrumb a:hover {
    color: var(--blue-0);
  }
}
.c-btn {
  background: var(--gradient-c);
  border-radius: 999px;
  color: var(--white);
  display: block;
  font-size: 1.25rem;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1;
  max-width: 14.25rem;
  padding: 1.03125rem 0.9375rem;
  text-align: center;
  transition: opacity 0.3s;
  width: 100%;
  -webkit-transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .c-btn {
    font-size: 0.9375rem;
    max-width: 14.3125rem;
    padding: 1.09375rem 0.9375rem;
  }
}

.c-btn.c-btn--qa {
          align-items: center;
  background: var(--gradient-w);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.25rem;
  gap: 1.0625rem;
          justify-content: center;
  max-width: 21.875rem;
  padding: 1.84375rem 0.9375rem;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .c-btn.c-btn--qa {
    font-size: 1.125rem;
    gap: 0.75rem;
            justify-content: flex-start;
    letter-spacing: 0.2em;
    padding: 1.5625rem 4.125rem;
        -ms-flex-pack: start;
    -webkit-box-pack: start;
  }
}

.c-btn.c-btn--qa::before {
  background-image: url(../img/icon/icon_speech.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 1.8125rem;
  width: 2.6875rem;
}
@media screen and (max-width: 768px) {
  .c-btn.c-btn--qa::before {
    height: 1.5625rem;
    width: 2.1875rem;
  }
}

.c-btn--contact {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.25rem;
  gap: 0.9375rem;
  max-width: 21.875rem;
  padding: 2.0625rem 0.9375rem;
  padding-left: 4rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .c-btn--contact {
    font-size: 1.125rem;
    gap: 1.125rem;
    letter-spacing: 0.1em;
    padding: 1.8125rem 0.9375rem 1.8125rem 4.375rem;
  }
}

.c-btn.c-btn--contact::before {
  background-image: url(../img/icon/icon_mail.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 1.375rem;
  width: 1.8125rem;
}
@media screen and (max-width: 768px) {
  .c-btn.c-btn--contact::before {
    height: 1.125rem;
    width: 1.5rem;
  }
}

.c-btn.c-btn--ex {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.9375rem;
  gap: 0.375rem;
          justify-content: center;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .c-btn.c-btn--ex {
    padding-block: 1.21875rem;
  }
}

.c-btn.c-btn--ex::after {
  background-image: url(../img/icon/icon_ex-wh.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.625rem;
  width: 0.9375rem;
}

.c-btn.c-btn--purchase {
          align-items: center;
  background: var(--gradient-w);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.9375rem;
  gap: 0.625rem;
          justify-content: center;
  letter-spacing: 0.24em;
  max-width: 14.3125rem;
  padding: 1.09375rem 2.4375rem;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .c-btn.c-btn--purchase {
            justify-content: center;
    padding: 1.09375rem 0.3125rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.c-btn.c-btn--purchase::before {
  background-image: url(../img/icon/icon_cart-whg.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.9375rem;
  width: 1rem;
}

@media (any-hover: hover) {
  .c-btn:hover {
    opacity: 0.7;
  }
}
.c-company-sub-ttl {
  border-bottom: 0.1875rem solid var(--l-blue-e);
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
  padding-block: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .c-company-sub-ttl {
    font-size: 1.125rem;
    padding-block: 0.75rem;
  }
}

.c-company-ttl {
  background: var(--l-blue-e);
  border-left: 0.1875rem solid var(--blue-0);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.8;
  padding: 0.9375rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-company-ttl {
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    line-height: 1.65;
  }
}

.c-contact-ttl {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .c-contact-ttl {
    font-size: 1rem;
    line-height: 1.65;
  }
}

.c-contact-txt {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .c-contact-txt {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1.65;
  }
}

.c-contact-txt span {
  font-weight: 700;
}

.c-list-btn {
          align-items: center;
  color: var(--blue-0);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
          justify-content: center;
  letter-spacing: 0.2em;
  min-height: 1.875rem;
  padding-right: 2.25rem;
  position: relative;
  transition: all 0.3s ease;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -webkit-transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-list-btn {
    font-size: 0.9375rem;
    padding-right: 2.5rem;
  }
}

.c-list-btn::after {
  background-image: url(../img/icon/arrow_right-blue.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1rem 0.5625rem;
  border: 1px solid var(--blue-0);
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 1.875rem;
  position: absolute;
  right: -4%;
  top: 50%;
          transform: translateY(-50%);
  width: 1.875rem;
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-list-btn::after {
    height: 2rem;
    right: 0;
    width: 2rem;
  }
}

@media (any-hover: hover) {
  .c-list-btn:hover::after {
    background-color: var(--blue-0);
    background-image: url(../img/icon/arrow_right-wh.svg);
  }
}
.c-nav-btn {
  background-color: var(--l-blue-e);
  border-radius: 0.625rem;
  color: var(--blue-0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.25rem;
  font-weight: 500;
          justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1;
  max-width: 33.8125rem;
  padding: 1.875rem 2.8125rem;
  position: relative;
  transition: all 0.3s ease;
  width: 100%;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
  -webkit-transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-nav-btn {
    font-size: 1rem;
    max-width: 25rem;
    padding: 1.0625rem 1.25rem;
  }
}
@container (min-width:550px) {
  .c-nav-btn {
    max-width: 20rem;
  }
}

.c-nav-btn::after {
  background-image: url(../img/icon/arrow_down-bl.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.5rem;
  position: absolute;
  right: 1.875rem;
  top: 50%;
          transform: translateY(-50%);
  width: 0.8125rem;
  -webkit-transform: translateY(-50%);
}

@media (any-hover: hover) {
  .c-nav-btn:hover {
    background-color: var(--blue-0);
    color: var(--white);
  }
  .c-nav-btn:hover::after {
    background-image: url(../img/icon/arrow_down-wh.svg);
  }
}
.c-news__link {
  border-bottom: 0.0625rem solid var(--l-gray-e);
  display: block;
  isolation: isolate;
  line-height: 1;
  padding-block: 1.25rem 1.875rem;
  padding-inline: 2.5rem 2.8125rem;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .c-news__link {
    padding-block: 1.5rem;
    padding-inline: 0.625rem 1.8125rem;
  }
}

.c-news__link > * {
  position: relative;
  z-index: 1;
}

.c-news__link::before {
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--blue-0)), to(var(--blue-0))), -webkit-gradient(linear, left top, left bottom, from(var(--l-blue-e)), to(var(--l-blue-e)));
  background-image: linear-gradient(var(--blue-0), var(--blue-0)), linear-gradient(var(--l-blue-e), var(--l-blue-e));
  background-position: left bottom, left center;
  background-repeat: no-repeat;
  background-size: 100% 0.125rem, 100% 100%;
  content: "";
  display: block;
  inset: 0;
  pointer-events: none;
  position: absolute;
          transform: scaleX(0);
          transform-origin: right center;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  z-index: 0;
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: right center;
  -webkit-transition: -webkit-transform 0.4s ease;
}

.c-news__link::after {
  background-image: url(../img/icon/arrow_right-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.6875rem;
  position: absolute;
  right: 2.125rem;
  top: 50%;
          transform: translateY(-50%);
  transition: background-color 0.3s ease-in-out;
  width: 0.4375rem;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  -webkit-transition: background-color 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .c-news__link::after {
    right: 0.625rem;
  }
}

@media (any-hover: hover) {
  .c-news__link:hover::before {
            transform: scaleX(1);
            transform-origin: left center;
    -webkit-transform: scaleX(1);
    -webkit-transform-origin: left center;
  }
}
.c-news__meta {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .c-news__meta {
    gap: 1rem;
  }
}

.c-news__date {
  font-size: max(0.75rem, 10px);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .c-news__date {
    font-size: 0.75rem;
    letter-spacing: 0.02em;
  }
}

.c-news__head {
  display: block;
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .c-news__head {
    font-size: 0.875rem;
    letter-spacing: 0.2em;
    line-height: 1.6;
    margin-top: 0.625rem;
  }
}

.c-num-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 1.25rem;
  margin: 0;
  margin-top: 1.875rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}

.c-num-list__item {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .c-num-list__item {
    gap: 0.625rem;
  }
}

.c-num-list__badge {
          align-items: center;
  background: var(--l-blue-e);
  border-radius: 1rem;
  color: var(--blue-0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
  font-family: var(--font-en);
  font-size: 1.25rem;
  font-weight: 500;
  height: 2rem;
          justify-content: center;
  line-height: 1;
  width: 2rem;
      -ms-flex-align: center;
  -ms-flex-negative: 0;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .c-num-list__badge {
    font-size: 1.125rem;
  }
}

.c-num-list__txt {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .c-num-list__txt {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}

.c-open-btn {
  cursor: pointer;
  position: relative;
  width: 0.6875rem;
}

.c-open-btn__img {
  height: 100%;
     object-fit: contain;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  width: 100%;
  -o-object-fit: contain;
  -webkit-transition: -webkit-transform 0.4s ease;
}

/*rotate*/
.js-rotate.is-active .c-open-btn__img {
          transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
}

.c-product-btn {
          align-items: center;
  background-color: var(--white);
  background-image: var(--gradient-c);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  border-radius: 999px;
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  height: 3.125rem;
          justify-content: center;
  letter-spacing: 0.1em;
  max-width: 14.3125rem;
  padding: 0.75rem 1.25rem;
  position: relative;
  text-align: center;
  transition: all 0.4s ease;
  width: 100%;
  z-index: 1;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -webkit-transition: all 0.4s ease;
}

.c-product-btn::before {
  background: var(--white);
  border-radius: 999px;
  content: "";
  cursor: pointer;
  height: 2.875rem;
  left: 50%;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  top: 50%;
          transform: translate(-50%, -50%);
  transition: opacity 0.4s ease;
  width: 14.0625rem;
  z-index: 1;
  -webkit-transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.4s ease;
}

.c-product-btn__txt {
  background-clip: text;
  background-image: var(--gradient-c);
  color: transparent;
  font-size: 0.9375rem;
  letter-spacing: 0.24em;
  line-height: 1;
  max-width: 100%;
  position: relative;
  transition: background-image 0.3s ease;
  z-index: 2;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-transition: background-image 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-product-btn__txt {
    font-size: 0.875rem;
  }
}

@media (any-hover: hover) {
  .c-product-btn:hover {
    background-size: 14.3125rem 3.125rem;
  }
  .c-product-btn:hover::before {
    opacity: 0;
  }
  .c-product-btn:hover .c-product-btn__txt {
    background-clip: border-box;
    background-image: none;
    color: var(--white);
    -webkit-background-clip: border-box;
    -webkit-text-fill-color: var(--white);
  }
}
.c-product-btn.c-product-btn--ex {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.375rem;
          justify-content: center;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}

.c-product-btn.c-product-btn--ex::after {
  aspect-ratio: 11/16;
  background-image: url(../img/icon/icon_ex-gradient.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.6875rem;
  position: relative;
  width: 1rem;
  z-index: 2;
}

@media (any-hover: hover) {
  .c-product-btn.c-product-btn--ex:hover::after {
    background-image: url(../img/icon/icon_ex-wh.svg);
  }
}
.c-product-card-btn {
          align-items: center;
  border: 1px solid var(--l-gray-e);
  border-radius: 0.3125rem;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.3125rem;
          justify-content: center;
  position: relative;
  text-align: center;
  width: 100%;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}

.c-product-card-btn::before {
  background-image: url(../img/icon/icon_ex.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.75rem;
  position: absolute;
  right: 0.625rem;
  top: 0.625rem;
  width: 1.0625rem;
}

.c-product-card-btn.c-product-card-btn--online img {
  width: 7.25rem;
}

.c-product-card-btn.c-product-card-btn--rakuten img {
  width: 4.25rem;
}

.c-product-card-btn.c-product-card-btn--amazon img {
  width: 5.625rem;
}

.c-product-card-btn.c-product-card-btn--lohaco img {
  width: 6.25rem;
}

@media (any-hover: hover) {
  .c-product-card-btn:hover {
    background-color: var(--l-blue-e);
  }
}
.c-product-card-btn img {
  height: auto;
     object-fit: contain;
  -o-object-fit: contain;
}

.c-product-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.c-product-table thead {
  background-color: var(--l-blue-e9);
}

.c-product-table th,
.c-product-table td {
          box-sizing: border-box;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 180%;
  padding-block: 0.6875rem;
  text-align: left;
  vertical-align: middle;
  -webkit-box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .c-product-table th,
  .c-product-table td {
    font-size: 0.875rem;
    line-height: 1.65;
    padding-block: 0.625rem;
  }
}

.c-product-table th:first-child,
.c-product-table td:first-child {
          box-sizing: content-box;
  padding-left: 1.25rem;
  padding-right: 1rem;
  -webkit-box-sizing: content-box;
}
@media screen and (max-width: 768px) {
  .c-product-table th:first-child,
  .c-product-table td:first-child {
    padding-left: 1rem;
    padding-right: 0.5rem;
  }
}

.c-product-table th:not(:first-child),
.c-product-table td:not(:first-child) {
  padding-left: 1rem;
}
@media screen and (max-width: 768px) {
  .c-product-table th:not(:first-child),
  .c-product-table td:not(:first-child) {
    padding-left: 0.5rem;
  }
}

.c-product-table tr {
  border-bottom: 1px solid var(--l-gray-e);
}

.c-product-table thead tr {
  border-top: 1px solid var(--l-gray-e);
}

.p-single-products__table-wrapper .c-product-table th:first-child,
.c-product-table td:first-child {
  width: 17.5rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__table-wrapper .c-product-table th:first-child,
  .c-product-table td:first-child {
    width: 51.2820512821vw;
  }
}

@media screen and (max-width: 768px) {
  .p-single-products__howto-wrapper .c-product-table th:first-child,
  .p-single-products__howto-wrapper .c-product-table td:first-child {
    width: 23.5897435897vw;
  }
}

.c-qa-btn {
          align-items: center;
  background-color: var(--beige);
  border: 1px solid transparent;
  border-radius: 0.5rem;
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding-block: 1.5625rem;
  padding-inline: 3.75rem 2.625rem;
  position: relative;
  transition: all 0.3s ease;
  width: 100%;
      -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-qa-btn {
    padding-block: 1rem;
    padding-inline: 1.5625rem 1.375rem;
  }
}

.c-qa-btn::after {
  background-image: url(../img/icon/arrow_right-bk.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.75rem;
  position: absolute;
  right: 1.875rem;
  top: 50%;
          transform: translateY(-50%);
  width: 0.4375rem;
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-qa-btn::after {
    height: 0.625rem;
    right: 0.9375rem;
  }
}

.c-qa-btn__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .c-qa-btn__ttl {
    font-size: 0.875rem;
    line-height: 1.65;
  }
}

.c-qa-btn__ttl::before {
  content: "Q";
  display: inline-block;
  margin-right: 2rem;
}
@media screen and (max-width: 768px) {
  .c-qa-btn__ttl::before {
    margin-right: 1rem;
  }
}

@media (any-hover: hover) {
  .c-qa-btn:hover {
    background-color: var(--l-blue-e);
    border: 1px solid var(--blue-0);
  }
}
.c-recommend-card__img {
          align-items: center;
  border: 1px solid var(--l-gray-e);
  border-radius: 0.3125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  min-height: 15rem;
  padding: 1.375rem 1.25rem 1.4375rem;
  position: relative;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .c-recommend-card__img {
    min-height: 12.5rem;
  }
}
@media screen and (max-width: 600px) {
  .c-recommend-card__img {
    min-height: 10.625rem;
    padding: 1rem;
  }
}

.c-recommend-card__img img {
  aspect-ratio: 217/195;
  height: auto;
     object-fit: contain;
  transition: scale 0.3s;
  width: 13.5625rem;
  -o-object-fit: contain;
  -webkit-transition: scale 0.3s;
}
@media screen and (max-width: 768px) {
  .c-recommend-card__img img {
    width: 10.3125rem;
  }
}
@media screen and (max-width: 600px) {
  .c-recommend-card__img img {
    width: 7.875rem;
  }
}

.c-recommend-card__body {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-recommend-card__body {
    margin-top: 1rem;
  }
}

.c-recommend-card__tag-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

.c-recommend-card__tag {
  letter-spacing: 0.1em;
  padding: 0.375rem 1.25rem;
}

.c-recommend-card__tag.c-tag {
  display: inline-block;
  font-weight: 400;
  margin-right: 0.375rem;
  margin-top: 0.375rem;
}

.c-recommend-card__ttl {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.4666666667;
  margin-top: 1.25rem;
  transition: color 0.3s;
  word-wrap: anywhere;
  -webkit-transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-recommend-card__ttl {
    font-size: 0.875rem;
    margin-top: 0.625rem;
  }
}

.c-recommend-card__hash-wrapper {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .c-recommend-card__hash-wrapper {
    margin-top: 0.5rem;
  }
}

.c-recommend-card__hash {
  color: var(--gray-89);
  font-size: max(0.75rem, 8px);
  transition: color 0.3s;
  -webkit-transition: color 0.3s;
}
@media screen and (max-width: 768px) {
  .c-recommend-card__hash {
    font-size: 0.75rem;
  }
}

.c-recommend-card__hash::before {
  content: "#";
  display: inline-block;
  margin-right: 0.125rem;
}

@media (any-hover: hover) {
  .c-recommend-card:hover .c-recommend-card__img img {
    scale: 1.05;
  }
  .c-recommend-card:hover .c-recommend-card__tag {
    opacity: 0.7;
  }
  .c-recommend-card:hover .c-recommend-card__ttl {
    color: var(--blue-0);
  }
  .c-recommend-card:hover .c-recommend-card__hash {
    color: var(--blue-0);
  }
}
.js-scrollable .scroll-hint-icon {
  top: 1.25rem;
}

.c-search-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  margin-inline: auto;
  margin-top: 3.125rem;
  max-width: max(59.375rem, 650px);
  scroll-margin-top: 8.3125rem;
  width: 100%;
  -ms-flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .c-search-tabs {
    margin-top: 1.75rem;
    max-width: 43.75rem;
    scroll-margin-top: 6.375rem;
  }
}

.c-search-tabs:after {
  content: "";
  display: block;
  height: 3px;
          order: -1;
  width: 100%;
      -ms-flex-order: -1;
  -webkit-box-ordinal-group: 0;
}

.c-search-tabs__label {
  background-color: var(--blue-0);
  border-radius: 0.3125rem 0.3125rem 0 0;
  color: var(--white);
  cursor: pointer;
          flex: 1;
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.2em;
  line-height: 1;
          order: -1;
  padding: 1.03125rem 0.3125rem;
  position: relative;
  text-align: center;
  transition: all 0.2s ease;
  white-space: nowrap;
  z-index: 1;
      -ms-flex: 1;
      -ms-flex-order: -1;
  -webkit-box-flex: 1;
  -webkit-box-ordinal-group: 0;
  -webkit-transition: all 0.2s ease;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__label {
        align-content: center;
            align-items: center;
    border-radius: 0.625rem 0.625rem 0 0;
    container-type: inline-size;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            flex: 1 1 0;
        flex-wrap: wrap;
    font-size: 0.875rem;
            justify-content: center;
    line-height: 1.65;
    min-height: 5rem;
    min-width: 0;
    padding: 0.65625rem 0.625rem;
    white-space: normal;
        -ms-flex: 1 1 0px;
        -ms-flex-align: center;
    -ms-flex-line-pack: center;
        -ms-flex-pack: center;
    -ms-flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-box-flex: 1;
    -webkit-box-pack: center;
  }
}

@media screen and (max-width: 768px) {
  .c-search-tabs__label-chunk {
    word-break: keep-all;
  }
}

@media screen and (max-width: 768px) {
  .c-search-tabs__label--cat {
    font-size: 0.78125rem;
  }
}

@media screen and (max-width: 768px) {
  @container (max-width: 7.5rem) {
    .c-search-tabs__label-chunk {
      display: block;
      width: 100%;
    }
  }
}
.c-search-tabs__label:not(:last-of-type) {
  margin-right: 0.75rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__label:not(:last-of-type) {
    margin-right: 1.2820512821vw;
  }
}

.c-search-tabs__content {
  height: 0;
  opacity: 0;
  overflow: hidden;
  width: 100%;
}

.c-search-tabs__switch:checked + .c-search-tabs__label + .c-search-tabs__content:first-of-type {
  padding-block: 2.0625rem 3.3125rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__switch:checked + .c-search-tabs__label + .c-search-tabs__content:first-of-type {
    padding: 3.125rem 5.1282051282vw;
  }
}

.c-search-tabs__switch:checked + .c-search-tabs__label {
  background: var(--l-blue-e);
  color: var(--blue-0);
}

.c-search-tabs__switch:checked + .c-search-tabs__label + .c-search-tabs__content {
  background-color: var(--l-blue-e);
  border-radius: 0 0 0.625rem 0.625rem;
  height: auto;
  margin-top: -3px;
  min-height: 25rem;
  opacity: 1;
  overflow: auto;
  padding: 3.125rem;
  transition: 0.5s opacity;
  -webkit-transition: 0.5s opacity;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__switch:checked + .c-search-tabs__label + .c-search-tabs__content {
    min-height: unset;
    padding: 3.125rem 5.1282051282vw;
  }
}

/* ラジオボタン非表示 */
.c-search-tabs__switch {
  display: none;
}

.c-search-tabs__switch:checked + .c-search-tabs__label + .c-search-tabs__content.c-search-tabs__content--cat {
  min-height: unset;
  padding: 3.125rem 5.3125rem 3rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__switch:checked + .c-search-tabs__label + .c-search-tabs__content.c-search-tabs__content--cat {
    padding: 3.125rem 1.25rem;
  }
}

.c-search-tabs__switch:checked + .c-search-tabs__label + .c-search-tabs__content.c-tabs__content--purpose {
  min-height: unset;
  padding: 1.875rem 3.125rem 2.8125rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__switch:checked + .c-search-tabs__label + .c-search-tabs__content.c-tabs__content--purpose {
    padding: 2.1875rem 1.25rem;
  }
}

.c-search-tabs__brand-list {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: repeat(auto-fill, 11.875rem);
          justify-content: center;
  padding-top: 1.25rem;
  width: 100%;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__brand-list {
    display: grid;
    gap: 1.6875rem 0.625rem;
    grid-template-columns: repeat(auto-fill, 9.0625rem);
    padding-top: 0;
  }
}

.c-search-tabs__brand-item {
  width: 11.875rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__brand-item {
    width: 9.0625rem;
  }
}

.c-search-tabs__logo-wrapper {
          align-items: center;
  background-color: var(--white);
  border-radius: 0.4375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  min-height: 8.5rem;
  padding: 0.3125rem;
  width: 100%;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo-wrapper {
    min-height: 6.5rem;
    width: 9.0625rem;
  }
}

.c-search-tabs__logo img {
     object-fit: contain;
  scale: 1;
  transition: 0.3s all;
  -o-object-fit: contain;
  -webkit-transition: 0.3s all;
}

@media (any-hover: hover) {
  .c-search-tabs__link:hover .c-search-tabs__logo img {
    scale: 1.1;
  }
}
.c-search-tabs__brand-name {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.2em;
  line-height: 1.4666666667;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__brand-name {
    font-size: 0.875rem;
    line-height: 1.65;
    margin-top: 0.4375rem;
  }
}

.c-search-tabs__external {
          align-items: center;
  color: var(--blue-0);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: max(0.75rem, 9px);
  gap: 0.3125rem;
  letter-spacing: 0.2em;
  line-height: 1;
  margin-top: 0.625rem;
  position: relative;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__external {
    font-size: 0.75rem;
    margin-top: 0.4375rem;
  }
}

.c-search-tabs__external::before {
  background-color: currentColor;
  bottom: -0.1875rem;
  content: "";
  height: 0.0625rem;
  left: 0;
  pointer-events: none;
  position: absolute;
          transform: scaleX(0);
          transform-origin: left bottom;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: calc(100% - 1.25rem);
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: left bottom;
  -webkit-transition: -webkit-transform 0.3s;
}

.c-search-tabs__external::after {
  background-image: url(../img/icon/icon_ex.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.625rem;
  width: 0.9375rem;
}

@media (any-hover: hover) {
  .c-search-tabs__external:hover::before {
            transform: scaleX(1);
    -webkit-transform: scaleX(1);
  }
}
.c-search-tabs__external:focus-visible::before {
          transform: scaleX(1);
  -webkit-transform: scaleX(1);
}

.c-search-tabs__logo img {
  height: 100%;
  margin-inline: auto;
     object-fit: contain;
  -o-object-fit: contain;
}

.c-search-tabs__logo--finefragrance img {
  aspect-ratio: 119/75;
  max-width: 7.4375rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo--finefragrance img {
    height: auto;
    max-width: 6.4375rem;
  }
}

.c-search-tabs__logo--story img {
  aspect-ratio: 85/85;
  width: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo--story img {
    height: auto;
    width: 55%;
  }
}

.c-search-tabs__logo--cocoro img {
  aspect-ratio: 100/68;
  width: 6.25rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo--cocoro img {
    height: auto;
    width: 55%;
  }
}

.c-search-tabs__logo--freeand img {
  aspect-ratio: 87/85;
  width: 5.4375rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo--freeand img {
    height: auto;
    width: 55%;
  }
}

.c-search-tabs__logo--dryer img {
  aspect-ratio: 93/93;
  width: 5.8125rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo--dryer img {
    height: auto;
    width: 55%;
  }
}

.c-search-tabs__logo--yogokeshi img {
  aspect-ratio: 125/40;
  width: 7.8125rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo--yogokeshi img {
    height: auto;
    max-width: 6.875rem;
  }
}

.c-search-tabs__logo--workclothes img {
  aspect-ratio: 80/75;
  width: 5rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo--workclothes img {
    height: auto;
    width: 55%;
  }
}

.c-search-tabs__logo--shiroi img {
  aspect-ratio: 147/44;
  width: 9.1875rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo--shiroi img {
    height: auto;
    max-width: 6.875rem;
  }
}

.c-search-tabs__logo--fafa img {
  max-width: 7.5rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__logo--fafa img {
    height: auto;
    max-width: 6.4375rem;
  }
}

.c-search-tabs__top-category-list {
          align-items: center;
  border-bottom: 0.0625rem solid var(--l-gray-e);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  gap: 0.3125rem 0.625rem;
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
      -ms-flex-align: center;
  -ms-flex-wrap: wrap;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__top-category-list {
    padding-block: 0.9375rem;
    padding-inline: 0.625rem;
  }
}

.c-search-tabs__top-category-item {
  display: inline-block;
}

.c-search-tabs__top-category-link {
  background-color: var(--white);
  border: 0.0625rem solid var(--l-gray-e);
  border-radius: 0.3125rem;
  color: var(--c-main);
  display: inline-block;
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 1.8;
  min-width: 12.125rem;
  padding: 0.46875rem 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__top-category-link {
    font-size: 0.8125rem;
    line-height: 1.65;
    min-width: 7.5rem;
    padding: 0.5rem 1.25rem;
  }
}

.c-search-tabs__top-category-list--qa {
  border-bottom: none;
  gap: 0.625rem;
  padding: 0;
}

.c-search-tabs__top-category-link--qa {
  min-width: 11.6875rem;
  padding-inline: 0.625rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__top-category-link--qa {
    min-width: 6.25rem;
    padding-inline: 1.25rem;
  }
}

.c-search-tabs__category-item {
          align-items: center;
  border-bottom: 0.0625rem solid var(--l-gray-e);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.8125rem;
  padding: 1.25rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__category-item {
    gap: 0.3125rem 0.625rem;
    padding-block: 0.9375rem;
    padding-inline: 0.625rem;
  }
}

.c-search-tabs__category-head {
  color: var(--blue-1);
  display: inline-block;
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 1.8;
  min-width: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__category-head {
    font-size: 0.875rem;
    line-height: 1.65;
    min-width: 5rem;
  }
}

.c-search-tabs__category-content {
          flex: 1;
      -ms-flex: 1;
  -webkit-box-flex: 1;
}

.c-search-tabs__detail-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  gap: 0.3125rem 0.625rem;
  -ms-flex-wrap: wrap;
}

.c-search-tabs__detail-link {
  background-color: var(--white);
  border: 0.0625rem solid var(--l-gray-e);
  border-radius: 0.3125rem;
  color: var(--c-main);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.9375rem, 10px);
          justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1.8;
  padding: 0.59375rem 2.5rem;
  word-break: auto-phrase;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__detail-link {
    font-size: 0.8125rem;
    line-height: 1.65;
    padding: 0.5rem 1.25rem;
  }
}

@media (any-hover: hover) {
  .c-search-tabs__top-category-link:hover {
    background-color: var(--blue-0);
    color: var(--white);
  }
  .c-search-tabs__detail-link:hover {
    background-color: var(--blue-0);
    color: var(--white);
  }
}
.c-search-tabs__commitment-item {
  border-bottom: 0.0625rem solid var(--l-gray-e);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.8125rem;
  padding: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__commitment-item {
    gap: 0.3125rem 0.625rem;
    padding-block: 0.9375rem;
    padding-inline: 0.625rem;
  }
}

.c-search-tabs__commitment-head {
  color: var(--blue-1);
  display: inline-block;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
  min-width: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__commitment-head {
    font-size: 0.875rem;
    line-height: 1.65;
    min-width: 4.375rem;
  }
}

.c-search-tabs__hash-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  gap: 0.625rem;
  -ms-flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__hash-list {
    gap: 0.3125rem 0.625rem;
  }
}

.c-search-tabs__hash-link {
  background-color: var(--white);
  border: 0.0625rem solid var(--l-gray-e);
  border-radius: 0.3125rem;
  color: var(--c-main);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.9375rem, 10px);
          justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1.8;
  padding: 0.4375rem 1.25rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__hash-link {
    font-size: 0.8125rem;
    line-height: 1.65;
    padding: 0.4375rem 0.9375rem 0.4375rem 0.625rem;
  }
}

.c-search-tabs__hash-link::before {
  content: "#";
  display: inline-block;
  margin-right: 0.3125rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__hash-link::before {
    margin-right: 0.125rem;
  }
}

.c-search-tabs__hash-link--no-hash::before {
  content: none;
}

.c-search-tabs__hash-link--no-hash {
  min-width: 7rem;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-search-tabs__hash-link--no-hash {
    min-width: unset;
    padding-inline: 1.25rem;
  }
}

@media (any-hover: hover) {
  .c-search-tabs__hash-link:hover {
    background-color: var(--blue-0);
    color: var(--white);
  }
}
.c-sec-ttl {
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
  padding-bottom: 1.0625rem;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-sec-ttl {
    font-size: 1.125rem;
    padding-bottom: 0.8125rem;
  }
}

.c-sec-ttl::before {
  background: var(--gradient-w);
  bottom: 0;
  content: "";
  display: block;
  height: 0.125rem;
  left: 50%;
  position: absolute;
          transform: translateX(-50%);
  width: 2.5rem;
  -webkit-transform: translateX(-50%);
}

.c-status-badge {
  border-radius: 0;
  border-radius: 0.3125rem 0rem 0.3125rem 0;
  color: var(--white);
  display: inline-block;
  font-size: max(0.75rem, 9px);
  font-weight: 400;
  left: 0;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 0.375rem 1.25rem;
  position: absolute;
  top: 0;
  z-index: 1.1666666667;
  z-index: 8;
}
@media screen and (max-width: 768px) {
  .c-status-badge {
    font-size: 0.75rem;
  }
}

.c-status-badge--new {
  background-color: #FF7A00;
}

.c-status-badge--renewal {
  background-color: #28CBE4;
}

.c-status-badge--discontinued {
  background-color: #9E9E9E;
}

.c-sub-mv__inner {
  position: relative;
}

.c-sub-mv__img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-sub-mv__img {
    overflow: hidden;
    position: relative;
    z-index: 1;
  }
}

.c-sub-mv__img img {
  aspect-ratio: 1440/290;
  height: 100%;
  min-height: 200px;
     object-fit: cover;
  width: 100%;
  -o-object-fit: cover;
}
@media screen and (max-width: 768px) {
  .c-sub-mv__img img {
    height: 43.5897435897vw;
    max-height: 200px;
    min-height: 170px;
       object-fit: unset;
    -o-object-fit: unset;
  }
}

.c-sub-mv__heading {
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  left: 10rem;
  position: absolute;
  top: 50%;
          transform: translateY(-50%);
  z-index: 1;
      -ms-flex-align: end;
  -webkit-box-align: end;
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .c-sub-mv__heading {
            align-items: flex-start;
            flex-direction: column;
    gap: 0.375rem;
    left: 1.5625rem;
    top: 48%;
        -ms-flex-align: start;
        -ms-flex-direction: column;
    -webkit-box-align: start;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.c-sub-mv__ttl {
  color: var(--white);
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  position: static;
          transform: none;
  -webkit-transform: none;
}
@media screen and (max-width: 768px) {
  .c-sub-mv__ttl {
    font-size: 1.625rem;
  }
}

.c-sub-mv__ttl-sub {
  color: var(--white);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .c-sub-mv__ttl-sub {
    display: block;
    font-size: 1.25rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
  }
}

.c-tag-btn {
  border: 1px solid var(--blue-0);
  border-radius: 999px;
  color: var(--blue-0);
  display: inline-block;
  font-size: max(0.75rem, 9px);
  font-weight: 500;
  letter-spacing: 0.25em;
  line-height: 1;
  max-width: 9.25rem;
  padding: 0.34375rem 0.625rem;
  text-align: center;
  transition: all 0.3s ease;
  width: 100%;
  -webkit-transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-tag-btn {
    font-size: 0.75rem;
    min-width: 10.5rem;
    padding: 0.53125rem 0.625rem;
  }
}

.c-tag-btn--active {
  background-color: var(--blue-0);
  color: var(--white);
}

@media (any-hover: hover) {
  .c-tag-btn:hover {
    background-color: var(--blue-0);
    color: var(--white);
  }
}
.c-tag {
  border: 1px solid var(--blue-0);
  border-radius: 0.25rem;
  color: var(--blue-0);
  display: inline-block;
  font-size: max(0.75rem, 9px);
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1;
  min-width: 7.9375rem;
  padding: 0.34375rem 0.625rem;
  text-align: center;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}

.c-tips-card__img img {
  aspect-ratio: 353/188;
  border-radius: 0.625rem;
  height: auto;
     object-fit: cover;
  transition: opacity 0.3s ease;
  width: 100%;
  -o-object-fit: cover;
  -webkit-transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-tips-card__img img {
    aspect-ratio: 237/124;
    border-radius: 0.4375rem;
  }
}

.c-tips-card__img img[alt=""] {
  border: 0.0625rem solid var(--l-gray-e);
}

.c-tips-card__content {
  margin-top: 1.25rem;
}

.c-tips-card__ttl {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  transition: color 0.3s ease;
  -webkit-transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-tips-card__ttl {
    font-size: 0.875rem;
    line-height: 1.65;
  }
}

@media (any-hover: hover) {
  .c-tips-card:hover .c-tips-card__ttl {
    color: var(--blue-0);
  }
  .c-tips-card:hover .c-tips-card__img img {
    opacity: 0.7;
  }
}
.c-ttl {
  text-align: center;
}

.c-ttl__en {
  background-clip: text;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(21.4724%, #e3007f), color-stop(88.3436%, #ef8200));
  background-image: linear-gradient(90deg, #e3007f 21.4724%, #ef8200 88.3436%);
  color: transparent;
  font-family: var(--font-en);
  font-size: 1.0625rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1;
  max-width: 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (max-width: 768px) {
  .c-ttl__en {
    font-size: 1rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
}

.c-ttl__ja {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.5;
  margin-top: 0.3125rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-ttl__ja {
    font-size: 1.375rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}

.c-video-facade {
  aspect-ratio: 950/534;
  background: none;
  border: 0;
  cursor: pointer;
  display: block;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.c-video-facade__thumb {
  display: block;
  height: 100%;
     object-fit: cover;
  width: 100%;
  -o-object-fit: cover;
}

.c-video-facade__play {
  left: 50%;
  position: absolute;
  top: 50%;
          transform: translate(-50%, -50%);
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  width: 5.625rem;
  -webkit-transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-video-facade__play {
    width: 4rem;
  }
}

.c-video-facade__play img {
  display: block;
  height: auto;
  width: 100%;
}

.c-video-facade:hover .c-video-facade__play,
.c-video-facade:focus-visible .c-video-facade__play {
  opacity: 0.85;
          transform: translate(-50%, -50%) scale(1.06);
  -webkit-transform: translate(-50%, -50%) scale(1.06);
}

/********************************
brand modal
*********************************/
.p-brand-modal {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  inset: 0;
          justify-content: center;
  opacity: 0;
  padding: 1.25rem;
  pointer-events: none;
  position: fixed;
  transition: visibility 0s linear 0.5s, opacity 0.5s ease;
  visibility: hidden;
  z-index: 1000;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -webkit-transition: visibility 0s linear 0.5s, opacity 0.5s ease;
}
@media screen and (max-width: 768px) {
  .p-brand-modal {
    padding: 5.1282051282vw;
  }
}

.p-brand-modal::before {
  background-color: rgba(0, 0, 0, .5);
  content: "";
  inset: 0;
  position: absolute;
}

.p-brand-modal.is-open {
  opacity: 1;
  pointer-events: auto;
          transition-delay: 0s;
  visibility: visible;
  -webkit-transition-delay: 0s;
}

.p-brand-modal__wrapper {
  border-radius: 0.4375rem;
          box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, .1);
  opacity: 0;
  position: relative;
          transform: translateY(-0.375rem);
  transition: visibility 0s linear 0.5s, opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: visibility 0s linear 0.5s, opacity 0.5s ease, transform 0.5s ease;
  transition: visibility 0s linear 0.5s, opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease;
  visibility: hidden;
  z-index: 1;
  -webkit-box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, .1);
  -webkit-transform: translateY(-0.375rem);
  -webkit-transition: visibility 0s linear 0.5s, opacity 0.5s ease, -webkit-transform 0.5s ease;
}
@media screen and (max-width: 768px) {
  .p-brand-modal__wrapper {
    max-width: 31.25rem;
    width: 76.9230769231vw;
  }
}

.p-brand-modal.is-open .p-brand-modal__wrapper {
  opacity: 1;
          transform: translateY(0);
          transition-delay: 0s;
  visibility: visible;
  -webkit-transform: translateY(0);
  -webkit-transition-delay: 0s;
}

.p-brand-modal__close {
  background: none;
  border: none;
  cursor: pointer;
  height: 2.5rem;
  padding: 0;
  position: absolute;
  right: 0.625rem;
  top: 0.625rem;
  transition: 0.3s;
  width: 2.5rem;
  z-index: 2;
  -webkit-transition: 0.3s;
}

.p-brand-modal__close::before,
.p-brand-modal__close::after {
  background-color: var(--blue-0);
  content: "";
  height: 0.125rem;
  left: 50%;
  position: absolute;
  top: 50%;
          transform: translate(-50%, -50%) rotate(45deg);
  transition: 0.3s;
  width: 1.75rem;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -webkit-transition: 0.3s;
}

.p-brand-modal__close::after {
          transform: translate(-50%, -50%) rotate(-45deg);
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
}

@media (any-hover: hover) {
  .p-brand-modal__close:hover::before,
  .p-brand-modal__close:hover::after {
    background-color: var(--blue-1);
  }
}
.p-brand-modal__content {
  background-color: rgb(255, 255, 255);
  border: 0.0625rem solid var(--gray-89);
  border-radius: 0.4375rem;
  color: var(--c-main);
  max-width: 100%;
  padding-block: 3.125rem;
  padding-inline: 3.125rem;
  position: relative;
  width: 34.375rem;
}

.p-brand-modal__list {
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  gap: 2.625rem;
      -ms-flex-align: end;
  -ms-flex-wrap: wrap;
  -webkit-box-align: end;
}
@media screen and (max-width: 768px) {
  .p-brand-modal__list {
    gap: 1.5rem;
            justify-content: center;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.p-brand-modal__item {
  height: 7.3125rem;
  width: 7.1875rem;
}

.p-brand-modal__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  height: 100%;
          justify-content: center;
      -ms-flex-direction: column;
      -ms-flex-pack: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-box-pack: center;
}

.p-brand-modal__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1;
          flex-direction: column;
          justify-content: flex-end;
  padding-left: 0.3125rem;
      -ms-flex: 1;
      -ms-flex-direction: column;
      -ms-flex-pack: end;
  -webkit-box-direction: normal;
  -webkit-box-flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-pack: end;
}
@media screen and (max-width: 768px) {
  .p-brand-modal__body {
            justify-content: flex-start;
        -ms-flex-pack: start;
    -webkit-box-pack: start;
  }
}

.p-brand-modal__logo {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.75rem;
          justify-content: center;
  width: 7.1875rem;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}

.p-brand-modal__name {
  font-size: max(0.75rem, 10px);
  letter-spacing: 0.2em;
  line-height: 1;
  margin-top: 0.3125rem;
}

.p-brand-modal__external {
          align-items: center;
  color: var(--blue-0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.625rem, 8px);
  gap: 0.3125rem;
  letter-spacing: 0.2em;
  line-height: 1;
  margin-top: 0.625rem;
  position: relative;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

.p-brand-modal__external::before {
  background-image: url(../img/icon/icon_ex.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.625rem;
  width: 0.9375rem;
}

.p-brand-modal__external::after {
  background-color: var(--blue-0);
  bottom: -0.3125rem;
  content: "";
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
          transform: scaleX(0);
          transform-origin: left;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 100%;
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s ease;
}

.p-brand-modal__logo img {
  height: 100%;
     object-fit: contain;
  -o-object-fit: contain;
}

.p-brand-modal__logo--fafa img {
  aspect-ratio: 87/47;
  width: 5.4375rem;
}

.p-brand-modal__logo--workclothes img {
  aspect-ratio: 62/53;
  width: 3.875rem;
}

.p-brand-modal__logo--shiroi img {
  aspect-ratio: 115/28;
  width: 7.1875rem;
}

@media (any-hover: hover) {
  .p-brand-modal__link:hover .p-brand-modal__external::after {
            transform: scaleX(1);
    -webkit-transform: scaleX(1);
  }
}
.p-company-nav {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-company-nav {
    padding-top: 5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-company-nav__inner {
    container-type: inline-size;
  }
}

.p-company-nav__list {
  display: grid;
  gap: 2.375rem;
  grid-template-columns: repeat(auto-fill, minmax(0, 33.8125rem));
}
@media screen and (max-width: 768px) {
  .p-company-nav__list {
    gap: 1.75rem;
    grid-template-columns: repeat(auto-fill, minmax(0, 21.25rem));
            justify-content: center;
    margin-inline: auto;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}
@container (min-width: 500px) {
  .p-company-nav__list {
    grid-template-columns: repeat(2, minmax(0, 21.25rem));
  }
}

.p-company-nav__link {
  background-color: var(--l-blue-e);
  border: 0.0625rem solid transparent;
  border-radius: 0.625rem;
  display: block;
  min-height: 13.0625rem;
  padding: 1.75rem 2.5rem;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-company-nav__link {
    min-height: unset;
    padding: 1.25rem 1.5625rem 1.875rem;
  }
}

.p-company-nav__ttl {
  color: var(--blue-0);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  padding-bottom: 0.625rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-company-nav__ttl {
    font-size: 1rem;
  }
}

.p-company-nav__ttl::after {
  background-image: url(../img/icon/arrow_right-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.75rem;
  position: absolute;
  right: 0;
  top: 42%;
          transform: translateY(-50%);
  width: 0.5rem;
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-company-nav__ttl::after {
    top: 50%;
  }
}

.p-company-nav__content {
  border-top: 0.0625rem solid var(--blue-gray);
  padding-top: 1rem;
}

.p-company-nav__txt {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-company-nav__txt {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
  }
}

@media (any-hover: hover) {
  .p-company-nav__link:hover {
    background-color: var(--white);
    border: 0.0625rem solid var(--blue-0);
  }
}
.p-contact-guide {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-contact-guide {
    margin-top: 5rem;
  }
}

.p-contact-guide__card {
  background-color: var(--beige);
  border-radius: 0.625rem;
  padding: 3.75rem 5rem;
}
@media screen and (max-width: 768px) {
  .p-contact-guide__card {
    border-radius: 0.75rem;
    padding: 2.5rem 5.1282051282vw;
  }
}

.p-contact-guide__ttl {
  color: var(--c-main);
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact-guide__ttl {
    font-size: 1.25rem;
  }
}

.p-contact-guide__body {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.625rem;
  margin-inline: auto;
  margin-top: 1.875rem;
  max-width: 51.5rem;
  width: 100%;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact-guide__body {
            align-items: flex-start;
            flex-direction: column;
    gap: 1.875rem;
    margin-top: 1.25rem;
    max-width: 43.75rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
        -ms-flex-align: start;
        -ms-flex-direction: column;
    -webkit-box-align: start;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-contact-guide__txt {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.17em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-contact-guide__txt {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.p-contact-guide__btn-wrapper {
      flex-shrink: 0;
  max-width: 21.875rem;
  -ms-flex-negative: 0;
}
@media screen and (max-width: 768px) {
  .p-contact-guide__btn-wrapper {
    width: 100%;
  }
}

.p-contact-guide__btn.c-btn {
  min-width: 21.875rem;
  padding: 1.375rem 0.9375rem;
}
@media screen and (max-width: 768px) {
  .p-contact-guide__btn.c-btn {
            justify-content: center;
    min-width: unset;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.p-contact-notes {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.18em;
  line-height: 180%;
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-contact-notes {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  .p-contact-notes {
    margin-top: 5rem;
  }
}

.p-contact-notes__txt {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.17em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-contact-notes__txt {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
  }
}

.p-contact-notes__list {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-contact-notes__list {
    margin-top: 1.5rem;
  }
}

.p-contact-notes__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .p-contact-notes__item:not(:first-child) {
    margin-top: 0.3125rem;
  }
}

.p-contact-notes__item::before {
  content: "・";
  display: inline-block;
  padding-inline: 0.25rem;
}

.p-contact-notes__item.p-contact-notes__item--attention {
  color: var(--red);
}

.p-contact-notes__item.p-contact-notes__item--attention::before {
  color: var(--c-main);
  content: "・";
}

.p-contact {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-contact {
    margin-top: 5rem;
  }
}

.p-contact__bg {
  background-color: var(--l-blue-e);
  border-radius: 0.3125rem;
  padding: 3.75rem 5.3125rem;
}
@media screen and (max-width: 768px) {
  .p-contact__bg {
    padding: 2.5rem 5.1282051282vw;
  }
}

/*----------------------------------------------
フォームのCSSここから
----------------------------------------------*/
.p-contact__content {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__content {
            align-items: flex-start;
            flex-direction: column;
    gap: 0.625rem;
        -ms-flex-align: start;
        -ms-flex-direction: column;
    -webkit-box-align: start;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-contact__content + .p-contact__content {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-contact__content + .p-contact__content {
    margin-top: 1.5rem;
  }
}

.page-template-page-contact-customer-php .p-contact__content:nth-child(10) {
  margin-bottom: 2.8125rem;
  margin-top: 2.5rem;
}

.p-contact__content.p-contact__content--textarea {
          align-items: flex-start;
      -ms-flex-align: start;
  -webkit-box-align: start;
}
@media screen and (max-width: 768px) {
  .p-contact__content.p-contact__content--textarea {
    gap: 0.1875rem;
  }
}

.p-contact__head {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.9375rem, 10px);
          justify-content: flex-end;
  letter-spacing: 0.1em;
  width: 11.625rem;
      -ms-flex-align: center;
      -ms-flex-pack: end;
  -webkit-box-align: center;
  -webkit-box-pack: end;
}
@media screen and (max-width: 768px) {
  .p-contact__head {
            justify-content: flex-start;
    width: 100%;
        -ms-flex-pack: start;
    -webkit-box-pack: start;
  }
}

.p-contact__head label[for=your-kana] {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-contact__head label[for=your-kana] {
    display: block;
    width: 100%;
  }
}

.p-contact__head label[for=your-kana]::after {
  bottom: -1.125rem;
  content: "（カタカナ全角）";
  display: block;
  font-size: max(0.75rem, 8px);
  font-weight: 400;
  left: -2.3125rem;
  letter-spacing: 0.1em;
  line-height: 180%;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .p-contact__head label[for=your-kana]::after {
    bottom: 0;
    left: 4.0625rem;
  }
}

@media screen and (max-width: 768px) {
  .p-contact__head label[for=your-kana] .p-contact__required {
    margin-left: 6.5625rem;
  }
}

.p-contact__item {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-contact__item {
    width: 100%;
  }
}

.p-contact__item input[type=text],
.p-contact__item input[type=email],
.p-contact__item input[type=tel] {
  border: none;
  border-radius: 0.3125rem;
  font-size: max(0.9375rem, 10px);
  height: 3.4375rem;
  outline: none;
  padding: 0;
  padding: 1.25rem 1.125rem;
  width: 45.75rem;
}
@media screen and (max-width: 768px) {
  .p-contact__item input[type=text],
  .p-contact__item input[type=email],
  .p-contact__item input[type=tel] {
    font-size: 0.875rem;
    padding: 0.625rem;
    width: 100%;
  }
}

.p-contact__item textarea {
  border: none;
  border-radius: 0.3125rem;
  font-size: max(0.9375rem, 10px);
  height: 15.625rem;
  outline: none;
  padding: 0;
  padding: 1.25rem 0.875rem;
  resize: none;
  width: 45.75rem;
}
@media screen and (max-width: 768px) {
  .p-contact__item textarea {
    font-size: 0.875rem;
    width: 100%;
  }
}

/*郵便番号*/
.p-contact__item--small,
.p-contact__item input.p-contact__item-txt--small {
  width: 13.6875rem;
}

/*セレクトボックス（ドロップダウン）*/
.p-contact__item select {
  appearance: none;
  background-color: var(--white);
  background-image: url(../img/icon/arrow_down-bk.svg);
  background-position: right 1.25rem center;
  background-repeat: no-repeat;
  background-size: 0.75rem;
  border: none;
  border-radius: 0.3125rem;
  color: var(--c-main);
  cursor: pointer;
  font-size: max(0.9375rem, 10px);
  height: 3.4375rem;
  letter-spacing: 0.1em;
  outline: none;
  padding: 0.3125rem 1.25rem;
  padding-right: 2.5rem;
  -moz-appearance: none;
  -webkit-appearance: none;
}
@media screen and (max-width: 768px) {
  .p-contact__item select {
    font-size: 0.875rem;
    width: 100%;
  }
}

.p-contact__item select.p-contact__item-txt--medium {
  width: 18.5rem;
}
@media screen and (max-width: 768px) {
  .p-contact__item select.p-contact__item-txt--medium {
    width: 100%;
  }
}

.p-contact__item select.p-contact__item-txt--small {
  width: 13.6875rem;
}
@media screen and (max-width: 768px) {
  .p-contact__item select.p-contact__item-txt--small {
    width: 100%;
  }
}

::-webkit-input-placeholder {
  color: var(--gray-90);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
}

::-moz-placeholder {
  color: var(--gray-90);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
}

::-ms-input-placeholder {
  color: var(--gray-90);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
}

::placeholder {
  color: var(--gray-90);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  ::-webkit-input-placeholder {
    font-size: 0.875rem;
  }
  ::-moz-placeholder {
    font-size: 0.875rem;
  }
  ::-ms-input-placeholder {
    font-size: 0.875rem;
  }
  ::placeholder {
    font-size: 0.875rem;
  }
}

#your-inquiry-type-radio.wpcf7-form-control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  gap: 3.625rem;
  -ms-flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #your-inquiry-type-radio.wpcf7-form-control {
            flex-direction: column;
    gap: 0.625rem 1.875rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-contact__required {
      align-content: center;
  background-color: var(--red);
  border-radius: 0.1875rem;
  color: var(--white);
  display: inline-block;
  font-size: max(0.75rem, 8px);
  font-weight: 400;
  line-height: 1;
  margin-left: 1.25rem;
  padding: 0.1875rem 0.3125rem;
  text-align: center;
  white-space: nowrap;
  width: 2.125rem;
  -ms-flex-line-pack: center;
}
@media screen and (max-width: 768px) {
  .p-contact__required {
    font-size: 0.75rem;
    margin-left: 0.625rem;
  }
}

.p-contact__any {
      align-content: center;
  background-color: var(--blue-2);
  border-radius: 0.1875rem;
  color: var(--white);
  display: inline-block;
  font-size: max(0.75rem, 8px);
  font-weight: 400;
  height: 1.125rem;
  line-height: 1;
  margin-left: 1.25rem;
  padding: 0.1875rem 0.3125rem;
  text-align: center;
  white-space: nowrap;
  width: 2.125rem;
  -ms-flex-line-pack: center;
}
@media screen and (max-width: 768px) {
  .p-contact__any {
    font-size: 0.75rem;
    margin-left: 0.625rem;
  }
}

.p-contact__policy {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-contact__policy {
    margin-top: 2.5rem;
  }
}

.p-contact__item-checkbox {
  display: block;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 180%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__item-checkbox {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    text-align: left;
  }
}

.p-contact__item-checkbox-txt {
  display: block;
}
@media screen and (max-width: 768px) {
  .p-contact__item-checkbox-txt {
    display: inline;
  }
}

.p-contact__policy-link {
  color: var(--link-blue);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

@media (any-hover: hover) {
  .p-contact__policy-link:hover {
    opacity: 0.7;
  }
}
.p-contact__policy-check {
  display: block;
  margin-top: 1.9375rem;
}

.p-contact__policy-check .wpcf7-list-item-label {
  font-size: 1rem;
  font-weight: 500;
  line-height: 175%;
}
@media screen and (max-width: 768px) {
  .p-contact__policy-check .wpcf7-list-item-label {
    font-size: 0.875rem;
  }
}

.p-contact__policy-check input[type=checkbox] {
  border: 1px solid #999;
  border-radius: unset;
  height: 1.25rem;
  margin: 0;
  outline: none;
  padding: 0;
  width: 1.25rem;
}

.p-contact__policy-check .wpcf7-list-item label {
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

.p-contact__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 3.125rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-contact__btn-wrap {
            align-items: center;
        flex-wrap: wrap;
    gap: 1.5rem;
    margin-top: 1.5rem;
        -ms-flex-align: center;
    -ms-flex-wrap: wrap;
    -webkit-box-align: center;
  }
}

.p-contact__btn {
  height: 3.125rem;
  position: relative;
  width: 14.3125rem;
}

.p-contact__item--postal {
  max-width: 11.25rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-contact__item--postal {
    max-width: 60%;
  }
}

@media screen and (max-width: 768px) {
  .p-contact__item--prefectures {
    max-width: 60%;
  }
}

/*radio button*/
.wpcf7-list-item {
  margin: 0;
}

/*デフォルトの色設定*/
.wpcf7-not-valid-tip {
  display: none;
}

.p-contact__error {
  color: var(--red);
  display: block;
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  line-height: 1.6;
  margin-top: 0.25rem;
}

input.wpcf7c-conf,
textarea.wpcf7c-conf {
  background: #fff;
  border: 0;
  padding: 0;
}

.wpcf7-text:-webkit-autofill {
          box-shadow: 0 0 0 1000px #fff inset;
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}

.p-contact__item--radio .wpcf7-radio {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  margin: 0;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
.p-contact__item--radio span.wpcf7-list-item-label {
  margin-left: 2.4375rem;
}
.p-contact__item--radio span.wpcf7-list-item-label::after {
  left: -2.4375rem;
}
.p-contact__item--radio span.wpcf7-list-item-label::after {
  left: -1.8125rem;
}

.p-contact__textarea-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 0.25rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-contact__textarea-wrapper {
    gap: 0.625rem;
  }
}

.p-contact__textarea {
  font-size: max(0.8125rem, 9px);
  letter-spacing: 0.15em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-contact__textarea {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    line-height: 1.65;
  }
}

/*お問い合わせ項目*/
.p-contact__item--select .wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
  gap: 1.25rem 2.5rem;
  -ms-flex-wrap: wrap;
}
.p-contact__item--select span.wpcf7-list-item-label {
  gap: 2.5rem;
  margin-left: 0;
}
.p-contact__item--select span.wpcf7-list-item-label::before {
  left: -2.125rem;
}
.p-contact__item--select span.wpcf7-list-item-label::after {
  left: -1.8125rem;
}

/*チェックボックス*/
.p-contact__policy {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  margin: 2.875rem auto 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__policy {
    font-size: 0.875rem !important;
    margin: 5.7291666667vw auto 0;
    max-width: 40.625rem;
    width: 100%;
  }
}

.p-contact__policy > .p-contact__item {
  width: 100%;
}

.p-contact__policy .wpcf7-list-item {
      flex-shrink: 0;
  margin: 0;
  -ms-flex-negative: 0;
}

.p-contact__policy .wpcf7-list-item label {
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
          justify-content: center;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}

.p-contact__type-check input[type=checkbox],
.p-contact__item-checkbox input[type=checkbox] {
  appearance: none;
  background-color: transparent;
  border: var(--l-gray-e) solid 0.0625rem;
  cursor: pointer;
  height: 1.5rem;
  margin: 0;
  padding: 0;
  position: relative;
  width: 1.5rem;
  -moz-appearance: checkbox;
  -webkit-appearance: checkbox;
}
@media screen and (max-width: 768px) {
  .p-contact__type-check input[type=checkbox],
  .p-contact__item-checkbox input[type=checkbox] {
        flex-shrink: 0;
    height: 1.25rem;
    width: 1.25rem;
    -ms-flex-negative: 0;
  }
}

.p-contact__type-check input[type=checkbox]:checked,
.p-contact__item-checkbox input[type=checkbox]:checked {
          appearance: none;
  background-color: transparent;
  background-color: var(--white);
  background-image: url(../img/icon/icon_check.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-size: 0.8125rem 0.5625rem;
  position: relative;
  z-index: 10;
     -moz-appearance: none;
  -webkit-appearance: none;
}

.p-contact__type-check input[type=checkbox]:not(:checked),
.p-contact__item-checkbox input[type=checkbox]:not(:checked) {
          appearance: none;
  background-color: var(--white);
     -moz-appearance: none;
  -webkit-appearance: none;
}

.wpcf7-list-item-label::before, .wpcf7-list-item-label::after {
  display: none;
}

.p-contact__type-check span.wpcf7-list-item {
  margin: 0;
}

/*各チェックボックス間*/
.wpcf7-form-control.wpcf7-checkbox.p-contact__type-check {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
}
@media screen and (max-width: 768px) {
  .wpcf7-form-control.wpcf7-checkbox.p-contact__type-check {
        flex-wrap: wrap;
    gap: 1.953125vw 3.90625vw;
    -ms-flex-wrap: wrap;
  }
}

.p-contact__type-check span.wpcf7-list-item label {
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
  margin: 0;
  width: 100%;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

.p-contact__about {
  font-size: clamp(10px, 0.249rem + 0.78vw, 0.875rem) !important;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-contact__about {
    font-size: 0.875rem !important;
    word-break: keep-all;
  }
}

@media (any-hover: hover) {
  .p-contact__policy-link:hover {
    opacity: 0.7;
  }
}
/*radiobutton common*/
.p-contact__item--radio .wpcf7-list-item,
#your-inquiry-type-radio .wpcf7-list-item {
  margin: 0;
}
.p-contact__item--radio .wpcf7-list-item.first,
#your-inquiry-type-radio .wpcf7-list-item.first {
  margin-left: 0;
}
.p-contact__item--radio .wpcf7-list-item label,
#your-inquiry-type-radio .wpcf7-list-item label {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
.p-contact__item--radio .wpcf7-list-item-label,
#your-inquiry-type-radio .wpcf7-list-item-label {
  font-size: 1.125rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-contact__item--radio .wpcf7-list-item-label,
  #your-inquiry-type-radio .wpcf7-list-item-label {
    font-size: 3.3854166667vw;
  }
}
.p-contact__item--radio .wpcf7-list-item-label::before,
.p-contact__item--radio .wpcf7-list-item-label::after,
#your-inquiry-type-radio .wpcf7-list-item-label::before,
#your-inquiry-type-radio .wpcf7-list-item-label::after {
  display: none;
}
.p-contact__item--radio input[type=radio],
#your-inquiry-type-radio input[type=radio] {
  opacity: 0;
  position: absolute;
  visibility: hidden;
}
.p-contact__item--radio span.wpcf7-list-item-label,
#your-inquiry-type-radio span.wpcf7-list-item-label {
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem;
  font-weight: 500;
  margin-left: 2.125rem;
  position: relative;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
.p-contact__item--radio span.wpcf7-list-item-label::before,
#your-inquiry-type-radio span.wpcf7-list-item-label::before {
  background-color: var(--white);
  border: 1px solid var(--l-gray-e);
  border-radius: 50%;
  content: "";
  display: block;
  height: 1.5rem;
  left: -2.125rem;
  margin: 0;
  position: absolute;
  top: 15%;
  width: 1.5rem;
  z-index: 1;
  z-index: 0;
}
.p-contact__item--radio span.wpcf7-list-item-label::after,
#your-inquiry-type-radio span.wpcf7-list-item-label::after {
  background-color: var(--blue-0);
  border-radius: 50%;
  content: "";
  display: block;
  display: none;
  height: 0.625rem;
  left: -1.6875rem;
  margin: 0;
  position: absolute;
  top: 59%;
          transform: translateY(-50%);
  width: 0.625rem;
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-contact__item--radio span.wpcf7-list-item-label::after,
  #your-inquiry-type-radio span.wpcf7-list-item-label::after {
    top: 64%;
  }
}
.p-contact__item--radio input[type=radio]:checked + span.wpcf7-list-item-label::after,
#your-inquiry-type-radio input[type=radio]:checked + span.wpcf7-list-item-label::after {
  display: block;
}

/*----------------------------------------------
デフォルト設定
----------------------------------------------*/
input:-webkit-autofill,
select:-webkit-autofill {
          box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.wpcf7 form .wpcf7-response-output {
  display: none;
}

.wpcf7-spinner, .wpcf7-spinner::before {
  display: none;
}

/*----------------------------------------------
/*確認画面
----------------------------------------------*/
.p-contact__back-txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 175%;
  margin: 7.5rem auto;
  text-align: center;
}

.p-contact__back-txt > a {
  color: green;
  font-weight: 500;
  text-decoration: underline;
}

@media (any-hover: hover) {
  .p-contact__back-txt > a:hover {
    opacity: 0.7;
  }
}
.p-contact__policy-item-txt {
  display: block;
  font-size: clamp(10px, 0.249rem + 0.78vw, 0.875rem) !important;
  font-weight: 500;
  margin-top: 1rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__policy-item-txt {
    font-size: 0.875rem;
  }
}

/* 確認時は入力画面の青背景ボックスを白地にする */
.p-contact__bg.is-confirm {
  background-color: transparent;
  padding: 0;
}

.confirm_area {
  padding-bottom: 7.5rem;
}

.confirm_area .p-contact__btn-wrap {
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .confirm_area .p-contact__btn-wrap {
    gap: 1rem;
  }
}

/* 見出し（Contact form / お問い合わせフォーム） */
.p-contact__confirm-ttl {
  margin-bottom: 2.8125rem;
}
@media screen and (max-width: 768px) {
  .p-contact__confirm-ttl {
    margin-bottom: 1.875rem;
  }
}

.p-contact__confirm-ttl .c-ttl__en {
  display: block;
}

/* ガイダンス青ボックス */
.p-contact__confirm-lead {
  background-color: var(--l-blue-e);
  border-radius: 0.625rem;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 1.8;
  margin-bottom: 6.25rem;
  padding: 3.75rem 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__confirm-lead {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    margin-bottom: 3.75rem;
    padding: 1.875rem 5.1282051282vw;
    text-align: left;
  }
}

.p-contact__confirm-lead span {
  display: block;
}

/* 確認内容リスト */
.p-contact__confirm-list {
  margin: 0 auto;
  max-width: 59.375rem;
  width: 100%;
}

.p-contact__confirm-row {
          align-items: center;
  border-bottom: 1px solid var(--l-gray-c);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
  padding: 1.875rem 2.5rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__confirm-row {
            align-items: flex-start;
            flex-direction: column;
    gap: 0.5rem;
    padding: 1.25rem 0;
        -ms-flex-align: start;
        -ms-flex-direction: column;
    -webkit-box-align: start;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-contact__confirm-row--textarea {
          align-items: flex-start;
      -ms-flex-align: start;
  -webkit-box-align: start;
}

.p-contact__confirm-head {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
  gap: 1.1875rem;
          justify-content: flex-end;
  width: 11.625rem;
      -ms-flex-align: center;
  -ms-flex-negative: 0;
      -ms-flex-pack: end;
  -webkit-box-align: center;
  -webkit-box-pack: end;
}
@media screen and (max-width: 768px) {
  .p-contact__confirm-head {
            justify-content: flex-start;
    width: 100%;
        -ms-flex-pack: start;
    -webkit-box-pack: start;
  }
}

.p-contact__confirm-label {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: right;
  width: 8.25rem;
}
@media screen and (max-width: 768px) {
  .p-contact__confirm-label {
    text-align: left;
    width: auto;
  }
}

.p-contact__confirm-head .p-contact__required,
.p-contact__confirm-head .p-contact__any {
  margin-left: 0;
}

.p-contact__confirm-value {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  word-break: break-word;
}
@media screen and (max-width: 768px) {
  .p-contact__confirm-value {
    font-size: 0.875rem;
  }
}

/* 同意テキスト */
.confirm_area .p-contact__confirm-policy {
  display: block;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 3.125rem;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .confirm_area .p-contact__confirm-policy {
    font-size: 0.875rem;
    margin-top: 2.5rem;
  }
}

.confirm_area .back_button.c-product-btn {
  border: none;
  cursor: pointer;
      flex-shrink: 0;
  width: 14.3125rem;
  -ms-flex-negative: 0;
}

.p-contact__submit-btn input[type=submit] {
       appearance: none;
  background-image: var(--gradient-c);
  border: none;
  border-radius: 2.5rem;
  color: var(--white);
  cursor: pointer;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  height: 3.125rem;
  letter-spacing: 0.24em;
  line-height: 1;
  text-align: center;
  transition: opacity 0.3s ease;
  width: 14.3125rem;
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-transition: opacity 0.3s ease;
}

@media (any-hover: hover) {
  .p-contact__submit-btn input[type=submit]:hover {
    opacity: 0.7;
  }
}
.p-corporate-info {
  padding-top: 9.8125rem;
}
@media screen and (max-width: 768px) {
  .p-corporate-info {
    padding-top: 5.625rem;
  }
}

@media screen and (max-width: 768px) {
  .p-corporate-info__inner {
    container-type: inline-size;
  }
}

.p-corporate-info__list {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: repeat(auto-fill, minmax(0, 22.0625rem));
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-corporate-info__list {
    gap: 1.25rem 1.25rem;
    grid-template-columns: minmax(0, 20.625rem);
            justify-content: center;
    margin-inline: auto;
    margin-top: 2.5rem;
    margin-top: 2.5rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
  @container (min-width: 500px) {
    .p-corporate-info__list {
      grid-template-columns: repeat(2, minmax(0, 20.625rem));
    }
  }
}

.p-corporate-info__link {
  background-color: var(--l-blue-e);
  border: 1px solid var(--l-gray-e);
  border-radius: 0.3125rem;
  color: var(--blue-0);
  display: block;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 180%;
  padding: 1.75rem 1.875rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-corporate-info__link {
    font-size: 1rem;
    padding: 1rem;
  }
}

.p-corporate-info__link::after {
  background-image: url(../img/icon/arrow_right-blue.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.75rem;
  position: absolute;
  right: 1.875rem;
  top: 50%;
          transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
  width: 0.4375rem;
  -webkit-transform: translateY(-50%);
  -webkit-transition: all 0.3s ease-in-out;
}

@media (any-hover: hover) {
  .p-corporate-info__link:hover {
    background-color: var(--blue-0);
    color: var(--white);
  }
  .p-corporate-info__link:hover::after {
    background-image: url(../img/icon/arrow_right-white.svg);
  }
}
.p-csr {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-csr {
    padding-top: 5rem;
  }
}

.p-csr__inner {
  max-width: 62.5rem;
}

.p-csr__block + .p-csr__block {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-csr__block + .p-csr__block {
    margin-top: 3.125rem;
  }
}

.p-csr__block + .p-csr__block--sub {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .p-csr__block + .p-csr__block--sub {
    margin-top: 2.5rem;
  }
}

.p-csr__block--sub + .p-csr__block--sub {
  margin-top: 1.625rem;
}
@media screen and (max-width: 768px) {
  .p-csr__block--sub + .p-csr__block--sub {
    margin-top: 2.1875rem;
  }
}

.p-csr__block > * + * {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-csr__block > * + * {
    margin-top: 1.25rem;
  }
}

.p-csr__lead {
  color: var(--blue-0);
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-csr__lead {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
  }
}

.p-csr__block:first-of-type .p-csr__lead {
  padding-left: 0.625rem;
}
@media screen and (max-width: 768px) {
  .p-csr__block:first-of-type .p-csr__lead {
    padding-left: 0;
  }
}

.p-csr__txt {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-csr__txt {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.p-csr__block > .p-csr__quote {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-csr__block > .p-csr__quote {
    margin-top: 1.875rem;
  }
}

.p-csr__quote {
  background: var(--l-blue-f);
  border-radius: 0.625rem;
  margin-inline: auto;
  max-width: 59.25rem;
  padding: 1.875rem 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-csr__quote {
    padding: 1.5rem 1.25rem;
  }
}

.p-csr__quote-txt {
  color: var(--blue-0);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-csr__quote-txt {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
    word-break: auto-phrase;
  }
}

.p-csr__block > .p-csr__list {
  margin-top: 1.75rem;
}
@media screen and (max-width: 768px) {
  .p-csr__block > .p-csr__list {
    margin-top: 1.25rem;
  }
}

.p-csr__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 0.625rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}

.p-csr__list-item {
  color: var(--c-main);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  gap: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-csr__list-item {
    font-size: 0.875rem;
    gap: 0.75rem;
  }
}

.p-csr__list-item::before {
  background: var(--blue-0);
  border-radius: 50%;
  content: "";
          flex: none;
  height: 0.625rem;
  margin-top: calc(0.9em - 0.3125rem);
  width: 0.625rem;
      -ms-flex: none;
  -webkit-box-flex: 0;
}

.p-csr__block > .p-csr__card {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-csr__block > .p-csr__card {
    margin-top: 1.875rem;
  }
}

.p-csr__card {
  background: var(--l-blue-f);
  border: 1px solid var(--l-gray-e);
  border-radius: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  padding: 2.5rem 5.3125rem;
}
@media screen and (max-width: 768px) {
  .p-csr__card {
            align-items: center;
            flex-direction: column;
    gap: 1.5rem;
    padding: 1.5rem 5.1282051282vw;
        -ms-flex-align: center;
        -ms-flex-direction: column;
    -webkit-box-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-csr__card-img {
  border-radius: 0.625rem;
          flex: none;
  max-width: 25.5rem;
  overflow: hidden;
  width: 100%;
      -ms-flex: none;
  -webkit-box-flex: 0;
}
@media screen and (max-width: 768px) {
  .p-csr__card-img {
    width: 100%;
  }
}

.p-csr__card-img img {
  aspect-ratio: 408/235;
  display: block;
  height: auto;
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}

.p-csr__card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 1.875rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-csr__card-body {
    gap: 1rem;
    max-width: 25.625rem;
  }
}

.p-csr__card-ttl {
  color: var(--c-main);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-csr__card-ttl {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
  }
}

.p-csr__card-txt {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-csr__card-txt {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.p-csr__card-btn-warp {
  justify-self: flex-end;
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .p-csr__card-btn-warp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            justify-content: center;
    margin-inline: auto;
    width: 100%;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.p-csr__card-btn {
  max-width: 15.25rem;
}

.p-csr__card-btn::before {
  width: 15rem;
}

@media (any-hover: hover) {
  .p-csr__card-btn:hover::before {
    width: 15rem;
  }
  .p-csr__card-btn:hover {
    background-size: 15.25rem 3.125rem;
  }
}
.p-cta {
  background-color: var(--l-blue-d);
  margin-top: 11.0625rem;
  padding-block: 6.6875rem 6.4375rem;
}
@media screen and (max-width: 768px) {
  .p-cta {
    margin-top: 7.9375rem;
    padding-block: 5.625rem;
  }
}

.p-cta__ttl {
  font-size: 1.5rem;
  letter-spacing: 0.18em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-cta__ttl {
    font-size: 1.375rem;
  }
}

.p-cta__btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.8125rem;
          justify-content: center;
  margin-top: 3.125rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-cta__btn-wrapper {
            flex-direction: column;
    gap: 1rem;
    margin-inline: auto;
    margin-top: 2.5rem;
    max-width: 21.25rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-cta__btn-item {
  width: 21.875rem;
}
@media screen and (max-width: 768px) {
  .p-cta__btn-item {
    width: 100%;
  }
}

.p-data {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-data {
    padding-top: 5rem;
  }
}

.p-data__inner {
  max-width: 62.5rem;
}

/* リード文 */
.p-data__lead {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-data__lead {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.p-data a[href^="tel:"] {
  color: inherit;
  text-decoration: none;
}

/* ---------------------------------------------
 * ページ内リンク（会社概要／役員紹介／事業所一覧）
 * --------------------------------------------- */
.p-data__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-data__nav {
        flex-wrap: wrap;
    gap: 0.625rem;
    margin-top: 1.875rem;
    -ms-flex-wrap: wrap;
  }
}

.p-data__nav-link {
  background: var(--l-blue-e);
  border: 1px solid var(--l-gray-e);
  border-radius: 0.3125rem;
  color: var(--blue-0);
  display: inline-block;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  min-width: 9.625rem;
  padding-block: 0.625rem;
  padding-inline: 1.5625rem 2.5rem;
  position: relative;
  transition: opacity 0.3s ease;
  transition: 0.3s all;
  -webkit-transition: opacity 0.3s ease;
  -webkit-transition: 0.3s all;
}
@media screen and (max-width: 768px) {
  .p-data__nav-link {
    font-size: 0.875rem;
    gap: 0.625rem;
            justify-content: center;
    letter-spacing: 0.05em;
    min-width: 0;
    padding-block: 0.625rem;
    padding-inline: 0.625rem 1.25rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.p-data__nav-link::after {
  background: url(../img/icon/arrow_down-bl.svg) no-repeat center/contain;
  content: "";
      flex-shrink: 0;
  height: 0.4375rem;
  position: absolute;
  right: 1.25rem;
  top: 50%;
          transform: translateY(-50%);
  transition: all 0.3s;
  width: 0.6875rem;
  -ms-flex-negative: 0;
  -webkit-transform: translateY(-50%);
  -webkit-transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .p-data__nav-link::after {
    height: 0.3125rem;
    right: 0.3125rem;
    width: 0.625rem;
  }
}

@media (any-hover: hover) {
  .p-data__nav-link:hover {
    background-color: var(--blue-0);
    color: var(--white);
  }
  .p-data__nav-link:hover::after {
    background: url(../img/icon/arrow_down-wh.svg) no-repeat center/contain;
  }
}
/* ---------------------------------------------
 * セクション共通
 * --------------------------------------------- */
.p-data__section {
  margin-top: 5rem;
  scroll-margin-top: 8.125rem;
}
@media screen and (max-width: 768px) {
  .p-data__section {
    margin-top: 3.125rem;
    scroll-margin-top: 5.625rem;
  }
}

.p-data__section#officer {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-data__section#officer {
    margin-top: 3.125rem;
  }
}

.p-data__section#office-list {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-data__section#office-list {
    margin-top: 3.125rem;
  }
}

/* ---------------------------------------------
 * 会社概要テーブル
 * --------------------------------------------- */
.p-data__table {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-data__table {
    margin-top: 1rem;
  }
}

.p-data__row {
          align-items: center;
  border-bottom: 1px solid var(--l-gray-e);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  min-height: 5.4375rem;
  padding-block: 1.84375rem;
  padding-inline: 1.25rem 5.3125rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-data__row {
            align-items: flex-start;
            flex-direction: column;
    gap: 0.5rem;
    height: unset;
    padding: 1.25rem 0.3125rem;
        -ms-flex-align: start;
        -ms-flex-direction: column;
    -webkit-box-align: start;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-data__dt {
  color: var(--c-main);
      flex-shrink: 0;
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
  white-space: nowrap;
  width: 6.1875rem;
  -ms-flex-negative: 0;
}
@media screen and (max-width: 768px) {
  .p-data__dt {
    font-size: 0.875rem;
    width: auto;
  }
}

.p-data__dd {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-data__dd {
    font-size: 0.875rem;
  }
}

/* ---------------------------------------------
 * 役員紹介
 * --------------------------------------------- */
.p-data__officers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 2.0625rem;
  margin-top: 1.25rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-data__officers {
    margin-top: 1.25rem;
  }
}

.p-data__officer-role {
  border-bottom: 0.1875rem solid var(--l-blue-e);
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
  padding: 0.75rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-data__officer-role {
    line-height: 1;
    padding: 0.625rem 0.3125rem;
  }
}

.p-data__officer-names {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 0.625rem;
  margin-top: 0.9375rem;
  padding-inline: 1.25rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-data__officer-names {
    gap: 0.3125rem;
    margin-top: 0.625rem;
    padding-inline: 0.3125rem;
  }
}

.p-data__officer-name {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-data__officer-name {
    font-size: 0.875rem;
    line-height: 1;
  }
}

/* ---------------------------------------------
 * 事業所一覧
 * --------------------------------------------- */
.p-data__offices-lead {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 1.8;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-data__offices-lead {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.p-data__offices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 6.25rem;
  margin-top: 3.125rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-data__offices {
    gap: 3.75rem;
    margin-top: 2.5rem;
  }
}

.p-data__office {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-data__office {
            flex-direction: column;
    gap: 1.5rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-data__office-body {
  max-width: 34.1875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-data__office-body {
    width: 100%;
  }
}

.p-data__office-name {
  border-bottom: 0.1875rem solid var(--l-blue-e);
  color: var(--blue-0);
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.8;
  padding-block: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .p-data__office-name {
    font-size: 1.25rem;
    letter-spacing: 0.1em;
  }
}

.p-data__office-detail {
  color: var(--c-main);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  gap: 0.625rem;
  letter-spacing: 0.18em;
  line-height: 1.9;
  margin-top: 1rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-data__office-detail {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
  }
}

.p-data__office-items-ttl {
  font-weight: 700;
}

.p-data__iso-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 0.3125rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}

.p-data__iso {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

.p-data__iso::before {
  background: var(--gradient-c);
  border-radius: 50%;
  content: "";
      flex-shrink: 0;
  height: 0.625rem;
  width: 0.625rem;
  -ms-flex-negative: 0;
}

.p-data__office-note {
  font-size: max(0.8125rem, 9px);
  letter-spacing: 0.18em;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 768px) {
  .p-data__office-note {
    font-size: 0.75rem;
    letter-spacing: 0.1em;
  }
}

.p-data__office-map {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1;
          flex-direction: column;
  gap: 1.875rem;
      -ms-flex: 1;
      -ms-flex-align: center;
      -ms-flex-direction: column;
  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-flex: 1;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-data__office-map {
    gap: 1.25rem;
    width: 100%;
  }
}

.p-data__map {
  max-width: 25rem;
  width: 100%;
}

.p-data__map iframe {
  aspect-ratio: 464/279;
  border-radius: 0.625rem;
  display: block;
  height: auto;
  width: 100%;
}

/* ---------------------------------------------
 * 「Google mapで印刷する」ボタン（このページ専用 / PCのみ）
 * c-product-btn をベースに、印刷アイコン・幅・字間を調整。
 * SP（タブレット含む）は印刷ポップアップが不安定なため非表示。
 * --------------------------------------------- */
.p-data .c-product-btn--print {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
          justify-content: center;
  max-width: 20.375rem;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-data .c-product-btn--print {
    display: none;
  }
}

.p-data .c-product-btn--print::before {
  height: calc(100% - 0.25rem);
  width: calc(100% - 0.25rem);
}

.p-data .c-product-btn--print .c-product-btn__txt {
  line-height: 1.6;
  max-width: none;
  white-space: nowrap;
}

.p-data .c-product-btn--print .c-product-btn__icon {
  background: url(../img/icon/icon_print.svg) no-repeat center/contain;
  display: block;
      flex-shrink: 0;
  height: 1.5rem;
  position: relative;
  width: 1.5rem;
  z-index: 2;
  -ms-flex-negative: 0;
}

@media (any-hover: hover) {
  .p-data .c-product-btn--print:hover {
    background-size: 100% 100%;
    opacity: 0.7;
  }
  .p-data .c-product-btn--print:hover::before {
    opacity: 1;
  }
  .p-data .c-product-btn--print:hover .c-product-btn__txt {
    background-clip: text;
    background-image: var(--gradient-c);
    color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.p-data__movie {
  margin-inline: auto;
  margin-top: 7.5rem;
  max-width: 59.375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-data__movie {
    margin-top: 5rem;
  }
}

.p-data__movie iframe {
  aspect-ratio: 950/534;
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.p-eco {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-eco {
    padding-top: 5rem;
  }
}

.p-eco__inner {
  container-type: inline-size;
  max-width: 62.5rem;
}

.p-eco__nav-list {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, 1fr);
  list-style: none;
  margin-inline: auto;
  max-width: 65.125rem;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .p-eco__nav-list {
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fill, 16.875rem);
            justify-content: center;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}
@container (min-width: 470px) {
  .p-eco__nav-list {
    grid-template-columns: repeat(2, minmax(15.3125rem, 20.625rem));
  }
}
@container (min-width: 736px) {
  .p-eco__nav-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-eco__nav-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-eco__nav-link {
          align-items: center;
  background: var(--l-blue-e);
  border: 0.0625rem solid var(--l-gray-e);
  border-radius: 0.3125rem;
  color: var(--blue-0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1;
  gap: 1rem;
  padding-block: 0.5625rem;
  padding-inline: 1.25rem 2.5rem;
  position: relative;
  transition: all 0.3s ease;
      -ms-flex: 1;
      -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-box-flex: 1;
  -webkit-transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-eco__nav-link {
    gap: 0.3125rem;
    padding-block: 0.5rem;
    padding-inline: 0.9375rem 1.5625rem;
  }
}

.p-eco__nav-link::after {
  background-image: url(../img/icon/arrow_down-bl.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
          flex: none;
  height: 0.9375rem;
  margin-left: auto;
  position: absolute;
  right: 1.25rem;
  top: 50%;
          transform: translateY(-50%);
  transition: all 0.3s ease;
  width: 0.875rem;
      -ms-flex: none;
  -webkit-box-flex: 0;
  -webkit-transform: translateY(-50%);
  -webkit-transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-eco__nav-link::after {
    height: 0.75rem;
    right: 0.625rem;
    width: 0.625rem;
  }
}

.p-eco__nav-num {
          align-items: center;
  background: var(--white);
  border-radius: 50%;
  color: var(--blue-0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: none;
  font-family: var(--font-en);
  font-size: 1.25rem;
  font-weight: 500;
  height: 2rem;
          justify-content: center;
  line-height: 1;
  width: 2rem;
      -ms-flex: none;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-flex: 0;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-eco__nav-num {
    font-size: 1.125rem;
    height: 1.75rem;
    width: 1.75rem;
  }
}

.p-eco__nav-ttl {
  color: var(--blue-0);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4;
  transition: 0.3 ease;
  -webkit-transition: 0.3 ease;
}
@media screen and (max-width: 768px) {
  .p-eco__nav-ttl {
    font-size: 0.875rem;
  }
}

@media (any-hover: hover) {
  .p-eco__nav-link:hover {
    background: var(--blue-0);
  }
  .p-eco__nav-link:hover .p-eco__nav-ttl {
    color: var(--white);
  }
  .p-eco__nav-link:hover::after {
    background-image: url(../img/icon/arrow_down-wh.svg);
  }
}
.p-eco__nav + .p-eco__sec {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-eco__nav + .p-eco__sec {
    margin-top: 3.125rem;
  }
}

.p-eco__sec + .p-eco__sec {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-eco__sec + .p-eco__sec {
    margin-top: 3.125rem;
  }
}

.p-eco__sec:nth-of-type(2) {
  margin-top: 6.375rem;
}
@media screen and (max-width: 768px) {
  .p-eco__sec:nth-of-type(2) {
    margin-top: 3.125rem;
  }
}

.p-eco__sec > * + * {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-eco__sec > * + * {
    margin-top: 1.5rem;
  }
}

.p-eco__sec > .p-eco__sub-ttl {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-eco__sec > .p-eco__sub-ttl {
    margin-top: 1.25rem;
  }
}

.p-eco__sec > .p-eco__diagram,
.p-eco__sec > .p-eco__mark {
  margin-top: 2.5rem;
}

.p-eco__sec > .p-eco__items {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-eco__sec > .p-eco__items {
    margin-top: 2.5rem;
  }
}

.p-eco__btns {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-eco__btns {
    margin-top: 3.125rem;
  }
}

.p-eco__sec > .p-eco__callout {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .p-eco__sec > .p-eco__callout {
    margin-top: 3.125rem;
  }
}

.p-eco__sec:nth-of-type(6) > .p-eco__fig {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .p-eco__sec:nth-of-type(6) > .p-eco__fig {
    margin-top: 2.5rem;
  }
}

.p-eco__sec:nth-of-type(6) > .p-eco__fig + .p-eco__sub-ttl {
  margin-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .p-eco__sec:nth-of-type(6) > .p-eco__fig + .p-eco__sub-ttl {
    margin-top: 2.5rem;
  }
}

.p-eco__sec-ttl {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-eco__sec-ttl {
    gap: 0.625rem;
    line-height: 1.6;
    padding-left: 0.625rem;
    padding-right: 0.3125rem;
  }
}

.p-eco__sec-num {
          align-items: center;
  background: var(--white);
  border-radius: 50%;
  color: var(--blue-0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: none;
  font-family: var(--font-en);
  font-size: 1.5rem;
  font-weight: 500;
  height: 3.125rem;
          justify-content: center;
  line-height: 1;
  width: 3.125rem;
      -ms-flex: none;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-flex: 0;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-eco__sec-num {
    font-size: 1.25rem;
    height: 2.5rem;
    width: 2.5rem;
  }
}

.p-eco__sub-ttl + .p-eco__txt {
  margin-top: 1.5rem;
}

.p-eco__txt {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-eco__txt {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.p-eco__sec:nth-of-type(3) > p.p-eco__txt:nth-of-type(2) {
  margin-top: 1.25rem;
}

.p-eco__sec:nth-of-type(3) > p.p-eco__txt:nth-of-type(3) {
  margin-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .p-eco__sec:nth-of-type(3) > p.p-eco__txt:nth-of-type(3) {
    margin-top: 1.875rem;
  }
}

.p-eco__caption {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-eco__caption {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
  }
}

.p-eco__caption + .p-eco__fig {
  margin-top: 2.6875rem;
}
@media screen and (max-width: 768px) {
  .p-eco__caption + .p-eco__fig {
    margin-top: 1.875rem;
  }
}

.p-eco__media {
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.875rem;
      -ms-flex-align: start;
  -webkit-box-align: start;
}
@media screen and (max-width: 768px) {
  .p-eco__media {
            flex-direction: column;
    gap: 1.25rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-eco__media-body {
          flex: 1;
  max-width: 35.875rem;
  width: 100%;
      -ms-flex: 1;
  -webkit-box-flex: 1;
}

.p-eco__item .p-eco__media-body {
  max-width: 40.0625rem;
}

.p-eco__item .p-eco__media {
  gap: 6.5625rem;
}
@media screen and (max-width: 768px) {
  .p-eco__item .p-eco__media {
    gap: 1.25rem;
  }
}

.p-eco__media-img {
  border-radius: 0.625rem;
          flex: none;
  overflow: hidden;
      -ms-flex: none;
  -webkit-box-flex: 0;
}
@media screen and (max-width: 768px) {
  .p-eco__media-img {
    margin-inline: auto;
    width: 100%;
  }
}

.p-eco__media-img--sm {
  max-width: 25.875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-eco__media-img--sm {
    max-width: 25rem;
  }
}

.p-eco__media-img--xs {
  max-width: 18.125rem;
}
@media screen and (max-width: 768px) {
  .p-eco__media-img--xs {
    max-width: 18.75rem;
  }
}

.p-eco__media-img--md {
  max-width: 18rem;
  width: 100%;
}

.p-eco__media-img img {
  display: block;
  height: auto;
  width: 100%;
}

.p-eco__fig.p-eco__fig--lg {
  margin-top: 5.8125rem;
}
@media screen and (max-width: 768px) {
  .p-eco__fig.p-eco__fig--lg {
    margin-top: 2.5rem;
  }
}

.p-eco__fig {
  margin-top: 4.375rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-eco__fig {
    margin-top: 3.125rem;
  }
}

.p-eco__fig img {
  display: block;
  height: auto;
  margin-inline: auto;
  max-width: var(--fig-mw, 59.375rem);
  width: 100%;
}

.p-eco__fig--md img {
  max-width: 30.1875rem;
}

.p-eco__fig--lg img {
  max-width: 52.5rem;
}

@media screen and (max-width: 768px) {
  .p-eco__fig picture img {
    max-width: 28.125rem;
  }
}

@media screen and (max-width: 768px) {
  .p-eco__fig--scroll {
    overflow-x: auto;
    text-align: left;
    -webkit-overflow-scrolling: touch;
  }
}

@media screen and (max-width: 768px) {
  .p-eco__fig--scroll img {
    margin-inline: 0;
    max-width: none;
    width: 40.625rem;
  }
}

.p-eco__diagram > * + * {
  margin-top: 1.25rem;
}

.p-eco__diagram-ttl {
  color: var(--c-main);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-eco__diagram-ttl {
    letter-spacing: 0.1em;
  }
}

.p-eco__sec > .p-eco__diagram:nth-of-type(1) {
  margin-top: 1.5625rem;
}

.p-eco__diagram:nth-of-type(1) > .p-eco__fig {
  margin-top: 2.125rem;
}

.p-eco__sec > .p-eco__diagram:nth-of-type(2),
.p-eco__sec > .p-eco__diagram:nth-of-type(3) {
  margin-top: 3.125rem;
}

.p-eco__diagram:nth-of-type(2) > .p-eco__fig {
  margin-top: 2.0625rem;
}

.p-eco__diagram:nth-of-type(3) > .p-eco__fig {
  margin-top: 4.375rem;
}

.p-eco__scroll {
  margin-top: 1.875rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 768px) {
  .p-eco__scroll {
    margin-top: 1.5rem;
  }
}

.p-eco__table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-eco__table {
    margin-inline: auto;
    min-width: 40.625rem;
    table-layout: auto;
  }
}

.p-eco__table + .p-eco__table {
  margin-top: 1.25rem;
}

.p-eco__th,
.p-eco__td {
  border-bottom: 0.0625rem solid var(--l-gray-e);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  height: 5.125rem;
  letter-spacing: 0.17em;
  line-height: 1.8;
  padding: 1.125rem;
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .p-eco__th,
  .p-eco__td {
    font-size: 0.8125rem;
    height: 3.4375rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
    padding: 0.625rem;
  }
}

.p-eco__th {
  background: var(--l-blue-f);
  font-weight: 700;
}

.p-eco__table thead .p-eco__th {
  border-top: 0.0625rem solid var(--l-gray-e);
}

.p-eco__th--row {
  background: var(--white);
  font-weight: 500;
}

.p-eco__th--center {
  text-align: center;
}

.p-eco__callout {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-eco__callout {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 768px) {
  .p-eco__col-step {
    width: 30%;
  }
}

@media screen and (max-width: 768px) {
  .p-eco__col-old {
    width: 40%;
  }
}

@media screen and (max-width: 768px) {
  .p-eco__col-new {
    width: 37%;
  }
}

@media screen and (max-width: 768px) {
  .p-eco__col-method {
    width: 40%;
  }
}

@media screen and (max-width: 768px) {
  .p-eco__col-co2 {
    width: 30%;
  }
}

@media screen and (max-width: 768px) {
  .p-eco__col-index {
    width: 30%;
  }
}

.p-eco__mark {
          align-items: center;
  background: var(--l-blue-e);
  border-radius: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  margin-top: 1.875rem;
  padding: 2.5rem 5.3125rem 3.125rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-eco__mark {
            align-items: stretch;
            flex-direction: column;
    gap: 1.25rem;
    padding: 1.5rem 5.1282051282vw;
        -ms-flex-align: stretch;
        -ms-flex-direction: column;
    -webkit-box-align: stretch;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-eco__mark-body {
          flex: 1;
      -ms-flex: 1;
  -webkit-box-flex: 1;
}

.p-eco__mark-catch {
  color: var(--blue-0);
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-eco__mark-catch {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
  }
}

.p-eco__mark-ttl {
  color: var(--c-main);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-eco__mark-ttl {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
  }
}

.p-eco__mark-ttl + .p-eco__txt {
  margin-top: 0.625rem;
}

.p-eco__mark-img {
          align-items: center;
  background: var(--white);
  border-radius: 0.3125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: none;
  height: 11.25rem;
          justify-content: center;
  width: 18.125rem;
      -ms-flex: none;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-flex: 0;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-eco__mark-img {
    margin-inline: auto;
    max-width: 100%;
    width: 100%;
  }
}

.p-eco__mark-img img,
.p-eco__mark-img picture {
  display: block;
  height: auto;
  max-width: 100%;
     object-fit: contain;
  width: 10.3125rem;
  -o-object-fit: contain;
}

.p-eco__items {
  counter-reset: eco-item;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.p-eco__item {
  counter-increment: eco-item;
}

.p-eco__item + .p-eco__item {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-eco__item + .p-eco__item {
    margin-top: 2.5rem;
  }
}

.p-eco__item .p-eco__sub-ttl::before {
  content: counter(eco-item) ". ";
}

.p-eco__item > * + * {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-eco__item > * + * {
    margin-top: 1.25rem;
  }
}

.p-eco__item:nth-of-type(3) .p-eco__media {
  margin-top: 1.875rem;
}

.p-eco__item:nth-of-type(3) > .p-eco__txt {
  margin-top: 3.125rem;
}

.p-eco__item:nth-of-type(3) > .p-eco__fig {
  margin-top: 3.125rem;
}

.p-eco__item:nth-of-type(4) {
  margin-top: 2.5rem;
}

.p-eco__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}

.p-footer {
  padding-top: 9.1875rem;
}
@media screen and (max-width: 768px) {
  .p-footer {
    padding-top: 7.6875rem;
  }
}

.p-footer__inner {
  max-width: 83.5625rem;
}
@media screen and (max-width: 768px) {
  .p-footer__inner {
    container-type: inline-size;
    padding-inline: 1.5625rem;
    position: relative;
  }
}

.p-footer__bnr-list {
  display: grid;
  gap: 1.375rem;
  grid-template-columns: repeat(auto-fill, minmax(22.375rem, 1fr));
  margin-inline: auto;
  max-width: 70rem;
}
@media screen and (max-width: 768px) {
  .p-footer__bnr-list {
    gap: 1.0625rem 1.375rem;
    grid-template-columns: repeat(auto-fill, minmax(21.25rem, 1fr));
    place-items: center;
  }
}

.p-footer__bnr-item {
  max-width: 22.375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-footer__bnr-item {
    max-width: 21.25rem;
  }
}

.p-footer__bnr-link {
  display: block;
  height: 100%;
  width: 100%;
}

.p-footer__bnr-link img {
  aspect-ratio: 358/166;
  height: 100%;
     object-fit: contain;
  -o-object-fit: contain;
}

@media (any-hover: hover) {
  .p-footer__bnr-link:hover {
    opacity: 0.7;
  }
}
.p-footer__pagetop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: flex-end;
  margin-top: 5.5rem;
      -ms-flex-pack: end;
  -webkit-box-pack: end;
}
@media screen and (max-width: 768px) {
  .p-footer__pagetop {
    bottom: 4%;
    position: absolute;
    right: 1.5625rem;
  }
}

.p-footer__pagetop-btn {
          align-items: center;
  background-color: var(--blue-2);
  border: 0.125rem solid var(--blue-2);
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 4.5rem;
          justify-content: center;
  position: relative;
  width: 4.5rem;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-footer__pagetop-btn {
    height: 4.625rem;
    width: 4.625rem;
    z-index: 100;
  }
}

.p-footer__pagetop-btn img {
  display: block;
}

@media (any-hover: hover) {
  .p-footer__pagetop-btn::after {
    background-image: url(../img/icon/arrow_top-bl.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 0.4375rem;
    left: 50%;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
            transform: translate(-50%, -50%);
    width: 0.8125rem;
    -webkit-transform: translate(-50%, -50%);
  }
  .p-footer__pagetop-btn:hover {
    background-color: var(--white);
  }
  .p-footer__pagetop-btn:hover img {
    opacity: 0;
  }
  .p-footer__pagetop-btn:hover::after {
    opacity: 1;
  }
}
.p-footer_nav-wrapper {
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: space-between;
  margin-top: -0.3125rem;
  padding-bottom: 1.5625rem;
      -ms-flex-align: end;
      -ms-flex-pack: justify;
  -webkit-box-align: end;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-footer_nav-wrapper {
        flex-wrap: wrap;
    margin-top: 5.25rem;
    max-width: 31.25rem;
    padding-bottom: 2.75rem;
    -ms-flex-wrap: wrap;
  }
}

.p-footer__logo {
  display: block;
  max-width: 16.625rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-footer__logo {
    max-width: min(62.8205128205vw, 300px);
  }
}

.p-footer__logo img {
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}

.p-footer__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.6875rem;
}
@media screen and (max-width: 768px) {
  .p-footer__nav-list {
            flex-direction: column;
    margin-top: 1.625rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-footer__nav-link {
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  letter-spacing: 0.2em;
  padding: 0.625rem 0.5625rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-footer__nav-link {
    display: block;
    font-size: 0.75rem;
    padding: 0.59375rem 0;
  }
}

.p-footer__nav-item:first-child .p-footer__nav-link {
  padding-left: 0;
}

@media (any-hover: hover) {
  .p-footer__nav-link:hover {
    color: var(--blue-0);
  }
}
.p-footer__sns {
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  top: 0.25rem;
      -ms-flex-align: end;
  -webkit-box-align: end;
}
@media screen and (max-width: 768px) {
  .p-footer__sns {
        flex-wrap: wrap;
    gap: 0rem 1rem;
    margin-top: 1.6875rem;
    max-width: 25rem;
    -ms-flex-wrap: wrap;
  }
  @container (min-width: 550px) {
    .p-footer__sns {
      margin-top: 0;
      max-width: 28.125rem;
    }
  }
}

.p-footer__sns-link {
  display: block;
  font-weight: 500;
  letter-spacing: 0.2em;
  width: 100%;
}

@media (any-hover: hover) {
  .p-footer__sns-link:hover {
    opacity: 0.7;
  }
}
.p-footer__sns-link--x {
  max-width: 2.1875rem;
  padding-inline: 0.40625rem;
}
@media screen and (max-width: 768px) {
  .p-footer__sns-link--x {
    height: 1.6875rem;
    padding-inline: 0;
    width: 1.6875rem;
  }
}

.p-footer__sns-link--instagram {
  max-width: 2.5rem;
  padding-inline: 0.46875rem;
}
@media screen and (max-width: 768px) {
  .p-footer__sns-link--instagram {
    height: 1.6875rem;
    padding-inline: 0;
    width: 1.6875rem;
  }
}

.p-footer__sns-link--line {
  max-width: 2.5rem;
  padding-inline: 0.46875rem;
}
@media screen and (max-width: 768px) {
  .p-footer__sns-link--line {
    height: 1.6875rem;
    padding-inline: 0;
    width: 1.6875rem;
  }
}

.p-footer__sns-link--youtube {
  max-width: 2.8125rem;
  padding-inline: 0.46875rem;
}
@media screen and (max-width: 768px) {
  .p-footer__sns-link--youtube {
    height: 1.6875rem;
    padding-inline: 0;
    width: 1.6875rem;
  }
}

.p-footer__sns-link--facebook {
  max-width: 2.5rem;
  padding-inline: 0.28125rem;
}
@media screen and (max-width: 768px) {
  .p-footer__sns-link--facebook {
    height: 1.6875rem;
    padding-inline: 0;
    width: 1.6875rem;
  }
}

.p-footer__sns-link--bnr {
  margin-left: 0.5625rem;
  max-width: 13.125rem;
}
@media screen and (max-width: 768px) {
  .p-footer__sns-link--bnr {
    margin-left: 0;
    margin-top: 1rem;
    max-width: 12.5625rem;
  }
}

.p-footer__sns-link img {
  height: 100%;
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}

@media screen and (max-width: 768px) {
  .p-footer__middle-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4.0625rem;
    margin-top: 0.25rem;
  }
}

.p-footer__bottom {
  background-color: var(--blue-2);
  color: var(--white);
  padding-block: 0.78125rem;
}
@media screen and (max-width: 768px) {
  .p-footer__bottom {
    padding-block: 1.5625rem 0.875rem;
  }
}

.p-footer__bottom-inner {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: space-between;
  margin-inline: auto;
  max-width: 83.4375rem;
  padding-inline: 1.7361111111vw;
  width: 100%;
      -ms-flex-align: center;
      -ms-flex-pack: justify;
  -webkit-box-align: center;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-footer__bottom-inner {
            align-items: flex-start;
    container-type: inline-size;
            flex-direction: column;
    max-width: 40.625rem;
    padding-inline: 1.5625rem;
        -ms-flex-align: start;
        -ms-flex-direction: column;
    -webkit-box-align: start;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

@media screen and (max-width: 768px) {
  .p-footer__bottom-nav {
    margin-inline: auto;
  }
}

.p-footer__bottom-nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5694444444vw;
}
@media screen and (max-width: 768px) {
  .p-footer__bottom-nav-list {
        flex-wrap: wrap;
    gap: 0rem 2.0625rem;
    max-width: 25.625rem;
    -ms-flex-wrap: wrap;
  }
  @container (min-width:430px) {
    .p-footer__bottom-nav-list {
              justify-content: center;
          -ms-flex-pack: center;
      -webkit-box-pack: center;
    }
  }
  @container (min-width: 570px) {
    .p-footer__bottom-nav-list {
      max-width: 37.5rem;
    }
  }
}

.p-footer__bottom-link {
  display: inline-block;
  font-size: max(0.625rem, 8px);
  font-weight: 500;
  letter-spacing: 0.2em;
  padding-block: 0.625rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-footer__bottom-link {
    font-size: 0.75rem;
    line-height: 1.6;
    padding-block: 0.3125rem;
  }
}

.p-footer__bottom-link::after {
  background-color: var(--white);
  bottom: 0.3125rem;
  content: "";
  display: block;
  height: 0.0625rem;
  left: 0;
  pointer-events: none;
  position: absolute;
          transform: scaleX(0);
          transform-origin: left bottom;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 100%;
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: left bottom;
  -webkit-transition: -webkit-transform 0.3s;
}

.p-footer__bottom-link:hover::after,
.p-footer__bottom-link:focus-visible::after {
          transform: scaleX(1);
  -webkit-transform: scaleX(1);
}

.p-footer__copyright {
  font-size: max(0.625rem, 8px);
  font-weight: 500;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .p-footer__copyright {
        align-self: center;
    font-size: 0.625rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-top: 1.5625rem;
    -ms-flex-item-align: center;
  }
}

.p-header {
  background-color: var(--white);
  height: 7.0625rem;
  padding-inline: 5.9027777778vw 4.1666666667vw;
}
@media screen and (max-width: 768px) {
  .p-header {
    height: 5.125rem;
    padding-inline: 1.5625rem 1.25rem;
  }
}

.p-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
          justify-content: space-between;
      -ms-flex-pack: justify;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-header__inner {
    padding: 0;
  }
}

.p-header__logo {
  height: inherit;
  max-width: max(20.4166666667vw, 210px);
  width: 100%;
}
@media screen and (min-width: 1441px) {
  .p-header__logo {
    max-width: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .p-header__logo {
        flex-shrink: 0;
    max-width: min(62.8205128205vw, 300px);
    -ms-flex-negative: 0;
  }
}

.p-header__logo > a {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

.p-header__logo img {
  height: 100%;
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}

.p-header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin-block: auto;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-header__nav {
    display: none;
  }
}

/********************************
上段
*********************************/
.p-header__top-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
          justify-content: flex-end;
      -ms-flex-pack: end;
  -webkit-box-pack: end;
}

.p-header__top-nav-item {
  height: inherit;
}

.p-header__top-nav-item--brand {
  position: relative;
}

.p-header__top-nav-link {
          align-items: center;
  color: var(--gray-89);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  gap: 0.1875rem;
  letter-spacing: 0.2em;
  padding-block: 0.625rem;
  padding-inline: 0.84375rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

.p-header__top-nav-link::before {
  background-image: contain;
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: block;
}

.p-header__top-nav-item:first-child .p-header__top-nav-link::before {
  background-image: url(../img/icon/icon_memo.svg);
  height: 1.0625rem;
  width: 0.5625rem;
}

.p-header__top-nav-item:nth-child(2) .p-header__top-nav-link::before {
  background-image: url(../img/icon/icon_cart.svg);
  height: 0.6875rem;
  width: 0.75rem;
}

.p-header__top-nav-item:nth-child(3) .p-header__top-nav-link::before {
  background-image: url(../img/icon/icon_site.svg);
  height: 0.625rem;
  width: 0.75rem;
}

@media (any-hover: hover) {
  .p-header__top-nav-link:hover {
    color: var(--blue-0);
  }
  .p-header__top-nav-item:first-child .p-header__top-nav-link:hover::before {
    background-image: url(../img/icon/icon_memo-b.svg);
  }
  .p-header__top-nav-item:nth-child(2) .p-header__top-nav-link:hover::before {
    background-image: url(../img/icon/icon_cart-b.svg);
  }
  .p-header__top-nav-item:nth-child(3) .p-header__top-nav-link:hover::before {
    background-image: url(../img/icon/icon_site-b.svg);
  }
}
.is-brand-modal-open .p-header__top-nav-item--brand .p-header__top-nav-link {
  color: var(--blue-0);
}

.is-brand-modal-open .p-header__top-nav-item--brand .p-header__top-nav-link::before {
  background-image: url(../img/icon/icon_site-b.svg);
}

/********************************
下段
*********************************/
.p-header__main-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: inherit;
  margin-top: 0.25rem;
}

.p-header__nav-item {
  height: inherit;
}

.p-header__nav-link {
          align-items: center;
  color: var(--c-main);
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  gap: 0.3125rem;
  height: inherit;
  letter-spacing: 0.2em;
  line-height: 1;
  padding: 0.625rem 0.7986111111vw;
  position: relative;
  transition: 0.3s;
      -ms-flex-align: center;
  -webkit-box-align: center;
  -webkit-transition: 0.3s;
}

.p-header__nav-item--dropdown .p-header__nav-link::after,
.p-header__nav-item--external .p-header__nav-link::after {
  background-image: url(../img/icon/arrow_down.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.3125rem;
  width: 0.5625rem;
}

.p-header__nav-item--external .p-header__nav-link::after {
  background-image: url(../img/icon/icon_ex-dark.svg);
  height: 1.0625rem;
  width: 1.125rem;
}

@media (any-hover: hover) {
  .p-header__nav-link:hover {
    color: var(--blue-0);
  }
}
/********************************
drop down menu
*********************************/
.p-header__nav-item--dropdown {
  position: relative;
}

.p-header__nav-item--dropdown a.clicked {
  background: var(--blue-0);
  color: var(--c-main);
}

.p-header__nav-item--dropdown a.clicked::after {
  background: none;
}

.p-header__nav-dropdown {
  background: var(--white);
  border: rgba(137, 137, 137, .95) solid 0.0625rem;
  border-radius: 0.5rem;
  display: block;
  left: -6%;
  opacity: 0;
  padding-block: 0.71875rem 1.03125rem;
  padding-inline: 1.375rem 1.1875rem;
  position: absolute;
  top: 140%;
  transition: visibility 0s linear 0.5s, opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: visibility 0s linear 0.5s, opacity 0.5s ease, transform 0.5s ease;
  transition: visibility 0s linear 0.5s, opacity 0.5s ease, transform 0.5s ease, -webkit-transform 0.5s ease;
  visibility: hidden;
  width: 16rem;
  -webkit-transition: visibility 0s linear 0.5s, opacity 0.5s ease, -webkit-transform 0.5s ease;
}

.p-header__nav-item--dropdown:hover .p-header__nav-dropdown,
.p-header__nav-item--dropdown.is-open .p-header__nav-dropdown {
  opacity: 1;
          transition-delay: 0s;
  visibility: visible;
  -webkit-transition-delay: 0s;
}

.p-header__nav-dropdown > li > a {
  color: var(--c-main);
  cursor: pointer;
  display: block;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1;
  padding-block: 0.5rem;
  position: relative;
  transition: all 0.3s;
  transition: 0.3s ease;
  width: 100%;
  -webkit-transition: all 0.3s;
  -webkit-transition: 0.3s ease;
}

@media (any-hover: hover) {
  .p-header__nav-dropdown > li > a:hover {
    color: var(--blue-0);
  }
}
/********************************
SP menu
*********************************/
.p-header__hamburger {
  border: none;
  cursor: pointer;
  display: none;
  height: inherit;
  margin: 0;
  outline: none;
  padding: 0;
  position: relative;
  transition: 0.3s;
  width: 2.5rem;
  z-index: 999;
  -webkit-transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .p-header__hamburger {
    display: block;
  }
}

.p-header__hamburger span {
  background: var(--black-0);
  display: block;
  height: 1px;
  left: 50%;
  position: relative;
          transform: translateX(-50%);
  transition: 0.3s;
  width: 1.875rem;
  -webkit-transform: translateX(-50%);
  -webkit-transition: 0.3s;
}

.p-header__hamburger span:nth-of-type(1) {
  top: -0.4375rem;
}

.p-header__hamburger span:nth-of-type(2) {
  top: 0;
}

.p-header__hamburger span:nth-of-type(3) {
  top: 0.4375rem;
}

.p-header__hamburger.is-open span:nth-of-type(1) {
  top: 0.125rem;
          transform: translateX(-50%) rotate(30deg);
  -webkit-transform: translateX(-50%) rotate(30deg);
}

.p-header__hamburger.is-open span:nth-of-type(2) {
  opacity: 0;
}

.p-header__hamburger.is-open span:nth-of-type(3) {
  top: 0;
          transform: translateX(-50%) rotate(-30deg);
  -webkit-transform: translateX(-50%) rotate(-30deg);
}

.p-header__drawer {
  background-color: var(--white);
  bottom: 0;
  display: none;
  min-height: 100vh;
  overflow-y: scroll;
  padding: 1rem 6.4102564103vw 3.1875rem;
  position: absolute;
  right: 0;
  scrollbar-width: none;
  top: 5.125rem;
          transform: translateX(0);
  width: 100%;
  z-index: 900;
  -webkit-transform: translateX(0);
}

.p-header__drawer::-webkit-scrollbar {
  display: none;
}

.p-header__drawer-item {
  border-bottom: var(--l-gray-e) solid 0.0625rem;
}

.p-header__drawer-item-link {
          align-items: center;
  color: var(--c-main);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 1.125rem;
  font-weight: 500;
  gap: 0.1875rem;
  letter-spacing: 0.18em;
  line-height: 1.6;
  padding: 1.5rem 1.25rem 1.5rem 2.1875rem;
  position: relative;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

button.p-header__drawer-item-link {
  background: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  width: 100%;
}

.p-header__drawer-item--accordion .p-header__drawer-item-head {
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: space-between;
      -ms-flex-align: stretch;
      -ms-flex-pack: justify;
  -webkit-box-align: stretch;
  -webkit-box-pack: justify;
}

.p-header__drawer-item-toggle {
      align-self: stretch;
  background: none;
  border: none;
  cursor: pointer;
          flex: 0 0 auto;
  position: relative;
  width: 4rem;
      -ms-flex: 0 0 auto;
  -ms-flex-item-align: stretch;
  -webkit-box-flex: 0;
}

.p-header__drawer-item-toggle::after {
  aspect-ratio: 5/10;
  background-image: url(../img/icon/arrow_down_bl0.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.9375rem;
  position: absolute;
  right: 2.0625rem;
  top: 50%;
          transform: translateY(-50%);
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 0.75rem;
  -webkit-transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.3s;
}

.p-header__drawer-item-toggle.is-open::after {
          transform: translateY(-50%) rotate(180deg);
  -webkit-transform: translateY(-50%) rotate(180deg);
}

.p-header__drawer-item--external .p-header__drawer-item-link::after {
  background-image: url(../img/icon/icon_ex.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.625rem;
  width: 0.9375rem;
}

.p-header__drawer-lists {
  border-top: var(--l-gray-e) solid 0.0625rem;
  padding-bottom: 0.75rem;
  padding-left: 1.5625rem;
  padding-top: 1rem;
}

.p-header__drawer-lists.js-drawer-closed {
  display: none;
}

.p-header__drawer-list-item > a {
  color: var(--c-main);
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.2em;
  line-height: 1.6;
  padding-block: 0.4375rem;
  padding-inline: 0.625rem;
}

/********************************
bottom nav
*********************************/
.p-header__drawer-bottom-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  margin-top: 0.9375rem;
  padding-left: 1.5625rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}

.p-header__drawer-bottom-nav-link {
  color: var(--c-main);
  display: block;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  padding: 1.5rem 2.1875rem;
}

.p-header__drawer-bottom-nav-link {
          align-items: center;
  color: var(--gray-89);
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 500;
  gap: 0.3125rem;
  letter-spacing: 0.2em;
  padding-block: 0.6875rem;
  padding-left: 0.625rem;
  padding-right: 1.25rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

.p-header__drawer-bottom-nav-link::before {
  background-image: contain;
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: block;
}

.p-header__drawer-bottom-nav-item:first-child .p-header__drawer-bottom-nav-link::before {
  background-image: url(../img/icon/icon_memo.svg);
  height: 1.125rem;
  width: 1.25rem;
}

.p-header__drawer-bottom-nav-item:nth-child(2) .p-header__drawer-bottom-nav-link::before {
  background-image: url(../img/icon/icon_cart.svg);
  height: 1.125rem;
  width: 1.25rem;
}

.p-header__drawer-bottom-nav-item:nth-child(3) .p-header__drawer-bottom-nav-link::before {
  background-image: url(../img/icon/icon_site.svg);
  height: 0.9375rem;
  width: 1.1875rem;
}

.p-header__drawer-bottom-nav-list {
  margin-left: 1.4375rem;
}

.p-header__drawer-bottom-nav-list-link {
          align-items: center;
  color: var(--gray-89);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 500;
  gap: 0.375rem;
  letter-spacing: 0.1em;
  line-height: 1.5833333333;
  padding-block: 0.25rem;
  padding-left: 0.625rem;
  padding-right: 1.25rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

.p-header__drawer-bottom-nav-list-link::after {
  background-image: url(../img/icon/icon_ex.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.625rem;
  width: 0.9375rem;
}

.p-history {
  padding-bottom: 0.25rem;
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-history {
    padding-bottom: 0.625rem;
    padding-top: 5rem;
  }
}

.p-history__inner {
  max-width: 62.5rem;
}

@media screen and (max-width: 768px) {
  .p-history__inner {
    padding-right: 0;
  }
}

.p-history__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.p-history__scroll.is-active {
  padding-right: 0;
}

.p-history__body {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-history__body {
    margin-right: 6.4102564103vw;
    width: 41.75rem;
  }
}

.p-history__table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

.p-history__year,
.p-history__event {
  border: 0.0625rem solid var(--l-gray-e);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  height: 5.4375rem;
  letter-spacing: 0.18em;
  line-height: 1.6;
  padding: 1.75rem 1.25rem;
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .p-history__year,
  .p-history__event {
    font-size: 0.8125rem;
    height: unset;
    letter-spacing: 0.1em;
    padding: 0.9375rem;
    white-space: nowrap;
  }
}

.p-history__year {
  background: var(--l-blue-e);
  border-left: none;
  font-weight: 700;
  padding-top: 2.0625rem;
  vertical-align: baseline;
  white-space: nowrap;
  width: 13.75rem;
}
@media screen and (max-width: 768px) {
  .p-history__year {
    padding-top: 0.9375rem;
    width: 10rem;
  }
}

.p-history__table--main .p-history__event {
  border-right: none;
}

.p-history__table--origin .p-history__event:not(:last-child) {
  border-right: none;
}

.p-history__table--origin .p-history__event:last-child {
  border-left: 0.0625rem dashed var(--l-gray-e);
  border-right: none;
}

.p-history__connector {
  padding-block: 0.5rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-history__connector {
    padding-block: 0.375rem 0.625rem;
  }
}

.p-history__connector svg {
  display: block;
  height: auto;
  margin-left: calc(61.5% - 10.9375rem);
  max-width: 100%;
  width: 21.875rem;
}
@media screen and (max-width: 768px) {
  .p-history__connector svg {
    margin-left: calc(7.5rem + 25%);
    width: calc(50% - 5rem);
  }
}

.p-inquirydesk {
  padding-top: 10rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk {
    padding-top: 6.25rem;
  }
}

@media screen and (max-width: 768px) {
  .p-inquirydesk__inner {
    container-type: inline-size;
  }
}

.p-inquirydesk__nav-wrapper {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.375rem;
  margin-inline: auto;
  margin-top: 3.125rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__nav-wrapper {
        flex-wrap: wrap;
    gap: 1.25rem;
            justify-content: center;
    margin-top: 2.5rem;
        -ms-flex-pack: center;
    -ms-flex-wrap: wrap;
    -webkit-box-pack: center;
  }
}
@container (min-width:500px) {
  .p-inquirydesk__nav-wrapper {
        flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
  }
}

.p-inquirydesk__container {
  padding-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__container {
    padding-top: 5rem;
  }
}

.p-inquirydesk__container:nth-of-type(2) {
  padding-top: 7.375rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__container:nth-of-type(2) {
    padding-top: 6.25rem;
  }
}

.p-inquirydesk__container:nth-of-type(3) {
  padding-top: 5.875rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__container:nth-of-type(3) {
    padding-top: 3.75rem;
  }
}

.p-inquirydesk__wrapper {
  background-color: var(--l-blue-e);
  border-radius: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 1.875rem;
  margin-inline: auto;
  margin-top: 3.125rem;
  max-width: 59.375rem;
  padding: 3.125rem 3.75rem;
  width: 100%;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__wrapper {
    gap: 1.25rem;
    margin-top: 2.5rem;
    padding: 2.5rem 1.25rem;
  }
}

.p-inquirydesk__container:nth-of-type(3) .p-inquirydesk__wrapper:first-of-type {
  padding: 3.125rem 3.75rem 4.0625rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__container:nth-of-type(3) .p-inquirydesk__wrapper:first-of-type {
    padding: 2.5rem 1.25rem;
  }
}

.p-inquirydesk__wrapper:not(:first-of-type) {
  margin-top: 1.875rem;
}

.p-inquirydesk__heading-wrapper {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.625rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__heading-wrapper {
            align-items: flex-start;
        -ms-flex-align: start;
    -webkit-box-align: start;
  }
}

.p-inquirydesk__heading-icon {
      flex-shrink: 0;
  width: 5.375rem;
  -ms-flex-negative: 0;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__heading-icon {
    width: 2.8125rem;
  }
}

.p-inquirydesk__heading-icon--cart {
  margin-inline: 0.8125rem;
  width: 3.9375rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__heading-icon--cart {
    margin-right: 0;
    margin-top: 0.4375rem;
    width: 1.875rem;
  }
}

.p-inquirydesk__heading {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__heading {
    font-size: 1.25rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }
}

.p-inquirydesk__heading-txt {
  margin-top: 0.5rem;
}

.p-inquirydesk__link-bottom-txt {
  margin-top: 0.625rem;
}

.p-inquirydesk__link {
  background-color: var(--white);
  border: 1px solid var(--white);
  border-radius: 0.625rem;
  display: block;
  padding: 1.125rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__link {
    padding: 0.9375rem;
  }
}

@media (any-hover: hover) {
  .p-inquirydesk__link:hover {
    border: 1px solid var(--blue-0);
  }
}
.p-inquirydesk__link-inner {
  position: relative;
}

.p-inquirydesk__link-inner::after {
  aspect-ratio: 5/10;
  background-image: url(../img/icon/arrow_right-blue.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: 0rem;
  top: 50%;
          transform: translateY(-50%);
  width: 0.625rem;
  -webkit-transform: translateY(-50%);
}

.p-inquirydesk__link-inner {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__link-inner {
    gap: 0.3125rem;
  }
}

.p-inquirydesk__link-icon {
  width: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__link-icon {
    width: 2.1875rem;
  }
}

@media screen and (max-width: 768px) {
  .p-inquirydesk__link-bottom-txt {
    margin-top: 0.625rem;
  }
}

.p-inquirydesk__bg-wh {
  background: var(--white);
  border-radius: 0.625rem;
  padding: 1.25rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__bg-wh {
    padding: 1.25rem;
  }
}

.p-inquirydesk__tel-wrapper {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__tel-wrapper {
    gap: 0.3125rem;
  }
}

.p-inquirydesk__tel-icon {
  width: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__tel-icon {
    width: 2.1875rem;
  }
}

.p-inquirydesk__bg-bl {
          align-items: center;
  background-color: var(--l-blue-e);
  border-radius: 0.3125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0.625rem;
  padding: 1.875rem 3.375rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__bg-bl {
            flex-direction: column;
    padding: 1.25rem 0.9375rem 1.25rem 0.9375rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

@media screen and (max-width: 768px) {
  .p-inquirydesk__bg-bl.p-inquirydesk__bg-bl--address {
            align-items: flex-start;
    padding: 1.25rem 0.9375rem 1.25rem 3.8461538462vw;
        -ms-flex-align: start;
    -webkit-box-align: start;
  }
}

.p-inquirydesk__tel-number-link {
  display: inline-block;
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 180%;
  padding-right: 1.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__tel-number-link {
    font-size: 1.75rem;
    padding-bottom: 0.3125rem;
    padding-right: 0;
  }
}

.p-inquirydesk__tel-number-link::after {
  background-color: var(--l-gray-e);
  content: "";
  height: 4rem;
  position: absolute;
  right: 0;
  top: 50%;
          transform: translateY(-50%);
  width: 0.0625rem;
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__tel-number-link::after {
    bottom: 0;
    height: 1px;
    left: 50%;
    max-width: 46.875rem;
    right: unset;
    top: unset;
            transform: translateX(-50%);
    width: 58.9743589744vw;
    -webkit-transform: translateX(-50%);
  }
}

.p-inquirydesk__tel-txt-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__tel-txt-wrapper {
        flex-wrap: wrap;
    margin-top: 0.75rem;
    padding-left: 0;
    -ms-flex-wrap: wrap;
  }
}

.p-inquirydesk__tel-txt-item {
  font-size: max(0.875rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__tel-txt-item {
    font-size: 0.8125rem;
    line-height: 1.6;
  }
}

.p-inquirydesk__tel-txt-item-txt {
  font-size: max(0.875rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__tel-txt-item-txt {
    font-size: 0.8125rem;
    line-height: 1.6;
  }
}

.p-inquirydesk__tel-txt-item-txt:last-of-type {
  font-size: max(0.75rem, 8px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__tel-txt-item-txt:last-of-type {
    font-size: 0.625rem;
    line-height: 1.6;
  }
}

.p-inquirydesk__note-list {
  margin-top: 0.8125rem;
}

.p-inquirydesk__note-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-inquirydesk__note-item::before {
  content: "・";
  display: inline-block;
  padding-inline: 0.375rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__note-item::before {
    padding-inline: 0.25rem;
  }
}

@media screen and (max-width: 768px) {
  .p-inquirydesk__note-item:not(:first-of-type) {
    margin-top: 0.25rem;
  }
}

.p-inquirydesk__letter-wrapper {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__letter-wrapper {
    gap: 0.3125rem;
  }
}

.p-inquirydesk__letter-icon {
  width: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__letter-icon {
    width: 2.1875rem;
  }
}

.p-inquirydesk__letter-bottom-txt {
  margin-top: 0.625rem;
}

.p-inquirydesk__letter-bottom-link {
  color: var(--link-blue);
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}

@media (any-hover: hover) {
  .p-inquirydesk__letter-bottom-link:hover {
    opacity: 0.7;
  }
}
.p-inquirydesk__bg-bl-note {
  padding: 1.125rem 3.375rem;
}
@media screen and (max-width: 768px) {
  .p-inquirydesk__bg-bl-note {
            align-items: flex-start;
    padding: 1.125rem 1.25rem 1.125rem 3.8461538462vw;
        -ms-flex-align: start;
    -webkit-box-align: start;
  }
}

.p-inquirydesk img {
  height: auto;
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}

.p-laundry-tips {
  padding-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-laundry-tips {
    padding-top: 2.5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-laundry-tips__inner {
    container-type: inline-size;
  }
}

.p-laundry-tips__list {
  display: grid;
  gap: 3.125rem 1.875rem;
  grid-template-columns: repeat(auto-fill, minmax(0, 22.0625rem));
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-laundry-tips__list {
    gap: 2.5rem 1.25rem;
    grid-template-columns: minmax(0, 20.625rem);
            justify-content: center;
    margin-inline: auto;
    margin-top: 2.5rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
  @container (min-width: 500px) {
    .p-laundry-tips__list {
      grid-template-columns: repeat(2, minmax(0, 20.625rem));
    }
  }
}

.p-laundry-tips__pagination.c-pagination--center {
          justify-content: center;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}

.p-message {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-message {
    padding-top: 5rem;
  }
}

.p-message__inner {
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
  max-width: 62.5rem;
      -ms-flex-align: start;
  -webkit-box-align: start;
}
@media screen and (max-width: 768px) {
  .p-message__inner {
            flex-direction: column-reverse;
    gap: 1.5rem;
        -ms-flex-direction: column-reverse;
    -webkit-box-direction: reverse;
    -webkit-box-orient: vertical;
  }
}

.p-message__body {
          flex: 1;
  min-width: 0;
      -ms-flex: 1;
  -webkit-box-flex: 1;
}

.p-message__figure {
      flex-shrink: 0;
  width: 22.0625rem;
  -ms-flex-negative: 0;
}
@media screen and (max-width: 768px) {
  .p-message__figure {
    margin-inline: auto;
    max-width: 22.0625rem;
    width: 100%;
  }
}

.p-message__img {
  height: auto;
  width: 100%;
}

.p-message__name {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-top: 0.875rem;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .p-message__name {
    font-size: 1.125rem;
    text-align: center;
  }
}

.p-message__role {
  display: block;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-message__role {
    font-size: 0.875rem;
  }
}

.p-message__lead,
.p-message__txt {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-message__lead,
  .p-message__txt {
    font-size: 0.875rem;
  }
}

.p-message__block {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-message__block {
    margin-top: 1.875rem;
  }
}

.p-message__ttl {
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .p-message__ttl {
    font-size: 1.25rem;
    margin-bottom: 0.75rem;
  }
}

.p-news {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-news {
    padding-top: 5rem;
  }
}

.p-news__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: space-between;
      -ms-flex-pack: justify;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-news__container {
            flex-direction: column;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-news__btn-wrapper {
  margin-top: -0.5rem;
  width: 9.0625rem;
}
@media screen and (max-width: 768px) {
  .p-news__btn-wrapper {
    margin-top: 0;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .p-news__tag-list {
    display: grid;
    gap: 0.375rem 1.0256410256vw;
    grid-template-columns: repeat(auto-fill, 10.5rem);
            justify-content: center;
    justify-items: start;
    width: 100%;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.p-news__tag-item:not(first-child) {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .p-news__tag-item:not(first-child) {
    margin-top: 0.5rem;
  }
}

.p-news__wrapper {
  max-width: 55.875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-news__wrapper {
    margin-top: 1.875rem;
  }
}

.p-news__select-wrapper {
  margin-left: auto;
  position: relative;
  width: 9.0625rem;
}
@media screen and (max-width: 768px) {
  .p-news__select-wrapper {
    width: 7.5rem;
  }
}
.p-news__select-wrapper::after {
  background-image: url(../img/icon/arrow_down-bk.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.5rem;
  pointer-events: none;
  position: absolute;
  right: 1.25rem;
  top: 50%;
          transform: translateY(-50%);
  width: 0.8125rem;
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-news__select-wrapper::after {
    right: 0.625rem;
  }
}

.p-news__select {
       appearance: none;
  background-color: var(--white);
  border: 0.0625rem solid var(--gray-89);
  border-radius: 0.3125rem;
  color: var(--c-main);
  cursor: pointer;
  font-family: var(--font-main);
  font-size: max(0.875rem, 10px);
  height: 2.8125rem;
  line-height: 1;
  padding-inline: 2.5rem 2rem;
  width: 9.0625rem;
  -moz-appearance: none;
  -webkit-appearance: none;
}
@media screen and (max-width: 768px) {
  .p-news__select {
    font-size: 0.75rem;
    height: 2.25rem;
    padding-inline: 1.25rem 1rem;
    width: 7.5rem;
  }
}

.p-news__list {
  margin-top: 1.875rem;
}

.p-news__link {
          align-items: center;
  border-bottom: 0.0625rem solid var(--l-gray-e);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
  isolation: isolate;
  padding-block: 1.25rem;
  padding-inline: 1.25rem 4.6875rem;
  position: relative;
  z-index: 0;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-news__link {
            align-items: start;
    display: grid;
    gap: 1rem 1rem;
    grid-template-areas: "meta meta" "img head";
    grid-template-columns: 5rem minmax(0, 1fr);
    padding-inline: 0.625rem 2.1875rem;
        -ms-flex-align: start;
    -webkit-box-align: start;
  }
}

.p-news__link > * {
  position: relative;
  z-index: 1;
}

.p-news__link::before {
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--blue-0)), to(var(--blue-0))), -webkit-gradient(linear, left top, left bottom, from(var(--l-blue-e)), to(var(--l-blue-e)));
  background-image: linear-gradient(var(--blue-0), var(--blue-0)), linear-gradient(var(--l-blue-e), var(--l-blue-e));
  background-position: left bottom, left center;
  background-repeat: no-repeat;
  background-size: 100% 0.125rem, 100% 100%;
  content: "";
  display: block;
  inset: 0;
  pointer-events: none;
  position: absolute;
          transform: scaleX(0);
          transform-origin: right center;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  z-index: 0;
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: right center;
  -webkit-transition: -webkit-transform 0.4s ease;
}

.p-news__link::after {
  background-image: url(../img/icon/arrow_right-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.6875rem;
  position: absolute;
  right: 1.8125rem;
  top: 50%;
          transform: translateY(-50%);
  transition: background-color 0.3s ease-in-out;
  width: 0.4375rem;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  -webkit-transition: background-color 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .p-news__link::after {
    right: 0.625rem;
  }
}

@media (any-hover: hover) {
  .p-news__link:hover::before {
            transform: scaleX(1);
            transform-origin: left center;
    -webkit-transform: scaleX(1);
    -webkit-transform-origin: left center;
  }
}
.p-news__img {
  aspect-ratio: 200/128;
  border: 1px solid var(--l-gray-e);
  border-radius: 0.375rem;
  overflow: hidden;
  width: 12.5rem;
}
@media screen and (max-width: 768px) {
  .p-news__img {
    grid-area: img;
    width: 5rem;
  }
}

.p-news__img img {
  height: 100%;
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-news__img img {
    border-radius: 0.1875rem;
  }
}

.p-news__content {
  max-width: 34.375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-news__content {
    display: contents;
  }
}

.p-news__meta {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-news__meta {
        flex-wrap: wrap;
    gap: 0.3125rem 0.625rem;
    grid-area: meta;
    width: 100%;
    -ms-flex-wrap: wrap;
  }
}

.p-news__date {
  font-size: max(0.75rem, 10px);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-news__date {
    font-size: 0.75rem;
  }
}

.p-news__head {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.2em;
  line-height: 1.8;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-news__head {
        align-self: start;
    font-size: 0.875rem;
    grid-area: head;
    letter-spacing: 0.1em;
    line-height: 1.65;
    margin-top: 0;
    -ms-flex-item-align: start;
  }
}

.p-news__nopost {
  font-size: 1rem;
  letter-spacing: 0.1em;
  margin-top: 1.875rem;
  text-align: center;
}

.c-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: flex-end;
  margin-top: 3.125rem;
      -ms-flex-pack: end;
  -webkit-box-pack: end;
}
@media screen and (max-width: 768px) {
  .c-pagination {
            justify-content: center;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.c-pagination__list {
          align-items: center;
  color: var(--gray-90);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.9375rem, 10px);
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .c-pagination__list {
    font-size: 0.875rem;
  }
}

.c-pagination__item {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      -ms-flex-align: center;
  -webkit-box-align: center;
}

.c-pagination__item .page-numbers {
          align-items: center;
  color: var(--gray-90);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
          justify-content: center;
  line-height: 1;
  min-height: 2rem;
  text-decoration: none;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}

.c-pagination__item .page-numbers.current {
  color: var(--blue-0);
}

.c-pagination__item .page-numbers:not(.prev):not(.next) {
  padding-inline: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-pagination__item .page-numbers:not(.prev):not(.next) {
    padding-inline: 1.125rem;
  }
}

.c-pagination__item .page-numbers.prev {
  padding-right: 0.625rem;
}
@media screen and (max-width: 768px) {
  .c-pagination__item .page-numbers.prev {
    padding-right: 0.625rem;
  }
}

.c-pagination__item .page-numbers.next {
  padding-left: 0.625rem;
}
@media screen and (max-width: 768px) {
  .c-pagination__item .page-numbers.next {
    padding-left: 0.625rem;
  }
}

.c-pagination__item .page-numbers.dots {
  font-size: 1.5625rem;
  padding-inline: 1.25rem !important;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .c-pagination__item .page-numbers.dots {
    font-size: 1.25rem;
    padding-inline: 0.75rem !important;
  }
}

.c-pagination__arrow {
  border-right: 1px solid var(--blue-0);
  border-top: 1px solid var(--blue-0);
  display: inline-block;
  height: 1.25rem;
  width: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-pagination__arrow {
    height: 1rem;
    width: 1rem;
  }
}

.c-pagination__arrow--prev {
  margin-right: 0.625rem;
          transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

.c-pagination__arrow--next {
  margin-left: 0.625rem;
          transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

@media (any-hover: hover) {
  .c-pagination__item .page-numbers:hover {
    color: var(--blue-0);
  }
  .c-pagination__item .page-numbers.next:hover {
    opacity: 0.5;
  }
  .c-pagination__item .page-numbers.prev:hover {
    opacity: 0.5;
  }
}
.p-notpage {
  margin-top: 3.125rem;
}

.p-notpage__inner {
  text-align: center;
}

.p-notpage__ttl {
  color: var(--blue-0);
  font-family: var(--font-en);
  font-size: 15rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.3708333333;
}
@media screen and (max-width: 768px) {
  .p-notpage__ttl {
    font-size: 10rem;
  }
}

.p-notpage__sub-ttl {
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .p-notpage__sub-ttl {
    font-size: 1.125rem;
  }
}

.p-notpage__txt {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-notpage__txt {
    font-size: 0.875rem;
    word-break: auto-phrase;
  }
}

.p-notpage__btn-wrapper {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-notpage__btn-wrapper {
    margin-top: 4.375rem;
  }
}

.p-privacy {
  padding-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .p-privacy {
    padding-top: 3.75rem;
  }
}

.p-privacy__inner {
  max-width: 62.5rem;
}

.p-privacy__container p {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.15em;
  line-height: 180%;
  margin-block: 0.625rem;
}
@media screen and (max-width: 768px) {
  .p-privacy__container p {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    margin-block: 0.5rem;
  }
}
.p-privacy__container h2 {
  border-bottom: 3px solid var(--l-blue-e);
  font-size: 1.375rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 180%;
  margin-block: 2.8125rem 0.9375rem;
  padding-bottom: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .p-privacy__container h2 {
    font-size: 1.125rem;
    margin-block: 2.1875rem 0.9375rem;
    padding-bottom: 0.625rem;
  }
}
.p-privacy__container li {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 180%;
  padding-left: 1.125rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-privacy__container li {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    padding-left: 0.875rem;
  }
}
.p-privacy__container li::before {
  background: var(--blue-0);
  border-radius: 50%;
  content: "";
  height: 0.5rem;
  left: 0;
  position: absolute;
  top: 0.625rem;
  width: 0.5rem;
}
.p-privacy__container li + li {
  margin-top: 0.625rem;
}
.p-privacy__container span {
  font-weight: 500;
}
.p-privacy__container .p-privacy__indent {
  padding-left: 1em;
  text-indent: -1em;
}
.p-privacy__container a {
  color: var(--link-blue);
}
@media (any-hover: hover) {
  .p-privacy__container a:hover {
    opacity: 0.7;
  }
}

.p-procurement {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-procurement {
    padding-top: 5rem;
  }
}

.p-procurement__inner {
  max-width: 62.5rem;
}

.p-procurement__lead {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-procurement__lead {
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
    line-height: 1.6;
  }
}

.p-procurement__block:first-of-type {
  margin-top: 3.125rem;
}

.p-procurement__block {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-procurement__block {
    margin-top: 3.125rem;
  }
}

.p-procurement__txt {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.8;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-procurement__txt {
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
    margin-top: 1.5rem;
  }
}

.p-procurement__list {
  display: grid;
  gap: 1.25rem 1.125rem;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 0;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-procurement__list {
    gap: 1.5rem;
    grid-template-columns: 1fr;
    margin-top: 1.5rem;
  }
}

.p-procurement__card {
  border: 0.125rem solid var(--l-blue-e);
  border-radius: 0.625rem;
  min-height: 14rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-procurement__card {
    min-height: unset;
  }
}

.p-procurement__card-head {
          align-items: center;
  background: var(--l-blue-e);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  padding: 0.9375rem 1.28125rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-procurement__card-head {
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
  }
}

.p-procurement__card-num {
          align-items: center;
  background: var(--white);
  border-radius: 50%;
  color: var(--blue-0);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
  font-family: var(--font-en);
  font-size: 1.25rem;
  font-weight: 500;
  height: 2.25rem;
          justify-content: center;
  line-height: 1;
  width: 2.25rem;
      -ms-flex-align: center;
  -ms-flex-negative: 0;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-procurement__card-num {
    font-size: 1rem;
    height: 2.25rem;
    width: 2.25rem;
  }
}

.p-procurement__card-ttl {
  color: var(--blue-0);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-procurement__card-ttl {
    font-size: 1.0625rem;
  }
}

.p-procurement__card-body {
  padding: 1.25rem;
  padding-right: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-procurement__card-body {
    padding: 1.25rem;
  }
}

.p-procurement__card-txt {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-procurement__card-txt {
    font-size: 0.8125rem;
    letter-spacing: 0.1em;
  }
}

.p-procurement__flow {
  margin-bottom: 8.75rem;
  margin-inline: auto;
  margin-top: 5.3125rem;
  max-width: 48.5625rem;
  overflow-x: auto;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 768px) {
  .p-procurement__flow {
    margin-bottom: 3.125rem;
    margin-top: 1.5rem;
  }
}

.p-procurement__flow img {
  display: block;
  height: auto;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-procurement__flow img {
    max-width: none;
    width: 41.75rem;
  }
}

.p-procurement__item {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-procurement__item {
    margin-top: 2.5rem;
  }
}

.p-procurement__item + .p-procurement__item {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-procurement__item + .p-procurement__item {
    margin-top: 3.75rem;
  }
}

.p-procurement__sub-ttl {
  padding-left: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-procurement__sub-ttl {
    padding-left: 0.9375rem;
  }
}

.p-procurement__scroll {
  margin-top: 2.8125rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 768px) {
  .p-procurement__scroll {
    margin-top: 1.875rem;
  }
}

.p-procurement__table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-procurement__table {
    min-width: 40rem;
    table-layout: auto;
  }
}

.p-procurement__th,
.p-procurement__kind,
.p-procurement__ingredients,
.p-procurement__detail {
  border-bottom: 0.0625rem solid var(--l-gray-e);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.18em;
  line-height: 1.8;
  padding: 1.125rem 1.25rem;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .p-procurement__th,
  .p-procurement__kind,
  .p-procurement__ingredients,
  .p-procurement__detail {
    font-size: 0.8125rem;
    letter-spacing: 0.17em;
    padding: 0.9375rem 0.625rem;
    white-space: nowrap;
  }
}

.p-procurement__th {
  background: var(--l-blue-f);
  font-weight: 700;
  height: 4.1875rem;
  vertical-align: middle;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-procurement__th {
    height: 3.125rem;
  }
}

.p-procurement__th--kind {
  width: 24%;
}
@media screen and (max-width: 768px) {
  .p-procurement__th--kind {
    width: 16.25rem;
  }
}

.p-procurement__th--ingredients,
.p-procurement__ingredients {
  height: 4.1875rem;
  padding-block: 1.21875rem;
  padding-left: 1.25rem;
  width: 44%;
}
@media screen and (max-width: 768px) {
  .p-procurement__th--ingredients,
  .p-procurement__ingredients {
    height: 3.125rem;
    min-width: 15.625rem;
    padding-block: 0.9375rem;
    padding-left: 0.9375rem;
  }
}

.p-procurement__th--detail,
.p-procurement__detail {
  height: 4.1875rem;
  padding-left: 1.25rem;
  width: 34%;
}
@media screen and (max-width: 768px) {
  .p-procurement__th--detail,
  .p-procurement__detail {
    height: 3.125rem;
    min-width: 16.25rem;
    padding-left: 0.9375rem;
  }
}

.p-procurement__kind {
  font-weight: 500;
}

.p-procurement__btns {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 6.25rem;
  margin-top: 6.25rem;
      -ms-flex-align: center;
      -ms-flex-direction: column;
  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-procurement__btns {
    gap: 3.75rem;
    margin-inline: auto;
    margin-top: 3.125rem;
    max-width: 21.25rem;
    width: 76.9230769231vw;
  }
}

@media screen and (max-width: 768px) {
  .p-procurement__btn {
            justify-content: center;
    padding-block: 1.375rem;
    padding-inline: 0.9375rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.p-products-list {
  padding-top: 9.6875rem;
}
@media screen and (max-width: 768px) {
  .p-products-list {
    padding-top: 5rem;
  }
}

.p-products-list__list {
  display: grid;
  gap: 3.75rem 1.875rem;
  grid-template-columns: repeat(auto-fill, minmax(0, 16.0625rem));
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-products-list__list {
    gap: 2.5rem 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 12.9375rem));
            justify-content: center;
    margin-inline: auto;
    margin-top: 2.5rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}
@container (min-width: 577px) {
  .p-products-list__list {
    grid-template-columns: repeat(2, minmax(0, 16.0625rem));
            justify-content: start;
        -ms-flex-pack: start;
    -webkit-box-pack: start;
  }
}
@media screen and (max-width: 600px) {
  .p-products-list__list {
    grid-template-columns: repeat(2, minmax(0, 10.625rem));
  }
}

.p-products-list__list .c-recommend-card__hash {
  line-height: 1.8333333333;
}

.p-products-list__pagination {
          justify-content: center;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}

.p-products-news {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-products-news {
    padding-top: 4.375rem;
  }
}

.p-products-news__list {
  margin-inline: auto;
  max-width: 59.375rem;
}

.p-products-news__item {
  border-bottom: 0.0625rem solid var(--l-gray-e);
}

.p-products-news__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.0625rem;
  isolation: isolate;
  padding-block: 1.25rem;
  padding-inline: 2.5rem 4.375rem;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .p-products-news__link {
            flex-direction: column;
    gap: 0.625rem;
    padding-block: 1rem;
    padding-inline: 0.625rem 1.5625rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-products-news__link > * {
  position: relative;
  z-index: 1;
}

.p-products-news__link::before {
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--blue-0)), to(var(--blue-0))), -webkit-gradient(linear, left top, left bottom, from(var(--l-blue-e)), to(var(--l-blue-e)));
  background-image: linear-gradient(var(--blue-0), var(--blue-0)), linear-gradient(var(--l-blue-e), var(--l-blue-e));
  background-position: left bottom, left center;
  background-repeat: no-repeat;
  background-size: 100% 0.125rem, 100% 100%;
  content: "";
  display: block;
  inset: 0;
  pointer-events: none;
  position: absolute;
          transform: scaleX(0);
          transform-origin: right center;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  z-index: 0;
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: right center;
  -webkit-transition: -webkit-transform 0.4s ease;
}
.p-products-news__link::before .p-news__link:hover::before {
          transform: scaleX(1);
          transform-origin: left center;
  -webkit-transform: scaleX(1);
  -webkit-transform-origin: left center;
}

.p-products-news__link::after {
  background-image: url(../img/icon/arrow_right-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.6875rem;
  position: absolute;
  right: 2.5rem;
  top: 50%;
          transform: translateY(-50%);
  transition: background-color 0.3s ease-in-out;
  width: 0.4375rem;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  -webkit-transition: background-color 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .p-products-news__link::after {
    right: 0.625rem;
  }
}

@media (any-hover: hover) {
  .p-products-news__link:hover::before {
            transform: scaleX(1);
            transform-origin: left center;
    -webkit-transform: scaleX(1);
    -webkit-transform-origin: left center;
  }
}
.p-products-news__meta {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-products-news__meta {
    gap: 1rem;
  }
}

.p-products-news__date {
  font-size: max(0.75rem, 10px);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-products-news__date {
    font-size: 0.75rem;
  }
}

.p-products-news__head {
  display: -webkit-box;
          flex: 1;
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-clamp: 1;
  line-height: 1.8;
  overflow: hidden;
      -ms-flex: 1;
  -webkit-box-flex: 1;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
@media screen and (max-width: 768px) {
  .p-products-news__head {
    font-size: 0.875rem;
    letter-spacing: 0.2em;
    line-clamp: 2;
    line-height: 1.6;
    -webkit-line-clamp: 2;
  }
}

.p-products-news__btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 3.125rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-products-news__btn-wrapper {
    margin-top: 2.5rem;
  }
}

.p-products-search-tabs {
  padding-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .p-products-search-tabs {
    padding-top: 3.125rem;
  }
}

.p-qa-archive {
  padding: 6.25rem 0;
}
@media screen and (max-width: 768px) {
  .p-qa-archive {
    padding: 3.125rem 0;
  }
}

.p-qa-archive.p-qa-archive--all {
  margin-inline: auto;
  max-width: 62.5rem;
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .p-qa-archive.p-qa-archive--all {
    padding: 2.5rem 0;
  }
}

.p-qa-archive__pagination.c-pagination--center {
          justify-content: center;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}

.p-qa-pickup {
  padding-top: 5.625rem;
}
@media screen and (max-width: 768px) {
  .p-qa-pickup {
    padding-top: 4.375rem;
  }
}

@media screen and (max-width: 768px) {
  .p-qa-pickup__inner {
    container-type: inline-size;
  }
}

.p-qa-pickup__desc {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-qa-pickup__desc {
    font-size: 0.875rem;
    margin-top: 2.5rem;
  }
}

.p-qa-pickup__list {
  display: grid;
  gap: 1.875rem 2.375rem;
  grid-template-columns: repeat(auto-fill, minmax(0, 33.8125rem));
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-qa-pickup__list {
    gap: 1.25rem 1rem;
    grid-template-columns: minmax(0, 25rem);
            justify-content: center;
    margin-top: 2.5rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}
@container (min-width:600px) {
  .p-qa-pickup__list {
    grid-template-columns: repeat(2, minmax(0, 20.3125rem));
  }
}

.p-qa-searchs {
  padding-top: 8.4375rem;
}
@media screen and (max-width: 768px) {
  .p-qa-searchs {
    padding-top: 4.375rem;
  }
}

.p-qa-searchs__inner {
  max-width: 62.5rem;
}

.p-qa-searchs__container {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-qa-searchs__container {
    margin-top: 2.5rem;
  }
}

.p-qa-searchs__txt {
  font-size: 1.25rem;
  letter-spacing: 0.17em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-qa-searchs__txt {
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
}

/*----------------------------------------------
FAQ 検索フォーム
----------------------------------------------*/
.p-qa-searchs__form {
          align-items: center;
  border: 0.0625rem solid var(--blue-gray);
  border-radius: 0.625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.75rem;
  margin-inline: auto;
  margin-top: 1.25rem;
  max-width: 59.375rem;
  overflow: hidden;
  width: 100%;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-qa-searchs__form {
    height: 3.25rem;
    margin-top: 0.625rem;
  }
}

.p-qa-searchs__btn {
          align-items: center;
  background-color: var(--l-blue-e);
  border: none;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
  height: 100%;
          justify-content: center;
  transition: opacity 0.2s;
  width: 3.75rem;
      -ms-flex-align: center;
  -ms-flex-negative: 0;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -webkit-transition: opacity 0.2s;
}

@media (any-hover: hover) {
  .p-qa-searchs__btn:hover {
    opacity: 0.7;
  }
}
.p-qa-searchs__clear {
          align-items: center;
  background: none;
  border: none;
  color: var(--blue-0);
  cursor: pointer;
  display: none;
      flex-shrink: 0;
  height: 100%;
          justify-content: center;
  padding-inline: 0.75rem;
  transition: opacity 0.2s;
  width: 2.5rem;
      -ms-flex-align: center;
  -ms-flex-negative: 0;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -webkit-transition: opacity 0.2s;
}
@media (any-hover: hover) {
  .p-qa-searchs__clear:hover {
    opacity: 0.6;
  }
}

@media (any-hover: hover) {
  .p-qa-searchs__form.has-value:hover .p-qa-searchs__clear {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (any-hover: none) {
  .p-qa-searchs__form.has-value .p-qa-searchs__clear {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-qa-searchs__input {
  background: transparent;
  border: none;
          flex: 1;
  font-size: max(0.9375rem, 10px);
  height: 100%;
  outline: none;
  padding-inline: 1.25rem;
      -ms-flex: 1;
  -webkit-box-flex: 1;
}
@media screen and (max-width: 768px) {
  .p-qa-searchs__input {
    font-size: 0.875rem;
    padding-inline: 0.75rem;
  }
}

.p-qa {
  padding: 6.25rem 0;
}
@media screen and (max-width: 768px) {
  .p-qa {
    padding: 3.125rem 0;
  }
}

.p-qa__container {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-qa__container {
    margin-top: 1.875rem;
  }
}

.p-qa__item {
  background-color: var(--beige);
  border-radius: 0.625rem;
  cursor: pointer;
}

.p-qa__item:not(:first-child) {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-qa__item:not(:first-child) {
    margin-top: 1.25rem;
  }
}

.p-qa__item-ttl {
  background-color: var(--beige);
  border-radius: 0.625rem;
  padding: 1.5625rem 3.9375rem 1.5625rem 3.125rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-qa__item-ttl {
    padding: 1rem 2rem 1rem 1.375rem;
  }
}

.p-qa__item-q {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-qa__item-q {
    font-size: 0.875rem;
    line-height: 1.3333333333;
  }
}

.p-qa__item-q::before {
  content: "Q";
  display: inline-block;
  font-family: var(--font-en);
  font-size: 1.25rem;
  font-weight: 400;
  margin-right: 2rem;
}
@media screen and (max-width: 768px) {
  .p-qa__item-q::before {
    line-height: 1.2;
    margin-right: 0.75rem;
  }
}

.p-qa__btn {
  position: absolute;
  right: 3.125rem;
  top: 50%;
          transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-qa__btn {
    right: 1rem;
  }
}

.p-qa__item-a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-qa__item-a {
    font-size: 1.125rem;
  }
}

.p-qa__item-a::before {
  color: var(--red);
  content: "A";
  display: inline-block;
  font-family: var(--font-en);
  font-size: 1.25rem;
  font-weight: 400;
  margin-right: 2rem;
}
@media screen and (max-width: 768px) {
  .p-qa__item-a::before {
    line-height: 1.2;
    margin-right: 0.75rem;
  }
}

.p-qa__item-a-content p {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-qa__item-a-content p {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}

.p-qa__item-a-content a {
  color: var(--link-blue);
  display: inline;
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 200%;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .p-qa__item-a-content a {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}

@media (any-hover: hover) {
  .p-qa__item-a-content a:hover {
    color: var(--blue-1);
  }
}
.p-qa__item-txt {
  background: var(--l-beige);
  border-radius: 0 0 0.625rem 0.625rem;
  padding: 1.25rem 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-qa__item-txt {
    padding: 1.25rem 1.75rem 1.875rem 1.375rem;
  }
}

.p-qa__list-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 3.125rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}

.p-qa-pickup__item {
      align-self: start;
  -ms-flex-item-align: start;
}

.p-qa__item.p-qa__item--pickup {
  background-color: var(--beige);
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-qa__item.p-qa__item--pickup {
    border-radius: 0.5rem;
  }
}

.p-qa__item.p-qa__item--pickup .p-qa__item-ttl {
  padding: 1.5625rem 2.5625rem 1.5625rem 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-qa__item.p-qa__item--pickup .p-qa__item-ttl {
    padding: 1.5625rem 2.5rem 1.5625rem 1.25rem;
  }
}

.p-qa__item--pickup .p-qa__item-q,
.p-qa__item-q--pickup {
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-qa__item--pickup .p-qa__item-q,
  .p-qa__item-q--pickup {
    font-size: 0.875rem;
    line-height: 1.6;
  }
}

.p-qa__item--pickup .p-qa__item-a-content p,
.p-qa__item.p-qa__item--pickup .p-qa__item-a-content a {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.07em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-qa__item--pickup .p-qa__item-a-content p,
  .p-qa__item.p-qa__item--pickup .p-qa__item-a-content a {
    font-size: 0.875rem;
  }
}

.p-qa__item.p-qa__item--pickup .p-qa__btn {
  right: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-qa__item.p-qa__item--pickup .p-qa__btn {
    right: 1.25rem;
  }
}

.p-qa__link-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 3.25rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-qa__link-wrapper {
    margin-top: 2.5rem;
  }
}

.p-qa__link.c-btn.c-btn--qa {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: max(0.9375rem, 10px);
          justify-content: center;
  letter-spacing: 0.24em;
  max-width: 14.3125rem;
  padding-block: 1.0625rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-qa__link.c-btn.c-btn--qa {
    font-size: 0.875rem;
    padding-inline: 0.625rem;
  }
}

.p-qa__link.c-btn.c-btn--qa::before {
  height: 1rem;
  width: 1.5rem;
}

.p-quality {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-quality {
    padding-top: 5rem;
  }
}

.p-quality__inner {
  max-width: 62.5rem;
}

@media screen and (max-width: 768px) {
  .p-quality__block > .c-company-ttl br {
    display: none;
  }
}

.p-quality__block + .p-quality__block {
  margin-top: 6.0625rem;
}
@media screen and (max-width: 768px) {
  .p-quality__block + .p-quality__block {
    margin-top: 3.75rem;
  }
}

.p-quality__block + .p-quality__block--sub {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-quality__block + .p-quality__block--sub {
    margin-top: 1.875rem;
  }
}

.p-quality__block--sub + .p-quality__block--sub {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-quality__block--sub + .p-quality__block--sub {
    margin-top: 3.125rem;
  }
}

.p-quality__block > * + * {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-quality__block > * + * {
    margin-top: 1.5rem;
  }
}

.p-quality__block > .p-quality__process {
  margin-top: 1.75rem;
}
@media screen and (max-width: 768px) {
  .p-quality__block > .p-quality__process {
    margin-top: 1.875rem;
  }
}

.p-quality__block > .p-quality__map {
  margin-top: 2.625rem;
}
@media screen and (max-width: 768px) {
  .p-quality__block > .p-quality__map {
    margin-top: 1.5rem;
  }
}

.p-quality__block > .p-quality__movie {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-quality__block > .p-quality__movie {
    margin-top: 3.125rem;
  }
}

.p-quality__philosophy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-quality__philosophy {
            align-items: stretch;
            flex-direction: column;
    gap: 1.25rem;
        -ms-flex-align: stretch;
        -ms-flex-direction: column;
    -webkit-box-align: stretch;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-quality__philosophy-body {
          flex: 1;
      -ms-flex: 1;
  -webkit-box-flex: 1;
}

.p-quality__catch {
  color: var(--blue-1);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-quality__catch {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
  }
}

.p-quality__catch + .p-quality__txt {
  margin-top: 0.625rem;
}

.p-quality__philosophy-img {
  border-radius: 0.625rem;
          flex: none;
  overflow: hidden;
  width: 27.4375rem;
      -ms-flex: none;
  -webkit-box-flex: 0;
}
@media screen and (max-width: 768px) {
  .p-quality__philosophy-img {
    width: 100%;
  }
}

.p-quality__philosophy-img img {
  aspect-ratio: 439/200;
  display: block;
  height: auto;
     object-fit: cover;
  width: 100%;
  -o-object-fit: cover;
}

.p-quality__txt {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.17em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-quality__txt {
    font-size: 0.875rem;
  }
}

.p-quality__process {
  background: var(--l-blue-e);
  border-radius: 0.625rem;
  padding-block: 1.875rem 1.625rem;
  padding-inline: 5.3125rem;
}
@media screen and (max-width: 768px) {
  .p-quality__process {
    padding: 1.5rem 1.25rem;
  }
}

.p-quality__process-ttl {
  color: var(--c-main);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-quality__process-ttl {
    font-size: 1.125rem;
  }
}

.p-quality__flow {
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin-top: 1.25rem;
      -ms-flex-align: stretch;
  -webkit-box-align: stretch;
}
@media screen and (max-width: 768px) {
  .p-quality__flow {
            flex-direction: column;
    margin-inline: auto;
    margin-top: 1.5rem;
    max-width: 25rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-quality__step {
  --tip: 2.0625rem;
          align-items: center;
  background: var(--white);
          clip-path: polygon(0 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, 0 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1 0;
          flex-direction: column;
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  position: relative;
      -ms-flex: 1 1 0px;
      -ms-flex-align: center;
      -ms-flex-direction: column;
  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-flex: 1;
  -webkit-box-orient: vertical;
  -webkit-clip-path: polygon(0 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, 0 100%);
}
@media screen and (max-width: 768px) {
  .p-quality__step {
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--tip)), 50% 100%, 0 calc(100% - var(--tip)));
            flex: 0 1 auto;
    padding: 1.875rem 1.5rem;
        -ms-flex: 0 1 auto;
    -webkit-box-flex: 0;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--tip)), 50% 100%, 0 calc(100% - var(--tip)));
  }
}

.p-quality__step:not(:first-child) {
          clip-path: polygon(0 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, 0 100%, var(--tip) 50%);
  margin-left: -2.0625rem;
  -webkit-clip-path: polygon(0 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, 0 100%, var(--tip) 50%);
}
@media screen and (max-width: 768px) {
  .p-quality__step:not(:first-child) {
            clip-path: polygon(0 0, 50% var(--tip), 100% 0, 100% calc(100% - var(--tip)), 50% 100%, 0 calc(100% - var(--tip)));
    margin-left: 0;
    margin-top: -2.0625rem;
    padding-left: 1.5rem;
    padding-top: 3.75rem;
    -webkit-clip-path: polygon(0 0, 50% var(--tip), 100% 0, 100% calc(100% - var(--tip)), 50% 100%, 0 calc(100% - var(--tip)));
  }
}

.p-quality__step:last-child {
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--tip) 50%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--tip) 50%);
}
@media screen and (max-width: 768px) {
  .p-quality__step:last-child {
            clip-path: polygon(0 0, 50% var(--tip), 100% 0, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 0, 50% var(--tip), 100% 0, 100% 100%, 0 100%);
  }
}

@media screen and (max-width: 768px) {
  .p-quality__step:not(:last-child) {
    padding-bottom: 3.75rem;
  }
}

.p-quality__step--lv1 {
  border-radius: 0.3125rem;
  padding-right: 3.3125rem;
}
@media screen and (max-width: 768px) {
  .p-quality__step--lv1 {
    padding-right: 1.5rem;
  }
}

.p-quality__step--lv2 {
  background: #cee9fd;
  padding-inline: 3.3125rem;
}
@media screen and (max-width: 768px) {
  .p-quality__step--lv2 {
    padding-inline: 1.5rem;
  }
}

.p-quality__step--lv3 {
  background: #aedcff;
  border-radius: 0 0.3125rem 0.3125rem 0;
  padding-left: 3.3125rem;
}
@media screen and (max-width: 768px) {
  .p-quality__step--lv3 {
    border-radius: 0 0 0.3125rem 0.3125rem;
    padding-left: 1.5rem;
  }
}

.p-quality__step-head {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
      -ms-flex-align: center;
      -ms-flex-direction: column;
  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}

.p-quality__step-label {
  color: var(--blue-1);
  font-family: var(--font-en);
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.p-quality__step-num {
          align-items: center;
  color: var(--blue-1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: var(--font-en);
  font-size: 2.5rem;
  font-weight: 500;
  gap: 0.75rem;
          justify-content: center;
  line-height: 1;
  margin-top: -0.625rem;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-quality__step-num {
    font-size: 2.25rem;
  }
}

.p-quality__step-num::before,
.p-quality__step-num::after {
  background: var(--blue-1);
  content: "";
  height: 0.0625rem;
  width: 1.25rem;
}

.p-quality__step-txt {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 1rem;
  text-align: left;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-quality__step-txt {
    font-size: 0.875rem;
  }
}

.p-quality__research-flow {
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none;
  margin-inline: auto;
  margin-top: 1.25rem;
  max-width: 46.9375rem;
      -ms-flex-align: stretch;
  -webkit-box-align: stretch;
}
@media screen and (max-width: 768px) {
  .p-quality__research-flow {
            flex-direction: column;
    margin-top: 1.5rem;
    max-width: 25rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-quality__research-step {
  --tip: 2.0625rem;
          align-items: center;
  background: var(--white);
          clip-path: polygon(0 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, 0 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1 1 0;
          flex-direction: column;
  padding: 1.25rem 3.75rem;
  position: relative;
      -ms-flex: 1 1 0px;
      -ms-flex-align: center;
      -ms-flex-direction: column;
  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-flex: 1;
  -webkit-box-orient: vertical;
  -webkit-clip-path: polygon(0 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, 0 100%);
}
@media screen and (max-width: 768px) {
  .p-quality__research-step {
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--tip)), 50% 100%, 0 calc(100% - var(--tip)));
    padding: 1.875rem 1.5rem;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--tip)), 50% 100%, 0 calc(100% - var(--tip)));
  }
}

.p-quality__research-step:not(:first-child) {
          clip-path: polygon(0 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, 0 100%, var(--tip) 50%);
  margin-left: -2.5625rem;
  -webkit-clip-path: polygon(0 0, calc(100% - var(--tip)) 0, 100% 50%, calc(100% - var(--tip)) 100%, 0 100%, var(--tip) 50%);
}
@media screen and (max-width: 768px) {
  .p-quality__research-step:not(:first-child) {
            clip-path: polygon(0 0, 50% var(--tip), 100% 0, 100% calc(100% - var(--tip)), 50% 100%, 0 calc(100% - var(--tip)));
    margin-left: 0;
    margin-top: -2.0625rem;
    padding-left: 1.5rem;
    padding-top: 3.75rem;
    -webkit-clip-path: polygon(0 0, 50% var(--tip), 100% 0, 100% calc(100% - var(--tip)), 50% 100%, 0 calc(100% - var(--tip)));
  }
}

.p-quality__research-step:last-child {
          clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--tip) 50%);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--tip) 50%);
}
@media screen and (max-width: 768px) {
  .p-quality__research-step:last-child {
            clip-path: polygon(0 0, 50% var(--tip), 100% 0, 100% 100%, 0 100%);
    -webkit-clip-path: polygon(0 0, 50% var(--tip), 100% 0, 100% 100%, 0 100%);
  }
}

@media screen and (max-width: 768px) {
  .p-quality__research-step:not(:last-child) {
    padding-bottom: 3.75rem;
  }
}

.p-quality__research-step--lv1 {
  border-radius: 0.3125rem;
  padding-bottom: 1.5625rem;
  padding-left: 1.375rem;
}
@media screen and (max-width: 768px) {
  .p-quality__research-step--lv1 {
    padding-left: 1.5rem;
  }
}

.p-quality__research-step--lv3 {
  background: #aedcff;
  border-radius: 0 0.3125rem 0.3125rem 0;
  padding-left: 5.8125rem;
  width: 24.3125rem;
}
@media screen and (max-width: 768px) {
  .p-quality__research-step--lv3 {
    border-radius: 0 0 0.3125rem 0.3125rem;
    width: 100%;
  }
}

.p-quality__research-step-head {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  width: 15.375rem;
      -ms-flex-align: center;
      -ms-flex-direction: column;
  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-quality__research-step-head {
    max-width: 100%;
  }
}

.p-quality__research-step-label {
  color: var(--blue-1);
  font-family: var(--font-en);
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.p-quality__research-step-num {
          align-items: center;
  color: var(--blue-1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: var(--font-en);
  font-size: 2.5rem;
  font-weight: 500;
  gap: 0.75rem;
          justify-content: center;
  line-height: 1;
  margin-top: -0.625rem;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-quality__research-step-num {
    font-size: 2.25rem;
  }
}

.p-quality__research-step-num::before,
.p-quality__research-step-num::after {
  background: var(--blue-1);
  content: "";
  height: 0.0625rem;
  width: 1.25rem;
}

.p-quality__research-step-txt {
  color: var(--c-main);
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.8;
  margin-top: 0.625rem;
  width: 19.9375rem;
}
@media screen and (max-width: 768px) {
  .p-quality__research-step-txt {
    font-size: 0.875rem;
    letter-spacing: 0.1em;
    max-width: 100%;
  }
}

.p-quality__map-catch {
  color: var(--blue-1);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-quality__map-catch {
    font-size: 1.125rem;
  }
}

.p-quality__map {
  text-align: center;
}

.p-quality__map img {
  display: block;
  height: auto;
  margin-inline: auto;
  max-width: 59.4375rem;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .p-quality__map img {
    max-width: 28.125rem;
  }
}

.p-quality__movie {
  margin-inline: auto;
  max-width: 59.375rem;
  width: 100%;
}

.p-quality__movie iframe {
  aspect-ratio: 950/534;
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.p-single-post {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-single-post {
    padding-top: 4.375rem;
  }
}

.p-single-post__inner {
  max-width: 62.5rem;
}

.p-single-post__meta {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-single-post__meta {
    gap: 1rem;
  }
}

.p-single-post__date {
  font-size: max(0.75rem, 8px);
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-single-post__date {
    font-size: 0.75rem;
  }
}

.p-single-post__ttl {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__ttl {
    font-size: 1.375rem;
    letter-spacing: 0.05em;
    line-height: 1.65;
    margin-top: 2.5rem;
  }
}

.p-single-post__content {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__content {
    margin-top: 2.5rem;
  }
}
.p-single-post__content p {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  margin-block: 0.9375rem 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__content p {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    margin-block: 0.9375rem;
  }
}
.p-single-post__content figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-block: 1.25rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-single-post__content figure {
    margin-block: 0.9375rem;
  }
}
.p-single-post__content h2 {
  background-color: var(--l-blue-e);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-block: 3.125rem 1.875rem;
  padding: 0.9375rem 1.25rem;
  position: relative;
}
.p-single-post__content h2::before {
  background-color: var(--blue-0);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 0.1875rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__content h2 {
    font-size: 1.25rem;
    padding: 0.5rem 0.9375rem;
  }
}
.p-single-post__content h3 {
  border-bottom: 3px solid var(--l-blue-e);
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-block: 1.875rem 1.25rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.625rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__content h3 {
    font-size: 1.125rem;
  }
}
.p-single-post__content h4 {
  background: var(--gradient-c);
  color: var(--white);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-block: 0.625rem 0.3125rem;
  padding: 0.3125rem 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__content h4 {
    font-size: 1rem;
  }
}
.p-single-post__content h5 {
  background: var(--gradient-w);
  color: var(--white);
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-block: 0.625rem 0.3125rem;
  padding: 0.3125rem 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__content h5 {
    font-size: 0.9375rem;
  }
}
.p-single-post__content a {
  color: var(--blue-0);
  text-decoration: underline;
  transition: opacity 0.3s ease;
  -webkit-transition: opacity 0.3s ease;
}
.p-single-post__content a:hover {
  opacity: 0.7;
}
.p-single-post__content ol {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  list-style: decimal;
  padding-left: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__content ol {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    padding-left: 0.9375rem;
  }
}
.p-single-post__content ul {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  list-style: disc;
  padding-left: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__content ul {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    padding-left: 0.9375rem;
  }
}
.p-single-post__content .wp-block-button {
  margin-block: 2.5rem 1.25rem;
}
.p-single-post__content .wp-block-buttons .wp-block-button__link {
  background: var(--gradient-c);
  border: none;
  border-radius: 999px;
  color: var(--white);
  display: block;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  min-width: 18.75rem;
  padding: 1.40625rem 1.875rem;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.3s;
  width: 100%;
  -webkit-transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .p-single-post__content .wp-block-buttons .wp-block-button__link {
    font-size: 0.875rem;
    min-width: 15.625rem;
    padding: 1.25rem 1.25rem;
  }
}
@media (any-hover: hover) {
  .p-single-post__content .wp-block-buttons .wp-block-button__link:hover {
    opacity: 0.7;
  }
}

/****************************
/関連ニュース
****************************/
.p-single-post__related {
  margin-top: 9.375rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__related {
    margin-top: 6.25rem;
  }
}

.p-single-post__related-inner {
  max-width: 62.5rem;
}

.p-single-post__related-list {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__related-list {
    margin-top: 2.5rem;
  }
}

.p-single-post__related-link {
  padding-block: 1.25rem;
  padding-inline: 3.125rem 4.6875rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__related-link {
    padding-inline: 0.3125rem 2.1875rem;
  }
}

.p-single-post__related-link.c-news__link::after {
  right: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-single-post__related-link.c-news__link::after {
    right: 0.75rem;
  }
}

.p-single-post__related-btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 3.125rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-single-post__related-btn-wrapper {
    margin-top: 2.5rem;
  }
}

/*----------------------------------------------
製品情報
----------------------------------------------*/
.p-single-products {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-single-products {
    padding-top: 3.125rem;
  }
}

.p-single-products__top-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: space-between;
      -ms-flex-pack: justify;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-single-products__top-container {
            flex-direction: column;
    gap: 1.25rem;
    margin-inline: auto;
    max-width: 37.5rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-single-products__top-img {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  max-width: 33.6875rem;
  width: 100%;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-single-products__top-img {
    margin-inline: auto;
  }
}

.p-single-products__top-img img {
  height: 100%;
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}

.p-single-products__top-body {
  max-width: 33.8125rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-single-products__top-body {
    max-width: unset;
  }
}

.p-single-products__top-ttl {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-single-products__top-ttl {
    font-size: 1.375rem;
  }
}

.p-single-products__top-btn-wrapper {
  display: grid;
  gap: 2.375rem;
  grid-template-columns: repeat(auto-fill, 14.3125rem);
  margin-top: 3.3125rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__top-btn-wrapper {
    gap: 1rem;
    margin-inline: auto;
    margin-top: 2.5rem;
    place-content: center;
  }
}

.p-single-products__bottom-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__bottom-container {
            align-items: center;
            flex-direction: column;
    gap: 1.25rem;
    gap: 3.125rem;
    margin-top: 3.125rem;
        -ms-flex-align: center;
        -ms-flex-direction: column;
    -webkit-box-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-single-products__table-wrapper {
  max-width: 33.6875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-single-products__table-wrapper {
    max-width: 37.5rem;
  }
}

.p-single-products__table-head {
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-wrap: wrap;
      -ms-flex-align: end;
  -ms-flex-wrap: wrap;
  -webkit-box-align: end;
}

.p-single-products__table-subttl {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-single-products__table-subttl {
    font-size: 0.875rem;
  }
}

.p-single-products__bottom-ttl {
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-single-products__bottom-ttl {
    font-size: 1.125rem;
  }
}

.p-single-products__table {
  margin-top: 1.875rem;
}

.p-single-products__howto-wrapper {
  max-width: 33.8125rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-single-products__howto-wrapper {
    max-width: 37.5rem;
  }
}

.p-single-products__howto-container {
  margin-top: 1.875rem;
}

.p-single-products__howto-ttl {
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__howto-ttl {
    margin-bottom: 1.25rem;
  }
}

.p-single-products__howto-top {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-single-products__howto-top {
    font-size: 0.875rem;
  }
}

.p-single-products__howto-bottom {
  font-size: max(0.75rem, 8px);
  letter-spacing: 0.1em;
  line-height: 180%;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__howto-bottom {
    font-size: 0.75rem;
  }
}

/*----------------------------------------------
購入はこちら
----------------------------------------------*/
.p-single-products__buy {
  margin-top: 10rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__buy {
    margin-top: 5.625rem;
  }
}

@media screen and (max-width: 768px) {
  .p-single-products__buy-inner {
    container-type: inline-size;
  }
}

.p-single-products__buy-list {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: repeat(auto-fill, minmax(0, 16.0625rem));
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__buy-list {
    gap: 2.5rem 1.25rem;
    grid-template-columns: minmax(0, 20.625rem);
            justify-content: center;
    margin-inline: auto;
    margin-top: 2.5rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
  @container (min-width: 516px) {
    .p-single-products__buy-list {
      grid-template-columns: repeat(2, minmax(0, 16.0625rem));
    }
  }
}

.p-single-products__buy-item {
  min-width: 0;
}

.c-product-card {
  border: 1px solid var(--l-gray-e);
  border-radius: 0.5rem;
  max-width: 18.5rem;
  padding: 1.125rem 1.25rem 1.25rem;
  padding: 1.25rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-product-card {
    max-width: 21.25rem;
    padding: 1rem;
  }
}

.c-product-card__img {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-inline: auto;
  max-width: 16rem;
  width: 100%;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}

.c-product-card__img img {
  height: 100%;
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}

.c-product-card__body {
  margin-top: 1.25rem;
}

.c-product-card__ttl {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 160%;
}
@media screen and (max-width: 768px) {
  .c-product-card__ttl {
    font-size: 0.875rem;
  }
}

.c-product-card__btn-wrapper {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .c-product-card__btn-wrapper {
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            flex-direction: column;
            justify-content: center;
    margin-top: 1.25rem;
        -ms-flex-align: center;
        -ms-flex-direction: column;
        -ms-flex-pack: center;
    -webkit-box-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-box-pack: center;
  }
}

.c-product-card__btn:not(:first-child) {
  margin-top: 0.625rem;
}

/*----------------------------------------------
ブランドについて
----------------------------------------------*/
.p-single-products__brand {
  margin-top: 9.6875rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__brand {
    margin-top: 5rem;
  }
}

.p-single-products__brand-container {
  background-color: var(--l-blue-e);
  border-radius: 0.625rem;
  margin-top: 3.0625rem;
  padding-block: 3.75rem;
  padding-inline: 9.0625rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__brand-container {
    margin-inline: auto;
    margin-top: 1.875rem;
    max-width: 37.5rem;
    padding-block: 7.6923076923vw;
    padding-inline: 5.1282051282vw;
  }
}

.p-single-products__brand-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
          justify-content: center;
  max-width: 51.875rem;
  width: 100%;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-single-products__brand-wrapper {
            flex-direction: column;
    gap: 1.25rem;
    max-width: 37.5rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-single-products__brand-img {
          align-items: center;
  background-color: var(--white);
  border-radius: 0.3125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
          justify-content: center;
  max-width: 18.1875rem;
  min-height: 13.25rem;
  width: 100%;
      -ms-flex-align: center;
  -ms-flex-negative: 0;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-single-products__brand-img {
        align-self: center;
    -ms-flex-item-align: center;
  }
}

.p-single-products__brand-img img {
  height: auto;
     object-fit: contain;
  width: 48%;
  -o-object-fit: contain;
}

.p-single-products__brand-img img[alt=ファインフレグランス] {
  width: 71%;
}

.p-single-products__brand-img img[alt=プロのチカラ] {
  width: 40%;
}

.p-single-products__brand-img img[alt=SHIROI],
.p-single-products__brand-img img[alt=ヨゴケシくん] {
  width: 60%;
}

.p-single-products__brand-name {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  .p-single-products__brand-name {
    font-size: 1.125rem;
    letter-spacing: 0.07em;
    text-align: center;
  }
}

.p-single-products__brand-txt {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.18em;
  line-height: 180%;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__brand-txt {
    font-size: 0.875rem;
    margin-top: 1.125rem;
  }
}

.p-single-products__brand-btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
          justify-content: center;
  margin-top: 3rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-single-products__brand-btn-wrapper {
        flex-wrap: wrap;
    gap: 1.25rem;
    margin-top: 1.875rem;
    -ms-flex-wrap: wrap;
  }
}

/*----------------------------------------------
おすすめ製品
----------------------------------------------*/
.p-single-products__recommend {
  margin-top: 9.9375rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__recommend {
    margin-top: 5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-single-products__recommend-inner {
    container-type: inline-size;
  }
}

.p-single-products__recommend-list {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: repeat(auto-fill, minmax(0, 16.0625rem));
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-single-products__recommend-list {
    gap: 2.5rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 10.625rem));
            justify-content: center;
    margin-inline: auto;
    margin-top: 2.5rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
  @container (min-width: 516px) {
    .p-single-products__recommend-list {
      grid-template-columns: repeat(auto-fill, minmax(0, 12.5rem));
    }
  }
}

.p-single-products__recommend-item {
  min-width: 0;
}

.p-single-products__recommend-link {
  display: block;
  width: 100%;
}

@media (any-hover: hover) {
  .p-single-products__recommend-link:hover .c-recommend-card__img img {
    scale: 1.05;
  }
  .p-single-products__recommend-link:hover .c-recommend-card__tag {
    opacity: 0.7;
  }
  .p-single-products__recommend-link:hover .p-single-products__recommend-item-ttl {
    color: var(--blue-0);
  }
  .p-single-products__recommend-link:hover .c-recommend-card__hash {
    color: var(--blue-0);
  }
}
.p-single-products__recommend-btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 4.125rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-single-products__recommend-btn-wrapper {
    margin-top: 1.875rem;
  }
}

/*----------------------------------------------
リッチエディタ 製品説明
----------------------------------------------*/
.p-single-products__top-desc {
  border-top: 1px solid var(--l-gray-e);
  margin-top: 1.25rem;
  padding-top: 1.875rem;
}
.p-single-products__top-desc h2 {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-single-products__top-desc h2 {
    font-size: 0.875rem;
    letter-spacing: 0.07em;
  }
}
.p-single-products__top-desc ul, .p-single-products__top-desc ol {
  margin-top: 1.25rem;
}
.p-single-products__top-desc ul {
  list-style: disc;
  padding-left: 1.25rem;
}
.p-single-products__top-desc ol {
  list-style: decimal;
  padding-left: 1.25rem;
}
.p-single-products__top-desc ul > li, .p-single-products__top-desc ol > li, .p-single-products__top-desc p {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-single-products__top-desc ul > li, .p-single-products__top-desc ol > li, .p-single-products__top-desc p {
    font-size: 0.875rem;
  }
}
.p-single-products__top-desc p {
  margin-top: 0.3125rem;
}
@media (any-hover: hover) {
  .p-single-products__top-desc a:hover {
    opacity: 0.7;
  }
}

/*----------------------------------------------
リッチエディタ 使用方法
----------------------------------------------*/
.p-single-products__howto-container {
  margin-top: 1.875rem;
}
.p-single-products__howto-container h2 {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.07em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-single-products__howto-container h2 {
    font-size: 0.875rem;
  }
}
.p-single-products__howto-container ul, .p-single-products__howto-container ol {
  margin-top: 1.25rem;
}
.p-single-products__howto-container ul {
  list-style: disc;
  padding-left: 1.25rem;
}
.p-single-products__howto-container ol {
  list-style: decimal;
  padding-left: 1.25rem;
}
.p-single-products__howto-container ul > li, .p-single-products__howto-container ol > li, .p-single-products__howto-container p {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-single-products__howto-container ul > li, .p-single-products__howto-container ol > li, .p-single-products__howto-container p {
    font-size: 0.875rem;
  }
}
.p-single-products__howto-container p {
  margin-top: 0.3125rem;
}
.p-single-products__howto-container a {
  color: var(--blue-1);
  text-decoration: underline;
}
@media (any-hover: hover) {
  .p-single-products__howto-container a:hover {
    opacity: 0.7;
  }
}
.p-single-products__howto-container iframe {
  aspect-ratio: 16/9;
  height: 100%;
  margin-top: 1.25rem;
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}

.p-single-tips {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips {
    padding-top: 4.375rem;
  }
}

.p-single-tips__inner {
  max-width: 62.5rem;
}

.p-single-tips__ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-single-tips__ttl {
    font-size: 1.375rem;
    letter-spacing: 0.05em;
    line-height: 1.65;
  }
}

.p-single-tips__content {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content {
    margin-top: 1.875rem;
  }
}
.p-single-tips__content p {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  margin-block: 0.9375rem 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content p {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    margin-block: 0.9375rem;
  }
}
.p-single-tips__content figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-block: 1.25rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content figure {
    margin-block: 0.9375rem;
  }
}
.p-single-tips__content h2 {
  background-color: var(--l-blue-e);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-block: 3.125rem 1.875rem;
  padding: 0.9375rem 1.25rem;
  position: relative;
}
.p-single-tips__content h2::before {
  background-color: var(--blue-0);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 0.1875rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content h2 {
    border-radius: 0.5rem;
    font-size: 1.25rem;
    padding: 0.5rem 0.9375rem;
  }
}
.p-single-tips__content h3 {
  border-bottom: 3px solid var(--l-blue-e);
  font-size: 1.25rem;
  font-weight: 500;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-block: 1.875rem 1.25rem;
  padding-bottom: 0.3125rem;
  padding-left: 0.625rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content h3 {
    font-size: 1.125rem;
  }
}
.p-single-tips__content h4 {
  background: var(--gradient-c);
  color: var(--white);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-block: 0.625rem 0.3125rem;
  padding: 0.3125rem 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content h4 {
    font-size: 1rem;
  }
}
.p-single-tips__content h5 {
  background: var(--gradient-w);
  color: var(--white);
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-block: 0.625rem 0.3125rem;
  padding: 0.3125rem 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content h5 {
    font-size: 0.9375rem;
  }
}
.p-single-tips__content a {
  color: var(--blue-0);
  text-decoration: underline;
  transition: opacity 0.3s ease;
  -webkit-transition: opacity 0.3s ease;
}
.p-single-tips__content a:hover {
  opacity: 0.7;
}
.p-single-tips__content ol {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  list-style: decimal;
  padding-left: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content ol {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    padding-left: 0.9375rem;
  }
}
.p-single-tips__content ul {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  list-style: disc;
  padding-left: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content ul {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    padding-left: 0.9375rem;
  }
}
.p-single-tips__content .wp-block-button {
  margin-block: 2.5rem 1.25rem;
}
.p-single-tips__content .wp-block-buttons .wp-block-button__link {
  background: var(--gradient-c);
  border: none;
  border-radius: 999px;
  color: var(--white);
  display: block;
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1;
  min-width: 18.75rem;
  padding: 1.40625rem 1.875rem;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.3s;
  width: 100%;
  -webkit-transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .p-single-tips__content .wp-block-buttons .wp-block-button__link {
    font-size: 0.875rem;
    min-width: 15.625rem;
    padding: 1.25rem 1.25rem;
  }
}
@media (any-hover: hover) {
  .p-single-tips__content .wp-block-buttons .wp-block-button__link:hover {
    opacity: 0.7;
  }
}

/****************************
/関連コラム
****************************/
.p-single-tips__related {
  padding-top: 9.375rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__related {
    padding-top: 5rem;
  }
}

@media screen and (max-width: 768px) {
  .p-single-tips__related-inner {
    container-type: inline-size;
  }
}

.p-single-tips__related-list {
  display: grid;
  gap: 1.875rem;
  grid-template-columns: repeat(auto-fill, minmax(0, 22.0625rem));
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .p-single-tips__related-list {
    gap: 2.5rem 1.25rem;
    grid-template-columns: repeat(auto-fill, minmax(0, 21.25rem));
            justify-content: center;
    margin-inline: auto;
    margin-top: 2.5rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
  @container (min-width: 600px) {
    .p-single-tips__related-list {
      grid-template-columns: repeat(3, minmax(0, 20.625rem));
    }
  }
}

.p-single-tips__related-btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 3.125rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-single-tips__related-btn-wrapper {
    margin-top: 2.5rem;
  }
}

.p-slogan {
  padding-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-slogan {
    padding-top: 5rem;
  }
}

.p-slogan__container {
  margin-inline: auto;
  max-width: 59.375rem;
}

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

.p-slogan__block + .p-slogan__block {
  margin-top: 3.25rem;
}
@media screen and (max-width: 768px) {
  .p-slogan__block + .p-slogan__block {
    margin-top: 1.875rem;
  }
}

.p-slogan__block > .c-bar-ttl + * {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-slogan__block > .c-bar-ttl + * {
    margin-top: 1.25rem;
  }
}

.p-slogan__motto {
  margin-inline: auto;
  max-width: 43.75rem;
}
@media screen and (max-width: 768px) {
  .p-slogan__motto {
    max-width: 34.375rem;
  }
}

.p-slogan__motto-img {
  height: auto;
  width: 100%;
}

.p-slogan__slogan {
  color: var(--blue-0);
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-slogan__slogan {
    font-size: 1.25rem;
  }
}

.p-slogan__determination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 1.25rem;
  margin: 0;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-slogan__determination {
    gap: 2.5rem;
  }
}

.p-slogan__determination-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
          justify-content: space-between;
      -ms-flex-pack: justify;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-slogan__determination-item {
            align-items: stretch;
            flex-direction: column;
    gap: 0.625rem;
        -ms-flex-align: stretch;
        -ms-flex-direction: column;
    -webkit-box-align: stretch;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-slogan__determination-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex: 1;
          flex-direction: column;
  gap: 1.25rem;
      -ms-flex: 1;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-flex: 1;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-slogan__determination-body {
    gap: 0.625rem;
  }
}

.p-slogan__determination-ttl {
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-slogan__determination-ttl {
    font-size: 1.125rem;
  }
}

.p-slogan__determination-txt {
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

.p-slogan__determination-img {
      flex-shrink: 0;
  width: 22.0625rem;
  -ms-flex-negative: 0;
}
@media screen and (max-width: 768px) {
  .p-slogan__determination-img {
    width: 100%;
  }
}

.p-slogan__determination-img img {
  aspect-ratio: 353/188;
  border-radius: 0.3125rem;
  height: auto;
     object-fit: cover;
  width: 100%;
  -o-object-fit: cover;
}

.p-slogan-banner {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-slogan-banner {
    margin-top: 5rem;
  }
}

.p-slogan-banner__box {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative;
      -ms-flex-align: center;
  -webkit-box-align: center;
}
@media screen and (max-width: 768px) {
  .p-slogan-banner__box {
    border-radius: 0.625rem;
            flex-direction: column;
    gap: 1.5rem;
    margin-inline: auto;
    max-height: 31.25rem;
    max-width: 26.875rem;
    min-height: unset;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-slogan-banner__box img {
  border-radius: 0.625rem;
  height: auto;
     object-fit: contain;
  width: 100%;
  -o-object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-slogan-banner__box img {
       object-fit: cover;
            order: 2;
    width: 100%;
        -ms-flex-order: 2;
    -o-object-fit: cover;
    -webkit-box-ordinal-group: 3;
  }
}

.p-slogan-banner__content {
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 1.875rem;
  left: 5.25rem;
  position: absolute;
  top: 3.5rem;
  z-index: 1;
      -ms-flex-align: start;
      -ms-flex-direction: column;
  -webkit-box-align: start;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-slogan-banner__content {
    bottom: 2.5rem;
    gap: 1.25rem;
    left: 50%;
    max-width: 18.75rem;
    top: unset;
            transform: translateX(-50%);
    width: 100%;
    -webkit-transform: translateX(-50%);
  }
}

.p-slogan-banner__txt {
  color: var(--white);
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .p-slogan-banner__txt {
    font-size: 0.875rem;
  }
}

.p-slogan-banner__btn {
          align-items: center;
  background-color: var(--white);
  background-image: var(--gradient-c);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  border-radius: 999px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3.125rem;
          justify-content: center;
  padding: 1rem 4.8125rem;
  position: relative;
  transition: all 0.4s ease;
  z-index: 1;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -webkit-transition: all 0.4s ease;
}
@media screen and (max-width: 768px) {
  .p-slogan-banner__btn {
    padding-inline: 0.9375rem;
    width: 100%;
  }
}

.p-slogan-banner__btn::before {
  background: var(--white);
  border-radius: 999px;
  content: "";
  inset: 0.125rem;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  transition: opacity 0.4s ease;
  z-index: 1;
  -webkit-transition: opacity 0.4s ease;
}

.p-slogan-banner__btn-txt {
  background-clip: text;
  background-image: var(--gradient-c);
  color: transparent;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  line-height: 1;
  position: relative;
  transition: background-image 0.3s ease;
  z-index: 2;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-transition: background-image 0.3s ease;
}

@media (any-hover: hover) {
  .p-slogan-banner__btn:hover {
    opacity: 0.7;
  }
}
.p-thanks {
  padding-top: 8rem;
}
@media screen and (max-width: 768px) {
  .p-thanks {
    padding-top: 5rem;
  }
}

.p-thanks__txt-box {
  background-color: var(--l-blue-e);
  border-radius: 0.625rem;
  margin-top: 2.8125rem;
  padding: 3.75rem 1.25rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-thanks__txt-box {
    margin-top: 1.875rem;
  }
}

.p-thanks__top-txt {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  line-height: 180%;
}
@media screen and (max-width: 768px) {
  .p-thanks__top-txt {
    font-size: 1.25rem;
  }
}

.p-thanks__main-txt {
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.1em;
  line-height: 180%;
  margin-inline: auto;
  margin-top: 1.875rem;
  max-width: 53.4375rem;
  width: 100%;
  word-break: keep-all;
}
@media screen and (max-width: 768px) {
  .p-thanks__main-txt {
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
    text-align: left;
  }
}

.p-top-corporate {
  padding-block: 4.0625rem 5.3125rem;
}
@media screen and (max-width: 768px) {
  .p-top-corporate {
    padding-block: 4.6875rem;
  }
}

.p-top-corporate__container {
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6.25vw;
          justify-content: space-between;
  margin-top: 2.875rem;
      -ms-flex-align: start;
      -ms-flex-pack: justify;
  -webkit-box-align: start;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-top-corporate__container {
            align-items: stretch;
            align-items: center;
            flex-direction: column;
    gap: 0;
    margin-top: 1.75rem;
        -ms-flex-align: stretch;
        -ms-flex-align: center;
        -ms-flex-direction: column;
    -webkit-box-align: stretch;
    -webkit-box-align: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-top-corporate__img-wrapper {
  aspect-ratio: 717/464;
      flex-shrink: 0;
  max-width: 44.8125rem;
  width: 100%;
  -ms-flex-negative: 0;
}
@media screen and (max-width: 768px) {
  .p-top-corporate__img-wrapper {
    aspect-ratio: 340/222;
    height: auto;
    max-width: 37.5rem;
    width: 100%;
  }
}

.p-top-corporate__img-wrapper img {
  border-radius: 0.625rem;
  display: block;
  height: 100%;
     object-fit: cover;
  width: 100%;
  -o-object-fit: cover;
}

.p-top-corporate__info {
  max-width: 19.4375rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-corporate__info {
    max-width: 37.5rem;
    width: 100%;
  }
}

.p-top-corporate__info-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-top-corporate__info-wrapper {
    margin-top: 0.625rem;
    width: 100%;
  }
}

.p-top-corporate__link {
      align-content: center;
  background-image: -webkit-gradient(linear, left top, right top, from(var(--l-blue-e)), to(var(--l-blue-e)));
  background-image: linear-gradient(to right, var(--l-blue-e), var(--l-blue-e));
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 0 100%;
  border-bottom: 0.0625rem solid var(--l-gray-e);
  color: var(--c-main);
  display: block;
  font-weight: 500;
  line-height: 1;
  padding-block: 1.4375rem;
  padding-inline: 0.5em;
  position: relative;
  transition: background-size 0.4s ease;
  z-index: 2;
  -ms-flex-line-pack: center;
  -webkit-transition: background-size 0.4s ease;
}
@media screen and (max-width: 768px) {
  .p-top-corporate__link {
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.875rem;
    line-height: 1.6;
    padding-block: 1.21875rem;
    padding-inline: 0;
        -ms-flex-align: center;
    -webkit-box-align: center;
  }
}

.p-top-corporate__link[data-state=enter] {
  background-position: left center;
  background-size: 100% 100%;
}

.p-top-corporate__link[data-state=leave] {
  background-position: right center;
  background-size: 0 100%;
}

.p-top-corporate__link::before {
  background-color: var(--blue-0);
  bottom: 0;
  content: "";
  display: block;
  height: 0.125rem;
  left: 0;
  pointer-events: none;
  position: absolute;
          transform: scaleX(0);
          transform-origin: left bottom;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  width: 100%;
  z-index: 1;
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: left bottom;
  -webkit-transition: -webkit-transform 0.4s ease;
}

.p-top-corporate__link[data-state=enter]::before {
          transform: scaleX(1);
          transform-origin: left bottom;
  -webkit-transform: scaleX(1);
  -webkit-transform-origin: left bottom;
}

.p-top-corporate__link[data-state=leave]::before {
          transform: scaleX(0);
          transform-origin: right bottom;
  -webkit-transform: scaleX(0);
  -webkit-transform-origin: right bottom;
}

.p-top-corporate__link::after {
  background-image: url(../img/icon/arrow_right-blue.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 0.75rem;
  position: absolute;
  right: 0.625rem;
  top: 50%;
          transform: translateY(-50%);
  transition: background-color 0.3s ease;
  width: 0.4375rem;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  -webkit-transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-top-corporate__link::after {
    height: 0.75rem;
    right: 0;
    width: 0.4375rem;
  }
}

.p-top-corporate__btn-wrapper {
  margin-top: 2.5625rem;
}
@media screen and (max-width: 768px) {
  .p-top-corporate__btn-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            justify-content: center;
    margin: 2.3125rem auto 0;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.p-top-mv {
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .p-top-mv {
    padding-bottom: 10.1875rem;
    position: relative;
  }
}

.p-top-mv__img-box {
  height: auto;
  margin-left: auto;
  position: relative;
  width: 100%;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .p-top-mv__img-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            flex-direction: column;
            justify-content: center;
        -ms-flex-direction: column;
        -ms-flex-pack: center;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
    -webkit-box-pack: center;
  }
}

.p-top-mv__img {
  margin-left: auto;
  position: relative;
}

.p-top-mv__img img {
  aspect-ratio: 1440/507;
  height: 100%;
     object-fit: cover;
  width: 100%;
  -o-object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-top-mv__img img {
    aspect-ratio: 390/520;
    height: min(133.3333333333vw, 760px);
       object-position: bottom;
    -o-object-position: bottom;
  }
}

/****************************
Splide（MV・フェード）
****************************/
.p-top-mv__splide.splide {
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.p-top-mv__splide .splide__track,
.p-top-mv__splide .splide__list {
  height: 31.6875rem;
}
@media screen and (max-width: 768px) {
  .p-top-mv__splide .splide__track,
  .p-top-mv__splide .splide__list {
    height: min(133.3333333333vw, 760px);
  }
}

.p-top-mv__splide.splide--fade .splide__slide {
  height: 100%;
}

.p-top-mv__splide .splide__slide > .p-top-mv__img {
  display: block;
  height: 100%;
  width: 100%;
}

.p-top-mv__splide .splide__slide {
  position: relative;
}

.p-top-mv__txt-box {
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 0.875rem;
  height: 100%;
  left: 9.3%;
  max-width: 30.625rem;
  padding-inline: 1.5625rem;
  padding-top: 8.4375rem;
  position: absolute;
  top: 50%;
          transform: translateY(-50%);
  width: 100%;
  z-index: 1;
      -ms-flex-align: start;
      -ms-flex-direction: column;
  -webkit-box-align: start;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-top-mv__txt-box {
    gap: 0.75rem;
    height: unset;
    left: 0;
    padding-top: 0;
    top: 6.875rem;
            transform: translateY(0);
    -webkit-transform: translateY(0);
  }
}

.p-top-mv__ttl {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  line-height: 1.6666666667;
}
@media screen and (max-width: 768px) {
  .p-top-mv__ttl {
    font-size: 1.375rem;
    line-height: 1.6;
  }
}

.p-top-mv__txt {
  font-size: max(0.9375rem, 10px);
  font-weight: 500;
  letter-spacing: 0.25em;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-top-mv__txt {
    font-size: 0.875rem;
    line-height: 2;
  }
}

.p-top-mv__bnr-img-box {
  margin-inline: auto;
  margin-top: -5.4375rem;
  max-width: 104.7222222222vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-img-box {
    bottom: 0;
            box-sizing: border-box;
    left: 0;
    margin-inline: 0;
    margin-top: 0;
    max-width: none;
    overflow: hidden;
    position: absolute;
    right: 0;
    z-index: 2;
    -webkit-box-sizing: border-box;
  }
}

/****************************
Splide（バナー・横スライド）
****************************/
.p-top-mv__bnr-splide.splide {
          align-items: stretch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 1.875rem;
  overflow: visible;
  position: relative;
  width: 100%;
      -ms-flex-align: stretch;
      -ms-flex-direction: column;
  -webkit-box-align: stretch;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide.splide {
    gap: 1.0625rem;
    overflow: hidden;
  }
}

.p-top-mv__bnr-splide .splide__track {
  overflow: visible;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__track {
    overflow: hidden;
  }
}

@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            flex-direction: row;
        -ms-flex-direction: row;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
  }
}

.p-top-mv__bnr-splide .splide__arrows {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
      flex-shrink: 0;
  gap: 2.75rem;
          justify-content: center;
  margin-inline: auto;
      -ms-flex-align: center;
  -ms-flex-negative: 0;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__arrows {
    gap: 1.25rem;
    max-width: 100%;
  }
}

.p-top-mv__bnr-splide .splide__arrow--prev {
          flex: 0 0 2.75rem;
  width: 2.75rem;
      -ms-flex: 0 0 2.75rem;
  -webkit-box-flex: 0;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__arrow--prev {
        flex-basis: 2.5rem;
    width: 2.5rem;
    -ms-flex-preferred-size: 2.5rem;
  }
}

.p-top-mv__bnr-splide .splide__arrow--next {
          flex: 0 0 2.75rem;
  width: 2.75rem;
      -ms-flex: 0 0 2.75rem;
  -webkit-box-flex: 0;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__arrow--next {
        flex-basis: 2.5rem;
    width: 2.5rem;
    -ms-flex-preferred-size: 2.5rem;
  }
}

.p-top-mv__bnr-splide .splide__pagination {
  bottom: auto;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
          flex: 1 1 auto;
  gap: 2.5rem;
          justify-content: center;
  left: auto;
  margin: 0;
  min-width: 0;
  padding: 0;
  position: static;
          transform: none;
  width: auto;
      -ms-flex: 1 1 auto;
      -ms-flex-pack: center;
  -webkit-box-flex: 1;
  -webkit-box-pack: center;
  -webkit-transform: none;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__pagination {
    gap: 1.375rem;
    position: relative;
    top: -0.125rem;
  }
}

.p-top-mv__bnr-splide .splide__pagination li {
  margin: 0;
}

.p-top-mv__bnr-splide .splide__pagination__page {
  background: var(--l-gray-c);
  border: none;
  border-radius: 50%;
      flex-shrink: 0;
  height: 0.625rem;
  margin: 0;
  min-height: 0.625rem;
  min-width: 0.625rem;
  opacity: 1;
  padding: 0;
          transform: scale(1);
  transition: background-color 0.25s ease;
  width: 0.625rem;
  -ms-flex-negative: 0;
  -webkit-transform: scale(1);
  -webkit-transition: background-color 0.25s ease;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__pagination__page {
    height: 0.5rem;
    min-height: 0.5rem;
    min-width: 0.5rem;
    width: 0.5rem;
  }
}

.p-top-mv__bnr-splide .splide__pagination__page.is-active {
  background: var(--blue-0);
  height: 0.625rem;
  min-height: 0.625rem;
  min-width: 0.625rem;
          transform: scale(1);
  width: 0.625rem;
  -webkit-transform: scale(1);
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__pagination__page.is-active {
    height: 0.5rem;
    min-height: 0.5rem;
    min-width: 0.5rem;
    width: 0.5rem;
  }
}

.p-top-mv__bnr-splide .splide__pagination__page:hover:not(.is-active) {
  background: var(--gray-89);
}

.p-top-mv__bnr-splide-arrows {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2.75rem;
          justify-content: center;
  margin-inline: auto;
  width: 100%;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide-arrows {
            box-sizing: border-box;
    height: 2.375rem;
    padding-inline: 0;
    -webkit-box-sizing: border-box;
  }
}

.p-top-mv__bnr-splide .splide__arrow {
  background: transparent;
  border: none;
  cursor: pointer;
  height: 2.75rem;
  opacity: 1;
  position: relative;
          transform: none;
  width: 2.75rem;
  -webkit-transform: none;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__arrow {
        flex-shrink: 0;
    height: 2.5rem;
    width: 2.5rem;
    -ms-flex-negative: 0;
  }
}

.p-top-mv__bnr-splide .splide__arrow svg {
  display: none;
}

.p-top-mv__bnr-splide .splide__arrow::before {
  border: 0;
  border-right: solid 2px var(--blue-0);
  border-top: solid 2px var(--blue-0);
  content: "";
  display: block;
  height: 1.25rem;
  position: absolute;
  top: 50%;
          transform: rotate(45deg);
  width: 1.25rem;
  -webkit-transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__arrow::before {
    height: 1rem;
    width: 1rem;
  }
}

.p-top-mv__bnr-splide .splide__arrow--prev::before {
  left: 60%;
          transform: translate(-50%, -50%) rotate(-135deg);
  -webkit-transform: translate(-50%, -50%) rotate(-135deg);
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__arrow--prev::before {
    left: 45%;
  }
}

.p-top-mv__bnr-splide .splide__arrow--next::before {
  right: 10%;
          transform: translate(-50%, -50%) rotate(45deg);
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
}

.p-top-mv__bnr-splide .splide__arrow:disabled {
  cursor: default;
  opacity: 0.35;
}

.p-top-mv__bnr-splide .splide__slide {
          box-sizing: border-box;
  height: auto;
  -webkit-box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .splide__slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-shrink: 0;
            justify-content: center;
    width: 17.375rem;
    -ms-flex-negative: 0;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.p-top-mv__bnr-splide .p-top-mv__img-link {
  color: inherit;
  display: block;
  margin-inline: auto;
  max-width: 30.25rem;
  text-decoration: none;
  transition: opacity 0.3s ease;
  width: 100%;
  -webkit-transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .p-top-mv__img-link {
    max-width: 17.375rem;
    width: 17.375rem;
  }
}

@media (any-hover: hover) {
  a.p-top-mv__img-link:hover img,
  a.p-top-mv__img-link.is-hover img {
    scale: 1.05;
  }
}
.p-top-mv__bnr-splide .p-top-mv__bottom-img {
  border-radius: 0.625rem;
  margin-inline: auto;
  max-width: 30.25rem;
  overflow: hidden;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .p-top-mv__bottom-img {
    border-radius: 0.3125rem;
    max-width: 17.375rem;
    width: 17.375rem;
  }
}

.p-top-mv__bnr-splide .p-top-mv__bottom-img img {
  aspect-ratio: 484/225;
  border-radius: 0.625rem;
  display: block;
  height: auto;
  max-width: 30.25rem;
     object-fit: contain;
  scale: 1;
  transition: all 0.3s;
  width: 100%;
  -o-object-fit: contain;
  -webkit-transition: all 0.3s;
}
@media screen and (max-width: 768px) {
  .p-top-mv__bnr-splide .p-top-mv__bottom-img img {
    aspect-ratio: 278/130;
    border-radius: 0.3125rem;
    max-width: 17.375rem;
       object-fit: contain;
    width: 17.375rem;
    -o-object-fit: contain;
  }
}

.p-top-news {
  padding-top: 9.6875rem;
}
@media screen and (max-width: 768px) {
  .p-top-news {
    padding-top: 5.125rem;
  }
}

.p-top-news__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: space-between;
  margin-top: 2.8125rem;
      -ms-flex-pack: justify;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-top-news__container {
            flex-direction: column;
    gap: 0;
    margin-inline: auto;
    margin-top: 1.75rem;
    max-width: 43.75rem;
        -ms-flex-direction: column;
    -webkit-box-direction: normal;
    -webkit-box-orient: vertical;
  }
}

.p-top-news__btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
          justify-content: space-between;
  width: 9.25rem;
      -ms-flex-direction: column;
      -ms-flex-pack: justify;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-top-news__btn-wrapper {
    display: contents;
  }
}

.p-top-news__tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: column;
  gap: 0.5rem;
      -ms-flex-direction: column;
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
}
@media screen and (max-width: 768px) {
  .p-top-news__tag-list {
    display: grid;
    gap: 0.375rem 1.0256410256vw;
    grid-template-columns: repeat(auto-fill, 10.5rem);
            justify-content: center;
    justify-items: start;
            order: 1;
    width: 100%;
        -ms-flex-order: 1;
        -ms-flex-pack: center;
    -webkit-box-ordinal-group: 2;
    -webkit-box-pack: center;
  }
}

@media screen and (max-width: 768px) {
  .p-top-news__tag-item {
    max-width: 10.5rem;
  }
}

.p-top-news__list-btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 12.0625rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-top-news__list-btn-wrapper {
    margin-top: 1.875rem;
            order: 3;
        -ms-flex-order: 3;
    -webkit-box-ordinal-group: 4;
  }
}

.p-top-news__list {
  max-width: 55.8125rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-news__list {
    margin-top: 1.0625rem;
            order: 2;
        -ms-flex-order: 2;
    -webkit-box-ordinal-group: 3;
  }
}

.p-top-news__item:first-child .c-news__link {
  border-top: 0.0625rem solid var(--l-gray-e);
}
@media screen and (max-width: 768px) {
  .p-top-news__item:first-child .c-news__link {
    border-top: none;
  }
}

.p-top-product {
  padding-bottom: 8.375rem;
  padding-top: 10.25rem;
}
@media screen and (max-width: 768px) {
  .p-top-product {
    padding-bottom: 6.25rem;
    padding-top: 7.4375rem;
  }
}

.p-top-recruit {
  overflow: hidden;
  padding-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .p-top-recruit {
    padding-top: 2.8125rem;
  }
}

.p-top-recruit__wrapper {
  margin-top: 3.3125rem;
  max-height: 31.25rem;
  padding-bottom: 7.2916666667vw;
  padding-top: 11.3888888889vw;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__wrapper {
    margin-top: 1.875rem;
    max-height: unset;
    padding: 0;
  }
}

.p-top-recruit__bg {
  aspect-ratio: 1440/500;
  height: 31.25rem;
  left: 0;
     object-fit: cover;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
  -o-object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__bg {
    aspect-ratio: 390/290;
    height: auto;
    position: static;
  }
}

.p-top-recruit__inner {
  margin-left: auto;
  max-width: 65.4375rem;
  width: 100%;
}

.p-top-recruit__content {
  max-width: 21.6875rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__content {
    margin-inline: auto;
    margin-top: -1.875rem;
    max-width: unset;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.p-top-recruit__sub-ttl {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__sub-ttl {
    font-size: 1.3125rem;
    line-height: 1.6;
  }
}

.p-top-recruit__txt {
  font-size: max(0.75rem, 10px);
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 2.0833333333;
  margin-top: 1.375rem;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__txt {
    font-size: 0.875rem;
    letter-spacing: 0.13em;
    line-height: 2;
    margin-top: 1rem;
  }
}

.p-top-recruit__btn-wrapper {
  margin-top: 3.0625rem;
}
@media screen and (max-width: 768px) {
  .p-top-recruit__btn-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
            justify-content: center;
    margin-top: 2.5rem;
        -ms-flex-pack: center;
    -webkit-box-pack: center;
  }
}

.p-top-tips {
  background-image: url(../img/top/bg_tips.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  height: auto;
  overflow: hidden;
  padding-bottom: 6.25rem;
  padding-top: 10.4166666667vw;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-tips {
    background-image: url(../img/top/bg_tips-sp.png);
    background-size: 100% 22.4375rem;
    padding-bottom: 2.8125rem;
    padding-top: 5rem;
  }
}

.p-top-tips__inner {
  max-width: 62.5rem;
}
@media screen and (max-width: 768px) {
  .p-top-tips__inner {
    padding-left: 1.4375rem;
    padding-right: 1.6875rem;
  }
}

.p-top-tips__head {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
          justify-content: space-between;
  margin-left: auto;
  width: 64.6875rem;
      -ms-flex-align: center;
      -ms-flex-pack: justify;
  -webkit-box-align: center;
  -webkit-box-pack: justify;
}
@media screen and (max-width: 768px) {
  .p-top-tips__head {
            align-items: flex-end;
    gap: 0.75rem;
    margin-left: 0;
    width: 100%;
        -ms-flex-align: end;
    -webkit-box-align: end;
  }
}

.p-top-tips__ttl {
  color: var(--white);
          flex: 1;
  min-width: 0;
      -ms-flex: 1;
  -webkit-box-flex: 1;
}

.p-top-tips__sub {
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-top-tips__sub {
    font-size: 1rem;
    line-height: 1.65;
  }
}

.p-top-tips__main {
  display: block;
  font-size: 1.5625rem;
  letter-spacing: 0.2em;
  line-height: 1;
  margin-top: 1.1875rem;
}
@media screen and (max-width: 768px) {
  .p-top-tips__main {
    font-size: 1.375rem;
    margin-top: 0.75rem;
  }
}

/****************************
Arrow Buttons
****************************/
.p-top-tips__arrows {
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          flex-direction: row;
      flex-shrink: 0;
  gap: 2rem;
  left: -0.375rem;
  position: relative;
  top: 1.6875rem;
      -ms-flex-align: center;
      -ms-flex-direction: row;
  -ms-flex-negative: 0;
  -webkit-box-align: center;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
}
@media screen and (max-width: 768px) {
  .p-top-tips__arrows {
    gap: 1.25rem;
    left: 0;
    top: 0.625rem;
  }
}

.p-top-tips__arrow-btn {
          align-items: center;
  background: transparent;
  border: 0.125rem solid var(--white);
  border-radius: 50%;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2.75rem;
          justify-content: center;
  opacity: 1;
  padding: 0;
  position: static;
          transform: none;
  width: 2.75rem;
      -ms-flex-align: center;
      -ms-flex-pack: center;
  -webkit-box-align: center;
  -webkit-box-pack: center;
  -webkit-transform: none;
}
@media screen and (max-width: 768px) {
  .p-top-tips__arrow-btn {
    border-width: 0.0625rem;
    height: 2.5625rem;
    width: 2.5625rem;
  }
}

.p-top-tips__arrow-btn::before {
  background-image: url(../img/icon/arrow_right-wh.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 1rem;
  width: 0.5rem;
}

.p-top-tips__arrow-btn--prev::before {
  margin-left: -0.125rem;
          transform: rotate(-180deg);
  -webkit-transform: rotate(-180deg);
}

.p-top-tips__arrow-btn--next::before {
  margin-right: -0.125rem;
}

.p-top-tips__arrow-btn:disabled {
  cursor: default;
  opacity: 0.35;
}

@media (any-hover: hover) {
  .p-top-tips__arrow-btn:hover {
    opacity: 0.7;
  }
}
.p-top-tips__slider {
  clip-path: inset(0 -9999px 0 0);
  margin-top: 5rem;
  -webkit-clip-path: inset(0 -9999px 0 0);
}
@media screen and (max-width: 768px) {
  .p-top-tips__slider {
    clip-path: none;
    margin-left: -1.4375rem;
    margin-right: -1.6875rem;
    margin-top: 3.125rem;
    overflow: hidden;
    padding-left: 1.5625rem;
    width: calc(100% + 3.125rem);
    -webkit-clip-path: none;
  }
}

/****************************
Splide（知恵袋・横スライド）
****************************/
.p-top-tips__splide.splide {
  overflow: visible;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-top-tips__splide.splide {
    overflow: hidden;
  }
}

.p-top-tips__splide .splide__track {
  overflow: visible;
}
@media screen and (max-width: 768px) {
  .p-top-tips__splide .splide__track {
    overflow: hidden;
  }
}

.p-top-tips__splide .splide__list {
          align-items: stretch;
      -ms-flex-align: stretch;
  -webkit-box-align: stretch;
}

.p-top-tips__splide .splide__slide {
          box-sizing: border-box;
  height: auto;
  max-width: 24.1875rem;
  width: 100%;
  -webkit-box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  .p-top-tips__splide .splide__slide {
    max-width: 14.8125rem;
    width: 14.8125rem;
  }
}

.p-top-tips__link {
  color: inherit;
  display: block;
  height: 100%;
  text-decoration: none;
}

.p-top-tips__img {
  transition: opacity 0.3s ease;
  -webkit-transition: opacity 0.3s ease;
}

.p-top-tips__img img {
  aspect-ratio: 387/203;
  border-radius: 0.625rem;
  display: block;
  height: auto;
     object-fit: cover;
  width: 100%;
  -o-object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-top-tips__img img {
    aspect-ratio: 237/124;
    border-radius: 0.4375rem;
  }
}

.p-top-tips__img img[alt=""] {
  border: 0.0625rem solid var(--l-gray-e);
}

.p-top-tips__item-ttl {
  display: -webkit-box;
  font-size: max(0.9375rem, 10px);
  letter-spacing: 0.2em;
  line-height: 1.6666666667;
  margin-top: 1.125rem;
  overflow: hidden;
  transition: color 0.3s ease;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  -webkit-transition: color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-top-tips__item-ttl {
    font-size: 0.875rem;
    line-height: 1.65;
    margin-top: 0.75rem;
  }
}

.p-top-tips__btn-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          justify-content: center;
  margin-top: 3.3125rem;
      -ms-flex-pack: center;
  -webkit-box-pack: center;
}
@media screen and (max-width: 768px) {
  .p-top-tips__btn-wrapper {
    margin-top: 2.5rem;
  }
}

@media (any-hover: hover) {
  .p-top-tips__link:hover .p-top-tips__img {
    opacity: 0.7;
  }
  .p-top-tips__link:hover .p-top-tips__item-ttl {
    color: var(--blue-0);
  }
}
@media screen and (max-width: 768px) {
  .p-top-tips__arrow-btn {
        flex-shrink: 0;
    height: 2.5rem;
    width: 2.5rem;
    -ms-flex-negative: 0;
  }
}
@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}

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

.u-sp-tab {
  display: none;
}
@media screen and (max-width: 600px) {
  .u-sp-tab {
    display: block;
  }
}
/*# sourceMappingURL=styles.css.map */
