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

html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  margin: 0;
  color: #123c1e;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.7;
  background: #ffffff;
}

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

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

ul,
ol {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

.l-main {
  overflow: hidden;
}

.l-container {
  width: min(100% - 32px, 1080px);
  margin-inline: auto;
}

.l-container--wide {
  width: min(100% - 40px, 1440px);
  margin-inline: auto;
}

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.fw-bold {
  font-weight: 600 !important;
}

.is-Sp {
  display: none !important;
}

.is-Pc {
  display: revert !important;
}

@media (max-width: 767px) {
  .is-Sp {
    display: revert !important;
  }
  .is-Pc {
    display: none !important;
  }
}
.l-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: #ffffff;
}

.l-header__inner {
  padding-block: 2px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  width: min(100% - 80px, 1360px);
  min-height: 90px;
  margin-inline: auto;
}

.l-header__brand {
  display: flex;
  align-items: center;
  gap: 22px;
  min-width: 0;
}

.l-header__logo {
  display: block;
  flex: 0 0 auto;
  width: 168px;
  color: inherit;
  background: transparent;
  border-radius: 0;
}

.l-header__logo-image {
  display: block;
  width: 100%;
  height: auto;
}

.l-header__tagline {
  margin: 0;
  color: #123c1e;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
}

.l-header__tagline span {
  display: block;
}

.l-header__actions {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: 0 0 auto;
}

.l-header__payment {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 2px;
  width: 230px;
  margin: 0;
  color: #001c0b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.1;
}

.l-header__payment span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 8px;
  background: #ffe327;
}

.l-header__payment span:nth-child(3) {
  width: 100%;
}

.l-header__tel {
  min-width: 238px;
  text-align: center;
}

.l-header__tel-label,
.l-header__tel-hours {
  margin: 0;
  font-weight: 500;
}

.l-header__tel-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #001c0b;
  font-size: 13px;
  line-height: 1.2;
}

.l-header__tel-label::before,
.l-header__tel-label::after {
  content: "";
  width: 1px;
  height: 16px;
  background: #001c0b;
}

.l-header__tel-label::before {
  transform: rotate(-18deg);
}

.l-header__tel-label::after {
  transform: rotate(18deg);
}

.l-header__tel-number {
  display: block;
  color: #ff4248;
  font-size: 38px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}

.l-header__tel-hours {
  display: flex;
  justify-content: center;
  gap: 16px;
  color: #123c1e;
  font-size: 12px;
  line-height: 1.35;
}

.l-header__tel-hours span {
  display: inline-block;
}

.l-header__menu-button {
  display: none;
}

.l-header__nav {
  background: #15913a;
}

.l-header__nav-list {
  display: flex;
  align-items: center;
  /* 「不用品コラム」を足して10項目になり、固定の gap だと 1024〜1170px で画面からはみ出すため、
     コンテナ幅いっぱいに均等配置して余白を自動で詰める（1440px で約34px、1024px で約19px） */
  justify-content: space-between;
  gap: 16px;
  width: min(100% - 40px, 1120px);
  min-height: 40px;
  margin-inline: auto;
  padding: 0;
  background: transparent;
}

.l-header__nav-item {
  position: relative;
}

.l-header__nav-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}

.l-header__nav-link:hover,
.l-header__nav-link:focus-visible,
.l-header__nav-item.is-current > .l-header__nav-link {
  font-weight: 700;
}

@media (min-width: 1024px) {
  .l-header__nav-item > .l-header__nav-link {
    position: relative;
  }
  .l-header__nav-item > .l-header__nav-link::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 6px;
    left: 0;
    height: 2px;
    background: #ffffff;
    opacity: 0;
    transform: scaleX(0);
    transform-origin: center;
    transition: opacity 0.2s ease, transform 0.2s ease;
  }
  .l-header__nav-item > .l-header__nav-link:hover::before,
  .l-header__nav-item > .l-header__nav-link:focus-visible::before {
    opacity: 1;
    transform: scaleX(1);
  }
}
.l-header__nav-item--has-children > .l-header__nav-link::after {
  content: "";
  width: 0;
  height: 0;
  border-top: 6px solid currentColor;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  transform-origin: center;
  transition: transform 0.2s ease;
}

.l-header__nav-item--has-children:hover > .l-header__nav-link::after,
.l-header__nav-item--has-children:focus-within > .l-header__nav-link::after {
  transform: rotate(180deg);
}

.l-header__subnav {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  min-width: -moz-max-content;
  min-width: max-content;
  padding: 15px 24px;
  visibility: hidden;
  opacity: 0;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.15);
  transform: translateX(calc(-50% + var(--subnav-offset, 0px)));
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.l-header__nav-item--has-children:hover > .l-header__subnav,
.l-header__nav-item--has-children:focus-within > .l-header__subnav {
  visibility: visible;
  opacity: 1;
}

/* 右端の「当社について」のドロップダウンは、中央揃えのままだと非表示の状態でも
   画面の右外にはみ出し、1024〜1280px で横スクロールが出ていた。
   JS の位置補正はホバー時にしか効かないので、項目の右端に揃えておく */
@media (min-width: 1024px) {
  .l-header__nav-item:last-child > .l-header__subnav {
    right: 0;
    left: auto;
    transform: translateX(var(--subnav-offset, 0px));
  }
}

.l-header__subnav-link {
  display: block;
  padding: 0 19px;
  color: #123c1e;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 1.12px;
  white-space: nowrap;
  border-right: 1px solid #15913a;
}

.l-header__subnav-item:last-child .l-header__subnav-link {
  border-right: 0;
}

.l-header__subnav-link:hover,
.l-header__subnav-link:focus-visible {
  color: #15913a;
}

.l-header__mobile-contact {
  display: none;
}

/* スマホで縦にスワイプしたとき、スライダーが横ドラッグと誤判定して
   ページのスクロールを止めてしまうことがあるため、縦方向はブラウザに任せる。
   横方向のドラッグ（スライダーの操作）はこれまでどおり効く */
.splide__track {
  touch-action: pan-y;
}

@media (max-width: 1023px) {
  .l-header__inner {
    gap: 10px;
    width: min(100% - 32px, 390px);
    min-height: 88px;
  }
  .l-header__brand {
    gap: 9px;
  }
  .l-header__logo {
    width: 120px;
  }
  .l-header__tagline {
    font-size: 10px;
    line-height: 1.45;
    letter-spacing: 0;
  }
  .l-header__payment,
  .l-header__tel {
    display: none;
  }
  .l-header__menu-button {
    position: relative;
    z-index: 1002;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 38px;
    min-height: 44px;
    padding: 0;
    color: #15913a;
    background: transparent;
    border: 0;
  }
  .l-header__menu-line {
    display: block;
    width: 31px;
    height: 2px;
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }
  .l-header__menu-line + .l-header__menu-line {
    margin-top: 6px;
  }
  .l-header__menu-text {
    margin-top: 4px;
    color: currentColor;
    font-size: 9px;
    white-space: nowrap;
    font-weight: 700;
    line-height: 1;
  }
  .l-header__menu-button.is-open .l-header__menu-line {
    width: 28px;
    height: 2px;
  }
  .l-header__menu-button.is-open .l-header__menu-line:nth-of-type(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .l-header__menu-button.is-open .l-header__menu-line:nth-of-type(2) {
    opacity: 0;
  }
  .l-header__menu-button.is-open .l-header__menu-line:nth-of-type(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
  .l-header__menu-button.is-open .l-header__menu-text {
    font-size: 0;
  }
  .l-header__menu-button.is-open .l-header__menu-text::after {
    content: "クローズ";
    font-size: 9px;
  }
  .l-header__nav {
    position: fixed;
    top: 88px;
    right: 0;
    bottom: 0;
    z-index: 999;
    width: calc(100% - 112px);
    max-width: 278px;
    padding: 30px 17px 36px 16px;
    overflow-y: auto;
    overscroll-behavior: contain;
    visibility: hidden;
    opacity: 0;
    background: #15913a;
    transform: translateX(100%);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  }
  .l-header__nav.is-open {
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
  }
  .l-header__nav-list {
    display: grid;
    justify-items: end;
    justify-content: end;
    gap: 0;
    width: 100%;
    min-height: 0;
  }
  .l-header__nav-link {
    justify-content: flex-end;
    min-height: 45px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
  }
  .l-header__nav-item--has-children > .l-header__nav-link::after {
    border-top-width: 5px;
    border-right-width: 4px;
    border-left-width: 4px;
  }
  .l-header__nav-item--has-children:hover > .l-header__nav-link::after,
  .l-header__nav-item--has-children:focus-within > .l-header__nav-link::after {
    transform: none;
  }
  .l-header__nav-item--has-children.is-open > .l-header__nav-link::after {
    transform: rotate(180deg);
  }
  .l-header__subnav {
    position: static;
    display: none;
    min-width: 0;
    margin: 0 0 8px;
    padding: 0;
    visibility: visible;
    opacity: 1;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    transform: none;
  }
  .l-header__subnav-link {
    padding: 6px 0;
    color: #ffffff;
    font-size: 14px;
    text-align: right;
    border-right: 0;
  }
  .l-header__subnav-link:hover,
  .l-header__subnav-link:focus-visible {
    color: #ffffff;
    opacity: 0.72;
  }
  .l-header__nav-item.is-open > .l-header__subnav {
    display: block;
  }
  .l-header__mobile-contact {
    display: block;
    width: min(100%, 246px);
    margin: 22px 0 0 auto;
    padding: 17px 14px 18px;
    color: #ffffff;
    text-align: center;
    background: #ff4248;
    border-radius: 16px;
    box-shadow: inset 0 -6px rgba(0, 0, 0, 0.18);
  }
  .l-header__mobile-tel-label {
    margin: 0;
    color: #fdff5b;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
  }
  .l-header__mobile-tel-number {
    display: block;
    margin-top: 4px;
    color: #ffffff;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
  }
  .l-header__mobile-tel-number::before {
    content: "";
    display: inline-block;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    margin-right: 7px;
    vertical-align: -6px;
    background: #ffffff url("../images/common/icon_tel.svg") no-repeat center/46% auto;
  }
  .l-header__mobile-hours {
    display: grid;
    gap: 2px;
    margin: 8px 0 0;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
  }
}
.l-footer {
  padding-block: 80px 72px;
  background: #e8f3eb;
}

.l-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.l-footer__logo {
  display: block;
  width: 209px;
  height: auto;
  color: inherit;
  background: transparent;
  border-radius: 0;
}

.l-footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.l-footer__tagline,
.l-footer__license,
.l-footer__copyright {
  margin: 0;
  color: #123c1e;
}

.l-footer__tagline {
  margin-top: 22px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
}

.l-footer__license {
  display: inline-flex;
  justify-content: center;
  min-width: 247px;
  margin-top: 22px;
  padding: 5px 18px;
  background: #ffffff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.25;
}

.l-footer__copyright {
  margin-top: 36px;
  color: #000;
  font-size: 12px;
  line-height: 1.5;
}

.l-footer__copyright a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.l-footer__sns-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  margin-top: 42px;
}

.l-footer__sns-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  aspect-ratio: 1;
}

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

.l-footer__menus {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 70px;
  min-width: 0;
}

.l-footer__nav {
  min-width: 0;
}

.l-footer__service {
  flex: 0 0 auto;
}

.l-footer__menu-title {
  margin: 0 0 14px;
  color: #15913a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.l-footer__nav-list {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.l-footer__nav-column,
.l-footer__service-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.l-footer__nav-item,
.l-footer__service-item {
  position: relative;
  padding-left: 18px;
}

.l-footer__nav-item::before,
.l-footer__service-item::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 7px;
  aspect-ratio: 1;
  content: "";
  background: #15913a;
  border-radius: 50%;
}

.l-footer__nav-link,
.l-footer__service-link {
  color: #123c1e;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .l-footer {
    padding-block: 56px 28px;
  }
  .l-footer__inner {
    display: flex;
    flex-direction: column;
    gap: 36px;
    width: min(100% - 32px, 390px);
  }
  .l-footer__profile {
    display: contents;
  }
  .l-footer__logo {
    order: 1;
    width: 224px;
    margin-inline: auto;
  }
  .l-footer__tagline {
    order: 2;
    font-size: 14px;
    line-height: 1.65;
    text-align: center;
    margin: -20px auto 0;
  }
  .l-footer__license {
    order: 3;
    min-width: min(230px, 100%);
    margin: -22px auto 0;
    padding: 5px 16px;
    font-size: 12px;
  }
  .l-footer__sns-list {
    order: 4;
    justify-content: center;
    gap: 22px;
    margin: -12px auto 0;
  }
  .l-footer__sns-link {
    width: 29px;
  }
  .l-footer__menus {
    order: 5;
    display: flex;
    flex-direction: column;
    gap: 36px;
  }
  .l-footer__menu-title {
    margin-bottom: 14px;
    font-size: 16px;
  }
  .l-footer__nav-list {
    display: block;
  }
  .l-footer__nav-column {
    display: contents;
  }
  .l-footer__nav .l-footer__nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 0;
  }
  .l-footer__nav-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 10px;
  }
  .l-footer__nav-item--wide {
    flex-basis: 100%;
    max-width: 100%;
  }
  .l-footer__service-list {
    flex-flow: row wrap;
    gap: 18px 0;
  }
  .l-footer__service-item {
    flex: 0 0 50%;
    max-width: 50%;
    padding-right: 10px;
  }
  .l-footer__nav-link,
  .l-footer__service-link {
    font-size: 16px;
    white-space: normal;
  }
  .l-footer__copyright {
    order: 6;
    margin-top: -2px;
    font-size: 12px;
    text-align: center;
  }
}
.c-buttons {
  padding-top: 64px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 24px;
  font-weight: 700;
  line-height: 1.4;
  border: 2px solid transparent;
  border-radius: 999px;
}

.c-button--primary {
  color: #ffffff;
  background: #006b2c;
  border-color: #006b2c;
}

.c-button--secondary {
  text-align: center;
  min-width: 300px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 16px 16px;
  font-weight: 600;
  color: #ffffff;
  border-radius: 100px;
  background: #15913a;
  transition: opacity 0.35s ease;
}

.c-button--secondary:hover,
.c-button--secondary:focus-visible {
  opacity: 0.72;
}

@media (max-width: 767px) {
  .c-buttons {
    margin-bottom: 64px;
  }
}
.btn-more {
  position: relative;
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 10px 52px 10px 24px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  background: #ffffff;
  border: 2px solid #15913a;
  border-radius: 999px;
  box-shadow: 5px 5px 0 #178d39;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.btn-more::before,
.btn-more::after {
  content: "";
  position: absolute;
  top: 50%;
  pointer-events: none;
}

.btn-more::before {
  right: 33px;
  z-index: 1;
  width: 6px;
  height: 9px;
  background: url("../images/common/icon_slide_next.svg") no-repeat center/contain;
  transform: translateY(-50%);
}

.btn-more::after {
  right: 24px;
  width: 24px;
  aspect-ratio: 1;
  background: #15913a;
  border-radius: 50%;
  transform: translateY(-50%);
}

.btn-more:hover {
  transform: translate(4px, 4px);
  box-shadow: 1px 1px 0 #178d39;
}

.btn-more:active {
  transform: translate(5px, 5px);
  box-shadow: 0 0 0 #178d39;
}

.btn-more--on-green {
  border-color: #ffffff;
  box-shadow: 5px 5px 0 #ffdf40;
}

.btn-more--on-green:hover {
  transform: translate(4px, 4px);
  box-shadow: 1px 1px 0 #ffdf40;
}

.btn-more--on-green:active {
  transform: translate(5px, 5px);
  box-shadow: 0 0 0 #ffdf40;
}

@media (hover: none) {
  .btn-more:hover,
  .btn-more--on-green:hover {
    transform: none;
  }
}
.c-card {
  padding: 24px;
  background: #ffffff;
  border: 1px solid #d9e8dc;
  border-radius: 8px;
}

.c-breadcrumb {
  padding-block: 14px;
  background: #ffffff;
}

.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
  color: #808681;
  font-size: 14px;
  line-height: 1.6;
}

.c-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.c-breadcrumb__item a {
  text-decoration: none;
}

.c-breadcrumb__item + .c-breadcrumb__item::before {
  color: #808681;
  content: ">";
}

.c-breadcrumb__link {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.c-page-title {
  display: grid;
  place-items: center;
  min-height: 220px;
  background: url("../images/common/title_bg.webp") no-repeat left center;
  background-size: cover;
}

.c-page-title__inner {
  display: grid;
  place-items: center;
}

.c-page-title__title {
  margin: 0;
  color: #ffffff;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

@media (max-width: 767px) {
  .c-page-title {
    min-height: 150px;
  }
  .c-page-title__title {
    font-size: 32px;
  }
}
.c-cta {
  position: relative;
  overflow: hidden;
  color: #ffffff;
  background-color: #15913a;
  background-image: url("../images/common/repeat_bg_darkgr.webp");
  background-repeat: repeat;
  background-size: 100px 100px;
}

.c-cta .l-container {
  width: min(100% - 64px, 1280px);
}

.c-cta__inner {
  position: relative;
  padding-block: 40px 32px;
}

.c-cta__inner > div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 34px;
}

.c-cta__intro {
  position: relative;
}

.c-cta__headline {
  position: relative;
  z-index: 1;
  text-align: center;
}

.c-cta__title {
  margin: 0;
  color: #ffffff;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.35;
}

.c-cta__lead {
  margin: 16px 0 0;
  color: #ffffff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

.c-cta__person {
  display: block;
  height: auto;
  pointer-events: none;
}

.c-cta__person--left {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 216px;
  min-width: 168px;
  justify-self: start;
  align-self: end;
}

@media (min-width: 1500px) {
  .c-cta__person--left {
    left: calc((100vw - 1440px) / 2 + 40px);
  }
}
.c-cta__person--right {
  position: absolute;
  right: clamp(0px, (100vw - 1200px) * 4.4, 88px);
  bottom: 0;
  z-index: 2;
  width: auto;
  height: 291px;
}

.c-cta__actions {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  padding-right: min(10.4vw, 150px);
}

.c-cta__tel,
.c-cta__link {
  color: #ffffff;
  transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.25s ease, background-color 0.25s ease;
  will-change: transform;
}

.c-cta__tel:hover,
.c-cta__tel:focus-visible,
.c-cta__link:hover,
.c-cta__link:focus-visible {
  transform: translateY(3px);
}

.c-cta__tel:active,
.c-cta__link:active {
  transform: translateY(5px);
}

.c-cta__tel {
  display: grid;
  justify-items: center;
  min-height: 176px;
  padding: 25px 32px 24px;
  background: #ff4248;
  border-radius: 14px;
  box-shadow: inset 0 -6px #ad140f;
}

.c-cta__tel:hover,
.c-cta__tel:focus-visible {
  box-shadow: inset 0 -3px #ad140f;
}

.c-cta__tel:active {
  box-shadow: inset 0 -1px #ad140f;
}

.c-cta__tel-label {
  color: #fdff5b;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
}

.c-cta__tel-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 6px;
}

.c-cta__tel-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 56px;
  aspect-ratio: 1;
  background: #ffffff;
  border-radius: 50%;
  transition: background-color 0.25s ease;
}

.c-cta__tel-icon img {
  display: block;
  width: 25px;
  height: auto;
  transition: filter 0.25s ease;
}

.c-cta__tel-number {
  font-size: clamp(50px, 4.17vw, 60px);
  line-height: 1;
}

.c-cta__hours {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 26px;
  margin-top: 10px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  transition: color 0.25s ease;
}

.c-cta__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.c-cta__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 84px;
  padding: 12px 52px 18px 34px;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: inset 0 -6px rgba(253, 255, 91, 0.9);
}

.c-cta__link--line {
  background: #ffffff;
  color: #15913a;
}

.c-cta__link--mail {
  background: #ff8424;
  color: #ffffff;
}

.c-cta__link:hover,
.c-cta__link:focus-visible {
  box-shadow: inset 0 -3px rgba(253, 255, 91, 0.9);
}

.c-cta__link:active {
  box-shadow: inset 0 -1px rgba(253, 255, 91, 0.9);
}

.c-cta__link-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 35px;
  aspect-ratio: 1;
  transition: background-color 0.25s ease;
}

.c-cta__link-icon img {
  display: block;
  width: 100%;
  height: auto;
}

.c-cta__link--mail .c-cta__link-icon {
  width: 36px;
}

.c-cta__link-label {
  min-width: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}

.c-cta__link-label em {
  font-size: 16px;
  font-weight: 500;
  font-style: normal;
}

.c-cta__link-arrow {
  position: absolute;
  top: 50%;
  right: 18px;
  display: grid;
  place-items: center;
  width: 23px;
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}

.c-cta__link--line .c-cta__link-arrow {
  background: #15913a;
}

.c-cta__link--mail .c-cta__link-arrow {
  background: #ffffff;
}

.c-cta__link-arrow::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 2px;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid currentColor;
}

.c-cta__link--line .c-cta__link-arrow::before {
  color: #ffffff;
}

.c-cta__link--mail .c-cta__link-arrow::before {
  color: #ff8424;
}

@media (min-width: 768px) {
  .c-cta__tel:hover,
  .c-cta__tel:focus-visible {
    color: #ff4248;
    background: #ffffff;
  }
  .c-cta__tel:hover .c-cta__hours,
  .c-cta__tel:focus-visible .c-cta__hours {
    color: #ff4248;
  }
  .c-cta__tel:hover .c-cta__tel-label,
  .c-cta__tel:focus-visible .c-cta__tel-label {
    color: #ff4248;
  }
  .c-cta__tel:hover .c-cta__tel-icon,
  .c-cta__tel:focus-visible .c-cta__tel-icon {
    background: #ff4248;
  }
  .c-cta__tel:hover .c-cta__tel-icon img,
  .c-cta__tel:focus-visible .c-cta__tel-icon img {
    filter: brightness(0) invert(1);
  }
  .c-cta__link--mail:hover,
  .c-cta__link--mail:focus-visible {
    color: #ff8424;
    background: #ffffff;
  }
  .c-cta__link--mail:hover .c-cta__link-arrow,
  .c-cta__link--mail:focus-visible .c-cta__link-arrow {
    background: #ff8424;
  }
  .c-cta__link--mail:hover .c-cta__link-icon img,
  .c-cta__link--mail:focus-visible .c-cta__link-icon img {
    filter: brightness(0) saturate(100%) invert(59%) sepia(96%) saturate(1769%) hue-rotate(341deg) brightness(101%) contrast(101%);
  }
  .c-cta__link--mail:hover .c-cta__link-arrow::before,
  .c-cta__link--mail:focus-visible .c-cta__link-arrow::before {
    color: #ffffff;
  }
  .c-cta__link--line:hover,
  .c-cta__link--line:focus-visible {
    color: #ffffff;
    background: #15913a;
  }
  .c-cta__link--line:hover .c-cta__link-arrow,
  .c-cta__link--line:focus-visible .c-cta__link-arrow {
    background: #ffffff;
  }
  .c-cta__link--line:hover .c-cta__link-arrow::before,
  .c-cta__link--line:focus-visible .c-cta__link-arrow::before {
    color: #15913a;
  }
}
@media (max-width: 767px) {
  .c-cta {
    background-size: 74px 74px;
  }
  .c-cta .l-container {
    width: min(100% - 32px, 390px);
  }
  .c-cta__inner {
    padding-block: 26px 34px;
  }
  .c-cta__inner > div {
    display: block;
  }
  .c-cta__intro {
    grid-template-columns: 86px minmax(0, 1fr) 86px;
    gap: 8px;
    align-items: start;
    min-height: 124px;
  }
  .c-cta__headline {
    padding-top: 12px;
  }
  .c-cta__title {
    font-size: 32px;
    line-height: 1.2;
  }
  .c-cta__lead {
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.55;
  }
  .c-cta__person--left,
  .c-cta__person--right {
    width: auto;
    height: 127px;
    min-width: 0;
    position: absolute;
    top: 23px;
    bottom: auto;
  }
  .c-cta__person--left {
    left: 5px;
  }
  .c-cta__person--right {
    right: 0;
  }
  .c-cta__actions {
    gap: 14px;
    padding-right: 0;
  }
  .c-cta__tel {
    min-height: 126px;
    padding: 20px 14px 18px;
    border-radius: 14px;
  }
  .c-cta__tel-label {
    font-size: 16px;
  }
  .c-cta__tel-row {
    gap: 10px;
    margin-top: 5px;
  }
  .c-cta__tel-icon {
    width: 48px;
  }
  .c-cta__tel-icon img {
    width: 21px;
  }
  .c-cta__tel-number {
    font-size: clamp(37px, 10.8vw, 40px);
  }
  .c-cta__hours {
    gap: 8px 18px;
    margin-top: 10px;
    font-size: 14px;
  }
  .c-cta__links {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .c-cta__link {
    min-height: 58px;
    gap: 10px;
    padding: 11px 48px 17px 34px;
    border-radius: 13px;
  }
  .c-cta__link-icon {
    width: 33px;
  }
  .c-cta__link--mail .c-cta__link-icon {
    width: 36px;
  }
  .c-cta__link-label {
    font-size: 24px;
  }
  .c-cta__link-arrow {
    right: 28px;
    width: 22px;
  }
}
.c-contact-section {
  padding-block: 80px 120px;
}

.c-contact-info {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  max-width: 1080px;
  margin: 0 auto 48px;
  padding: 18px 24px;
  color: #123c1e;
  border-top: 2px solid #123c1e;
  border-bottom: 2px solid #123c1e;
}

.c-contact-info__label {
  font-size: 16px;
  margin: 0;
}

.c-contact-info__tel {
  padding-left: 24px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #123c1e;
  transition: opacity 0.25s ease;
}

.c-contact-info__tel:hover,
.c-contact-info__tel:focus-visible {
  opacity: 0.72;
}

.c-contact-info__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  flex: 0 0 auto;
}

.c-contact-info__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.c-contact-info__number {
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
}

.c-contact-info__hours {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 15px;
  line-height: 1.4;
}

.c-contact-info__hours > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.c-contact-info__day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  padding: 4px 5px;
  color: #123c1e;
  font-weight: 400;
  font-size: 12px;
  background: #f8f8f8;
  border: 1px solid #808080;
  border-radius: 4px;
}

.c-contact-info__time {
  font-size: 18px;
}

.c-contact-form {
  max-width: 1080px;
  margin-inline: auto;
  padding: 58px 96px 72px;
  background: #e9f6ed;
  border: 5px solid #15913a;
  border-radius: 12px;
}

.c-contact-form__title {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 62px;
  padding-bottom: 18px;
  color: #123c1e;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

.c-contact-form__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 80px;
  height: 8px;
  background: #15913a;
  transform: translateX(-50%);
}

.p-contact-form {
  display: grid;
  gap: 28px;
}

.p-contact-form__row {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 64px;
  align-items: center;
}

.p-contact-form__row--message {
  align-items: start;
}

.p-contact-form__head {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-contact-form__head p {
  margin: 0;
}

.p-contact-form__label {
  color: #0d6b29;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.p-contact-form__required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 15px;
  color: #15913a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  background: #fdff5b;
  border: 1px solid #15913a;
  border-radius: 8px;
}

.p-contact-form__body {
  min-width: 0;
}

.p-contact-form__body .wpcf7-form-control-wrap {
  display: block;
}

.p-contact-form__input,
.p-contact-form__select,
.p-contact-form__textarea {
  width: 100%;
  color: #123c1e;
  /* 16px未満だと iOS でフォーカス時に画面が自動拡大するため 16px 以上にする */
  font-size: 16px;
  font-weight: 400;
  background: #ffffff;
  /* TOPと同じ濃い緑の枠にして、入力欄の輪郭をはっきりさせる */
  border: 2px solid #15913a;
  border-radius: 8px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.p-contact-form__input:focus,
.p-contact-form__select:focus,
.p-contact-form__textarea:focus {
  outline: none;
  border-color: #006b2c;
  box-shadow: 0 0 0 3px rgba(21, 145, 58, 0.25);
}

.p-contact-form__input,
.p-contact-form__select {
  min-height: 52px;
  padding: 12px 20px;
}

.p-contact-form__select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 52px;
  background-image: linear-gradient(45deg, transparent 50%, #15913a 50%), linear-gradient(135deg, #15913a 50%, transparent 50%);
  background-position: calc(100% - 26px) 50%, calc(100% - 20px) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.p-contact-form__textarea {
  min-height: 254px;
  padding: 16px 20px;
  resize: vertical;
}

.p-contact-form__input::-moz-placeholder, .p-contact-form__textarea::-moz-placeholder {
  color: #5f6c65;
}

.p-contact-form__input::placeholder,
.p-contact-form__textarea::placeholder {
  color: #5f6c65;
}

.p-contact-form__submit {
  margin-top: 20px;
  text-align: center;
}

.p-contact-form__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 300px;
  min-height: 56px;
  padding: 14px 40px;
  color: #ffffff;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  background: #15913a;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: opacity 0.25s ease;
}

.p-contact-form__button:hover,
.p-contact-form__button:focus-visible {
  opacity: 0.72;
}

.p-contact-form .wpcf7-spinner {
  display: block;
  margin: 14px auto 0;
}

.p-contact-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  font-size: 13px;
}

.p-contact-form .wpcf7-response-output {
  margin: 24px 0 0;
  padding: 12px 16px;
  border-radius: 4px;
}

.p-contact-thanks {
  padding-block: 72px 96px;
}

.p-contact-thanks__body {
  text-align: center;
}

/* TOP・お問い合わせフォームと同じ「白い面＋濃い緑の枠」に揃える */
.p-contact-thanks__card {
  max-width: 800px;
  margin-inline: auto;
  padding: 56px 64px 60px;
  background: #ffffff;
  border: 3px solid #15913a;
  border-radius: 12px;
}

/* TOPのサービスアイコンと同じ、緑の円 */
.p-contact-thanks__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  aspect-ratio: 1;
  background: #15913a;
  border-radius: 50%;
}

.p-contact-thanks__icon svg {
  width: 46px;
  height: 46px;
}

.p-contact-thanks__title {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto 28px;
  padding-bottom: 16px;
  color: #123c1e;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.45;
}

/* フォームの見出しと同じ下線アクセント */
.p-contact-thanks__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 64px;
  height: 6px;
  background: #15913a;
  transform: translateX(-50%);
}

.p-contact-thanks__text {
  margin: 0;
  color: #123c1e;
  font-size: 18px;
  font-weight: 400;
  line-height: 2;
}

.p-contact-thanks__notes {
  display: grid;
  gap: 14px;
  margin: 32px 0 0;
  padding: 22px 26px;
  text-align: left;
  background: #e9f6ed;
  border-radius: 8px;
}

.p-contact-thanks__note {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.p-contact-thanks__note dt {
  color: #0d6b29;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
}

.p-contact-thanks__note dd {
  margin: 0;
  color: #123c1e;
  font-size: 15px;
  line-height: 1.8;
}

.p-contact-thanks__tel {
  color: #006b2c;
  font-weight: 700;
  font-size: 17px;
  text-decoration: underline;
}

.p-contact-thanks__button {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 36px auto 0;
}

@media (max-width: 1023px) {
  .c-contact-info {
    flex-direction: column;
    gap: 12px;
    padding-block: 20px;
    text-align: center;
  }
  .c-contact-info__hours {
    justify-content: center;
  }
  .c-contact-form {
    padding: 48px 40px 56px;
  }
  .p-contact-form__row {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 32px;
  }
}
@media (max-width: 767px) {
  .c-contact-section {
    padding-block: 48px 80px;
  }
  .c-contact-info {
    margin-bottom: 32px;
    padding: 18px 12px;
  }
  .c-contact-info__label {
    font-size: 16px;
  }
  .c-contact-info__icon {
    width: 30px;
  }
  .c-contact-info__number {
    font-size: 34px;
  }
  .c-contact-info__hours {
    gap: 8px 12px;
    font-size: 14px;
  }
  .c-contact-form {
    padding: 34px 18px 42px;
    border-width: 3px;
  }
  .c-contact-form__title {
    margin-bottom: 36px;
    padding-bottom: 14px;
    font-size: 24px;
  }
  .c-contact-form__title::after {
    width: 64px;
    height: 4px;
  }
  .p-contact-form {
    gap: 22px;
  }
  .p-contact-form__row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .p-contact-form__head {
    gap: 8px;
  }
  .p-contact-form__label {
    font-size: 15px;
  }
  .p-contact-form__input,
  .p-contact-form__select {
    min-height: 46px;
    padding-inline: 16px;
  }
  .p-contact-form__select {
    padding-right: 44px;
    background-position: calc(100% - 24px) 50%, calc(100% - 18px) 50%;
  }
  .p-contact-form__textarea {
    min-height: 200px;
    padding-inline: 16px;
  }
  .p-contact-form__button {
    width: 100%;
    min-width: 0;
  }
  .p-contact-thanks {
    padding-block: 48px 64px;
  }
  .p-contact-thanks__card {
    padding: 36px 20px 40px;
    border-width: 2px;
  }
  .p-contact-thanks__icon {
    width: 72px;
  }
  .p-contact-thanks__icon svg {
    width: 38px;
    height: 38px;
  }
  .p-contact-thanks__title {
    margin: 20px auto 22px;
    padding-bottom: 12px;
    font-size: 22px;
  }
  .p-contact-thanks__title::after {
    width: 52px;
    height: 4px;
  }
  .p-contact-thanks__text {
    font-size: 16px;
    line-height: 1.9;
  }
  .p-contact-thanks__notes {
    gap: 12px;
    margin-top: 26px;
    padding: 16px 18px;
  }
  .p-contact-thanks__note {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .p-contact-thanks__button {
    width: 100%;
    margin-top: 28px;
  }
}
.c-fixed-contact {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 900;
  width: 300px;
  padding: 18px 16px 15px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.12);
}

.c-fixed-contact__lead {
  margin: 0 0 10px;
  color: #123c1e;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.c-fixed-contact__lead span {
  color: #ff0000;
  font-size: 14px;
}

.c-fixed-contact__links {
  display: grid;
  gap: 9px;
}

.c-fixed-contact__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 58px;
  padding: 10px 40px 15px 30px;
  background: #ffffff;
  border: 2px solid currentColor;
  border-radius: 7px;
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.c-fixed-contact__link--mail {
  color: #ff8424;
}

.c-fixed-contact__link--mail:hover,
.c-fixed-contact__link--mail:focus-visible {
  color: #ffffff;
  background: #ff8424;
  border-color: #ff8424;
}

.c-fixed-contact__link--line {
  color: #04c755;
}

.c-fixed-contact__link--line:hover,
.c-fixed-contact__link--line:focus-visible {
  color: #ffffff;
  background: #04c755;
  border-color: #04c755;
}

.c-fixed-contact__icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 32px;
  aspect-ratio: 1;
}

.c-fixed-contact__icon img {
  display: block;
  max-width: 100%;
  height: auto;
}

.c-fixed-contact__link--mail .c-fixed-contact__icon img {
  filter: brightness(0) saturate(100%) invert(59%) sepia(96%) saturate(1769%) hue-rotate(341deg) brightness(101%) contrast(101%);
  transition: filter 0.25s ease;
}

.c-fixed-contact__link--mail:hover .c-fixed-contact__icon img,
.c-fixed-contact__link--mail:focus-visible .c-fixed-contact__icon img {
  filter: none;
}

.c-fixed-contact__label {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

.c-fixed-contact__arrow {
  position: absolute;
  top: 50%;
  right: 18px;
  display: grid;
  place-items: center;
  width: 13px;
  aspect-ratio: 1;
  background: currentColor;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}

.c-fixed-contact__arrow::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 1px;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 4px solid currentColor;
}

.c-fixed-contact__link--mail .c-fixed-contact__arrow::before {
  color: #ffffff;
}

.c-fixed-contact__link--line .c-fixed-contact__arrow::before {
  color: #ffffff;
}

.c-fixed-contact__link:hover .c-fixed-contact__arrow,
.c-fixed-contact__link:focus-visible .c-fixed-contact__arrow {
  background: #ffffff;
}

.c-fixed-contact__link--mail:hover .c-fixed-contact__arrow::before,
.c-fixed-contact__link--mail:focus-visible .c-fixed-contact__arrow::before {
  color: #ff8424;
}

.c-fixed-contact__link--line:hover .c-fixed-contact__arrow::before,
.c-fixed-contact__link--line:focus-visible .c-fixed-contact__arrow::before {
  color: #04c755;
}

.c-bottom-navi {
  display: none;
}

@media (max-width: 767px) {
  .c-fixed-contact {
    display: none;
  }
  .c-bottom-navi {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 900;
    display: flex;
    align-items: stretch;
    gap: 4px;
    padding: 0 0 env(safe-area-inset-bottom);
    pointer-events: none;
  }
  .c-bottom-navi__link {
    display: grid;
    flex: 1 1 0;
    min-width: 0;
    min-height: 70px;
    place-items: center;
    gap: 8px;
    padding: 9px 4px 12px;
    color: #ffffff;
    border-radius: 0 0 7px 7px;
    pointer-events: auto;
  }
  .c-bottom-navi__link--mail {
    background: #ff8424;
    border-radius: 8px 8px 8px 32px;
    box-shadow: inset 0 -5px #ffdf40;
  }
  .c-bottom-navi__link--line {
    background: #04c755;
    border-radius: 8px;
    box-shadow: inset 0 -5px #d4eadb;
  }
  .c-bottom-navi__link--tel {
    background: #ff4248;
    border-radius: 8px 8px 32px 8px;
    box-shadow: inset 0 -5px #fc9fab;
  }
  .c-bottom-navi__icon {
    display: grid;
    place-items: center;
    width: 20px;
    aspect-ratio: 1;
  }
  .c-bottom-navi__link--line .c-bottom-navi__icon {
    width: 24px;
  }
  .c-bottom-navi__link--tel .c-bottom-navi__icon {
    width: 24px;
    background: #ffffff;
    border-radius: 50%;
  }
  .c-bottom-navi__icon img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  .c-bottom-navi__link--tel .c-bottom-navi__icon img {
    width: 11px;
  }
  .c-bottom-navi__label {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
  }
}
.p-home-hero {
  background: linear-gradient(180deg, #e9f6ed 0%, #ffffff 100%);
}

.p-home-hero__image picture,
.p-home-hero__image img {
  display: block;
  width: 100%;
}

.p-home-hero__payment {
  padding-block: 48px;
  background: #ffffff;
}

.p-home-hero__payment-inner {
  width: min(100% - 32px, 646px);
  margin-inline: auto;
  text-align: center;
}

.p-home-hero__payment-lead {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 20px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
}

.p-home-hero__payment-lead::before,
.p-home-hero__payment-lead::after {
  content: "";
  width: 1px;
  height: 18px;
  background: #15913a;
}

.p-home-hero__payment-lead::before {
  transform: rotate(-18deg);
}

.p-home-hero__payment-lead::after {
  transform: rotate(18deg);
}

.p-home-hero__payment-lead span {
  margin-inline: 8px;
}

.p-home-hero__payment-lead span,
.p-home-hero__payment-note {
  background: linear-gradient(transparent 70%, #ffdf40 70%);
}

.p-home-hero__payment-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 7px;
  margin: 0;
  color: #15913a;
  font-weight: 600;
  line-height: 1.2;
}

.p-home-hero__payment-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  color: #ffffff;
  font-size: 24px;
  background: #15913a;
  border-radius: 6px;
  letter-spacing: 1.68px;
}

.p-home-hero__payment-note {
  font-size: 20px;
  color: #123c1e;
}

.p-home-hero__payment-card {
  display: block;
  margin-top: 20px;
}

.p-home-hero__payment-card img {
  display: block;
  width: 100%;
  height: auto;
}

.p-home-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  align-items: center;
  gap: 48px;
}

.p-home-hero__lead {
  margin: 0 0 12px;
  color: #006b2c;
  font-weight: 700;
}

.p-home-hero__title {
  margin: 0;
  font-size: clamp(34px, 5vw, 56px);
  line-height: 1.25;
}

.p-home-hero__text {
  margin: 20px 0 0;
  font-size: 18px;
}

.p-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

.p-home-hero__image-placeholder,
.p-home-recommend__image-placeholder {
  min-height: 280px;
  background: repeating-linear-gradient(135deg, #e9f6ed, #e9f6ed 12px, #ffffff 12px, #ffffff 24px);
  border: 1px dashed #d9e8dc;
  border-radius: 8px;
}

@media (max-width: 767px) {
  .p-home-hero__payment {
    padding-block: 40px;
  }
  .p-home-hero__payment-inner {
    width: min(100% - 42px, 369px);
  }
  .p-home-hero__payment-lead {
    justify-content: center;
    gap: 0 7px;
    margin-bottom: 8px;
    font-size: 16px;
  }
  .p-home-hero__payment-lead span {
    flex-basis: 100%;
    background: linear-gradient(transparent 80%, #ffdf40 80%);
  }
  .p-home-hero__payment-options {
    gap: 10px 5px;
  }
  .p-home-hero__payment-option {
    padding: 0 16px;
    font-size: 16px;
    border-radius: 8px;
  }
  .p-home-hero__payment-note {
    font-size: 20px;
  }
  .p-home-hero__payment-card {
    margin: 18px auto 0;
    max-width: 246px;
  }
}
@media (max-width: 1023px) {
  .p-home-hero__inner {
    grid-template-columns: 1fr;
  }
}
.p-home-section {
  padding-block: 72px;
}

.p-home-section__label {
  margin: 0 0 8px;
  color: #15913a;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.p-home-section__title {
  margin: 0 0 32px;
  font-size: clamp(28px, 4vw, 40px);
  line-height: 1.4;
}

.p-home-recommend {
  margin-bottom: 16px;
  position: relative;
  overflow: hidden;
  padding-block: 56px 50px;
  background-color: #eef6ff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.8) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.8) 1px, transparent 1px);
  background-size: 41px 41px;
}

.p-home-recommend > .l-container,
.p-home-recommend__slider {
  position: relative;
  z-index: 1;
}

.p-home-recommend__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
}

.p-home-recommend__title-wrap {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.p-home-recommend__title-icon {
  width: 69px;
  height: auto;
}

.p-home-recommend__title {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.4px;
  -webkit-text-stroke: 9px #15913a;
  paint-order: stroke fill;
}

.p-home-recommend__lead {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.p-home-recommend__slider {
  width: min(100% - 128px, 1310px);
  margin: 43px auto 0;
}

.p-home-recommend__track {
  overflow: hidden;
  padding-bottom: 10px;
}

.p-home-recommend__slider .splide__list {
  align-items: stretch;
}

.p-home-recommend__slider .splide__slide {
  display: flex;
  height: auto;
  background: #d8ecd9;
  border-radius: 14px;
  box-shadow: 8px 8px 0 #d6f3f8;
}

.p-home-recommend__card {
  width: 100%;
  height: 100%;
  min-height: 318px;
  padding: 32px 16px 30px;
  color: #123c1e;
  background: transparent;
  border-radius: 14px;
}

.p-home-recommend__head {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
}

.p-home-recommend__image {
  width: 92px;
  aspect-ratio: 1;
  overflow: hidden;
  background: #ffffff;
  border-radius: 14px;
}

.p-home-recommend__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-home-recommend__image--mark {
  display: grid;
  place-items: center;
}

.p-home-recommend__image--mark img {
  width: 73px;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-home-recommend__summary {
  min-width: 0;
}

.p-home-recommend__label {
  display: inline-block;
  margin: 0;
  padding: 4px 8px;
  color: #123c1e;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  background: #ffffff;
  border-radius: 6px;
}

.p-home-recommend__catch {
  margin: 16px 0 0;
  color: #123c1e;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}

.p-home-recommend__content {
  margin-top: 16px;
  color: #123c1e;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
}

.p-home-recommend__content p {
  margin: 0;
}

.p-home-recommend__arrows {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 32px;
}

.p-home-recommend__arrow {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  padding: 0;
  color: #ffffff;
  line-height: 1;
  background: #15913a;
  border: 0;
  border-radius: 50%;
  opacity: 1;
  transform: none;
}

.p-home-recommend__arrow img {
  width: 12px;
  height: 8px;
}

.p-home-recommend__slider .splide__pagination {
  position: static;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 11px;
  margin: 0;
  padding: 0;
}

.p-home-recommend__slider .splide__pagination__page {
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  background: #c1c1c1;
  border: 0;
  border-radius: 50%;
}

.p-home-recommend__slider .splide__pagination__page.is-active {
  background: #15913a;
  transform: none;
}

.p-home-items {
  padding-block: 72px 110px;
  background: #f5f5f5;
}

.p-home-items > .l-container {
  width: min(100% - 64px, 1080px);
}

.p-home-items__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 34px;
  align-items: start;
}

.p-home-items__title {
  margin: 0;
  color: #ffffff;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
  -webkit-text-stroke: 7px #15913a;
  paint-order: stroke fill;
}

.p-home-items__nav-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr));
  gap: 14px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-home-items__nav-link {
  position: relative;
  display: block;
  padding: 0 24px 7px 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  border-bottom: 1px solid #15913a;
  transition: color 0.2s ease;
}

.p-home-items__nav-link::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 0.45em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 4px 0;
  border-color: #15913a transparent transparent;
}

.p-home-items__nav-link:hover,
.p-home-items__nav-link:focus-visible {
  color: #15913a;
}

.p-home-items__categories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px;
  margin-top: 40px;
}

.p-home-items__category {
  scroll-margin-top: 120px;
  padding: 0 40px 30px;
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
}

.p-home-items__category:not(.p-home-items__category--half) {
  grid-column: 1/-1;
}

.p-home-items__category-title {
  margin: 0 -40px 28px;
  padding: 6px 20px 8px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  background: #15913a;
  border-radius: 16px 16px 0 0;
}

.p-home-items__category-title::before,
.p-home-items__category-title::after {
  content: "✦";
  margin-inline: 8px;
  color: #ffffff;
  font-size: 1.25em;
}

.p-home-items__card-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 20px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-home-items__category--half .p-home-items__card-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.p-home-items__card-item {
  min-width: 0;
}

.p-home-items__card {
  min-width: 0;
}

.p-home-items__card-image {
  display: block;
  width: 100%;
  aspect-ratio: 224/168;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}

.p-home-items__card-name {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 28px;
  margin: 0;
  padding: 10px 24px 10px 0;
  color: #123c1e;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  border-bottom: 1px solid #15913a;
}

.p-home-items__card-name::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 27px;
  height: 27px;
  aspect-ratio: 1;
  background: #15913a;
  border-radius: 50%;
  transform: translateY(-50%);
}

.p-home-items__card-name::before {
  content: "";
  position: absolute;
  right: 5%;
  top: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #ffffff;
  transform: translateY(-50%);
}

.p-home-items__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.p-home-items__tag {
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
}

.p-home-items__tag a {
  color: inherit;
  text-decoration: underline;
}

.p-home-service {
  position: relative;
  overflow: hidden;
  padding-block: 16px 0;
  background-color: #e8f3eb;
  background-image: url("../images/top/service_repeat_bg.webp");
  background-repeat: repeat;
  background-position: center 136px;
}

.p-home-service::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 0;
  height: 136px;
  background: #fff;
  pointer-events: none;
}

.p-home-service::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 0;
  width: 424px;
  height: 272px;
  transform: translateX(-50%);
  border-radius: 424px 424px 0 0;
  background-color: #e8f3eb;
  background-image: url("../images/top/service_repeat_bg.webp");
  background-repeat: repeat;
  background-position: center top;
  pointer-events: none;
}

.p-home-service > .l-container {
  position: relative;
  z-index: 1;
  width: min(100% - 64px, 1228px);
  max-width: 1228px;
}

.p-home-service__heading {
  position: relative;
  min-height: 286px;
  padding-top: 40px;
  text-align: center;
}

.p-home-service__heading::before,
.p-home-service__heading::after {
  content: "";
  position: absolute;
  top: 49px;
  width: 366px;
  height: 18px;
  background-image: url("../images/common/deco_star_lg.svg");
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 26px 18px;
  pointer-events: none;
}

.p-home-service__heading::before {
  left: 0;
}

.p-home-service__heading::after {
  right: 0;
}

.p-home-service__mark {
  display: block;
  width: 110px;
  height: auto;
  margin: 0 auto;
}

.p-home-service__title {
  position: relative;
  z-index: 1;
  margin: 13px 0 0;
  color: #ffffff;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0.03em;
  text-align: center;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}

.p-home-service__grid,
.p-home-price__grid,
.p-home-voice__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.p-home-service__grid {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(20px, 2.8vw, 40px);
  align-items: stretch;
}

.p-home-service__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  color: #123c1e;
  text-align: center;
}

.p-home-service__card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 154px;
  aspect-ratio: 1;
  background: #15913a;
  border-radius: 50%;
}

.p-home-service__card-icon img {
  width: 72px;
  height: 72px;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-home-service__card-title {
  margin: 22px 0 0;
  color: #15913a;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

.p-home-service__card-text {
  margin: 14px 0 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.03em;
  text-align: left;
}

.p-home-service__button {
  margin-top: 20px;
  padding: 10px 50px 10px clamp(10px, 2.778vw, 40px);
  letter-spacing: 0.08em;
}

.p-home-service__visuals {
  margin-top: 48px;
}

.p-home-service__visuals-track,
.p-home-service__visuals-track.splide__track {
  overflow: visible;
}

.p-home-service__visuals-list,
.p-home-service__visuals-list.splide__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin: 0;
  padding: 0;
}

.p-home-service__visual-slide {
  min-width: 0;
}

.p-home-service__visual {
  display: block;
  width: 100%;
  height: auto;
}

.p-home-voice {
  position: relative;
  overflow: hidden;
  padding-block: 84px 80px;
  color: #123c1e;
  background-color: #eaf5ff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.82) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.82) 1px, transparent 1px);
  background-size: 42px 42px;
}

.p-home-voice > .l-container {
  width: min(100% - 120px, 1080px);
}

.p-home-voice__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}

.p-home-voice__title-wrap {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}

.p-home-voice__title-icon {
  flex: 0 0 auto;
  width: 82px;
  height: auto;
}

.p-home-voice__title {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1.4px;
  -webkit-text-stroke: 9px #15913a;
  paint-order: stroke fill;
}

.p-home-voice__lead {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.p-home-voice__slider {
  width: min(100% - 128px, 1310px);
  margin: 43px auto 0;
}

.p-home-voice__track {
  overflow: hidden;
  padding-bottom: 10px;
}

.p-home-voice__slider .splide__list {
  align-items: stretch;
}

.p-home-voice__card {
  display: flex;
  height: auto;
  margin: 0;
  padding: 32px 16px 30px;
  color: #123c1e;
  background: #d8ecd9;
  border-radius: 14px;
  box-shadow: 8px 8px 0 #ffffff;
}

.p-home-voice__card-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: inherit;
  text-decoration: none;
}

.p-home-voice__image-wrap {
  display: block;
  width: 100%;
  aspect-ratio: 390/291;
  overflow: hidden;
  border-radius: 8px;
}

.p-home-voice__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.45s ease;
}

.p-home-voice__card-link:hover .p-home-voice__image,
.p-home-voice__card-link:focus-visible .p-home-voice__image {
  transform: scale(1.06);
}

.p-home-voice__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 20px;
}

.p-home-voice__card-title {
  /* 1行ぶんの幅をいっぱいに使い、入りきらないときだけ末尾を…にする */
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #123c1e;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p-home-voice__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-home-voice__tags li {
  padding: 4px 10px;
  color: #123c1e;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  background: #ffffff;
  border-radius: 6px;
}

.p-home-voice__card-text {
  margin: 18px 0 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.p-home-voice__arrows {
  position: static;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 26px;
  pointer-events: auto;
  transform: none;
}

.p-home-voice__arrow {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 24px;
  aspect-ratio: 1;
  padding: 0;
  background: #15913a;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  transform: none;
  cursor: pointer;
}

.p-home-voice__arrow img {
  width: 7px;
  height: auto;
}

.p-home-voice__pagination-wrap {
  display: flex;
  align-items: center;
}

.p-home-voice__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.p-home-voice__pagination li {
  display: flex;
}

.p-home-voice__pagination-button {
  box-sizing: border-box;
  width: 8px;
  aspect-ratio: 1;
  padding: 0;
  background: #c4c4c4;
  border: 0;
  border-radius: 50%;
  opacity: 1;
}

.p-home-voice__pagination-button.is-active {
  background: #15913a;
  transform: none;
}

.p-home-works {
  position: relative;
  overflow: hidden;
  padding-block: 0 43px;
  color: #123c1e;
  background-color: #eaf5ff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.82) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.82) 1px, transparent 1px);
  background-size: 42px 42px;
}

.p-home-works__inner {
  position: relative;
  z-index: 1;
  width: min(100% - 120px, 1320px);
  margin-inline: auto;
}

.p-home-works__hero {
  position: relative;
  min-height: 350px;
  padding-top: 181px;
}

.p-home-works__heading {
  position: relative;
  z-index: 1;
  width: -moz-fit-content;
  width: fit-content;
}

.p-home-works__title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}

.p-home-works__title img {
  width: 78px;
  height: auto;
}

.p-home-works__lead {
  margin: 16px 0 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
}

.p-home-works__person {
  position: absolute;
  right: 30px;
  bottom: 0;
  width: min(48vw, 597px);
  height: auto;
  pointer-events: none;
}

.p-home-works__card {
  position: relative;
  padding: 28px 33px 24px;
  color: #123c1e;
  background: #ffffff;
  border-radius: 22px;
  box-shadow: 12px 12px 0 0 #d4eadb;
}

.p-home-works__content {
  display: grid;
  grid-template-columns: minmax(400px, 1fr) minmax(0, 690px);
  gap: 34px;
  align-items: center;
}

.p-home-works__body {
  min-width: 0;
}

.p-home-works__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-home-works__tags li {
  padding: 4px 8px;
  color: #15913a;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
  background: #d8f0dd;
  border-radius: 999px;
}

.p-home-works__card-title {
  margin: 16px 0 0;
  color: #15913a;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.p-home-works__summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 13px;
  align-items: end;
  margin-top: 6px;
  padding-bottom: 14px;
  border-bottom: 1px solid #15913a;
}

.p-home-works__price {
  margin: 0;
  color: #ff3f45;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}

.p-home-works__price .u-font-bakbak {
  font-size: clamp(44px, 5vw, 66px);
}

.p-home-works__cost {
  display: grid;
  gap: 1px;
  margin: 0;
  color: #123c1e;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
}

.p-home-works__cost-row {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 6px;
  margin: 0;
  font-size: 16px;
}

.p-home-works__cost-row--label {
  display: block;
}

.p-home-works__cost dt,
.p-home-works__cost dd {
  margin: 0;
}

.p-home-works__cost dd {
  text-align: right;
}

.p-home-works__cost-row--buy {
  color: #1a9bd7;
}

.p-home-works__card-text {
  margin: 17px 0 0;
  color: #123c1e;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.04em;
}

.p-home-works__photos {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-width: 0;
}

.p-home-works__photo {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 7px;
}

.p-home-works__photo img {
  min-width: 0;
  display: block;
  width: 100%;
  aspect-ratio: 306/254;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 7px;
}

.p-home-works__photo figcaption {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 90px;
  height: 45px;
  padding-top: 8px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  background: #15913a;
  border-radius: 0 0 999px 999px;
  transform: translateX(-50%);
}

.p-home-works__photo-arrow {
  display: block;
  width: 0;
  height: 0;
  border-top: 13px solid transparent;
  border-bottom: 13px solid transparent;
  border-left: 22px solid #15913a;
}

.p-home-works__side-arrow {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 55px;
  height: auto;
  aspect-ratio: 1;
  padding: 0;
  background: #15913a;
  border: 0;
  border-radius: 50%;
  opacity: 1;
  transform: translateY(-50%);
  cursor: pointer;
  transition: opacity 0.25s ease;
}

.p-home-works__side-arrow:hover,
.p-home-works__side-arrow:focus-visible {
  opacity: 0.75;
}

.p-home-works__side-arrow::before {
  content: "";
  width: 12px;
  height: 12px;
  border-top: 4px solid #ffffff;
  border-left: 4px solid #ffffff;
}

.p-home-works__side-arrow--prev {
  left: 0;
}

.p-home-works__side-arrow--prev::before {
  transform: rotate(-45deg) translate(1px, 1px);
}

.p-home-works__side-arrow--next {
  right: 0;
}

.p-home-works__side-arrow--next::before {
  transform: rotate(135deg) translate(1px, 1px);
}

.p-home-works__benefit {
  display: grid;
  grid-template-columns: 410px minmax(0, 1fr);
  gap: 38px;
  align-items: center;
  margin-top: 85px;
  padding: 24px 58px;
  color: #ffffff;
  background-color: #15913a;
  background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0 2px, transparent 2px 22px);
  border-radius: 11px;
}

.p-home-works__benefit-figure {
  max-width: 743px;
}

.p-home-works__benefit-copy {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.p-home-works__benefit-copy span {
  display: inline;
  color: #15913a;
  background: #ffffff;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: 0 2px;
  line-height: 1.6;
  border-radius: 8px;
  font-size: 32px;
}

.p-home-works__benefit-cost {
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0;
  color: #ffffff;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  transform: translateX(-50%);
  white-space: nowrap;
}

.p-home-works__benefit-cost::before {
  content: "";
  display: inline-block;
  width: 43px;
  aspect-ratio: 1;
  margin-right: 8px;
  vertical-align: middle;
  background: radial-gradient(circle at 50% 42%, #ffe766 0 52%, #f0b600 53% 100%);
  border-radius: 50%;
}

.p-home-works__benefit-cost .u-font-bakbak {
  margin-left: 8px;
  font-size: 36px;
}

.p-home-works__benefit-panels {
  display: grid;
  grid-template-columns: 33% 67%;
  min-height: 174px;
  overflow: hidden;
  border: 3px solid #f0d736;
  border-radius: 3px;
  transform: skewY(-4deg);
}

.p-home-works__benefit-buy,
.p-home-works__benefit-pay {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  transform: skewY(4deg);
}

.p-home-works__benefit-buy {
  color: #68806b;
  font-size: 25px;
  background: #d6d6d6;
  border-right: 2px dashed #ffffff;
}

.p-home-works__benefit-buy .u-font-bakbak {
  font-size: 34px;
}

.p-home-works__benefit-pay {
  color: #123c1e;
  font-size: 27px;
  background: #ffdf3a;
}

.p-home-works__benefit-pay .u-font-bakbak {
  color: #ff3f45;
  font-size: 54px;
  -webkit-text-stroke: 5px #ffffff;
  paint-order: stroke fill;
}

.p-home-works__benefit-balloon {
  position: absolute;
  right: 16px;
  bottom: 74px;
  margin: 0;
  padding: 14px 18px;
  color: #15913a;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  background: #ffffff;
  transform: rotate(8deg);
}

.p-home-price {
  margin-bottom: 16px;
  padding-block: 0;
  color: #123c1e;
  background-color: #e8f3eb;
  background-image: url("../images/top/service_repeat_bg.webp");
  background-repeat: repeat;
  background-size: 96px auto;
}

.p-home-price__content {
  padding-block: 48px 80px;
}

.p-home-price__content > .l-container {
  width: min(100% - 120px, 1320px);
}

.p-home-price__banner {
  margin: 0 0 20px;
}

.p-home-price__banner picture,
.p-home-price__banner-image {
  display: block;
}

.p-home-price__banner-image {
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.p-home-price__heading {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 251px) minmax(max-content, 1fr) minmax(0, 247px);
  align-items: end;
  gap: 24px;
}

.p-home-price__heading-left {
  width: 100%;
  max-width: 251px;
}

.p-home-price__heading-right {
  width: 100%;
  max-width: 247px;
}

.p-home-price__title {
  margin: 0;
  color: #ffffff;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}

.p-home-price__title-block {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  padding-bottom: 38px;
}

.p-home-price__title-block::before,
.p-home-price__title-block::after {
  content: "";
  flex: 0 0 auto;
  width: 99px;
  height: 137px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-home-price__title-block::before {
  background-image: url("../images/common/deco_left_shinecomment.svg");
}

.p-home-price__title-block::after {
  background-image: url("../images/common/deco_right_shinecomment.svg");
}

.p-home-price__lead {
  text-align: center;
  margin: 24px 0 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.p-home-price__person {
  display: block;
  width: 100%;
  max-width: 246px;
  height: auto;
  align-self: end;
}

.p-home-price__person--left {
  justify-self: center;
}

.p-home-price__person--right {
  justify-self: center;
  max-width: 250px;
}

.p-home-price__plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.p-home-price__plans__wide {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.p-home-price__plan-card,
.p-home-price__single-card {
  position: relative;
  min-width: 0;
  color: #ffffff;
  background-color: #15913a;
  background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0 1px, transparent 1px 18px);
  border-radius: 16px;
  box-shadow: 7px 7px 0 0 #ffffff;
}

.p-home-price__plan-card {
  grid-column: span 1;
  padding: 36px 20px 31px;
  text-align: center;
}

.p-home-price__set {
  margin-top: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.p-home-price__plan-card--wide {
  margin-top: 24px;
  padding-inline: clamp(24px, 3.333vw, 48px) clamp(10px, 1.18vw, 17px);
}

.p-home-price__plan-card--wide > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px 0;
  text-align: left;
}

.p-home-price__wide-text {
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
}

.p-home-price__plan-card--wide .p-home-price__plan-title span {
  font-size: 32px;
}

.p-home-price__recommend {
  margin: 0;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.p-home-price__plan-title {
  margin: 0 0 5px;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.p-home-price__discount {
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0;
  width: 140px;
  aspect-ratio: 1;
  margin: 0;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.15;
  text-align: center;
  background: #ff3f45;
  border-radius: 50%;
}

.p-home-price__discount span {
  font-size: 32px;
  line-height: 1;
}

.p-home-price__price-area {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0;
  margin-top: 3px;
}

.p-home-price__normal {
  position: relative;
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
  text-align: left;
}

.p-home-price__normal span {
  position: relative;
  display: inline-block;
  font-family: "Bakbak One", "Noto Sans JP", sans-serif;
  font-size: 32px;
  line-height: 1;
}

.p-home-price__normal span::after {
  content: "";
  position: absolute;
  top: 54%;
  right: -5px;
  left: -5px;
  height: 2px;
  background: #ff3f45;
  transform: rotate(12deg);
}

.p-home-price__price {
  margin: 0;
  color: #ffdf40;
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
}

.p-home-price__price .unit {
  font-size: 16px;
}

.p-home-price__price .u-font-bakbak {
  font-size: clamp(44px, 3.889vw, 56px);
  margin-top: -5px;
  line-height: 0.8;
}

.p-home-price__image-wrap {
  max-width: 309px;
  position: relative;
  margin: 22px auto 0;
}

.p-home-price__image-wrap figcaption {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(8px, 1.111vw, 16px);
  min-height: 31px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  background: #ffffff;
  border-radius: 3px;
  transform: translate(-50%, -1px);
  white-space: nowrap;
}

.p-home-price__image-wrap figcaption::before {
  content: "";
  flex: 0 0 auto;
  width: 17px;
  aspect-ratio: 1;
  margin-right: 8px;
  background: url("../images/common/deco-shine-green.svg") no-repeat center/contain;
}

.p-home-price__image-wrap img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 309/232;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 9px;
}

.p-home-price__plan-button {
  min-width: 214px;
  margin: 17px auto 0;
  padding: 14px 48px 13px 24px;
  line-height: 1;
}

.p-home-price__plan-card--wide .p-home-price__discount {
  top: 76px;
  left: 24px;
}

.p-home-price__plan-card--wide .p-home-price__price-area {
  justify-content: flex-start;
}

.p-home-price__plan-card--wide .p-home-price__image-wrap {
  flex: 0 1 213px;
  width: 213px;
  min-width: 120px;
  margin: 0;
}

.p-home-price__plan-card--wide .p-home-price__plan-button {
  margin: 16px auto 0;
}

.p-home-price__plan-card--consult .p-home-price__plan-title {
  font-size: 36px;
}

.p-home-price__consult-text {
  margin: 20px 0 0;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}

.p-home-price__consult-price {
  margin: 13px 0 0;
  color: #ffdf40;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.5;
}

.p-home-price__plan-card--consult .p-home-price__plan-button {
  margin: 35px 0 0;
}

.p-home-price__single-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  width: 100%;
  padding: 31px 47px;
}

.p-home-price__single-card > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(8px, 0.83vw, 12px) clamp(10px, 1.11vw, 16px);
}

.p-home-price__single-heading p {
  margin: 0 0 2px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.p-home-price__single-heading h3 {
  margin: 0;
  color: #ffffff;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.2;
}

.p-home-price__single-images {
  display: flex;
  align-items: center;
  gap: 10px;
}

.p-home-price__single-images img {
  display: block;
  width: 117px;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}

.p-home-price__single-text {
  margin: 0;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}

.p-home-price__single-card .p-home-price__plan-button {
  justify-self: end;
  margin-top: 0;
}

.p-home-price__option {
  margin-top: 78px;
}

.p-home-price__option-title {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 18px 40px;
  align-items: center;
}

.p-home-price__option-title img {
  display: block;
  width: 133px;
  height: auto;
}

.p-home-price__option-title h3 {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 8px #15913a;
  paint-order: stroke fill;
}

.p-home-price__option-title p {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

.p-home-price__option-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  background: #ffffff;
  border: 2px solid #15913a;
  border-radius: 10px;
}

.p-home-price__option-list li {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding: 10px 24px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  border-right: 2px solid #15913a;
  border-bottom: 2px solid #15913a;
}

.p-home-price__option-list li:nth-child(4n) {
  border-right: 0;
}

.p-home-price__option-list li:nth-last-child(-n+4) {
  border-bottom: 0;
}

.p-home-price__option-list li::before {
  content: "";
  flex: 0 0 auto;
  width: 14px;
  aspect-ratio: 1;
  margin-right: 8px;
  background: url("../images/common/deco-shine-green.svg") no-repeat center/contain;
}

.p-home-anshin {
  position: relative;
  overflow: hidden;
  padding-block: 0 72px;
  color: #123c1e;
  background: #ffffff;
}

.p-home-anshin__head {
  position: relative;
  min-height: 125px;
  text-align: center;
}

.p-home-anshin__head > .l-container {
  position: relative;
  width: min(100% - 120px, 1320px);
}

.p-home-anshin__stars {
  position: absolute;
  top: 52px;
  width: 366px;
  height: 18px;
  background-image: url("../images/common/deco_star_gr.svg");
  background-repeat: repeat-x;
  background-position: left center;
  background-size: 26px 18px;
  pointer-events: none;
}

.p-home-anshin__stars--left {
  left: 18px;
}

.p-home-anshin__stars--right {
  right: 18px;
}

.p-home-anshin__dome__wrap {
  position: relative;
  z-index: 3;
  position: relative;
  height: 130px;
  overflow: hidden;
}

.p-home-anshin__dome {
  position: absolute;
  top: 0;
  left: 50%;
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 424px;
  min-height: 276px;
  background-color: #f8fcff;
  background-image: url("../images/common/repeat_bg_bliue.svg");
  background-repeat: repeat;
  background-size: auto;
  border: 4px solid #15913a;
  border-bottom: 0;
  border-radius: 424px 424px 0 0;
  transform: translateX(-50%);
}

.p-home-anshin__mark {
  position: absolute;
  top: 46px;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
  width: 110px;
  height: auto;
  z-index: 5;
}

.p-home-anshin__title {
  position: relative;
  z-index: 1;
  margin: 13px 0 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0.03em;
  text-align: center;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}

.p-home-anshin > .l-container {
  border: 4px solid #15913a;
  position: relative;
  z-index: 2;
  margin-top: -4px;
  padding: 20px 60px 72px;
  width: min(100% - 120px, 1320px);
  background-color: #f8fcff;
  background-image: url("../images/common/repeat_bg_bliue.svg");
  background-repeat: repeat;
  background-size: auto;
  background-position: 1% 2%;
}

.p-home-anshin__list {
  margin-top: 20px;
  display: grid;
  gap: 40px;
}

.p-home-anshin__item {
  display: grid;
  grid-template-columns: 368px minmax(0, 1fr);
  align-items: center;
  gap: 80px;
}

.p-home-anshin__image-wrap {
  margin: 0;
  width: 368px;
  height: 368px;
  aspect-ratio: 1/1;
}

.p-home-anshin__image-wrap img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 12px;
}

.p-home-anshin__body {
  min-width: 0;
}

.p-home-anshin__item-heading {
  display: flex;
  align-items: center;
  gap: 24px;
}

.p-home-anshin__point {
  display: grid;
  justify-items: center;
  flex: 0 0 auto;
  margin: 0;
  color: #ffffff;
  line-height: 1;
}

.p-home-anshin__point span {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #15913a;
}

.p-home-anshin__point strong {
  margin-top: -2px;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: 0.01em;
  -webkit-text-stroke: 6px #15913a;
  paint-order: stroke fill;
}

.p-home-anshin__item-heading h3 {
  margin: 0;
  color: #123c1e;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.28;
  letter-spacing: 0.04em;
}

.p-home-anshin__text {
  margin-top: 28px;
  padding-left: 24px;
  border-left: 4px solid #15913a;
}

.p-home-anshin__text p {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

.p-home-anshin__button {
  min-width: 246px;
  margin: 26px auto 0;
}

.p-home-flow {
  padding-block: 80px;
  background-color: #e8f3eb;
  background-image: url("../images/top/service_repeat_bg.webp");
  background-repeat: repeat;
  background-position: center top;
}

.p-home-flow > .l-container {
  width: min(100% - 120px, 1240px);
}

.p-home-flow__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
}

.p-home-flow__title {
  margin: 0;
  color: #ffffff;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}

.p-home-flow__lead {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

.p-home-flow__list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 0 48px;
  align-items: start;
  margin: 48px 0 0;
  padding: 0;
  list-style: none;
}

.p-home-flow__item {
  position: relative;
  min-width: 0;
  margin: 0;
}

.p-home-flow__badge {
  display: flex;
  width: 102px;
  aspect-ratio: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  color: #ffffff;
  background: #15913a;
  border-radius: 50%;
}

.p-home-flow__badge-label {
  color: #ffffff;
  font-family: "Bakbak One", "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}

.p-home-flow__badge-number {
  margin-top: 1px;
  color: #15913a;
  font-size: 46px;
  line-height: 0.82;
  -webkit-text-stroke: 6px #ffffff;
  paint-order: stroke fill;
}

.p-home-flow__content {
  min-width: 0;
}

.p-home-flow__item-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.p-home-flow__icon {
  display: block;
  flex: 0 0 auto;
  width: 32px;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-home-flow__item-title {
  margin: 0;
  color: #123c1e;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.p-home-flow__item-text {
  margin: 24px 0 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
}

.p-home-flow__arrow {
  position: relative;
  display: none;
  margin: 0;
}

.p-home-flow__arrow::before {
  content: "";
  position: absolute;
  top: 50px;
  left: -34px;
  width: 14px;
  height: 22px;
  background: #15913a;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.p-home-flow__arrow + .p-home-flow__item::before {
  content: "";
  position: absolute;
  top: 40px;
  left: -34px;
  width: 14px;
  height: 22px;
  background: #15913a;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.p-home-compare {
  position: relative;
  overflow: hidden;
  padding-block: 0 104px;
  color: #123c1e;
  background: #ffffff;
}

.p-home-compare > .l-container {
  width: min(100% - 120px, 1250px);
}

.p-home-compare__title {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.03em;
  -webkit-text-stroke: 8px #15913a;
  paint-order: stroke fill;
}

.p-home-compare__lead {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.p-home-compare__table-panel {
  position: relative;
  margin-top: 0;
}

.p-home-compare__table-scroll {
  position: relative;
  overflow-x: auto;
  padding-top: 0;
  border-radius: 10px;
}

.p-home-compare__table {
  width: 100%;
  min-width: 1080px;
  border-collapse: separate;
  border-spacing: 0;
}

.p-home-compare__table th,
.p-home-compare__table td {
  box-sizing: border-box;
  text-align: center;
  vertical-align: middle;
}

.p-home-compare__table thead th {
  color: #606060;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  background: #ffffff;
  border-right: 2px solid #ffffff;
  border-radius: 4px 4px 0 0;
}

.p-home-compare__blank {
  width: 184px;
  min-width: 184px;
  background: transparent !important;
}

.p-home-compare__table thead .p-home-compare__company {
  background: #f8f8f8;
}

.p-home-compare__table thead .p-home-compare__home.p-home-compare__home--head {
  width: 250px;
  min-width: 250px;
  height: 164px;
  padding: 12px 16px;
  background: #15913a;
  color: #ffffff;
  background: #178d39;
  border: 8px solid #178d39;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
}

.p-home-compare__table thead .p-home-compare__home img {
  display: block;
  width: 108px;
  height: auto;
  margin: 0 auto 6px;
}

.p-home-compare__table thead .p-home-compare__home span {
  display: block;
  font-size: 18px;
  font-weight: 700;
}

.p-home-compare__table thead .p-home-compare__heading-cell .p-home-compare__heading {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 48px;
  text-align: left;
}

.p-home-compare__table thead .p-home-compare__home {
  background: #f8f8f8;
}

.p-home-compare__table tbody th {
  width: 184px;
  min-width: 184px;
  height: 126px;
  padding: 18px 16px;
  color: #15913a;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  background: #f7f7f7;
  border-bottom: 2px solid #ffffff;
}

.p-home-compare__table tbody tr:first-child th {
  border-radius: 10px 0 0 0;
}

.p-home-compare__table tbody tr:last-child th {
  border-bottom: 0;
  border-radius: 0 0 0 10px;
}

.p-home-compare__table td {
  width: 250px;
  min-width: 250px;
  height: 126px;
  padding: 12px 16px 14px;
  color: #606060;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  background: #d8eddd;
  border-right: 2px solid #ffffff;
  border-bottom: 2px solid #ffffff;
}

.p-home-compare__table .p-home-compare__home + td {
  width: 268px;
  min-width: 264px;
}

.p-home-compare__table .p-home-compare__home + td + td {
  width: 268px;
  min-width: 264px;
}

.p-home-compare__table tbody tr:last-child td {
  border-bottom: 0;
}

.p-home-compare__table td.p-home-compare__home {
  color: #ff4148;
  background: #ffffff;
  border-right: 8px solid #15913a;
  border-left: 8px solid #15913a;
  border-bottom: 2px solid #15913a;
}

.p-home-compare__table tbody tr:last-child td.p-home-compare__home {
  border-bottom: 8px solid #15913a;
  border-radius: 0 0 8px 8px;
}

.p-home-compare__table td strong {
  display: block;
  font-weight: 600;
}

.p-home-compare__table td strong.price {
  font-size: 30px;
}

.p-home-compare__table td span {
  display: block;
  font-weight: 400;
  color: #123c1e !important;
}

.p-home-compare__table td span.fc-red {
  color: #ff4148 !important;
}

.p-home-compare__table td span.fc-black {
  color: #123c1e !important;
}

.p-home-compare__price {
  font-size: 32px;
  line-height: 1.1;
}

.p-home-compare__mark {
  color: #606060;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
}

.p-home-compare__home .p-home-compare__mark {
  color: #ff4148;
}

.p-home-compare__mark--cross {
  font-size: 46px;
}

.p-home-faq {
  padding-block: 86px 110px;
  background: #ffffff;
}

.p-home-faq > .l-container {
  width: min(100% - 120px, 1280px);
}

.p-home-faq__heading {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0 0 26px;
}

.p-home-faq__title {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 8px #15913a;
  paint-order: stroke fill;
}

.p-home-faq__lead {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.p-home-faq__group {
  padding: 48px 32px;
  background: #f7f7f7;
  border-radius: 28px;
}

.p-home-faq__group + .p-home-faq__group {
  margin-top: 24px;
}

.p-home-faq__group-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: #123c1e;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.p-home-faq__group-title::before {
  content: "";
  flex: 0 0 auto;
  width: 36px;
  aspect-ratio: 1;
  background: url("../images/common/icon_box_2.svg") no-repeat center/contain;
}

.p-home-faq__group:nth-of-type(2) .p-home-faq__group-title::before {
  background-image: url("../images/common/icon_scope_2.svg");
}

.p-home-faq__list {
  display: flex;
  gap: 42px;
}

.p-home-faq__column {
  flex: 1 1 0;
  min-width: 0;
}

.p-home-faq__item {
  width: 100%;
  overflow: hidden;
  background: transparent;
  border-bottom: 2px solid #15913a;
}

.p-home-faq__question {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 24px 34px 11px 0;
  color: #15913a;
  font-weight: 700;
  line-height: 1.45;
  list-style: none;
  cursor: pointer;
}

.p-home-faq__question::-webkit-details-marker {
  display: none;
}

.p-home-faq__q-mark,
.p-home-faq__a-mark {
  flex: 0 0 auto;
  color: #15913a;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
}

.p-home-faq__q-text {
  flex: 1 1 auto;
  color: #15913a;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.45;
}

.p-home-faq__toggle {
  position: absolute;
  top: 50%;
  right: 0;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
}

.p-home-faq__toggle::before,
.p-home-faq__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #15913a;
  transform: translate(-50%, -50%);
}

.p-home-faq__toggle::before {
  width: 17px;
  height: 4px;
}

.p-home-faq__toggle::after {
  width: 4px;
  height: 17px;
  transition: transform 0.2s ease;
}

.p-home-faq__item[open] .p-home-faq__toggle::after {
  transform: translate(-50%, -50%) scaleY(0);
}

.p-home-faq__answer {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: 0 34px 24px 0;
}

.p-home-faq__a-text {
  flex: 1 1 auto;
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.65;
}

.p-home-area {
  padding-top: 0;
  padding-bottom: 10px;
  background-color: #eff6ff;
  background-image: url("../images/common/repeat_bg_bliue.svg");
  background-repeat: repeat;
}

.p-home-area > .l-container {
  width: min(100%, 1440px);
  padding: 96px 64px 74px;
}

.p-home-area__inner {
  display: grid;
  grid-template-columns: minmax(0, 493px) minmax(0, 662px);
  gap: 50px;
  align-items: center;
  justify-content: center;
}

.p-home-area__intro {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-home-area__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.p-home-area__icon {
  width: 71px;
  height: auto;
  flex: 0 0 auto;
}

.p-home-area__title {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 8px #15913a;
  paint-order: stroke fill;
}

.p-home-area__note {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 500px);
  min-height: 112px;
  margin: 21px 0 0;
  padding: 14px 24px;
  color: #fdff5b;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.04em;
  text-align: center;
  background: #e8f3eb;
  border: 3px solid #15913a;
  border-radius: 999px;
  -webkit-text-stroke: 6px #15913a;
  paint-order: stroke fill;
}

.p-home-area__marks {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-top: 20px;
}

.p-home-area__marks img {
  width: 108px;
  height: auto;
}

.p-home-area__panel {
  min-width: 0;
  width: 100%;
  padding: 36px clamp(20px, 5.14vw, 74px) 34px;
  background: rgba(255, 255, 255, 0.94);
  border-radius: 16px;
  box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.08);
}

.p-home-area__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: clamp(20px, 4vw, 58px);
       column-gap: clamp(20px, 4vw, 58px);
  row-gap: 8px;
  margin: 0;
  padding-left: 1.1em;
  list-style: disc;
}

.p-home-area__item {
  list-style: disc;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
}

.p-home-area__item::marker {
  font-size: 0.7em;
}

.p-home-area__item a {
  transition: color 0.2s ease;
}

.p-home-area__item a:hover,
.p-home-area__item a:focus-visible {
  color: #15913a;
}

@media (max-width: 767px) {
  .p-home-recommend {
    padding-block: 41px 38px;
    background-size: 42px 42px;
  }
  .p-home-recommend__heading {
    display: grid;
    justify-items: center;
    gap: 16px;
  }
  .p-home-recommend__title-wrap {
    gap: 10px;
  }
  .p-home-recommend__title-icon {
    width: 54px;
  }
  .p-home-recommend__title {
    font-size: 32px;
    letter-spacing: 0.8px;
    -webkit-text-stroke-width: 7px;
  }
  .p-home-recommend__lead {
    justify-self: start;
    font-size: 16px;
    line-height: 1.4;
  }
  .p-home-recommend__slider {
    width: min(100% - 48px, 342px);
    margin-top: 16px;
  }
  .p-home-recommend__slider .splide__slide {
    box-shadow: 8px 8px 0 #d6f3f8;
  }
  .p-home-recommend__card {
    min-height: 318px;
    padding: 30px 16px 24px;
    border-radius: 14px;
  }
  .p-home-recommend__head {
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 8px;
  }
  .p-home-recommend__image {
    width: 86px;
  }
  .p-home-recommend__image--mark img {
    width: 72px;
  }
  .p-home-recommend__label {
    padding: 4px 8px;
    font-size: 12px;
  }
  .p-home-recommend__catch {
    margin-top: 13px;
    font-size: 18px;
    line-height: 1.4;
  }
  .p-home-recommend__content {
    margin-top: 8px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.78;
  }
  .p-home-recommend__arrows {
    margin-top: 24px;
  }
}
@media (min-width: 768px) {
  .p-home-service {
    box-shadow: inset 0 -130px 0 #ffffff;
  }
  .p-home-service__visuals.splide {
    visibility: visible;
  }
  .p-home-service__visuals-track,
  .p-home-service__visuals-track.splide__track {
    padding-inline: 0 !important;
    overflow: visible;
  }
  .p-home-service__visuals-list,
  .p-home-service__visuals-list.splide__list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    transform: none !important;
  }
  .p-home-service__visual-slide,
  .p-home-service__visual-slide.splide__slide {
    width: auto !important;
    margin-right: 0 !important;
  }
  .p-home-service {
    box-shadow: inset 0 -130px 0 #ffffff;
  }
  .p-home-works__slider {
    position: relative;
    padding-inline: 34px;
  }
  .p-home-works__track {
    padding-right: 12px !important;
    padding-bottom: 12px;
    overflow: hidden;
  }
  .p-home-works__slider.is-initialized .p-home-works__list {
    display: flex;
    gap: 0;
  }
  .p-home-works::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 86px;
    background: #ffffff;
    pointer-events: none;
  }
}
@media (max-width: 1023px) {
  .p-home-service__grid,
  .p-home-price__grid,
  .p-home-voice__grid {
    grid-template-columns: 1fr;
  }
  .p-home-service__grid {
    width: 90%;
    grid-template-columns: 1fr;
  }
  .p-home-service::after {
    width: 243px;
    height: 243px;
  }
  .p-home-service__heading::before,
  .p-home-service__heading::after {
    width: 80px;
    top: 38px;
  }
  .p-home-service__mark {
    width: 77px;
  }
  .p-home-service__title {
    font-size: 32px;
    -webkit-text-stroke: 6px #15913a;
    line-height: 1.2;
  }
  .p-home-service::before {
    height: 86px;
  }
  .p-home-service__heading {
    padding-top: 20px;
    min-height: auto;
  }
  .p-home-works__slider {
    padding-inline: 0;
  }
  .p-home-works__track {
    overflow: visible;
  }
  .p-home-works__arrows {
    display: none;
  }
  .p-home-works__inner {
    width: min(100% - 40px, 960px);
  }
  .p-home-works__hero {
    min-height: 0;
    padding-top: 65px;
  }
  .p-home-works__person {
    right: 0;
    display: block;
    margin: 5px auto 0;
    position: relative;
    width: 100%;
  }
  .p-home-works__title img {
    width: 70px;
    height: auto;
  }
  .p-home-works__title {
    font-size: 30px;
    -webkit-text-stroke: 8px #15913a;
  }
  .p-home-works__lead {
    font-size: 16px;
  }
  .p-home-works__summary {
    display: block;
    margin-top: 0;
  }
  .p-home-works__content {
    gap: 13px;
    grid-template-columns: 1fr;
  }
  .p-home-works__photos {
    display: block;
    width: min(100%, 690px);
    margin-inline: auto;
  }
  .p-home-works__photo-arrow {
    margin: 10px auto;
    transform: rotate(90deg);
  }
  .p-home-works__card {
    margin-right: 8px;
    box-shadow: 8px 8px 0 0 #d4eadb;
  }
  .p-home-works__side-arrow {
    display: none;
  }
  .p-home-works__benefit {
    display: block;
    box-sizing: border-box;
    width: 100vw;
    margin-top: 58px;
    margin-inline: calc(50% - 50vw);
    padding: 24px;
    color: #ffffff;
    background-color: #15913a;
    background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.16) 0 1px, transparent 1px 18px);
    border-radius: 0;
  }
  .p-home-works__benefit-copy {
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
  .p-home-works__benefit-copy span {
    display: inline;
    padding-inline: 2px;
    font-size: 28px;
    line-height: 1.8;
    border-radius: 4px;
  }
  .p-home-works__benefit-figure {
    max-width: none;
    margin-top: 6px;
  }
  .p-home-works__benefit-figure picture,
  .p-home-works__benefit-figure img {
    display: block;
  }
  .p-home-works__benefit-figure img {
    width: 100%;
    height: auto;
  }
  .p-home-works__cost dd {
    text-align: left;
  }
  .p-home-price__content {
    padding-block: 34px 58px;
  }
  .p-home-price__content > .l-container {
    width: min(100% - 20px, 370px);
  }
  .p-home-price__banner {
    margin-bottom: 21px;
  }
  .p-home-price__banner-image {
    border-radius: 7px;
  }
  .p-home-price__heading {
    grid-template-columns: 88px minmax(0, 1fr) 88px;
    gap: 0;
    align-items: end;
    margin-left: -25px;
    width: 100vw;
    margin-bottom: 15px;
  }
  .p-home-price__title-block {
    padding-bottom: 11px;
  }
  .p-home-price__title-block > div {
    text-align: center;
  }
  .p-home-price__title {
    gap: 10px;
    font-size: 32px;
    -webkit-text-stroke-width: 6px;
  }
  .p-home-price__title-block::before,
  .p-home-price__title-block::after {
    display: none;
  }
  .p-home-price__title::before,
  .p-home-price__title::after {
    width: 42px;
    height: 58px;
    background-size: contain;
  }
  .p-home-price__lead {
    margin-top: 7px;
    font-size: 16px;
    line-height: 1.45;
  }
  .p-home-price__person {
    max-width: 115px;
    width: 115px;
  }
  .p-home-price__plans {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .p-home-price__plan-card,
  .p-home-price__single-card {
    grid-column: auto;
    border-radius: 12px;
    box-shadow: 5px 5px 0 0 #ffffff;
  }
  .p-home-price__plan-card,
  .p-home-price__plan-card--wide {
    display: block;
    padding: 25px 25px 24px;
    text-align: center;
  }
  .p-home-price__recommend {
    margin-bottom: 5px;
    font-size: 12px;
  }
  .p-home-price__plan-title,
  .p-home-price__plan-card--consult .p-home-price__plan-title {
    font-size: 30px;
  }
  .p-home-price__discount,
  .p-home-price__plan-card--wide .p-home-price__discount {
    width: 124px;
    font-size: 14px;
    min-width: 124px;
  }
  .p-home-price__discount span {
    font-size: 32px;
  }
  .p-home-price__price-area,
  .p-home-price__plan-card--wide .p-home-price__price-area {
    justify-content: flex-end;
    min-height: 86px;
    gap: 10px;
  }
  .p-home-price__normal {
    margin-bottom: 9px;
    font-size: 11px;
  }
  .p-home-price__normal span {
    font-size: 20px;
  }
  .p-home-price__price {
    font-size: 22px;
    margin-top: -12px;
  }
  .p-home-price__price .u-font-bakbak {
    font-size: 56px;
  }
  .p-home-price__image-wrap,
  .p-home-price__plan-card--wide .p-home-price__image-wrap {
    margin-top: 17px;
  }
  .p-home-price__image-wrap figcaption {
    min-width: 154px;
    min-height: 25px;
    padding-inline: 14px;
    font-size: 12px;
  }
  .p-home-price__image-wrap figcaption::before {
    width: 14px;
    margin-right: 6px;
  }
  .p-home-price__plan-button,
  .p-home-price__plan-card--wide .p-home-price__plan-button,
  .p-home-price__single-card .p-home-price__plan-button {
    min-width: 198px;
    min-height: 35px;
    margin: 15px auto 0;
    font-size: 14px;
  }
  .p-home-price__plans__wide {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin-top: 0;
  }
  .p-home-price__plan-card--consult {
    margin-top: 0;
  }
  .p-home-price__plan-card--wide > div {
    flex-direction: column;
  }
  .p-home-price__single-card {
    margin-top: 26px;
  }
  .p-home-price__single-card > div {
    flex-direction: column;
  }
  .p-home-price__consult-text {
    margin-top: 12px;
    font-size: 12px;
  }
  .p-home-price__consult-price {
    margin-top: 5px;
    font-size: 40px;
  }
  .p-home-price__single-card {
    display: block;
    padding: 25px 25px 24px;
    text-align: center;
  }
  .p-home-price__single-heading p {
    font-size: 12px;
  }
  .p-home-price__single-heading h3 {
    font-size: 29px;
  }
  .p-home-price__plan-card--wide .p-home-price__image-wrap {
    max-width: 100%;
  }
  .p-home-price__single-images {
    justify-content: center;
    gap: 13px;
    margin-top: 0;
  }
  .p-home-price__single-images img {
    width: 101px;
  }
  .p-home-price__single-text {
    margin-top: 12px;
    font-size: 13px;
  }
  .p-home-price__option {
    margin-top: 48px;
  }
  .p-home-price__option-title {
    display: block;
    margin-bottom: 16px;
    text-align: center;
  }
  .p-home-price__option-title img {
    width: 74px;
    margin-inline: auto;
  }
  .p-home-price__option-title h3 {
    margin-top: 10px;
    font-size: 29px;
    -webkit-text-stroke-width: 6px;
  }
  .p-home-price__option-title p {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.6;
  }
  .p-home-price__option-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-radius: 7px;
  }
  .p-home-price__option-list li {
    padding: 18px 21px;
    font-size: 16px;
    border-right-width: 1px;
    border-bottom-width: 1px;
  }
  .p-home-price__option-list li:nth-child(4n) {
    border-right: 1px solid #15913a;
  }
  .p-home-price__option-list li:nth-child(2n) {
    border-right: 0;
  }
  .p-home-price__option-list li:nth-last-child(-n+4) {
    border-bottom: 1px solid #15913a;
  }
  .p-home-price__option-list li:nth-last-child(-n+2) {
    border-bottom: 0;
  }
  .p-home-price__option-list li::before {
    width: 20px;
    margin-right: 5px;
  }
  .p-home-anshin {
    padding-block: 0 44px;
    border-right-width: 3px;
    border-bottom-width: 3px;
    border-left-width: 3px;
  }
  .p-home-anshin__head {
    min-height: 71px;
  }
  .p-home-anshin__head > .l-container {
    width: 100%;
  }
  .p-home-anshin__stars {
    top: 30px;
    width: 60px;
    height: 18px;
    background-size: 20px 14px;
  }
  .p-home-anshin__stars--left {
    left: 18px;
  }
  .p-home-anshin__stars--right {
    right: 18px;
  }
  .p-home-anshin__dome__wrap {
    height: 70px;
  }
  .p-home-anshin__dome {
    width: 270px;
    min-height: 132px;
    border-width: 3px;
    border-bottom: 0;
    border-radius: 210px 210px 0 0;
  }
  .p-home-anshin__mark {
    width: 77px;
    top: 26px;
  }
  .p-home-anshin__title {
    margin-top: 20px;
    font-size: 32px;
    line-height: 1.18;
    -webkit-text-stroke-width: 8px;
  }
  .p-home-anshin > .l-container {
    padding-inline: 32px;
    border: 3px solid #15913a;
    width: 98%;
  }
  .p-home-anshin__list {
    gap: 50px;
  }
  .p-home-anshin__item {
    display: block;
  }
  .p-home-anshin__image-wrap {
    margin-bottom: 18px;
    width: 100%;
    height: auto;
    margin-inline: auto;
  }
  .p-home-anshin__image-wrap img {
    border-radius: 10px;
  }
  .p-home-anshin__item-heading {
    align-items: center;
    gap: 14px;
  }
  .p-home-anshin__point span {
    font-size: 20px;
  }
  .p-home-anshin__point strong {
    font-size: 50px;
    -webkit-text-stroke-width: 8px;
  }
  .p-home-anshin__item-heading h3 {
    font-size: 24px;
    line-height: 1.4;
  }
  .p-home-anshin__text {
    margin-top: 16px;
    padding-left: 13px;
    border-left-width: 3px;
  }
  .p-home-anshin__text p {
    font-size: 14px;
    line-height: 1.85;
  }
  .p-home-anshin__button {
    min-width: 0;
    width: 214px;
    min-height: 44px;
    margin: 18px auto 0;
    padding-block: 8px;
    font-size: 14px;
  }
  .p-home-flow {
    padding-block: 66px 60px;
  }
  .p-home-flow > .l-container {
    width: min(100% - 32px, 358px);
  }
  .p-home-flow__heading {
    display: block;
    text-align: center;
  }
  .p-home-flow__title {
    font-size: 36px;
    -webkit-text-stroke-width: 7px;
  }
  .p-home-flow__lead {
    margin-top: 4px;
    font-size: 16px;
    line-height: 1.5;
  }
  .p-home-flow__list {
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin-top: 34px;
  }
  .p-home-flow__item {
    display: grid;
    grid-template-columns: 102px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
  }
  .p-home-flow__badge {
    width: 102px;
    margin: 0;
  }
  .p-home-flow__item-heading {
    justify-content: flex-start;
    gap: 8px;
  }
  .p-home-flow__icon {
    width: 42px;
    height: 42px;
  }
  .p-home-flow__item-title {
    font-size: 24px;
  }
  .p-home-flow__item-text {
    margin-top: 8px;
    font-size: 16px;
    line-height: 1.4;
  }
  .p-home-flow__arrow {
    display: block;
    width: 0;
    height: 18px;
    margin: -3px 0 -3px 188px;
  }
  .p-home-flow__arrow::before {
    top: 0;
    left: 0;
    width: 20px;
    height: 13px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
  .p-home-flow__arrow + .p-home-flow__item::before {
    content: none;
  }
  .p-home-items {
    padding-block: 42px 74px;
  }
  .p-home-items > .l-container {
    width: min(100% - 32px, 358px);
  }
  .p-home-items__head {
    display: block;
  }
  .p-home-items__title {
    text-align: center;
    font-size: 32px;
    -webkit-text-stroke-width: 8px;
  }
  .p-home-items__nav {
    margin-top: 33px;
  }
  .p-home-items__nav-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 16px;
  }
  .p-home-items__nav-link {
    padding-bottom: 8px;
    font-size: 16px;
  }
  .p-home-items__categories {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 33px;
  }
  .p-home-items__category,
  .p-home-items__category:not(.p-home-items__category--half) {
    grid-column: auto;
  }
  .p-home-items__category {
    padding: 0 16px 24px;
    border-radius: 14px;
    scroll-margin-top: 86px;
  }
  .p-home-items__category-title {
    margin-inline: -20px;
    margin-bottom: 18px;
    padding-block: 5px 7px;
    font-size: 20px;
    border-radius: 14px 14px 0 0;
  }
  .p-home-items__card-list,
  .p-home-items__category--half .p-home-items__card-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
  }
  .p-home-items__card-image {
    border-radius: 6px;
  }
  .p-home-items__card-name {
    min-height: 24px;
    padding-right: 20px;
    font-size: 14px;
    padding-bottom: 10px;
  }
  .p-home-items__category-title::before,
  .p-home-items__category-title::after {
    font-size: 1.25rem;
  }
  .p-home-items__card-name::after {
    width: 23px;
    height: 23px;
  }
  .p-home-items__card-name::before {
    right: 5%;
    border-width: 4px 0 4px 5px;
  }
  .p-home-items__tag-list {
    gap: 6px 10px;
    margin-top: 14px;
  }
  .p-home-items__tag {
    font-size: 16px;
  }
  .p-home-compare > .l-container {
    width: 100%;
  }
  .p-home-compare__heading {
    display: block;
    margin-bottom: 16px;
    padding-inline: 24px;
    text-align: center;
  }
  .p-home-compare__title {
    gap: 16px;
    justify-content: center;
    font-size: 32px;
    -webkit-text-stroke-width: 8px;
  }
  .p-home-compare__title-icon {
    width: 43px;
  }
  .p-home-compare__lead {
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.4;
  }
  .p-home-compare__table-panel {
    margin-top: 0;
  }
  .p-home-compare__table-scroll {
    border-radius: 0;
  }
  .p-home-compare__table-scroll .scroll-hint-icon-wrap {
    z-index: 5;
  }
  .p-home-compare__table {
    min-width: 650px;
  }
  .p-home-compare__table thead .p-home-compare__heading-cell .p-home-compare__heading {
    display: none !important;
  }
  .p-home-compare__table tbody tr:first-child th {
    border-radius: 0;
  }
  .p-home-compare__table tbody tr:last-child th {
    border-radius: 0;
  }
  .p-home-compare__table thead .p-home-compare__home.p-home-compare__home--head {
    width: 188px;
    min-width: 188px;
    height: auto;
  }
  .p-home-compare__blank,
  .p-home-compare__table tbody th {
    width: 100px;
    min-width: 100px;
  }
  .p-home-compare__table thead th {
    height: 38px;
    font-size: 18px;
  }
  .p-home-compare__table .p-home-compare__home + td {
    width: 178px;
    min-width: 178px;
  }
  .p-home-compare__table .p-home-compare__home + td + td {
    width: 178px;
    min-width: 178px;
  }
  .p-home-compare__table thead .p-home-compare__home {
    width: 188px;
    min-width: 188px;
    height: 120px;
    padding: 14px 10px 10px;
    border-width: 8px;
  }
  .p-home-compare__table thead .p-home-compare__home img {
    width: 76px;
    margin-bottom: 4px;
  }
  .p-home-compare__table thead .p-home-compare__home span {
    font-size: 18px;
  }
  .p-home-compare__table tbody th {
    height: 72px;
    padding: 8px 6px;
    font-size: 14px;
    border-bottom-width: 2px;
  }
  .p-home-compare__table td {
    width: 182px;
    min-width: 182px;
    height: 72px;
    padding: 6px 8px;
    font-size: 13px;
  }
  .p-home-compare__table td.p-home-compare__home {
    border-right-width: 8px;
    border-left-width: 8px;
  }
  .p-home-compare__table tbody tr:last-child td.p-home-compare__home {
    border-bottom-width: 8px;
  }
  .p-home-compare__price {
    font-size: 20px;
  }
  .p-home-compare__table td strong.price {
    font-size: 20px;
  }
  .p-home-compare__mark {
    font-size: 24px;
  }
  .p-home-compare__mark--cross {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .p-home-voice {
    padding-block: 58px 70px;
    background-size: 42px 42px;
  }
  .p-home-voice > .l-container {
    width: min(100% - 32px, 390px);
  }
  .p-home-voice__heading {
    display: block;
    text-align: center;
  }
  .p-home-voice__title-wrap {
    justify-content: center;
    gap: 9px;
  }
  .p-home-voice__title-icon {
    width: 50px;
  }
  .p-home-voice__title {
    font-size: 24px;
    letter-spacing: 0;
    -webkit-text-stroke-width: 7px;
  }
  .p-home-voice__lead {
    margin-top: 19px;
    font-size: 16px;
    line-height: 1.4;
  }
  .p-home-voice__slider {
    width: min(100% - 32px, 358px);
    margin-top: 28px;
  }
  .p-home-voice__track {
    overflow: visible;
    padding-bottom: 0;
  }
  .p-home-voice__pagination-wrap {
    display: none;
  }
  .p-home-voice__slider .splide__list {
    display: grid !important;
    gap: 28px;
    transform: none !important;
  }
  .p-home-voice__card {
    width: 100% !important;
    padding: 32px 16px 28px;
    box-shadow: 8px 8px 0 #fff;
  }
  .p-home-voice__card:nth-child(n+4) {
    display: none;
  }
  .p-home-voice__image-wrap {
    aspect-ratio: 326/243;
  }
  .p-home-voice__meta {
    gap: 12px;
    margin-top: 18px;
  }
  .p-home-voice__card-title {
    font-size: 20px;
  }
  .p-home-voice__tags {
    gap: 8px;
  }
  .p-home-voice__tags li {
    padding: 5px 10px;
    font-size: 14px;
  }
  .p-home-voice__card-text {
    margin-top: 18px;
    font-size: 16px;
    line-height: 1.55;
  }
  .p-home-voice__arrows {
    display: none;
  }
  .p-home-service {
    overflow: hidden;
    padding-block: 0 32px;
    background-color: #e8f3eb;
    background-image: url("../images/top/service_repeat_bg.webp");
    background-repeat: repeat;
    background-position: center top;
  }
  .p-home-service::before {
    height: 76px;
    background: #ffffff;
  }
  .p-home-service::after {
    top: 0;
    width: 220px;
    height: 112px;
    border-radius: 220px 220px 0 0;
    background-color: #e8f3eb;
    background-image: url("../images/top/service_repeat_bg.webp");
    background-repeat: repeat;
    background-position: center top;
  }
  .p-home-service > .l-container {
    width: min(100% - 28px, 370px);
  }
  .p-home-service__heading {
    min-height: 225px;
    padding-top: 40px;
  }
  .p-home-service__heading::before,
  .p-home-service__heading::after {
    top: 35px;
    width: 82px;
    height: 18px;
    background-size: 20px 14px;
  }
  .p-home-service__heading::before {
    left: -3px;
  }
  .p-home-service__heading::after {
    right: -3px;
  }
  .p-home-service__mark {
    width: 76px;
  }
  .p-home-service__title {
    margin-top: 13px;
    font-size: 34px;
    line-height: 1.12;
    -webkit-text-stroke-width: 7px;
  }
  .p-home-service__grid {
    width: 100%;
    margin: 0;
    grid-template-columns: 1fr;
    gap: 46px;
  }
  .p-home-service__card {
    display: grid;
    grid-template-columns: 111px minmax(0, 1fr);
    -moz-column-gap: 18px;
         column-gap: 18px;
    align-items: center;
    text-align: left;
  }
  .p-home-service__card-icon {
    grid-row: 1/3;
    width: 111px;
    align-self: center;
  }
  .p-home-service__card-icon img {
    width: 60px;
    height: 60px;
  }
  .p-home-service__card-title {
    margin: 0 0 7px;
    font-size: 24px;
    line-height: 1.25;
    letter-spacing: 0.04em;
  }
  .p-home-service__card-text {
    margin: 0;
    font-size: 14px;
    line-height: 1.65;
    letter-spacing: 0.03em;
  }
  .p-home-service__button {
    grid-column: 1/-1;
    justify-self: center;
    min-width: 165px;
    margin-top: 18px;
    padding: 8px 52px 8px 28px;
    font-size: 14px;
    letter-spacing: 0.08em;
  }
  .p-home-faq {
    padding-block: 64px 72px;
  }
  .p-home-faq > .l-container {
    width: min(100% - 32px, 358px);
  }
  .p-home-faq__heading {
    display: block;
    margin-bottom: 34px;
    text-align: center;
  }
  .p-home-faq__title {
    font-size: 32px;
    -webkit-text-stroke-width: 8px;
  }
  .p-home-faq__lead {
    margin: 6px 0 0;
    font-size: 15px;
    line-height: 1.45;
  }
  .p-home-faq__group {
    padding: 0;
    background: transparent;
    border-radius: 0;
  }
  .p-home-faq__group + .p-home-faq__group {
    margin-top: 48px;
  }
  .p-home-faq__group-title {
    gap: 10px;
    margin-bottom: 22px;
    font-size: 20px;
    line-height: 1.35;
  }
  .p-home-faq__group-title::before {
    width: 44px;
  }
  .p-home-faq__list {
    display: block;
  }
  .p-home-faq__column + .p-home-faq__column {
    margin-top: 0;
  }
  .p-home-faq__question {
    min-height: 60px;
    gap: 8px;
    padding: 14px 34px 14px 0;
  }
  .p-home-faq__q-mark,
  .p-home-faq__a-mark {
    font-size: 22px;
  }
  .p-home-faq__q-text {
    font-size: 16px;
    line-height: 1.3;
  }
  .p-home-faq__answer {
    gap: 8px;
    padding: 0 10px 22px 0;
  }
  .p-home-faq__a-text {
    font-size: 15px;
    line-height: 1.55;
  }
  .p-home-area {
    padding-bottom: 0;
  }
  .p-home-area > .l-container {
    width: 100%;
    padding: 74px 16px 64px;
  }
  .p-home-area__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }
  .p-home-area__intro {
    display: contents;
  }
  .p-home-area__heading {
    order: 1;
    gap: 10px;
    margin-bottom: 30px;
  }
  .p-home-area__icon {
    width: 54px;
  }
  .p-home-area__title {
    font-size: 30px;
    -webkit-text-stroke-width: 7px;
  }
  .p-home-area__panel {
    order: 2;
    width: min(100%, 358px);
    margin-inline: auto;
    padding: 34px clamp(20px, 6.15vw, 24px);
    border-radius: 16px;
    box-shadow: 8px 8px 0 rgba(0, 0, 0, 0.08);
  }
  .p-home-area__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 24px;
         column-gap: 24px;
    row-gap: 4px;
    padding-left: 1.1em;
  }
  .p-home-area__item {
    font-size: 16px;
    line-height: 1.55;
  }
  .p-home-area__note {
    order: 3;
    width: min(100%, 310px);
    min-height: 90px;
    margin: 38px auto 0;
    padding: 14px 10px;
    font-size: 16px;
    line-height: 1.35;
    -webkit-text-stroke-width: 5px;
  }
  .p-home-area__marks {
    order: 4;
    gap: 17px;
    margin-top: 20px;
  }
  .p-home-area__marks img {
    width: 74px;
  }
}
@media (max-width: 767px) {
  .p-home-service__visuals {
    display: block;
    width: 100vw;
    margin-top: 58px;
    margin-inline: calc(50% - 50vw);
    overflow: hidden;
  }
  .p-home-service__visuals-track,
  .p-home-service__visuals-track.splide__track {
    overflow: hidden;
  }
  .p-home-service__visuals-list,
  .p-home-service__visuals-list.splide__list {
    display: flex;
    gap: 0;
    margin: 0;
    padding: 0;
  }
  .p-home-service__visual-slide {
    min-width: 0;
  }
  .p-home-service__visual {
    display: block;
    width: 100%;
    height: auto;
  }
}
.p-service-list {
  padding-block: 80px 90px;
  margin-bottom: 90px;
  background: #e8f3eb;
}

.p-service-list > .l-container {
  position: relative;
}

.p-service-list__heading {
  position: relative;
  margin-bottom: 40px;
  text-align: center;
}

.p-service-list__heading-icon {
  display: block;
  width: 64px;
  height: auto;
  margin-inline: auto;
}

.p-service-list__title {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px auto 0;
  color: #123c1e;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.35;
}

.p-service-list__title::before,
.p-service-list__title::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 34px;
  height: 42px;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.p-service-list__title::before {
  right: calc(100% + 32px);
  background-image: url("../images/common/deco_catch_left.svg");
}

.p-service-list__title::after {
  left: calc(100% + 32px);
  background-image: url("../images/common/deco_catch_right.svg");
}

.p-service-list__lead {
  margin: 8px 0 0;
  color: #123c1e;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
}

.p-service-list__staff-image {
  position: absolute;
  right: 0;
  bottom: -40px;
  width: min(23vw, 240px);
  height: auto;
}

.p-service-list__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  max-width: 1040px;
  margin-inline: auto;
}

.p-service-list__card {
  display: flex;
  flex-direction: column;
  padding: 20px 24px 28px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

.p-service-list__card:nth-child(5) {
  grid-column: 1/-1;
  width: calc((100% - 40px) / 2);
  margin-inline: auto;
}

.p-service-list__card-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 66px;
  margin: 0;
  padding: 10px 18px;
  color: #ffffff;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
  background: #15913a;
  border-radius: 12px;
}

.p-service-list__card-icon {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 40px;
  aspect-ratio: 1;
  background: #ffffff;
  border-radius: 50%;
}

.p-service-list__card-icon img {
  display: block;
  width: 28px;
  height: 28px;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-service-list__image {
  display: block;
  width: 100%;
  aspect-ratio: 371/202;
  margin-top: 18px;
  border-radius: 6px;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-service-list__card-text {
  flex: 1 1 auto;
  margin: 18px 0 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

.p-service-list__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 180px;
  margin: 24px 0 0 auto;
  padding: 10px 44px 10px 24px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  background: #ffffff;
  border: 2px solid #15913a;
  border-radius: 999px;
}

.p-service-list__button span {
  position: absolute;
  top: 50%;
  right: 14px;
  display: grid;
  place-items: center;
  width: 24px;
  aspect-ratio: 1;
  transform: translateY(-50%);
}

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

@media (max-width: 767px) {
  .p-service-list {
    padding-block: 56px 64px;
    margin-bottom: 64px;
  }
  .p-service-list__heading {
    margin-bottom: 0;
  }
  .p-service-list__heading-icon {
    width: 52px;
  }
  .p-service-list__title {
    font-size: 30px;
  }
  .p-service-list__title::before,
  .p-service-list__title::after {
    width: 22px;
    height: 30px;
  }
  .p-service-list__title::before {
    right: calc(100% + 14px);
  }
  .p-service-list__title::after {
    left: calc(100% + 14px);
  }
  .p-service-list__lead {
    font-size: 15px;
  }
  .p-service-list__staff-image {
    position: static;
    display: block;
    width: min(70vw, 220px);
    margin: 16px auto 0;
  }
  .p-service-list__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .p-service-list__card,
  .p-service-list__card:nth-child(5) {
    grid-column: auto;
    width: 100%;
    padding: 18px 18px 24px;
    border-radius: 14px;
  }
  .p-service-list__card-title {
    min-height: 58px;
    font-size: 22px;
  }
  .p-service-list__card-icon {
    width: 34px;
  }
  .p-service-list__card-icon img {
    width: 24px;
    height: 24px;
  }
  .p-service-list__card-text {
    font-size: 14px;
    line-height: 1.8;
  }
  .p-service-list__button {
    margin-inline: auto;
  }
}
.page-service-details .page-service-details__hero-image {
  display: block;
  width: 100%;
}
.page-service-details .page-service-details__hero-image img {
  display: block;
  width: 100%;
  height: auto;
}
.page-service-details .page-service-details__situations {
  padding: 64px 0 44px;
  color: #123c1e;
  background-color: #d4eadb;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.2) 70%, transparent 71%);
  background-size: 43px 43px;
}
.page-service-details .page-service-details__situations-inner {
  width: min(100% - 32px, 1160px);
  margin-inline: auto;
}
.page-service-details .page-service-details__situations-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 0 52px;
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}
.page-service-details .page-service-details__situations-title img {
  display: block;
  flex: 0 0 110px;
  width: 110px;
  height: 110px;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-service-details .page-service-details__situations-title-break {
  display: none;
}
.page-service-details .page-service-details__situations-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-service-details .page-service-details__situations-item {
  min-width: 0;
}
.page-service-details .page-service-details__situations-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 102px;
  height: 102px;
  margin: 0 auto 8px;
  border-radius: 50%;
  background: #15913a;
}
.page-service-details .page-service-details__situations-icon img {
  display: block;
  width: auto;
  height: auto;
  max-width: 50px;
  max-height: 56px;
}
.page-service-details .page-service-details__situations-item-title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  margin: 0 0 20px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  overflow-wrap: anywhere;
}
.page-service-details .page-service-details__situations-text {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}
.page-service-details .p-service-details-works {
  padding-bottom: 80px;
}
.page-service-details .p-service-details-works,
.page-service-details .p-service-details-works .p-home-works__inner,
.page-service-details .p-service-details-works .p-home-works__hero {
  overflow: visible;
}
.page-service-details .p-service-details-works .p-home-works__hero {
  min-height: 270px;
  padding-top: 70px;
  overflow: visible;
}
@media (min-width: 767px) {
  .page-service-details .p-service-details-works::before {
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-service-details .page-service-details__situations-list {
    gap: 16px;
  }
  .page-service-details .page-service-details__situations-item-title {
    font-size: 20px;
    min-height: 66px;
  }
}
@media (max-width: 767px) {
  .page-service-details .page-service-details__situations {
    padding-block: 64px;
  }
  .page-service-details .page-service-details__situations-title {
    gap: 16px;
    margin-bottom: 40px;
    font-size: 24px;
    line-height: 1.15;
    letter-spacing: 0.04em;
    -webkit-text-stroke-width: 6px;
  }
  .page-service-details .page-service-details__situations-title img {
    flex-basis: 64px;
    width: 64px;
    height: 64px;
  }
  .page-service-details .page-service-details__situations-title-break {
    display: block;
  }
  .page-service-details .page-service-details__situations-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .page-service-details .page-service-details__situations-item {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    align-items: start;
    gap: 8px;
  }
  .page-service-details .page-service-details__situations-icon {
    width: 78px;
    height: 78px;
    margin: 0;
  }
  .page-service-details .page-service-details__situations-icon img {
    max-width: 36px;
    max-height: 42px;
  }
  .page-service-details .page-service-details__situations-item-title {
    display: block;
    min-height: 0;
    margin: 0 0 6px;
    font-size: 20px;
    line-height: 1.3;
    text-align: left;
  }
  .page-service-details .page-service-details__situations-text {
    line-height: 1.2;
  }
}
.page-service-details .page-service-details__cta-tel,
.page-service-details .page-service-details__cta-link {
  color: #fff;
  transition: transform 0.2s ease, box-shadow 0.2s ease, color 0.25s ease, background-color 0.25s ease;
  will-change: transform;
}
.page-service-details .page-service-details__cta-tel:hover,
.page-service-details .page-service-details__cta-tel:focus-visible,
.page-service-details .page-service-details__cta-link:hover,
.page-service-details .page-service-details__cta-link:focus-visible {
  transform: translateY(3px);
}
.page-service-details .page-service-details__cta-tel:active,
.page-service-details .page-service-details__cta-link:active {
  transform: translateY(5px);
}
.page-service-details .page-service-details__cta-tel {
  display: grid;
  justify-items: center;
  min-height: 176px;
  padding: 25px 32px 24px;
  background: #ff4248;
  border-radius: 14px;
  box-shadow: inset 0 -6px #ad140f;
}
.page-service-details .page-service-details__cta-tel:hover,
.page-service-details .page-service-details__cta-tel:focus-visible {
  box-shadow: inset 0 -3px #ad140f;
}
.page-service-details .page-service-details__cta-tel:active {
  box-shadow: inset 0 -1px #ad140f;
}
.page-service-details .page-service-details__cta-tel-label {
  color: #fdff5b;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
}
.page-service-details .page-service-details__cta-tel-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 6px;
}
.page-service-details .page-service-details__cta-tel-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 56px;
  aspect-ratio: 1;
  background: #fff;
  border-radius: 50%;
  transition: background-color 0.25s ease;
}
.page-service-details .page-service-details__cta-tel-icon img {
  display: block;
  width: 25px;
  height: auto;
  transition: filter 0.25s ease;
}
.page-service-details .page-service-details__cta-tel-number {
  font-size: clamp(50px, 4.17vw, 60px);
  line-height: 1;
}
.page-service-details .page-service-details__cta-hours {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 26px;
  margin-top: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
  transition: color 0.25s ease;
}
.page-service-details .page-service-details__cta-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.page-service-details .page-service-details__cta-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 84px;
  padding: 12px 52px 18px 34px;
  border-radius: 14px;
  font-weight: 700;
  box-shadow: inset 0 -6px rgba(253, 255, 91, 0.9);
}
.page-service-details .page-service-details__cta-link--line {
  background: #fff;
  color: #15913a;
}
.page-service-details .page-service-details__cta-link--mail {
  background: #ff8424;
  color: #fff;
}
.page-service-details .page-service-details__cta-link:hover,
.page-service-details .page-service-details__cta-link:focus-visible {
  box-shadow: inset 0 -3px rgba(253, 255, 91, 0.9);
}
.page-service-details .page-service-details__cta-link:active {
  box-shadow: inset 0 -1px rgba(253, 255, 91, 0.9);
}
.page-service-details .page-service-details__cta-link-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 35px;
  aspect-ratio: 1;
  transition: background-color 0.25s ease;
}
.page-service-details .page-service-details__cta-link-icon img {
  display: block;
  width: 100%;
  height: auto;
}
.page-service-details .page-service-details__cta-link--mail .page-service-details__cta-link-icon {
  width: 36px;
}
.page-service-details .page-service-details__cta-link-label {
  min-width: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
}
.page-service-details .page-service-details__cta-link-label em {
  font-size: 16px;
  font-weight: 500;
  font-style: normal;
}
.page-service-details .page-service-details__cta-link-arrow {
  position: absolute;
  top: 50%;
  right: 18px;
  display: grid;
  place-items: center;
  width: 23px;
  aspect-ratio: 1;
  border-radius: 50%;
  transform: translateY(-50%);
  transition: background-color 0.25s ease;
}
.page-service-details .page-service-details__cta-link--line .page-service-details__cta-link-arrow {
  background: #15913a;
}
.page-service-details .page-service-details__cta-link--mail .page-service-details__cta-link-arrow {
  background: #fff;
}
.page-service-details .page-service-details__cta-link-arrow::before {
  content: "";
  width: 0;
  height: 0;
  margin-left: 2px;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid currentColor;
}
.page-service-details .page-service-details__cta-link--line .page-service-details__cta-link-arrow::before {
  color: #fff;
}
.page-service-details .page-service-details__cta-link--mail .page-service-details__cta-link-arrow::before {
  color: #ff8424;
}
@media (min-width: 768px) {
  .page-service-details .page-service-details__cta-tel:hover,
  .page-service-details .page-service-details__cta-tel:focus-visible {
    color: #ff4248;
    background: #fff;
  }
  .page-service-details .page-service-details__cta-tel:hover .page-service-details__cta-hours,
  .page-service-details .page-service-details__cta-tel:focus-visible .page-service-details__cta-hours {
    color: #ff4248;
  }
  .page-service-details .page-service-details__cta-tel:hover .page-service-details__cta-tel-label,
  .page-service-details .page-service-details__cta-tel:focus-visible .page-service-details__cta-tel-label {
    color: #ff4248;
  }
  .page-service-details .page-service-details__cta-tel:hover .page-service-details__cta-tel-icon,
  .page-service-details .page-service-details__cta-tel:focus-visible .page-service-details__cta-tel-icon {
    background: #ff4248;
  }
  .page-service-details .page-service-details__cta-tel:hover .page-service-details__cta-tel-icon img,
  .page-service-details .page-service-details__cta-tel:focus-visible .page-service-details__cta-tel-icon img {
    filter: brightness(0) invert(1);
  }
  .page-service-details .page-service-details__cta-link--mail:hover,
  .page-service-details .page-service-details__cta-link--mail:focus-visible {
    color: #ff8424;
    background: #fff;
  }
  .page-service-details .page-service-details__cta-link--mail:hover .page-service-details__cta-link-arrow,
  .page-service-details .page-service-details__cta-link--mail:focus-visible .page-service-details__cta-link-arrow {
    background: #ff8424;
  }
  .page-service-details .page-service-details__cta-link--mail:hover .page-service-details__cta-link-icon img,
  .page-service-details .page-service-details__cta-link--mail:focus-visible .page-service-details__cta-link-icon img {
    filter: brightness(0) saturate(100%) invert(59%) sepia(96%) saturate(1769%) hue-rotate(341deg) brightness(101%) contrast(101%);
  }
  .page-service-details .page-service-details__cta-link--mail:hover .page-service-details__cta-link-arrow::before,
  .page-service-details .page-service-details__cta-link--mail:focus-visible .page-service-details__cta-link-arrow::before {
    color: #fff;
  }
  .page-service-details .page-service-details__cta-link--line:hover,
  .page-service-details .page-service-details__cta-link--line:focus-visible {
    color: #fff;
    background: #15913a;
  }
  .page-service-details .page-service-details__cta-link--line:hover .page-service-details__cta-link-arrow,
  .page-service-details .page-service-details__cta-link--line:focus-visible .page-service-details__cta-link-arrow {
    background: #fff;
  }
  .page-service-details .page-service-details__cta-link--line:hover .page-service-details__cta-link-arrow::before,
  .page-service-details .page-service-details__cta-link--line:focus-visible .page-service-details__cta-link-arrow::before {
    color: #15913a;
  }
}
.page-service-details .page-service-details__cta {
  padding: 96px 0 92px;
  color: #fff;
  background-color: #15913a;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.06) 70%, transparent 71%);
  background-size: 43px 43px;
}
.page-service-details .page-service-details__cta-inner {
  position: relative;
  width: min(100% - 128px, 1312px);
  margin-inline: auto;
}
.page-service-details .page-service-details__cta-points {
  min-height: 148px;
  padding: 32px;
  border-radius: 18px;
  background: #fff;
  color: #000;
}
.page-service-details .page-service-details__cta-points-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  color: #15913a;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}
.page-service-details .page-service-details__cta-points-title img {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
}
.page-service-details .page-service-details__cta-points-list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  max-width: 900px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-service-details .page-service-details__cta-points-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}
.page-service-details .page-service-details__cta-points-list li::before {
  content: "";
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #15913a;
}
.page-service-details .page-service-details__cta-points-list li::after {
  content: "";
  position: absolute;
  top: calc(50% - 7px);
  left: 10px;
  width: 15px;
  height: 9px;
  border-bottom: 3px solid #fff;
  border-left: 3px solid #fff;
  transform: rotate(-45deg);
}
.page-service-details .page-service-details__cta-contact {
  display: grid;
  grid-template-columns: 1.06fr 1.07fr 0.86fr;
  align-items: center;
  gap: 14px;
  margin: 56px 14px 0;
}
.page-service-details .page-service-details__cta-intro {
  text-align: center;
}
.page-service-details .page-service-details__cta-lead {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
}
.page-service-details .page-service-details__cta-title {
  margin: 6px 0 0;
  font-size: clamp(28px, 2.78vw, 38px);
  font-weight: 700;
  line-height: 1.2;
  color: #ffffff;
}
.page-service-details .page-service-details__cta-sp-break {
  display: none;
}
.page-service-details .page-service-details__cta-person {
  position: absolute;
  right: 30px;
  bottom: 176px;
  width: 288px;
  height: auto;
  pointer-events: none;
}
.page-service-details .page-service-details__cta-tel {
  position: relative;
  min-width: 0;
  padding: 24px 16px;
  text-decoration: none;
}
.page-service-details .page-service-details__cta-tel-row {
  gap: 12px;
}
.page-service-details .page-service-details__cta-tel-icon {
  width: 52px;
}
.page-service-details .page-service-details__cta-tel-number {
  font-size: clamp(32px, 3.62vw, 52px);
  white-space: nowrap;
}
.page-service-details .page-service-details__cta-hours {
  gap: 20px;
  font-size: 14px;
}
.page-service-details .page-service-details__cta-links {
  position: relative;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.page-service-details .page-service-details__cta-link {
  padding: 12px 16px 18px;
  text-decoration: none;
}
.page-service-details .page-service-details__cta-link-arrow {
  position: static;
  flex: 0 0 26px;
  width: 26px;
  transform: none;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .page-service-details .page-service-details__cta-inner {
    width: calc(100% - 48px);
  }
  .page-service-details .page-service-details__cta-points {
    padding-right: 240px;
  }
  .page-service-details .page-service-details__cta-points-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .page-service-details .page-service-details__cta-contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-inline: 0;
  }
  .page-service-details .page-service-details__cta-intro {
    grid-column: 1/-1;
  }
  .page-service-details .page-service-details__cta-person {
    top: -32px;
    right: 16px;
    bottom: auto;
    width: 216px;
  }
  .page-service-details .page-service-details__cta-tel-number {
    font-size: clamp(32px, 4vw, 44px);
  }
}
@media (max-width: 767px) {
  .page-service-details .page-service-details__cta {
    padding-block: 64px 60px;
  }
  .page-service-details .page-service-details__cta-inner {
    width: calc(100% - 32px);
  }
  .page-service-details .page-service-details__cta-points {
    min-height: 264px;
    padding: 32px;
    border-radius: 16px;
  }
  .page-service-details .page-service-details__cta-points-title {
    font-size: clamp(19px, 6.15vw, 24px);
    white-space: nowrap;
    margin-bottom: 12px;
  }
  .page-service-details .page-service-details__cta-points-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 14px;
  }
  .page-service-details .page-service-details__cta-contact {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 32px 0 0;
  }
  .page-service-details .page-service-details__cta-lead {
    font-size: 20px;
    line-height: 1.2;
  }
  .page-service-details .page-service-details__cta-sp-break {
    display: block;
  }
  .page-service-details .page-service-details__cta-title {
    margin-top: 4px;
    font-size: clamp(26px, 8.2vw, 32px);
    line-height: 1.2;
  }
  .page-service-details .page-service-details__cta-person {
    position: static;
    align-self: center;
    width: 216px;
    height: auto;
    margin-top: 4px;
    margin-bottom: -24px;
  }
  .page-service-details .page-service-details__cta-tel {
    min-height: 126px;
    padding: 16px 12px 22px;
    border-radius: 16px;
  }
  .page-service-details .page-service-details__cta-tel-label {
    font-size: 16px;
  }
  .page-service-details .page-service-details__cta-tel-row {
    gap: 12px;
    margin-top: 0;
  }
  .page-service-details .page-service-details__cta-tel-icon {
    width: 52px;
  }
  .page-service-details .page-service-details__cta-tel-icon img {
    width: 21px;
  }
  .page-service-details .page-service-details__cta-tel-number {
    font-size: clamp(29px, 9.74vw, 38px);
  }
  .page-service-details .page-service-details__cta-hours {
    margin-top: 6px;
    gap: 8px 18px;
    font-size: 14px;
  }
  .page-service-details .page-service-details__cta-links {
    margin-top: 12px;
    gap: 12px;
  }
  .page-service-details .page-service-details__cta-link {
    min-height: 60px;
    padding: 10px 12px 16px;
    border-radius: 16px;
  }
  .page-service-details .page-service-details__cta-link-icon {
    width: 35px;
  }
  .page-service-details .page-service-details__cta-link-label {
    font-size: 24px;
  }
}
.page-service-details .page-service-details__difference {
  padding: 64px 0;
  color: #123c1e;
  background-color: #d4eadb;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.2) 70%, transparent 71%);
  background-size: 43px 43px;
}
.page-service-details .page-service-details__difference-inner {
  width: min(100% - 32px, 1216px);
  margin-inline: auto;
}
.page-service-details .page-service-details__difference-title {
  margin: 0 0 28px;
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}
.page-service-details .page-service-details__difference-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.page-service-details .page-service-details__difference-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
}
.page-service-details .page-service-details__difference-card-title {
  margin: 8px 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
}
.page-service-details .page-service-details__difference-text {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}
.page-service-details .page-service-details__difference-scroll {
  margin: 32px 8px 0;
  overflow-x: auto;
  border: 2px solid #15913a;
  border-radius: 16px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.page-service-details .page-service-details__difference-scroll:focus-visible {
  outline: 3px solid #123c1e;
  outline-offset: 4px;
}
.page-service-details .page-service-details__difference-table {
  width: 100%;
  border-spacing: 0;
  table-layout: fixed;
  text-align: left;
}
.page-service-details .page-service-details__difference-table th,
.page-service-details .page-service-details__difference-table td {
  padding: 16px 30px;
  border-right: 1px solid #15913a;
  border-bottom: 1px solid #15913a;
  line-height: 1.2;
  vertical-align: middle;
}
.page-service-details .page-service-details__difference-table tr > :last-child {
  border-right: 0;
}
.page-service-details .page-service-details__difference-table tbody tr:last-child > * {
  border-bottom: 0;
}
.page-service-details .page-service-details__difference-table thead th {
  height: 63px;
  color: #fff;
  background: #15913a;
  border-right-color: #fff;
  font-size: 16px;
  font-weight: 700;
}
.page-service-details .page-service-details__difference-table thead th:first-child {
  width: 20.7%;
}
.page-service-details .page-service-details__difference-table thead th:nth-child(2) {
  width: 39.65%;
}
.page-service-details .page-service-details__difference-table tbody th {
  height: 62px;
  font-size: 16px;
  font-weight: 700;
}
.page-service-details .page-service-details__difference-table td {
  font-size: 20px;
}
.page-service-details .page-service-details__difference-table td:nth-child(2) {
  color: #ff4248;
  font-size: 24px;
  font-weight: 700;
}
.page-service-details .page-service-details__difference-scroll-note {
  display: none;
}
@media (max-width: 767px) {
  .page-service-details .page-service-details__difference-title {
    margin-bottom: 28px;
    font-size: 32px;
    -webkit-text-stroke-width: 6px;
  }
  .page-service-details .page-service-details__difference-cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  .page-service-details .page-service-details__difference-card-title {
    font-size: 20px;
    line-height: 1.3;
  }
  .page-service-details .page-service-details__difference-scroll {
    margin: 24px -30px 0 0;
  }
  .page-service-details .page-service-details__difference-table {
    min-width: 800px;
  }
  .page-service-details .page-service-details__difference-table th,
  .page-service-details .page-service-details__difference-table td {
    padding: 16px 14px;
  }
  .page-service-details .page-service-details__difference-table thead th:first-child {
    width: 110px;
  }
  .page-service-details .page-service-details__difference-table thead th:nth-child(2) {
    width: 345px;
  }
  .page-service-details .page-service-details__difference-table thead th:first-child {
    padding-right: 40px;
  }
  .page-service-details .page-service-details__difference-table td,
  .page-service-details .page-service-details__difference-table td:nth-child(2) {
    font-size: 16px;
  }
  .page-service-details .page-service-details__difference-scroll-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 24px 0 0;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.08em;
    line-height: 1.5;
  }
  .page-service-details .page-service-details__difference-scroll-note span {
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 16px solid #15913a;
  }
}
.page-service-details .page-service-details__services {
  padding: 64px 0 80px;
  color: #123c1e;
  background-color: #eff6ff;
  background-image: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px);
  background-size: 41px 41px;
  background-position: center top;
}
.page-service-details .page-service-details__services-inner {
  width: min(100% - 32px, 1216px);
  margin-inline: auto;
}
.page-service-details .page-service-details__services-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0 0 24px;
  color: #fff;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.25;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}
.page-service-details .page-service-details__services-title img {
  flex: 0 0 110px;
  width: 110px;
  height: 110px;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-service-details .page-service-details__services-lead {
  margin: 0 0 24px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
.page-service-details .page-service-details__services-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.page-service-details .page-service-details__services-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
}
.page-service-details .page-service-details__services-item-title {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 8px 0 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
}
.page-service-details .page-service-details__services-item-title > img {
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
}
.page-service-details .page-service-details__services-text {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.page-service-details .page-service-details__services-sp {
  display: none;
}
.page-service-details .page-service-details__services-points-title {
  margin: 64px 0 32px;
  color: #fff;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  -webkit-text-stroke: 6px #15913a;
  paint-order: stroke fill;
}
.page-service-details .page-service-details__services-points {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
}
.page-service-details .page-service-details__services-point-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
}
.page-service-details .page-service-details__services-point-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 32px 0 8px;
  color: #15913a;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.page-service-details .page-service-details__services-point-label span {
  color: #fff;
  -webkit-text-stroke: 3px #15913a;
  paint-order: stroke fill;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 1.6px;
  text-transform: capitalize;
}
.page-service-details .page-service-details__services-point-title {
  margin: 0;
  padding-bottom: 16px;
  border-bottom: 4px solid #15913a;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
}
.page-service-details .page-service-details__services-point-text {
  margin: 12px 0 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
}
@media (max-width: 767px) {
  .page-service-details .page-service-details__services {
    padding-block: 48px 64px;
  }
  .page-service-details .page-service-details__services-title {
    margin-bottom: 28px;
    font-size: 24px;
    -webkit-text-stroke-width: 6px;
  }
  .page-service-details .page-service-details__services-title img {
    flex-basis: 54px;
    width: 54px;
    height: 54px;
  }
  .page-service-details .page-service-details__services-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }
  .page-service-details .page-service-details__services-item-title {
    gap: 8px;
    margin-bottom: 10px;
    letter-spacing: 0.02em;
  }
  .page-service-details .page-service-details__services-text {
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: 0.06em;
  }
  .page-service-details .page-service-details__services-pc {
    display: none;
  }
  .page-service-details .page-service-details__services-sp {
    display: inline;
  }
  .page-service-details .page-service-details__services-points-title {
    margin: 56px 0 32px;
    font-size: 24px;
    line-height: 1.25;
    -webkit-text-stroke-width: 6px;
  }
  .page-service-details .page-service-details__services-points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 16px;
  }
  .page-service-details .page-service-details__services-point {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    row-gap: 0;
  }
  .page-service-details .page-service-details__services-point-label {
    margin-top: 24px;
  }
  .page-service-details .page-service-details__services-point-title {
    padding-bottom: 16px;
    font-size: 20px;
    line-height: 1.25;
  }
  .page-service-details .page-service-details__services-point-text {
    margin-top: 12px;
    line-height: 1.5;
    letter-spacing: 0.04em;
  }
}
.page-service-details .page-service-details__reasons {
  padding: 76px 0;
  border: 4px solid #15913a;
  color: #123c1e;
  background-color: #e8f3eb;
  background-image: url("../images/common/patern_repeat_bg_light.webp");
  background-repeat: repeat;
  background-size: 85px auto;
  background-position: center top;
}
.page-service-details .page-service-details__reasons-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 48px 40px;
  width: min(100% - 32px, 1184px);
  margin-inline: auto;
}
.page-service-details .page-service-details__reasons-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  color: #fff;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}
.page-service-details .page-service-details__reasons-title img {
  display: block;
  width: 110px;
  height: 110px;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-service-details .page-service-details__reasons-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
}
.page-service-details .page-service-details__reasons-heading {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 20px;
}
.page-service-details .page-service-details__reasons-number {
  flex: 0 0 66px;
  margin: 0;
  color: #15913a;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
  white-space: nowrap;
}
.page-service-details .page-service-details__reasons-number span {
  margin-top: -4px;
  display: block;
  color: #fff;
  font-size: 56px;
  font-weight: 400;
  line-height: 1;
  -webkit-text-stroke: 4px #15913a;
  paint-order: stroke fill;
}
.page-service-details .page-service-details__reasons-card-title {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.25;
}
.page-service-details .page-service-details__reasons-text {
  margin: 8px 0 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .page-service-details .page-service-details__reasons-inner {
    gap: 32px 24px;
  }
  .page-service-details .page-service-details__reasons-heading {
    gap: 16px;
  }
  .page-service-details .page-service-details__reasons-card-title {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .page-service-details .page-service-details__reasons {
    padding-block: 64px;
    border-width: 3px;
  }
  .page-service-details .page-service-details__reasons-inner {
    width: calc(100% - 24px);
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }
  .page-service-details .page-service-details__reasons-title {
    gap: 12px;
    margin-bottom: 16px;
    font-size: 24px;
    -webkit-text-stroke-width: 6px;
  }
  .page-service-details .page-service-details__reasons-title img {
    width: 86px;
    height: 86px;
  }
  .page-service-details .page-service-details__reasons-heading {
    gap: 28px;
    margin-top: 12px;
    white-space: nowrap;
}
  .page-service-details .page-service-details__reasons-number {
    flex-basis: 58px;
    text-align: left;
  }
  .page-service-details .page-service-details__reasons-number span {
    font-size: 48px;
    -webkit-text-stroke-width: 4px;
  }
  .page-service-details .page-service-details__reasons-card-title {
    font-size: 24px;
  }
  .page-service-details .page-service-details__reasons-text {
    margin-top: 4px;
    font-size: 16px;
    line-height: 1.6;
  }
}
.page-service-details .page-service-details__flow {
  padding: 80px 0;
  color: #123c1e;
  background-color: #f8fcff;
  background-image: url("../images/common/repeat_bg_bliue.svg");
  background-repeat: repeat;
  background-size: auto;
  background-position: 1% 2%;
}
.page-service-details .page-service-details__flow-inner {
  width: min(100% - 32px, 976px);
  margin-inline: auto;
}
.page-service-details .page-service-details__flow-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  margin-bottom: 56px;
}
.page-service-details .page-service-details__flow-title {
  margin: 0;
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}
.page-service-details .page-service-details__flow-lead {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
.page-service-details .page-service-details__flow-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 56px 48px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.page-service-details .page-service-details__flow-item {
  position: relative;
  flex: 0 0 calc((100% - 144px) / 4);
  min-width: 0;
}
.page-service-details .page-service-details__flow-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 41px;
  right: -33px;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 13px solid #15913a;
}
.page-service-details .page-service-details__flow-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 102px;
  height: 102px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: #15913a;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.page-service-details .page-service-details__flow-step span {
  color: #15913a;
  font-size: 48px;
  font-weight: 400;
  line-height: 1;
  -webkit-text-stroke: 3px #fff;
  paint-order: stroke fill;
}
.page-service-details .page-service-details__flow-item-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 40px;
  margin: 0 0 28px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}
.page-service-details .page-service-details__flow-item-title img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: 36px;
  max-width: 54px;
  -o-object-fit: contain;
     object-fit: contain;
}
.page-service-details .page-service-details__flow-text {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
}
.page-service-details .p-service-details-area {
  background-color: #eaf5ff;
  background-image: linear-gradient(rgba(255, 255, 255, 0.82) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.82) 1px, transparent 1px);
  background-size: 42px 42px;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-service-details .page-service-details__flow-list {
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
  .page-service-details .page-service-details__flow-item {
    flex-basis: calc((100% - 72px) / 4);
  }
  .page-service-details .page-service-details__flow-item:not(:last-child)::after {
    right: -20px;
  }
  .page-service-details .page-service-details__flow-item-title {
    gap: 6px;
    font-size: 20px;
  }
  .page-service-details .page-service-details__flow-item-title img {
    height: 30px;
    max-width: 42px;
  }
}
@media (max-width: 767px) {
  .page-service-details .page-service-details__flow {
    padding-block: 64px;
  }
  .page-service-details .page-service-details__flow-heading {
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px;
    text-align: center;
  }
  .page-service-details .page-service-details__flow-title {
    font-size: 32px;
    -webkit-text-stroke-width: 6px;
  }
  .page-service-details .page-service-details__flow-list {
    flex-direction: column;
    gap: 49px;
  }
  .page-service-details .page-service-details__flow-item {
    display: grid;
    grid-template-columns: 102px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    flex-basis: auto;
    min-height: 102px;
  }
  .page-service-details .page-service-details__flow-item:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -33px;
    left: calc(50% - 10px);
    border-top: 13px solid #15913a;
    border-right: 10px solid transparent;
    border-bottom: 0;
    border-left: 10px solid transparent;
  }
  .page-service-details .page-service-details__flow-step {
    margin: 0;
  }
  .page-service-details .page-service-details__flow-step span {
    font-size: 32px;
    -webkit-text-stroke-width: 2px;
  }
  .page-service-details .page-service-details__flow-item-title {
    justify-content: flex-start;
    margin-bottom: 16px;
    font-size: 20px;
    white-space: normal;
  }
}
.page-service-details .c-breadcrumb .c-breadcrumb__list {
  justify-content: flex-end;
}

.p-faq__content {
  padding-block: 80px 120px;
  background: #ffffff;
}

.p-faq-tabs {
  margin-bottom: 72px;
}

.p-faq-tabs__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px 36px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-faq-tabs__link {
  display: grid;
  place-items: center;
  padding: 11px 25px;
  border-radius: 8px;
  background: #15913a;
  color: #fdff5b;
  font-size: 27px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.25);
  transition: opacity 0.25s ease;
}

.p-faq-tabs__link:hover,
.p-faq-tabs__link:focus-visible {
  opacity: 0.75;
}

.p-faq-tabs__link.is-active {
  background: #123c1e;
  color: #ffffff;
}

.p-faq-list {
  width: min(100%, 1080px);
  margin-inline: auto;
}

.p-faq-list .p-home-faq__group {
  padding: 0;
  background: transparent;
  border-radius: 0;
}

.p-faq-list .p-home-faq__group-title {
  margin: 0 0 24px;
  color: #15913a;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.p-faq-list .p-home-faq__list {
  display: block;
}

.p-faq-list .p-home-faq__column {
  display: block;
}

.p-faq-list .p-home-faq__column + .p-home-faq__column,
.p-faq-list .p-home-faq__item + .p-home-faq__item {
  margin-top: 26px;
}

.p-faq-list .p-home-faq__item {
  background: #e8f3eb;
  border: 0;
  border-radius: 8px;
}

.p-faq-list .p-home-faq__question {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 76px;
  padding: 22px 28px;
  color: #15913a;
  cursor: pointer;
}

.p-faq-list .p-home-faq__q-mark,
.p-faq-list .p-home-faq__a-mark {
  flex: 0 0 auto;
  color: #15913a;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.p-faq-list .p-home-faq__q-text {
  flex: 1 1 auto;
  min-width: 0;
  color: #15913a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.p-faq-list .p-home-faq__toggle {
  position: relative;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-left: auto;
}

.p-faq-list .p-home-faq__toggle::before,
.p-faq-list .p-home-faq__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 3px;
  background: #15913a;
  transform: translate(-50%, -50%);
}

.p-faq-list .p-home-faq__toggle::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.p-faq-list .p-home-faq__item[open] .p-home-faq__toggle::after {
  opacity: 0;
}

.p-faq-list .p-home-faq__answer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  padding: 0 28px 24px;
}

.p-faq-list .p-home-faq__a-text {
  color: #123c1e;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
}

.p-faq-list__empty {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}

@media (max-width: 767px) {
  .p-faq__content {
    padding-block: 48px 80px;
  }
  .p-faq-tabs {
    margin-bottom: 48px;
  }
  .p-faq-tabs__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .p-faq-tabs__link {
    font-size: 18px;
  }
  .p-faq-list .p-home-faq__group-title {
    font-size: 20px;
  }
  .p-faq-list .p-home-faq__item + .p-home-faq__item {
    margin-top: 18px;
  }
  .p-faq-list .p-home-faq__question {
    gap: 12px;
    min-height: 64px;
    padding: 18px 16px;
  }
  .p-faq-list .p-home-faq__q-text {
    font-size: 15px;
  }
  .p-faq-list .p-home-faq__answer {
    gap: 12px;
    padding: 0 16px 20px;
  }
  .p-faq-list .p-home-faq__a-text {
    font-size: 14px;
  }
}
.p-post-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 0;
  padding-block: 96px 120px;
}

.p-post-layout__main {
  min-width: 0;
  padding-right: 32px;
  border-right: 1px solid #e8f3eb;
}

.p-post-layout__side {
  min-width: 0;
  padding-left: 32px;
}

.p-post-archive__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 48px 24px;
}

.p-post-archive__empty {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  line-height: 1.8;
}

.p-post-card__link {
  display: grid;
  gap: 16px;
  color: #123c1e;
  text-decoration: none;
}

.p-post-card__image {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 360/210;
  background: #e8f3eb;
}

.p-post-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}

.p-post-card__link:hover .p-post-card__title {
  color: #15913a;
}

.p-post-card__link:hover .p-post-card__image img,
.p-post-card__link:focus-visible .p-post-card__image img {
  transform: scale(1.05);
}

.p-post-card__meta,
.p-post-single__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  color: #808681;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
}

.p-post-card__terms,
.p-post-single__terms {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 6px;
}

.p-post-card__term,
.p-post-single__term {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 10px;
  border-radius: 4px;
  background: #fdff5b;
  color: #15913a;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
}

.p-post-card__title {
  margin: 8px 0 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.55;
  transition: color 0.3s ease;
}

.p-post-sidebar {
  display: grid;
  gap: 32px;
}

.p-post-sidebar__title {
  margin: 0 0 16px;
  padding: 8px 24px;
  border-radius: 8px 4px 4px;
  background: #15913a;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.p-post-sidebar__list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-post-sidebar__list li,
.p-post-sidebar__item {
  margin: 0;
}

.p-post-sidebar__list a,
.p-post-sidebar__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #15913a;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  text-decoration: none;
}

.p-post-sidebar__list a::before,
.p-post-sidebar__link::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 7px;
  border-color: transparent transparent transparent #15913a;
}

.p-post-sidebar__link.is-active {
  color: #123c1e;
}

.p-post-sidebar__link.is-active::before {
  border-left-color: #123c1e;
}

.p-post-sidebar__select-wrap {
  position: relative;
}

.p-post-sidebar__select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 4px 0;
  border-color: #15913a transparent transparent;
  transform: translateY(-50%);
  pointer-events: none;
}

.p-post-sidebar__select {
  width: 100%;
  padding: 8px 40px 8px 24px;
  border: 1px solid #d1e8d7;
  border-radius: 4px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #ffffff;
  color: #a2aaa5;
  font-size: 14px;
  line-height: 1.5;
}

.p-post-pagination {
  margin-top: 64px;
  padding-top: 64px;
  border-top: 1px solid #abd6b8;
}

.p-post-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.p-post-pagination .page-numbers {
  display: grid;
  min-width: 32px;
  min-height: 32px;
  place-items: center;
  border-radius: 8px;
  background: #c5cfc8;
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.p-post-pagination .page-numbers.current {
  background: #15913a;
  color: #ffffff;
}

.p-post-single .p-post-layout {
  padding-bottom: 124px;
}

.p-post-single__header {
  margin-bottom: 48px;
}

/* コラム記事のアイキャッチ（タイトルの上）。
   図解が切れないよう、画像の縦横比はそのまま表示する */
.p-post-single__thumb {
  margin: 0 0 20px;
}

.p-post-single__thumb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}

@media (max-width: 767px) {
  .p-post-single__thumb {
    margin-bottom: 16px;
  }
}

.p-post-single__title {
  margin: 0 0 16px;
  color: #15913a;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.4;
}

.p-post-single__date {
  display: inline-block;
  color: #808681;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
}

.p-post-single__content {
  padding-bottom: 64px;
  color: #123c1e;
  font-size: 16px;
  line-height: 2;
  border-bottom: 1px solid #e8f3eb;
}

.p-post-single__content > *:first-child {
  margin-top: 0;
}

.p-post-single__content h2,
.p-post-single__content h3,
.p-post-single__content h4,
.p-post-single__content h5 {
  color: #15913a;
  font-weight: 700;
  line-height: 1.5;
}

.p-post-single__content h2 {
  margin: 56px 0 20px;
  font-size: 32px;
}

.p-post-single__content h3 {
  margin: 32px 0 16px;
  font-size: 28px;
}

.p-post-single__content h4 {
  margin: 32px 0 16px;
  font-size: 22px;
}

.p-post-single__content h5 {
  margin: 32px 0 16px;
  font-size: 18px;
}

.p-post-single__content p {
  margin: 0 0 24px;
}

.p-post-single__content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

@media (max-width: 767px) {
  .p-post-layout {
    grid-template-columns: 1fr;
    gap: 0;
    padding-block: 56px 80px;
  }
  .p-post-layout__main {
    padding-right: 0;
    border-right: none;
  }
  .p-post-archive__list {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .p-post-single__title {
    font-size: 30px;
  }
  .p-post-single__content h2 {
    font-size: 26px;
  }
  .p-post-single__content h3 {
    font-size: 24px;
  }
  .p-post-layout__side {
    min-width: 0;
    padding-left: 0;
  }
  .p-post-pagination {
    margin-bottom: 64px;
  }
}
.p-location-detail {
  padding-block: 80px !important;
  margin-bottom: 0;
  background-color: #e8f3eb;
  background-image: url(../images/top/service_repeat_bg.webp);
  background-repeat: repeat;
  background-size: 96px auto;
}

.p-location-detail__heading {
  text-align: center;
}

.p-location-detail__label {
  margin: 0;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  -webkit-text-stroke: 6px #15913a;
  paint-order: stroke fill;
}

.p-location-detail__title {
  margin: 16px 0 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.25;
  -webkit-text-stroke: 10px #15913a;
  paint-order: stroke fill;
}

.p-location-detail__title-l,
.p-location-detail__title-s {
  color: #fdff5b;
}

.p-location-detail__title-s {
  font-size: 48px;
}

.p-location-detail__panel {
  margin-top: 40px;
}

.p-location-detail__body {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 32px;
}

.p-location-detail__body p {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
}

.p-location-detail__image {
  display: block;
  max-width: 557px;
  aspect-ratio: 557/418;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
}

@media (max-width: 767px) {
  .p-location-detail {
    padding-block: 56px;
  }
  .p-location-detail__label {
    font-size: 20px;
    -webkit-text-stroke: 6px #15913a;
  }
  .p-location-detail__title {
    font-size: 32px;
    -webkit-text-stroke: 8px #15913a;
  }
  .p-location-detail__panel {
    margin-top: 16px;
    border-width: 3px;
    border-radius: 10px;
  }
  .p-location-detail__panel-title {
    padding: 14px 16px;
    font-size: 20px;
  }
  .p-location-detail__title-s {
    font-size: 20px;
  }
  .p-location-detail__body {
    flex-direction: column;
  }
  .p-location-detail__body p {
    font-size: 14px;
    line-height: 2;
  }
  .p-location-detail__image {
    width: 100%;
  }
}
.post-type-archive-location .p-location-area {
  background: url("../images/location/bg_location.webp") no-repeat center center;
  background-size: cover;
  margin-top: 0;
  padding-block: 100px 140px;
}
.post-type-archive-location .p-location-area > .l-container {
  width: min(100% - 40px, 1080px);
}
.post-type-archive-location .p-location-area__panel {
  margin-top: 64px;
  padding: 56px clamp(20px, 6vw, 80px);
  background: rgba(255, 255, 255, 0.8);
  border-radius: 24px;
  box-shadow: 4px 4px 6px rgba(0, 0, 0, 0.2);
}
.post-type-archive-location .p-location-area__head {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  gap: 8px;
  text-align: center;
}
.post-type-archive-location .p-location-area__heading {
  display: flex;
  align-items: center;
}
.post-type-archive-location .p-location-area__text {
  margin: 0;
  color: #123c1e;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  border-bottom: 4px solid #15913a;
}
.post-type-archive-location .p-location-area__title {
  margin: 0;
  padding: 0;
  background: linear-gradient(90deg, #43fd76 0%, #178d39 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(34px, 4.5vw, 56px);
  font-weight: 700;
  line-height: 1.25;
  -webkit-text-stroke: 0;
  paint-order: 0;
}
.post-type-archive-location .p-location-area__title span {
  -webkit-text-stroke: 0;
  paint-order: 0;
}
.post-type-archive-location .p-location-area__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 56px;
       column-gap: 56px;
  row-gap: 12px;
  margin: 0;
  padding-left: 1.2em;
  color: #123c1e;
  list-style: disc;
}
.post-type-archive-location .p-location-area__item {
  color: #123c1e;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}
.post-type-archive-location .p-location-area__item::marker {
  color: #123c1e;
}
.post-type-archive-location .p-location-area__item a {
  color: inherit;
  text-decoration: none;
}
.post-type-archive-location .p-location-area__item a:hover,
.post-type-archive-location .p-location-area__item a:focus-visible {
  text-decoration: underline;
}
.post-type-archive-location .p-location-area__empty {
  margin: 0;
  color: #123c1e;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
.post-type-archive-location .p-location-area__note {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 48px auto 0;
  padding: 18px 44px;
  color: #15913a;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  background: #e8f3eb;
  border: 3px solid #15913a;
  border-radius: 999px;
  color: #fdff5b;
  -webkit-text-stroke: 4px #15913a;
  paint-order: stroke fill;
}
.post-type-archive-location .p-home-area__truck {
  display: block;
  margin: 0 auto;
}

.single-location .p-location-anshin {
  padding-bottom: 0;
}
.single-location .p-location-service {
  padding-top: 0;
}
.single-location .p-location-service .p-home-service__mark,
.single-location .p-location-service .p-home-service__heading::before,
.single-location .p-location-service .p-home-service__heading::after {
  display: none;
}
.single-location .p-location-service .p-home-service__heading {
  min-height: 0;
}
.single-location .p-location-service .p-home-service__title {
  font-size: 40px;
}
.single-location .p-home-service::before {
  display: none;
}
.single-location .p-location-price {
  margin-block: 80px 0;
  background-size: auto;
}
.single-location .p-location-compare {
  padding-top: 80px;
}
.single-location .p-location-faq {
  padding-bottom: 80px;
}
.single-location .p-location-flow {
  background-color: #e8f3eb;
  background-image: url(../images/common/patern_repeat_bg_light.webp);
  background-repeat: repeat;
  background-size: 85px auto;
  background-position: center top;
}
.single-location .c-breadcrumb .c-breadcrumb__list {
  justify-content: flex-end;
}

@media (max-width: 767px) {
  .post-type-archive-location .p-location-area {
    padding-block: 50px 70px;
  }
  .post-type-archive-location .p-location-area__panel {
    margin-top: 40px;
    padding: 40px clamp(20px, 6vw, 40px);
  }
  .post-type-archive-location .p-location-area__text {
    font-size: 16px;
  }
  .post-type-archive-location .p-location-area__head {
    flex-direction: column;
    gap: 6px;
  }
  .post-type-archive-location .p-location-area__title {
    font-size: 32px;
  }
  .post-type-archive-location .p-location-area__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 28px;
         column-gap: 28px;
    row-gap: 8px;
    padding-left: 1em;
  }
  .post-type-archive-location .p-location-area__item {
    font-size: 15px;
  }
  .post-type-archive-location .p-location-area__note {
    margin-top: 32px;
    padding: 14px 20px;
    font-size: 16px;
  }
}
.u-mt-0 {
  margin-top: 0;
}

.u-mt-16 {
  margin-top: 16px;
}

.u-mt-24 {
  margin-top: 24px;
}

.u-mt-32 {
  margin-top: 32px;
}

.u-mb-0 {
  margin-bottom: 0;
}

.u-font-bakbak {
  font-family: "Bakbak One", "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.u-text-base {
  color: #123c1e;
}


/* =================================================================
   ここから下は assets/css_new/ の内容を読み込み順（ファイル名の昇順）
   そのまま連結したもの。カスケードの順序は統合前と完全に同じ。
   統合日: 2026-09-14
   ================================================================= */


/* ===== 01-common.css ===== */
/* =============================================================
   新規ページ共通スタイル
   assets/css/style.css の後に読み込まれる
   ============================================================= */

/* -------------------------------------------------------------
   アンカーリンクの着地位置
   ヘッダーが position: sticky のため、その高さ分だけ下げる
   ------------------------------------------------------------- */
[id] {
  scroll-margin-top: 150px;
}

/* -------------------------------------------------------------
   下層ページの共通MV（ページタイトル）
   既存の .c-page-title を全下層ページで統一する
   ------------------------------------------------------------- */
.c-page-title {
  min-height: 186px;
  place-items: center start;
  background-color: #e9f4ed;
  background-image: url("../images/common/title_bg_light.webp");
  background-repeat: repeat;
  background-position: left top;
  background-size: 43px 43px;
}

.c-page-title__inner {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 64px 24px;
  place-items: center start;
}

.c-page-title__title {
  color: #123c1e;
  font-size: 48px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.05em;
  text-align: left;
  text-shadow: 4px 4px 0 #d4eadb;
}

/* -------------------------------------------------------------
   アイコン付き見出し
   ------------------------------------------------------------- */
.c-heading-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.c-heading-icon--start {
  justify-content: flex-start;
}

.c-heading-icon__icon {
  flex-shrink: 0;
  width: 68px;
  height: 68px;
}

.c-heading-icon--sm .c-heading-icon__icon {
  width: 56px;
  height: 56px;
}

.c-heading-icon__title {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.2em;
  white-space: nowrap;
  -webkit-text-stroke: 9px #178d39;
  paint-order: stroke fill;
}

/* 選ばれる理由：画像を大きく取るバリエーション */
.c-point-arc--wide .c-point-arc__inner {
  gap: 40px;
  width: min(100% - 128px, 1312px);
}

.c-point-arc--wide .c-point-arc__item {
  grid-template-columns: 368px minmax(0, 1fr);
  gap: 80px;
}

.c-point-arc--wide .c-point-arc__image {
  width: 368px;
}

/* -------------------------------------------------------------
   代表挨拶
   ------------------------------------------------------------- */
.c-president {
  padding: 80px 64px;
  background: #d4eadb;
}

.c-president__inner {
  display: flex;
  flex-direction: column;
  gap: 38px;
  width: min(100%, 1132px);
  margin-inline: auto;
}

.c-president__head {
  display: flex;
  align-items: center;
  gap: 28px;
}

.c-president__intro {
  display: flex;
  flex-direction: column;
  gap: 21px;
  min-width: 0;
}

.c-president__catch {
  margin: 0;
  color: #178d39;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.5;
}

.c-president__text {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

.c-president__image {
  position: relative;
  flex-shrink: 0;
  width: 347px;
  margin: 0;
}

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

.c-president__image .c-president__deco {
  position: absolute;
  top: 16px;
  left: -12px;
  z-index: 1;
  width: 87px;
  height: auto;
}

.c-president__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.c-president__body p {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

.c-president__sign {
  display: flex;
  align-items: center;
  gap: 8px;
}

.c-president__sign-role {
  color: #178d39;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
}

.c-president__sign-name {
  color: #123c1e;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}

.c-president__youtube {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 32px 48px;
  background: #ffffff;
  border-radius: 32px;
}

.c-president__youtube-head {
  display: flex;
  align-items: center;
  gap: 16px;
}

.c-president__youtube-icon {
  flex-shrink: 0;
  width: 66px;
  height: 66px;
}

.c-president__youtube-title {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
}

.c-president__youtube-sub {
  color: #178d39;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.2;
}

.c-president__youtube-main {
  color: #ffffff;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.2em;
  -webkit-text-stroke: 8px #178d39;
  paint-order: stroke fill;
}

.c-president__youtube-movie {
  width: 100%;
}

.c-president__goal {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
}

.c-president__goal-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.c-president__goal-mark {
  width: 110px;
  height: auto;
}

.c-president__goal-title {
  margin: 0;
  white-space: nowrap;
  color: #ffffff;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.2em;
  text-align: center;
  -webkit-text-stroke: 8px #178d39;
  paint-order: stroke fill;
}

.c-president__goal-list {
  padding: 32px 24px;
  background: #e8f3eb;
  border-radius: 8px;
}

.c-president__goal-list li {
  color: #000000;
  font-size: 24px;
  font-weight: 500;
  line-height: 2.2;
}

.c-president__goal-list li span {
  margin-right: 4px;
  color: #178d39;
}

/* 大きめアイコン（78px） */
.c-heading-icon__icon--lg {
  width: 78px;
  height: 78px;
}

/* アーチ内を自由レイアウトにするバリエーション */
.c-point-arc--plain .c-point-arc__box {
  padding-bottom: 64px;
}

/* -------------------------------------------------------------
   サービス詳細ページのMV
   ------------------------------------------------------------- */
.c-service-mv {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  /* 幅1440pxのデザインを基準に、それ未満は比率を保って縮小する */
  gap: min(1.1111vw, 16px);
  min-height: min(22.7083vw, 327px);
  padding-block: min(2.0833vw, 30px);
  padding-inline: 0;
  overflow: hidden;
  /* Figmaどおり、緑地に43pxピッチの丸パターン */
  background-color: #178d39;
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.052) 70%, transparent 71%);
  background-size: 43px 43px;
}

/* 1440px超では中身を中央に固定し、写真だけ右端まで伸ばす */
.c-service-mv__inner,
.c-service-mv__points {
  width: min(100% - min(8.3333vw, 120px), 1320px);
  margin-inline: auto;
}

.c-service-mv__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: min(1.1111vw, 16px);
}

.c-service-mv__headline {
  display: flex;
  flex-direction: column;
  gap: min(1.1111vw, 16px);
  flex-shrink: 0;
  width: min(26.3194vw, 379px);
  color: #ffffff;
}

.c-service-mv__lead {
  margin: 0;
  color: #ffffff;
  white-space: nowrap;
  font-size: min(1.7361vw, 25px);
  font-weight: 900;
  line-height: 1.11;
  letter-spacing: 0.05em;
}

.c-service-mv__title {
  margin: 0;
  /* WordPressのグローバルスタイルが h1 の色を指定するため明示する */
  color: #ffffff;
  font-size: min(6.1111vw, 88px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
}

/* 「不用品回収」のように5文字あるサービス名は、バッジに重ならないよう少し小さくする */
.c-service-mv__title--long {
  font-size: min(4.7222vw, 68px);
}

.c-service-mv__badge {
  flex-shrink: 0;
  width: min(24.8611vw, 358px);
  height: auto;
}

.c-service-mv__badge-sp {
  display: none;
}

.c-service-mv__points {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: min(2.7778vw, 40px);
  width: -moz-fit-content;
  width: fit-content;
  max-width: min(100% - min(8.3333vw, 120px), 1320px);
  /* キャッチコピー・タイトルと同じ左端に揃える */
  margin-inline: calc((100% - min(100% - min(8.3333vw, 120px), 1320px)) / 2) auto;
  padding: min(0.6944vw, 10px) min(2.7778vw, 40px);
  background: #ffffff;
  border-radius: 8px;
  filter: drop-shadow(4px 4px 0 #d9d9d9);
}

.c-service-mv__point {
  display: flex;
  align-items: center;
  gap: min(0.5556vw, 8px);
  padding-block: 4px;
  color: #123c1e;
  font-size: clamp(11px, 1.1111vw, 16px);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  border-bottom: 2px solid #f5f5f5;
}

.c-service-mv__point em {
  color: #f01c1c;
  font-style: normal;
}

.c-service-mv__check {
  flex-shrink: 0;
  width: min(1.6667vw, 24px);
  height: min(1.6667vw, 24px);
}

/* 写真の左端はデザイン（1440pxで x=846）に合わせ、右端は画面端まで伸ばす */
.c-service-mv__photo {
  position: absolute;
  top: 0;
  right: 0;
  left: min(58.75%, calc(50% + 126px));
  height: 100%;
  overflow: hidden;
  border-radius: 16px 0 0 16px;
}

.c-service-mv__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* -------------------------------------------------------------
   動画・地図の埋め込み（16:9）
   ------------------------------------------------------------- */
.c-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #eff6ff;
  border-radius: 8px;
}

.c-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* -------------------------------------------------------------
   アーチ見出し＋ポイント一覧（会社概要／選ばれる理由で共用）
   ------------------------------------------------------------- */
.c-point-arc {
  position: relative;
  padding-top: 128px;
  background: #ffffff;
}

.c-point-arc__deco {
  position: absolute;
  z-index: 1;
  top: 50px;
  right: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  height: 24px;
  padding-inline: 40px;
  pointer-events: none;
}

.c-point-arc__plus {
  flex: 1 1 auto;
  /* 中央のアーチ（幅448px）と見出しに重ならない位置で止める。
     星1個ぶん（35px）のタイルを繰り返すので、幅を35の倍数に丸めて
     継ぎ目で間隔が詰まったり星が切れたりしないようにする */
  max-width: max(0px, calc(50% - 240px));
  max-width: max(0px, round(down, calc(50% - 240px), 35px));
  height: 24px;
  background-image: url("../images/common/deco_plus_tile.svg");
  background-repeat: repeat-x;
  background-size: 35px 24px;
  background-position: left center;
}

.c-point-arc__plus--right {
  background-position: right center;
}

.c-point-arc__box {
  position: relative;
  display: flow-root;
  padding-bottom: 80px;
  background-color: #f9fbff;
  background-image: url("../images/common/repeat_bg_blue_light.webp");
  background-repeat: repeat;
  background-size: 43px 43px;
  border: 4px solid #178d39;
  border-top: 0;
}

.c-point-arc__box::before,
.c-point-arc__box::after {
  content: "";
  position: absolute;
  top: -4px;
  width: calc(50% - 198px);
  height: 4px;
  background: #178d39;
}

.c-point-arc__box::before {
  left: -4px;
}

.c-point-arc__box::after {
  right: -4px;
}

.c-point-arc__dome-wrap {
  position: absolute;
  top: -120px;
  right: 0;
  left: 0;
  height: 120px;
  overflow: hidden;
}

.c-point-arc__dome {
  position: absolute;
  top: 0;
  left: 50%;
  width: 448px;
  height: 300px;
  background-color: #f9fbff;
  background-image: url("../images/common/repeat_bg_blue_light.webp");
  background-repeat: repeat;
  background-size: 43px 43px;
  border: 4px solid #178d39;
  border-bottom: 0;
  border-radius: 448px 448px 0 0;
  transform: translateX(-50%);
}

.c-point-arc__head {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: -68px;
  padding-bottom: 20px;
}

.c-point-arc__mark {
  width: 110px;
  height: auto;
}

.c-point-arc__title {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.2em;
  text-align: center;
  -webkit-text-stroke: 9px #178d39;
  paint-order: stroke fill;
}

.c-point-arc__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: min(100% - 32px, 1080px);
  margin-inline: auto;
}

.c-point-arc__item {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  align-items: center;
  gap: 40px;
  width: 100%;
}

.c-point-arc__image {
  width: 280px;
  margin: 0;
}

.c-point-arc__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 16px;
}

.c-point-arc__body {
  display: flex;
  flex-direction: column;
  gap: 27px;
  min-width: 0;
}

.c-point-arc__item-heading {
  display: flex;
  align-items: center;
  gap: 24px;
}

.c-point-arc__num {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 66px;
  margin: 0;
}

.c-point-arc__num span {
  color: #178d39;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.c-point-arc__num strong {
  margin-top: -11px;
  color: #ffffff;
  font-size: 64px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 6px #178d39;
  paint-order: stroke fill;
}

.c-point-arc__item-heading h3 {
  margin: 0;
  color: #123c1e;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
}

.c-point-arc__text {
  padding-left: 24px;
  border-left: 4px solid #178d39;
}

.c-point-arc__text p {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.4;
}

@media (max-width: 767px) {
  [id] {
    scroll-margin-top: 100px;
  }

  .c-page-title {
    min-height: 109px;
  }

  .c-page-title__inner {
    padding-inline: 32px 16px;
  }

  .c-page-title__title {
    font-size: 24px;
  }

  .c-heading-icon__icon,
  .c-heading-icon--sm .c-heading-icon__icon {
    width: 56px;
    height: 56px;
  }

  .c-heading-icon__title {
    /* 「こんなときにご利用ください」のような長い見出しが画面幅を超えるため、
       画面幅に応じて縮める */
    font-size: min(5.2vw, 24px);
    text-align: center;
    white-space: normal;
    word-break: keep-all;
    -webkit-text-stroke-width: 6px;
  }

  /* アーチ見出し＋ポイント一覧 */
  .c-point-arc {
    padding-top: 78px;
  }

  .c-point-arc__deco {
    top: 36px;
    height: 24px;
    padding-inline: 8px;
  }

  /* SPはFigmaどおり星3つ固定（PCのリピート画像とは別書き出し） */
  .c-point-arc__plus {
    flex: 0 0 auto;
    width: 80px;
    max-width: 80px;
    height: 24px;
    background-image: url("../images/common/deco_plus_line_sp.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 80px 24px;
  }

  .c-point-arc__box {
    padding-bottom: 48px;
  }

  .c-point-arc__box::before,
  .c-point-arc__box::after {
    width: calc(50% - 108px);
  }

  .c-point-arc__dome-wrap {
    top: -74px;
    height: 74px;
  }

  .c-point-arc__dome {
    width: 240px;
    height: 200px;
    border-radius: 240px 240px 0 0;
  }

  .c-point-arc__head {
    margin-top: -56px;
    padding-bottom: 24px;
  }

  .c-point-arc__mark {
    width: 60px;
  }

  .c-point-arc__title {
    font-size: 24px;
    -webkit-text-stroke-width: 6px;
  }

  .c-point-arc__inner {
    gap: 32px;
  }

  .c-point-arc__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .c-point-arc__image {
    width: 100%;
  }

  .c-point-arc__image img {
    aspect-ratio: 326 / 310;
  }

  .c-point-arc__body {
    gap: 16px;
  }

  .c-point-arc__item-heading {
    gap: 16px;
  }

  .c-point-arc__num {
    width: 56px;
    white-space: nowrap;
  font-size: 14px;
}

  .c-point-arc__num span {
    font-size: 13px;
  }

  .c-point-arc__num strong {
    margin-top: -8px;
    font-size: 44px;
    -webkit-text-stroke-width: 5px;
  }

  .c-point-arc__item-heading h3 {
    font-size: 20px;
  }

  .c-point-arc__text {
    padding-left: 16px;
  }

  .c-point-arc__text p {
    line-height: 2;
  }

  .c-point-arc--wide .c-point-arc__inner {
    width: min(100% - 32px, 358px);
  }

  .c-point-arc--wide .c-point-arc__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .c-point-arc--wide .c-point-arc__image {
    width: 100%;
  }

  /* 代表挨拶 */
  .c-president {
    padding: 64px 16px;
  }

  .c-president__inner {
    gap: 32px;
  }

  .c-president__head {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }

  .c-president__catch {
    font-size: 24px;
  }

  .c-president__image {
    align-self: center;
    width: min(100%, 240px);
  }

  .c-president__deco {
    top: 8px;
    left: -8px;
    width: 60px;
  }

  .c-president__youtube {
    padding: 0;
    background: transparent;
    border-radius: 0;
  }

  .c-president__youtube-head {
    gap: 8px;
  }

  .c-president__youtube-icon {
    width: 48px;
    height: 48px;
  }

  .c-president__youtube-sub {
    font-size: 16px;
  }

  .c-president__youtube-main {
    font-size: 24px;
    -webkit-text-stroke-width: 6px;
  }

  .c-president__goal {
    flex-direction: column;
    gap: 8px;
  }

  .c-president__goal-head {
    width: auto;
  }

  .c-president__goal-mark {
    width: 70px;
  }

  .c-president__goal-title {
    font-size: 20px;
    -webkit-text-stroke-width: 6px;
  }

  .c-president__goal-list {
    width: 100%;
    padding: 24px 16px;
  }

  .c-president__goal-list li {
    display: flex;
    gap: 4px;
    font-size: 14px;
    line-height: 1.8;
  }

  .c-heading-icon__icon--lg {
    width: 56px;
    height: 56px;
  }

  /* サービス詳細ページのMV */
  /* SPはPCと別デザイン（Figma 390x339基準） */
  .c-service-mv {
    position: relative;
    display: block;
    min-height: 0;
    padding: 3px 16px 24px;
    gap: 0;
  }

  .c-service-mv__inner {
    display: block;
    width: auto;
    margin: 0;
  }

  /* 赤帯バッジ：画面左端に密着 */
  .c-service-mv__badge {
    display: none;
  }

  .c-service-mv__badge-sp {
    display: block;
    position: absolute;
    top: 24px;
    left: 0;
    z-index: 2;
    width: 182px;
    height: auto;
  }

  /* 写真：右上に角丸16pxで配置し、右端は画面外へ */
  .c-service-mv__photo {
    position: absolute;
    top: 8px;
    left: 208px;
    right: auto;
    width: 285px;
    height: 179px;
    border-radius: 16px;
  }

  .c-service-mv__headline {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: auto;
    /* Figmaどおり、左に6pxはみ出す */
    margin-left: -6px;
    padding-top: 78px;
  }

  .c-service-mv__lead {
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }

  .c-service-mv__title {
    font-size: 44px;
    line-height: 1;
    letter-spacing: 0.1em;
    text-align: left;
  }

  /* SPは右の写真に潜り込まない幅まで縮める */
  .c-service-mv__title--long {
    font-size: 34px;
  }

  /* チェックボックス：縦積み */
  .c-service-mv__points {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    width: 100%;
    max-width: none;
    margin: 21px 0 0;
    padding: 8px 16px;
    border-radius: 8px;
  }

  .c-service-mv__point {
    gap: 4px;
    padding-block: 4px;
    font-size: 14px;
    line-height: 1.4;
    white-space: normal;
    border-bottom: 0;
  }

  .c-service-mv__check {
    width: 20px;
    height: 20px;
  }

}

/* -------------------------------------------------------------
   推薦の声：企業ロゴを入れるバリアント
   正方形の枠に横長のロゴを収める
   ------------------------------------------------------------- */
.p-home-recommend__image--logo {
  display: grid;
  place-items: center;
  padding: 8px;
}

.p-home-recommend__image--logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* -------------------------------------------------------------
   実際の回収・買取実績スライダー
   SPでもPCと同じように左右の矢印を表示する
   ------------------------------------------------------------- */
@media (max-width: 767px) {
  .p-home-works__arrows {
    display: block;
  }

  .p-home-works__side-arrow {
    display: flex;
    width: 40px;
  }

  .p-home-works__side-arrow::before {
    width: 9px;
    height: 9px;
    border-top-width: 3px;
    border-left-width: 3px;
  }

  .p-home-works__side-arrow--prev {
    left: -8px;
  }

  .p-home-works__side-arrow--next {
    right: -8px;
  }
}

/* =============================================================
   実際の回収・買取実績（Before/After）
   ============================================================= */

/* 矢印は三角形（width:0＋border）なので、グリッドの30pxトラック内で
   左寄せになってしまう。中央に置き直す */
.p-home-works__photo-arrow {
  justify-self: center;
}

/* =============================================================
   パンくず
   ============================================================= */

/* デザインどおり、フッター直前・右寄せで表示する
   （サービス詳細と地域詳細は元から右寄せだったので、全ページを揃える） */
.c-breadcrumb__list {
  justify-content: flex-end;
}


/* ===== 02-home-items.css ===== */
/* =============================================================
   回収アイテム一覧（トップ／地域詳細）
   カードとタグを不用品コラムへのリンクにしたことによる差分
   ============================================================= */

/* カードは <a> になるので、見た目は元の <div> のまま揃える */
a.p-home-items__card {
  display: block;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

a.p-home-items__card:hover,
a.p-home-items__card:focus-visible {
  opacity: 0.7;
}

/* 遷移先のない品目はリンクにしないので、矢印も出さない */
.p-home-items__card:not(a) .p-home-items__card-name {
  padding-right: 0;
}

.p-home-items__card:not(a) .p-home-items__card-name::before,
.p-home-items__card:not(a) .p-home-items__card-name::after {
  content: none;
}


/* ===== 03-hero.css ===== */
/* =============================================================
   メインビジュアル（トップ／地域詳細）
   Figmaの PC 1440×720 / SP 390×583 をそのまま比率で再現する。
   幅が変わっても見た目が崩れないよう、位置・サイズは
   min(◯vw, ◯px) でデザイン幅に対する比率として指定している。
   ============================================================= */

.p-home-hero {
  background: #ffffff;
}

.p-home-hero__visual {
  position: relative;
  min-height: min(50vw, 720px);
  overflow: hidden;
  /* #ffffff に #d4eadb 50% を重ねた色 */
  background-color: #e9f4ed;
  /* 43px角に白い円（40%）を敷き詰めたパターン */
  background-image: radial-gradient(circle at center, rgba(255, 255, 255, 0.4) 70%, transparent 71%);
  background-position: 0 0;
  background-size: 43px 43px;
}

/* ---------- 写真（右側） ---------- */
.p-home-hero__photo {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  /* Figmaの x=722 / 1440 */
  left: 50.1389%;
}

.p-home-hero__photo picture,
.p-home-hero__photo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

/* ---------- テキスト側 ---------- */
.p-home-hero__inner {
  position: relative;
  width: min(100%, 1440px);
  min-height: min(50vw, 720px);
  margin-inline: auto;
}

/* Figmaではこの装飾を20°回転させて置いている（報告されている枠 286.27×157.28 は
   281×65 を20°回した外接矩形と一致する）。等倍のまま置くと光線の角度が浅くなる。
   回転は中心を軸に掛かるので top / left は回転前の位置を指定する。 */
.p-home-hero__deco {
  position: absolute;
  /* 回転前ボックスの左上 x=227.9 / y=36.1（MV上端から） / 1440 */
  top: min(2.5096vw, 36.14px);
  left: 15.8257%;
  width: min(19.7917vw, 285px);
  height: min(4.7917vw, 69px);
  transform: rotate(20deg);
}

/* 地域名が5文字以上のページ（加古川市の〜川辺郡猪名川町の、計16市町）は
   見出しが x444〜520 まで伸び、傾けた装飾の右側の光線が文字に掛かる。
   傾きはそのままに、見出しの右端とバッジの左端（y=139付近で x599.5）の
   隙間へ 96px 右へ逃がす。
   　右内の光線 : 525.1px（見出し右端 519.6 から 5.5px）
   　右外の光線 : 593.0px（バッジ左端 599.5 まで 6.5px）
   SPは見出しが中央揃えで元から重ならないので、PCだけに効かせる。 */
@media (min-width: 768px) {
  .p-home-hero__inner--long-area .p-home-hero__deco {
    /* 227.89 + 96 = 323.89 / 1440 */
    left: 22.4924%;
  }
}

.p-home-hero__title {
  position: absolute;
  /* Figmaの x=108 / 1440、y=221-133。行間の出方の差ぶん8px上げている */
  top: min(5.5556vw, 80px);
  left: 7.5%;
  display: flex;
  flex-direction: column;
  gap: min(0.8333vw, 12px);
  margin: 0;
  font-weight: 900;
  line-height: 1.11;
  white-space: nowrap;
}

.p-home-hero__area {
  color: #123c1e;
  font-size: min(4.4444vw, 64px);
  letter-spacing: 0.05em;
  text-shadow: min(0.2778vw, 4px) min(0.2778vw, 4px) 0 #d4eadb;
}

/* 地域名が長いときは、バッジに重ならないよう小さくする */
.p-home-hero__area--long {
  font-size: min(3.8889vw, 56px);
}

.p-home-hero__area--xlong {
  font-size: min(3.3333vw, 48px);
}

.p-home-hero__service {
  color: #178d39;
  font-size: min(6.1111vw, 88px);
  line-height: 1;
  letter-spacing: 0.1em;
  text-shadow: min(0.5556vw, 8px) min(0.5556vw, 8px) 0 #d4eadb;
}

.p-home-hero__catch {
  color: #123c1e;
  font-size: min(4.4444vw, 64px);
  line-height: 1.15;
  letter-spacing: 0.05em;
  text-shadow: min(0.2778vw, 4px) min(0.2778vw, 4px) 0 #d4eadb;
}

.p-home-hero__dot {
  font-size: min(2.7778vw, 40px);
}

/* ---------- 最短30分バッジ ---------- */
.p-home-hero__badge {
  position: absolute;
  /* Figmaの x=586 / 1440、y=172-133 */
  top: min(2.7083vw, 39px);
  left: 40.6944%;
  width: min(24.7917vw, 357px);
  height: auto;
}

/* ---------- 3つのポイント ---------- */
.p-home-hero__points {
  position: absolute;
  /* Figmaの x=153 / 1440、y=516-133 */
  top: min(26.5972vw, 383px);
  left: 10.625%;
  /* 枠の外側に斜線を置くぶんの余白 */
  padding: min(0.5556vw, 8px);
}

/* 左上・右下の斜線（Figmaでは49×49の中に69.3pxの線を-45度） */
.p-home-hero__points::before,
.p-home-hero__points::after {
  position: absolute;
  /* 枠より前面に出して、角を横切るように見せる */
  z-index: 1;
  width: min(3.4028vw, 49px);
  height: min(3.4028vw, 49px);
  background-image: url("../images/hero/deco_line.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% min(0.2778vw, 4px);
  transform: rotate(-45deg);
  content: "";
}

.p-home-hero__points::before {
  top: 0;
  left: 0;
}

.p-home-hero__points::after {
  right: 0;
  bottom: 0;
}

.p-home-hero__point-list {
  display: flex;
  flex-direction: column;
  gap: min(1.1111vw, 16px);
  margin: 0;
  padding: min(2.7778vw, 40px);
  list-style: none;
  background: #ffffff;
  border-radius: 8px;
  -webkit-filter: drop-shadow(4px 4px 0 #d9d9d9);
  filter: drop-shadow(4px 4px 0 #d9d9d9);
}

.p-home-hero__point {
  display: flex;
  align-items: center;
  gap: min(0.5556vw, 8px);
  width: min(22.9167vw, 330px);
  padding-block: min(0.2778vw, 4px);
  border-bottom: 2px solid #f5f5f5;
}

.p-home-hero__point-icon {
  flex-shrink: 0;
  width: min(2.3611vw, 34px);
  height: auto;
}

.p-home-hero__point-text {
  color: #123c1e;
  font-size: min(1.6667vw, 24px);
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.p-home-hero__point-text strong {
  color: #f01c1c;
  font-weight: 700;
}

/* =============================================================
   SP（Figma 390×583）
   ============================================================= */
@media (max-width: 767px) {
  .p-home-hero__visual {
    min-height: min(149.4872vw, 583px);
  }

  .p-home-hero__inner {
    min-height: min(149.4872vw, 583px);
  }

  /* 写真は下部に横いっぱいの帯として入る */
  .p-home-hero__photo {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    height: min(36.6667vw, 143px);
  }

  /* SPはFigmaでも回転していないので、PCのrotateを打ち消して中央に置く */
  .p-home-hero__deco {
    top: min(1.5872vw, 6.19px);
    left: 50%;
    width: min(22.5642vw, 88px);
    height: min(8.1546vw, 31.8px);
    transform: translateX(-50%);
  }

  .p-home-hero__title {
    top: min(5.8974vw, 23px);
    left: 0;
    gap: min(2.0513vw, 8px);
    width: 100%;
    text-align: center;
  }

  .p-home-hero__area {
    font-size: min(11.2821vw, 44px);
    text-shadow: min(0.7179vw, 2.8px) min(0.7179vw, 2.8px) 0 #d4eadb;
  }

  .p-home-hero__area--long,
  .p-home-hero__area--xlong {
    font-size: min(10.2564vw, 40px);
  }

  .p-home-hero__service {
    font-size: min(14.359vw, 56px);
    text-shadow: min(1.4359vw, 5.6px) min(1.4359vw, 5.6px) 0 #d4eadb;
  }

  .p-home-hero__catch {
    font-size: min(11.2821vw, 44px);
    text-shadow: min(0.7179vw, 2.8px) min(0.7179vw, 2.8px) 0 #d4eadb;
  }

  .p-home-hero__dot {
    font-size: min(6.1538vw, 24px);
  }

  .p-home-hero__badge {
    top: min(105.641vw, 412px);
    left: min(35.8974vw, 140px);
    width: min(64.1026vw, 250px);
  }

  .p-home-hero__points {
    top: min(54.8718vw, 214px);
    left: min(7.6923vw, 30px);
    padding: min(1.7949vw, 7px);
  }

  .p-home-hero__points::before,
  .p-home-hero__points::after {
    width: min(9.7436vw, 38px);
    height: min(9.7436vw, 38px);
    background-size: 100% min(0.5128vw, 2px);
  }

  .p-home-hero__point-list {
    gap: min(2.0513vw, 8px);
    padding: min(4.1026vw, 16px) min(6.1538vw, 24px);
  }

  .p-home-hero__point {
    gap: min(2.0513vw, 8px);
    width: min(65.641vw, 256px);
  }

  .p-home-hero__point-icon {
    width: min(8.7179vw, 34px);
  }

  .p-home-hero__point-text {
    font-size: min(4.6154vw, 18px);
  }
}


/* ===== 04-notfound.css ===== */
/* =============================================================
   404ページ（404.php）
   ============================================================= */

.p-notfound__content {
  padding-block: 64px 80px;
  text-align: center;
}

.p-notfound__code {
  margin: 0;
  color: #178d39;
  font-size: 96px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  opacity: 0.25;
}

.p-notfound__title {
  margin: 16px 0 0;
  color: #123c1e;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
}

.p-notfound__text {
  margin: 16px 0 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
}

.p-notfound__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 24px;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}

.p-notfound__list-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #15913a;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.p-notfound__list-link::before {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  background: #15913a;
  border-radius: 50%;
  content: "";
}

.p-notfound__button {
  margin: 40px auto 0;
}

/* =============================================================
   SP
   ============================================================= */
@media (max-width: 767px) {
  .p-notfound__content {
    padding-block: 40px 56px;
  }

  .p-notfound__code {
    font-size: 64px;
  }

  .p-notfound__title {
    font-size: 20px;
  }

  .p-notfound__text {
    font-size: 14px;
  }

  .p-notfound__list {
    gap: 10px 20px;
    margin-top: 28px;
  }

  .p-notfound__list-link {
    font-size: 14px;
  }

  .p-notfound__button {
    margin-top: 28px;
  }
}


/* ===== 10-company.css ===== */
/* =============================================================
   会社概要ページ（page-company.php）
   ============================================================= */

/* -------------------------------------------------------------
   ごあいさつ
   ------------------------------------------------------------- */
.p-company-greeting {
  padding-block: 24px 48px;
  background: #ffffff;
}

.p-company-greeting__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100% - 32px, 941px);
  margin-inline: auto;
}

.p-company-greeting__image {
  flex-shrink: 0;
  width: 222px;
  margin: 0;
}

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

.p-company-greeting__balloon {
  position: relative;
  padding: 32px;
  background: #e8f3eb;
  border-radius: 32px;
}

.p-company-greeting__balloon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -15px;
  border-style: solid;
  border-width: 11px 15px 11px 0;
  border-color: transparent #e8f3eb transparent transparent;
  transform: translateY(-50%);
}

.p-company-greeting__lead {
  margin: 0;
  color: #123c1e;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}

.p-company-greeting__text {
  margin: 0;
  color: #123c1e;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

.p-company-greeting__lead span,
.p-company-greeting__text span {
  color: #178d39;
}

/* -------------------------------------------------------------
   会社概要
   ------------------------------------------------------------- */
.p-company-outline {
  padding-block: 80px;
  background: #eff6ff;
}

.p-company-outline__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: min(100% - 64px, 1330px);
  margin-inline: auto;
}

.p-company-outline__heading {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 32px;
  width: 100%;
}

.p-company-outline__lead {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.p-company-outline__list {
  width: min(100%, 1132px);
  margin: 0;
}

.p-company-outline__row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 24px 8px;
  border-bottom: 2px solid #178d39;
}

.p-company-outline__term {
  flex-shrink: 0;
  width: 300px;
  margin: 0;
  color: #178d39;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
}

.p-company-outline__desc {
  margin: 0;
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.1;
}

.p-company-outline__license {
  margin: 0;
  line-height: 1.6;
}

.p-company-outline__license-image {
  width: 322px;
  margin: 8px 0 0;
}

.p-company-outline__license-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* -------------------------------------------------------------
   相場屋の取り組み
   ------------------------------------------------------------- */
.p-company-effort {
  padding-block: 80px;
  background: #eff6ff;
}

.p-company-effort__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: min(100% - 32px, 1327px);
  margin-inline: auto;
}

.p-company-effort__slider {
  width: 100%;
}

.p-company-effort__slider .splide__track {
  padding-bottom: 10px;
}

.p-company-effort__slider .splide__list {
  align-items: stretch;
}

.p-company-effort__slider .splide__slide {
  display: flex;
  height: auto;
}

.p-company-effort__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  width: 100%;
  padding: 32px 16px;
  background: #d4eadb;
  border-radius: 16px;
  box-shadow: 0 8px 0 #ffffff;
}

.p-company-effort__image {
  width: 100%;
  margin: 0;
}

.p-company-effort__image img {
  display: block;
  width: 100%;
  height: 292px;
  object-fit: cover;
  border-radius: 8px;
}

.p-company-effort__title {
  margin: 0;
  color: #178d39;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.p-company-effort__text {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

.p-company-effort__button {
  min-width: 210px;
  margin-top: auto;
  box-shadow: none;
}

.p-company-effort__button:hover,
.p-company-effort__button:active {
  transform: none;
  box-shadow: none;
}

.p-company-effort__arrows {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 24px;
}

.p-company-effort__arrows .splide__pagination {
  position: static;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
}

.p-company-effort__arrows .splide__pagination__page {
  width: 8px;
  height: 8px;
  margin: 0;
  background: #b6d8c1;
  border: 0;
  border-radius: 50%;
  opacity: 1;
}

.p-company-effort__arrows .splide__pagination__page.is-active {
  background: #178d39;
  transform: none;
}

.p-company-effort__arrow {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  background: #178d39;
  border: 0;
  border-radius: 50%;
  opacity: 1;
  transform: none;
}

.p-company-effort__arrow img {
  width: 7px;
  height: auto;
}

.p-company-effort__arrow svg {
  display: none;
}

/* -------------------------------------------------------------
   提携先・協業先
   ------------------------------------------------------------- */
.p-company-partner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-block: 80px;
  background: #ffffff;
}

.p-company-partner__logos {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 80px 8px;
  background: #ff8b8b;
}

.p-company-partner__placeholder {
  margin: 0;
  color: #ffffff;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
}

/* -------------------------------------------------------------
   企業理念
   ------------------------------------------------------------- */
.p-company-philosophy {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-block: 80px;
  background-color: #d4eadb;
  background-image: url("../images/common/repeat_bg_green_light.webp");
  background-repeat: repeat;
  background-size: 43px 43px;
}

.p-company-philosophy__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 421px));
  justify-content: center;
  gap: 32px;
  width: min(100% - 32px, 1327px);
  margin-inline: auto;
}

.p-company-philosophy__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px;
  background: #ffffff;
  border-radius: 16px;
}

.p-company-philosophy__card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 76px;
}

.p-company-philosophy__num {
  flex-shrink: 0;
  width: 66px;
  margin: 0;
  color: #ffffff;
  font-size: 56px;
  line-height: 1;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 6px #178d39;
  paint-order: stroke fill;
}

.p-company-philosophy__title {
  margin: 0;
  color: #178d39;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.p-company-philosophy__text {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}

/* -------------------------------------------------------------
   SDGs
   ------------------------------------------------------------- */
.p-company-sdgs {
  padding-block: 80px;
  background: #ffffff;
}

.p-company-sdgs__inner {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: min(100% - 32px, 1320px);
  margin-inline: auto;
}

.p-company-sdgs__head {
  display: flex;
  align-items: center;
  gap: 40px;
}

.p-company-sdgs__logos {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex-shrink: 0;
  width: 288px;
  margin: 0;
  padding-block: 16px;
}

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

.p-company-sdgs__summary {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.p-company-sdgs__label {
  align-self: flex-start;
  margin: 0;
  padding: 2px 16px;
  color: #000000;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  background: #ffdf40;
  border-radius: 8px;
}

.p-company-sdgs__title {
  margin: 0;
  color: #178d39;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.1;
}

.p-company-sdgs__catch {
  margin: 0;
  color: #000000;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.p-company-sdgs__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.p-company-sdgs__item {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.p-company-sdgs__item-title {
  margin: 0;
  color: #178d39;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.p-company-sdgs__item-text {
  margin: 0;
  padding-top: 8px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  border-top: 2px solid #178d39;
}

/* -------------------------------------------------------------
   沿革
   ------------------------------------------------------------- */
.p-company-history {
  padding: 80px 64px;
  background: #eff6ff;
}

.p-company-history__inner {
  display: flex;
  align-items: flex-start;
  gap: 80px;
  width: min(100%, 1312px);
  margin-inline: auto;
}

.p-company-history__head {
  display: flex;
  flex-direction: column;
  gap: 23px;
  flex-shrink: 0;
  width: 475px;
}

.p-company-history__lead {
  margin: 0;
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

.p-company-history__body {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  padding-left: 86px;
}

.p-company-history__body::before {
  content: "";
  position: absolute;
  top: 50px;
  left: 38px;
  width: 2px;
  height: calc(100% - 50px);
  background: #178d39;
}

.p-company-history__mark {
  position: absolute;
  top: 39px;
  left: 4px;
  z-index: 1;
  width: 70px;
  height: auto;
}

.p-company-history__list {
  margin: 0;
}

.p-company-history__row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 140px;
  padding: 24px 8px;
}

.p-company-history__row::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -55px;
  width: 16px;
  height: 16px;
  background: #eff6ff;
  border: 2px solid #178d39;
  border-radius: 50%;
  transform: translateY(-50%);
}

.p-company-history__row:first-child::before {
  content: none;
}

.p-company-history__year {
  flex-shrink: 0;
  width: 109px;
  margin: 0;
  color: #178d39;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
}

.p-company-history__desc {
  margin: 0;
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
}

/* =============================================================
   SP
   ============================================================= */
@media (max-width: 767px) {
  /* ごあいさつ */
  .p-company-greeting {
    padding-block: 24px 32px;
  }

  .p-company-greeting__inner {
    flex-direction: column-reverse;
    align-items: center;
    width: min(100% - 32px, 358px);
  }

  .p-company-greeting__image {
    width: 100px;
    margin-top: 12px;
  }

  .p-company-greeting__balloon {
    width: 100%;
    padding: 24px;
  }

  .p-company-greeting__balloon::before {
    top: auto;
    bottom: -14px;
    left: 50%;
    border-width: 15px 11px 0 11px;
    border-color: #e8f3eb transparent transparent transparent;
    transform: translateX(-50%);
  }

  .p-company-greeting__lead {
    font-size: 16px;
  }

  .p-company-greeting__text {
    font-size: 16px;
  }

  /* 会社概要 */
  .p-company-outline {
    padding: 64px 16px;
  }

  .p-company-outline__inner {
    align-items: flex-start;
    gap: 32px;
    width: 100%;
  }

  .p-company-outline__heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .p-company-outline__row {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
  }

  .p-company-outline__term {
    width: auto;
  }

  .p-company-outline__license-image {
    width: 100%;
    margin-top: 16px;
  }

  /* 相場屋の取り組み */
  .p-company-effort {
    padding: 64px 16px;
  }

  .p-company-effort__inner {
    width: 100%;
    gap: 32px;
  }

  /* SPではSplideを破棄するため .splide.is-initialized:not(.is-active) .splide__list の
     display: block が効いてしまう。詳細度を上げて縦並び＋余白を効かせる */
  .p-company-effort .p-company-effort__slider.splide .splide__list {
    display: flex;
    flex-direction: column;
    gap: 48px;
  }

  .p-company-effort__slider .splide__slide {
    width: 100% !important;
    margin: 0 !important;
  }

  .p-company-effort__arrows {
    display: none;
  }

  .p-company-effort__image img {
    height: auto;
    aspect-ratio: 326 / 245;
  }

  /* 提携先・協業先 */
  .p-company-partner {
    padding-block: 48px;
  }

  .p-company-partner__logos {
    padding: 64px 8px;
  }

  .p-company-partner__placeholder {
    font-size: 24px;
  }

  /* 企業理念 */
  .p-company-philosophy {
    padding-block: 48px;
  }

  .p-company-philosophy__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    width: min(100% - 32px, 358px);
  }

  .p-company-philosophy__card {
    padding: 24px;
  }

  .p-company-philosophy__card-head {
    min-height: 0;
  }

  .p-company-philosophy__num {
    width: 56px;
    font-size: 44px;
    -webkit-text-stroke-width: 5px;
  }

  .p-company-philosophy__title {
    font-size: 20px;
  }

  /* SDGs */
  .p-company-sdgs {
    padding: 48px 16px;
  }

  .p-company-sdgs__inner {
    width: 100%;
    gap: 32px;
  }

  .p-company-sdgs__head {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }

  .p-company-sdgs__logos {
    width: 100%;
    padding-block: 0;
  }

  .p-company-sdgs__title {
    font-size: 32px;
  }

  .p-company-sdgs__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .p-company-sdgs__item-title {
    font-size: 20px;
  }

  /* 沿革 */
  .p-company-history {
    padding: 48px 16px;
  }

  .p-company-history__inner {
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }

  .p-company-history__head {
    width: 100%;
  }

  .p-company-history__body {
    width: 100%;
    padding-left: 72px;
  }

  .p-company-history__body::before {
    top: 44px;
    left: 26px;
    height: calc(100% - 44px);
  }

  .p-company-history__mark {
    top: 20px;
    left: 0;
    width: 56px;
  }

  .p-company-history__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-height: 0;
    padding: 16px 0;
  }

  .p-company-history__row::before {
    top: 24px;
    left: -53px;
    transform: none;
  }

  .p-company-history__year {
    width: auto;
    font-size: 20px;
  }
}


/* ===== 11-price.css ===== */
/* =============================================================
   料金案内ページ（page-price.php）
   ============================================================= */

/* -------------------------------------------------------------
   料金プラン
   トップページの .p-home-price を流用し、背景のみ差し替える
   ------------------------------------------------------------- */
.p-price-plan {
  margin-bottom: 0;
  background-color: #d4eadb;
  background-image: url("../images/common/repeat_bg_green_light.webp");
  background-repeat: repeat;
  background-size: 43px 43px;
}

.p-price-plan .p-home-price__content {
  padding-block: 80px;
}

/* -------------------------------------------------------------
   単品回収の料金案内
   ------------------------------------------------------------- */
.p-price-list {
  padding-block: 80px;
  background-color: #f9fbff;
  background-image: url("../images/common/repeat_bg_blue_light.webp");
  background-repeat: repeat;
  background-size: 43px 43px;
}

.p-price-list__inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
  width: min(100% - 64px, 1200px);
  margin-inline: auto;
}

.p-price-list__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.p-price-list__mascot {
  width: 110px;
  height: auto;
}

.p-price-list__title {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.1em;
  white-space: nowrap;
  -webkit-text-stroke: 9px #178d39;
  paint-order: stroke fill;
}

.p-price-list__category {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-price-list__category-heading {
  display: flex;
  align-items: center;
  gap: 8px;
}

.p-price-list__category-icon {
  flex-shrink: 0;
  width: 37px;
  height: 37px;
}

.p-price-list__category-title {
  margin: 0;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  -webkit-text-stroke: 7px #178d39;
  paint-order: stroke fill;
}

.p-price-list__tables {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
}

.p-price-list__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #ffffff;
  border: 2px solid #178d39;
  border-radius: 8px;
  overflow: hidden;
  table-layout: fixed;
}

.p-price-list__table th,
.p-price-list__table td {
  padding: 16px;
  text-align: left;
  vertical-align: middle;
}

.p-price-list__table thead th {
  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  background: #178d39;
}

.p-price-list__table thead th:first-child,
.p-price-list__table tbody th {
  width: 42%;
}

.p-price-list__table tbody th {
  color: #123c1e;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  border-top: 2px solid #178d39;
  border-right: 2px solid #178d39;
}

.p-price-list__table tbody td {
  color: #ff4040;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  border-top: 2px solid #178d39;
}

.p-price-list__note {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.4;
}

/* =============================================================
   SP
   ============================================================= */
@media (max-width: 767px) {
  /* ファミリーパック／丸ごと片付けパックの写真を、断捨離・シングル・ペアパックと同じ大きさに揃える
     （p-home-price はトップページと共用しているため、トップの表示も同じサイズになる） */
  .p-home-price__plan-card--wide .p-home-price__image-wrap {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
    max-width: 309px;
    margin-inline: auto;
  }

  .p-price-plan .p-home-price__content {
    padding-block: 48px 64px;
  }

  .p-price-list {
    padding-block: 48px;
  }

  .p-price-list__inner {
    width: min(100% - 32px, 358px);
    gap: 40px;
  }

  .p-price-list__heading {
    flex-direction: column;
    gap: 0;
  }

  .p-price-list__mascot {
    width: 88px;
  }

  .p-price-list__title {
    font-size: 28px;
    -webkit-text-stroke-width: 7px;
  }

  .p-price-list__category-title {
    font-size: 20px;
    -webkit-text-stroke-width: 6px;
  }

  /* SPは1カラムで1つの表につなげて見せる */
  .p-price-list__tables {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .p-price-list__tables .p-price-list__table:first-child {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }

  .p-price-list__tables .p-price-list__table:last-child {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }

  .p-price-list__tables .p-price-list__table:last-child thead {
    display: none;
  }

  .p-price-list__table th,
  .p-price-list__table td {
    padding: 12px;
  }

  .p-price-list__table tbody td {
    font-size: 18px;
  }
}

/* -------------------------------------------------------------
   単品回収プラン（トップ・エリア詳細）
   「詳しく見る」は緑の枠の外に出して左右中央に置く
   ------------------------------------------------------------- */
/* ボタンが枠外に出た分、カード内の要素は中央寄せにする */
.p-home-price__single-card {
  justify-content: center;
}

.p-home-price__single-card > div {
  justify-content: center;
}

.p-home-price__single-action {
  display: flex;
  justify-content: center;
  margin-top: 32px;
}

.p-home-price__single-action .p-home-price__plan-button {
  margin: 0;
}

@media (max-width: 767px) {
  .p-home-price__single-action {
    margin-top: 24px;
  }

  .p-home-price__single-action .p-home-price__plan-button {
    min-width: 198px;
    min-height: 35px;
    font-size: 14px;
  }
}


/* ===== 12-items.css ===== */
/* =============================================================
   回収できるものページ（page-items.php）
   ============================================================= */

.p-items {
  padding-block: 64px 80px;
  background: #f8f8f8;
}

.p-items__inner {
  width: min(100% - 64px, 1308px);
  margin-inline: auto;
}

.p-items__head {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 40px;
}

.p-items__title {
  flex-shrink: 0;
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.05em;
  white-space: nowrap;
  -webkit-text-stroke: 9px #178d39;
  paint-order: stroke fill;
}

.p-items__nav {
  flex: 1 1 auto;
  min-width: 0;
}

.p-items__nav-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px 24px;
}

.p-items__nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 8px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  border-bottom: 1px solid #178d39;
}

.p-items__nav-link::after {
  content: "";
  flex-shrink: 0;
  width: 9px;
  height: 6px;
  background: url("../images/items/icon_arrow_down.svg") no-repeat center / contain;
}

.p-items__categories {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.p-items__category {
  overflow: hidden;
  background: #ffffff;
  border-radius: 16px;
}

.p-items__category-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 44px;
  margin: 0;
  padding: 8px 16px;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  background: #178d39;
}

.p-items__category-title::before,
.p-items__category-title::after {
  content: "";
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  background: url("../images/items/deco_star_wh.svg") no-repeat center / contain;
}

.p-items__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 24px 32px;
}

.p-items__link-list,
.p-items__name-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
}

.p-items__link {
  color: #178d39;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 0.3em;
}

.p-items__link:hover,
.p-items__link:focus-visible {
  text-decoration: none;
}

.p-items__name {
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

/* =============================================================
   SP
   ============================================================= */
@media (max-width: 767px) {
  .p-items {
    padding-block: 40px 48px;
  }

  .p-items__inner {
    width: min(100% - 32px, 358px);
  }

  .p-items__head {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    margin-bottom: 24px;
  }

  .p-items__title {
    font-size: 28px;
    text-align: center;
    -webkit-text-stroke-width: 7px;
  }

  .p-items__nav-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .p-items__nav-link {
    font-size: 14px;
  }

  .p-items__categories {
    gap: 24px;
  }

  .p-items__category-title {
    font-size: 18px;
  }

  .p-items__body {
    gap: 12px;
    padding: 20px 16px 24px;
  }

  .p-items__link-list,
  .p-items__name-list {
    gap: 12px 16px;
  }

  .p-items__link,
  .p-items__name {
    font-size: 14px;
  }
}


/* ===== 13-faq.css ===== */
/* =============================================================
   よくある質問ページ（archive-faq.php / taxonomy-faq_category.php）
   Q/Aアコーディオンはトップページの .p-home-faq__* を流用している
   ============================================================= */

/* -------------------------------------------------------------
   カテゴリーへのアンカーボタン
   ------------------------------------------------------------- */
.p-faq-anchors {
  margin-bottom: 56px;
}

.p-faq-anchors__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px 36px;
  margin: 0;
  padding: 0;
}

.p-faq-anchors__link {
  position: relative;
  display: grid;
  place-items: center;
  padding: 11px 48px 11px 25px;
  color: #fdff5b;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  background: #15913a;
  border-radius: 8px;
  box-shadow: 1px 1px 6px 0 rgb(0 0 0 / 25%);
  transition: opacity 0.25s ease;
}

.p-faq-anchors__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 14px;
  height: 9px;
  background: url("../images/items/icon_arrow_down.svg") no-repeat center / contain;
  filter: brightness(0) saturate(100%) invert(93%) sepia(53%) saturate(1000%) hue-rotate(4deg) brightness(105%);
  transform: translateY(-50%);
}

.p-faq-anchors__link:hover,
.p-faq-anchors__link:focus-visible {
  opacity: 0.8;
}

/* -------------------------------------------------------------
   Q/Aアコーディオン（カテゴリーごとのグループ）
   ------------------------------------------------------------- */
.p-faq-list {
  display: flex;
  flex-direction: column;
  gap: 56px;
  width: min(100%, 1080px);
  margin-inline: auto;
}

.p-faq-list__empty {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  text-align: center;
}

/* =============================================================
   SP
   ============================================================= */
@media (max-width: 767px) {
  .p-faq-anchors {
    margin-bottom: 32px;
  }

  .p-faq-anchors__list {
    flex-direction: column;
    gap: 12px;
  }

  .p-faq-anchors__link {
    padding: 10px 40px 10px 16px;
    font-size: 16px;
  }

  .p-faq-anchors__link::after {
    right: 16px;
  }

  .p-faq-list {
    gap: 32px;
  }
}


/* ===== 14-partner.css ===== */
/* =============================================================
   提携先募集ページ（page-partner.php）
   ============================================================= */

/* 導入文＋業種ナビ（白背景の帯） */
.p-partner-head {
  padding-block: 32px 40px;
  background: #ffffff;
}

.p-partner-head__inner {
  width: min(100% - 64px, 1312px);
  margin-inline: auto;
}

.p-partner-head__lead {
  margin: 0 0 24px;
  color: #123c1e;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
}

.p-partner-head__nav-list {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 164px));
  gap: 24px 32px;
}

.p-partner-head__nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-block: 8px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  border-bottom: 2px solid #178d39;
}

.p-partner-head__nav-link::after {
  content: "";
  flex-shrink: 0;
  width: 12px;
  height: 9px;
  background: url("../images/items/icon_arrow_down.svg") no-repeat center / contain;
}

.p-partner {
  padding-block: 48px 64px;
  background-color: #f9fbff;
  background-image: url("../images/common/repeat_bg_blue_light.webp");
  background-repeat: repeat;
  background-size: 43px 43px;
}

.p-partner__inner {
  width: min(100% - 64px, 1280px);
  margin-inline: auto;
}

/* PCは画面右下に追従、SPは「不動産業者様」の見出し上に配置する */
.p-partner__contact {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 900;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 300px;
  padding: 16px;
  background: #ffffff;
  border-radius: 16px;
  filter: drop-shadow(4px 4px 0 #d9d9d9);
}

.p-partner__contact-text {
  margin: 0;
  color: #123c1e;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}

.p-partner__contact-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  min-height: 56px;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  background: #ff8521;
  border-radius: 8px;
  box-shadow: 0 5px 0 #ffdf40;
  transition: opacity 0.35s ease;
}

.p-partner__contact-button:hover,
.p-partner__contact-button:focus-visible {
  opacity: 0.8;
}

.p-partner__contact-icon {
  width: 22px;
  height: auto;
}

.p-partner__contact-arrow {
  width: 13px;
  height: auto;
}

.p-partner__blocks {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.p-partner__block {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.p-partner__title {
  margin: 0;
  color: #ffffff;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  -webkit-text-stroke: 8px #178d39;
  paint-order: stroke fill;
}

.p-partner__content {
  position: relative;
  display: grid;
  grid-template-columns: 394px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.p-partner__image {
  width: 394px;
  margin: 0;
}

.p-partner__image img {
  display: block;
  width: 100%;
  height: 263px;
  object-fit: cover;
  border-radius: 16px;
}

.p-partner__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-partner__text p {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

.p-partner__solve {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px;
  background: #ffffff;
  border-radius: 16px;
}

.p-partner__solve-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #178d39;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.p-partner__solve-icon {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
}

.p-partner__solve-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.p-partner__solve-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-block: 4px;
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
}

.p-partner__solve-check {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
}

/* -------------------------------------------------------------
   ページ下部のお問い合わせ帯
   ------------------------------------------------------------- */
.p-partner-cta {
  padding-block: 40px;
  background: #ff8521;
}

.p-partner-cta__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  width: min(100% - 32px, 1312px);
  margin-inline: auto;
}

.p-partner-cta__message {
  display: flex;
  align-items: center;
  gap: 8px;
}

.p-partner-cta__mark {
  flex-shrink: 0;
  width: 110px;
  height: auto;
}

.p-partner-cta__balloon {
  position: relative;
  margin: 0;
  padding: 32px;
  color: #123c1e;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
  background: #ffffff;
  border-radius: 16px;
}

.p-partner-cta__balloon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -15px;
  border-style: solid;
  border-width: 11px 15px 11px 0;
  border-color: transparent #ffffff transparent transparent;
  transform: translateY(-50%);
}

.p-partner-cta__button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
  width: 363px;
  height: 80px;
  color: #ff8521;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 5px 0 #ffdf40;
  transition: opacity 0.35s ease;
}

.p-partner-cta__button:hover,
.p-partner-cta__button:focus-visible {
  opacity: 0.8;
}

.p-partner-cta__icon {
  width: 36px;
  height: auto;
}

.p-partner-cta__arrow {
  width: 26px;
  height: auto;
}

/* =============================================================
   SP
   ============================================================= */
@media (max-width: 767px) {
  .p-partner {
    padding-block: 24px 48px;
  }

  .p-partner__inner {
    width: min(100% - 32px, 358px);
  }

  .p-partner-head {
    padding-block: 24px 32px;
  }

  .p-partner-head__inner {
    width: min(100% - 32px, 358px);
  }

  .p-partner-head__lead {
    margin-bottom: 16px;
    font-size: 16px;
  }

  .p-partner-head__nav-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 24px;
  }

  .p-partner-head__nav-link {
    font-size: 14px;
  }

  .p-partner__contact {
    position: static;
    width: 100%;
    margin-bottom: 32px;
  }

  .p-partner__blocks {
    gap: 40px;
  }

  .p-partner__title {
    font-size: 24px;
    -webkit-text-stroke-width: 6px;
  }

  .p-partner__content {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
  }

  .p-partner__image {
    width: 100%;
  }

  .p-partner__image img {
    height: auto;
    aspect-ratio: 394 / 263;
  }

  .p-partner__solve {
    padding: 20px 16px;
  }

  .p-partner__solve-title {
    align-items: flex-start;
    font-size: 18px;
  }

  .p-partner__solve-icon,
  .p-partner__solve-check {
    width: 28px;
    height: 28px;
  }

  .p-partner__solve-item {
    align-items: flex-start;
    font-size: 14px;
  }

  .p-partner-cta {
    padding-block: 32px;
  }

  .p-partner-cta__inner {
    flex-direction: column;
    gap: 16px;
  }

  .p-partner-cta__mark {
    width: 72px;
  }

  .p-partner-cta__balloon {
    padding: 16px;
    font-size: 14px;
  }

  .p-partner-cta__button {
    width: 100%;
    height: 64px;
    font-size: 20px;
  }
}


/* ===== 15-mochikomi.css ===== */
/* =============================================================
   不用品持ち込みページ（page-mochikomi.php）
   ============================================================= */

/* -------------------------------------------------------------
   特長の帯（下層MVは共通の c-page-title--light を使用）
   ------------------------------------------------------------- */
.p-mochikomi-hero {
  padding-block: 24px;
  background: #178d39;
}

.p-mochikomi-hero__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  width: min(100% - 32px, 1040px);
  margin-inline: auto;
}

.p-mochikomi-hero__visual {
  flex-shrink: 0;
  width: 400px;
}

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

.p-mochikomi-hero__points {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.p-mochikomi-hero__points li {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.p-mochikomi-hero__points li::before {
  content: "";
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  background: url("../images/common/icon_check_circle.svg") no-repeat center / contain;
}

/* -------------------------------------------------------------
   相場屋スポットとは？
   ------------------------------------------------------------- */
/* 緑の帯とアーチ（楕円）が8pxしか離れておらず詰まって見えるので、
   デザインどおり47px空ける */
.p-mochikomi-hero + .p-mochikomi-about {
  margin-top: 39px;
}

.p-mochikomi-about__title span {
  display: block;
  font-size: 24px;
}

.p-mochikomi-about__body {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: min(100% - 64px, 1312px);
  margin-inline: auto;
}

.p-mochikomi-about__text {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

.p-mochikomi-about__movie {
  width: min(100%, 1040px);
  margin-inline: auto;
}

/* -------------------------------------------------------------
   こんなときにご利用ください
   ------------------------------------------------------------- */
.p-mochikomi-use {
  padding-block: 64px;
  background: #eff6ff;
}

.p-mochikomi-use__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: min(100% - 64px, 1240px);
  margin-inline: auto;
}

.p-mochikomi-use__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  width: 100%;
}

.p-mochikomi-use__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 389px;
}

.p-mochikomi-use__image {
  width: 100%;
  margin: 0;
}

.p-mochikomi-use__image img {
  display: block;
  width: 100%;
  height: 259px;
  object-fit: cover;
  border-radius: 16px;
}

.p-mochikomi-use__title {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  color: #178d39;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}

.p-mochikomi-use__check {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
}

.p-mochikomi-use__text {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

/* -------------------------------------------------------------
   回収アイテム一覧（画像カード）
   ------------------------------------------------------------- */
.p-mochikomi-items {
  padding-block: 64px 80px;
  background: #f8f8f8;
}

.p-mochikomi-items__inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: min(100% - 64px, 1312px);
  margin-inline: auto;
}

.p-mochikomi-items__head {
  display: flex;
  align-items: center;
  gap: 40px;
}

.p-mochikomi-items__title {
  flex-shrink: 0;
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.05em;
  white-space: nowrap;
  -webkit-text-stroke: 9px #178d39;
  paint-order: stroke fill;
}

.p-mochikomi-items__nav {
  flex: 1 1 auto;
  min-width: 0;
}

.p-mochikomi-items__nav-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px 24px;
}

.p-mochikomi-items__nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 8px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  border-bottom: 1px solid #178d39;
}

.p-mochikomi-items__nav-link::after {
  content: "";
  flex-shrink: 0;
  width: 9px;
  height: 6px;
  background: url("../images/items/icon_arrow_down.svg") no-repeat center / contain;
}

.p-mochikomi-items__lead {
  margin: -16px 0 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
}

.p-mochikomi-items__categories {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.p-mochikomi-items__category {
  overflow: hidden;
  background: #ffffff;
  border-radius: 32px;
}

.p-mochikomi-items__category-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 56px;
  margin: 0;
  padding: 8px 16px;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  background: #178d39;
}

.p-mochikomi-items__category-title::before,
.p-mochikomi-items__category-title::after {
  content: "";
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  background: url("../images/items/deco_star_wh.svg") no-repeat center / contain;
}

.p-mochikomi-items__card-list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 24px;
  padding: 40px;
}

.p-mochikomi-items__card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 224px;
}

.p-mochikomi-items__card-image {
  width: 100%;
  margin: 0;
}

.p-mochikomi-items__card-image img {
  display: block;
  width: 100%;
  height: 168px;
  object-fit: cover;
  border-radius: 16px;
}

.p-mochikomi-items__card-name {
  margin: 0;
  padding-bottom: 8px;
  color: #123c1e;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  border-bottom: 2px solid #178d39;
}

.p-mochikomi-items__movie {
  width: 100%;
}

.p-mochikomi-items__ng {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.p-mochikomi-items__ng-heading {
  display: flex;
  align-items: center;
  gap: 16px;
}

.p-mochikomi-items__ng-icon {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
}

.p-mochikomi-items__ng-title {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  -webkit-text-stroke: 8px #178d39;
  paint-order: stroke fill;
}

.p-mochikomi-items__ng-lead {
  margin: 0;
  color: #123c1e;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.p-mochikomi-items__ng-lead span {
  color: #ff4040;
}

.p-mochikomi-items__ng-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 2px solid #178d39;
  border-left: 2px solid #178d39;
  border-radius: 16px;
  overflow: hidden;
  background: #ffffff;
}

.p-mochikomi-items__ng-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 62px;
  padding: 8px 16px;
  color: #123c1e;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  border-right: 2px solid #178d39;
  border-bottom: 2px solid #178d39;
}

.p-mochikomi-items__ng-item::before {
  content: "";
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  background: url("../images/common/deco-shine-green.svg") no-repeat center / contain;
}

/* -------------------------------------------------------------
   不用品持ち込みの流れ
   ------------------------------------------------------------- */
.p-mochikomi-flow {
  padding: 80px 64px;
  background: #e8f3eb;
}

.p-mochikomi-flow__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  width: min(100%, 1240px);
  margin-inline: auto;
}

.p-mochikomi-flow__heading {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.2em;
  text-align: center;
  -webkit-text-stroke: 9px #178d39;
  paint-order: stroke fill;
}

.p-mochikomi-flow__list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 256px));
  justify-content: center;
  gap: 48px;
  width: 100%;
}

.p-mochikomi-flow__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.p-mochikomi-flow__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 43px;
  right: -33px;
  width: 17px;
  height: 25px;
  background: url("../images/mochikomi/icon_step_arrow.svg") no-repeat center / contain;
}

.p-mochikomi-flow__num {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 102px;
  height: 102px;
  margin: 0;
  background: #178d39;
  border-radius: 50%;
}

.p-mochikomi-flow__num span {
  color: #ffffff;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.p-mochikomi-flow__num strong {
  margin-top: -11px;
  color: #178d39;
  font-size: 48px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  -webkit-text-stroke: 5px #ffffff;
  paint-order: stroke fill;
}

.p-mochikomi-flow__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}

.p-mochikomi-flow__title {
  display: flex;
  align-items: center;
  /* タイトル（アイコン＋文字）は各カラムの中央に置く */
  justify-content: center;
  gap: 8px;
  min-height: 47px;
  margin: 0;
  color: #123c1e;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
}

.p-mochikomi-flow__icon {
  flex-shrink: 0;
  width: 32px;
  height: auto;
}

.p-mochikomi-flow__text {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}

.p-mochikomi-flow__button {
  min-width: 210px;
  margin-top: 8px;
  box-shadow: none;
}

.p-mochikomi-flow__button:hover,
.p-mochikomi-flow__button:active {
  transform: none;
  box-shadow: none;
}

/* -------------------------------------------------------------
   アクセス
   ------------------------------------------------------------- */
.p-mochikomi-access {
  padding: 80px 64px;
  background: #eff6ff;
}

.p-mochikomi-access__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  width: min(100%, 1210px);
  margin-inline: auto;
}

.p-mochikomi-access__head {
  display: flex;
  align-items: center;
  gap: 54px;
}

.p-mochikomi-access__summary {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 21px;
  flex-shrink: 0;
  width: 493px;
}

.p-mochikomi-access__address {
  width: 100%;
  margin: 0;
  padding: 24px 16px;
  color: #fdff5b;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.07em;
  text-align: center;
  background: #e8f3eb;
  border: 3px solid #178d39;
  border-radius: 100px;
  -webkit-text-stroke: 6px #178d39;
  paint-order: stroke fill;
}

.p-mochikomi-access__marks {
  display: flex;
  gap: 21px;
}

.p-mochikomi-access__marks img {
  width: 108px;
  height: auto;
}

.p-mochikomi-access__map {
  position: relative;
  flex-shrink: 0;
  width: 668px;
  aspect-ratio: 668 / 334;
  overflow: hidden;
  border-radius: 8px;
}

.p-mochikomi-access__map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-mochikomi-access__route-map img {
  display: block;
  width: 100%;
  height: auto;
}

.p-mochikomi-access__routes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 367px));
  justify-content: center;
  gap: 56px;
  width: 100%;
}

.p-mochikomi-access__route {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-mochikomi-access__route-title {
  margin: 0;
  padding-block: 8px;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  border-bottom: 2px solid #178d39;
  -webkit-text-stroke: 7px #178d39;
  paint-order: stroke fill;
}

.p-mochikomi-access__route-map {
  width: 100%;
  margin: 0;
}

.p-mochikomi-access__route-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.p-mochikomi-access__route-text p {
  margin: 0;
  color: #123c1e;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
}

.p-mochikomi-access__route-label {
  display: block;
  color: #178d39;
}

/* =============================================================
   SP
   ============================================================= */
@media (max-width: 767px) {
  .p-mochikomi-hero {
    padding-block: 20px;
  }

  .p-mochikomi-hero__inner {
    flex-direction: column;
    gap: 12px;
    width: min(100% - 32px, 358px);
  }

  .p-mochikomi-hero__visual {
    width: 100%;
  }

  .p-mochikomi-hero__points {
    gap: 4px;
    width: 100%;
  }

  .p-mochikomi-hero__points li {
    font-size: 18px;
  }

  .p-mochikomi-hero__points li::before {
    width: 28px;
    height: 28px;
  }

  /* 相場屋スポットとは？ */
  .p-mochikomi-about__title span {
    font-size: 16px;
  }

  .p-mochikomi-about__body {
    gap: 24px;
    width: min(100% - 32px, 358px);
  }

  /* こんなときに */
  .p-mochikomi-use {
    padding-block: 48px;
  }

  .p-mochikomi-use__inner {
    width: min(100% - 32px, 358px);
  }

  .p-mochikomi-use__item {
    width: 100%;
  }

  .p-mochikomi-use__image img {
    height: auto;
    aspect-ratio: 389 / 259;
  }

  .p-mochikomi-use__title {
    font-size: 20px;
  }

  /* 回収アイテム一覧 */
  .p-mochikomi-items {
    padding-block: 40px 48px;
  }

  .p-mochikomi-items__inner {
    width: min(100% - 32px, 358px);
    gap: 24px;
  }

  .p-mochikomi-items__head {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }

  .p-mochikomi-items__title {
    font-size: 28px;
    text-align: center;
    -webkit-text-stroke-width: 7px;
  }

  .p-mochikomi-items__nav-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .p-mochikomi-items__lead {
    margin-top: 0;
    font-size: 14px;
  }

  .p-mochikomi-items__category {
    border-radius: 24px;
  }

  .p-mochikomi-items__category-title {
    font-size: 20px;
  }

  .p-mochikomi-items__card-list {
    gap: 24px 16px;
    padding: 24px 16px;
  }

  .p-mochikomi-items__card {
    width: calc((100% - 16px) / 2);
  }

  .p-mochikomi-items__card-image img {
    height: auto;
    aspect-ratio: 224 / 168;
  }

  .p-mochikomi-items__card-name {
    font-size: 16px;
  }

  .p-mochikomi-items__ng-title {
    font-size: 24px;
    -webkit-text-stroke-width: 6px;
  }

  .p-mochikomi-items__ng-lead {
    font-size: 14px;
  }

  .p-mochikomi-items__ng-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p-mochikomi-items__ng-item {
    min-height: 56px;
    padding: 8px 12px;
    font-size: 13px;
  }

  /* 流れ */
  .p-mochikomi-flow {
    padding: 48px 16px;
  }

  .p-mochikomi-flow__inner {
    gap: 32px;
  }

  .p-mochikomi-flow__heading {
    font-size: 24px;
    -webkit-text-stroke-width: 6px;
  }

  .p-mochikomi-flow__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .p-mochikomi-flow__item:not(:last-child)::after {
    top: auto;
    right: auto;
    bottom: -28px;
    left: 50%;
    width: 25px;
    height: 17px;
    transform: translateX(-50%) rotate(90deg);
  }

  .p-mochikomi-flow__num {
    width: 88px;
    height: 88px;
  }

  .p-mochikomi-flow__num strong {
    font-size: 40px;
  }

  .p-mochikomi-flow__title {
    min-height: 0;
    font-size: 20px;
  }

  .p-mochikomi-flow__text {
    text-align: center;
  }

  /* SPは本文が中央揃えなので、ボタンも中央に置く */
  .p-mochikomi-flow__button {
    align-self: center;
  }

  /* アクセス */
  .p-mochikomi-access {
    padding: 48px 16px;
  }

  .p-mochikomi-access__inner {
    gap: 32px;
  }

  .p-mochikomi-access__head {
    flex-direction: column;
    gap: 24px;
  }

  .p-mochikomi-access__summary {
    width: 100%;
  }

  .p-mochikomi-access__address {
    padding: 16px;
    font-size: 18px;
  }

  .p-mochikomi-access__marks img {
    width: 72px;
  }

  .p-mochikomi-access__map {
    width: 100%;
  }

  .p-mochikomi-access__routes {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }

  .p-mochikomi-access__route-title {
    font-size: 20px;
    -webkit-text-stroke-width: 6px;
  }
}


/* ===== 16-service.css ===== */
/* =============================================================
   サービス一覧ページ（固定ページ service）
   見出しのアーチと一覧は 01-common.css の .c-point-arc--wide を流用し、
   このページ専用の差分だけをここに書く
   ============================================================= */

/* 番号は「Point」ラベルを持たないので、ラベル分の詰めを戻す */
.c-point-arc--service .c-point-arc__num strong {
  margin-top: 0;
}

/* PCは本文左の罫線なし */
.c-point-arc--service .c-point-arc__text {
  padding-left: 0;
  border-left: 0;
}

/* Figmaにはないが、トップページと同じ「詳しく見る」ボタンを置く */
.c-point-arc__button {
  flex-shrink: 0;
}

/* =============================================================
   SP
   ============================================================= */
@media (max-width: 767px) {
  /* SPはFigmaどおり本文左に罫線を入れる */
  .c-point-arc--service .c-point-arc__text {
    padding-left: 16px;
    border-left: 4px solid #178d39;
  }

  .c-point-arc--service .c-point-arc__image img {
    aspect-ratio: 1;
  }

  /* 「Point」ラベルがない分、SPでも番号はPCと同じ大きさのまま */
  .c-point-arc--service .c-point-arc__num {
    width: 66px;
  }

  .c-point-arc--service .c-point-arc__num strong {
    font-size: 64px;
    -webkit-text-stroke-width: 6px;
  }

  .c-point-arc--service .c-point-arc__item-heading h3 {
    font-size: 24px;
  }
}


/* ===== 20-huyouhin-kaisyu.css ===== */
/* =============================================================
   不用品回収ページ（LPから移植・page-huyouhin-kaisyu.php）
   LPのCSSは .p-huyouhin-kaisyu 配下に限定して取り込んでいる
   ============================================================= */

/* LPが前提にしていたリセット（ページ内のみ） */
.p-huyouhin-kaisyu :where(*, *::before, *::after) {
  box-sizing: border-box;
}

/* LPのリセット（Josh's Custom CSS Reset）の margin:0。
   これが無いとテーマ側の p / h1-h6 の初期marginが効いて、LPの余白が全て広がる */
.p-huyouhin-kaisyu :where(*) {
  margin: 0;
}

.p-huyouhin-kaisyu :where(input, button, textarea, select) {
  font: inherit;
}

.p-huyouhin-kaisyu :where(p) {
  text-wrap: pretty;
}

/* WordPressのグローバルスタイルが h1-h6 に color/line-height を当ててくるため、
   LPと同じ「親から継承」に戻す（LP側で個別指定がある見出しはそちらが優先される） */
.p-huyouhin-kaisyu :where(h1, h2, h3, h4, h5, h6) {
  color: inherit;
  line-height: inherit;
}

.p-huyouhin-kaisyu :where(img, picture, video, canvas, svg) {
  display: block;
  max-width: 100%;
}

.p-huyouhin-kaisyu :where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

html:has(.p-huyouhin-kaisyu) { font-size: 16px; }

.p-huyouhin-kaisyu {
  --main-color: #178d39;
  --white: #ffffff;
  --bg-color: #f5f5f5;
  --bg-green: #e8f3eb;
  --bg-light-green: #e8f3e1;
  --yellow: #fdff5b;
  --red: #e72334;
  --mail-orange: #fc5820;
  --line-green: #49b52a;
  --font-color: #123c1e;
  --font-family: "Noto Sans JP", sans-serif;
  --letter-spacing-wide: 0.05em;
}
.p-huyouhin-kaisyu {
  font-size: 16px;
}
.p-huyouhin-kaisyu {
  font-family: var(--font-family);
  color: var(--font-color);
  line-height: 1.6;
  font-weight: 500;
  font-size: 1rem; 
  box-sizing: border-box;
}
.p-huyouhin-kaisyu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.p-huyouhin-kaisyu a {
  transition: opacity 0.3s ease;
}
.p-huyouhin-kaisyu a:hover {
  opacity: 0.7;
}
.p-huyouhin-kaisyu .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-huyouhin-kaisyu .grid {
  display: grid;
}
.p-huyouhin-kaisyu .grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.p-huyouhin-kaisyu .grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.p-huyouhin-kaisyu .grid-5 {
  grid-template-columns: repeat(5, 1fr);
}
.p-huyouhin-kaisyu .wrap {
  overflow: hidden;
}
.p-huyouhin-kaisyu .inner {
  max-width: 1230px;
  margin: 0 auto;
  padding: 0 15px;
}
.p-huyouhin-kaisyu .marker {
  background: linear-gradient(transparent 70%, var(--yellow) 70%);
}
.p-huyouhin-kaisyu .marker-green {
  background: linear-gradient(transparent 70%, #e8f3eb 70%);
}
.p-huyouhin-kaisyu .font-eng {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
}
.p-huyouhin-kaisyu .dot-list li {
  display: table;
  margin-top: 8px;
}
.p-huyouhin-kaisyu .dot-list li:first-child {
  margin-top: 0;
}
.p-huyouhin-kaisyu .dot-list li > span {
  display: table-cell;
}
.p-huyouhin-kaisyu .dot-list li > .mk {
  width: 15px;
  font-size: 0.5rem; 
  color: var(--main-color);
}
.p-huyouhin-kaisyu .dot-list li > .text {
  font-weight: 500;
  font-size: 1rem; 
}
.p-huyouhin-kaisyu .kome-list li {
  display: table;
}
.p-huyouhin-kaisyu .kome-list li > span {
  font-size: 0.875rem; 
  display: table-cell;
}
.p-huyouhin-kaisyu .kome-list li > .kome {
  width: 18px;
}
.p-huyouhin-kaisyu .footer {
  background: var(--bg-green);
  padding: 100px 0;
}
.p-huyouhin-kaisyu .footer .flex .links {
  width: calc(708 * 100vw / 1440);
  display: flex;
  justify-content: flex-end;
  gap: 40px;
}
.p-huyouhin-kaisyu .footer .flex > .item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 16px;
}
.p-huyouhin-kaisyu .footer .flex > .item > .text {
  font-weight: 600;
  color: var(--main-color);
  letter-spacing: var(--letter-spacing-wide);
}
.p-huyouhin-kaisyu .footer .flex .links .item {
  width: calc(334 * 100vw / 1440);
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  justify-content: flex-start;
}
.p-huyouhin-kaisyu .footer .flex .links .item ul li {
  line-height: 2;
}
.p-huyouhin-kaisyu .footer .flex .links .item ul li a {
  padding-top: 10px;
  text-decoration: none;
  display: block;
  color: var(--font-color);
}
.p-huyouhin-kaisyu .footer .flex .links .item ul li:first-child a {
  padding-top: 0;
}
.p-huyouhin-kaisyu .u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.p-huyouhin-kaisyu .mv {
  position: relative;
}
.p-huyouhin-kaisyu .mv__heading {
  margin: 0;
  font: inherit;
}
.p-huyouhin-kaisyu .mv img {
  max-width: none;
  width: 100%;
}
.p-huyouhin-kaisyu .mv .contact-only {
  padding: 0px 30px 8px;
  position: absolute;
  bottom: -10px;
  left: 0;
  right: 0;
  max-width: max-content;
  margin: 0 auto;
  box-shadow: 0px 0px 24px 0px #00000040;
}
.p-huyouhin-kaisyu .mv .contact-only .c-announce-text {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
}
.p-huyouhin-kaisyu .mv .contact-only .c-announce-text img {
  max-width: 664px;
  margin: 0 auto;
}
.p-huyouhin-kaisyu .mv .contact-only .flex {
  gap: 8px;
}
.p-huyouhin-kaisyu .mv .contact-only .flex a.flex-1 {
  max-width: 399px;
}
.p-huyouhin-kaisyu .mv .contact-only .flex :not(a.flex-1) {
  max-width: 399px;
}
.p-huyouhin-kaisyu .sec1 {
  padding: 100px 0 0;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec1 .flex {
  gap: calc((68 / 1440) * 100%);
}
.p-huyouhin-kaisyu .sec1 .col-1 .c-img {
  text-align: center;
}
.p-huyouhin-kaisyu .sec1 .col-1 .c-img img {
  margin: 0 auto;
  max-width: 780px;
}
.p-huyouhin-kaisyu .sec1 .col-1 .c-img .c-ribbon {
  container-type: inline-size;
  box-sizing: border-box;
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  aspect-ratio: 1040 / 200;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #e9f3eb url("../images/huyouhin-kaisyu/payment_ribbon.svg") no-repeat center / 100% 100%;
}
.p-huyouhin-kaisyu .sec1 .col-1 .c-img .c-ribbon__inner {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 1.92cqw; 
}
.p-huyouhin-kaisyu .sec1 .col-1 .c-img .c-ribbon__lead {
  font-weight: 700;
  font-size: 3.85cqw; 
  line-height: 1;
  letter-spacing: 0.01em;
  color: #2b2b2b;
  white-space: nowrap;
}
.p-huyouhin-kaisyu .sec1 .col-1 .c-img .c-ribbon__num {
  font-weight: 700;
  font-size: 5cqw; 
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  color: #1c9a43;
  background: linear-gradient(
    transparent 44%,
    rgba(252, 231, 76, 0.95) 44%,
    rgba(252, 231, 76, 0.95) 93%,
    transparent 93%
  );
}
.p-huyouhin-kaisyu .sec1 .col-1 .flex {
  margin-top: 60px;
}
.p-huyouhin-kaisyu .sec1 .col-1 .flex .item {
  width: 100%;
  height: auto;
  padding: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  box-shadow: 0px 0px 16px 0px #178d3940;
  background: var(--white);
  border: 4px solid var(--main-color);
  border-radius: 50%;
  aspect-ratio: 1 / 1;
}
.p-huyouhin-kaisyu .sec1 .col-1 .flex .item .ttl {
  margin-top: 24px;
  padding: 10px 24px;
  line-height: 100%;
  font-weight: 700;
  font-size: 1.5rem; 
  color: var(--yellow);
  letter-spacing: var(--letter-spacing-wide);
  text-align: center;
  border-radius: 32px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec1 .col-1 .flex .item .text {
  margin-top: 8px;
  text-align: center;
  line-height: 1.4;
  font-weight: 500;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch {
  padding: 100px 0 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .left,
.p-huyouhin-kaisyu .sec1 .col-1 .catch .right {
  width: 6rem;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .left img,
.p-huyouhin-kaisyu .sec1 .col-1 .catch .right img {
  max-width: auto;
  width: 100%;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .right {
  transform: rotate(180deg);
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 8px;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .tag-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .tag-list__item {
  padding: 10px 24px;
  letter-spacing: 0.2rem;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--main-color);
  border-radius: 100px;
  background: var(--yellow);
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-2 {
  text-align: center;
  line-height: 100%;
  font-weight: 700;
  font-size: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  color: var(--main-color);
  letter-spacing: 0.15rem;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-2 .font-58 {
  font-size: 3.625rem;
  line-height: 100%;
  margin-bottom: -5px;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-2 .font-32 {
  font-size: 2rem;
  line-height: 100%;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-2 em {
  font-style: normal;
  padding-top: 15px;
  position: relative;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-2 em::before {
  position: absolute;
  top: -15px;
  left: 0;
  padding: 0 10px;
  width: 100%;
  content: "●●●●●";
  color: var(--yellow);
  display: block;
  text-align-last: justify;
  height: 10px;
  font-size: 0.625rem;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-3 {
  letter-spacing: var(--letter-spacing-wide);
  font-weight: 700;
  font-size: 2.5rem;
  color: var(--white);
  -webkit-text-stroke: 7px var(--main-color);
  text-stroke: 7px var(--main-color);
  paint-order: stroke;
  letter-spacing: 0.3rem;
}
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-3 em {
  font-size: 2rem;
}
.p-huyouhin-kaisyu .sec1 .col-2 {
  padding-bottom: 2px;
  background: url("../images/huyouhin-kaisyu/sec1_col2_bg.svg") no-repeat 0% 100%;
  background-size: contain;
}
.p-huyouhin-kaisyu .sec1 .col-2 .img {
  max-width: 890px;
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec1 .col-2 .box {
  position: relative;
  z-index: 10;
  width: max-content;
  margin: -80px auto 0;
  padding: 40px;
  font-size: 1.5rem; 
  font-weight: 700;
  border: 5px solid #e8f3eb;
  border-radius: 16px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec1 .col-2 .box .catch {
  line-height: 1.2;
  font-size: 2rem;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 8px;
  letter-spacing: 0.2rem;
}
.p-huyouhin-kaisyu .sec1 .col-2 .box .catch span {
  line-height: 1.2;
  font-size: 2.5rem;
  -webkit-text-stroke: 7px var(--main-color);
  text-stroke: 7px var(--main-color);
  paint-order: stroke;
  color: var(--yellow);
}
.p-huyouhin-kaisyu .sec1 .col-2 .box .sub-catch {
  text-align: center;
  line-height: 1.8;
  font-size: 1.5rem;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec1 .col-2 .box .text {
  text-align: center;
  margin-top: 28px;
  line-height: 1.7;
  font-weight: 500;
  font-size: 1rem;
  color: var(--font-color);
}
.p-huyouhin-kaisyu .sec1 .col-2 .box .line {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.p-huyouhin-kaisyu .sec1 .col-2 .box .line::before {
  content: "";
  width: 29px;
  height: 33px;
  background: url("../images/huyouhin-kaisyu/obj_fukidashi_left.svg") no-repeat center center;
  background-size: contain;
}
.p-huyouhin-kaisyu .sec1 .col-2 .box .line::after {
  content: "";
  width: 29px;
  height: 33px;
  background: url("../images/huyouhin-kaisyu/obj_fukidashi_right.svg") no-repeat center center;
  background-size: contain;
}
.p-huyouhin-kaisyu .sec1 .col-2 .img img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec1 .col-3 {
  margin-top: -1px;
  padding: 80px 0 100px;
  
  background-size: 100% auto;
}
.p-huyouhin-kaisyu .sec1 .col-3 .heading2 {
  margin-top: 22px;
}
.p-huyouhin-kaisyu .sec1 .col-3 .heading2 img {
  margin: 0 auto;
  width: 594px;
}
.p-huyouhin-kaisyu .sec1 .col-3 .box {
  margin: 0 auto;
  max-width: 794px;
}
.p-huyouhin-kaisyu .sec1 .col-3 .box-2 {
  margin-top: 40px;
  padding: 16px;
  background: var(--white);
  border-radius: 16px;
  border: 4px solid var(--main-color);
}
.p-huyouhin-kaisyu .sec1 .col-3 .box-2 .c-flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}
.p-huyouhin-kaisyu .sec1 .col-3 .box-2 .c-text-cover {
  padding: 8px 16px;
  line-height: 1.5;
  white-space: nowrap;
  font-size: 24px;
  font-weight: 600;
  color: var(--white);
  border-radius: 8px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec1 .col-3 .box-2 .c-circle {
  color: #e8f3eb;
}
.p-huyouhin-kaisyu .sec1 .col-3 .box-2 .c-text {
  letter-spacing: 0.04em;
  font-size: 24px;
  font-weight: 700;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .c-marker {
  background: linear-gradient(transparent 70%, #fdff5b 70%);
  padding: 0 0.1em;
}
.p-huyouhin-kaisyu .sec1 .col-3 .heading2 + .box {
  margin-top: 32px;
}
.p-huyouhin-kaisyu .sec1 .col-3 .box .images {
  padding: 17px 8px;
  border-radius: 0 0 16px 16px;
  border: 4px solid var(--main-color);
  background: var(--white);
}
.p-huyouhin-kaisyu .sec1 .col-3 .box .images img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec1 .col-3 .box h3 {
  text-align: center;
  padding: 16px 8px;
  line-height: 1;
  font-weight: 700;
  font-size: 1.5rem; 
  border-radius: 16px 16px 0 0;
  background: var(--main-color);
  color: var(--white);
}
.p-huyouhin-kaisyu .sec1 .col-3 .grid {
  margin: 40px auto 0;
  max-width: 794px;
  gap: 40px;
}
.p-huyouhin-kaisyu .sec1 .col-3 .grid .item:first-child .box .images img {
  height: 57px;
}
.p-huyouhin-kaisyu .sec1 .col-3 .grid .item .box {
  width: 100%;
}
.p-huyouhin-kaisyu .sec1 .col-3 .grid .item:last-child .box .images {
  padding: 14px 8px;
}
.p-huyouhin-kaisyu .sec2 {
  padding: 50px 0 100px;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec2 .title {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-huyouhin-kaisyu .sec2 .title h2 img {
  width: 562px;
}
.p-huyouhin-kaisyu .sec2 .title + .flex {
  margin-top: 64px;
}
.p-huyouhin-kaisyu .sec2 .flex {
  margin-top: 120px;
  gap: 40px;
  align-items: flex-start;
}
.p-huyouhin-kaisyu .sec2 .flex .texts {
  position: relative;
  min-width: 0;
  z-index: 10;
  width: calc(494 / 1440 * 100vw);
}
.p-huyouhin-kaisyu .sec2 .flex .texts::after {
  content: "";
  min-height: 424px;
  position: absolute;
  top: 15%;
  left: -80%;
  right: calc(50% - 50vw);
  background: var(--white);
  z-index: -1;
}
.p-huyouhin-kaisyu .sec2 .flex-p4 .texts .c-banner {
  margin-top: 30px;
}
.p-huyouhin-kaisyu .sec2 .flex-p4 .texts::after {
  top: 6%;
  min-height: 654px;
}
.p-huyouhin-kaisyu .sec2 .flex .texts .point {
  width: max-content;
  position: relative;
  padding: 0 32px 16px;
  margin-top: 0;
  line-height: 1;
  font-size: 3.5rem;
  font-weight: 700;
  border-radius: 9999px;
  background-color: var(--main-color);
  color: var(--white);
}
.p-huyouhin-kaisyu .sec2 .flex .texts .point::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 10px 8px 0 8px;
  border-color: var(--main-color) transparent transparent;
  translate: -50% 100%;
}
.p-huyouhin-kaisyu .sec2 .flex .texts .heading3 {
  margin-top: 32px;
  font-size: 2rem;
  font-weight: 700;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec2 .flex .texts .heading3 + .text {
  padding-top: 16px;
  margin-top: 32px;
  font-weight: 500;
  font-size: 1rem;
  border-top: 1px dashed rgba(225, 241, 230, 1);
}
.p-huyouhin-kaisyu .sec2 .flex .images {
  max-width: 700px;
  min-width: 0;
  line-height: 1;
  z-index: 100;
}
.p-huyouhin-kaisyu .sec2 .flex .images img {
  width: 100%;
  height: auto;
  border-radius: 32px;
}
.p-huyouhin-kaisyu .sec2 .flex:nth-child(even) .images {
  order: 1;
}
.p-huyouhin-kaisyu .sec2 .flex:nth-child(even) .texts {
  order: 2;
}
.p-huyouhin-kaisyu .sec2 .flex + .obj {
  margin-top: 80px;
}
.p-huyouhin-kaisyu .sec2 .obj + .catch img {
  margin: 60px auto 0;
}
.p-huyouhin-kaisyu .sec2 .catch + .grid {
  margin-top: calc(64px + 15px);
  gap: 24px;
}
.p-huyouhin-kaisyu .sec2 .catch + .grid .item {
  padding: 0 16px 24px;
  border-radius: 16px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec2 .catch + .grid .item .comment {
  width: 80%;
  text-align: center;
  position: relative;
  padding: 13px 0;
  margin: -15px auto 0;
  line-height: 1;
  font-weight: 500;
  font-size: 1rem; 
  border-radius: 9999px;
  background-color: var(--main-color);
  color: var(--yellow);
}
.p-huyouhin-kaisyu .sec2 .catch + .grid .item .comment::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 10px 8px 0 8px;
  border-color: var(--main-color) transparent transparent;
  translate: -50% 100%;
}
.p-huyouhin-kaisyu .sec2 .catch + .grid h3 {
  text-align: center;
  margin-top: 16px;
  font-weight: 700;
  font-size: 2rem;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec2 .catch + .grid img {
  margin: 24px auto 0;
}
.p-huyouhin-kaisyu .sec2 .catch + .grid .text {
  text-align: center;
  margin-top: 24px;
  font-weight: 500;
}
.p-huyouhin-kaisyu .sec3 {
  padding-top: 210px;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec3 .cover {
  position: relative;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec3 .cover > .obj {
  position: absolute;
  z-index: 0;
  top: -100px;
  width: 541px;
  height: 541px;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: block;
  content: "";
  border-radius: 50%;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec3 .cover > .obj + .obj-2 {
  z-index: 10;
  position: absolute;
  top: -160px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec3 .cover > .obj + .obj-2 img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec3 .title {
  text-align: center;
  position: relative;
  width: max-content;
  margin: 0 auto;
  z-index: 10;
}
.p-huyouhin-kaisyu .sec3 .title h2 {
  padding-bottom: 10px;
  font-size: 2.5rem; 
  color: var(--main-color);
  background: url("../images/huyouhin-kaisyu/sec3_title_border.svg") no-repeat center bottom;
}
.p-huyouhin-kaisyu .sec3 .title h2 + .text {
  margin-top: 16px;
  font-weight: 500;
  font-size: 1.25rem; 
}
.p-huyouhin-kaisyu .sec3 .inner {
  padding-top: 64px;
  padding-bottom: 100px;
  position: relative;
  z-index: 10;
}
.p-huyouhin-kaisyu .sec3 .grid {
  gap: calc(20 / 1230 * 100%);
}
.p-huyouhin-kaisyu .sec3 .item {
  padding: 6px;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.25);
  border-radius: 16px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec3 .item h3 {
  text-align: center;
  padding: 14px 0;
  font-size: 1.5rem; 
  font-weight: 600;
  color: var(--white);
}
.p-huyouhin-kaisyu .sec3 .item .box {
  padding: 24px 10px;
  height: 90%;
  border-radius: 10px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec3 .item .box .line {
  display: flex;
  gap: 15px;
  align-items: center;
  margin-top: 16px;
  font-size: 1.125rem;
}
.p-huyouhin-kaisyu .sec3 .item .box img + .line {
  margin-top: 24px;
}
.p-huyouhin-kaisyu .sec3 .item .box .line p:first-child {
  padding: 4px 8px;
  font-weight: 500;
  font-size: 1.125rem;
  color: var(--main-color);
  background: var(--bg-green);
  white-space: nowrap;
}
.p-huyouhin-kaisyu .sec3 .item .box .line + .line .set p {
  position: relative;
  padding: 0;
  letter-spacing: 0.34px;
  font-weight: 700;
  font-size: 1.437rem; 
  color: var(--font-color);
  background: none;
}
.p-huyouhin-kaisyu .sec3 .item .box .line .set p > .denial {
  position: absolute;
  top: 50%;
  left: 0;
  transform: rotate(10deg);
  width: 106px;
  height: 2px;
  display: block;
  background: #ff3f41;
}
.p-huyouhin-kaisyu .sec3 .item .box .line .set {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4px;
}
.p-huyouhin-kaisyu .sec3 .item .box .line .set .discount-price {
  width: 140px;
  position: relative;
  padding: 0 10px;
  line-height: 1.4;
  display: flex;
  justify-content: center;
  white-space: nowrap;
  align-items: center;
  gap: 2px;
  color: var(--yellow);
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec3 .item .box .line .set .discount-price > .obj {
  position: absolute;
  bottom: -14px;
  left: 0;
  width: 100%;
  height: 10px;
  background: none;
  border-left: 70px solid transparent;
  border-right: 70px solid transparent;
  border-top: 14px solid var(--main-color);
}
.p-huyouhin-kaisyu .sec3 .item .box .line .set .discount-price > p {
  padding: 0;
  background: none;
  font-size: 1.5rem;
  color: var(--yellow);
}
.p-huyouhin-kaisyu .sec3 .item .box .line .set .discount-price > span {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--yellow);
}
.p-huyouhin-kaisyu .sec3 .item .box .c-after_price {
  width: fit-content;
  margin: 16px 0 0 67px;
  text-align: left;
  line-height: 1;
  font-size: 3.7rem;
  font-weight: 600;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .c-anshin-card {
  box-sizing: border-box;
  width: 100%;
  margin-top: 16px;
  padding: 12px 16px;
  border: 2px solid #59b579;
  border-radius: 12px;
  background: #fefcf0;
}
.p-huyouhin-kaisyu .c-anshin-card__title {
  display: flex;
  align-items: center;
  gap: 7px;
}
.p-huyouhin-kaisyu .c-anshin-card__check {
  flex-shrink: 0;
  width: 21px;
  height: 21px;
}
.p-huyouhin-kaisyu .c-anshin-card__title span {
  font-weight: 700;
  font-size: 0.9375rem; 
  line-height: 1.3;
  letter-spacing: 0.01em;
  color: #1a9e47;
}
.p-huyouhin-kaisyu .c-anshin-card__line {
  display: block;
  height: 3px;
  margin: 8px 0;
  background: url("../images/huyouhin-kaisyu/anshin_card_line.svg") repeat-x left center;
  background-size: auto 3px;
}
.p-huyouhin-kaisyu .c-anshin-card__text {
  font-weight: 700;
  font-size: 0.75rem; 
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: #333;
}
.p-huyouhin-kaisyu .sec3 .item .box .c-after_price > span {
  font-size: 2.75rem;
}
.p-huyouhin-kaisyu .sec3 .item .box .c-after_price > .unit {
  font-size: 2.75rem;
}
.p-huyouhin-kaisyu .sec3 .item .box .cover {
  height: 25%;
}
.p-huyouhin-kaisyu .sec3 .item .box .cover p {
  position: relative;
  z-index: 10;
  max-width: max-content;
  margin: 30px 0 0 10px;
  padding: 2px 16px;
  font-weight: 500;
  color: var(--white);
  border-radius: 15px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec3 .item .box .cover .dot-list {
  height: auto;
  min-height: 162px;
  margin-top: -10px;
  padding: 26px 8px;
  border-radius: 16px;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec3 .item-full {
  margin-top: 64px;
}
.p-huyouhin-kaisyu .sec3 .item-full + .obj {
  margin-top: 40px;
}
.p-huyouhin-kaisyu .sec3 .item-full + .obj img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec3 .item-full .box .c-after_price {
  text-align: left;
}
.p-huyouhin-kaisyu .sec3 .item-full .box .cover .dot-list {
  min-height: auto;
}
.p-huyouhin-kaisyu .sec3 .item-full .box .c-anshin-card {
  max-width: 365px;
}
.p-huyouhin-kaisyu .sec3 .col-2 {
  padding: 24px;
  margin-top: 40px;
  border-radius: 16px;
  box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.25);
}
.p-huyouhin-kaisyu .sec3 .col-2 h3 {
  text-align: center;
  font-size: 1.5rem; 
}
.p-huyouhin-kaisyu .sec3 .col-2 h3 {
  font-size: 1.5rem; 
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec3 .col-2 .flex {
  margin-top: 40px;
  justify-content: center;
  gap: 48px;
  flex-wrap: wrap;
}
.p-huyouhin-kaisyu .sec3 .col-2 .flex .image {
  padding: 26px;
  width: 156px;
  height: 156px;
  display: flex;
  justify-self: center;
  align-items: center;
  flex-direction: column;
  border-radius: 50%;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec3 .col-2 .flex .image + p {
  padding: 0 16px;
  width: max-content;
  margin: -8px auto 0;
  font-weight: 600;
  color: var(--white);
  border-radius: 15px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec3 .col-2 .kome-list {
  width: max-content;
  margin: 40px auto 0;
}
.p-huyouhin-kaisyu .sec3 .col-3 {
  padding: 100px 0;
  background-color: var(--bg-green);
  background-image:
    url("../images/huyouhin-kaisyu/sec3_col3_bg.svg"), url("../images/huyouhin-kaisyu/sec3_col3_bg_bottom.svg");
  background-repeat: no-repeat;
  background-size:
    cover,
    100% auto;
  background-position:
    center top,
    center bottom;
}
.p-huyouhin-kaisyu .sec3 .col-3 .col3-obj {
  margin: 0 auto;
  max-width: 1230px;
}
.p-huyouhin-kaisyu .sec3 .col-3 .inner {
  padding: 6px 60px 86px;
  background: #fff;
  border-radius: 0 0 16px 16px;
}
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover {
  width: 100%;
  padding: 24px 24px 40px;
  border-radius: 16px;
  background: var(--bg-light-green);
}
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover .title {
  background: linear-gradient(transparent 80%, var(--yellow) 80%);
}
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover .title img {
  width: 470px;
}
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover .title + .text {
  text-align: center;
  margin-top: 24px;
  font-weight: 500;
}
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover .flex {
  margin-top: 24px;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover .flex .cnt {
  padding: 24px;
  font-size: 1.5rem; 
  font-weight: 700;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  border-radius: 8px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover .flex .parts {
  position: relative;
  z-index: 10;
  width: 40px;
  height: 40px;
  margin: 0 -8px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 1.5rem; 
  font-weight: 700;
  color: var(--white);
  border-radius: 20px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec3 .col-3 .obj img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec3 .col-3 .box {
  padding: 60px;
  margin: -40px auto 0;
  max-width: 968px;
  box-shadow: 2px 2px 8px 0px #00000040;
  border-radius: 16px;
}
.p-huyouhin-kaisyu .sec3 .col-3 .box .comment {
  width: fit-content;
  margin: 0 auto;
  padding: 16px 32px;
  position: relative;
  letter-spacing: 0.2rem;
  line-height: 1;
  font-size: 1.25rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  border-radius: 100px;
  color: var(--yellow);
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec3 .col-3 .box .comment::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  line-height: 1;
  border-style: solid;
  border-width: 10px 8px 0 8px;
  border-color: var(--main-color) transparent transparent;
  translate: -50% 100%;
}
.p-huyouhin-kaisyu .sec3 .col-3 .box .comment .font-big {
  font-size: 2rem;
  font-weight: 700;
}
.p-huyouhin-kaisyu .sec3 .col-3 .box .comment + img {
  display: block;
  margin: 32px auto;
}
.p-huyouhin-kaisyu .sec3 .col-3 .box-2._sp {
  display: none;
}
.p-huyouhin-kaisyu .sec3 .col-3 .box-2 {
  margin-top: 76px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.p-huyouhin-kaisyu .sec3 .col-3 .box-2 .text {
  text-align: center;
  letter-spacing: 0.1rem;
  font-weight: 600;
  font-size: 1.5rem;
  color: var(--font-color);
}
.p-huyouhin-kaisyu .sec3 .col-3 .box-2 .obj-shine._right {
  transform: rotate(-90deg);
}
.p-huyouhin-kaisyu .sec3 .col-3 .box-2 .text span:not(.marker) {
  padding-right: 5px;
  font-size: 2rem;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec3 .c-bnr {
  padding: 32px 0 0;
}
.p-huyouhin-kaisyu .sec3 .c-bnr .inner {
  max-width: 790px;
  padding: 10px 13px 20px;
  background: url("../images/huyouhin-kaisyu/pc_banner_bg.webp") no-repeat center center;
  background-size: cover;
}
.p-huyouhin-kaisyu .sec3 .c-bnr .inner .c-btn {
  line-height: 0.8;
  display: block;
  width: fit-content;
  margin: -50px auto 0;
  border-radius: 125px;
  box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.25);
}
.p-huyouhin-kaisyu .sec3 .c-bnr .inner .c-btn img {
  line-height: 0.8;
}
.p-huyouhin-kaisyu .sec3 .c-bnr .inner .c-cap {
  margin-top: 10px;
  text-align: center;
  font-weight: 500;
  font-size: 0.8125rem;
}
.p-huyouhin-kaisyu .sec4 {
  padding: 100px 0;
  background: url("../images/huyouhin-kaisyu/sec4_bg.svg") no-repeat center center;
  background-size: cover;
}
.p-huyouhin-kaisyu .sec4 .title {
  margin: 0 auto;
  max-width: max-content;
}
.p-huyouhin-kaisyu .sec4 .title > img {
  width: 21.5%;
}
.p-huyouhin-kaisyu .sec4 .title .text-curve {
  max-width: 260px;
  margin: 1rem auto 0;
}
.p-huyouhin-kaisyu .sec4 .title img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec4 .title h2 {
  padding: 6px 24px;
  text-align: center;
  margin-top: 24px;
  font-size: 2rem;
  border-top: 1px solid var(--font-color);
  border-bottom: 1px solid var(--font-color);
  background: var(--yellow);
}
.p-huyouhin-kaisyu .sec4 #sec4 {
  position: relative;
  overflow: visible;
  margin-top: 64px;
  padding: 0 0 128px;
}
.p-huyouhin-kaisyu .sec4 #sec4 .splide__track {
  padding-bottom: 6px;
}
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrows {
  height: 64px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow {
  width: 64px;
  height: 64px;
  opacity: 1;
}
.p-huyouhin-kaisyu .sec4 #sec4 .splide__pagination {
  bottom: 25px;
  left: 0;
  right: 0;
  width: max-content;
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec4 #sec4 .splide__pagination__page {
  opacity: 1;
  margin: 0 8px;
}
.p-huyouhin-kaisyu .sec4 #sec4 .splide__pagination__page.is-active {
  background: var(--main-color);
  transform: none;
}
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow--next {
  right: 35vw;
  background: url("../images/huyouhin-kaisyu/swiper_arrow_next.svg") no-repeat center center;
}
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow--prev {
  left: 35vw;
  background: url("../images/huyouhin-kaisyu/swiper_arrow_prev.svg") no-repeat center center;
}
.p-huyouhin-kaisyu .sec4 #sec4 .swiper-button-next::after,
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow--prev::after {
  content: "";
}
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow--next > svg,
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow--prev > svg {
  display: none;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item {
  width: auto;
  max-width: 652px;
  padding: 24px 16px;
  box-shadow: 3px 3px 8px 0px #00000040;
  border-radius: 16px;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .head {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .head > div {
  border-radius: 8px;
  position: relative;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .head .arrow {
  border-radius: 0;
  min-width: 12px;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .head .arrow img {
  width: 100%;
  height: auto;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .head > div > .before,
.p-huyouhin-kaisyu .sec4 #sec4 .item .head > div > .after {
  padding: 0 14px 14px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  color: var(--main-color);
  font-weight: 500;
  background: url("../images/huyouhin-kaisyu/sec4_head_ba_bg.svg") no-repeat center center;
  background-size: auto 100%;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .head .img {
  border-radius: 16px;
  border: 8px solid var(--white);
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .head .img img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  aspect-ratio: 28 / 27;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .body .price {
  padding-bottom: 16px;
  margin-top: 35px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  border-bottom: 3px dashed #ffffff;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .body .price > span {
  font-size: 1.5rem; 
  font-weight: 700;
  color: var(--main-color);
  -webkit-text-stroke: 4px var(--white);
  text-stroke: 4px var(--white);
  paint-order: stroke;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .body .price > .price-text {
  line-height: 1;
  font-size: 2.5rem; 
  -webkit-text-stroke: 4px var(--white);
  text-stroke: 4px var(--white);
  paint-order: stroke;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .body .line {
  margin-top: 24px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .body .line .ttl {
  text-align: center;
  padding: 3px 32px;
  width: 133px;
  line-height: 1.4;
  border-radius: 15px;
  background: var(--main-color);
  color: var(--white);
  font-weight: 500;
}
.p-huyouhin-kaisyu .sec4 #sec4 .item .body .line .ttl + p {
  font-weight: 500;
}
.p-huyouhin-kaisyu .articles {
  padding: 110px 0;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .articles .contact {
  margin-bottom: 0;
  border-radius: 16px;
  box-shadow: 2px 2px 4px 0px #0000004d;
}
.p-huyouhin-kaisyu .articles .contact .head {
  position: relative;
  padding: 70px;
  min-height: 231px;
  height: auto;
  border-radius: 16px 16px 0 0;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .articles .contact .head .texts {
  width: 72%;
}
.p-huyouhin-kaisyu .articles .contact .head .texts .ttl {
  letter-spacing: var(--letter-spacing-wide);
  font-weight: 700;
  font-size: 2rem;
  color: var(--yellow);
  text-wrap: wrap;
}
.p-huyouhin-kaisyu .articles .contact .head .texts .text {
  letter-spacing: var(--letter-spacing-wide);
  font-weight: 700;
  font-size: 1.5rem; 
  color: var(--white);
  text-wrap: wrap;
}
.p-huyouhin-kaisyu .articles .contact .head .images {
  position: absolute;
  right: 76px;
  top: -59px;
}
.p-huyouhin-kaisyu .articles .contact .body {
  padding: 50px 70px;
  border-radius: 0 0 16px 16px;
  background: var(--white);
}
.p-huyouhin-kaisyu .articles .contact .body .c-announce-text {
  margin-top: 10px;
  text-align: center;
  font-size: 18px;
  font-weight: 600;
}
.p-huyouhin-kaisyu .articles .contact .body .c-announce-text img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .articles .contact .body .text.is-Pc {
  text-align: center;
  line-height: 1.5;
  font-size: 20px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0;
  color: var(--font-color);
  margin-bottom: 24px;
}
.p-huyouhin-kaisyu .articles .contact .body .text.is-Pc::before {
  content: "";
  width: 20px;
  height: 23px;
  background: url(../images/huyouhin-kaisyu/obj_fukidashi_left.svg) no-repeat center center;
  background-size: contain;
  display: block;
}
.p-huyouhin-kaisyu .articles .contact .body .text.is-Pc::after {
  content: "";
  width: 20px;
  height: 23px;
  background: url(../images/huyouhin-kaisyu/obj_fukidashi_right.svg) no-repeat center center;
  background-size: contain;
  display: block;
}
.p-huyouhin-kaisyu .articles .contact .body .text.is-Sp {
  display: none;
}
.p-huyouhin-kaisyu .articles .contact .body .text img {
  width: 100%;
}
.p-huyouhin-kaisyu .articles .contact .body .flex {
  align-items: flex-end;
  gap: 0;
}
.p-huyouhin-kaisyu .articles .permit {
  position: relative;
  
  --permit-accent: var(--yellow);
  --permit-accent-bg: #fefcf0; 
  --permit-accent-line: #59b579; 
}
.p-huyouhin-kaisyu .articles .permit .cover {
  z-index: 10;
  position: relative;
  padding: 40px;
  border-radius: 16px;
  background: var(--white);
}
.p-huyouhin-kaisyu .articles .permit .cover .flex {
  gap: 48px;
}
.p-huyouhin-kaisyu .articles .permit .cover .flex .images {
  flex-shrink: 0;
}
.p-huyouhin-kaisyu .articles .permit .cover .texts .catch {
  position: relative;
  padding-left: 20px;
  font-size: 1.5rem; 
  font-weight: 700;
  line-height: 1.6;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .articles .permit .cover .texts .catch::before {
  content: "";
  position: absolute;
  top: 0.3em;
  left: 0;
  width: 6px;
  height: calc(100% - 0.6em);
  border-radius: 3px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .articles .permit .cover .texts .catch .permit-mark {
  background: linear-gradient(transparent 62%, var(--yellow) 62%);
}
.p-huyouhin-kaisyu .articles .permit .cover .texts .catch + .text {
  margin-top: 24px;
  line-height: 2;
}
.p-huyouhin-kaisyu .articles .permit .cover .texts .text {
  margin-top: 10px;
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-license {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 40px;
  margin-top: 36px;
  padding: 28px 32px;
  border-radius: 12px;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-license-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--permit-accent-line);
  font-size: 1rem; 
  font-weight: 700;
  line-height: 1.4;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-license-label::before {
  content: "";
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  background: url(../images/huyouhin-kaisyu/announce_check.svg) no-repeat center center / contain;
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-license-number {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin-top: 14px;
  font-size: 1.0625rem; 
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-license-number + .permit-license-number {
  margin-top: 8px;
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-license-pref {
  flex: 0 0 auto;
  min-width: 5.5em;
  padding: 4px 14px;
  border-radius: 100px;
  background: var(--permit-accent);
  font-size: 0.8125rem; 
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
  color: var(--font-color);
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-license-office {
  font-size: 0.8125rem; 
  font-weight: 500;
  letter-spacing: 0;
  color: rgba(18, 60, 30, 0.75);
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-quality {
  margin-top: 24px;
  padding: 24px 32px;
  border: 2px solid var(--permit-accent-line);
  border-radius: 12px;
  background: var(--permit-accent-bg);
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-quality .text {
  line-height: 2;
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-quality .permit-brand {
  font-weight: 700;
  color: var(--main-color);
  background: linear-gradient(transparent 65%, var(--yellow) 65%);
}
.p-huyouhin-kaisyu .articles .permit .cover .permit-quality .permit-reg {
  font-size: 0.7em;
  vertical-align: super;
  line-height: 0;
}
.p-huyouhin-kaisyu .articles .permit .obj {
  position: absolute;
  top: -50px;
  left: -50px;
}
.p-huyouhin-kaisyu .articles .permit .obj-2 {
  position: absolute;
  bottom: -50px;
  right: -50px;
  transform: rotate(180deg);
}
.p-huyouhin-kaisyu .entrust {
  padding: 100px 20px;
  background: url("../images/huyouhin-kaisyu/entrust_bg.webp") no-repeat center center;
  background-size: cover;
}
.p-huyouhin-kaisyu .entrust .flex_1._sp {
  display: none;
}
.p-huyouhin-kaisyu .entrust .flex_1._pc {
  justify-content: center;
  align-items: flex-end;
  gap: 32px;
}
.p-huyouhin-kaisyu .entrust .flex_1 .texts {
  padding-bottom: 25px;
}
.p-huyouhin-kaisyu .entrust .flex_1 .obj-shine {
  padding-bottom: 25px;
}
.p-huyouhin-kaisyu .entrust .flex_1 .texts .comment {
  padding: 16px 24px;
  position: relative;
  width: fit-content;
  margin: 0 auto;
  letter-spacing: 0.2rem;
  font-weight: 600;
  font-size: 1rem;
  color: var(--white);
  border-radius: 100px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .entrust .flex_1 .texts .comment::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  line-height: 1;
  border-style: solid;
  border-width: 10px 8px 0 8px;
  border-color: var(--main-color) transparent transparent;
  translate: -50% 100%;
}
.p-huyouhin-kaisyu .entrust .flex_1 .catch {
  margin-top: 4px;
  font-size: 2rem;
  font-weight: 600;
  color: #000;
}
.p-huyouhin-kaisyu .entrust .flex_1 .catch > span {
  padding: 0 5px;
  font-size: 2.5rem;
  font-weight: 600;
  -webkit-text-stroke: 7px var(--main-color);
  text-stroke: 7px var(--main-color);
  paint-order: stroke;
  color: var(--yellow);
}
.p-huyouhin-kaisyu .entrust .flex_2 {
  margin-top: 64px;
  justify-content: center;
  gap: 40px;
}
.p-huyouhin-kaisyu .entrust .flex_1 .obj-shine._right {
  transform: rotate(-90deg);
}
.p-huyouhin-kaisyu .sec5 {
  position: relative;
  padding: 100px 0 200px;
  background: url("../images/huyouhin-kaisyu/sec5_bg.svg") no-repeat top center;
  background-size: cover;
}
.p-huyouhin-kaisyu .sec5::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: "";
  width: 59px;
  height: 29px;
  background: url("../images/huyouhin-kaisyu/sec5_bg_top.svg") no-repeat center center;
  background-size: 100% auto;
}
.p-huyouhin-kaisyu .sec5::after {
  position: absolute;
  line-height: 0.8;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: "";
  width: 100%;
  height: 100px;
  background: url("../images/huyouhin-kaisyu/sec5_bg_bottom.svg") repeat-x center bottom;
  background-size: contain;
}
.p-huyouhin-kaisyu .sec5 .en {
  padding: 3px 24px;
  width: max-content;
  margin: 0 auto;
  letter-spacing: 0.34px;
  color: var(--white);
  font-weight: 700;
  border-radius: 15px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec5 h2 {
  margin-top: 16px;
}
.p-huyouhin-kaisyu .sec5 h2 img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec5 h2 + .text {
  text-align: center;
  margin-top: 16px;
}
.p-huyouhin-kaisyu .sec5 h2 + .text + .grid {
  margin: 64px 0 0;
  gap: 24px;
}
.p-huyouhin-kaisyu .sec6 {
  position: relative;
  padding: 100px 0 200px;
  background-color: var(--bg-green);
}
.p-huyouhin-kaisyu .sec6 .col-1 {
  padding-bottom: 100px;
}
.p-huyouhin-kaisyu .sec6 .col-1 .title,
.p-huyouhin-kaisyu .sec6 .col-2 .title {
  max-width: max-content;
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec6 .col-1 .title .parts img,
.p-huyouhin-kaisyu .sec6 .col-2 .title .parts img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec6 .col-1 .title .line,
.p-huyouhin-kaisyu .sec6 .col-2 .title .line {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.p-huyouhin-kaisyu .sec6 .col-1 .title .line h2,
.p-huyouhin-kaisyu .sec6 .col-2 .title .line h2 {
  font-size: 2rem;
}
.p-huyouhin-kaisyu .sec6 .col-1 .title + .flow,
.p-huyouhin-kaisyu .sec6 .col-2 .title + .flow {
  margin-top: 60px;
  width: 100%;
}
.p-huyouhin-kaisyu .sec6 .col-1 .flow {
  padding: 12px 24px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  border-radius: 16px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec6 .col-1 .flow .step {
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: var(--white);
  border-radius: 50%;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec6 .col-1 .flow .step > span:first-child {
  line-height: 1;
  font-weight: 700;
  font-size: 1rem; 
}
.p-huyouhin-kaisyu .sec6 .col-1 .flow .step > span:last-child {
  line-height: 1;
  font-size: 2.5rem; 
  font-weight: 700;
}
.p-huyouhin-kaisyu .sec6 .col-1 .flow .texts h4 {
  font-size: 1.25rem; 
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec6 .col-1 .flow .texts .text {
  margin-top: 16px;
}
.p-huyouhin-kaisyu .sec6 .col-1 .flow + .obj {
  padding: 16px 0;
}
.p-huyouhin-kaisyu .sec6 .col-2 {
  padding: 100px 0;
}
.p-huyouhin-kaisyu .sec6 .col-2 .flex {
  margin-top: 64px;
  align-items: stretch;
  justify-content: center;
  gap: 16px;
}
.p-huyouhin-kaisyu .sec6 .col-2 .flex .item {
  width: 30%;
  padding: 24px;
  border-radius: 16px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec6 .col-2 .flex .obj {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
}
.p-huyouhin-kaisyu .sec6 .col-2 .flex .step {
  width: 100px;
  height: 100px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: var(--white);
  border-radius: 50%;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec6 .col-2 .flex .step > span:first-child {
  line-height: 1;
  font-weight: 700;
  font-size: 1rem; 
}
.p-huyouhin-kaisyu .sec6 .col-2 .flex .step > span:last-child {
  line-height: 1;
  font-size: 2.5rem; 
  font-weight: 700;
}
.p-huyouhin-kaisyu .sec6 .col-2 .flex .step + img {
  margin: 24px auto 0;
}
.p-huyouhin-kaisyu .sec6 .col-2 .flex h3 {
  margin: 24px auto 0;
  font-size: 1.25rem; 
  font-weight: 700;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec6 .col-2 .flex h3 + .text {
  margin-top: 16px;
}
.p-huyouhin-kaisyu .sec6 .box-videos {
  padding: 100px 0;
}
.p-huyouhin-kaisyu .sec6 .box-videos .ttl {
  position: relative;
  padding: 28px 110px;
  max-width: max-content;
  margin: 0 auto;
  font-size: 1.5rem; 
  border-radius: 50px;
  background: var(--main-color);
  color: var(--white);
}
.p-huyouhin-kaisyu .sec6 .box-videos .ttl::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 10px 8px 0 8px;
  border-color: var(--main-color) transparent transparent;
  translate: -50% 100%;
}
.p-huyouhin-kaisyu .sec6 .box-videos .ttl + .flex {
  margin-top: 32px;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
}
.p-huyouhin-kaisyu .sec6 .box-videos .ttl + .flex .item {
  flex: 1 1 320px;
  max-width: 600px;
}
.p-huyouhin-kaisyu .sec6 .box-videos .ttl + .flex .item iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
  border: 8px solid var(--white);
  border-radius: 24px;
}
.p-huyouhin-kaisyu .sec6 .col-access {
  padding: 100px 0;
}
.p-huyouhin-kaisyu .sec6 .col-access .flex {
  align-items: flex-start;
  justify-content: flex-start;
  gap: 24px;
}
.p-huyouhin-kaisyu .sec6 .col-access .map {
  border: 8px solid var(--white);
}
.p-huyouhin-kaisyu .sec6 .col-access .texts {
  width: 48%;
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .title .obj {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .title .obj::before {
  content: "";
  height: 3px;
  width: 44%;
  display: block;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .title .obj::after {
  content: "";
  height: 3px;
  width: 44%;
  display: block;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .title h2 {
  text-align: center;
  font-size: 2.5rem; 
  font-weight: 700;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .line {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .line > p.ttl {
  text-align: center;
  width: 166px;
  color: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 15px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .title + .line {
  padding-bottom: 16px;
  margin-top: 56px;
  border-bottom: 1px dashed var(--white);
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .title + .line > .text {
  font-size: 1.5rem; 
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .line > .text a {
  text-decoration: none;
  color: var(--font-color);
  font-size: 1.5rem; 
}
.p-huyouhin-kaisyu .sec6 .col-access .texts .line + .line {
  margin-top: 16px;
}
.p-huyouhin-kaisyu .sec6 .col-3 {
  padding-top: 100px;
}
.p-huyouhin-kaisyu .sec6 .col-3 .title img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .sec6 .col-3 .card {
  padding: 16px;
  margin-top: 56px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  box-shadow: 2px 2px 8px 0px #00000033;
  border: 1px solid var(--main-color);
  border-radius: 16px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec6 .col-3 .card > img {
  width: 100%;
  flex: 1 1 0;
  height: auto;
  min-width: 280px;
  border-radius: 8px;
  aspect-ratio: 720 / 371;
  object-fit: cover;
}
.p-huyouhin-kaisyu .sec6 .col-3 .card .texts {
  width: 38%;
  flex: 0 0 38%;
}
.p-huyouhin-kaisyu .sec6 .col-3 .card .step {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-huyouhin-kaisyu .sec6 .col-3 .card .step span {
  width: max-content;
  text-align: center;
  padding: 4px 22px 10px;
  line-height: 1;
  font-size: 2rem;
  white-space: nowrap;
  color: var(--white);
  border-radius: 25px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec6 .col-3 .card .step::before {
  content: "";
  width: 32%;
  height: 2px;
  background: var(--main-color);
  display: block;
}
.p-huyouhin-kaisyu .sec6 .col-3 .card .step::after {
  content: "";
  width: 32%;
  height: 2px;
  background: var(--main-color);
  display: block;
}
.p-huyouhin-kaisyu .sec6 .col-3 .card h2 {
  text-align: center;
  margin-top: 16px;
  font-size: 2.375rem; 
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec7 {
  position: relative;
  padding: calc(100 * 100vw / 1440) 0 calc(100 * 100vw / 1440);
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec7 .cover {
  position: relative;
  z-index: 100;
  margin-bottom: 100px;
  padding-bottom: 100px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec7::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: calc(100 * 100vw / 1440);
  background: url("../images/huyouhin-kaisyu/sec7_bg_top.svg") no-repeat center center;
  background-size: contain;
}
.p-huyouhin-kaisyu .sec7::after {
  position: absolute;
  transform: rotate(180deg);
  content: "";
  bottom: 100px;
  left: 0;
  right: 0;
  width: 100%;
  height: calc(100 * 100vw / 1440);
  background: url("../images/huyouhin-kaisyu/sec7_bg_top.svg") no-repeat center center;
  background-size: 100% 100%;
}
.p-huyouhin-kaisyu .sec7 .title {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.p-huyouhin-kaisyu .sec7 .title h2 {
  padding: 10px 113px;
  font-size: 2rem;
  font-weight: 700;
  color: var(--white);
  border-radius: 35px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec7 .title h2 + .logo {
  max-width: 128px;
  margin-left: -80px;
}
.p-huyouhin-kaisyu .sec7 .flex {
  margin-top: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #e8f3eb;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 47px;
}
.p-huyouhin-kaisyu .sec7 .flex .texts h3 {
  max-width: max-content;
  padding: 8px 16px;
  color: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 8px;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec7 .flex .texts h3 + .text {
  margin-top: 24px;
}
.p-huyouhin-kaisyu .sec7 .flex .texts .line:first-child {
  margin-top: 16px;
}
.p-huyouhin-kaisyu .sec7 .flex .texts .line {
  margin-top: 24px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec7 .flex .texts .line > span {
  font-weight: 600;
}
.p-huyouhin-kaisyu .sec7 .flex img {
  flex: 0 1 330px;
  width: 330px;
}
.p-huyouhin-kaisyu .sec-faq {
  position: relative;
  padding: 100px 0;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec-faq .inner {
  padding: 40px 40px 100px;
  border-radius: 16px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec-faq .title {
  padding: 70px 0 50px;
  position: relative;
  z-index: 10;
}
.p-huyouhin-kaisyu .sec-faq .title .obj {
  position: absolute;
  left: 15vw;
  top: 0;
  max-width: max-content;
  font-weight: 700;
  font-size: 10.9375rem; 
  line-height: 0.9;
  color: var(--bg-green);
}
.p-huyouhin-kaisyu .sec-faq .title h2 {
  position: relative;
  z-index: 10;
  text-align: center;
  line-height: 1;
  font-weight: 700;
  font-size: 2rem;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt {
  position: relative;
  z-index: 100;
  margin-top: 64px;
  border-radius: 8px;
  box-shadow: 2px 2px 8px 0px #00000040;
}
.p-huyouhin-kaisyu .sec-faq .cover .title + .faq-cnt {
  margin-top: 10px;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .q-line {
  padding: 16px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 40px;
  border-radius: 8px;
  background: var(--bg-green);
  cursor: pointer;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .q-line .arrow {
  margin-left: auto;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .q-line .question {
  flex: 0 0 57px;
  width: 57px;
  height: 57px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 1.4375rem; 
  font-weight: 700;
  color: var(--white);
  background: var(--main-color);
  border-radius: 50%;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line {
  padding: 16px;
  border-radius: 0 0 8px 8px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 40px;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line-top > div {
  align-items: flex-start;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .texts .text {
  margin-top: 16px;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .texts .text:first-child {
  margin-top: 0;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line > div .c-banner {
  margin-block: 20px;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line > div .c-banner img {
  max-width: 540px;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line > div ~ a {
  display: block;
  width: 379px;
  margin: 20px auto 0;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .c-cta-microcopy {
  margin: 28px auto 0;
  text-align: center;
  line-height: 1.4;
  font-weight: 700;
  font-size: 1rem; 
  white-space: nowrap;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .c-cta-microcopy::before,
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .c-cta-microcopy::after {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1.4em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .c-cta-microcopy::before {
  margin-right: 0.4em;
  background-image: url(../images/huyouhin-kaisyu/announce_slash_left.svg);
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .c-cta-microcopy::after {
  margin-left: 0.4em;
  background-image: url(../images/huyouhin-kaisyu/announce_slash_right.svg);
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .c-cta-microcopy em {
  font-style: normal;
  color: var(--red);
  font-size: 1.125em; 
  padding: 0 0.1em;
  background: linear-gradient(transparent 60%, var(--yellow) 60%);
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .c-cta-microcopy + a {
  margin-top: 4px;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .answer {
  flex: 0 0 57px;
  width: 57px;
  height: 57px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 1.4375rem; 
  font-weight: 700;
  color: var(--main-color);
  background: var(--bg-green);
  border-radius: 50%;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .text {
  font-weight: 400;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .q-line .arrow img {
  transition: transform 0.25s ease;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt.is-open .q-line {
  border-radius: 8px 8px 0 0;
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt .q-line .arrow img {
  transform: rotate(180deg);
}
.p-huyouhin-kaisyu .sec-faq .faq-cnt.is-open .q-line .arrow img {
  transform: rotate(0);
}
.p-huyouhin-kaisyu .sec8 {
  position: relative;
  padding: 100px 0;
}
.p-huyouhin-kaisyu .sec8 .obj {
  position: absolute;
  right: calc(80 * 100vw / 1440);
  bottom: 0;
}
.p-huyouhin-kaisyu .sec8 .flex {
  gap: 96px;
  justify-content: flex-start;
  align-items: flex-start;
}
.p-huyouhin-kaisyu .sec8 .flex .texts {
  flex-grow: 1;
}
.p-huyouhin-kaisyu .sec8 .flex .texts .en {
  color: var(--main-color);
  font-weight: 700;
}
.p-huyouhin-kaisyu .sec8 .flex .texts h2 {
  font-size: 2rem;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec8 h2 + .line {
  margin-top: 64px;
}
.p-huyouhin-kaisyu .sec8 .line {
  margin-top: 16px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 24px;
  margin-top: 16px;
  padding-bottom: 6px;
  border-bottom: 1px solid #e8f3eb;
}
.p-huyouhin-kaisyu .sec8 .line:last-child {
  border: none;
}
.p-huyouhin-kaisyu .sec8 .line .ttl {
  width: 109px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}
.p-huyouhin-kaisyu .sec8 .line > .text {
  flex: 1 0 auto;
  line-height: 1.9;
}
.p-huyouhin-kaisyu .sec8 .line .ttl > span {
  color: var(--bg-green);
}
.p-huyouhin-kaisyu .sec8 .line .ttl > .text {
  color: var(--font-color);
}
.p-huyouhin-kaisyu .sec9 {
  padding: 150px 0 100px;
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .sec9 .title {
  position: relative;
  width: calc(576 * 100vw / 1440);
}
.p-huyouhin-kaisyu .sec9 .obj {
  position: absolute;
  top: -80px;
  left: calc(96 * 100vw / 1440);
}
.p-huyouhin-kaisyu .sec9 .title h2 {
  padding: 17px 0 17px calc(200 * 100vw / 1440);
  letter-spacing: var(--letter-spacing-wide);
  font-size: 2rem;
  color: var(--white);
  border-radius: 0 8px 8px 0;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec9 .wrap {
  padding: 100px 0;
  margin-top: -45px;
  background: var(--white) url("../images/huyouhin-kaisyu/sec9_bg.webp") no-repeat 90% 50%;
  background-size: 42% auto;
}
.p-huyouhin-kaisyu .sec9 .wrap .flex .texts {
  width: max-content;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px 64px;
}
.p-huyouhin-kaisyu .sec9 .wrap .flex .texts .area {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 16px;
}
.p-huyouhin-kaisyu .sec9 .wrap .caution {
  padding: 10px;
  text-align: center;
  margin-top: 49px;
  letter-spacing: var(--letter-spacing-wide);
  font-weight: 600;
  color: var(--main-color);
  width: calc(660 * 100vw / 1440);
  background: var(--bg-green);
}
.p-huyouhin-kaisyu .contact-only {
  margin-top: 64px;
  padding: 8px 55px 14px;
  border-radius: 999px;
  background: var(--white);
  justify-content: center;
  gap: 40px;
}
.p-huyouhin-kaisyu .contact-only .flex {
  justify-content: center;
  align-items: flex-end;
  gap: 0;
}
.p-huyouhin-kaisyu .contact-only .c-announce-text {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
}
.p-huyouhin-kaisyu .contact-only .c-announce-text img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 20px;
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
  line-height: 1;
  
  position: relative;
  top: -5px;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar img,
.p-huyouhin-kaisyu .contact-only .c-announce-text .c-payment-bar img,
.p-huyouhin-kaisyu .mv .contact-only .c-announce-text .c-payment-bar img,
.p-huyouhin-kaisyu .articles .contact .body .c-announce-text .c-payment-bar img {
  margin: 0;
  max-width: 100%;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__deco {
  flex-shrink: 0;
  width: 27px;
  height: auto;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__deco--left {
  order: 1;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__lead {
  order: 2;
  font-size: 17px;
  font-weight: 700;
  color: #2b2b2b;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__items {
  order: 3;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 18px;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__deco--right {
  order: 4;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__check {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__marker {
  font-size: 17px;
  font-weight: 700;
  color: #2b2b2b;
  letter-spacing: 0.02em;
  white-space: nowrap;
  background: linear-gradient(
    transparent 55%,
    rgba(252, 231, 76, 0.95) 55%
  );
}
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__divider {
  flex-shrink: 0;
  width: 2px;
  height: 34px;
  background: #d9d9d9;
}
.p-huyouhin-kaisyu .sec-form {
  padding: 100px 0;
}
.p-huyouhin-kaisyu .sec-form .inner {
  max-width: 1000px;
}
.p-huyouhin-kaisyu .sec-form .title {
  text-align: center;
}
.p-huyouhin-kaisyu .sec-form .title .en {
  padding: 3px 24px;
  width: max-content;
  margin: 0 auto;
  letter-spacing: 0.34px;
  color: var(--white);
  font-weight: 700;
  border-radius: 15px;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec-form .title h2 {
  margin-top: 12px;
  font-size: 2.5rem;
  color: var(--main-color);
}
.p-huyouhin-kaisyu .sec-form .title h2 + .text {
  margin-top: 16px;
  font-weight: 500;
  font-size: 1.25rem;
}
.p-huyouhin-kaisyu .sec-form .formTable {
  width: 100%;
  margin-top: 60px;
  border-collapse: collapse;
}
.p-huyouhin-kaisyu .sec-form .formTable tr:nth-child(even) {
  background: var(--bg-color);
}
.p-huyouhin-kaisyu .sec-form .formTable th,
.p-huyouhin-kaisyu .sec-form .formTable td {
  padding: 30px 20px;
  font-size: 1rem;
}
.p-huyouhin-kaisyu .sec-form .formTable th {
  padding-right: 20px;
  text-align: left;
  width: 30%;
}
.p-huyouhin-kaisyu .sec-form .formTable th > div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
}
.p-huyouhin-kaisyu .sec-form .formTable th .required {
  padding: 4px 8px;
  line-height: 1.5;
  font-size: 0.75rem;
  border-radius: 4px;
  color: var(--white);
  background: var(--red);
}
.p-huyouhin-kaisyu .sec-form .formTable td {
  width: 70%;
}
.p-huyouhin-kaisyu .sec-form .formTable td .radio_label:first-child {
  margin-top: 0;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-announce {
  margin-top: 8px;
  font-size: 0.825rem;
}
.p-huyouhin-kaisyu .sec-form .formTable td input[type="text"],
.p-huyouhin-kaisyu .sec-form .formTable td input[type="tel"],
.p-huyouhin-kaisyu .sec-form .formTable td input[type="email"],
.p-huyouhin-kaisyu .sec-form .formTable td textarea,
.p-huyouhin-kaisyu .sec-form .formTable td select {
  padding: 10px;
  width: 100%;
  border-radius: 6px;
  border: 1px solid #ccc;
}
.p-huyouhin-kaisyu .sec-form .formTable td input[type="text"].input-postalcode {
  width: 50%;
}
.p-huyouhin-kaisyu .sec-form .formTable td.col-2 {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 24px;
  width: 100%;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker {
  max-width: 360px;
  padding: 20px;
  border: 1px solid #e2e2e2;
  border-radius: 10px;
  background: var(--white);
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__title {
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--font-color);
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__nav {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #9a9a9a;
  font-size: 1.125rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__nav:hover:not(:disabled) {
  background: #f2f2f2;
  color: var(--font-color);
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__nav:disabled {
  opacity: 0.25;
  cursor: default;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__week,
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__week {
  margin-bottom: 6px;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__week span {
  padding: 4px 0;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #a0a0a0;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__day {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #3c3c3c;
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__day:hover:not(:disabled) {
  background: #f0f4f1;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__day:disabled {
  color: #dcdcdc;
  cursor: default;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__day.is-sun:not(:disabled) {
  color: #c1706c;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__day.is-sat:not(:disabled) {
  color: #7b93b3;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__day.is-today:not(.is-selected) {
  box-shadow: inset 0 0 0 1px #cfdcd3;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__day.is-selected {
  background: var(--main-color);
  color: var(--white);
  font-weight: 600;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__day.is-blank {
  background: transparent;
  cursor: default;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__result {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #eee;
  font-size: 0.75rem;
  color: #999;
}
.p-huyouhin-kaisyu .sec-form .formTable td .c-datepicker__result b {
  color: var(--font-color);
  font-size: 0.9375rem;
  font-weight: 600;
}
.p-huyouhin-kaisyu .sec-form .formTable td.col-2 .col-2__item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 50%;
}
.p-huyouhin-kaisyu .sec-form .formTable td.col-2 .col-2__item .ttl {
  width: 50px;
  font-size: 0.825rem;
}
.p-huyouhin-kaisyu .sec-form .formTable td .col-1 .ttl {
  font-size: 0.825rem;
}
.p-huyouhin-kaisyu .sec-form .formTable td .v-row {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 8px;
}
.p-huyouhin-kaisyu .sec-form .formTable td .radio_label {
  margin-top: 8px;
}
.p-huyouhin-kaisyu .sec-form .formTable td .radio_label input[type="radio"] {
  position: relative;
  margin-right: 10px;
  display: inline-block;
}
.p-huyouhin-kaisyu .sec-form .formTable td .col-1 .ttl + select {
  margin-top: 10px;
}
.p-huyouhin-kaisyu .sec-form .formTable td .col-1 .ttl + input {
  margin-top: 10px;
}
.p-huyouhin-kaisyu .sec-form .formTable td .col-1 {
  margin-top: 24px;
}
.p-huyouhin-kaisyu .sec-form .formTable td .col-1__prefecture {
  margin-top: 0;
  width: 50%;
}
.p-huyouhin-kaisyu .sec-form .c-buttons {
  margin-top: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-huyouhin-kaisyu .sec-form .c-buttons input[type="submit"] {
  transition:
    background 0.3s ease,
    border 0.3s ease,
    color 0.3s ease;
  padding: 15px 20px;
  min-width: 300px;
  font-size: 1rem;
  color: var(--white);
  cursor: pointer;
  border-radius: 30px;
  border: none;
  border: 2px solid var(--main-color);
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec-form .radio_label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.p-huyouhin-kaisyu .sec-form .radio_label input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 50%;
  display: grid;
  place-content: center;
  margin: 0;
  cursor: pointer;
}
.p-huyouhin-kaisyu .sec-form .radio_label input[type="radio"]::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #fff;
  transform: scale(0);
  transition: transform 0.12s ease-in-out;
}
.p-huyouhin-kaisyu .sec-form .radio_label input[type="radio"]:checked {
  background: var(--white);
  border-color: var(--main-color);
}
.p-huyouhin-kaisyu .sec-form .radio_label input[type="radio"]:checked::before {
  position: absolute;
  top: 3px;
  left: 3px;
  transform: scale(1.2);
  display: block;
  background: var(--main-color);
}
.p-huyouhin-kaisyu .sec-form .radio_label input[type="radio"]:focus-visible {
  outline: 2px solid var(--main-color);
  outline-offset: 2px;
}
.p-huyouhin-kaisyu .main-thanks {
  padding: 100px 0 160px;
}
.p-huyouhin-kaisyu .main-thanks hgroup.title {
  text-align: center;
}
.p-huyouhin-kaisyu .main-thanks hgroup.title .title_img {
  margin: 0 auto;
}
.p-huyouhin-kaisyu .main-thanks hgroup.title .title_h2 {
  margin-top: 16px;
  font-size: 2rem;
}
.p-huyouhin-kaisyu .main-thanks hgroup.title .title_h2 {
  margin-top: 16px;
  font-size: 2rem;
}
.p-huyouhin-kaisyu .main-thanks .texts {
  text-align: center;
  margin-top: 60px;
}
.p-huyouhin-kaisyu .main-thanks .texts .text {
  line-height: 1.8;
  font-size: 1.1rem;
}
.p-huyouhin-kaisyu .main-thanks .c-buttons {
  margin-top: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-huyouhin-kaisyu .main-thanks .c-buttons .button {
  text-align: center;
  text-decoration: none;
  transition:
    background 0.3s ease,
    border 0.3s ease,
    color 0.3s ease;
  padding: 15px 20px;
  min-width: 300px;
  font-size: 1rem;
  color: var(--white);
  cursor: pointer;
  border-radius: 30px;
  border: none;
  border: 2px solid var(--main-color);
  background: var(--main-color);
}
@media (min-width: 768px) {
.p-huyouhin-kaisyu .sec-form .c-buttons input[type="submit"]:hover {
    color: var(--font-color);
    background: var(--white);
    border: 2px solid var(--main-color);
  }
.p-huyouhin-kaisyu .main-thanks .c-buttons .button:hover {
    color: var(--font-color);
    background: var(--white);
    border: 2px solid var(--main-color);
  }
.p-huyouhin-kaisyu .fixed-nav__pc {
    position: relative;
    z-index: 9999;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .closed-button {
    position: absolute;
    left: -10px;
    top: -10px;
    width: 30px;
    cursor: pointer;
  }
.p-huyouhin-kaisyu .fixed-nav__pc {
    position: fixed;
    right: 0;
    bottom: 41px;
    background-color: var(--white);
    border-radius: 10px 0 0 10px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    padding: 21px 14px 14px;
    display: grid;
    gap: 14px;
    width: max-content;
  }
.p-huyouhin-kaisyu .fixed-nav__pc a {
    text-decoration: none;
    color: var(--font-color);
  }
.p-huyouhin-kaisyu .fixed-nav__pc .color-red {
    color: var(--red);
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel {
    background: #e72334;
    color: #fff;
    padding: 10px 12px;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel .color-red {
    color: var(--font-color);
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel .marker {
    background: none;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel:hover .hover-hidden {
    opacity: 1;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel .cap {
    text-align: center;
    line-height: 1.4;
    font-size: 14px;
    font-weight: 600;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel .cap:has(.color-red) {
    order: -1;
    background: var(--yellow);
    color: var(--font-color);
    padding: 2px 6px;
    border-radius: 3px;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel .cap:has(.marker) {
    order: 1;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel .num {
    text-align: center;
    line-height: 1;
    color: #fff;
    font-size: 34px;
    font-weight: 600;
    -webkit-text-stroke: 5px #000;
    text-stroke: 5px #000;
    paint-order: stroke fill;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel .time {
    text-align: center;
    line-height: 1.4;
    font-size: 10px;
    font-weight: 500;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .tel .cap em {
    font-style: normal;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .line {
    padding: 8px;
    font-weight: 500;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: var(--line-green);
    border-radius: 5px;
    background: #fff;
    border: 2px solid var(--line-green);
    transition:
      background 0.3s,
      color 0.3s;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .line:hover {
    color: #fff;
    background: var(--line-green);
    opacity: 1;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .line .text {
    font-size: 10px;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .line .text > span {
    font-size: 12px;
    font-weight: 600;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .line .big {
    font-size: 17px;
    font-weight: 600;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .mail {
    padding: 8px;
    font-weight: 500;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: var(--mail-orange);
    border-radius: 5px;
    background: #fff;
    border: 2px solid var(--mail-orange);
    transition:
      background 0.3s,
      color 0.3s;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .mail:hover {
    color: #fff;
    background: var(--mail-orange);
    opacity: 1;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .mail .text {
    font-size: 10px;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .mail .text > span {
    font-size: 12px;
    font-weight: 600;
  }
.p-huyouhin-kaisyu .fixed-nav__pc .mail .big {
    font-size: 17px;
    font-weight: 600;
  }
.p-huyouhin-kaisyu .fixed-nav__sp {
    display: none;
  }
.p-huyouhin-kaisyu .is-Sp {
    display: none;
  }
.p-huyouhin-kaisyu .is-Pc {
    display: inline;
  }
}
@media (max-width: 767px) {
.p-huyouhin-kaisyu {
    --main-color: #178d39;
    --white: #ffffff;
    --bg-color: #f5f5f5;
    --bg-green: #e8f3eb;
    --bg-light-green: #e8f3e1;
    --yellow: #fdff5b;
    --red: #e72334;
    --mail-orange: #fc5820;
    --line-green: #49b52a;
    --font-color: #123c1e;
    --font-family: "Noto Sans JP", sans-serif;
    --letter-spacing-wide: 0.05em;
  }
.p-huyouhin-kaisyu {
    /* 元のLPが html,body に当てていた height: -webkit-fill-available は削除。
       ページ途中の要素に効くとiOS Safariで高さが画面ぶんに固定され、
       それ以降のコンテンツが表示されなくなるため */
    -webkit-text-size-adjust: 100%;
    font-size: 14px;
  }
.p-huyouhin-kaisyu {
    position: relative;
    font-size: 1rem;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    text-size-adjust: 100%;
    
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    min-height: 100vh;
    
    min-height: -webkit-fill-available;
  }
.p-huyouhin-kaisyu .wrap {
    position: relative;
    word-break: normal;
    scroll-behavior: smooth;
  }
.p-huyouhin-kaisyu .inner {
    padding: 0 1.143rem;
  }
.p-huyouhin-kaisyu img {
    max-width: 100%;
    height: auto;
  }
.p-huyouhin-kaisyu em {
    font-style: normal;
  }
.p-huyouhin-kaisyu .flex {
    flex-direction: column;
    align-items: stretch;
  }
.p-huyouhin-kaisyu .grid-2,
.p-huyouhin-kaisyu .grid-3,
.p-huyouhin-kaisyu .grid-5 {
    grid-template-columns: 1fr;
  }
.p-huyouhin-kaisyu a {
    transition: none;
  }
.p-huyouhin-kaisyu .footer .flex {
    gap: 2.4rem;
  }
.p-huyouhin-kaisyu .footer .flex .item .logo {
    width: 80%;
    display: block;
  }
.p-huyouhin-kaisyu .mv {
    background: var(--bg-green);
  }
.p-huyouhin-kaisyu .mv .contact-only {
    bottom: -40px;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.9);
    width: calc(100% - 30px);
  }
.p-huyouhin-kaisyu .mv .contact-only .c-announce-text {
    text-align: center;
    font-size: 14px;
  }
.p-huyouhin-kaisyu .mv .contact-only .flex {
    gap: 0;
  }
.p-huyouhin-kaisyu .mv .contact-only .flex a {
    line-height: 0.8;
  }
.p-huyouhin-kaisyu .sec1 {
    padding: 7rem 0 3.571rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .c-img {
    text-align: center;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .c-img img {
    max-width: 95%;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .c-img .c-ribbon {
    max-width: 330px;
    aspect-ratio: 375 / 172;
    background-image: url("../images/huyouhin-kaisyu/payment_ribbon_sp.svg");
  }
.p-huyouhin-kaisyu .sec1 .col-1 .c-img .c-ribbon__inner {
    flex-direction: column;
    align-items: center;
    gap: 2.4cqw;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .c-img .c-ribbon__lead {
    font-size: 4.8cqw; 
  }
.p-huyouhin-kaisyu .sec1 .col-1 .c-img .c-ribbon__num {
    font-size: 8.8cqw; 
    background: linear-gradient(
      transparent 52%,
      rgba(252, 231, 76, 0.95) 52%,
      rgba(252, 231, 76, 0.95) 98%,
      transparent 98%
    );
  }
.p-huyouhin-kaisyu .sec1 .col-1 .flex {
    margin-top: 30px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.571rem;
    justify-content: center;
    align-items: center;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .left img,
.p-huyouhin-kaisyu .sec1 .col-1 .catch .right img {
    max-width: 2.14rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .flex .item {
    width: 48%;
    max-width: none;
    height: auto;
    aspect-ratio: 1 / 1;
    padding: 10px 5px;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .flex .item img {
    width: 58%;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .flex .item .ttl {
    margin-top: 0.571rem;
    max-width: none;
    padding: 5px 9px;
    height: auto;
    font-size: 0.9rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .flex .item .text {
    font-size: 0.785rem;
    white-space: nowrap;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .flex .item:nth-child(3) {
    width: calc((100% - 1.143rem) / 2);
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch {
    padding-top: 60px;
    gap: 8px;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .left,
.p-huyouhin-kaisyu .sec1 .col-1 .catch .right {
    width: 3rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text:first-child {
    font-size: 1.714rem;
    white-space: nowrap;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text:first-child > span {
    font-size: 1.2rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .tag-list {
    flex-wrap: wrap;
    gap: 8px 4px;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .tag-list__item {
    padding: 10px;
    font-size: 1rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-3 {
    margin-top: 8px;
    text-align: center;
    font-size: 1.825rem;
    -webkit-text-stroke: 6px var(--main-color);
    text-stroke: 6px var(--main-color);
    paint-order: stroke;
    letter-spacing: 0.2rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-2 {
    flex-wrap: wrap;
    font-size: 2rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-2 .font-58 {
    font-size: 2.4rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-2 .font-32 {
    font-size: 1.5rem;
  }
.p-huyouhin-kaisyu .sec1 .col-1 .catch .texts .text-2 em {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
  }
.p-huyouhin-kaisyu .sec1 .col-2 .text {
    text-align: center;
    width: auto;
    max-width: 100%;
    line-height: 1.8;
    font-size: 1.286rem;
  }
.p-huyouhin-kaisyu .sec1 .col-2 .box {
    width: 100%;
    margin-top: -40px;
    padding: 15px;
  }
.p-huyouhin-kaisyu .sec1 .col-2 .box .line {
    align-items: flex-end;
  }
.p-huyouhin-kaisyu .sec1 .col-2 .box .catch {
    text-align: center;
    line-height: 1.6;
    font-size: 1.5rem;
    display: inline-block;
    letter-spacing: 0;
  }
.p-huyouhin-kaisyu .sec1 .col-2 .box .catch span {
    font-size: 1.8rem;
    padding-right: 5px;
  }
.p-huyouhin-kaisyu .sec1 .col-2 .box .sub-catch {
    margin-top: 8px;
    font-size: 1.4rem;
  }
.p-huyouhin-kaisyu .sec1 .col-2 .box .text {
    margin-top: 14px;
  }
.p-huyouhin-kaisyu .sec1 .col-3 {
    padding: 4.286rem 0 0;
  }
.p-huyouhin-kaisyu .sec1 .col-3 .box {
    width: 100%;
  }
.p-huyouhin-kaisyu .sec1 .col-3 .grid {
    margin-top: 16px;
    gap: 1.143rem;
  }
.p-huyouhin-kaisyu .sec1 .col-3 .box-2 {
    margin-top: 16px;
  }
.p-huyouhin-kaisyu .sec1 .col-3 .box-2 .c-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 1px;
  }
.p-huyouhin-kaisyu .sec1 .col-3 .box-2 .c-text-cover {
    letter-spacing: 0;
    padding: 8px;
    font-size: 1.2rem;
  }
.p-huyouhin-kaisyu .sec1 .col-3 .box-2 .c-text {
    text-align: center;
    width: 100%;
    font-size: 1.5rem;
  }
.p-huyouhin-kaisyu .sec1 .col-3 .grid .item .images {
    padding: 10px;
  }
.p-huyouhin-kaisyu .sec1 .col-3 .grid .item:first-child .box .images img {
    height: 70px;
  }
.p-huyouhin-kaisyu .sec2 {
    padding: 4.286rem 0 7rem;
  }
.p-huyouhin-kaisyu .sec2 .title {
    flex-direction: column;
    align-items: center;
    gap: 0;
    position: relative;
  }
.p-huyouhin-kaisyu .sec2 .title h2 + img {
    width: 24%;
    margin-left: auto;
    position: absolute;
    top: 0;
    right: 0;
  }
.p-huyouhin-kaisyu .sec2 .title + .flex {
    margin-top: 3rem;
  }
.p-huyouhin-kaisyu .sec2 .flex {
    margin-top: 5rem;
    gap: 1rem;
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
  }
.p-huyouhin-kaisyu .sec2 .flex > .texts {
    flex: none;
    min-width: 0;
    width: 100%;
    padding: 20px 15px;
    background: #fff;
    box-sizing: border-box;
  }
.p-huyouhin-kaisyu .sec2 .flex-p4 .texts .c-banner {
    margin-top: 20px;
  }
.p-huyouhin-kaisyu .sec2 .flex + .obj {
    margin-top: 3rem;
  }
.p-huyouhin-kaisyu .sec2 .flex .images {
    width: 100%;
    max-width: 100%;
    flex: none;
  }
.p-huyouhin-kaisyu .sec2 .flex .texts::after {
    display: none;
    
  }
.p-huyouhin-kaisyu .sec2 .flex .texts .point {
    padding: 0.143rem 1.714rem 0.571rem 1.714rem;
    font-size: 2.143rem;
  }
.p-huyouhin-kaisyu .sec2 .flex:nth-child(even) .images,
.p-huyouhin-kaisyu .sec2 .flex:nth-child(even) .texts {
    order: initial;
  }
.p-huyouhin-kaisyu .sec2 .flex .texts .heading3 {
    margin-top: 16px;
    font-size: 1.714rem;
  }
.p-huyouhin-kaisyu .sec2 .flex .texts .heading3 + .text {
    margin-top: 16px;
    display: block;
    text-wrap: wrap !important;
  }
.p-huyouhin-kaisyu .sec2 .catch + .grid {
    gap: 4rem;
  }
.p-huyouhin-kaisyu .sec2 .catch + .grid h3 {
    font-size: 1.714rem;
  }
.p-huyouhin-kaisyu .sec3 {
    padding-top: 110px;
  }
.p-huyouhin-kaisyu .sec3 .inner {
    padding: 4.286rem 1.071rem;
  }
.p-huyouhin-kaisyu .sec3 .col-1.grid {
    gap: 2rem;
  }
.p-huyouhin-kaisyu .sec3 .col-1 .item .box img {
    max-width: none;
    width: 100%;
  }
.p-huyouhin-kaisyu .sec3 .item-full {
    margin-top: 2rem;
  }
.p-huyouhin-kaisyu .sec3 .col-2 .flex {
    margin-top: 4rem;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.143rem;
  }
.p-huyouhin-kaisyu .sec3 .col-2 .flex .cnt {
    display: grid;
    align-items: center;
    gap: 0;
  }
.p-huyouhin-kaisyu .sec3 .col-2 .flex .image {
    width: 9rem;
    height: 9rem;
  }
.p-huyouhin-kaisyu .sec3 .col-2 .flex .image + p {
    width: max-content;
    margin: -0.714rem auto 0;
  }
.p-huyouhin-kaisyu .sec3 .cover > .obj {
    top: -3.571rem;
    width: 17.857rem;
    height: 17.857rem;
  }
.p-huyouhin-kaisyu .sec3 .cover > .obj + .obj-2 {
    top: -8rem;
    width: 25%;
  }
.p-huyouhin-kaisyu .sec3 .title {
    width: 100%;
  }
.p-huyouhin-kaisyu .sec3 .title h2 {
    font-size: 1.714rem;
    
  }
.p-huyouhin-kaisyu .sec3 .title h2 + .text {
    font-size: 1.286rem;
    
  }
.p-huyouhin-kaisyu .sec3 .col-3 {
    padding: 3.571rem 0 7rem;
    background-size:
      cover,
      200% auto;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .inner {
    padding: 3.571rem 1.071rem;
    background: var(--white);
    border-radius: 0;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .col3-obj {
    display: none;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover {
    padding: 20px 12px 40px;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box .flex {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.571rem;
    justify-content: center;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover .flex {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0;
    justify-content: center;
    width: 100%;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover .flex-1 .cnt {
    padding: 16px 9px;
    font-size: 1rem;
    text-wrap: wrap !important;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .inner .cover .flex-1 .parts {
    font-size: 1rem;
    width: 26px;
    height: 26px;
    margin: 0 -4px;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box .flex-2 .is-Sp.br {
    display: block;
    flex-basis: 100%;
    height: 10px;
    margin: 0;
    padding: 0;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box .flex-2 .cnt .ttl {
    font-size: 1.1rem;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box {
    padding: 3.4rem 1.143rem 1.714rem;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box .comment {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box .comment .font-big {
    font-size: 1.5rem;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .obj img {
    width: 40%;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box .flex .parts {
    width: 1.786rem;
    height: 1.786rem;
  }
.p-huyouhin-kaisyu .sec3 .item .box {
    height: auto;
  }
.p-huyouhin-kaisyu .sec3 .item .box img + .line {
    font-size: 1.286rem;
  }
.p-huyouhin-kaisyu .sec3 .item .box .cover .dot-list {
    height: auto;
    min-height: auto;
  }
.p-huyouhin-kaisyu .sec3 .item .box .line p:first-child {
    font-size: 1.286rem;
  }
.p-huyouhin-kaisyu .sec3 .item .box .line .set {
    gap: 10px;
  }
.p-huyouhin-kaisyu .sec3 .item .box .line .set .discount-price {
    width: 130px;
  }
.p-huyouhin-kaisyu .sec3 .item .box .line .set .discount-price > .obj {
    border-left: 65px solid transparent;
    border-right: 65px solid transparent;
  }
.p-huyouhin-kaisyu .sec3 .col-2 .kome-list {
    width: 100%;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box-2._pc {
    display: none;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box-2._sp {
    margin-top: 56px;
    display: block;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box-2._sp .objs {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box-2._sp .objs._right {
    margin-top: -30px;
    align-items: flex-end;
    justify-content: flex-end;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box-2 .text {
    margin-top: -40px;
    letter-spacing: normal;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box-2 .text span:not(.marker) {
    font-size: 1.825rem;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box-2._sp .objs .obj-human {
    width: 70px;
  }
.p-huyouhin-kaisyu .sec3 .col-3 .box-2._sp .objs .obj-shine {
    width: 35px;
  }
.p-huyouhin-kaisyu .sec3 .item .box .c-anshin-card {
    max-width: none;
    padding: 12px 14px;
  }
.p-huyouhin-kaisyu .sec3 .item .box .c-anshin-card__title {
    gap: 7px;
  }
.p-huyouhin-kaisyu .sec3 .item .box img.c-anshin-card__check {
    width: 20px;
    height: 20px;
  }
.p-huyouhin-kaisyu .sec3 .item .box .c-anshin-card__title span {
    font-size: 1rem; 
  }
.p-huyouhin-kaisyu .sec3 .item .box .c-anshin-card__line {
    margin: 8px 0;
  }
.p-huyouhin-kaisyu .sec3 .item .box .c-anshin-card__text {
    font-size: 0.8125rem; 
  }
.p-huyouhin-kaisyu .sec3 .c-bnr {
    padding: 64px 0 0;
  }
.p-huyouhin-kaisyu .sec3 .c-bnr .inner {
    padding: 0 1.143rem 15px;
    background: url("../images/huyouhin-kaisyu/sp_banner_bg.webp") no-repeat center center;
    background-size: cover;
  }
.p-huyouhin-kaisyu .sec3 .c-bnr .inner .c-btn {
    display: block;
    line-height: 0.8;
    width: fit-content;
    margin: 0 auto;
    border-radius: 125px;
    box-shadow: 3px 3px 12px rgba(0, 0, 0, 0.25);
  }
.p-huyouhin-kaisyu .sec3 .c-bnr .inner .c-cap {
    margin-top: 10px;
    text-align: left;
    font-size: 0.8125rem;
  }
.p-huyouhin-kaisyu .sec3 .item-full .box .c-after_price {
    text-align: center;
  }
.p-huyouhin-kaisyu .sec4 {
    padding: 4.286rem 0;
  }
.p-huyouhin-kaisyu .sec4 .title {
    max-width: 80%;
  }
.p-huyouhin-kaisyu .sec4 .title .text-curve {
    margin: 1rem auto 0;
    max-width: 82%;
  }
.p-huyouhin-kaisyu .sec4 #sec4 {
    padding-bottom: 88px;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .item {
    padding: 16px 8px;
    width: 100%;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .item .head {
    flex-direction: row;
    gap: 4px;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .item .head .img {
    border: 4px solid var(--white);
    border-radius: 4px;
    width: 100%;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .item .head .img img {
    border-radius: 2px;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .item .head .arrow {
    width: 6px;
    min-width: 6px;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .item .swiper-pagination {
    bottom: 12px;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .item .body .price > span {
    font-size: 1.3rem;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .item .body .price > span.price-text {
    font-size: 2.1rem;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .item .body .line .ttl {
    width: 100px;
    padding: 3px 12px;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow--prev,
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow--next {
    border-radius: 50%;
    width: 40px;
    height: 40px;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow--next {
    right: 1rem;
  }
.p-huyouhin-kaisyu .sec4 #sec4 .splide__arrow--prev {
    left: 1rem;
    background: url("../images/huyouhin-kaisyu/swiper_arrow_prev.svg") no-repeat center center;
  }
.p-huyouhin-kaisyu .entrust {
    padding: 50px 0;
    background-repeat: repeat-y;
    background-size: 100% auto;
  }
.p-huyouhin-kaisyu .entrust .flex_1._pc {
    display: none;
  }
.p-huyouhin-kaisyu .entrust .flex_1._sp {
    display: flex;
  }
.p-huyouhin-kaisyu .entrust .flex_1._sp .objs {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 16px;
  }
.p-huyouhin-kaisyu .entrust .flex_1._sp .objs .obj-human {
    width: 70px;
  }
.p-huyouhin-kaisyu .entrust .flex_1._sp .objs .obj-shine {
    width: 35px;
  }
.p-huyouhin-kaisyu .entrust .flex_1._sp .objs .obj-shine._right {
    padding-bottom: 0;
    padding-top: 35px;
  }
.p-huyouhin-kaisyu .entrust .flex_1._sp .objs .obj-human._right {
    padding-left: 35px;
    box-sizing: border-box;
    width: 105px;
  }
.p-huyouhin-kaisyu .entrust .flex_1._sp .catch {
    margin: 8px auto 0;
    width: fit-content;
  }
.p-huyouhin-kaisyu .entrust .flex_1._sp .texts .comment {
    margin-top: -10px;
  }
.p-huyouhin-kaisyu .entrust .flex_1._sp .texts .catch._first {
    margin-top: 16px;
  }
.p-huyouhin-kaisyu .entrust .flex_2 {
    margin-top: 24px;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
  }
.p-huyouhin-kaisyu .entrust .flex_2 > img {
    width: 45%;
  }
.p-huyouhin-kaisyu .articles {
    padding: 4.286rem 0;
  }
.p-huyouhin-kaisyu .articles .contact {
    margin-bottom: 0;
  }
.p-huyouhin-kaisyu .articles .contact .head {
    padding: 1.714rem;
    height: auto;
  }
.p-huyouhin-kaisyu .articles .contact .head .texts {
    width: 100%;
  }
.p-huyouhin-kaisyu .articles .contact .head .images {
    position: static;
    margin-top: 1.143rem;
  }
.p-huyouhin-kaisyu .articles .contact .head .images img {
    margin: 0 auto;
  }
.p-huyouhin-kaisyu .articles .contact .body {
    padding: 1.714rem;
  }
.p-huyouhin-kaisyu .articles .contact .body .c-announce-text {
    margin-top: 10px;
    text-align: center;
    font-size: 14px;
  }
.p-huyouhin-kaisyu .articles .contact .body .text.is-Pc {
    display: none;
  }
.p-huyouhin-kaisyu .articles .contact .body .text.is-Sp {
    display: block;
    text-align: center;
    text-wrap: wrap;
  }
.p-huyouhin-kaisyu .articles .contact .body .flex {
    align-items: center;
    gap: 0.4rem;
  }
.p-huyouhin-kaisyu .articles .contact .body .flex a {
    line-height: 0.8;
  }
.p-huyouhin-kaisyu .articles .permit {
    margin-top: 0;
  }
.p-huyouhin-kaisyu .articles .permit .cover {
    padding: 40px 20px;
  }
.p-huyouhin-kaisyu .articles .permit .cover .flex {
    gap: 1.143rem;
  }
.p-huyouhin-kaisyu .articles .permit .cover .flex .images img {
    margin: 16px auto 0;
  }
.p-huyouhin-kaisyu .articles .permit .cover .texts .catch {
    padding-left: 0.857rem; 
    font-size: 1.286rem; 
  }
.p-huyouhin-kaisyu .articles .permit .cover .texts .catch::before {
    width: 4px;
  }
.p-huyouhin-kaisyu .articles .permit .cover .texts .catch + .text {
    margin-top: 1.143rem; 
    line-height: 1.9;
  }
.p-huyouhin-kaisyu .articles .permit .cover .permit-license {
    grid-template-columns: 1fr;
    gap: 1.714rem; 
    margin-top: 1.714rem; 
    padding: 1.429rem 1.143rem;
  }
.p-huyouhin-kaisyu .articles .permit .cover .permit-license-label {
    font-size: 1rem; 
  }
.p-huyouhin-kaisyu .articles .permit .cover .permit-license-number {
    margin-top: 0.857rem; 
    font-size: 1.071rem; 
  }
.p-huyouhin-kaisyu .articles .permit .cover .permit-quality {
    margin-top: 1.143rem; 
    padding: 1.286rem 1.143rem;
  }
.p-huyouhin-kaisyu .articles .permit .cover .permit-quality .text {
    line-height: 1.9;
  }
.p-huyouhin-kaisyu .articles .permit .obj,
.p-huyouhin-kaisyu .articles .permit .obj-2 {
    display: none;
    
  }
.p-huyouhin-kaisyu .sec5 {
    padding: 4.286rem 0;
  }
.p-huyouhin-kaisyu .sec5 h2 + .text + .grid {
    grid-template-columns: repeat(2, 1fr);
    place-items: center;
    margin: 2.286rem 0;
    gap: 0.857rem;
  }
.p-huyouhin-kaisyu .sec5 h2 + .text + .grid > :last-child:nth-child(odd) {
    max-width: 184px;
  }
.p-huyouhin-kaisyu .sec5 h2 + .text + .grid > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: fit-content;
  }
.p-huyouhin-kaisyu .sec6 {
    padding: 4.286rem 0 5.714rem;
  }
.p-huyouhin-kaisyu .sec6 .col-1 {
    padding-bottom: 3rem;
  }
.p-huyouhin-kaisyu .sec6 .col-1 .flow {
    padding: 24px;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    width: 100% !important;
  }
.p-huyouhin-kaisyu .sec6 .col-1 .flow img {
    width: 50%;
    margin: 0 auto;
  }
.p-huyouhin-kaisyu .sec6 .col-1 .flow .texts {
    width: 100%;
    flex: none;
    min-width: 0;
  }
.p-huyouhin-kaisyu .sec6 .col-1 .flow .step {
    margin: 0 auto;
  }
.p-huyouhin-kaisyu .sec6 .col-1 .flow .texts .text {
    width: 100%;
    text-wrap: wrap !important;
  }
.p-huyouhin-kaisyu .sec6 .col-2 {
    padding: 4.286rem 0;
  }
.p-huyouhin-kaisyu .sec6 .col-2 .flex {
    margin-top: 3rem;
    flex-direction: column;
    align-items: stretch;
    width: 100% !important;
  }
.p-huyouhin-kaisyu .sec6 .col-2 .flex .item {
    width: 100%;
  }
.p-huyouhin-kaisyu .sec6 .col-2 .flex h3 + .text {
    width: 100%;
    text-wrap: wrap !important;
  }
.p-huyouhin-kaisyu .sec6 .col-2 .flex .obj {
    margin: 0 auto;
    transform: rotate(90deg);
  }
.p-huyouhin-kaisyu .sec6 .box-videos {
    padding-top: 4.826rem;
    padding-bottom: 2rem;
  }
.p-huyouhin-kaisyu .sec6 .box-videos .ttl {
    padding: 1.286rem 0.714rem;
    font-size: 1.1rem;
  }
.p-huyouhin-kaisyu .sec6 .box-videos .ttl + .flex {
    gap: 0.857rem;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
  }
.p-huyouhin-kaisyu .sec6 .box-videos .ttl + .flex .item {
    flex: none;
    width: 100%;
  }
.p-huyouhin-kaisyu .sec6 .col-access {
    padding: 2.286rem 0;
  }
.p-huyouhin-kaisyu .sec6 .col-access .flex {
    gap: 64px;
  }
.p-huyouhin-kaisyu .sec6 .col-access .map {
    margin: 0 auto;
    width: 100%;
  }
.p-huyouhin-kaisyu .sec6 .col-access .map iframe {
    width: 100%;
    height: 21.429rem;
  }
.p-huyouhin-kaisyu .sec6 .col-access .texts .title + .line {
    margin-top: 30px;
  }
.p-huyouhin-kaisyu .sec6 .col-access .texts .line > p.ttl {
    width: 120px;
    min-width: 120px;
  }
.p-huyouhin-kaisyu .sec6 .col-access .texts .line > .text a {
    font-size: 1.143rem;
  }
.p-huyouhin-kaisyu .sec6 .col-access .texts {
    width: 100%;
  }
.p-huyouhin-kaisyu .sec6 .col-access .texts .title + .line > .text {
    font-size: 1.143rem;
  }
.p-huyouhin-kaisyu .sec6 .col-access .texts .title h2 {
    font-size: 1.714rem;
  }
.p-huyouhin-kaisyu .sec6 .col-1 .title .line .obj,
.p-huyouhin-kaisyu .sec6 .col-2 .title .line .obj {
    display: none;
  }
.p-huyouhin-kaisyu .sec6 .col-3 {
    padding-top: 4.286rem;
  }
.p-huyouhin-kaisyu .sec6 .col-3 .card {
    flex-direction: column;
    align-items: stretch;
  }
.p-huyouhin-kaisyu .sec6 .col-3 .card .texts {
    width: 100%;
  }
.p-huyouhin-kaisyu .sec6 .col-3 .card .step span {
    font-size: 1.286rem;
  }
.p-huyouhin-kaisyu .sec6 .col-3 .card h2 {
    margin-top: 1.14rem;
    font-size: 1.714rem;
  }
.p-huyouhin-kaisyu .sec7 {
    padding: 4.286rem 0 1rem;
  }
.p-huyouhin-kaisyu .sec7::before {
    background-size: 200% auto;
    height: calc(100 * 100vw / 412);
  }
.p-huyouhin-kaisyu .sec7::after {
    bottom: 40px;
    background-size: 200% auto;
    height: calc(100 * 100vw / 412);
  }
.p-huyouhin-kaisyu .sec7 .cover {
    padding-bottom: 5.174rem;
    margin-bottom: 5.174rem;
  }
.p-huyouhin-kaisyu .sec7 .title {
    gap: 0.286rem;
  }
.p-huyouhin-kaisyu .sec7 .title h2 {
    text-align: center;
    padding: 0.714rem 1.143rem;
    font-size: 1.5rem;
  }
.p-huyouhin-kaisyu .sec7 .title h2 + .logo {
    margin-left: 0;
    width: 18%;
  }
.p-huyouhin-kaisyu .sec7 .flex {
    margin-top: 3.357rem;
    gap: 2.857rem;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    width: 100% !important;
  }
.p-huyouhin-kaisyu .sec7 .flex .texts {
    width: 100%;
    flex: none;
    min-width: 0;
  }
.p-huyouhin-kaisyu .sec7 .flex .texts .text {
    width: 100% !important;
    text-wrap: wrap !important;
  }
.p-huyouhin-kaisyu .sec7 .flex img {
    width: 100%;
    flex: none;
  }
.p-huyouhin-kaisyu .sec-faq {
    padding: 5.714rem 0 4.286rem;
  }
.p-huyouhin-kaisyu .sec-faq .inner {
    margin: 0 15px;
    padding: 1.714rem 1.143rem;
  }
.p-huyouhin-kaisyu .sec-faq .title {
    padding: 2.6rem 0 3.4rem;
  }
.p-huyouhin-kaisyu .sec-faq .title h2 {
    line-height: 1.6;
    font-size: 1.714rem;
    
  }
.p-huyouhin-kaisyu .sec-faq .title .faq-cnt {
    margin-top: -20px;
  }
.p-huyouhin-kaisyu .sec-faq .title .obj {
    left: 0;
    right: 0;
    margin: 0 auto;
    font-size: 9rem;
    white-space: nowrap;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .q-line .question {
    flex: 0 0 2.857rem;
    width: 2.857rem;
    height: 2.857rem;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line > div {
    gap: 0.857rem;
    align-items: flex-start;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line > div ~ a {
    width: 90%;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .c-cta-microcopy {
    margin-top: 2rem;
    font-size: clamp(8px, 2.5vw, 13px); 
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .c-cta-microcopy + a {
    margin-top: 0.286rem;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .answer {
    flex: 0 0 2.857rem;
    width: 2.857rem;
    height: 2.857rem;
  }
.p-huyouhin-kaisyu .sec-faq .cover .title + .faq-cnt {
    margin-top: -2rem;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt {
    margin-top: 1.714rem;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .q-line,
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line {
    gap: 0.857rem;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .q-line .text {
    font-size: 1rem;
    text-wrap: wrap !important;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line {
    align-items: flex-start;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line .text {
    font-size: 1rem;
    text-wrap: wrap !important;
    width: 100%;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .q-line .arrow {
    flex: 0 0 1.286rem;
    width: 1.286rem;
  }
.p-huyouhin-kaisyu .sec-faq .faq-cnt .a-line > div .c-banner img {
    max-width: 100%;
  }
.p-huyouhin-kaisyu .sec8 {
    padding: 4.286rem 0;
  }
.p-huyouhin-kaisyu .sec8 .obj {
    display: none;
  }
.p-huyouhin-kaisyu .sec8 .flex {
    gap: 1.143rem;
  }
.p-huyouhin-kaisyu .sec8 .flex .map {
    margin: 0 auto;
    width: 100%;
  }
.p-huyouhin-kaisyu .sec8 .flex .map iframe {
    width: 100%;
    height: 21.429rem;
  }
.p-huyouhin-kaisyu .sec8 h2 + .line {
    margin-top: 2.85rem;
  }
.p-huyouhin-kaisyu .sec8 .line {
    margin-top: 2.286rem;
    gap: 1.143rem;
    flex-direction: column;
  }
.p-huyouhin-kaisyu .sec9 {
    padding: 5.714rem 0 4.286rem;
  }
.p-huyouhin-kaisyu .sec9 .title {
    position: relative;
    width: 90%;
    z-index: 10;
  }
.p-huyouhin-kaisyu .sec9 .obj {
    left: 1.143rem;
    top: -2.857rem;
  }
.p-huyouhin-kaisyu .sec9 .obj img {
    width: 50%;
  }
.p-huyouhin-kaisyu .sec9 .title h2 {
    padding: 1rem 1.143rem 1rem 4.571rem;
    font-size: 1.429rem;
    
  }
.p-huyouhin-kaisyu .sec9 .wrap {
    position: relative;
    padding: 5.714rem 0;
    background-image: none;
    z-index: 0;
  }
.p-huyouhin-kaisyu .sec9 .wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--white) url("../images/huyouhin-kaisyu/sec9_bg.webp") center bottom/contain
      no-repeat;
    opacity: 0.7;
    z-index: -10;
    pointer-events: none;
  }
.p-huyouhin-kaisyu .sec9 .wrap .inner {
    position: relative;
    z-index: 10;
  }
.p-huyouhin-kaisyu .sec9 .wrap .flex .texts {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.857rem 1.143rem;
  }
.p-huyouhin-kaisyu .sec9 .wrap .caution {
    width: 100%;
    font-size: 1rem;
    text-align: left;
  }
.p-huyouhin-kaisyu .footer {
    padding: 7.14rem 0 7.14rem;
  }
.p-huyouhin-kaisyu .footer .flex .links {
    width: 100%;
    flex-direction: column;
    gap: 0.8rem;
  }
.p-huyouhin-kaisyu .footer .flex .links .item {
    width: 100%;
    align-items: flex-start;
  }
.p-huyouhin-kaisyu .footer .flex .links ul li {
    font-size: 1.2rem;
  }
.p-huyouhin-kaisyu .contact-only {
    margin: 3.4rem auto 0;
    border-radius: 1.143rem;
    padding: 8px 16px;
    background: rgba(255, 255, 255, 0.9);
  }
.p-huyouhin-kaisyu .contact-only .flex {
    gap: 0;
    align-items: center;
  }
.p-huyouhin-kaisyu .contact-only .flex a {
    line-height: 0.8;
  }
.p-huyouhin-kaisyu .contact-only .c-announce-text {
    margin-top: 10px;
    font-size: 14px;
  }
.p-huyouhin-kaisyu .sec-form .formTable {
    margin-top: 40px;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable tr {
    display: block;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable th,
.p-huyouhin-kaisyu .sec-form #formWrap .formTable td {
    padding: 15px 0;
    width: 100%;
    display: block;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable th {
    padding: 30px 15px 15px;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable td {
    padding: 0 15px 30px;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable td .col-1 {
    margin-top: 12px;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable td .col-1__prefecture {
    margin-top: 0;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable td.col-2 {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable td .c-datepicker {
    max-width: 100%;
    padding: 16px;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable td .c-datepicker__day {
    font-size: 0.9375rem;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable tr:nth-child(even) th {
    padding: 15px;
  }
.p-huyouhin-kaisyu .sec-form #formWrap .formTable tr:nth-child(even) td {
    padding: 0 15px 15px;
  }
.p-huyouhin-kaisyu .sec-form .formTable td.col-2 .col-2__item {
    width: 100%;
    gap: 16px;
  }
.p-huyouhin-kaisyu .fixed-nav__pc {
    display: none;
  }
.p-huyouhin-kaisyu .fixed-nav__sp a {
    text-decoration: none;
  }
.p-huyouhin-kaisyu .fixed-nav__sp a:hover {
    opacity: 1;
  }
.p-huyouhin-kaisyu .fixed-nav__sp {
    padding: 0 16px 6px;
    width: 100%;
    height: fit-content;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 1);
    box-shadow: 0 1px 12px rgb(159, 159, 159);
    z-index: 9999;
    transform: translateZ(0);
    will-change: transform;
  }
.p-huyouhin-kaisyu .fixed-nav__sp .flex {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: row;
    gap: 8px;
  }
.p-huyouhin-kaisyu .fixed-nav__sp .line {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    gap: 2px;
  }
.p-huyouhin-kaisyu .fixed-nav__sp .line .line--logo {
    width: calc(46 / 343 * 100%);
    margin-top: -15px;
  }
.p-huyouhin-kaisyu .fixed-nav__sp .line .line--text {
    width: calc(295 / 343 * 100%);
  }
.p-huyouhin-kaisyu .fixed-nav__sp .line .line--logo {
    width: calc(46 / 343 * 100%);
    margin-top: -15px;
  }
.p-huyouhin-kaisyu .fixed-nav__sp .p-float_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
.p-huyouhin-kaisyu .fixed-nav__sp .p-float_btn img {
    max-width: 100vw;
    height: auto;
    width: 100%;
  }
.p-huyouhin-kaisyu .fixed-nav__sp .p-float_btn.tel {
    width: calc(159 / 343 * 100%);
    border-radius: 6px;
    background: #fd9e97;
  }
.p-huyouhin-kaisyu .fixed-nav__sp .p-float_btn.line {
    border-radius: 6px;
    width: calc(88 / 343 * 100%);
  }
.p-huyouhin-kaisyu .fixed-nav__sp .p-float_btn.mail {
    width: calc(88 / 343 * 100%);
    border-radius: 6px;
  }
.p-huyouhin-kaisyu .main-thanks .texts {
    margin-top: 40px;
  }
.p-huyouhin-kaisyu .main-thanks .texts .text {
    text-align: left;
    text-wrap: auto;
  }
.p-huyouhin-kaisyu .is-Pc {
    display: none;
  }
.p-huyouhin-kaisyu .is-Sp {
    display: inline;
  }
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar {
    flex-wrap: wrap;
    gap: 6px 8px;
    max-width: 100%;
    top: 0; 
  }
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__deco {
    width: 17px;
  }
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__deco--right {
    order: 3;
  }
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__lead {
    order: 2;
    font-size: 15px;
  }
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__items {
    order: 4;
    flex-basis: 100%;
    width: 100%;
    gap: 10px;
  }
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__check {
    width: 17px;
    height: 17px;
  }
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__item {
    gap: 5px;
  }
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__marker {
    font-size: 13px;
  }
.p-huyouhin-kaisyu .c-announce-text .c-payment-bar__divider {
    height: 22px;
  }
html:has(.p-huyouhin-kaisyu) { font-size: 14px; }
}

/* =============================================================
   ページ側の調整（LPからの移植にともなう差分）
   ※ 上記はLPのCSSをそのまま取り込んだもの。以下だけが独自の追記。
   ============================================================= */

/*
  MV直下のCTA。
  LPでは .mv の中に absolute で重ねていたが、MVをサイト共通デザインに
  差し替えたため通常フローで配置する。見た目の寸法はLPの
  「.mv .contact-only」と同じ値を使う。
*/
.p-huyouhin-kaisyu .contact-only--mv {
  max-width: max-content;
  margin: 24px auto 0;
  padding: 0 30px 8px;
  border-radius: 999px;
  background: var(--white);
  box-shadow: 0 0 24px 0 #00000040;
}

.p-huyouhin-kaisyu .contact-only--mv .flex {
  gap: 8px;
}

.p-huyouhin-kaisyu .contact-only--mv .flex a.flex-1,
.p-huyouhin-kaisyu .contact-only--mv .flex :not(a.flex-1) {
  max-width: 399px;
}

.p-huyouhin-kaisyu .contact-only--mv .c-announce-text {
  margin-top: 0;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
}

.p-huyouhin-kaisyu .contact-only--mv .c-announce-text img {
  max-width: 664px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .p-huyouhin-kaisyu .contact-only--mv {
    width: calc(100% - 30px);
    max-width: none;
    margin: 16px auto 0;
    padding: 8px 16px;
    border-radius: 1.143rem;
  }

  .p-huyouhin-kaisyu .contact-only--mv .flex {
    gap: 0;
  }

  .p-huyouhin-kaisyu .contact-only--mv .flex a {
    line-height: 0.8;
  }

  .p-huyouhin-kaisyu .contact-only--mv .c-announce-text {
    font-size: 14px;
  }
}

/* =============================================================
   不用品回収ページのMV（Figmaから書き出した画像で実装）
   ============================================================= */
.p-huyouhin-kaisyu .p-kaisyu-hero__image {
  display: block;
  width: 100%;
}

.p-huyouhin-kaisyu .p-kaisyu-hero__image img {
  display: block;
  width: 100%;
  height: auto;
}
