@charset "UTF-8";
html {
  font-size: 16px;
}

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased; /* Webkit系ブラウザで適用 */
  -moz-osx-font-smoothing: grayscale; /* macOSで適用 */
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
body.is-fixed {
  height: 100vh;
  overflow: hidden;
  touch-action: none;
}

html.is-scroll {
  overflow: hidden;
}

/* pcの電話番号発信対応 */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  background-color: transparent !important;
  box-shadow: 0 0 0px 1000px white inset !important;
}

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

/* ブラウザの標準マージンを削除 */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* bodyの基本設定 */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

/* ul, ol のリストマークと余白を削除（クラス指定がある場合） */
ul,
ol {
  list-style: none;
  padding: 0;
}

/* クラスがないaタグの下線スタイルを整える */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/* 全てのaタグの下線を消し、親要素の色を引き継ぐ */
a {
  color: inherit;
  text-decoration: none;
}

/* 画像のサイズ調整しやすく */
img,
picture {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
}

/* addressタグの斜体を通常に戻す */
address {
  font-style: normal;
}

/* article内の要素間に適度な余白を追加 */
article > * + * {
  margin-top: 1em;
}

/* フォーム要素に親と同じフォントを使う */
input,
button,
textarea,
select {
  font: inherit;
}

/* フォーム要素のリセット（装飾や見た目を初期化） */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

/* textareaのみリサイズを縦方向のみに */
textarea {
  resize: vertical;
}

/* チェックボックスとラジオボタンを非表示（後でカスタムスタイルを当てる想定） */
input[type=checkbox],
input[type=radio] {
  display: none;
}

/* ボタンやラベルのカーソルをポインターに */
input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

/* IEのセレクトボックス右側の矢印を非表示 */
select::-ms-expand {
  display: none;
}

/* アニメーションやスクロールを無効に（視覚的に配慮が必要なユーザー向け） */
.l-footer {
  -webkit-margin-before: 7.5rem;
  background-color: #fff;
  border-top: 2px solid #048606;
  margin-block-start: 7.5rem;
}

.l-footer__top {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-block: 3.75rem;
}

.l-footer__top-text {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  max-width: 67.6875rem;
  width: 100%;
}

.l-footer__info {
  border-bottom: 1px solid #e0e0e0;
  padding-block: 3.75rem;
}

.l-footer__info-inner {
  display: flex;
  flex-direction: column;
  row-gap: 3.75rem;
}

.l-footer__info-section {
  display: flex;
  flex-direction: column;
  row-gap: 1.4375rem;
}

.l-footer__info-heading {
  padding-block: 0.15625rem;
}

.l-footer__green-text {
  color: #048606;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.278;
}

.l-footer__media-list {
  -webkit-column-gap: 2.5rem;
  -moz-column-gap: 2.5rem;
  align-items: center;
  column-gap: 2.5rem;
  display: flex;
  justify-content: space-between;
}

.l-footer__media-card {
  max-width: 26.166875rem;
}

.l-footer__media-link {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  display: flex;
}

.l-footer__media-img {
  max-height: 5.4375rem;
  min-width: 8.1875rem;
  overflow: hidden;
}
.l-footer__media-img img {
  -o-object-fit: cover;
  -o-object-position: center;
  aspect-ratio: 131/87;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.l-footer__media-title {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.l-footer__bnr-list {
  display: flex;
  justify-content: space-between;
}

.l-footer__bnr {
  aspect-ratio: 419/140;
  height: 8.75rem;
  max-width: 26.1875rem;
  overflow: hidden;
  transition: opacity 0.3s ease;
  width: 100%;
}

.l-footer__bnr-link {
  display: block;
  height: 8.75rem;
  max-width: 26.1875rem;
  width: 100%;
}
.l-footer__bnr-link img {
  -o-object-fit: contain;
  -o-object-position: center;
  aspect-ratio: 419/140;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.l-footer__external-links {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 2.4;
}
.l-footer__external-links a {
  -webkit-transform: opacity 0.3s;
  color: inherit;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 2.4;
  position: relative;
  text-decoration: underline; /* テキストだけ下線 */
  transform: opacity 0.3s;
}

.l-footer__menu {
  -webkit-padding-before: 3.4375rem;
  -webkit-padding-after: 3.75rem;
  display: flex;
  justify-content: space-between;
  padding-block-end: 3.75rem;
  padding-block-start: 3.4375rem;
}

.l-footer__map {
  aspect-ratio: 337/236;
  width: 100%;
}
.l-footer__map iframe {
  border: 0;
  height: 100%;
  width: 100%;
}

.l-footer__menu-block {
  display: flex;
  flex-direction: column;
  letter-spacing: 0;
  row-gap: 2.25rem;
}

.l-footer__menu-contact {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
}

.l-footer__menu-contact-list {
  display: flex;
  flex-direction: column;
  row-gap: 1.25rem;
}

.l-footer__menu-contact-item {
  display: flex;
  flex-direction: column;
  row-gap: 0.42875rem;
}

.l-footer__menu-contact-label {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.l-footer__menu-contact-number {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1;
  transition: opacity 0.3s;
}

.l-footer__menu-address-text {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.l-footer__menu-list {
  -webkit-padding-start: 1.25rem;
  border-left: 4px solid #f6f6f6;
  display: flex;
  flex-direction: column;
  padding-inline-start: 1.25rem;
  row-gap: 2.25rem;
}

.l-footer__menu-link {
  letter-spacing: 0.05em;
  position: relative;
  text-transform: uppercase;
  transition: opacity 0.3s;
  vertical-align: top;
}
.l-footer__menu-link::after {
  background-image: url(../img/common/icon_arrow_right_circled.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1.4375rem;
  margin-left: 1.5rem;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  vertical-align: text-top;
  width: 1.4375rem;
}

.l-footer__menu-sub-list {
  -webkit-margin-before: 1.25rem;
  display: flex;
  flex-direction: column;
  margin-block-start: 1.25rem;
  padding-left: 1.5rem;
  row-gap: 0.55rem;
}

.l-footer__menu-sub-item {
  padding-left: 1.4375rem;
  position: relative;
  transition: color 0.3s;
}
.l-footer__menu-sub-item a {
  letter-spacing: 0.05em;
  line-height: 1;
  transition: opacity 0.3s;
}
.l-footer__menu-sub-item::before {
  -webkit-transform: translateY(-50%);
  border-top: 1px solid #adadad;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: border-top 0.3s;
  width: 0.9375rem;
}

.l-footer__menu-sp {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

.l-footer__address-sp {
  -webkit-margin-before: 0.5625rem;
  display: none;
  flex-direction: column;
  margin-block-start: 0.5625rem;
  padding-inline: 0.9375rem;
  row-gap: 1.75rem;
}

.l-footer__small-nav {
  -webkit-border-before: 1px solid #e0e0e0;
  border-block-start: 1px solid #e0e0e0;
}

.l-footer__small-nav-wrap {
  -webkit-margin-after: 7.5rem;
  border-top: 1px solid #e0e0e0;
  margin-block-end: 7.5rem;
}

.l-footer__small-nav-list {
  -webkit-column-gap: 5rem;
  -moz-column-gap: 5rem;
  -webkit-padding-before: 3.875rem;
  column-gap: 5rem;
  display: flex;
  letter-spacing: 0.05em;
  margin-inline: auto;
  max-width: 20rem;
  padding-block-start: 3.875rem;
}

.l-footer__small-nav-item {
  -webkit-border-after: 1px solid #333333;
  border-block-end: 1px solid #333333;
  font-size: 0.875rem;
  letter-spacing: 0.05;
  line-height: 1;
  transition: color 0.3s, -webkit-border-after 0.3s;
  transition: color 0.3s, border-block-end 0.3s;
  transition: color 0.3s, border-block-end 0.3s, -webkit-border-after 0.3s;
}

.l-footer__copyright {
  -webkit-margin-before: 2.5rem;
  color: #adadad;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-block-start: 2.5rem;
  text-align: center;
}

.c-footer-fixed {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  background-color: #105516;
  column-gap: 0.5rem;
  display: flex;
  justify-content: space-between;
  padding-block: 1rem;
  position: relative;
}
.c-footer-fixed::before {
  background: linear-gradient(to left, #8f622f, #f3e7c9, #8f622f);
  content: "";
  height: 0.25rem; /* ボーダーの太さ */
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.c-footer-fixed__inner {
  margin-inline: auto;
  max-width: 90rem;
  padding-inline: 3.25rem;
  width: 100%;
}

.c-footer-fixed__left {
  width: -webkit-max-content;
  width: max-content;
}

.l-header {
  background-color: #fff;
  position: relative;
  width: 100%;
  z-index: 1000;
}
.l-header.is-fixed {
  left: 0;
  position: fixed;
  top: 0;
}

.l-header__copy {
  background-color: #105516;
  padding-block: 0.25rem;
  position: relative;
  z-index: 300;
}

.l-header__copy-text {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.l-header__top {
  position: relative;
  width: 100%;
}

.l-header__top-flex {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  padding-block: 0.84375rem;
  padding-inline: 3.25rem;
  position: relative;
  width: 100%;
  z-index: 300;
}
.l-header__top-flex.has-shadow {
  box-shadow: 0 0.25rem 0.625rem 0 rgba(0, 0, 0, 0.1019607843);
}

.l-header__top-left {
  display: flex;
}

.l-header__top-right {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  column-gap: 0.5rem;
  display: flex;
}

.l-header__tel {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  column-gap: 0.5rem;
  display: flex;
  width: auto;
}

.l-header__tel-wrap {
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.l-header__tel-wrap.is-scroll {
  -webkit-transform: scale(0.75);
  transform: scale(0.75);
}

.l-header__tel-lead {
  letter-spacing: 0.05em;
}

.l-header__request {
  display: block;
  max-height: 5.875rem;
  max-width: 35.8125rem;
  overflow: visible;
  transition: all 0.3s;
  width: 100%;
}
.l-header__request.is-scroll {
  max-height: 4rem;
  max-width: 23.3125rem;
}

.l-header__top-sp {
  display: none;
  width: -webkit-max-content;
  width: max-content;
}

.l-header__top-sp-btn {
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 2.8125rem;
  justify-content: center;
  row-gap: 0.3125rem;
  width: 4.375rem;
}

.l-header__top-sp-btn-text {
  color: #048606;
  font-size: 0.6875rem;
  font-weight: 700;
}

.l-header__top-sp-btn-text-menu {
  display: block;
}

.l-header__top-sp-btn-text-close {
  display: none;
}

.l-header__top-sp-btn-icon {
  height: 0.978125rem;
  width: 0.59375rem;
}

.l-header__top-sp-btn-hamburger {
  display: block;
  height: 0.9375rem;
  position: relative;
  width: 0.875rem;
}
.l-header__top-sp-btn-hamburger .rod {
  background-color: #048606;
  display: block;
  height: 0.164375rem;
  left: 0;
  position: absolute;
  transition: opacity 0.3s, top 0.3s ease 0.3s, bottom 0.3s ease 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, opacity 0.3s, top 0.3s ease 0.3s, bottom 0.3s ease 0.3s;
  transition: transform 0.3s, opacity 0.3s, top 0.3s ease 0.3s, bottom 0.3s ease 0.3s, -webkit-transform 0.3s;
  width: 0.875rem;
}
.l-header__top-sp-btn-hamburger .rod:nth-child(1) {
  top: 0.0275rem;
}
.l-header__top-sp-btn-hamburger .rod:nth-child(2) {
  -webkit-transform: translateY(-50%);
  top: 50%;
  transform: translateY(-50%);
}
.l-header__top-sp-btn-hamburger .rod:nth-child(3) {
  top: 0.75rem;
}

.js-hamburger-toggle.is-active .l-header__top-sp-btn-text {
  -webkit-transform: scaleY(360deg);
  transform: scaleY(360deg);
}
.js-hamburger-toggle.is-active .l-header__top-sp-btn-text-menu {
  display: none;
}
.js-hamburger-toggle.is-active .l-header__top-sp-btn-text-close {
  display: block;
}
.js-hamburger-toggle.is-active .l-header__top-sp-btn-hamburger .rod {
  height: 0.125rem;
  transition: opacity 0.3s ease 0.3s, top 0.3s, bottom 0.3s, -webkit-transform 0.3s ease 0.3s;
  transition: transform 0.3s ease 0.3s, opacity 0.3s ease 0.3s, top 0.3s, bottom 0.3s;
  transition: transform 0.3s ease 0.3s, opacity 0.3s ease 0.3s, top 0.3s, bottom 0.3s, -webkit-transform 0.3s ease 0.3s;
}
.js-hamburger-toggle.is-active .l-header__top-sp-btn-hamburger .rod:nth-child(1) {
  -webkit-transform: translateY(-50%) rotate(45deg);
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.js-hamburger-toggle.is-active .l-header__top-sp-btn-hamburger .rod:nth-child(2) {
  -webkit-transform: translateY(-50%);
  opacity: 0;
  top: 50%;
  transform: translateY(-50%);
}
.js-hamburger-toggle.is-active .l-header__top-sp-btn-hamburger .rod:nth-child(3) {
  -webkit-transform: translateY(-50%) rotate(-45deg);
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

.l-header__bottom {
  border-top: 1px solid #105516;
  position: relative;
  width: 100%;
  z-index: 100;
}

.l-header__bottom-inner {
  display: flex;
  justify-content: center;
  margin-inline: auto;
}

.l-header__nav {
  flex-grow: 1;
  max-width: 70rem;
  width: -webkit-max-content;
  width: max-content;
}

.l-header__nav-list {
  display: flex;
  justify-content: end;
  padding-block: 0.75rem;
  width: 100%;
}
.l-header__nav-list.is-scroll {
  padding-block: 0.5rem;
}

.l-header__nav-item {
  border-right: 1px solid #adadad;
  flex-basis: 8.75rem; /* デフォルト幅（= 指針） */
  flex-grow: 1; /* 余白を他と分け合って広がるか */
  flex-shrink: 1; /* スペースが足りないときに縮むか */
  max-width: 8.75rem;
  position: relative;
  transition: all 0.3s;
}
.l-header__nav-item:last-child, .l-header__nav-item.l-header__nav-item--not-border {
  border-right: none;
}

.l-header__nav-link {
  display: block;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  max-width: 8.75rem;
  padding-block: 0.75rem;
  text-align: center;
  width: 100%;
}

.l-header__sp-nav {
  flex-grow: 1;
  width: -webkit-max-content;
  width: max-content;
}

.l-header__sp-nav-list {
  display: flex;
  justify-content: end;
}

.l-header__sp-nav-item {
  border: 1px solid #e0e0e0;
  max-width: 4.6875rem;
  min-height: 2.9375rem;
  width: 100%;
}

.l-header__sp-nav-link {
  align-items: center;
  display: flex;
  flex-direction: column;
  font-size: 0.6875rem;
  font-weight: 700;
  height: 100%;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 1;
  row-gap: 0.3125rem;
  width: 100%;
}

.l-header__sp-nav-icon {
  max-width: 1.125rem;
}

.l-header__contact-btn {
  -webkit-column-gap: 0.625rem;
  -moz-column-gap: 0.625rem;
  align-items: center;
  background-color: #f15c5c;
  color: #fff;
  column-gap: 0.625rem;
  display: flex;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  max-width: 10.625rem;
  transition: all 0.3s;
  width: 100%;
}
.l-header__contact-btn span {
  display: block;
}

.l-header__contact-btn-icon {
  width: 1.75rem;
}

.l-header__nav-sub-list {
  background-color: #048606;
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
  display: flex;
  left: 0;
  opacity: 0;
  padding-block: 1rem;
  position: absolute;
  top: calc(100% + 0.75rem);
  transition: opacity 0.3s ease 0s, visibility 0s linear 0.4s;
  visibility: hidden;
  width: -webkit-max-content;
  width: max-content;
  z-index: 1000;
}
.l-header__nav-sub-list.l-header__nav-sub-list--position-right {
  left: auto;
  right: 0;
}
.l-header__nav-sub-list.l-header__nav-sub-list--wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列 */
}
.l-header__nav-sub-list::after {
  bottom: 100%;
  content: "";
  height: 1rem;
  left: 0;
  position: absolute;
  width: 100%;
}

.js-menu-item.is-open .l-header__nav-sub-list {
  opacity: 1;
  transition: opacity 0.3s ease 0s, visibility 0s linear 0s;
  visibility: visible;
}

.l-header__nav-sub-item {
  overflow: hidden;
  position: relative;
}
.l-header__nav-sub-item::before {
  background-image: repeating-linear-gradient(to bottom, white, white 2px, transparent 2px, transparent 4px);
  background-position: 0 -1px;
  bottom: 0;
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
}
.l-header__nav-sub-item:last-child::before {
  content: none;
}

.l-header__nav-sub-link {
  color: #fff;
  display: block;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.75rem 2.5rem;
  text-align: center;
  transition: color 0.3s;
  white-space: nowrap;
}

.l-header-sp-menu {
  -webkit-transform: translateY(-101%);
  -webkit-overflow-scrolling: touch;
  display: none;
  height: auto;
  left: 0;
  max-height: calc(100vh - 7.9875rem);
  overflow-y: auto;
  position: absolute;
  top: 100%;
  transform: translateY(-101%);
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 100%;
  z-index: 200;
}
.l-header-sp-menu.is-open {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.l-header-sp-menu__top {
  background-color: #cee5ce;
  padding: 1.25rem 0.9375rem;
}

.l-header-sp-menu__top-container {
  display: flex;
  flex-direction: column;
}

.l-header-sp-menu__bnr {
  width: 100%;
}
.l-header-sp-menu__bnr:last-child img {
  -webkit-margin-start: -0.4375rem;
  margin-inline-start: -0.4375rem;
  width: calc(100% + 0.4375rem);
}

.u-mb-120 {
  display: flex;
  flex-direction: column;
  row-gap: 7.5rem;
}

.u-mb-60 {
  display: flex;
  flex-direction: column;
  row-gap: 7.5rem;
}

.l-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 83.5rem;
  padding-left: 52px;
  padding-right: 52px;
  width: 100%;
}

.l-inner-large {
  margin-left: auto;
  margin-right: auto;
  max-width: 90rem;
  padding-left: 3.25rem;
  padding-right: 3.25rem;
  width: 100%;
}

.l-inner-medium {
  margin-left: auto;
  margin-right: auto;
  max-width: 71.5rem;
  padding-left: 3.25rem;
  padding-right: 3.25rem;
  width: 100%;
}

.l-inner-small {
  margin-left: auto;
  margin-right: auto;
  max-width: 66.5rem;
  padding-left: 3.25rem;
  padding-right: 3.25rem;
  width: 100%;
}

.l-inner-pd-120 {
  margin-left: auto;
  margin-right: auto;
  max-width: 83.5rem;
  padding-block: 7.5rem;
  width: 100%;
}

.l-inner-pd-40 {
  margin-left: auto;
  margin-right: auto;
  max-width: 71.5rem;
  padding-left: 3.25rem;
  padding-right: 3.25rem;
  padding-top: 2.5rem;
  width: 100%;
}

.c-aboutus-features {
  background-color: #faf7f2;
  position: relative;
}
.c-aboutus-features::before, .c-aboutus-features::after {
  background: linear-gradient(to left, #8f622f, #f3e7c9, #8f622f);
  content: "";
  height: 8px; /* ボーダーの太さ */
  position: absolute;
  width: 100%;
}
.c-aboutus-features::before {
  left: 0;
  top: 0;
}
.c-aboutus-features::after {
  bottom: 0;
  left: 0;
}

.c-aboutus-features__inner {
  display: flex;
  flex-direction: column;
  margin-inline: auto;
  max-width: 66.625rem;
  overflow: hidden;
  padding-block: 8.3125rem 7.5rem;
  padding-inline: 0.8125rem;
  row-gap: 7.5rem;
  width: 100%;
}

.c-aboutus-features-summary__header {
  position: relative;
}

.c-aboutus-features-summary__heading {
  -webkit-margin-after: 2.5rem;
  align-items: center;
  color: #a8912e;
  display: flex;
  font-family: "Noto Serif JP", serif;
  font-size: 3rem;
  font-weight: 700;
  justify-content: center;
  line-height: 1.2;
  margin-block-end: 2.5rem;
  margin-inline: auto;
  padding-right: 2.0625rem;
  text-align: center;
  width: 100%;
}

.c-aboutus-features-summary__heading__inner {
  display: inline-block;
  max-width: 52.4375rem;
  position: relative;
}
.c-aboutus-features-summary__heading__inner::before, .c-aboutus-features-summary__heading__inner::after {
  background-image: url(../img/common/golden-leaves.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 9.0625rem;
  position: absolute;
  top: 50%;
  width: 5.348125rem;
}
.c-aboutus-features-summary__heading__inner::before {
  -webkit-transform: scaleX(-1) translateY(-50%);
  left: -6rem;
  transform: scaleX(-1) translateY(-50%);
}
.c-aboutus-features-summary__heading__inner::after {
  -webkit-transform: translateY(-50%);
  right: -5.25rem;
  transform: translateY(-50%);
}

.c-aboutus-features-summary__lead {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  position: relative;
  text-align: center;
  z-index: 5;
}

.c-aboutus-features-summary__list {
  -webkit-column-gap: 0.3125rem;
  -moz-column-gap: 0.3125rem;
  column-gap: 0.3125rem;
  display: flex;
  justify-content: space-between;
  margin-top: 4.5625rem;
  position: relative;
}
.c-aboutus-features-summary__list::before {
  background-image: url(../img/common/aboutus-features_person.webp);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 18rem;
  position: absolute;
  right: 0.5rem;
  top: -18rem;
  width: 16.875rem;
  z-index: 1;
}

.c-aboutus-features-summary__item {
  background-color: #fff;
  box-shadow: 0 0 0.625rem 0 rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column-reverse;
  height: 12.875rem;
  max-width: 15.625rem;
  position: relative;
  width: 100%;
  z-index: 5;
}

.c-aboutus-features-summary__img {
  height: 6.875rem;
  overflow: hidden;
  width: 100%;
}
.c-aboutus-features-summary__img img {
  -o-object-fit: cover;
  -o-object-position: center;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.c-aboutus-features-summary__text {
  padding: 1.5rem 1rem;
}

.c-ababoutus-features-summary__strong {
  color: #048606;
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 0.5rem;
}

.c-aboutus-features-summary__span {
  display: block;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-aboutus-features-details {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.c-aboutus-features-details__subheading {
  background-color: #048606;
  border-radius: 6.25rem;
  color: #fff;
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 2.1875rem;
  padding: 0.625rem 1.625rem;
  position: relative;
  text-align: center;
}
.c-aboutus-features-details__subheading::after {
  -webkit-transform: translateX(-50%);
  border-left: 0.75rem solid transparent;
  border-right: 0.75rem solid transparent;
  border-top: 1.29875rem solid #048606;
  content: "";
  display: block;
  height: 0;
  left: 50%;
  position: absolute;
  top: 90%;
  transform: translateX(-50%);
  width: 0;
}

.c-aboutus-features-details__lead {
  -webkit-padding-after: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  padding-block-end: 1rem;
  text-align: center;
}

.c-aboutus-features-details__description {
  -webkit-padding-before: 1.5rem;
  -webkit-border-before: 1px solid #333333;
  border-block-start: 1px solid #333333;
  padding-block-start: 1.5rem;
  text-align: center;
}

.c-aboutus-features-details__imgs {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-top: 3.75rem;
  row-gap: 0.40625rem;
}

.c-aboutus-features-details__row {
  -webkit-column-gap: 0.520625rem;
  -moz-column-gap: 0.520625rem;
  column-gap: 0.520625rem;
  display: flex;
}

.c-aboutus-features-details__img {
  height: 6.979375rem;
  width: 10.46875rem;
}

.c-area-search-wrapper {
  margin-inline: auto;
  max-width: 83.5rem;
  position: relative;
  width: 100%;
}

.c-area-search {
  -webkit-column-gap: 1.25rem;
  -moz-column-gap: 1.25rem;
  -webkit-transform-origin: top left;
  align-items: center;
  background-color: #faf7f2;
  column-gap: 1.25rem;
  display: flex;
  flex-wrap: wrap;
  padding: 1.5rem 2.5rem;
  transform-origin: top left;
  width: 100%;
}

.c-area-search__area-btn {
  align-items: center;
  background-color: #f15c5c;
  border-radius: 3.365625rem;
  color: #fff;
  display: flex;
  font-size: 1.5rem;
  font-weight: 700;
  height: 4.375rem;
  justify-content: center;
  line-height: 1;
  text-align: right;
  text-decoration: none;
  transition: background-color 0.3s;
  white-space: nowrap;
  width: 18.116875rem;
}

.c-area-search__form {
  display: flex;
  flex-grow: 1;
  height: 4.375rem;
  min-width: 18.75rem;
}

.c-area-search__keyword-wrapper {
  background-color: #fffff0;
  border: 2px solid #048606;
  display: flex;
  flex-grow: 1;
  overflow: hidden;
}

.c-area-search__input {
  background: transparent;
  border: none;
  flex: 1;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1;
  padding: 1.46875rem 1.03125rem;
}
.c-area-search__input::-webkit-input-placeholder {
  color: #adadad;
}
.c-area-search__input:-ms-input-placeholder {
  color: #adadad;
}
.c-area-search__input::-ms-input-placeholder {
  color: #adadad;
}
.c-area-search__input::placeholder {
  color: #adadad;
}
.c-area-search__input:focus {
  outline: none;
}

.c-area-search__submit {
  align-items: center;
  background-color: #048606;
  border: none;
  border-bottom-right-radius: 0.44875rem;
  border-top-right-radius: 0.44875rem;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 1rem;
  padding: 0.9375rem 1rem;
  transition: background-color 0.3s;
}

.c-area-search__icon {
  display: block;
  height: 2.5rem;
  margin-right: 0.560625rem;
  width: 2.5rem;
}

.c-area-search__label {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.c-area-search-wrapper.c-area-search-wrapper--small {
  margin-inline: auto;
  max-width: 65rem;
  position: relative;
  width: 100%;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search {
  -webkit-column-gap: 0.973125rem;
  -moz-column-gap: 0.973125rem;
  -webkit-transform-origin: top left;
  align-items: center;
  background-color: #faf7f2;
  column-gap: 0.973125rem;
  display: flex;
  flex-wrap: wrap;
  padding: 1.179375rem 1.94625rem;
  transform-origin: top left;
  width: 100%;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__area-btn {
  align-items: center;
  background-color: #f15c5c;
  border-radius: 2.62rem;
  color: #fff;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  height: 3.405625rem;
  justify-content: center;
  line-height: 1;
  text-align: right;
  text-decoration: none;
  transition: background-color 0.3s;
  white-space: nowrap;
  width: 14.1025rem;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__form {
  display: flex;
  flex-grow: 1;
  height: 3.405625rem;
  min-width: 18.75rem;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__keyword-wrapper {
  background-color: #fffff0;
  border: 0.7px solid #048606;
  display: flex;
  flex-grow: 1;
  overflow: hidden;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input {
  background: transparent;
  border: none;
  flex: 1;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  padding: 1.265625rem 0.796875rem;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input::-webkit-input-placeholder {
  color: #adadad;
  font-size: 0.875rem;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input:-ms-input-placeholder {
  color: #adadad;
  font-size: 0.875rem;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input::-ms-input-placeholder {
  color: #adadad;
  font-size: 0.875rem;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input::placeholder {
  color: #adadad;
  font-size: 0.875rem;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input:focus {
  outline: none;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__submit {
  align-items: center;
  background-color: #048606;
  border: none;
  border-bottom-right-radius: 0.349375rem;
  border-top-right-radius: 0.349375rem;
  color: #fff;
  cursor: pointer;
  display: flex;
  font-size: 1rem;
  padding: 0.9375rem 1rem;
  transition: background-color 0.3s;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__icon {
  display: block;
  height: 1.945625rem;
  margin-right: 0.43625rem;
  width: 1.945625rem;
}
.c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__label {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.c-banner {
  padding-block: 3.75rem;
}

.c-banner__link {
  transition: opacity 0.3s;
}

/* =================================
# パンくずリスト
================================= */
.c-breadcrumb__list {
  align-items: center;
  display: flex;
}

.c-breadcrumb__item {
  align-items: center;
  display: contents;
}

.c-breadcrumb__item a {
  color: #048606;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
  text-decoration: underline;
  text-decoration-color: #048606;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: text-decoration-color 0.3s ease;
}
.c-breadcrumb__item + .c-breadcrumb__item::before {
  background: url("../img/common/breadcrumb-arrow.svg") no-repeat center;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 0.875rem;
  margin-inline: 0.625rem;
  width: 0.9375rem;
}

/* 現在のページ（リンクなし） */
.c-breadcrumb__current {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  flex: 1;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
  overflow: hidden;
}

.c-btn {
  align-items: center;
  background-color: #fff;
  border-radius: 6.25rem;
  border-style: solid;
  border-width: 1px;
  box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.1490196078);
  cursor: pointer;
  display: flex;
  font-size: 1.125rem;
  justify-content: center;
  max-width: 20rem;
  padding-block: 1rem;
  transition: 0.3s all;
  width: 100%;
}
.c-btn.c-btn--height-56 {
  height: 3.5rem;
}
.c-btn.c-btn--height-60 {
  height: 3.75rem;
}
.c-btn.c-btn--width-400 {
  max-width: 25rem;
}
.c-btn.c-btn--green-border {
  border-color: #048606;
  color: #048606;
}
.c-btn.c-btn--red-border {
  border-color: #f15c5c;
  color: #f15c5c;
}
.c-btn.c-btn--green {
  background-color: #048606;
  box-shadow: none;
  color: #fff;
  height: 4.125rem;
}
.c-btn.c-btn--option {
  max-width: 100%;
  padding: 1rem 1.5rem;
  width: -webkit-max-content;
  width: max-content;
}

.c-btn-text {
  -webkit-column-gap: 0.625rem;
  -moz-column-gap: 0.625rem;
  align-items: center;
  column-gap: 0.625rem;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
.c-btn-text.c-btn-text--size-18 {
  font-size: 1.125rem;
}
.c-btn-text.c-btn-text--option {
  font-size: 1.125rem;
}

.c-btn-arrow-svg {
  height: 1.28125rem;
  width: 1.28125rem;
}
.c-btn-arrow-svg svg {
  height: 100%;
  width: 100%;
}
/* =================================
# カテゴリーカード 共通リスト
================================= */
.c-category__card-list {
  display: grid;
  gap: 2.375rem;
  grid-template-columns: repeat(3, 1fr);
}

.c-category__card {
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
  width: min(100%, 18.4375rem);
}
.c-category__card-img {
  overflow: hidden;
  width: min(100%, 18.4375rem);
}

.c-category__card-img img {
  -o-object-fit: cover;
  aspect-ratio: 295/148;
  height: auto;
  object-fit: cover;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}
.c-category__card-body {
  padding: 1rem;
}

.c-category__card-meta {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.c-category__card-date {
  color: #adadad;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-category__card-label {
  border: 1px solid #66d767;
  border-radius: 0.25rem;
  color: #66d767;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.25rem 0.5rem;
}

.c-category__card-title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  color: #048606;
  display: -webkit-box;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-top: 1rem;
  overflow: hidden;
}

/* =================================
# アニメーション要素
================================= */
.c-category__card.is-hidden {
  display: none;
}

.c-category__card.fade-in {
  -webkit-animation: fadeIn 0.8s ease forwards;
  animation: fadeIn 0.8s ease forwards;
}

@-webkit-keyframes fadeIn {
  from {
    -webkit-transform: translateY(20px);
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    -webkit-transform: translateY(0);
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    -webkit-transform: translateY(20px);
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    -webkit-transform: translateY(0);
    opacity: 1;
    transform: translateY(0);
  }
}
.c-cta-request-green-bg {
  background-color: #e6f0e6;
  overflow: hidden;
  padding-block: 3.71875rem 3.53125rem;
}

.c-cta-request {
  margin-inline: auto;
  max-width: 71.5rem;
  padding-block: 0.5625rem 0.75rem;
  padding-inline: 3.25rem;
  width: 100%;
}

.c-cta-request__contents {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.c-cta-request__heading {
  background-color: #048606;
  border-radius: 6.25rem;
  color: #fff;
  font-size: 2rem;
  line-height: 1.5;
  padding: 0.5rem 5rem;
  position: relative;
  text-align: center;
}
.c-cta-request__heading::after {
  -webkit-transform: translateX(-50%);
  border-left: 0.9375rem solid transparent;
  border-right: 0.9375rem solid transparent;
  border-top: 1.625rem solid #048606;
  content: "";
  display: block;
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
}

.c-cta-request__lead {
  -webkit-margin-before: 1.125rem;
  font-weight: 700;
  margin-block-start: 1.125rem;
  position: relative;
  text-align: center;
}
.c-cta-request__lead::before, .c-cta-request__lead::after {
  background-color: #048606;
  bottom: 0;
  clip-path: polygon(0% 0%, 40% 0%, 100% 100%);
  content: "";
  height: 3rem;
  position: absolute;
  width: 2.5rem;
}
.c-cta-request__lead::before {
  left: -3rem;
}
.c-cta-request__lead::after {
  -webkit-transform: scaleX(-1);
  right: -3rem;
  transform: scaleX(-1);
}

.c-cta-request__lead-green {
  background-image: linear-gradient(#fff810, #fff810);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 12px;
  color: #048606;
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  position: relative;
  z-index: 0;
}
.c-cta-request__lead-green .c-cta-request__lead-green-sm {
  font-size: 2rem;
}

.c-cta-request__lead-black {
  -webkit-margin-before: 1.125rem;
  -webkit-margin-start: 0.5rem;
  font-size: 2rem;
  margin-block-start: 1.125rem;
  margin-inline-start: 0.5rem;
}
.c-cta-request__lead-black .c-cta-request__lead-black-sm {
  font-size: 1.75rem;
}

.c-cta-request__bnr {
  -webkit-margin-before: 2rem;
  cursor: pointer;
  display: block;
  margin-block-start: 2rem;
  max-width: 65rem;
  transition: opacity 0.3s;
  width: 100%;
}

.c-heading-label {
  display: flex;
  flex-direction: column;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  padding-inline: 1.25rem;
  row-gap: 0.8125rem;
}

.c-heading-label-tags {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  display: flex;
}

.c-heading-label-tag {
  align-self: flex-start;
  background-color: #048606;
  color: #fff;
  display: inline-block;
  font-size: 1.25rem;
  font-weight: 400;
  padding: 0.4375rem 1rem;
}

.c-heading-label__number {
  -webkit-margin-start: 0.8125rem;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  margin-inline-start: 0.8125rem;
}

.c-facility-intro__popular-swiper {
  position: relative;
}

.c-facility-intro {
  background-color: #e6f0e6;
}
.c-facility-intro.c-facility-intro--gradation-bg {
  background: linear-gradient(to bottom, #cee5ce, #e6f0e6);
}

.c-facility-intro__inner {
  padding-block: 3.75rem;
}

.c-facility-name {
  color: #048606;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}
.c-facility-name.c-facility-name--fs-28 {
  font-size: 1.75rem;
}

.c-facility-name__ruby {
  -webkit-margin-before: 0.5rem;
  display: block;
  font-size: 0.75rem;
  font-weight: 400;
  margin-block-start: 0.5rem;
}
.c-facility-name__ruby.c-facility-name__ruby--fs-16 {
  font-size: 1rem;
}

.c-circle-label {
  align-items: center;
  background-color: #048606;
  border-radius: 50%;
  color: #fff;
  display: flex;
  font-size: 0.75rem;
  font-weight: 400;
  height: 1.25rem;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 100%;
  min-width: 1.25rem;
  text-align: center;
  width: 1.25rem;
}
.c-circle-label.c-circle-label--size-big {
  font-size: 1.125rem;
  height: 1.8125rem;
  min-width: 1.8125rem;
  width: 1.8125rem;
}

.c-facility-info {
  width: 100%;
}

.c-facility-info__caption {
  -webkit-padding-start: 0.75rem;
  border-left: 2px solid #048606;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 2.375rem;
  padding-inline-start: 0.75rem;
  text-align: left; /* または center/right に調整可能 */
}

.c-facility-info__wrap {
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  border-block: 1px solid #333333;
  column-gap: 2rem;
  display: flex;
}

.c-facility-info__column {
  width: 100%;
}

.c-facility-info__row {
  -webkit-border-after: 1px solid #e0e0e0;
  border-block-end: 1px solid #e0e0e0;
  display: flex;
  padding-block: 1rem;
  width: 100%;
}
.c-facility-info__row:last-child {
  border-bottom: none;
}

.c-facility-info__label {
  align-items: center;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  max-width: 7.5rem;
  min-width: 7.5rem;
  white-space: nowrap;
  width: 100%;
}
.c-facility-info__label.c-facility-info__label-width-140 {
  max-width: 8.75rem;
  min-width: 8.75rem;
}
.c-facility-info__label.c-facility-info__label-width-200 {
  max-width: 12.5rem;
  min-width: 12.5rem;
}

.c-facility-info__data {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-left: 1.5rem;
}
.c-facility-info__data .c-facility-info__data-flex {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  column-gap: 0.5rem;
  display: flex;
}
.c-facility-info__data.c-facility-info__data--line-height-min {
  line-height: 1.5;
}

.c-facility-info__data-contact {
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0.05em;
}

.c-facility-info__spacer {
  background: transparent;
  border-bottom: none;
  padding: 0;
  width: 2rem; /* お好みで調整 */
}

.c-facility-intro__container {
  -webkit-column-gap: 2.4375rem;
  -moz-column-gap: 2.4375rem;
  -webkit-margin-before: 3.75rem;
  column-gap: 2.4375rem;
  display: flex;
  margin-block-start: 3.75rem;
  width: 100%;
}

.c-facility-card__list {
  position: relative;
  width: 100%;
}
.c-facility-card__list.c-facility-card__list--area-taxonomy {
  container-name: facility-card;
  container-type: inline-size;
}

.c-facility-intro__slider {
  overflow: hidden;
  padding-bottom: 1.625rem;
  width: 32.5rem;
}

.c-facility-intro__pagination {
  -webkit-padding-before: 1rem;
  display: flex;
  height: 0.625rem;
  justify-content: center;
  max-width: 100%;
  opacity: 1;
  padding-block-start: 1rem;
  position: static;
  visibility: visible;
  width: auto !important;
  z-index: 10;
}

/* 各ドットのスタイル */
.c-facility-intro__pagination .swiper-pagination-bullet {
  background-color: #adadad;
  border-radius: 50%;
  display: flex;
  height: 0.625rem;
  justify-content: center;
  margin-inline: 0.5rem;
  opacity: 1;
  pointer-events: auto;
  transition: background-color 0.3s, border-color 0.3s;
  width: 0.625rem;
}

/* アクティブなドット */
.c-facility-intro__pagination .swiper-pagination-bullet-active {
  background-color: #048606;
}

.c-facility-intro__popular {
  flex-grow: 1; /* 余白があれば広がる */
  min-width: 0;
}

.c-facility-card {
  background-color: #fff;
  border: 1px solid #048606;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  margin-inline: auto;
  max-width: 32.5rem;
  padding: 1.5rem;
  row-gap: 1.5rem;
  width: 100%;
}
@container facility-card (min-width: 712px) {
  .c-facility-card {
    -webkit-column-gap: 2.5rem;
    -moz-column-gap: 2.5rem;
    column-gap: 2.5rem;
    flex-direction: row;
    max-width: 100%;
    row-gap: 0;
  }
}

.c-facility-card__media {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  width: 100%;
}
@container facility-card (min-width: 712px) {
  .c-facility-card__media {
    justify-content: end;
    max-width: 36rem;
  }
}

.c-facility-card__media-flex {
  -webkit-column-gap: 2.5rem;
  -moz-column-gap: 2.5rem;
  column-gap: 2.5rem;
  display: flex;
}

.c-facility-card__img {
  height: 13.125rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.c-facility-card__img img {
  -o-object-fit: cover;
  -o-object-position: center;
  -webkit-transform: translateY(-50%);
  height: 100%;
  left: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
}
@container facility-card (min-width: 712px) {
  .c-facility-card__img {
    height: auto;
  }
  .c-facility-card__img img {
    -webkit-transform: translateY(0);
    position: static;
    transform: translateY(0);
  }
}

.c-facility-card__body {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
  width: 100%;
}
@container facility-card (min-width: 712px) {
  .c-facility-card__body {
    justify-content: end;
    max-width: 41.875rem;
  }
}

.c-facility-card__desc {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.c-facility-card__detail {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}

.c-facility-card__access {
  text-align: left;
}
@container facility-card (min-width: 712px) {
  .c-facility-card__access {
    text-align: center;
  }
}

.c-facility-card__access-text {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  align-items: center;
  column-gap: 1rem;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05;
  line-height: 1;
}
@container facility-card (min-width: 712px) {
  .c-facility-card__access-text {
    justify-content: center;
  }
}

.c-facility-card__access-plus {
  color: #048606;
  font-size: 1.5rem;
}

.c-facility-card__btns {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@container facility-card (min-width: 712px) {
  .c-facility-card__btns {
    flex-direction: row;
  }
}

.c-facility-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.c-facility-tags.c-facility-tags--large {
  gap: 1rem;
}
.c-facility-tags.c-facility-tags--large .c-facility-tags__item {
  font-size: 1rem;
  max-width: 9.25rem;
  padding: 0.4375rem 0.9375rem;
  width: auto;
}
.c-facility-tags.c-facility-tags--large .c-facility-tag-img {
  height: 1.5rem;
  width: 1.5rem;
}

.c-facility-tags__item {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  background-color: #fff;
  border: 1px solid #048606;
  border-radius: 0.25rem;
  column-gap: 0.5rem;
  display: flex;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  max-width: 6.875rem;
  padding: 0.4375rem;
  width: 100%;
}

.c-facility-intro__popular-list {
  display: grid;
  gap: 2rem 0.6875rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 1.5rem;
}

.c-facility-mini-card {
  background-color: #fff;
  max-width: 15.6875rem;
  position: relative;
  width: 100%;
}

.c-facility-mini-card__img {
  height: 10.458125rem;
  overflow: hidden;
  position: relative;
  width: 100%;
  z-index: 1;
}
.c-facility-mini-card__img img {
  height: 100%;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.c-facility-mini-card__body {
  display: flex;
  flex-direction: column;
  padding: 0.5rem;
  row-gap: 0.625rem;
}

.c-facility-mini-card__title {
  color: #048606;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-facility-mini-card__address {
  align-items: center;
  color: #adadad;
  display: flex;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-facility-mini-card__tags {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.25rem;
}

.c-facility-mini-card__tags-item {
  height: 0.9375rem;
  width: 0.9375rem;
}

.c-facility-mini-card__pr {
  background-color: #048606;
  clip-path: polygon(0 0, 100% 0, 0 100%, 0 100%);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  height: 2.96875rem;
  letter-spacing: 0;
  line-height: 1;
  padding: 0.335625rem 0.335625rem;
  position: absolute;
  text-transform: uppercase;
  width: 2.96875rem;
  z-index: 10;
}

.c-facility-tag-img {
  height: 0.9375rem;
  width: 0.9375rem;
}

.c-facility-info-icon {
  display: inline-block;
  margin-right: 0.25rem;
  min-width: 0.75rem;
  width: 0.75rem;
}
.c-facility-info-icon.c-facility-info-icon--width-13 {
  min-width: 1rem;
  width: 1rem;
}
.c-facility-info-icon.c-facility-info-icon--width-16 {
  min-width: 1rem;
  width: 1rem;
}

.c-facility-system {
  align-items: center;
  background-color: #f15c5c;
  border-radius: 0.25rem;
  color: #fff;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 3rem;
  justify-content: center;
  letter-spacing: 5%;
  line-height: 100%;
  padding-inline: 0.5rem;
  white-space: nowrap;
  width: 7.25rem;
}

.c-faq {
  background-image: url(../img/bg/bg-faq.jpg);
  background-position: top;
  background-repeat: repeat-y;
  background-size: cover;
}

.c-faq__inner {
  display: flex;
  flex-direction: column;
  padding-block: 3.75rem;
  row-gap: 3.75rem;
}

.c-faq__accordion {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}

.c-faq__item {
  -webkit-padding-after: 1.5rem;
  background-color: #fff;
  border-radius: 0.5rem;
  padding-block-end: 1.5rem;
}
.c-faq__item.is-opened .c-faq__answer {
  max-height: 100vh;
  opacity: 1;
}

.c-faq__button {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  -webkit-padding-before: 1.5rem;
  align-items: center;
  color: #048606;
  column-gap: 1.5rem;
  display: flex;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding-block-start: 1.5rem;
  padding-inline: 1.5rem;
  text-align: center;
  width: 100%;
}

.c-faq__icon {
  height: 3.5625rem;
  width: 3.5625rem;
}

.c-faq-mark {
  -webkit-margin-start: auto;
  display: block;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  margin-inline-start: auto;
  text-align: center;
}
.c-faq-mark .c-faq-mark__minus {
  display: none;
}
.c-faq-mark.is-open .c-faq-mark__minus {
  display: block;
}
.c-faq-mark.is-open .c-faq-mark__plus {
  display: none;
}

.c-faq__answer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding-inline: 1.5rem;
  transition: max-height 0.3s ease, opacity 0.3s ease;
}

.c-faq__answer-text {
  -webkit-padding-before: 1rem;
  -webkit-padding-start: 5rem;
  color: #333333;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding-block-start: 1rem;
  padding-inline-start: 5rem;
}

.c-faq__show-more {
  color: #fff;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-inline: auto;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.c-faq__show-more::after {
  background-image: url(../img/common/simple-line-icons_arrow-down-white.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1.5rem;
  margin-left: 0.625rem;
  vertical-align: text-top;
  width: 1.5rem;
}

.c-option__list {
  -webkit-margin-before: 3.75rem;
  display: flex;
  flex-direction: column;
  margin-block-start: 3.75rem;
  margin-inline: auto;
  max-width: 65rem;
  row-gap: 2.5rem;
}

.c-option__item {
  border: 1px solid #adadad;
  padding: 3.75rem 2.5rem;
}

.c-option__body {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  -webkit-padding-before: 1.5rem;
  -webkit-margin-before: 1.5rem;
  -webkit-border-before: 1px solid #e0e0e0;
  border-block-start: 1px solid #e0e0e0;
  column-gap: 1rem;
  display: flex;
  margin-block-start: 1.5rem;
  padding-block-start: 1.5rem;
}

.c-option__img {
  height: 9.8125rem;
  width: 14.75rem;
}

.c-option__contents {
  max-width: 44.25rem;
  width: 100%;
}

.c-option__text {
  font-family: "Oswald", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.c-option__btns {
  -webkit-margin-before: 2rem;
  align-items: end;
  display: flex;
  flex-direction: column;
  margin-block-start: 2rem;
}

.c-flow__contents {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
  position: relative;
  width: 100%;
}

.c-flow__lead {
  font-family: Noto Sans JP;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 5%;
  line-height: 180%;
}

.c-heading-left-green {
  -webkit-padding-start: 0.75rem;
  border-left: 4px solid #048606;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-inline-start: 0.75rem;
  text-align: left;
}

.c-hoverRun {
  background-image: linear-gradient(90deg, #333, #333);
  background-position: left bottom;
  background-repeat: no-repeat;
  background-size: 0 1px;
  color: #333;
  display: inline;
  text-decoration: none;
  transition: background-size 0.5s;
}
.c-hoverUnderline {
  display: inline-block;
  position: relative;
}

.c-hoverUnderline::after {
  background: #333;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.5s ease-in-out;
  width: 100%;
}
.c-hoverUnderline {
  display: inline-block;
  position: relative;
}

.c-hoverUnderline::after {
  background: #333;
  bottom: 0;
  content: "";
  height: 1px;
  left: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 0.3s ease-in-out;
  width: 100%;
}
.c-imgHover {
  position: relative;
}

.c-imgHover img {
  transition: 0.5s opacity;
  width: 2.25rem;
}

.c-imgHover img:nth-of-type(2) {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 0.5s opacity;
}
.c-imgZoom {
  overflow: hidden;
  position: relative;
}
.c-imgZoom img {
  -o-object-fit: cover;
  object-fit: cover;
  transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  transition: transform 0.8s, -webkit-transform 0.8s;
}
.c-in-page-nav {
  -webkit-margin-before: 7.5rem;
  margin-block-start: 7.5rem;
}
.c-in-page-nav.c-in-page-nav--margin-high {
  margin-block: 7.5rem;
}

.c-in-page-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}
.c-in-page-nav__link {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  background-color: #c9eab9;
  color: #333333;
  column-gap: 0.5rem;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 4.375rem;
  letter-spacing: 0;
  line-height: 1;
  padding-inline: 1.0625rem;
  position: relative;
  transition: all 0.3s;
}

.c-in-page-nav__icon {
  stroke: #048606;
  stroke-width: 2;
  display: block;
  height: 1.5rem;
  overflow: visible;
  transition: stroke 0.3s, stroke-width 0.3s;
  transition: all 0.3s;
  width: 1.5rem;
}
.c-in-page-nav__icon .c-in-page-nav__icon-bg {
  fill: #048606;
  transition: fill 0.3s;
}
.c-in-page-nav__icon .c-in-page-nav__icon-arrow {
  fill: white;
  stroke: white;
  stroke-width: 0.5;
  transition: fill 0.3s;
}

.c-link {
  line-height: 1;
  position: relative;
}

.c-link::after {
  background: url(../img/common/link.svg) center center/contain no-repeat;
  content: "";
  height: 0.625rem;
  position: absolute;
  right: -0.9375rem;
  top: 0.3em;
  width: 0.625rem;
}

.c-logo {
  display: block;
  max-width: 13.3125rem;
  transition: opacity 0.3s, max-width 0.3s;
  width: 100%;
}
.c-logo.is-scroll {
  max-width: 9.375rem;
}
.c-logo.c-logo--footer {
  max-width: 14.291875rem;
}
.c-logo.c-logo--footer-fixed {
  width: 14.291875rem;
}
.cls-1.is-disabled {
  pointer-events: none;
}
.cls-1.is-disabled > path {
  fill: currentColor;
  color: #ededed;
}
.cls-1.is-disabled .city-text {
  fill: currentColor;
  color: #adadad;
}
.cls-2.is-disabled {
  pointer-events: none;
}
.cls-2.is-disabled > path {
  fill: currentColor;
  color: #ededed;
}
.cls-2.is-disabled .city-text {
  fill: currentColor;
  color: #adadad;
}
.cls-3.is-disabled {
  pointer-events: none;
}
.cls-3.is-disabled > path {
  fill: currentColor;
  color: #ededed;
}
.cls-3.is-disabled .city-text {
  fill: currentColor;
  color: #adadad;
}
.cls-4.is-disabled {
  pointer-events: none;
}
.cls-4.is-disabled > path {
  fill: currentColor;
  color: #ededed;
}
.cls-4.is-disabled .city-text {
  fill: currentColor;
  color: #adadad;
}
.cls-5.is-disabled {
  pointer-events: none;
}
.cls-5.is-disabled > path {
  fill: currentColor;
  color: #ededed;
}
.cls-5.is-disabled .city-text {
  fill: currentColor;
  color: #adadad;
}
.cls-6.is-disabled {
  pointer-events: none;
}
.cls-6.is-disabled > path {
  fill: currentColor;
  color: #ededed;
}
.cls-6.is-disabled .city-text {
  fill: currentColor;
  color: #adadad;
}
.cls-7.is-disabled {
  pointer-events: none;
}
.cls-7.is-disabled > path {
  fill: currentColor;
  color: #ededed;
}
.cls-7.is-disabled .city-text {
  fill: currentColor;
  color: #adadad;
}
.cls-8.is-disabled {
  pointer-events: none;
}
.cls-8.is-disabled > path {
  fill: currentColor;
  color: #ededed;
}
.cls-8.is-disabled .city-text {
  fill: currentColor;
  color: #adadad;
}
.cls-9.is-disabled {
  pointer-events: none;
}
.cls-9.is-disabled > path {
  fill: currentColor;
  color: #ededed;
}
.cls-9.is-disabled .city-text {
  fill: currentColor;
  color: #adadad;
}

.c-marker {
  background: linear-gradient(transparent 70%, #FCF65F 0%);
  display: inline;
}

.c-media-section {
  height: 32rem;
  margin-inline: auto;
  max-width: 61.875rem;
  overflow: visible;
  padding-inline: 0.9375rem;
  width: 100%;
}

.c-media-section__list {
  -webkit-column-gap: 2.375rem;
  -moz-column-gap: 2.375rem;
  -webkit-margin-before: 3.8125rem;
  column-gap: 2.375rem;
  display: flex;
  margin-block-start: 3.8125rem;
}

.c-media-section__item {
  max-width: 18.4375rem;
  width: 100%;
}

.c-media-section__link {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  transition: 0.3s;
}

.c-media-section__img {
  height: 12.3125rem;
  overflow: hidden;
  width: 100%;
}
.c-media-section__img img {
  -o-object-fit: cover;
  -o-object-position: center;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.c-media-section__title {
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.c-media-section__date {
  color: #adadad;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-news-section {
  background-color: #f6f6f6;
}

.c-news-section__inner {
  display: flex;
  justify-content: space-between;
  padding-block: 2.5rem;
}

.c-news-section__contents {
  max-width: 40rem;
  width: 100%;
}

.c-news-section__list {
  -webkit-margin-before: 3.75rem;
  -webkit-margin-after: 2rem;
  margin-block-end: 2rem;
  margin-block-start: 3.75rem;
}

.c-news-section__item {
  -webkit-padding-before: 1.5rem;
  padding-block-start: 1.5rem;
  width: 100%;
}
.c-news-section__item:first-child {
  -webkit-padding-before: 0;
  padding-block-start: 0;
}

.c-news-section__link {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  align-items: center;
  border-bottom: 1px solid #e0e0e0;
  column-gap: 1rem;
  display: flex;
  padding-bottom: 1.4375rem;
}

.c-news-section__data {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  align-items: center;
  column-gap: 1rem;
  display: flex;
}

.c-news-section__date {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-news-section__category {
  border: 1px solid #333333;
  border-radius: 6.25rem;
  box-sizing: border-box;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.4375rem 0.9375rem;
  white-space: nowrap;
}

.c-news-section__title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  max-height: 3.6rem;
  max-width: 29.5625rem;
  overflow: hidden;
  text-decoration: underline;
  text-decoration-color: rgba(51, 51, 51, 0); /* 透明 */
  text-underline-offset: 1px; /* 下線と文字の間隔（お好みで） */
  transition: text-decoration-color 0.3s ease;
  width: 100%;
}

.c-news-section__btn-wrap {
  align-items: center;
  display: flex;
}

/* =================================
# 下層ページトップ共通部分（背景画像＆テキスト）
================================= */
.c-page-header {
  -webkit-padding-start: 12.5rem;
  padding-block: 3.875rem;
  padding-inline-start: 12.5rem;
}

.c-page-header__inner {
  align-items: center;
  display: flex;
  gap: 0.8125rem;
}

.c-page-header__title {
  align-items: center;
  background-color: #105516;
  color: #fff;
  display: flex;
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  font-weight: 400;
  height: 3.515625rem;
  justify-content: center;
  line-height: 1;
}

.c-page-header__lead {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

/* =================================
# 各ページの設定
================================= */
.c-page-header__title--news {
  width: min(100%, 17.125rem);
}

.c-page-header--news {
  background: url(../img/news/page-top-bg.jpg) center center/cover no-repeat;
}

.c-page-header__title--contact {
  width: min(100%, 21.3125rem);
}

.c-page-header--contact {
  background: url(../img/contact/page-top-bg.jpg) center center/cover no-repeat;
}

.c-page-header--utility-page {
  background: url(../img/privacy-policy/page-top-bg.jpg) center center/cover no-repeat;
  position: relative;
}
.c-page-header__title--sitemap {
  width: min(100%, 17.75rem);
}

.c-page-header--voice {
  background: url(../img/voice/voice-top-bg.jpg) center center/cover no-repeat;
  position: relative;
}

.c-page-header__title--privacy-policy {
  width: min(100%, 27.9375rem);
}

.c-page-header--privacy-policy {
  background: url(../img/privacy-policy/page-top-bg.jpg) center center/cover no-repeat;
}

/* =================================
# ページネーション
================================= */
.c-pagination {
  margin-top: 7.5rem;
}

.c-pagination__list {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}

.c-pagination__link {
  align-items: center;
  background-color: #f6f6f6;
  border-radius: 0.25rem;
  color: #048606;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 3.125rem;
  justify-content: center;
  line-height: 1;
  text-align: center;
  transition: background-color 0.3s;
  width: 3.125rem;
}
.c-pagination__link.is-current {
  background-color: #048606;
  color: #fff;
}

.c-pagination__link.is-current:hover {
  background-color: #048606;
  color: #fff;
}

.c-pickup {
  background-color: #fff;
  box-shadow: 0 0 1.875rem 0 rgba(0, 0, 0, 0.1490196078);
  display: flex;
  flex-direction: column;
  padding: 3.75rem 1.25rem;
  row-gap: 3.75rem;
}

.c-pickup__heading {
  padding-inline: 1.25rem;
}

.c-pickup__wrap {
  display: flex;
  flex-direction: column;
  padding-block: 5rem 3.75rem;
  row-gap: 5rem;
}

.c-pickup__label {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  display: flex;
}

.c-pickup__label-tag {
  align-items: center; /* 垂直中央 */
  background-color: #f15c5c;
  color: #fff;
  display: flex;
  font-size: 1rem;
  font-weight: 400;
  justify-content: center; /* 水平中央 */
  letter-spacing: 0;
  line-height: 1;
  padding: 0.375rem 1rem;
}

.c-pickup__map {
  align-items: center;
  border: 1px solid #adadad;
  border-radius: 0.5rem;
  display: flex;
  justify-content: center;
  margin-inline: auto;
  max-width: 65rem;
  width: 100%;
}

.c-pickup__map-img {
  height: auto;
  max-width: 58.625rem;
  width: 100%;
}

.c-pickup-area-switcher__tab {
  -webkit-column-gap: 0.375rem;
  -moz-column-gap: 0.375rem;
  align-items: end;
  column-gap: 0.375rem;
  display: flex;
}
.c-pickup-area-switcher__tab li {
  width: -webkit-max-content;
  width: max-content;
}

.c-pickup-area-switcher__tab-item {
  background-color: #fff;
  border-color: #048606;
  border-style: solid;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  border-width: 1px 1px 0 1px;
  color: #333333;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  height: 2.625rem;
  letter-spacing: 0;
  line-height: 1;
  opacity: 0.4;
  padding: 0.625rem 3.75rem 0.8125rem;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s, opacity 0.3s;
}
.c-pickup-area-switcher__tab-item.is-active {
  background-color: #048606;
  color: #fff;
  height: 3.75rem;
  opacity: 1;
  padding: 1.03125rem 3.75rem 1.21875rem;
  pointer-events: none;
}

.c-pickup-area-switcher__contents {
  background-color: #fff;
  border: 4px solid #048606;
  padding: 2.5rem 2rem;
}

.c-pickup-area-switcher__content {
  display: none;
}
.c-pickup-area-switcher__content.is-active {
  display: block;
}

.c-pickup-area-switcher__area-link {
  box-shadow: none;
  font-size: 0.875rem;
  font-weight: 400;
  height: 2rem;
  letter-spacing: 0.05em;
  line-height: 1;
  max-width: 11.625rem;
}

.c-pickup-area-switcher__area-link-icon {
  margin-left: 0.5rem;
}

.c-pickup-area-switcher__block-wrap {
  -webkit-column-gap: 2rem;
  -moz-column-gap: 2rem;
  -webkit-padding-after: 2.5rem;
  -webkit-margin-before: 0.9375rem;
  border-bottom: 1px solid #e0e0e0;
  column-gap: 2rem;
  display: flex;
  justify-content: space-between;
  margin-block-start: 0.9375rem;
  padding-block-end: 2.5rem;
}

.c-pickup-area-switcher__block {
  max-width: 37.25rem;
  width: 100%;
}

.c-pickup-area-switcher__info {
  display: flex;
  justify-content: space-between;
}

.c-pickup-area-switcher__title {
  align-items: center;
  color: #000;
  display: flex;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}
.c-pickup-area-switcher__title::before {
  -webkit-margin-end: 0.5rem;
  background-color: #048606;
  border-radius: 50%;
  content: "";
  display: block;
  height: 1.25rem;
  margin-inline-end: 0.5rem;
  width: 1.25rem;
}

.c-pickup-area-switcher__slider-wrap {
  -webkit-margin-before: 0.9375rem;
  margin-block-start: 0.9375rem;
  max-width: 37.25rem;
  position: relative;
}

.c-pickup-area-switcher__slider-inner {
  overflow: hidden;
  position: relative;
}

.c-pickup-area-switcher__slider {
  -webkit-column-gap: 0.6875rem;
  -moz-column-gap: 0.6875rem;
  column-gap: 0.6875rem;
}

.c-pickup-area-switcher__slider-item {
  border: 1px solid #e0e0e0;
  box-shadow: 0 0.25rem 0.625rem -0.25rem rgba(0, 0, 0, 0.1019607843);
  flex-shrink: 0;
  max-width: 11.75rem;
}
.c-pickup-area-switcher__slider-item .c-facility-mini-card__img {
  height: 7.75rem;
}

.c-pickup-area-switcher__slider-pagination {
  -webkit-column-gap: 0.375rem;
  -moz-column-gap: 0.375rem;
  -webkit-margin-before: 1.09375rem;
  align-items: center;
  column-gap: 0.375rem;
  display: flex;
  font-size: 0.75rem;
  font-weight: 500;
  justify-content: end;
  letter-spacing: 0%;
  line-height: 1;
  margin-block-start: 1.09375rem;
  visibility: visible;
}
.c-pickup-area-switcher__slider-pagination span {
  display: block;
}
.c-pickup-area-switcher__slider-pagination.is-hidden {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.c-pickup-area-switcher__divider {
  font-size: 0.625rem;
}

.c-pickup-area-switcher__total {
  color: #adadad;
}

.swiper-button-prev,
.swiper-button-next {
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0 0.625rem 0 rgba(0, 0, 0, 0.2509803922);
  cursor: pointer;
  display: flex;
  height: 2rem;
  justify-content: center;
  position: absolute;
  top: 45%;
  width: 2rem;
  z-index: 10;
}
.swiper-button-prev.is-hidden,
.swiper-button-next.is-hidden {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  -webkit-border-before: 2.5px solid #000;
  -webkit-border-start: 2.5px solid #000;
  border-block-start: 2.5px solid #000;
  border-inline-start: 2.5px solid #000;
  content: "";
  display: block;
  height: 0.6875rem;
  position: relative;
  width: 0.6875rem;
}

.swiper-button-prev {
  left: -10px;
}
.swiper-button-prev::after {
  -webkit-transform: rotate(-45deg);
  left: 1px;
  transform: rotate(-45deg);
}

.swiper-button-next {
  right: -3px;
}
.swiper-button-next::after {
  -webkit-transform: rotate(135deg);
  right: 1px;
  transform: rotate(135deg);
}
.c-pickup-area-switcher__others {
  -webkit-margin-before: 2.5rem;
  margin-block-start: 2.5rem;
}

.c-pickup-area-switcher__header {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  align-items: center;
  column-gap: 1.5rem;
  display: flex;
}

.c-pickup-area-switcher__others-note {
  font-size: 0.875rem;
  letter-spacing: 0;
  line-height: 1;
}

.c-pickup-area-switcher__others-list {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  -webkit-margin-before: 1.59375rem;
  column-gap: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  margin-block-start: 1.59375rem;
  row-gap: 1rem;
}
.c-pickup-area-switcher__others-list a {
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.1875rem;
  transition: opacity 0.3s;
}

.c-plan-card {
  height: 100%;
  max-width: 29rem;
  overflow: hidden;
  width: 100%;
}
.c-plan-card.c-plan-card--border--pink {
  border: 2px solid #ff9595;
}
.c-plan-card.c-plan-card--border--green {
  border: 2px solid #048606;
}
.c-plan-card.c-plan-card--border--purple {
  border: 2px solid #bc83e8;
}
.c-plan-card.c-plan-card--border--blue {
  border: 2px solid #07aa8a;
}
.c-plan-card.c-plan-card--border--gold {
  border: 2px solid #c7b566;
}
.c-plan-card.c-plan-card--wide {
  max-width: 100%;
}
.c-plan-card.c-plan-card--wide .c-plan-card__link {
  display: flex;
}
.c-plan-card.c-plan-card--wide .c-plan-card__img {
  height: auto;
  max-width: 50%;
  overflow: hidden;
  position: relative;
}
.c-plan-card.c-plan-card--wide .c-plan-card__img img {
  position: absolute;
}
.c-plan-card.c-plan-card--wide .c-plan-card__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}

.c-plan-card__link {
  background-color: #fff;
  display: block;
}

.c-plan-card__img {
  height: 14.4375rem;
  overflow: hidden;
  width: 100%;
}
.c-plan-card__img img {
  -o-object-fit: cover;
  -o-object-position: top;
  height: 100%;
  object-fit: cover;
  object-position: top;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.c-plan-card__body {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 1.5rem 1rem;
  row-gap: 1rem;
  width: 100%;
}

.c-plan-card__title {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}
.c-plan-card__title.c-plan-card__title--pink {
  color: #ff9595;
}
.c-plan-card__title.c-plan-card__title--green {
  color: #048606;
}
.c-plan-card__title.c-plan-card__title--purple {
  color: #bc83e8;
}
.c-plan-card__title.c-plan-card__title--gold {
  color: #c7b566;
}
.c-plan-card__title.c-plan-card__title--blue {
  color: #07aa8a;
}

.c-plan-card__text {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  min-height: 4.5rem;
}
.c-plan-card__text.c-plan-card__text--font-bg {
  display: block;
  font-size: 1.5rem;
  min-height: auto;
  text-align: center;
}

.c-plan-card__features {
  -webkit-column-gap: 0.25rem;
  -moz-column-gap: 0.25rem;
  column-gap: 0.25rem;
  display: flex;
}

.c-plan-card__feature {
  -webkit-column-gap: 0.25rem;
  -moz-column-gap: 0.25rem;
  align-items: center;
  border: 1px solid #adadad;
  column-gap: 0.25rem;
  display: flex;
  font-size: 0.875rem;
  height: 1.5rem;
  justify-content: center;
  padding-inline: 0.5rem;
}
.c-plan-card__feature.c-plan-card__feature--cancel {
  text-decoration: line-through;
}

.c-plan-card__prices {
  align-items: center;
  display: flex;
  gap: 1.375rem;
  justify-content: center;
}

.c-plan-card__price-regular {
  background-color: #f6f6f6;
  padding: 0.21875rem 0.46875rem;
}

.c-plan-card__price-label {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-plan-card__price-wrap {
  margin-top: -0.16875rem;
  white-space: nowrap;
}

.c-plan-card__price-regular-value {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.c-plan-card__price-regular-value::before {
  -webkit-transform: rotate(-10deg);
  -webkit-transform-origin: center;
  background-color: #333333;
  content: "";
  height: 1px;
  left: -0.15625rem;
  position: absolute;
  top: 50%;
  transform: rotate(-10deg);
  transform-origin: center;
  width: 98%;
  z-index: -1;
}

.c-plan-card__price-tax {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-plan-card__price-limited {
  align-items: center;
  display: flex;
  position: relative;
}

.c-plan-card__price-limited::before {
  -webkit-transform: translateY(-50%);
  border-color: transparent transparent transparent #c7b566;
  border-style: solid;
  border-width: 0.5rem 0 0.5rem 0.875rem;
  content: "";
  left: -5%;
  position: absolute;
  top: 0;
  top: 50%;
  transform: translateY(-50%);
}

.c-plan-card__price-limited-badge-text {
  background-color: #c7b566;
  border-radius: 0.5rem;
  color: #fff;
  display: block;
  font-size: 1rem;
  font-weight: 700;
  height: 3.25rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.625rem;
  text-align: center;
  white-space: nowrap;
  width: 3.3125rem;
}

.c-plan-card__price-limited-wrap {
  margin-left: 0.3125rem;
  white-space: nowrap;
}

.c-plan-card__price-limited-note {
  color: #f15c5c;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-plan-card__price-limited-value {
  color: #f15c5c;
  font-family: "Oswald", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
}

.c-plan-card__price-limited-yen {
  -webkit-margin-start: -0.1875rem;
  color: #f15c5c;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-inline-start: -0.1875rem;
}

.c-plan-card__price-limited-tax {
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-left: -0.1875rem;
}

.c-plan-section {
  margin-inline: auto;
  max-width: 61.875rem;
  padding-inline: 0.9375rem;
}

.c-plan-section__list {
  -webkit-margin-before: 3.46875rem;
  align-items: center;
  display: grid;
  gap: 2.5rem;
  grid-template-columns: repeat(2, 1fr);
  justify-items: center;
  margin-block-start: 3.46875rem;
}

.c-price-section {
  background-color: #faf7f2;
  table-layout: fixed;
}

.c-price-section__inner {
  padding-block: 3.98rem 4.02rem;
}

.c-price-section-table {
  -webkit-margin-before: 3.75rem;
  margin-block-start: 3.75rem;
}

.c-price-section-table__sheet {
  border-collapse: collapse;
  width: 100%;
}

.c-price-section-table__row {
  width: 100%;
}

.c-price-section-table__sp {
  display: none;
  flex-direction: column;
  row-gap: 2rem;
}

.c-price-section-cell {
  background-color: #fff;
  border-bottom: 1px solid #e0e0e0;
  font-size: 1.125rem;
  letter-spacing: 0;
  line-height: 1.2;
  padding-block: 1.25rem;
  padding-inline: 1.25rem;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.c-price-section__cell-true-or-false {
  font-size: 1.5rem;
  font-weight: 700;
}

.c-price-cell__amount {
  font-weight: 700;
}

.c-price-section-spacer-cell {
  background-color: #fff;
  border-bottom: 1px solid #e0e0e0;
  max-width: 2.25rem;
  min-width: 2.25rem;
  table-layout: fixed;
  width: 100%;
}

.c-price-section-table__row-label {
  -webkit-padding-end: 1.5rem;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  padding-inline-end: 1.5rem;
}

.c-price-section-table__th-td-padding-left-wide {
  -webkit-padding-start: 2rem;
  padding-inline-start: 2rem;
}

.c-price-section-table__td-spacer {
  background-color: #fff;
  border-bottom: 1px solid #e0e0e0;
  width: 2rem;
}

.c-price-section-table__header {
  display: flex;
  justify-content: end;
  width: 100%;
}

.c-price-section-table__title {
  -webkit-margin-after: 4px;
  background-color: #048606;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  margin-block-end: 4px;
  max-width: 30.75rem;
  padding-block: 0.5rem;
  text-align: center;
  width: 100%;
}
.c-price-section-table__title.c-price-section-table__title--dark {
  background-color: #105516;
  max-width: 41rem;
}

.spacer-row {
  border: none;
  height: 0.25rem;
  padding: 0;
}

.c-price-section-table__th-label {
  -webkit-padding-end: 1.625rem;
  padding-inline-end: 1.625rem;
  white-space: nowrap;
}

.c-price-section-table__th-plan {
  -webkit-padding-before: 1.25rem;
  -webkit-padding-after: 1rem;
  -webkit-text-decoration-skip: ink;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
  padding-block-end: 1rem;
  padding-block-start: 1.25rem;
  text-decoration-skip-ink: auto;
}
.c-price-section-table__th-plan.c-price-section-red-border {
  position: relative;
}
.c-price-section-table__th-plan.c-price-section-red-border::before {
  border: 5px solid #f15c5c;
  content: "";
  display: block;
  height: 52.5rem;
  pointer-events: none;
  position: absolute;
  right: -0.1875rem;
  top: 0;
  width: 13.4375rem;
}
.c-price-section-table__th-plan.c-price-section-table__th-plan--padding-left-wide {
  -webkit-padding-end: 2.25rem;
  padding-inline-end: 2.25rem;
}

.c-price-section-table__th-plan-btn {
  align-items: center;
  background-color: #048606;
  border-radius: 0.5rem;
  color: #fff;
  display: flex;
  height: 3.125rem;
  justify-content: center;
  letter-spacing: 0.05em;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 0.03125rem;
  text-underline-offset: 0.125rem;
  transition: background-color 0.3s;
  width: 10.625rem;
}
.c-price-section-table__th-plan-btn.c-price-section-table__th-plan-btn--dark {
  background-color: #105516;
  width: 11.25rem;
}

.c-price-section-note {
  -webkit-margin-before: 1rem;
  font-size: 1rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-block-start: 1rem;
}

.c-section-lead {
  -webkit-margin-before: 2.5rem;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-block-start: 2.5rem;
  text-align: center;
}
.c-section-lead.c-section-lead--fw-700 {
  font-weight: 700;
}

.c-silver-section {
  margin-inline: auto;
  max-width: 83.4375rem;
}
.c-silver-section.c-silver-section--top-margins {
  -webkit-margin-before: 2.3125rem;
  margin-block-start: 2.3125rem;
}

.c-silver-section__inner {
  background-image: url(../img/bg/bg-silver.jpg);
  padding-block: 3.75rem;
}

.c-silver-section__list {
  -webkit-column-gap: 0.729375rem;
  -moz-column-gap: 0.729375rem;
  -webkit-margin-before: 3.75rem;
  column-gap: 0.729375rem;
  display: flex;
  margin-block-start: 3.75rem;
  margin-inline: auto;
  max-width: 64.9375rem;
  padding-inline: 1.875rem;
}

.c-silver-section__heading {
  flex-wrap: wrap;
}
.c-silver-section__heading.c-silver-section__heading--sp-negative {
  -webkit-margin-start: -4.75rem;
  margin-inline-start: -4.75rem;
  position: relative;
  z-index: 3;
}

.c-silver-section__heading-img {
  display: inline-block;
  height: 1.5375rem;
  width: 2.3125rem;
}

.c-silver-section__person-standard {
  margin-inline: auto;
  max-width: 40.8125rem;
  position: relative;
}

.c-silver-section__person {
  position: absolute;
  right: -1.25rem;
  top: -8.6875rem;
  width: 10rem;
  z-index: 1;
}

.c-sp-global-nav {
  background-color: #fff;
}

.c-sp-global-nav__list {
  flex-grow: 1;
  max-width: 100%;
}

.c-sp-global-nav__item {
  border-bottom: 1px solid #adadad;
  border-left: 1px solid #adadad;
  border-right: 1px solid #adadad;
  border-top: 0;
}
.c-sp-global-nav__item:first-child {
  border: 1px solid #adadad;
}
.c-sp-global-nav__item.c-sp-global-nav__item--border-none {
  border: none;
}
.c-sp-global-nav__item.c-sp-global-nav__item--margin-top {
  -webkit-margin-before: 3px;
  margin-block-start: 3px;
}

.c-sp-global-nav__link {
  align-items: center;
  color: #048606;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  justify-content: space-between;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 1.09375rem 0.875rem;
  position: relative;
}
.c-sp-global-nav__link::after {
  background-image: url(../img/common/icon_arrow_right_circled.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
  background-size: cover;
  content: "";
  display: inline-block;
  height: 1.125rem;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 1.125rem;
}

.c-sp-search__tab-container {
  overflow: hidden;
  width: 100%;
}

.c-sp-search__tab-slider {
  -webkit-transform: translateX(0%);
  display: flex;
  transform: translateX(0%);
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  width: 200%;
  will-change: transform;
}
.c-sp-search__tab-slider.is-step2 {
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.c-sp-search__step {
  /* transform はここでは指定しない */
  -webkit-padding-before: 1.5rem;
  box-sizing: border-box;
  flex-shrink: 0;
  max-width: 23.4375rem;
  padding-block-start: 1.5rem;
  padding-inline: 0.9375rem;
  width: 50%; /* 200% の親に対して半分ずつ */
}
.c-sp-search__step.c-sp-search__step--1 {
  -webkit-padding-after: 1.5rem;
  padding-block-end: 1.5rem;
  z-index: 1;
}
.c-sp-search__step.c-sp-search__step--2 {
  background-color: #e6f0e6;
  z-index: 0;
}

.c-sp-search__caption {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: end;
  align-items: center;
  border-radius: 0.5rem;
  column-gap: 0.5rem;
  display: flex;
  font-weight: 700;
  letter-spacing: 0%;
  line-height: 100%;
}

.c-sp-search__step-label {
  background-color: #fff;
  border: 1px solid #048606;
  border-radius: 0.5rem;
  color: #048606;
  font-size: 0.875rem;
  font-weight: 500;
  font-weight: 700;
  height: 1.5625rem;
  letter-spacing: 0;
  line-height: 1;
  padding: 0.25rem 0.625rem;
  text-align: center;
  text-transform: uppercase;
  width: 4.375rem;
}

.c-sp-search__contents-1 {
  display: flex;
  flex-direction: column;
  margin-top: 3.5rem;
  row-gap: 1rem;
}

.c-sp-search__intro {
  display: flex;
  flex-direction: column;
  row-gap: 1.5rem;
}

.c-sp-search__next-button {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  align-items: center;
  background-color: #048606;
  color: #fff;
  column-gap: 1rem;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 4.5625rem;
  justify-content: center;
  width: 100%;
}

.sp-search__next-button-icon {
  height: 2.9075rem;
  width: 2.9075rem;
}

.c-sp-search__header {
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}

.c-sp-search__caption-wrap {
  display: flex;
  justify-content: space-between;
}

.c-sp-search__back-button {
  -webkit-column-gap: 0.3125rem;
  -moz-column-gap: 0.3125rem;
  align-items: center;
  background-color: #048606;
  border-radius: 0.5rem;
  color: #fff;
  column-gap: 0.3125rem;
  display: flex;
  font-size: 0.875rem;
  font-weight: 500;
  height: 1.5625rem;
  justify-content: center;
  width: 3.5rem;
}

.c-sp-search__back-button-icon {
  height: 0.5rem;
  width: 0.3125rem;
}

.c-sp-search__area-list {
  -webkit-column-gap: 0.5625rem;
  -moz-column-gap: 0.5625rem;
  column-gap: 0.5625rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 1rem;
  row-gap: 0.5rem;
}

.c-sp-search__area-item {
  align-items: center;
  background-color: #fff;
  border: 1px solid #048606;
  display: flex;
  font-size: 1rem;
  font-weight: 500;
  justify-content: space-between;
  letter-spacing: 0.05em;
  line-height: 1;
  max-width: 10.5rem;
  padding: 0.5625rem;
  width: 100%;
}
.c-sp-search__area-item::after {
  background-image: url(../img/common/green-bg-right-arrow.svg);
  background-repeat: no-repeat;
  background-size: auto;
  content: "";
  display: inline-block;
  height: 1.0625rem;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 1.0625rem;
}

.js-map-area {
  cursor: pointer;
}

.cls-toubu:not(.is-disabled):not(.is-active):not(:hover) > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #a0e9ff;
}
.cls-toubu.is-active {
  pointer-events: none;
}
.cls-toubu.is-active > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #37bef0;
}
.cls-toubu.is-active .city-text {
  fill: currentColor;
  color: #333333;
}
.cls-toubu.is-disabled {
  pointer-events: none;
}
.cls-toubu.is-disabled > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ededed;
}

.cls-rikon:not(.is-disabled):not(.is-active):not(:hover) > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ffd1ad;
}
.cls-rikon.is-active {
  pointer-events: none;
}
.cls-rikon.is-active > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ff9244;
}
.cls-rikon.is-active .city-text {
  fill: currentColor;
  color: #333333;
}
.cls-rikon.is-disabled {
  pointer-events: none;
}
.cls-rikon.is-disabled > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ededed;
}

.cls-hokubu:not(.is-disabled):not(.is-active):not(:hover) > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #b0fcf0;
}
.cls-hokubu.is-active {
  pointer-events: none;
}
.cls-hokubu.is-active > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #54dec7;
}
.cls-hokubu.is-active .city-text {
  fill: currentColor;
  color: #333333;
}
.cls-hokubu.is-disabled {
  pointer-events: none;
}
.cls-hokubu.is-disabled > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ededed;
}

.cls-chichibu:not(.is-disabled):not(.is-active):not(:hover) > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ffe0e7;
}
.cls-chichibu.is-active {
  pointer-events: none;
}
.cls-chichibu.is-active > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #fda5b6;
}
.cls-chichibu.is-active .city-text {
  fill: currentColor;
  color: #333333;
}
.cls-chichibu.is-disabled {
  pointer-events: none;
}
.cls-chichibu.is-disabled > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ededed;
}

.cls-kentyuuou:not(.is-disabled):not(.is-active):not(:hover) > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #f2ddbc;
}
.cls-kentyuuou.is-active {
  pointer-events: none;
}
.cls-kentyuuou.is-active > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #c29f68;
}
.cls-kentyuuou.is-active .city-text {
  fill: currentColor;
  color: #333333;
}
.cls-kentyuuou.is-disabled {
  pointer-events: none;
}
.cls-kentyuuou.is-disabled > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ededed;
}

.cls-seibu:not(.is-disabled):not(.is-active):not(:hover) > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #c9f3b3;
}
.cls-seibu.is-active {
  pointer-events: none;
}
.cls-seibu.is-active > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #83d05e;
}
.cls-seibu.is-active .city-text {
  fill: currentColor;
  color: #333333;
}
.cls-seibu.is-disabled {
  pointer-events: none;
}
.cls-seibu.is-disabled > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ededed;
}

.cls-nanseibu:not(.is-disabled):not(.is-active):not(:hover) > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #a3d3f2;
}
.cls-nanseibu.is-active {
  pointer-events: none;
}
.cls-nanseibu.is-active > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #2f96de;
}
.cls-nanseibu.is-active .city-text {
  fill: currentColor;
  color: #333333;
}
.cls-nanseibu.is-disabled {
  pointer-events: none;
}
.cls-nanseibu.is-disabled > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ededed;
}

.cls-hiki:not(.is-disabled):not(.is-active):not(:hover) > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #fff1b0;
}
.cls-hiki.is-active {
  pointer-events: none;
}
.cls-hiki.is-active > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ffd827;
}
.cls-hiki.is-active .city-text {
  fill: currentColor;
  color: #333333;
}
.cls-hiki.is-active .bubble-text {
  fill: currentColor;
  color: #333333;
}
.cls-hiki.is-disabled {
  pointer-events: none;
}
.cls-hiki.is-disabled > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ededed;
}

.cls-saitama:not(.is-disabled):not(.is-active):not(:hover) > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #e9edba;
}
.cls-saitama.is-active {
  pointer-events: none;
}
.cls-saitama.is-active > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #c8da3e;
}
.cls-saitama.is-active .city-text {
  fill: currentColor;
  color: #333333;
}
.cls-saitama.is-disabled {
  pointer-events: none;
}
.cls-saitama.is-disabled > *:not(.city-text):not(.bubble-text) {
  fill: currentColor;
  color: #ededed;
}

.c-tel {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  column-gap: 0.5rem;
  display: flex;
  max-width: 22.875rem;
}
.c-tel.--yellow {
  color: #fff810;
}

.c-tel__icon {
  max-width: 3.6875rem;
}

.c-tel__number {
  color: #048606;
  font-family: "Oswald", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1;
  white-space: nowrap;
}
.c-tel__number.c-tel__number--yellow {
  color: #fff810;
}
.c-text-link-green {
  -webkit-column-gap: 0.625rem;
  -moz-column-gap: 0.625rem;
  align-items: center;
  color: #048606;
  column-gap: 0.625rem;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  text-decoration-color: #048606;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.1875rem;
  transition: opacity ease 0.3s;
}
.c-text-link-green::after {
  background-image: url(../img/common/simple-line-icons_arrow-down.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1.5rem;
  transition: -webkit-transform ease 0.3s;
  transition: transform ease 0.3s;
  transition: transform ease 0.3s, -webkit-transform ease 0.3s;
  width: 1.5rem;
}
.c-text-link-green.c-text-link-green--news-section {
  text-decoration-line: none;
}

.c-underBar {
  display: inline-block;
  position: relative;
}
.c-underBar::before {
  -webkit-transform: translateX(-50%);
  background-color: #333;
  bottom: 0;
  content: "";
  height: 1px;
  left: 50%;
  opacity: 1;
  position: absolute;
  transform: translateX(-50%);
  transition: 0.5s;
  width: 100%;
}
.c-underline-heading {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  -webkit-padding-after: 1.5rem;
  align-items: center;
  color: #048606;
  column-gap: 0.5rem;
  display: flex;
  font-size: 2rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  padding-block-end: 1.5rem;
  position: relative;
}
.c-underline-heading::after {
  -webkit-transform: translateX(-50%);
  border-bottom: 2px solid #048606;
  bottom: 0;
  content: "";
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 5.099375rem;
}
.c-underline-heading.c-underline-heading--white {
  color: #fff;
}
.c-underline-heading.c-underline-heading--white::after {
  border-bottom: 2px solid #fff;
}
.c-underline-heading.c-underline-heading--display-sp {
  display: none;
}

.c-voice-cord {
  background-color: #fff;
  box-shadow: 0 0 0.9375rem 0 rgba(0, 0, 0, 0.1490196078);
  max-width: 18.4375rem;
  width: 100%;
}

.c-voice-cord__img {
  height: 9.25rem;
  overflow: hidden;
  transition: opacity 0.3s;
  width: 100%;
}
.c-voice-cord__img img {
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.c-voice-card__body {
  display: flex;
  flex-direction: column;
  padding: 1rem;
  row-gap: 1rem;
}

.c-voice-card__evaluation {
  -webkit-column-gap: 0.25rem;
  -moz-column-gap: 0.25rem;
  align-items: center;
  column-gap: 0.25rem;
  display: flex;
}

.c-voice-card__evaluation-label {
  font-size: 0.75rem;
  font-weight: 400;
}

.c-voice-card__evaluation-stars {
  -webkit-column-gap: 0.125rem;
  -moz-column-gap: 0.125rem;
  align-items: center;
  column-gap: 0.125rem;
  display: flex;
}

.c-voice-card__evaluation-star {
  height: 0.9375rem;
  width: 0.9375rem;
}

.c-voice-card__evaluation-score {
  font-family: "Oswald", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.c-voice-card__evaluation-level {
  color: #048606;
  font-size: 0.75rem;
  font-weight: 700;
}

.c-voice-card__used {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  display: flex;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 5%;
  line-height: 100%;
}

.c-voice-card__title {
  color: #048606;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.c-voice-card__tags {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  align-items: center;
  column-gap: 1rem;
  display: flex;
}

.c-voice-card__tag {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  column-gap: 0.5rem;
  display: flex;
  font-size: 0.75rem;
}

.c-voice-list {
  align-items: center;
  display: flex;
  gap: 3.75rem 2.375rem;
  justify-content: center;
  padding-block: 3rem 3rem;
}
.c-voice-list.c-voice-list--pd-min {
  padding-block: 2.5rem 0;
}
.c-voice-list.c-voice-list--pd-high {
  padding-block: 3.75rem;
}

.c-footer-fixed__inner {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  column-gap: 0.5rem;
  display: flex;
  justify-content: space-between;
}

.c-footer-fixed__right {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  align-items: center;
  column-gap: 1rem;
  display: flex;
  justify-content: end;
  max-width: 67.1875rem;
  width: 100%;
}

.c-footer-fixed__call {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  column-gap: 0.5rem;
  display: flex;
}

.c-footer-fixed__call-list {
  align-items: center;
  display: flex;
  justify-content: end;
  max-width: 16.6875rem;
  width: 100%;
}

.c-footer-fixed__call-point {
  -webkit-transform: scale(1.1);
  max-width: 5.75rem;
  transform: scale(1.1);
  width: 100%;
}

.c-footer-fixed__request {
  max-width: 26.125rem;
  transition: all 0.3s;
  width: 100%;
}

.p-404 {
  position: relative;
}
.p-404::before {
  background: url(../img/bg/bg-white-flower.jpg) center center/cover;
  bottom: -7.5rem;
  content: "";
  height: 43.5rem;
  max-width: 73.125rem;
  opacity: 0.1;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: -1;
}

.p-404__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding-block: 7.5rem;
  row-gap: 2.5rem;
}

.p-404__message {
  color: #048606;
  font-family: "Oswald", sans-serif;
}

.p-404__code {
  font-size: 10rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}

.p-404__title {
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}

.p-404__text {
  color: #000;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0%;
  line-height: 1.8;
  text-align: center;
}

.p-archive-voice {
  -webkit-margin-before: 7.5rem;
  margin-block-start: 7.5rem;
}

.p-archive-voice__teb {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  column-gap: 0.5rem;
  display: flex;
}

.p-archive-voice__teb-cta-text {
  font-size: 1rem;
  font-weight: 500;
}

.p-archive-voice__tab-list {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.5rem;
  justify-content: center;
  list-style: none;
}

.p-archive-voice__tab-item {
  width: -webkit-max-content;
  width: max-content;
}
.p-archive-voice__tab-item:first-child {
  max-width: 5.8125rem;
  width: 100%;
}
.p-archive-voice__tab-item:first-child .p-archive-voice__tab-button {
  max-width: 5.8125rem;
  width: 100%;
}

.p-archive-voice__tab-button {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  -webkit-border-before: 1px solid #048606;
  align-items: center;
  background-color: #c9eab9;
  border-block-start: 1px solid #048606;
  border-inline: 1px solid #048606;
  color: #333333;
  column-gap: 0.5rem;
  display: flex;
  font-size: 1rem;
  font-weight: 700;
  height: 4.375rem;
  letter-spacing: 0;
  line-height: 1;
  min-height: 4.0625rem;
  padding-inline: 1.5rem;
  position: relative;
  text-transform: uppercase;
  transition: all 0.3s;
}
.p-archive-voice__tab-button.is-active {
  -webkit-border-before: 1px solid #734b23;
  background-color: #faf7f2;
  border-block-start: 1px solid #734b23;
  border-inline: 1px solid #734b23;
  margin-bottom: -0.0625rem;
  pointer-events: none;
}
.p-archive-voice__tab-button.is-active .c-in-page-nav__icon {
  stroke-width: 0.2;
}
.p-archive-voice__tab-button.is-active::after {
  background-color: #faf7f2; /* 背景色で上書き */
  bottom: -0.0625rem;
  content: "";
  height: 0.0625rem;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.p-archive-voice__tab-item-svg {
  height: 1.5rem;
  min-width: 1.5rem;
}

.p-archive-voice__teb-cta {
  background-color: #048606;
  border-radius: 0.5rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  max-height: 3.5rem;
  padding: 1rem 1.5rem;
  transition: background-color 0.3s;
}

.p-archive-voice__teb-cta-icon {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.p-archive-voice__bg {
  -webkit-border-before: 1px solid #734b23;
  background-color: #faf7f2;
  border-block-start: 1px solid #734b23;
  padding-block: 3.75rem;
}

.p-archive-voice__filter {
  align-items: center;
  background-color: #fff;
  display: flex;
  margin-inline: auto;
  padding: 0.9375rem 0.625rem;
  width: -webkit-max-content;
  width: max-content;
}

.p-archive-voice__filter-title {
  align-items: center;
  color: #048606;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  padding: 0.9375rem 1rem;
}

.p-archive-voice__filter-icon {
  -webkit-margin-end: 0.5rem;
  display: block;
  height: 2.5rem;
  margin-inline-end: 0.5rem;
  width: 2.5rem;
}

.p-archive-voice__filter-list {
  -webkit-column-gap: 0.125rem;
  -moz-column-gap: 0.125rem;
  column-gap: 0.125rem;
  display: flex;
}

.p-archive-voice__filter-button {
  align-items: center;
  background-color: #fff;
  border-style: solid;
  border-width: 1px;
  cursor: pointer;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  height: 4.375rem;
  justify-content: center;
  letter-spacing: 0;
  line-height: 1;
  max-width: 11.875rem;
  padding-inline: 1rem;
  transition: all 0.3s;
  width: 100%;
}
.p-archive-voice__filter-button.is-active {
  color: #fff !important;
  pointer-events: none !important;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--gold {
  border-color: #c7b566;
  color: #c7b566;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--gold.is-active {
  background-color: #c7b566;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--green {
  border-color: #048606;
  color: #048606;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--green.is-active {
  background-color: #048606;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--red {
  border-color: #f15c5c;
  color: #f15c5c;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--red.is-active {
  background-color: #f15c5c;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--blue {
  border-color: #07aa8a;
  color: #07aa8a;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--blue.is-active {
  background-color: #07aa8a;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--purple {
  border-color: #bc83e8;
  color: #bc83e8;
}
.p-archive-voice__filter-button.p-archive-voice__filter-button--purple.is-active {
  background-color: #bc83e8;
}

.p-archive-voice__filter-list > .p-archive-voice__filter-item:first-of-type:not(:only-of-type) > .p-archive-voice__filter-button {
  border-bottom-left-radius: 0.5rem;
  /* 右端だけ */
  border-top-left-radius: 0.5rem;
}

.p-archive-voice__filter-list > .p-archive-voice__filter-item:last-of-type:not(:only-of-type) > .p-archive-voice__filter-button {
  border-bottom-right-radius: 0.5rem;
  /* 左端だけ */
  border-top-right-radius: 0.5rem;
}

.p-archive-voice__list {
  display: grid;
  gap: 3.75rem 2.375rem;
  grid-template-columns: repeat(3, 1fr); /* 3列 */
  grid-template-rows: repeat(3, auto); /* 3行（高さは自動） */
  margin-block: 3rem;
  margin-inline: auto;
  max-width: 60rem;
}

.p-archive-voice__show-more {
  margin-inline: auto;
}

.p-area {
  -webkit-border-before: 4px solid #048606;
  background-color: #faf7f2;
  border-block-start: 4px solid #048606;
  padding-block: 3.75rem;
}

.p-area-hero {
  -webkit-padding-before: 2.5rem;
  padding-block-start: 2.5rem;
}

.p-area-hero__inner {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
}

.p-area-hero__map {
  aspect-ratio: 960/579;
  margin-inline: auto;
  max-height: 36.1875rem;
  max-width: 60rem;
  overflow: hidden;
  padding-block: 2.5rem;
  position: relative;
  width: 100%;
}
.p-area-hero__map section {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.p-area__list {
  display: flex;
  flex-direction: column;
  margin-block: 3.75rem;
  row-gap: 2.5rem;
}

.p-area__list-no-search {
  color: #048606;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}

.p-area__show-more {
  color: #048606;
  display: block;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-inline: auto;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
.p-area__show-more ::after {
  background-image: url(../img/common/green-bg-down-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 1.5rem;
  margin-left: 0.625rem;
  vertical-align: text-top;
  width: 1.5rem;
}

/* =================================
# 各ブロックパターン要素
================================= */
.p-article-blocks {
  margin-top: 3.75rem;
}

.p-article-blocks--large {
  margin-top: 7.5rem;
}

/* =================================
# テキストリンク ホバー要素
================================= */
.wp-block-group__inner-container a {
  color: #048606;
}
/* =================================
# 記事のポイント ブロック
================================= */
.p-article-blocks__recommend {
  padding-inline: 1.25rem;
}

.p-article-blocks__recommend__head .wp-block-group__inner-container {
  align-items: center;
  display: flex;
  gap: 0.3125rem;
  padding-left: 3.75rem;
}

.p-article-blocks__recommend__head img {
  -o-object-fit: contain;
  height: 6rem;
  object-fit: contain;
  width: 3.9375rem;
}

.p-article-blocks__recommend__label {
  background-color: #048606;
  border-radius: 6.25rem;
  color: #fff;
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  margin-top: 1.25rem;
  padding: 0.625rem 1.5rem;
  position: relative;
}

.p-article-blocks__recommend__label::after {
  border-color: #048606 transparent transparent;
  border-style: solid;
  border-width: 0.6875rem 1.25rem 0 0;
  bottom: 5%;
  content: "";
  left: 17%;
  position: absolute;
  translate: calc(-50% - 0.9px) 100%;
}

ul.wp-block-list.p-article-blocks__recommend__body {
  background-color: #f6f6f6;
  padding: 1.5rem;
}

ul.wp-block-list.p-article-blocks__recommend__body li {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.8;
  padding-left: 2.25rem;
  position: relative;
}

ul.wp-block-list.p-article-blocks__recommend__body li::before {
  -webkit-transform: translateY(-50%);
  background: url(../img/common/check-red-icon.svg) center/contain no-repeat;
  content: "";
  height: 1rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
}

ul.wp-block-list.p-article-blocks__recommend__body li:not(:first-child) {
  margin-top: 1rem;
}

/* =================================
# 目次 ブロック
================================= */
.p-article-blocks__toc {
  border: 1px solid #e0e0e0;
  padding: 2.5rem;
}

.p-article-blocks__toc-label {
  color: #048606;
  font-size: 1.5rem;
  line-height: 1;
}

.p-article-blocks__toc ol,
ol.wp-block-list.p-article-blocks__toc-list {
  margin-top: 1.625rem;
}

.p-article-blocks__toc ol li,
ol.wp-block-list.p-article-blocks__toc-list li {
  color: #048606;
  display: inline-block;
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-left: 1.375rem;
  position: relative;
  transition: opacity 0.3s;
}
.p-article-blocks__toc ol li:not(:first-child),
ol.wp-block-list.p-article-blocks__toc-list li:not(:first-child) {
  margin-top: 0.6875rem;
}

.p-article-blocks__toc ol li::before,
ol.wp-block-list.p-article-blocks__toc-list li::before {
  -webkit-transform: translateY(-50%);
  background: url(../img/common/arrow.svg) center center/contain no-repeat;
  content: "";
  height: 0.75rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.75rem;
}

/* =================================
# h3/h4 見出し・テキスト ブロック
================================= */
.p-article-blocks__block--main h3.wp-block-heading {
  border-bottom: 1px solid #048606;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.625rem 0.625rem 1.5rem 0.625rem;
}

.p-article-blocks__block--sub h3.wp-block-heading {
  color: #048606;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-bottom: 1.4375rem;
  position: relative;
  text-align: center;
}

.p-article-blocks__block--sub h3.wp-block-heading::before {
  -webkit-transform: translate(-50%, -50%);
  background-color: #048606;
  bottom: -15px;
  content: "";
  height: 0.125rem;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 5.125rem;
}

.p-article-blocks__block h4.wp-block-heading {
  border-left: 4px solid #048606;
  color: #048606;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 2rem;
  padding: 0.625rem 0.625rem 0.625rem 0.75rem;
}

.p-article-blocks__block p {
  color: #000;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 2rem;
}

.p-article-blocks__block p:first-of-type {
  margin-top: 2.5rem;
}

/* =================================
# 画像1枚と2枚のパターン ブロック
================================= */
.p-article-blocks__image--single figure,
.p-article-blocks__image--single .wp-block-image {
  width: min(100%, 45rem);
}

.p-article-blocks__image--single img {
  -o-object-fit: cover;
  aspect-ratio: 720/480;
  height: auto;
  object-fit: cover;
}

.wp-block-group.is-layout-flex {
  align-items: initial;
  display: flex;
  gap: 1.25rem;
}

.p-article-blocks__image--double figure,
.p-article-blocks__image--double .wp-block-column {
  width: min(100%, 21.875rem);
}

.p-article-blocks__image--double img {
  -o-object-fit: cover;
  aspect-ratio: 350/284;
  height: auto;
  object-fit: cover;
}

.p-article-blocks__image figcaption,
.wp-block-image figcaption {
  color: #adadad;
  font-size: 0.75rem;
  line-height: 1.8;
  margin-top: 0.5rem;
}

/* =================================
# コラム詳細 「監修者」 エリア
================================= */
.p-article-author,
.wp-block-group.p-article-author {
  border: 1px solid #048606;
  margin-top: 4.6875rem;
  padding: 2.5rem;
  position: relative;
}

.p-article-author__label,
.wp-block-group .p-article-author__label {
  background-color: #fff;
  color: #048606;
  font-size: 0.875rem;
  font-weight: 400;
  left: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 0 0.625rem;
  position: absolute;
  top: -0.75rem;
}

.p-article-author__box,
.wp-block-group .p-article-author__box {
  align-items: center;
  display: flex;
  gap: 1.5rem;
}

.p-article-author__img,
.wp-block-group .p-article-author__img {
  width: min(100%, 8.125rem);
}

.p-article-author__img img,
.wp-block-group .p-article-author__img img {
  -o-object-fit: cover;
  aspect-ratio: 130/130;
  height: auto;
  object-fit: cover;
}

.p-article-author__body,
.wp-block-group .p-article-author__body {
  flex: 1;
}

.p-article-author__name,
.wp-block-group .p-article-author__name {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-article-author__text,
.wp-block-group .p-article-author__text {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 1rem;
}

.p-article-author__link,
.wp-block-group .p-article-author__link {
  color: #048606;
  display: block;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 1rem;
  transition: opacity 0.3s;
}
/* =================================
# お知らせ詳細 「合わせて読みたい」 ブログカード
================================= */
.p-article-related {
  border: 1px solid #048606;
  margin-top: 5rem;
  position: relative;
}

.p-article-related__label {
  background-color: #048606;
  border-radius: 6.25rem;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 500;
  left: 0.5rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.5rem 1.25rem;
  position: absolute;
  top: -1rem;
}

.p-article-related__link {
  display: block;
  padding: 2.5rem;
  transition: opacity 0.3s;
}
.p-article-related__box {
  display: flex;
  gap: 1.5rem;
}

.p-article-related__img {
  width: min(100%, 8.125rem);
}

.p-article-related__img img {
  -o-object-fit: cover;
  aspect-ratio: 130/130;
  height: auto;
  object-fit: cover;
}

.p-article-related__body {
  flex: 1;
}

.p-article-related__name {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #048606;
  display: -webkit-box;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  overflow: hidden;
}

.p-article-related__text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 1rem;
  overflow: hidden;
}

/* =================================
# 「ニュース・コラム」詳細ページ 共通要素
================================= */
.p-article-detail {
  padding-bottom: 7.5rem;
  padding-top: 3.75rem;
}

.p-article-detail__inner {
  display: flex;
  gap: 2.5rem;
  margin-inline: auto;
  padding-inline: 1.5625rem;
  width: min(100%, 68.125rem);
}

.p-article-detail__container {
  width: min(100%, 45rem);
}

.p-article-detail__content {
  margin-top: 2rem;
}

.p-article-detail__label {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.p-article-detail__label img {
  height: 3.875rem;
  width: 3.875rem;
}

.p-article-detail__label-text {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

.p-article-detail__label-text span {
  color: #048606;
}

.p-article-detail__title {
  color: #000;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.5rem;
}

.p-article-detail__meta {
  align-items: center;
  display: flex;
  gap: 1rem;
  margin-top: 1.5rem;
}

.p-article-detail__date {
  align-items: center;
  display: flex;
  flex-shrink: 0;
  gap: 0.5rem;
}

.p-article-detail__date-label {
  color: #adadad;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-left: 1.125rem;
  position: relative;
}

.p-article-detail__date-label::before {
  -webkit-transform: translateY(-50%);
  background: url(../img/common/update-icon.svg) center center/contain no-repeat;
  content: "";
  height: 1.06875rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.875rem;
}

.p-article-detail__date-time {
  color: #adadad;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-article-detail__category-list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.p-article-detail__category-item {
  border: 1px solid #66d767;
  border-radius: 0.25rem;
  color: #66d767;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.25rem 0.5rem;
}

.p-article-detail__eyecatch {
  margin-top: 2.375rem;
}

.p-article-detail__eyecatch img {
  -o-object-fit: cover;
  aspect-ratio: 720/405;
  height: auto;
  object-fit: cover;
}

.p-article-detail__lead {
  color: #000;
  font-size: 1rem;
  line-height: 1.8;
  margin-top: 2.5rem;
}

/* =================================
# シェアボタンエリア
================================= */
.p-article-share {
  align-items: center;
  background-color: #f6f6f6;
  display: flex;
  gap: 2.5rem;
  justify-content: center;
  margin-top: 3.75rem;
  padding-block: 1rem;
}

.p-article-share__text {
  color: #000;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}

.p-article-share__list {
  display: flex;
  gap: 1.25rem;
}

.p-article-share__list-item {
  height: 1.5rem;
  width: 1.5rem;
}

.p-article-share__list-item img {
  -o-object-fit: cover;
  aspect-ratio: 1;
  border-radius: 0.25rem;
  height: auto;
  object-fit: cover;
}

.p-article-share__toast {
  -webkit-transform: translateY(20px);
  background: rgba(0, 0, 0, 0.8);
  border-radius: 0.375rem;
  bottom: 30px;
  color: #fff;
  font-size: 0.875rem;
  opacity: 0;
  padding: 0.625rem 1rem;
  pointer-events: none;
  position: fixed;
  right: 30px;
  transform: translateY(20px);
  transition: opacity 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, -webkit-transform 0.3s;
  z-index: 1000;
}

.p-article-share__toast.is-show {
  -webkit-transform: translateY(0);
  opacity: 1;
  transform: translateY(0);
}

/* =================================
# サイドバー
================================= */
.p-sidebar {
  width: min(100%, 17.5rem);
}

/* =================================
# 新着記事リスト
================================= */
.p-sidebar__posts-title {
  border-bottom: 1px solid #048606;
  color: #048606;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-bottom: 0.875rem;
}

.p-sidebar__posts-list {
  margin-top: 0.625rem;
}

.p-sidebar__posts-wrap {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}

.p-sidebar__posts-item {
  transition: opacity 0.3s;
}

.p-sidebar__posts-item:not(:first-child) {
  margin-top: 0.4375rem;
}
.p-sidebar__posts-img {
  width: min(100%, 6.25rem);
}

.p-sidebar__posts-img img {
  -o-object-fit: cover;
  aspect-ratio: 100/75;
  height: auto;
  object-fit: cover;
}

.p-sidebar__posts-content {
  flex: 1;
}

.p-sidebar__posts-category {
  border: 1px solid #66d767;
  border-radius: 0.25rem;
  color: #66d767;
  font-size: 0.625rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.03125rem 0.4375rem;
}

.p-sidebar__posts-text {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #048606;
  display: -webkit-box;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 0.5rem;
  overflow: hidden;
}

.p-sidebar__posts-date {
  color: #adadad;
  display: inline-block;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 0.5rem;
}

/* =================================
# カテゴリ
================================= */
.p-sidebar__category {
  margin-top: 3.375rem;
}

.p-sidebar__category-title {
  border-bottom: 1px solid #048606;
  color: #048606;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-bottom: 1rem;
}

.p-sidebar__category-item {
  margin-top: 2rem;
}

.p-sidebar__category-link {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 0.5rem;
  position: relative;
}

.p-sidebar__category-link::after {
  -webkit-transform: translateY(-50%);
  background: url(../img/common/green-bg-right-arrow.svg) center center/contain no-repeat;
  content: "";
  height: 0.875rem;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 0.875rem;
}
.p-sidebar__category-link img {
  -o-object-fit: contain;
  height: 1.5rem;
  object-fit: contain;
  width: 1.5rem;
}

.p-sidebar__category-name {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}

.p-sidebar__subcategory-list {
  height: 0;
  margin-left: auto;
  overflow: hidden;
  transition: height 0.3s ease;
  width: min(100%, 15.375rem);
}
.p-sidebar__subcategory-item {
  border-bottom: 1px solid #66d767;
  margin-top: 1rem;
}

.p-sidebar__subcategory-link {
  color: #048606;
  display: block;
  font-size: 0.875rem;
  line-height: 1;
  padding-bottom: 1rem;
  position: relative;
  transition: opacity 0.3s;
}

.p-sidebar__subcategory-link::after {
  background: url(../img/common/arrow.svg) center center/contain no-repeat;
  content: "";
  height: 0.4375rem;
  position: absolute;
  right: 0;
  top: 4px;
  width: 0.25rem;
}
/* =================================
# バナーエリア
================================= */
.p-sidebar__banner {
  margin-top: 3.75rem;
}

.p-sidebar__banner-item {
  width: 100%;
}

.p-sidebar__banner-item:not(:first-child) {
  margin-top: 1rem;
}

.p-sidebar__banner-item a {
  display: block;
  transition: opacity 0.3s ease;
}
.p-sidebar__banner-item img {
  -o-object-fit: cover;
  height: auto;
  object-fit: cover;
}

.p-sidebar__banner-cta {
  margin-top: 1rem;
}

.p-sidebar__banner-text {
  align-items: baseline;
  display: flex;
  justify-content: center;
}

.p-sidebar__banner-text-line {
  font-size: 0.84375rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.3;
  position: relative;
}

.p-sidebar__banner-text-line span {
  color: #f15c5c;
  font-size: 0.96875rem;
}

.p-sidebar__banner-text-line::before,
.p-sidebar__banner-text-line::after {
  background: #333333;
  content: "";
  display: block;
  height: 1.1875rem;
  position: absolute;
  width: 0.0625rem;
}

.p-sidebar__banner-text-line::before {
  -webkit-transform: rotate(-30deg);
  bottom: -15%;
  left: -6%;
  transform: rotate(-30deg);
}

.p-sidebar__banner-text-line::after {
  -webkit-transform: rotate(30deg);
  bottom: -15%;
  right: -5%;
  transform: rotate(30deg);
}

.p-sidebar__banner-cta-link {
  display: block;
  margin-top: 0.3125rem;
  transition: opacity 0.3s;
}
.p-sidebar__banner-cta-link img {
  -o-object-fit: cover;
  aspect-ratio: 380/129;
  height: auto;
  object-fit: cover;
}

/* =================================
# 葬儀コラム ヒーローセクション
================================= */
.p-column__hero {
  background: linear-gradient(to bottom, #e6f0e6, #ffffff);
  overflow: hidden;
  padding-bottom: 7.5rem;
  position: relative;
  z-index: 1;
}

.p-column__hero-bg {
  background: url(../img/column/bg-img01.png) top center/contain no-repeat;
  height: 4.5rem;
  position: absolute;
  width: 100%;
}

.p-column__hero::before {
  background: url(../img/column/deco-img1.png) center -40px/contain no-repeat;
  content: "";
  height: 33.8125rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 56.8125rem;
  z-index: -1;
}

.p-column__hero-inner {
  align-items: center;
  display: flex;
  gap: 1.5rem;
  margin-inline: auto;
  padding-inline: 3.25rem;
  padding-top: 8.25rem;
  width: min(100%, 74.0625rem);
}

.p-column__hero-logo {
  position: relative;
  width: min(100%, 24.125rem);
  z-index: 1;
}

.p-column__hero-logo img {
  -o-object-fit: cover;
  aspect-ratio: 386/163;
  height: auto;
  object-fit: cover;
}

.p-column__hero-lead {
  flex: 1;
  text-align: center;
  width: 100%;
}

.p-column__hero-catch {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  position: relative;
}

.p-column__hero-main {
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1.8;
}

.p-column__hero-highlight {
  color: #048606;
  display: inline-block;
  font-size: 2rem;
  line-height: 1.8;
}

.p-column__hero-highlight::before {
  background-color: #048606;
  bottom: 0;
  content: "";
  height: 0.0625rem;
  left: 0.3125rem;
  position: absolute;
  width: 95%;
}

.p-column__hero-sub {
  display: inline-block;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.8;
  position: relative;
  text-align: center;
}

.p-column__hero-sub::before {
  background-color: #048606;
  bottom: 0;
  content: "";
  height: 0.0625rem;
  left: 0.125rem;
  position: absolute;
  width: 98%;
}

/* =================================
# Swiper カテゴリ一覧
================================= */
.p-category-swiper__container {
  margin-inline: auto;
  overflow-x: hidden;
  width: min(100%, 50rem);
}

.p-category-slider,
.swiper-container {
  margin-inline: auto;
  width: min(100%, 46.625rem);
}

.p-category-slider,
.swiper-wrapper {
  align-items: center;
  display: flex;
  position: relative;
}

.p-category-slider,
.swiper-slide {
  width: 9.25rem;
}

.p-category-slider,
.swiper-wrapper {
  min-height: 9.375rem;
}

.p-category-slide {
  display: block;
  position: relative;
}

.swiper-slide .p-category-slide {
  -webkit-transform: scale(0.75);
  opacity: 0.6;
  transform: scale(0.75);
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.swiper-slide-active .p-category-slide {
  -webkit-transform: scale(1);
  opacity: 1;
  transform: scale(1);
}

.p-category-slide img {
  -o-object-fit: cover;
  aspect-ratio: 148/148;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.p-category__title {
  -webkit-transform: translate(-50%, -50%);
  color: #fff;
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 1.125rem;
  font-weight: 500;
  left: 50%;
  line-height: 1.4;
  position: absolute;
  text-align: center;
  top: 55%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.p-category-slider__prev,
.p-category-slider__next {
  -webkit-transform: translateY(-50%);
  cursor: pointer;
  height: 1.5625rem;
  opacity: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.4s ease, visibility 0.4s ease;
  visibility: visible;
  width: 1.5625rem;
  z-index: 5;
}

.p-category-slider__prev.is-disabled,
.p-category-slider__next.is-disabled {
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
}

.p-category-slider__prev {
  left: -2.375rem;
}

.p-category-slider__next {
  right: -2.25rem;
}

.p-category-slider__prev::before,
.p-category-slider__next::before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
}

.p-category-slider__prev::before {
  background: url(../img/column/left-arrow.svg) center center/contain no-repeat;
}

.p-category-slider__next::before {
  background: url(../img/column/right-arrow.svg) center center/contain no-repeat;
}

/* =================================
# ピックアップ記事
================================= */
.p-column__pickup {
  padding-bottom: 6.75rem;
  position: relative;
  z-index: 1;
}

.p-column__pickup-inner {
  margin-inline: auto;
  padding-inline: 3.25rem;
  width: min(100%, 71.5rem);
}

.p-column__pickup-title {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-left: 1rem;
  position: relative;
}

.p-column__pickup-title::before {
  -webkit-transform: translateY(-50%);
  border-left: 4px solid #048606;
  content: "";
  height: 1.5rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.p-column__card-container {
  margin-inline: auto;
  margin-top: 2.5rem;
  width: min(100%, 60rem);
}

/* =================================
# 各カテゴリーリスト
================================= */
.p-column-category {
  -o-border-image: linear-gradient(to right, #8f622f, #f3e7c9, #8f622f) 1;
  background-color: rgba(198, 234, 199, 0.26);
  border-bottom: 8px solid;
  border-image: linear-gradient(to right, #8f622f, #f3e7c9, #8f622f) 1;
  border-top: 8px solid;
  padding-bottom: 7.5rem;
  padding-top: 3.75rem;
  position: relative;
  width: 100%;
}

.p-column-category::before {
  background: url(../img/column/bg-img02.png) center top/1440px repeat-y;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.p-column-category__inner {
  margin-inline: auto;
  padding-inline: 3.25rem;
  width: min(100%, 71.5rem);
}

.p-column-category__list {
  align-items: center;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  margin-inline: auto;
  width: min(100%, 54.125rem);
}

.p-column-category__link {
  align-items: center;
  background-color: #048606;
  border: 1px solid transparent;
  display: flex;
  gap: 0.5rem;
  padding: 1.375rem 0.9375rem;
  transition: all 0.3s;
}

.p-column-category__text {
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  transition: color 0.3s;
}

.p-column-category__link svg rect {
  fill: #fff; /* 初期の白背景 */
  transition: fill 0.3s;
}

.p-column-category__link svg path {
  fill: #048606; /* 緑の矢印 */
  stroke: #048606;
  stroke-width: 0.5;
  transition: all 0.3s;
}

.p-column-category__icon svg {
  border-radius: 50%;
  height: 1.5rem;
  width: 1.5rem;
}
/* =================================
# 各カテゴリー メインコンテナー
================================= */
.p-column-category__container {
  margin-top: 3.75rem;
}

.p-column-category__block {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 0.5rem;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.15);
  padding: 2.5rem;
}

.p-column-category__block:not(:first-child) {
  margin-top: 7.5rem;
}

.p-column-category__head {
  -o-border-image: linear-gradient(to right, #f3e7c9, #8f622f, #f3e7c9) 1;
  align-items: center;
  border-bottom: 2px solid;
  border-image: linear-gradient(to right, #f3e7c9, #8f622f, #f3e7c9) 1;
  display: flex;
  gap: 1rem;
  padding-bottom: 1rem;
}

.p-column-category__head-icon {
  height: 3.875rem;
  width: 3.875rem;
}

.p-column-category__head-title {
  align-items: center;
  display: flex;
  flex-shrink: 0;
}

.p-column-category__head-title-main {
  color: #048606;
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
}

.p-column-category__head-title-sub {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}

.p-column-category__head-title-text {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  margin-left: 0.25rem;
}

.p-column-category__btn {
  margin-top: 2.5rem;
  text-align: center;
}

.p-column-category__btn button {
  background-color: #048606;
  border-radius: 9999px;
  color: #fff;
  display: inline-flex;
  font-size: 1.125rem;
  font-weight: bold;
  gap: 0.625rem;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-block: 1.34375rem;
  transition: background-color 0.3s ease;
  width: min(100%, 25rem);
}

.p-column-category__btn button:hover {
  background-color: #66d767;
}

.p-column-category__btn-arrow img {
  height: 1.4375rem;
  width: 1.4375rem;
}

.p-column-category__btn-more.js-load-more {
  display: none;
}

/* =================================
# お問い合せ確認ページ
================================= */
.p-contact-confirm {
  background-color: #e6f0e6;
  padding-bottom: 3.75rem;
  padding-top: 4.375rem;
}

.p-contact-confirm__inner {
  margin-inline: auto;
  padding-inline: 3.25rem;
  width: min(100%, 71.5rem);
}

/* =================================
# 確認項目一覧
================================= */
.p-contact-confirm__block + .p-contact-confirm__block {
  margin-top: 4.375rem;
}

.p-contact-confirm__title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-left: 1rem;
  position: relative;
}

.p-contact-confirm__title::before {
  -webkit-transform: translateY(-50%);
  background-color: #048606;
  content: "";
  height: 2.375rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.25rem;
}

.p-contact-confirm__radio {
  color: #000;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 3rem;
}

.p-contact-confirm__item {
  align-items: center;
  border-bottom: 1px solid #adadad;
  display: flex;
  margin-top: 2.375rem;
  padding-bottom: 1.5rem;
}

.p-contact-confirm__item:first-child {
  margin-top: 3.125rem;
}

.p-contact-confirm__item--tel {
  align-items: flex-start;
  flex-direction: column;
}

.p-contact-confirm__item-wrap {
  display: flex;
  width: 100%;
}

.p-contact-confirm__label {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
  width: min(100%, 20rem);
}

.p-contact-confirm__value {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
  overflow-wrap: break-word;
  word-break: break-all;
}

.p-contact-confirm__note {
  color: #000;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-top: 1rem;
}

.p-contact-confirm__message {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-top: 3.125rem;
}

.p-contact-confirm__submit {
  margin-top: 2.5rem;
  text-align: center;
}

.p-contact-confirm__submit-button {
  background-color: #f15c5c;
  border-radius: 3.375rem;
  color: #fff;
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin-inline: auto;
  padding-block: 1.4375rem;
  transition: background-color 0.3s;
  width: min(100%, 31.25rem);
}
/* =================================
# コンタクトヘッド 共通部分
================================= */
.p-contact-head {
  padding-bottom: 7.5rem;
}

.p-contact-head--thanks {
  padding-bottom: 2.625rem;
}

.p-contact-head__inner {
  margin-inline: auto;
  margin-top: 3.25rem;
  padding-inline: 3.25rem;
  width: min(100%, 71.5rem);
}

.p-contact-head__tel {
  margin-bottom: 7.5rem;
}

.p-contact-head__tel-title {
  color: #048606;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 1rem;
  position: relative;
  text-align: center;
}

.p-contact-head__tel-title::before {
  -webkit-transform: translateX(-50%);
  background-color: #048606;
  bottom: 0;
  content: "";
  height: 0.125rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 5.1rem;
}

.p-contact-head__tel-list {
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  margin-top: 2rem;
}

.p-contact-head__tel-item {
  background-color: #fff;
  border: 1px solid #048606;
  border-radius: 1.5rem;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.15);
  padding: 1.5rem 2rem;
  width: min(100%, 21.25rem);
}

.p-contact-head__tel-box {
  display: flex;
  flex-direction: column;
}

.p-contact-head__tel-label {
  background-color: #048606;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-block: 0.625rem;
  text-align: center;
  width: 17.25rem;
}

.p-contact-head__tel-number {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  height: 2.5rem;
  justify-content: center;
  margin-top: 0.625rem;
}

.p-contact-head__tel-number img {
  width: 2.5rem;
}

.p-contact-head__tel-number span {
  text-wrap: nowrap;
  color: #048606;
  font-family: "Oswald", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.05;
}

.p-contact-head__tel-note {
  text-wrap: nowrap;
  display: inline-block;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-left: 2.875rem;
  margin-top: 0.875rem;
}

.p-contact-head__tel-note span {
  font-size: 0.75rem;
}

/* =================================
# フォーム導線セクション
================================= */
.p-contact-head__form {
  text-align: center;
}

.p-contact-head__form-title {
  color: #048606;
  font-size: 2.375rem;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 1rem;
  position: relative;
  text-align: center;
}

.p-contact-head__form-title::before {
  -webkit-transform: translateX(-50%);
  background-color: #048606;
  bottom: 0;
  content: "";
  height: 0.125rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 5.1rem;
}

.p-contact-head__steps {
  display: flex;
  gap: 5rem;
  justify-content: center;
  margin-top: 2.5rem;
  position: relative;
}

.p-contact-head__steps::before {
  -webkit-transform: translateX(-50%);
  background-color: #048606;
  content: "";
  height: 0.0625rem;
  left: 50%;
  position: absolute;
  top: 1.875rem;
  transform: translateX(-50%);
  width: 40%;
  z-index: -1;
}

.p-contact-head__step {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: min(100%, 7rem);
}

.p-contact-head__step-number {
  align-items: center;
  background-color: #fff;
  border: 1px solid #048606;
  border-radius: 9999px;
  color: #048606;
  display: flex;
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  height: 3.75rem;
  justify-content: center;
  line-height: 1;
  width: 3.75rem;
}

.p-contact-head__step-label {
  color: #048606;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
}

.p-contact-head__step-number.is-current {
  background-color: #048606;
  color: #fff;
}

.p-contact-head__step-label.is-current {
  color: #333333;
}

/* =================================
# 完了ページ要素
================================= */
.p-contact-thanks {
  margin-top: 5rem;
}

.p-contact-thanks__inner {
  margin-inline: auto;
  width: min(100%, 52.0625rem);
}

.p-contact-thanks__text {
  font-size: 1.125rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.p-contact-thanks__button {
  margin-top: 5rem;
  text-align: center;
}

.p-contact-thanks__link {
  background-color: #048606;
  border-radius: 3.375rem;
  color: #fff;
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin-inline: auto;
  padding-block: 1.4375rem;
  transition: background-color 0.3s;
  width: min(100%, 31.25rem);
}
/* =================================
# コンタクトフォーム
================================= */
.p-contact {
  background-color: #e6f0e6;
  padding-bottom: 1.875rem;
  padding-top: 4.125rem;
}

.p-contact__form {
  margin-inline: auto;
  padding-inline: 3.25rem;
  width: min(100%, 71.5rem);
}

.p-contact__block + .p-contact__block {
  margin-top: 3.75rem;
}

.p-contact__wrap {
  margin-top: 2.5rem;
}

/* =================================
# 見出し＆必須
================================= */
.p-contact__title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-left: 1rem;
  position: relative;
}

.p-contact__title::before {
  -webkit-transform: translateY(-50%);
  background-color: #048606;
  content: "";
  height: 2.375rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.25rem;
}

.p-contact__required {
  background-color: #f15c5c;
  color: #fff;
  display: inline-flex;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-left: 0.5rem;
  padding: 0.25rem 0.625rem;
}

.p-contact__required--title {
  margin-left: 1rem;
}

/* =================================
# ラジオボタン要素
================================= */
.p-contact__radio-list {
  display: flex;
  flex-direction: column;
}

.p-contact__radio-list .wpcf7-list-item {
  margin-left: initial;
}

.p-contact__radio-list .wpcf7-list-item:not(:first-child) {
  display: block;
  margin-top: 1.5rem;
}

.p-contact__radio-list .wpcf7-list-item-label {
  color: #000;
  cursor: pointer;
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-left: 2.25rem;
  position: relative;
}

.p-contact__radio-list input[type=radio] {
  opacity: 0;
  position: absolute;
  z-index: -1;
}

.p-contact__radio-list input[type=radio] + .wpcf7-list-item-label::before {
  -webkit-transform: translateY(-50%);
  background-color: #fff;
  border: 1px solid #048606;
  border-radius: 50%;
  content: "";
  height: 1.25rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
}

.p-contact__radio-list input[type=radio]:checked + .wpcf7-list-item-label::after {
  -webkit-transform: translateY(-50%);
  background-color: #048606;
  border-radius: 50%;
  content: "";
  height: 0.625rem;
  left: 0.3125rem;
  opacity: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.3s;
  width: 0.625rem;
}

/* =================================
# 基本スタイル要素
================================= */
.p-contact__group {
  display: flex;
  gap: 1rem;
  position: relative;
}

.p-contact__field {
  width: 100%;
}

.p-contact__label {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-contact__input-element {
  background-color: #fff;
  border-radius: 0.5rem;
  display: block;
  font-size: 1rem;
  height: 3.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 0.5rem;
  padding-inline: 1.5rem;
  width: 100%;
}

.p-contact__input-element::-webkit-input-placeholder {
  color: #adadad;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-contact__input-element:-ms-input-placeholder {
  color: #adadad;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-contact__input-element::-ms-input-placeholder {
  color: #adadad;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-contact__input-element::placeholder {
  color: #adadad;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-contact__input-element:focus {
  border: 1px solid #048606;
}

.p-contact__note {
  color: #000;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-top: 1rem;
}

.p-contact__group--zip {
  gap: 1.5rem;
}

.p-contact__field--zip {
  width: min(100%, 43.5625rem);
}

.p-contact__zip-button {
  width: min(100%, 20rem);
}

.p-contact__zip-search {
  background-color: #048606;
  border-radius: 3.375rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  height: 4.0625rem;
  line-height: 1;
  margin-top: 1.75rem;
  transition: background-color 0.3s;
  width: 100%;
}
/* =================================
# お問い合せ内容ブロック
================================= */
.p-contact__textarea {
  background-color: #fff;
  border-radius: 0.5rem;
  color: #000;
  display: block;
  font-size: 1rem;
  height: 15rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 1.5rem;
  resize: vertical;
  width: 100%;
}

.p-contact__textarea::-webkit-input-placeholder {
  color: #adadad;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-contact__textarea:-ms-input-placeholder {
  color: #adadad;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-contact__textarea::-ms-input-placeholder {
  color: #adadad;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-contact__textarea::placeholder {
  color: #adadad;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-contact__textarea:focus {
  border: 1px solid #048606;
}

/* =================================
# 確認画面遷移ボタン
================================= */
.p-contact__submit {
  margin-top: 2.625rem;
  text-align: center;
}

.p-contact__submit-button {
  background-color: #f15c5c;
  border-radius: 3.375rem;
  color: #fff;
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  margin-inline: auto;
  padding-block: 1.4375rem;
  transition: background-color 0.3s;
  width: min(100%, 31.25rem);
}
/* =================================
# お問い合わせ用フッター変更CSS（通常のヘッダーは非表示）
================================= */
.is-page-contact-flow .l-footer {
  display: none;
}

/* =================================
# バリデーションスタイル
================================= */
.p-contact__input-element.wpcf7-not-valid {
  border: 2px solid #f15c5c;
  position: relative;
}

.p-contact__textarea.wpcf7-not-valid {
  border: 2px solid #f15c5c;
  position: relative;
}

.p-contact__field .wpcf7-not-valid-tip {
  color: #f15c5c;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-top: 1rem;
  padding-left: 1.5rem;
  position: relative;
}

.p-contact__field .wpcf7-not-valid-tip::before {
  background: url(../img/contact/valid-icon.svg) center center/contain no-repeat;
  content: "";
  height: 1rem;
  left: 0;
  position: absolute;
  top: 0.0625rem;
  width: 1rem;
}

/* 【 名前・フリガナ欄 】 PC・SPでのエラー表示の出し分け */
.wpcf7-form-control-wrap[data-name=first-name] .wpcf7-not-valid-tip,
.wpcf7-form-control-wrap[data-name=first-kana] .wpcf7-not-valid-tip {
  display: none;
}
.p-contact__error-message {
  margin-inline: auto;
  width: min(100%, 45.6875rem);
}

.wpcf7 form .p-contact__error-message .wpcf7-response-output {
  background-color: #f15c5c;
  border: none;
  color: #fff810;
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 3.75rem;
  margin-inline: initial;
  margin-top: initial;
  padding-block: 1rem;
  text-align: center;
}

.wpcf7 input[type=submit].is-disabled,
.wpcf7 button[type=submit].is-disabled {
  background-color: #adadad;
  cursor: not-allowed;
  pointer-events: none;
}

.p-facility-hero {
  padding-top: 12.5rem;
  position: relative;
}

.p-facility-hero__body {
  margin-inline: auto;
  position: relative;
  z-index: 10;
}

.p-single-voice__thumbnail {
  height: 100%;
  max-height: 22.546875rem;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 5;
}
.p-single-voice__thumbnail img {
  -o-object-fit: cover;
  -o-object-position: 0 45%;
  height: 100%;
  object-fit: cover;
  object-position: 0 45%;
}

.p-facility-appearance {
  background-color: #faf7f2;
  position: relative;
}
.p-facility-appearance::before, .p-facility-appearance::after {
  background: linear-gradient(to left, #8f622f, #f3e7c9, #8f622f);
  content: "";
  height: 8px; /* ボーダーの太さ */
  position: absolute;
  width: 100%;
}
.p-facility-appearance::before {
  left: 0;
  top: 0;
}
.p-facility-appearance::after {
  bottom: 0;
  left: 0;
}

.p-facility-appearance__inner {
  padding-block: 7.6875rem 7.5rem;
}

.p-facility-appearance__body {
  margin-inline: auto;
  max-width: 65rem;
}

.p-facility-appearance__container {
  -webkit-margin-before: 3.75rem;
  display: flex;
  flex-direction: column;
  margin-block-start: 3.75rem;
  row-gap: 2rem;
}

.p-facility-appearance__slider {
  max-width: 65rem;
  width: 100%;
}

.p-facility-appearance__slide {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  max-height: 32.375rem;
  position: relative;
  width: 100%;
}

.p-facility-appearance__img {
  height: 24.875rem;
  max-width: 39.75rem;
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: 10;
}
.p-facility-appearance__img img {
  height: 100%;
}

.p-facility-appearance__bg {
  height: 32.375rem;
  opacity: 0.2;
  overflow: hidden;
  width: 100%;
}
.p-facility-appearance__bg img {
  height: 100%;
}

.p-facility-appearance__selector {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  display: flex;
  min-height: 0;
}

.p-facility-appearance__selector-wrap {
  margin: 0;
}

.p-facility-appearance__selector-item {
  aspect-ratio: 140/88;
  cursor: pointer;
  height: 100%;
  max-width: 8.75rem;
  opacity: 0.5;
  width: 100%;
}
.p-facility-appearance__selector-item.swiper-slide-thumb-active {
  opacity: 1;
  position: relative;
}
.p-facility-appearance__selector-item.swiper-slide-thumb-active::before {
  border: 4px solid #66d767;
  content: "";
  height: 100%;
  position: absolute;
  width: 100%;
}

.p-facility-appearance__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.p-facility__info {
  display: flex;
  flex-direction: column;
  margin-top: 2.5rem;
  max-width: 62.5rem;
  row-gap: 3.5rem;
}

.p-facility-access {
  background-color: #f6f6f6;
}

.p-facility-access__inner {
  padding-block: 3.75rem 4.1875rem;
}

.p-facility-access__body {
  -webkit-margin-before: 3.75rem;
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-block-start: 3.75rem;
  margin-inline: auto;
  max-width: 60rem;
  row-gap: 2.5rem;
}

.p-facility-access__map-wrap {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  display: flex;
  width: 100%;
}

.p-facility-access__img {
  max-height: 23.8125rem;
  max-width: 32.375rem;
  overflow: hidden;
  width: 100%;
}
.p-facility-access__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.p-facility-access__map {
  aspect-ratio: 508/383;
  max-height: 23.8125rem;
  max-width: 32.375rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.p-facility-access__map iframe {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/* =================================
# お知らせ一覧
================================= */
.p-news {
  padding-bottom: 7.5rem;
}

.p-news__list-container {
  margin: auto;
  margin-top: 3.75rem;
  max-width: 63.125rem;
  padding: 0 1.5625rem;
  width: 100%;
}

.p-news-list__item a {
  align-items: center;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  padding-bottom: 2.375rem;
  transition: opacity 0.3s;
}
.p-news-list__item:not(:first-child) {
  margin-top: 2.5rem;
}

.p-news-list__item-meta {
  align-items: center;
  display: flex;
  flex-shrink: 0;
}

.p-news-list__item-date {
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-news-list__item-category {
  background-color: #fff;
  border: 1px solid #333333;
  border-radius: 6.25rem;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-left: 1rem;
  min-width: 5.125rem;
  padding: 0.5rem 1rem;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-news-list__item-title {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  display: -webkit-box;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-left: 1rem;
  overflow: hidden;
}

.p-pageTop {
  bottom: 1.875rem;
  cursor: pointer;
  position: fixed;
  right: 1.875rem;
  z-index: 50;
}

.p-pageTop__wrap {
  position: relative;
}

.p-pageTop__wrap img {
  width: 3.125rem;
}

.p-pageTop__wrap img:nth-of-type(2) {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: 0.5s opacity;
}
/* ======================================
# 料金ページセクション
========================================= */
/* ================================
# トップ ヘディング＆各プランリンク セクション
================================= */
.p-plan {
  padding-bottom: 7.8125rem;
  padding-top: 3.875rem;
  position: relative;
}

.p-plan::before {
  background: url(../img/plan/plan-bg-img01.jpg) center center/cover no-repeat;
  content: "";
  height: 23.125rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.p-plan__inner {
  margin-inline: auto;
  padding-inline: 3.25rem;
  width: min(100%, 88.75rem);
}

.p-plan__heading {
  margin-inline: auto;
  width: min(100%, 62.8125rem);
}

.p-plan__heading-inner {
  align-items: center;
  display: flex;
  gap: 0.8125rem;
}

.p-plan__heading-title {
  background-color: #105516;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
  padding: 0.5rem 1.0625rem;
}

.p-plan__heading-text {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}

.p-plan__heading-highlight {
  -webkit-text-decoration: 1px underline;
  color: #fff810;
  display: inline-block;
  text-decoration: 1px underline;
  text-decoration-color: #fff810;
  text-underline-offset: 2px;
}

/* =================================
# プランリスト
================================= */
.p-plan__list {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 4.375rem;
}

.p-plan__item {
  border: 1px solid transparent;
  border-radius: 1.25rem;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.15);
  position: relative;
  transition: box-shadow 0.5s, border 0.3s;
}

.p-plan__card {
  display: block;
}

.p-plan__card::before {
  -webkit-transform: translateX(-50%);
  background: url(../img/common/green-bg-down-arrow.svg) center center/contain no-repeat;
  bottom: -0.9375rem;
  content: "";
  height: 1.875rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  transition: bottom 0.3s ease-in-out;
  width: 1.875rem;
  will-change: transform;
  z-index: 1;
}

.p-plan__image {
  border-top-left-radius: 1.25rem;
  border-top-right-radius: 1.25rem;
  overflow: hidden;
  width: 100%;
}

.p-plan__image img {
  -o-object-fit: cover;
  aspect-ratio: 245/150;
  height: auto;
  object-fit: cover;
  transition: -webkit-transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out;
  transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  will-change: transform;
}

.p-plan__body {
  background-color: #fff;
  border-bottom-left-radius: 1.25rem;
  border-bottom-right-radius: 1.25rem;
  padding-bottom: 2.0625rem;
  padding-top: 1rem;
  transition: border 0.5s;
}

.p-plan__name {
  color: #048606;
  font-size: 1.03125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}

.p-plan__text {
  font-size: 0.625rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-top: 0.5rem;
  padding-inline: 1.25rem;
}
/* =================================
# メインプランセクション
================================= */

.p-plan-detail--simple {
  margin-top: 6.75rem;
}

.p-plan-detail__inner {
  margin-inline: auto;
  padding-inline: 3.25rem;
  padding-top: 2.625rem;
  width: min(100%, 90rem);
}

.p-plan-detail__title {
  color: #048606;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 1rem;
  position: relative;
  text-align: center;
}

.p-plan-detail__title::before {
  -webkit-transform: translateX(-50%);
  background-color: #048606;
  bottom: 0;
  content: "";
  height: 0.125rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 5.1rem;
}

.p-plan-detail__img {
  margin-top: 3.75rem;
  position: relative;
  width: min(100%, 83.5rem);
  z-index: 1;
}

.p-plan-detail__img img {
  -o-object-fit: cover;
  aspect-ratio: 1336/640;
  height: auto;
  object-fit: cover;
}

/* =================================
# 全体コンテナー
================================= */
.p-plan-detail__container {
  background-color: #fff;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.15);
  margin-inline: auto;
  padding: 3.75rem 2.5rem;
  position: relative;
  top: -9.375rem;
  width: min(100%, 65rem);
  z-index: 2;
}

.p-plan-detail__block:not(:first-child) {
  margin-top: 4.375rem;
}
/* =================================
# 料金ブロック
================================= */
.p-plan-detail__wrapper {
  padding-block: 1.5rem;
}

.p-plan-detail__desc {
  display: flex;
  font-size: 1.25rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
}

.p-plan-detail__tags {
  align-items: center;
  display: flex;
  gap: 0.25rem;
  justify-content: center;
  margin-top: 1.5rem;
}

.p-plan-detail__tag {
  align-items: center;
  border: 1px solid #adadad;
  display: inline-flex;
  flex-shrink: 0;
  font-size: 0.875rem;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-plan-detail__tag:first-child {
  padding: 0.0625rem 0.4375rem;
}

.p-plan-detail__tag:not(:first-child) {
  padding: 0.25rem 0.4375rem;
}

.p-plan-detail__tag-small {
  background-color: #048606;
  border-radius: 9999px;
  color: #fff;
  display: inline-block;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-right: 0.25rem;
  padding: 0.25rem;
}

.p-plan-detail__tag.is-line {
  text-decoration: line-through;
}

.p-plan-detail__prices {
  align-items: center;
  display: flex;
  gap: 2.25rem;
  justify-content: center;
  margin-top: 1.5rem;
}

.p-plan-detail__price-regular {
  background-color: #f6f6f6;
  padding: 0.21875rem 0.65625rem;
}

.p-plan-detail__price-label {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-plan-detail__price-wrap {
  margin-top: 0.16875rem;
}

.p-plan-detail__price-regular-value {
  display: inline-block;
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  position: relative;
  z-index: 1;
}

.p-plan-detail__price-regular-value::before {
  -webkit-transform: rotate(-10deg);
  -webkit-transform-origin: center;
  background-color: #333333;
  content: "";
  height: 1px;
  left: -0.15625rem;
  position: absolute;
  top: 50%;
  transform: rotate(-10deg);
  transform-origin: center;
  width: 98%;
  z-index: -1;
}

.p-plan-detail__price-tax {
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-plan-detail__price-limited {
  align-items: center;
  display: flex;
  position: relative;
}

.p-plan-detail__price-limited::before {
  -webkit-transform: translateY(-50%);
  border-color: transparent transparent transparent #c7b566;
  border-style: solid;
  border-width: 0.625rem 0 0.625rem 1.125rem;
  content: "";
  left: -6%;
  position: absolute;
  top: 0;
  top: 50%;
  transform: translateY(-50%);
}

.p-plan-detail__price-limited-badge-text {
  background-color: #c7b566;
  border-radius: 0.5rem;
  color: #fff;
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  height: 4.875rem;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.875rem;
  text-align: center;
  white-space: nowrap;
  width: 4.875rem;
}

.p-plan-detail__price-limited-wrap {
  margin-left: 0.3125rem;
}

.p-plan-detail__price-limited-note {
  color: #f15c5c;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-plan-detail__price-limited-value {
  color: #f15c5c;
  font-family: "Oswald", sans-serif;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-plan-detail__price-limited-yen {
  color: #f15c5c;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
}

.p-plan-detail__price-limited-tax {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-left: -0.1875rem;
}

/* =================================
# プランをご検討の方へ ブロック
================================= */
.p-plan-detail__lead {
  background-color: #e6f0e6;
  position: relative;
}

.p-plan-detail__lead-inner {
  padding: 4.25rem 5.9375rem 1.25rem 8.625rem;
}

.p-plan-detail__lead-heading {
  -webkit-transform: translateX(-50%);
  background-color: #048606;
  color: #fff;
  display: inline-block;
  font-size: 1.5rem;
  font-weight: 400;
  left: 50%;
  line-height: 1;
  padding: 0.625rem;
  position: absolute;
  text-align: center;
  top: -1.25rem;
  transform: translateX(-50%);
}

.p-plan-detail__lead-content {
  position: relative;
}

.p-plan-detail__lead-text {
  color: #000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
}

.p-plan-detail__lead-box {
  background-color: #fff;
  border-radius: 0.5rem;
  margin-left: auto;
  margin-top: 3.4375rem;
  padding: 1.4375rem 2rem 2.375rem 4.1875rem;
  position: relative;
  width: min(100%, 42.375rem);
}

.p-plan-detail__lead-box::before {
  background: url(../img/plan/operator-img.png) center center/contain no-repeat;
  content: "";
  height: 9.125rem;
  left: -2.8125rem;
  position: absolute;
  top: -0.9375rem;
  width: 6.25rem;
}

.p-plan-detail__lead-box-text {
  color: #000;
  font-size: 0.875rem;
  line-height: 1.8;
}

.p-plan-detail__lead-button-wrap {
  bottom: 1.5625rem;
  display: flex;
  justify-content: center;
  position: relative;
}

.p-plan-detail__lead-button {
  align-items: center;
  background-color: #fff;
  border: 1px solid #048606;
  border-radius: 6.25rem;
  color: #048606;
  display: flex;
  font-size: 1.125rem;
  font-weight: 700;
  gap: 0.625rem;
  justify-content: center;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.9375rem 2.6875rem;
  text-align: center;
  transition: background-color 0.3s, color 0.3s;
}

.p-plan-detail__lead-button-icon {
  height: 0.9375rem;
  width: 0.9375rem;
}

/* =================================
# 特別プランに含まれるもの ブロック
================================= */
.p-plan-detail__included {
  background-color: #faf7f2;
  padding-bottom: 3.875rem;
  padding-top: 3.125rem;
}

.p-plan-detail__included-inner {
  margin-inline: auto;
  width: min(100%, 45.875rem);
}

.p-plan-detail__included-heading {
  align-items: center;
  display: flex;
  gap: 0.3125rem;
  justify-content: center;
}

.p-plan-detail__included-heading-line {
  color: #048606;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.p-plan-detail__included-heading-text {
  color: #048606;
  flex-shrink: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.p-plan-detail__included-items {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3.75rem;
}

.p-plan-detail__included-item {
  align-items: center;
  background-color: #fff;
  border-radius: 0.5rem;
  display: flex;
  gap: 1.5rem;
  width: min(100%, 14.625rem);
}

.p-plan-detail__included-img {
  height: 4.375rem;
  width: 4.375rem;
}

.p-plan-detail__included-img img {
  -o-object-fit: cover;
  aspect-ratio: 70/70;
  height: auto;
  object-fit: cover;
}

.p-plan-detail__included-wrap {
  align-items: center;
  display: flex;
  gap: 0.5rem;
}

.p-plan-detail__included-label {
  color: #000;
  font-size: 0.875rem;
  line-height: 1;
}

.p-plan-detail__included-label span {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  margin-right: 0.5rem;
}

.p-plan-detail__included-description {
  color: #000;
  font-size: 0.875rem;
  line-height: 1;
  margin-top: 0.5rem;
}

.p-plan-detail__included-icon {
  display: flex;
  height: auto;
  width: 1.125rem;
}

/* =================================
# 特別プランのお客様の声 ブロック
================================= */
.p-plan-detail__voice-heading {
  padding-bottom: 1rem;
  position: relative;
  text-align: center;
}

.p-plan-detail__voice-heading::before {
  -webkit-transform: translateX(-50%);
  background-color: #048606;
  bottom: 0;
  content: "";
  height: 0.125rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 5.1rem;
}

.p-plan-detail__voice-heading-title {
  color: #048606;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-plan-detail__voice-container {
  margin-top: 3.75rem;
}

/* =================================
# バナーブロック
================================= */

.p-plan-detail__banner {
  margin-inline: auto;
  width: min(100%, 59.9375rem);
}

.p-plan-detail__banner img {
  -o-object-fit: cover;
  aspect-ratio: 959/168;
  height: auto;
  object-fit: cover;
}

/* =================================
# ボタン ブロック
================================= */
.p-plan-detail__btn-heading {
  align-items: center;
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}

.p-plan-detail__btn-heading-line {
  color: #048606;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-plan-detail__btn-heading-text {
  color: #048606;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

.p-plan-detail__btn-wrap {
  margin-top: 1.5rem;
  text-align: center;
}

.p-plan-detail__btn-link {
  background-color: #f15c5c;
  border-radius: 3.375rem;
  color: #fff;
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  margin-inline: auto;
  padding-block: 1.0625rem;
  transition: background-color 0.3s;
  width: min(100%, 31.25rem);
}
/* =================================
# プライバシーポリシーページ
================================= */
.p-privacy-policy__inner {
  margin-inline: auto;
  margin-top: 3.75rem;
  padding-inline: 3.25rem;
  width: min(100%, 71.5rem);
}

.p-privacy-policy__lead {
  color: #000;
  font-size: 1rem;
  line-height: 1.8;
  margin-inline: auto;
  width: min(100%, 60rem);
}

.p-privacy-policy__lead p:nth-of-type(n + 2) {
  -webkit-padding-before: 1rem;
  padding-block-start: 1rem;
}

.p-privacy-policy__block {
  margin-top: 4.75rem;
}

.p-privacy-policy__block + .p-privacy-policy__block {
  margin-top: 5rem;
}

.p-privacy-policy__title {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-left: 1rem;
  position: relative;
}

.p-privacy-policy__title::before {
  -webkit-transform: translateY(-50%);
  background-color: #048606;
  content: "";
  height: 2.375rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.25rem;
}

.p-privacy-policy__text {
  margin-inline: auto;
  margin-top: 2.8125rem;
  width: min(100%, 60rem);
}
.p-privacy-policy__text p {
  color: #000;
  font-size: 1rem;
  letter-spacing: 0.01em;
  line-height: 1.8;
}

.p-privacy-policy__text p:nth-of-type(n + 2) {
  -webkit-padding-before: 1rem;
  padding-block-start: 1rem;
}

.p-privacy-policy__block + .p-privacy-policy__block .p-privacy-policy__text {
  margin-top: 3.125rem;
}

.p-privacy-policy__text span {
  display: block;
  padding-left: 1.3em;
  text-indent: -1em;
}

.p-voice-hero {
  background-color: #e6f0e6;
}

.p-voice-hero-inner {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  display: flex;
  justify-content: space-between;
  padding-block: 3.758125rem 3.304375rem;
}

.p-voice-hero__content {
  max-width: 31.75rem;
  width: 100%;
}

.p-voice-hero__heading {
  -webkit-border-after: 1px solid #adadad;
  border-block-end: 1px solid #adadad;
  display: flex;
  flex-direction: column;
  padding-bottom: 1.5rem;
  row-gap: 2rem;
}

.p-voice-hero__subtitle {
  color: #048606;
  display: block;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.p-voice-hero__title {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.8;
}

.p-voice-hero__meta {
  -webkit-column-gap: 1.6875rem;
  -moz-column-gap: 1.6875rem;
  -webkit-margin-before: 1.5rem;
  align-items: center;
  column-gap: 1.6875rem;
  display: flex;
  justify-content: center;
  margin-block-start: 1.5rem;
}

.p-voice-hero__info {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}

.p-voice-hero__info-block {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  display: flex;
}

.p-voice-hero__img {
  box-shadow: 0 0 0.9375rem 0 rgba(0, 0, 0, 0.1490196078);
  height: 111.2%;
  left: 0;
  max-width: 31.75rem;
  position: absolute;
  top: 4.116875rem;
  width: 100%;
}
.p-voice-hero__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.p-voice-hero__img-wrap {
  max-width: 31.75rem;
  position: relative;
  width: 100%;
}

.p-voice-detail__inner {
  -webkit-column-gap: 1rem;
  -moz-column-gap: 1rem;
  column-gap: 1rem;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding-block: 10.75rem 7.5rem;
}

.p-voice-detail__body {
  max-width: 31.75rem;
  width: 100%;
}

.p-voice-detail__title {
  border-left: 4px solid #048606;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  padding-block: 0.4375rem;
  padding-left: 1rem;
}

.p-voice-detail__text {
  color: #000;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 2;
  margin-top: 2rem;
}

.p-voice-detail__img {
  max-width: 31.75rem;
  width: 100%;
}
.p-voice-detail__img img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}

.p-single-voice-facility {
  position: relative;
}
.p-single-voice-facility::before {
  background-color: #faf7f2;
  content: "";
  display: block;
  height: 60.9375rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

.p-single-voice-facility__inner {
  -webkit-padding-before: 3.75rem;
  padding-block-start: 3.75rem;
}

.p-single-voice-facility__body {
  -webkit-margin-before: 3.75rem;
  margin-block-start: 3.75rem;
  margin-inline: auto;
  max-width: 60rem;
  position: relative;
  z-index: 10;
}

.p-single-voice-facility__review {
  -webkit-margin-after: -4.0625rem;
  display: flex;
  margin-block-end: -4.0625rem;
  margin-inline: auto;
  max-width: 56.25rem;
  position: relative;
  width: 100%;
}

.p-single-voice-facility__review-img {
  -webkit-transform: translateY(-50%);
  align-items: center;
  background-color: #fff;
  border: 6px solid #c9eab9;
  border-radius: 50%;
  display: flex;
  float: inline-start;
  height: 7.40625rem;
  justify-content: center;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 7.40625rem;
}
.p-single-voice-facility__review-img img {
  -o-object-fit: cover;
  -o-object-position: center;
  height: 101%;
  object-fit: cover;
  object-position: center;
  width: 101%;
}

.p-single-voice-facility__review-text {
  -webkit-margin-start: 3.875rem;
  background-color: #c9eab9;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.8;
  margin-inline-start: 3.875rem;
  padding-block: 0.386875rem;
  padding-inline: 3.75rem 1rem;
}

.p-single-voice-facility__detail {
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 0.625rem 1.875rem 0 rgba(0, 0, 0, 0.1490196078);
  display: flex;
  flex-direction: column;
  padding: 2.5rem;
  row-gap: 1.5rem;
}
.p-single-voice-facility__detail.p-single-voice-facility__detail--top-high {
  -webkit-padding-before: 7.5rem;
  padding-block-start: 7.5rem;
}

.p-single-voice-facility__address {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  display: flex;
  flex-wrap: wrap;
}
.p-single-voice-facility__address p {
  font-size: 1rem;
}

.p-single-voice-facility__summary {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
  display: flex;
  width: 100%;
}

.p-single-voice-facility__facility-img {
  max-width: 26.75rem;
  width: 100%;
}
.p-single-voice-facility__facility-img img {
  height: 100%;
}

.p-single-voice-facility__summary-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
}

.p-single-voice-facility__summary-content {
  display: flex;
  justify-content: space-between;
}
.p-single-voice-facility__summary-content.p-single-voice-facility__summary-content--column {
  flex-direction: column;
  justify-content: center;
  row-gap: 1.5rem;
}

.p-single-voice-facility__summary-header {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  align-items: center;
  column-gap: 1.5rem;
  display: flex;
}

.p-single-voice-facility__price {
  -webkit-column-gap: 0.5625rem;
  -moz-column-gap: 0.5625rem;
  align-items: center;
  column-gap: 0.5625rem;
  display: flex;
}

.p-single-voice-facility__label {
  background-color: #c7b566;
  border-radius: 0.5rem;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.1;
  padding: 0.625rem;
}
.p-single-voice-facility__label.p-single-voice-facility__label--bg-red {
  background-color: #f15c5c;
}

.p-single-voice-facility__amount {
  color: #f15c5c;
  font-family: "Oswald", sans-serif;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}

.p-single-voice-facility__amount-unit {
  -webkit-margin-start: 0.1875rem;
  color: #333333;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-inline-start: 0.1875rem;
}

.p-single-voice-facility__info {
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.p-single-voice-facility__info-top {
  -webkit-column-gap: 1.5rem;
  -moz-column-gap: 1.5rem;
  -webkit-border-after: 2px solid #048606;
  border-block-end: 2px solid #048606;
  column-gap: 1.5rem;
  display: flex;
  padding-block: 1rem 0.875rem;
}

.p-single-voice-facility__info-top-term {
  align-items: center;
  display: flex;
  max-width: 7.5rem;
  width: 100%;
}

.p-single-voice-facility__info-bottom {
  -webkit-padding-before: 1.5rem;
  display: flex;
  flex-direction: column;
  padding-block-start: 1.5rem;
  row-gap: 0.5rem;
}

.p-single-voice-facility__info-bottom-term {
  font-size: 1rem;
  font-weight: 500;
}

.p-single-voice-facility__info-bottom-main {
  font-size: 1rem;
  line-height: 1.8;
}

.p-single-voice-facility__support {
  background-color: #c9eab9;
}

.p-single-voice-facility__support-title {
  background-color: #048606;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  padding: 0.625rem;
  text-align: center;
}

.p-single-voice-facility__support-container {
  -webkit-column-gap: 1.8125rem;
  -moz-column-gap: 1.8125rem;
  align-items: center;
  border: 1px solid #048606;
  column-gap: 1.8125rem;
  display: flex;
  justify-content: space-between;
  padding: 1.4375rem 2.4375rem;
}

.p-single-voice-facility__support-text {
  color: #048606;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  white-space: nowrap;
}

.p-single-voice-facility__support-list {
  -webkit-column-gap: 2.5rem;
  -moz-column-gap: 2.5rem;
  background-color: #fff;
  column-gap: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  max-width: 28.3125rem;
  padding: 1rem 2.5rem;
  row-gap: 0.625rem;
  width: 100%;
}

.p-single-voice-facility__support-item {
  -webkit-column-gap: 0.5rem;
  -moz-column-gap: 0.5rem;
  align-items: center;
  column-gap: 0.5rem;
  display: flex;
  flex-direction: row-reverse;
}

.p-single-voice-facility__support-label {
  color: #048606;
  font-family: "Noto Serif JP", serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.p-single-voice-facility__support-icon {
  height: 2.5rem;
  width: 2.5rem;
}

.p-single-voice-plan {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
}

.p-voice__map {
  -webkit-padding-after: 5.03125rem;
  padding-block-end: 5.03125rem;
}

.p-voice__map-inner {
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
}

.p-voice__sub-sections {
  padding-block: 4.84375rem 7.5rem;
}

.p-slider {
  height: 100%;
  width: 100%;
}
.p-slider .swiper-slide {
  overflow: hidden;
}
.p-slider .slide-img {
  height: 100%;
}
.p-slider .slide-img img {
  width: 100%;
}
.p-slider img {
  -o-object-fit: cover;
  height: 100%;
  object-fit: cover;
}
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
  }
}
.p-slider .swiper-slide-active .slide-img,
.p-slider .swiper-slide-duplicate-active .slide-img,
.p-slider .swiper-slide-prev .slide-img {
  -webkit-animation: zoomUp 10s linear 0s 1 normal both;
  animation: zoomUp 10s linear 0s 1 normal both;
}
.p-slider .slide-img img {
  display: block;
}

.p-top-fv .swiper {
  visibility: hidden;
}
.p-top-fv .swiper-initialized {
  visibility: visible;
}

.p-top-fv__slider-wrap {
  aspect-ratio: 1440/370;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.p-top-fv__swiper {
  position: relative;
  width: 100%;
}

.p-top-fv__slides {
  display: flex;
  height: 100%;
  position: relative;
  width: 100%;
}

.p-top-fv__slide {
  aspect-ratio: 1440/370;
  height: 100%;
  position: relative;
  width: 100%;
}
.p-top-fv__slide img,
.p-top-fv__slide source {
  -o-object-fit: cover;
  -o-object-position: bottom;
  bottom: 0;
  height: 100%;
  left: 0;
  min-height: 100%;
  object-fit: cover;
  object-position: bottom;
  position: absolute;
  width: 100%;
}

.p-top-fv__pagination {
  -webkit-transform: translateX(-50%);
  background-color: #fff;
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem;
  bottom: 0 !important;
  display: inline-flex;
  gap: 0.5rem;
  left: 50% !important;
  opacity: 0.8;
  padding: 0.5rem 1.5rem;
  position: absolute;
  transform: translateX(-50%);
  width: auto !important;
  z-index: 10;
}

/* 各ドットのスタイル */
.p-top-fv__pagination .swiper-pagination-bullet {
  background-color: #fff;
  border: 1px solid #adadad;
  border-radius: 50%;
  height: 0.625rem;
  opacity: 1;
  transition: background-color 0.3s, border-color 0.3s;
  width: 0.625rem;
}

/* アクティブなドット */
.p-top-fv__pagination .swiper-pagination-bullet-active {
  background-color: #048606;
}

.p-top-area-map {
  -webkit-padding-after: 3.75rem;
  display: flex;
  flex-direction: column;
  padding-block-end: 3.75rem;
  row-gap: 2.5rem;
}

.p-top-plan-section {
  overflow-y: hidden;
  padding-block: 3.75rem 12.5rem;
  position: relative;
}
.p-top-plan-section::after {
  background-image: url(../img/bg/top-bg-white-flower.webp);
  background-position: bottom 0 right -15%;
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
  content: "";
  display: block;
  height: 39.75rem;
  max-width: 90rem;
  position: absolute;
  right: 0;
  width: 100%;
  z-index: -1;
}

.p-top-green-section {
  background-color: #e6f0e6;
}

.p-top-green-section__reverse-arch-wrapper {
  overflow: visible;
  position: relative;
  z-index: 1;
}

.p-top-green-section__reverse-arch {
  aspect-ratio: 1440/81;
  bottom: 100%;
  position: absolute;
  width: 100%;
}

.p-top-voice-section__summary {
  -webkit-margin-after: 1.875rem;
  margin-block-end: 1.875rem;
}

.p-top-voice-section__review {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
  position: relative;
}
.p-top-voice-section__review::before, .p-top-voice-section__review::after {
  border-top: 2px solid #f15c5c;
  bottom: 25%;
  content: "";
  display: block;
  position: absolute;
  width: 2.155rem;
}
.p-top-voice-section__review::before {
  -webkit-transform: rotate(-119.54deg);
  left: -8%;
  transform: rotate(-119.54deg);
}
.p-top-voice-section__review::after {
  -webkit-transform: rotate(119.54deg);
  right: -8%;
  transform: rotate(119.54deg);
}

.p-top-voice-section__review-count {
  display: inline-block;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.8;
}

.p-top-voice-section__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-inline: auto;
  max-width: 61.875rem;
  padding-inline: 0.9375rem;
  width: 100%;
}

.p-top-voice-section__note {
  color: #adadad;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8;
  text-align: center;
}

.c-yellow-line {
  display: inline-block;
  position: relative;
  z-index: 0;
}
.c-yellow-line::after {
  border-bottom: 12px solid #fff810;
  bottom: 0.3125rem;
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.p-pickup__inner {
  display: flex;
  flex-direction: column;
  row-gap: 5rem;
}

.p-sitemap {
  -webkit-column-gap: 13.75rem;
  -moz-column-gap: 13.75rem;
  column-gap: 13.75rem;
  display: flex;
  justify-content: start;
  padding-block: 7.5rem 12.375rem;
}

.u-color-green {
  color: #048606;
}

.u-color-red {
  color: #f15c5c;
}
.u-color-red.u-color-red--underline {
  text-decoration-color: #f15c5c;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: 0.1875rem;
}

.u-hover {
  /* デフォルトのスタイル */
  transition: opacity 0.5s;
}

/* ホバー可能なデバイスでのみホバー効果を有効化 */
.u-margin-top-120 {
  -webkit-margin-before: 7.5rem;
  margin-block-start: 7.5rem;
}

.u-sp {
  display: none;
}

.u-visually-hidden {
  clip: rect(0, 0, 0, 0);
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  left: 0;
  margin: -1px;
  max-height: 1px;
  max-width: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  top: 0;
  width: 1px;
}

@media screen and (min-width: 768px) {
  .c-hoverRun:hover {
    background-size: 100% 1px;
  }
  .c-hoverUnderline:hover::after {
    opacity: 1;
  }
  .c-hoverUnderline:hover::after {
    opacity: 1;
  }
  .c-underBar:hover:before {
    opacity: 0;
    transition: 0.5s all;
  }
}

@media screen and (min-width: 769px) {
  .c-imgHover:hover img:nth-of-type(1) {
    opacity: 0;
    transition: 0.5s opacity;
  }
  .c-imgHover:hover img:nth-of-type(2) {
    opacity: 1;
    transition: 0.5s opacity;
  }
  .c-imgZoom:hover img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
  }
}

@media screen and (max-width: 1440px) {
  html {
    font-size: 1.1111111111vw;
  }
  .l-header__bottom-inner {
    justify-content: end;
    padding-right: 3.25rem;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 4.2666666667vw;
  }
  .l-footer__top {
    justify-content: center;
    padding-block: 2.25rem 1.5rem;
  }
  .l-footer__menu-block {
    padding-block: 3.5rem;
  }
  .l-footer__menu-block:last-child {
    border-top: 4px solid #f6f6f6;
  }
  .l-footer__menu-contact-list {
    row-gap: 0.625rem;
  }
  .l-footer__menu-contact-number {
    font-size: 1.375rem;
  }
  .l-footer__menu-list {
    -webkit-padding-start: 0;
    border-left: none;
    padding-inline-start: 0;
  }
  .l-footer__address-sp {
    display: flex;
  }
  .l-footer__small-nav-wrap {
    -webkit-margin-before: 2rem;
    -webkit-margin-after: 1.75rem;
    margin-block-end: 1.75rem;
    margin-block-start: 2rem;
  }
  .l-footer__small-nav-list {
    -webkit-padding-before: 1.75rem;
    padding-block-start: 1.75rem;
  }
  .l-footer__copyright {
    -webkit-margin-before: 1.75rem;
    margin-block-start: 1.75rem;
  }
  .c-footer-fixed::before {
    content: none;
  }
  .c-footer-fixed__inner {
    padding-inline: 1.30625rem;
  }
  .l-header__copy-text {
    font-size: 0.75rem;
  }
  .l-header__top-flex {
    padding-block: 0.1875rem;
    padding-inline: 0.9375rem 0;
  }
  .l-header__top-sp {
    display: flex;
  }
  .l-header__bottom {
    border: none;
  }
  .l-header__bottom-inner {
    padding-right: 0;
  }
  .l-header__contact-btn {
    flex-direction: column;
    font-size: 0.6875rem;
    max-width: 4.6875rem;
    padding-block: 0.453125rem;
    row-gap: 0.3125rem;
  }
  .l-header__contact-btn-icon {
    width: 1.25rem;
  }
  .l-header__nav-sub-list {
    display: none;
  }
  .l-header-sp-menu {
    display: block;
  }
  .l-inner {
    padding-left: 15px;
    padding-right: 15px;
  }
  .l-inner-large {
    max-width: 1470px;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }
  .l-inner-medium {
    max-width: 1470px;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }
  .l-inner-small {
    max-width: 1470px;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }
  .l-inner-pd-120 {
    padding-block: 3.5rem;
  }
  .l-inner-pd-40 {
    max-width: 1470px;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }
  .c-aboutus-features::before, .c-aboutus-features::after {
    height: 4px; /* ボーダーの太さ */
  }
  .c-aboutus-features__inner {
    padding-block: 3.75rem 3.5rem;
    row-gap: 3.1875rem;
  }
  .c-aboutus-features-summary__heading {
    -webkit-margin-after: 1.6875rem;
    font-size: 1.375rem;
    margin-block-end: 1.6875rem;
    padding-right: 0;
  }
  .c-aboutus-features-summary__heading__inner {
    max-width: 16.5rem;
  }
  .c-aboutus-features-summary__heading__inner::before, .c-aboutus-features-summary__heading__inner::after {
    height: 4.23125rem;
    top: 57%;
    width: 2.5rem;
  }
  .c-aboutus-features-summary__heading__inner::before {
    left: -2.5625rem;
  }
  .c-aboutus-features-summary__heading__inner::after {
    right: -2.125rem;
  }
  .c-aboutus-features-summary__lead {
    -webkit-margin-start: -3.75rem;
    font-size: 0.875rem;
    margin-inline-start: -3.75rem;
  }
  .c-aboutus-features-summary__list {
    align-items: end;
    flex-direction: column;
    margin-top: 2.388125rem;
    row-gap: 1.5rem;
  }
  .c-aboutus-features-summary__list::before {
    height: 10.1875rem;
    right: -3.0625rem;
    top: -8.0625rem;
    width: 9.5rem;
  }
  .c-aboutus-features-summary__item {
    height: 12.5rem;
    max-width: 21.5625rem;
  }
  .c-aboutus-features-summary__img {
    height: 8.125rem;
  }
  .c-aboutus-features-summary__text {
    padding: 1rem;
    text-align: center;
  }
  .c-ababoutus-features-summary__strong {
    font-size: 1.25rem;
  }
  .c-aboutus-features-summary__span {
    font-size: 0.875rem;
  }
  .c-aboutus-features-details__subheading {
    border-radius: 1.875rem;
    font-size: 1rem;
    margin-bottom: 1.8125rem;
  }
  .c-aboutus-features-details__subheading::after {
    border-left: 0.75rem solid transparent;
    border-right: 0.75rem solid transparent;
    border-top: 1.29875rem solid #048606;
  }
  .c-aboutus-features-details__lead {
    font-size: 1rem;
    line-height: 1.5;
  }
  .c-aboutus-features-details__description {
    -webkit-padding-before: 0.75rem;
    font-size: 0.875rem;
    padding-block-start: 0.75rem;
    padding-inline: 0.125rem;
  }
  .c-aboutus-features-details__imgs {
    margin-top: 2.5rem;
    row-gap: 0.25rem;
  }
  .c-aboutus-features-details__row {
    -webkit-column-gap: 0.25rem;
    -moz-column-gap: 0.25rem;
    column-gap: 0.25rem;
  }
  .c-aboutus-features-details__img {
    height: 4.375rem;
    width: 6.5625rem;
  }
  .c-area-search {
    background-color: transparent;
    flex-direction: column;
    padding: 0;
    row-gap: 1rem;
  }
  .c-area-search__area-btn {
    font-size: 1.125rem;
    height: 2.75rem;
    width: 100%;
  }
  .c-area-search__form {
    background-color: #faf7f2;
    padding: 0.625rem;
    width: 100%;
  }
  .c-area-search__input {
    padding: 0.9375rem 1.009375rem;
  }
  .c-area-search__input::-webkit-input-placeholder {
    font-size: 0.875rem;
  }
  .c-area-search__input:-ms-input-placeholder {
    font-size: 0.875rem;
  }
  .c-area-search__input::-ms-input-placeholder {
    font-size: 0.875rem;
  }
  .c-area-search__input::placeholder {
    font-size: 0.875rem;
  }
  .c-area-search__submit {
    font-size: 0.875rem;
    padding: 0.84375rem;
  }
  .c-area-search__icon {
    height: 1.4375rem;
    margin-right: 0;
    width: 1.4375rem;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search {
    background-color: transparent;
    flex-direction: column;
    padding: 0;
    row-gap: 1rem;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__area-btn {
    font-size: 1.125rem;
    height: 2.75rem;
    width: 100%;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__form {
    background-color: #faf7f2;
    padding: 0.625rem;
    width: 100%;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input {
    padding: 0.9375rem 1.009375rem;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input::-webkit-input-placeholder {
    font-size: 0.875rem;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input:-ms-input-placeholder {
    font-size: 0.875rem;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input::-ms-input-placeholder {
    font-size: 0.875rem;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__input::placeholder {
    font-size: 0.875rem;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__submit {
    border-bottom-right-radius: 0.44875rem;
    border-top-right-radius: 0.44875rem;
    font-size: 0.875rem;
    padding: 0.84375rem;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__icon {
    height: 1.4375rem;
    margin-right: 0;
    width: 1.4375rem;
  }
  .c-banner {
    padding-block: 1.5rem;
  }
  .c-breadcrumb__item {
    flex-shrink: 0;
  }
  .c-breadcrumb__item a {
    font-size: 0.875rem;
  }
  .c-breadcrumb__item + .c-breadcrumb__item::before {
    height: 0.75rem;
    margin-inline: 0.3125rem;
    width: 0.625rem;
  }
  .c-breadcrumb__current {
    font-size: 0.875rem;
  }
  .c-btn {
    max-width: 21.5625rem;
  }
  .c-btn.c-btn--option {
    padding-inline: 1.5rem;
  }
  .c-btn-text.c-btn-text--option {
    font-size: 1rem;
    line-height: 1.5;
  }
  .c-category__card-list {
    gap: 1.375rem;
    grid-template-columns: repeat(1, 1fr);
    place-items: center;
  }
  .c-category__card {
    width: 100%;
  }
  .c-category__card-img {
    width: 100%;
  }
  .c-category__card-img img {
    aspect-ratio: 345/148;
  }
  .c-category__card-title {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .c-cta-request-green-bg {
    padding-block: 1.5rem;
  }
  .c-cta-request {
    padding-inline: 0.9375rem;
  }
  .c-cta-request__heading {
    font-size: 1.125rem;
    font-weight: 700;
    padding: 0.5rem 1.8125rem;
  }
  .c-cta-request__heading::after {
    border-left: 0.625rem solid transparent;
    border-right: 0.625rem solid transparent;
    border-top: 1.125rem solid #048606;
  }
  .c-cta-request__lead {
    -webkit-margin-before: 0.5rem;
    margin-block-start: 0.5rem;
  }
  .c-cta-request__lead::before, .c-cta-request__lead::after {
    bottom: -0.3125rem;
    clip-path: polygon(0% 0%, 40% 0%, 100% 100%);
    height: 3.64rem;
    width: 2.16125rem;
  }
  .c-cta-request__lead::before {
    left: -1.875rem;
  }
  .c-cta-request__lead::after {
    right: -1.5625rem;
  }
  .c-cta-request__lead-green {
    font-size: 1.7125rem;
  }
  .c-cta-request__lead-green .c-cta-request__lead-green-sm {
    font-size: 1.4275rem;
  }
  .c-cta-request__lead-black {
    -webkit-margin-before: 0;
    -webkit-margin-start: 0;
    font-size: 1.4275rem;
    margin-block-start: 0;
    margin-inline-start: 0;
  }
  .c-cta-request__lead-black .c-cta-request__lead-black-sm {
    font-size: 1.141875rem;
  }
  .c-cta-request__bnr {
    -webkit-margin-before: 0.5rem;
    margin-block-start: 0.5rem;
  }
  .c-heading-label {
    font-size: 1.375rem;
    line-height: 1.5;
    padding-inline: 0;
  }
  .c-heading-label-tag {
    font-size: 0.875rem;
    padding: 0.4375rem 0.625rem;
  }
  .c-facility-intro__popular-swiper {
    overflow: hidden;
  }
  .c-facility-intro__inner {
    padding-block: 1.5rem;
  }
  .c-facility-name {
    font-size: 1.625rem;
  }
  .c-facility-name__ruby {
    -webkit-margin-before: 0.125rem;
    margin-block-start: 0.125rem;
  }
  .c-circle-label.c-circle-label--size-big {
    font-size: 0.875rem;
    height: 1.6875rem;
    min-width: 1.8125rem;
    width: 1.6875rem;
  }
  .c-facility-info__caption {
    line-height: 1.5;
    margin-bottom: 1rem;
  }
  .c-facility-info__wrap {
    flex-direction: column;
  }
  .c-facility-info__row {
    padding-block: 0.75rem 1rem;
  }
  .c-facility-info__row:last-child {
    -webkit-border-after: 1px solid #e0e0e0;
    border-block-end: 1px solid #e0e0e0;
  }
  .c-facility-info__label {
    font-size: 0.875rem;
    max-width: 4.25rem;
    min-width: 4.25rem;
  }
  .c-facility-info__label.c-facility-info__label-width-140 {
    max-width: 7.4375rem;
    min-width: 7.4375rem;
  }
  .c-facility-info__label.c-facility-info__label-width-200 {
    max-width: 8.125rem;
    min-width: 8.125rem;
  }
  .c-facility-info__data {
    font-size: 0.875rem;
    margin-left: 0.875rem;
  }
  .c-facility-info__data.c-facility-info__data--sp-mg-left-24 {
    margin-left: 1.5rem;
  }
  .c-facility-intro__container {
    flex-direction: column;
  }
  .c-facility-intro__slider {
    width: 100%;
  }
  .c-facility-intro__pagination .swiper-pagination-bullet {
    margin-inline: 0.25rem;
  }
  .c-facility-card {
    padding: 1.5rem 0.9375rem;
  }
  .c-facility-card__media-flex {
    -webkit-column-gap: 0.1875rem;
    -moz-column-gap: 0.1875rem;
    column-gap: 0.1875rem;
  }
  .c-facility-card__access-text {
    font-size: 0.875rem;
  }
  .c-facility-tags.c-facility-tags--large {
    gap: 0.5rem 0.46875rem;
  }
  .c-facility-tags.c-facility-tags--large .c-facility-tags__item {
    font-size: 0.875rem;
    max-width: 6.875rem;
    padding: 0.34375rem 0.5625rem;
    width: 100%;
  }
  .c-facility-tags.c-facility-tags--large .c-facility-tag-img {
    height: 0.8125rem;
    width: 0.8125rem;
  }
  .c-facility-tags__item {
    -webkit-column-gap: 0.3125rem;
    -moz-column-gap: 0.3125rem;
    column-gap: 0.3125rem;
    max-width: 6.125rem;
  }
  .c-facility-intro__popular-list {
    display: flex;
    gap: 0;
  }
  .c-facility-mini-card {
    flex-grow: 1;
    flex-shrink: 0;
    max-width: 19.6875rem;
    min-width: 11.625rem;
  }
  .c-facility-mini-card.c-facility-mini-card--sp-wide .c-facility-mini-card__img {
    height: 13.125rem;
  }
  .c-facility-mini-card__img {
    height: 7.75rem;
  }
  .c-facility-mini-card__body {
    padding: 0.5rem 0.5rem 0.656875rem 0.5rem;
  }
  .c-facility-mini-card__title {
    font-size: 0.875rem;
  }
  .c-facility-system {
    font-size: 0.875rem;
    height: 2.625rem;
    width: 6.5rem;
  }
  .c-facility-system.c-facility-system--sp-pink {
    background-color: #ff9595;
    height: 2rem;
  }
  .c-faq__inner {
    padding-block: 3.5rem;
    row-gap: 2.5rem;
  }
  .c-faq__item {
    -webkit-padding-after: 0.75rem;
    padding-block-end: 0.75rem;
  }
  .c-faq__item.is-opened .c-faq__button {
    -webkit-padding-before: 1.3125rem;
    -webkit-padding-after: 0.5rem;
    padding-block-end: 0.5rem;
    padding-block-start: 1.3125rem;
  }
  .c-faq__button {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    -webkit-padding-before: 0.75rem;
    column-gap: 1rem;
    font-size: 1rem;
    letter-spacing: 0.03em;
    line-height: 1.5;
    padding-block-start: 0.75rem;
    text-align: start;
  }
  .c-faq__icon {
    height: 3rem;
    width: 3rem;
  }
  .c-faq__answer-text {
    -webkit-padding-before: 0.65625rem;
    -webkit-padding-start: 0;
    border-top: 2px solid #e0e0e0;
    font-size: 0.875rem;
    letter-spacing: 0.03em;
    line-height: 1.5;
    padding-block-start: 0.65625rem;
    padding-inline-start: 0;
  }
  .c-option__list {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    row-gap: 1.5rem;
  }
  .c-option__item {
    padding: 1.5rem 0.9375rem;
  }
  .c-option__body {
    -webkit-padding-before: 1rem;
    -webkit-margin-before: 1rem;
    flex-direction: column;
    margin-block-start: 1rem;
    padding-block-start: 1rem;
  }
  .c-option__img {
    height: 13.125rem;
    width: 19.6875rem;
  }
  .c-option__text {
    font-size: 1rem;
  }
  .c-option__btns {
    -webkit-margin-before: 1rem;
    margin-block-start: 1rem;
  }
  .c-heading-left-green {
    -webkit-padding-start: 0.375rem;
    border-left: 2px solid #048606;
    font-size: 1.25rem;
    line-height: 1.5;
    padding-block: 0.3125rem;
    padding-inline-start: 0.375rem;
  }
  .c-heading-left-green.c-heading-left-green--news-section {
    font-size: 1.125rem;
    padding-block: 0.375rem;
  }
  .c-in-page-nav {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }
  .c-in-page-nav.c-in-page-nav--margin-high {
    margin-block: 2.5rem 3.5rem;
  }
  .c-in-page-nav__link {
    font-size: 0.75rem;
    font-weight: 500;
    height: 2.3125rem;
    justify-content: space-between;
    padding-inline: 0.625rem;
    width: 10.5rem;
  }
  .c-in-page-nav__icon {
    height: 1.0625rem;
    width: 1.0625rem;
  }
  .c-logo {
    max-width: 6.65625rem;
  }
  .c-logo.c-logo--footer {
    max-width: 13.3125rem;
  }
  .c-logo.c-logo--footer-fixed {
    width: 6.074375rem;
  }
  .c-media-section {
    height: auto;
  }
  .c-media-section__list {
    -webkit-margin-before: 2.5rem;
    word-wrap: 2rem;
    align-items: center;
    flex-direction: column;
    margin-block-start: 2.5rem;
    row-gap: 2.375rem;
  }
  .c-media-section__item {
    max-width: 21.5625rem;
  }
  .c-media-section__link {
    row-gap: 0.75rem;
  }
  .c-news-section__inner {
    flex-direction: column;
    padding-block: 3.375rem;
    row-gap: 3.5rem;
  }
  .c-news-section__list {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }
  .c-news-section__item {
    -webkit-padding-before: 1rem;
    padding-block-start: 1rem;
  }
  .c-news-section__link {
    align-items: start;
    flex-direction: column;
    padding-bottom: 0.75rem;
    row-gap: 0.5rem;
  }
  .c-news-section__data {
    -webkit-column-gap: 0.5rem;
    -moz-column-gap: 0.5rem;
    column-gap: 0.5rem;
  }
  .c-news-section__btn-wrap {
    justify-content: center;
  }
  .c-page-header {
    -webkit-padding-start: initial;
    padding-block: 2.4375rem;
    padding-inline-start: initial;
  }
  .c-page-header__inner {
    flex-direction: column;
    padding-inline: 0.9375rem;
  }
  .c-page-header__title {
    font-size: 1.5rem;
    height: 2.25rem;
  }
  .c-page-header__lead {
    font-size: 1rem;
    line-height: 1.3;
  }
  .c-page-header__title--news {
    width: min(100%, 6.875rem);
  }
  .c-page-header--news {
    background: url(../img/news/page-top-bg-sp.jpg) center center/cover no-repeat;
  }
  .c-page-header__title--contact {
    width: min(100%, 9.75rem);
  }
  .c-page-header--contact {
    background: url(../img/contact/page-top-bg-sp.jpg) center top/cover no-repeat;
  }
  .c-page-header--utility-page {
    background: url(../img/privacy-policy/page-top-bg-sp.jpg) center center/cover no-repeat;
  }
  .c-page-header__title--404 {
    height: 3.75rem;
    padding: 0.375rem;
  }
  .c-page-header__title--sitemap {
    width: min(100%, 15.6875rem);
  }
  .c-page-header__title--privacy-policy {
    width: min(100%, 15.6875rem);
  }
  .c-page-header--privacy-policy {
    background: url(../img/privacy-policy/page-top-bg-sp.jpg) center center/cover no-repeat;
  }
  .c-pagination {
    margin-top: 3.5rem;
  }
  .c-pickup {
    padding: 2rem 0.9375rem;
    row-gap: 2.5rem;
  }
  .c-pickup__wrap {
    padding-block: 1.5rem 3.5rem;
    row-gap: 2.5rem;
  }
  .c-pickup__label {
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
  }
  .c-pickup__label-tag {
    font-size: 0.875rem;
    padding: 0.4375rem 0.625rem;
  }
  .c-pickup__map {
    border-radius: 0.165625rem;
  }
  .c-pickup-area-switcher {
    background-color: #fff;
    border: 2px solid #048606;
    padding: 1.375rem 0.8125rem;
  }
  .c-pickup-area-switcher__tab {
    -webkit-column-gap: 0.5rem;
    -moz-column-gap: 0.5rem;
    column-gap: 0.5rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 1行に2つ */
    row-gap: 0.3125rem;
  }
  .c-pickup-area-switcher__tab-item {
    border-radius: 0.5rem;
    border-width: 1px;
    height: 2.3125rem;
    padding: 0.625rem;
    width: 8.75rem;
  }
  .c-pickup-area-switcher__tab-item.is-active {
    height: 2.3125rem;
    padding: 0.625rem;
  }
  .c-pickup-area-switcher__contents {
    background-color: transparent;
    border: none;
    padding: 0;
  }
  .c-pickup-area-switcher__area-link {
    max-width: 11.125rem;
  }
  .c-pickup-area-switcher__block-wrap {
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    -webkit-margin-before: 2.5rem;
    border-bottom: none;
    column-gap: 0;
    flex-direction: column;
    margin-block-start: 2.5rem;
    row-gap: 2.5rem;
  }
  .c-pickup-area-switcher__title {
    font-size: 1.125rem;
  }
  .c-pickup-area-switcher__title::before {
    height: 1.125rem;
    width: 1.125rem;
  }
  .c-pickup-area-switcher__slider {
    -webkit-column-gap: 0rem;
    -moz-column-gap: 0rem;
    column-gap: 0rem;
  }
  .swiper-button-prev,
  .swiper-button-next {
    height: 1.3590278625rem;
    width: 1.1875rem;
  }
  .swiper-button-prev::after,
  .swiper-button-next::after {
    -webkit-border-before: 2px solid #000;
    -webkit-border-start: 2px solid #000;
    border-block-start: 2px solid #000;
    border-inline-start: 2px solid #000;
    height: 0.4375rem;
    width: 0.4375rem;
  }
  .swiper-button-prev {
    left: 0;
  }
  .swiper-button-next {
    right: 0;
  }
  .c-pickup-area-switcher__others {
    -webkit-margin-before: 0;
    margin-block-start: 0;
  }
  .c-pickup-area-switcher__header {
    align-items: start;
    flex-direction: column;
    row-gap: 0.75rem;
  }
  .c-pickup-area-switcher__others-note {
    line-height: 1.5;
  }
  .c-pickup-area-switcher__others-list {
    -webkit-margin-before: 0.75rem;
    margin-block-start: 0.75rem;
  }
  .c-pickup-area-switcher__others-list a {
    font-size: 0.875rem;
  }
  .c-plan-card.c-plan-card--wide {
    max-width: 21.559375rem;
  }
  .c-plan-card.c-plan-card--wide .c-plan-card__link {
    display: block;
  }
  .c-plan-card.c-plan-card--wide .c-plan-card__img {
    height: 10.82625rem;
    max-width: 100%;
  }
  .c-plan-card.c-plan-card--wide .c-plan-card__img img {
    position: static;
  }
  .c-plan-card.c-plan-card--wide .c-plan-card__text {
    font-size: 1.25rem;
    line-height: 1.5;
  }
  .c-plan-card__img {
    height: 10.82625rem;
  }
  .c-plan-card__body {
    padding: 1.25rem 0.62375rem;
  }
  .c-plan-card__title {
    font-size: 1.25rem;
  }
  .c-plan-card__text {
    font-size: 0.875rem;
    height: auto;
    line-height: 1.8;
    padding-inline: 0.31375rem;
  }
  .c-plan-card__feature {
    font-size: 0.75rem;
  }
  .c-plan-card__prices {
    flex-direction: column;
  }
  .c-plan-card__price-regular {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 0.3125rem;
    padding: 0.5625rem 0.625rem;
  }
  .c-plan-card__price-label {
    font-size: 1rem;
  }
  .c-plan-card__price-wrap {
    margin-top: initial;
  }
  .c-plan-card__price-regular-value {
    font-size: 1.625rem;
  }
  .c-plan-card__price-regular-value::before {
    width: 102%;
  }
  .c-plan-card__price-tax {
    font-size: 1rem;
  }
  .c-plan-card__price-limited {
    gap: 0.5rem;
  }
  .c-plan-card__price-limited::before {
    -webkit-transform: translateX(-50%);
    border-color: #c7b566 transparent transparent transparent;
    border-width: 0.8125rem 0.4375rem 0 0.4375rem;
    left: 50%;
    top: -0.75rem;
    transform: translateX(-50%);
  }
  .c-plan-card__price-limited-badge-text {
    font-size: 1.125rem;
    height: 3.5rem;
    padding: 0.625rem;
    width: 3.5625rem;
  }
  .c-plan-card__price-limited-wrap {
    margin-left: initial;
  }
  .c-plan-card__price-limited-note {
    font-size: 0.75rem;
  }
  .c-plan-card__price-limited-value {
    font-size: 2.625rem;
  }
  .c-plan-card__price-limited-yen {
    color: #333333;
    font-size: 1rem;
  }
  .c-plan-card__price-limited-tax {
    font-size: 1rem;
  }
  .c-plan-section__list {
    -webkit-margin-before: 2.5rem;
    gap: 1.25rem;
    grid-template-columns: repeat(1, 1fr);
    margin-block-start: 2.5rem;
  }
  .c-price-section__inner {
    padding-block: 3rem 3.5rem;
  }
  .c-price-section-table {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
  }
  .c-price-section-table__sp {
    display: flex;
  }
  .c-price-section-cell {
    font-size: 0.75rem;
    padding-block: 1.25rem 1.0625rem;
    padding-inline: 0.5rem;
    white-space: wrap;
  }
  .c-price-section-cell:last-child {
    -webkit-padding-end: 0.875rem;
    padding-inline-end: 0.875rem;
  }
  .c-price-section-table__row-label {
    font-size: 0.75rem;
    min-width: 4.25rem;
    padding-inline: 0.5rem 0.75rem;
    width: 4.25rem;
  }
  .c-price-section-table__title.c-price-section-table__title--dark {
    max-width: 100%;
  }
  .c-price-section-table__title {
    max-width: 100%;
  }
  .c-price-section-table__th-plan-btn {
    height: 3rem;
    max-width: 7.9375rem;
    min-width: 6.6875rem;
    padding-inline: 0.8125rem;
    width: auto;
    width: 100%;
  }
  .c-price-section-table__th-plan-btn.c-price-section-table__th-plan-btn--dark {
    height: 3.75rem;
    max-width: 4.9375rem;
    min-width: 4.9375rem;
    padding-inline: 0.5rem;
    width: 4.9375rem;
  }
  .c-price-section-note {
    -webkit-margin-before: 2rem;
    margin-block-start: 2rem;
  }
  .c-section-lead {
    -webkit-margin-before: 1rem;
    font-size: 1rem;
    margin-block-start: 1rem;
    text-align: start;
  }
  .c-silver-section__inner {
    padding-block: 3.5rem;
  }
  .c-silver-section__list {
    flex-direction: column;
    padding-inline: 1.875rem;
    row-gap: 1.5rem;
  }
  .c-silver-section__heading-img {
    height: 1.05125rem;
    width: 1.6825rem;
  }
  .c-silver-section__person {
    right: 0.875rem;
    top: -4.0625rem;
    width: 6.661875rem;
  }
  .c-sp-global-nav {
    display: block;
  }
  .c-tel__icon {
    max-width: 2.4375rem;
  }
  .c-tel__number {
    font-size: 2rem;
  }
  .c-text-link-green {
    -webkit-column-gap: 0.75rem;
    -moz-column-gap: 0.75rem;
    column-gap: 0.75rem;
    font-size: 1.125rem;
  }
  .c-text-link-green::after {
    height: 1.3125rem;
    width: 1.3125rem;
  }
  .c-text-link-green.c-text-link-green--news-section::after {
    background-image: url(../img/common/green-bg-down-arrow.svg);
  }
  .c-text-link-green.c-text-link-green--option {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .c-underline-heading {
    -webkit-padding-after: 0.625rem;
    font-size: 1.375rem;
    padding-block-end: 0.625rem;
  }
  .c-underline-heading::after {
    border-bottom: 1px solid #048606;
    width: 2.6875rem;
  }
  .c-underline-heading.c-underline-heading--white::after {
    border-bottom: 1px solid #fff;
    width: 2.6875rem;
  }
  .c-underline-heading.c-underline-heading--display-sp {
    display: flex;
  }
  .c-voice-cord {
    max-width: 21.5625rem;
  }
  .c-voice-card__body {
    padding: 1rem 0.875rem;
    row-gap: 0.75rem;
  }
  .c-voice-card__title {
    font-size: 1rem;
  }
  .c-voice-card__tag {
    -webkit-column-gap: 0.25rem;
    -moz-column-gap: 0.25rem;
    column-gap: 0.25rem;
    font-size: 0.625rem;
  }
  .c-voice-list {
    flex-direction: column;
    gap: 1.5rem;
  }
  .c-voice-list.c-voice-list--pd-high {
    padding-block: 2.5rem 2rem;
  }
  .c-footer-fixed__call-list {
    display: none;
  }
  .c-footer-fixed__request {
    display: none;
  }
  .p-404::before {
    bottom: auto;
    height: 10.375rem;
    top: 21.125rem;
  }
  .p-404__inner {
    padding-block: 3.625rem;
  }
  .p-404__code {
    font-size: 8.125rem;
  }
  .p-404__title {
    font-size: 2.0625rem;
  }
  .p-archive-voice {
    -webkit-margin-before: 3.5rem;
    margin-block-start: 3.5rem;
  }
  .p-archive-voice__teb {
    flex-direction: column-reverse;
    row-gap: 1.5rem;
  }
  .p-archive-voice__tab-list {
    gap: 0.125rem;
    width: 100%;
  }
  .p-archive-voice__tab-item:first-child {
    max-width: 4.0625rem;
  }
  .p-archive-voice__tab-item:first-child .p-archive-voice__tab-button {
    max-width: 4.0625rem;
  }
  .p-archive-voice__tab-button {
    align-items: center;
    flex-direction: column;
    font-size: 0.75rem;
    height: 3.75rem;
    justify-content: end;
    max-width: 5.6875rem;
    min-height: 3.75rem;
    padding-block: 0.375rem;
    padding-inline: 0.75rem;
    row-gap: 0.25rem;
    width: 100%;
  }
  .p-archive-voice__tab-button-text {
    align-items: center;
    display: flex;
    height: 1.75rem;
  }
  .p-archive-voice__tab-item-svg {
    height: 0.875rem;
    min-width: 0.875rem;
  }
  .p-archive-voice__teb-cta {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100%;
  }
  .p-archive-voice__bg {
    padding-block: 2rem;
  }
  .p-archive-voice__filter {
    flex-direction: column;
    padding: 0.625rem 0.9375rem;
    width: 100%;
  }
  .p-archive-voice__filter-title {
    font-size: 0.75rem;
    padding: 0.5rem 1rem;
  }
  .p-archive-voice__filter-icon {
    font-size: 0.75rem;
    height: 1.1875rem;
    width: 1.1875rem;
  }
  .p-archive-voice__filter-button {
    font-size: 0.75rem;
    height: 3.375rem;
    max-width: 5.6875rem;
    padding-inline: 0.59375rem;
  }
  .p-archive-voice__list {
    grid-template-columns: repeat(1, 1fr); /* 3列 */
    grid-template-rows: repeat(3, auto); /* 3行（高さは自動） */
    margin-block: 2rem 2.375rem;
    row-gap: 1.5rem;
  }
  .p-area-hero__map {
    aspect-ratio: auto;
    height: 30rem;
    max-height: 30rem;
  }
  .p-area-hero__map section {
    -webkit-transform: translateY(-50%);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .p-article-blocks {
    margin-top: 3.5rem;
  }
  .p-article-blocks--medium {
    margin-top: 3rem;
  }
  .p-article-blocks__recommend {
    padding-inline: initial;
  }
  .p-article-blocks__recommend__head .wp-block-group__inner-container {
    gap: 0;
    padding-left: 1.53125rem;
  }
  .p-article-blocks__recommend__head img {
    height: 5.375rem;
    width: 3.5625rem;
  }
  .p-article-blocks__recommend__label {
    font-size: 0.875rem;
    padding: 0.5625rem 0.9375rem;
  }
  .p-article-blocks__recommend__label::after {
    translate: calc(-50% + 7px) 100%;
  }
  ul.wp-block-list.p-article-blocks__recommend__body {
    padding: 1rem 0.9375rem 1.5rem;
  }
  ul.wp-block-list.p-article-blocks__recommend__body li {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  ul.wp-block-list.p-article-blocks__recommend__body li:not(:first-child) {
    margin-top: 0.5rem;
  }
  .p-article-blocks__toc {
    padding: 0.9375rem;
  }
  .p-article-blocks__toc-label {
    font-size: 1.25rem;
  }
  .p-article-blocks__toc ol,
  ol.wp-block-list.p-article-blocks__toc-list {
    margin-top: 1rem;
  }
  .p-article-blocks__toc ol li,
  ol.wp-block-list.p-article-blocks__toc-list li {
    font-size: 0.875rem;
  }
  .p-article-blocks__toc ol li::before,
  ol.wp-block-list.p-article-blocks__toc-list li::before {
    height: 0.875rem;
  }
  .p-article-blocks__block--main h3.wp-block-heading {
    font-size: 1.125rem;
    padding: 0.625rem 0;
  }
  .p-article-blocks__block--sub h3.wp-block-heading {
    font-size: 1.125rem;
    padding-bottom: 0.5rem;
  }
  .p-article-blocks__block--sub h3.wp-block-heading::before {
    bottom: -8px;
    height: 0.0625rem;
    width: 5rem;
  }
  .p-article-blocks__block h4.wp-block-heading {
    border-left: 2px solid #048606;
    line-height: 1.5;
    margin-top: 1.5rem;
    padding: 0.5rem 1rem;
  }
  .p-article-blocks__block p {
    margin-top: 1.5rem;
  }
  .p-article-blocks__block p:first-of-type {
    margin-top: 1.125rem;
  }
  .p-article-blocks__image--single figure,
  .p-article-blocks__image--single .wp-block-image {
    width: min(100%, 21.5625rem);
  }
  .p-article-blocks__image--single img {
    aspect-ratio: 345/230;
  }
  .wp-block-group.is-layout-flex {
    flex-wrap: nowrap;
    gap: 1.0625rem;
  }
  .p-article-blocks__image--double img {
    aspect-ratio: 164/109;
  }
  .p-article-blocks__image figcaption,
  .wp-block-image figcaption {
    line-height: 1.5;
  }
  .p-article-author,
  .wp-block-group.p-article-author {
    margin-top: 3.5rem;
    padding: 1rem 0.9375rem;
  }
  .p-article-author__label,
  .wp-block-group .p-article-author__label {
    -webkit-transform: translateX(-50%);
    left: 50%;
    transform: translateX(-50%);
  }
  .p-article-author__box,
  .wp-block-group .p-article-author__box {
    flex-direction: column;
  }
  .p-article-author__img,
  .wp-block-group .p-article-author__img {
    width: min(100%, 9.375rem);
  }
  .p-article-author__img img,
  .wp-block-group .p-article-author__img img {
    aspect-ratio: 150/150;
  }
  .p-article-author__name,
  .wp-block-group .p-article-author__name {
    text-align: center;
  }
  .p-article-author__text,
  .wp-block-group .p-article-author__text {
    line-height: 1.8;
    margin-top: 0.625rem;
  }
  .p-article-author__link,
  .wp-block-group .p-article-author__link {
    margin-top: 0.5rem;
    text-align: center;
  }
  .p-article-related {
    margin-top: 3.5rem;
  }
  .p-article-related__label {
    -webkit-transform: translateX(-50%);
    left: 50%;
    transform: translateX(-50%);
  }
  .p-article-related__link {
    padding: 1.875rem 0.9375rem 0.625rem;
  }
  .p-article-related__box {
    align-items: center;
    flex-direction: column;
  }
  .p-article-related__img {
    width: min(100%, 9.375rem);
  }
  .p-article-related__img img {
    aspect-ratio: 150/150;
  }
  .p-article-related__name {
    -webkit-line-clamp: 3;
  }
  .p-article-related__text {
    -webkit-line-clamp: 5;
    margin-top: 0.625rem;
  }
  .p-article-detail {
    padding-bottom: 3.5rem;
    padding-top: 1.25rem;
  }
  .p-article-detail__inner {
    flex-direction: column;
    gap: 3.5rem;
    padding-inline: 0.9375rem;
    width: min(100%, 37.5rem);
  }
  .p-article-detail__label {
    gap: 0.625rem;
  }
  .p-article-detail__label img {
    height: 2.875rem;
    width: 2.875rem;
  }
  .p-article-detail__label-text {
    font-size: 1.5rem;
  }
  .p-article-detail__title {
    font-size: 1.125rem;
  }
  .p-article-detail__meta {
    align-items: start;
    flex-direction: column;
    gap: 0.5rem;
  }
  .p-article-detail__eyecatch {
    margin-top: 2rem;
  }
  .p-article-detail__lead {
    margin-top: 2rem;
  }
  .p-article-share {
    flex-direction: column;
    gap: 1rem;
    margin-top: 3.5rem;
  }
  .p-article-share__text {
    font-size: 1rem;
    line-height: 1;
  }
  .p-article-share__list-item {
    height: 2.5rem;
    width: 2.5rem;
  }
  .p-article-share__list-item button {
    height: 2.5rem;
    width: 2.5rem;
  }
  .p-sidebar {
    margin-inline: auto;
    width: min(100%, 31.25rem);
  }
  .p-sidebar__posts-title {
    font-size: 1.125rem;
    padding-bottom: 0.5rem;
  }
  .p-sidebar__posts-img {
    width: min(100%, 7.375rem);
  }
  .p-sidebar__posts-img img {
    aspect-ratio: 118/89;
  }
  .p-sidebar__posts-text {
    font-size: 0.875rem;
  }
  .p-sidebar__category {
    margin-top: 3.5rem;
  }
  .p-sidebar__category-title {
    font-size: 1.125rem;
    padding-bottom: 0.6875rem;
  }
  .p-sidebar__category-list {
    width: min(100%, 18.75rem);
  }
  .p-sidebar__category-link::after {
    height: 1.25rem;
    width: 1.25rem;
  }
  .p-sidebar__subcategory-link {
    font-size: 1rem;
  }
  .p-sidebar__subcategory-link::after {
    height: 1.125rem;
    width: 0.625rem;
  }
  .p-sidebar__banner {
    margin-top: 3.5rem;
  }
  .p-sidebar__banner-text-line {
    font-size: 1rem;
  }
  .p-sidebar__banner-text-line span {
    font-size: 1.1875rem;
  }
  .p-sidebar__banner-text-line::before,
  .p-sidebar__banner-text-line::after {
    height: 1.4375rem;
  }
  .p-column__hero {
    padding-bottom: 2.8125rem;
  }
  .p-column__hero-bg {
    background: url(../img/column/bg-sp-img01.png) top center/contain no-repeat;
  }
  .p-column__hero::before {
    background: url(../img/column/deco-sp-img1.png) center center/contain no-repeat;
    height: 12.625rem;
    top: 0.5625rem;
    width: 21.25rem;
  }
  .p-column__hero-inner {
    flex-direction: column;
    gap: 0.1875rem;
    padding-top: 4.0625rem;
  }
  .p-column__hero-logo {
    width: min(100%, 18.75rem);
  }
  .p-column__hero-logo img {
    aspect-ratio: 255/108;
  }
  .p-column__hero-catch {
    display: inline-flex;
    flex-direction: column;
    font-size: 1rem;
  }
  .p-column__hero-main {
    color: #333333;
    font-size: 1rem;
    line-height: 1.8;
    position: relative;
  }
  .p-column__hero-main::before {
    background-color: #048606;
    bottom: 0;
    content: "";
    height: 0.0625rem;
    left: 0.3125rem;
    position: absolute;
    width: 96%;
  }
  .p-column__hero-highlight {
    font-size: 1.375rem;
    line-height: 2;
    position: relative;
  }
  .p-column__hero-highlight::before {
    bottom: 0.375rem;
    left: 0.75rem;
    width: 90%;
  }
  .p-column__hero-sub {
    display: block;
    font-size: 1rem;
  }
  .p-column__hero-sub::before {
    left: 0.3125rem;
    width: 94%;
  }
  .p-category-swiper__container {
    width: min(100%, 37.5rem);
  }
  .p-category-slider,
  .swiper-slide {
    width: 6.25rem;
  }
  .p-category-slider,
  .swiper-wrapper {
    min-height: 8.125rem;
  }
  .swiper-slide .p-category-slide {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
  .swiper-slide-active .p-category-slide {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  .p-category__title {
    font-size: 0.875rem;
  }
  .p-category-slider__prev,
  .p-category-slider__next {
    height: 1.25rem;
    width: 1.25rem;
  }
  .p-category-slider__prev {
    left: -1.5625rem;
  }
  .p-category-slider__next {
    right: -1.5rem;
  }
  .p-column__pickup {
    padding-bottom: 4.625rem;
  }
  .p-column__pickup-inner {
    padding-inline: 0.9375rem;
    width: min(100%, 37.5rem);
  }
  .p-column__pickup-title {
    font-size: 1.25rem;
    padding-left: 0.5rem;
  }
  .p-column__pickup-title::before {
    border-left: 2px solid #048606;
    height: 1.875rem;
  }
  .p-column__card-container {
    margin-top: 2.8125rem;
    width: min(100%, 31.25rem);
  }
  .p-column-category {
    border-bottom: 4px solid;
    border-top: 4px solid;
    padding-bottom: 3.5rem;
    padding-top: 3.5rem;
  }
  .p-column-category::before {
    background: url(../img/column/bg-img02.png) center top/contain repeat-y;
  }
  .p-column-category__inner {
    padding-inline: 0.9375rem;
    width: min(100%, 37.5rem);
  }
  .p-column-category__list {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(2, 1fr);
  }
  .p-column-category__link {
    justify-content: space-between;
    padding: 0.625rem;
  }
  .p-column-category__text {
    font-size: 0.75rem;
    font-weight: 500;
  }
  .p-column-category__icon svg {
    height: 1.0625rem;
    width: 1.0625rem;
  }
  .p-column-category__container {
    margin-top: 2.5rem;
  }
  .p-column-category__block {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    padding: 2rem 0.625rem 2.875rem;
  }
  .p-column-category__block:not(:first-child) {
    margin-top: 2.1875rem;
  }
  .p-column-category__head {
    border-bottom: 1px solid;
    gap: 0.625rem;
    padding-bottom: 0.625rem;
  }
  .p-column-category__head-icon {
    height: 2.875rem;
    width: 2.875rem;
  }
  .p-column-category__head-title-main {
    font-size: 1.5rem;
  }
  body.safari .p-column-category__head-title-main {
    font-size: 1.4375rem;
  }
  .p-column-category__head-title-sub {
    font-size: 1.5rem;
  }
  body.safari .p-column-category__head-title-sub {
    font-size: 1.4375rem;
  }
  .p-column-category__head-title-text {
    font-size: 1.125rem;
    margin-left: 0.125rem;
  }
  body.safari .p-column-category__head-title-text {
    font-size: 1.0625rem;
  }
  .p-column-category__btn {
    margin-top: 2.125rem;
  }
  .p-column-category__btn button {
    align-items: center;
    font-size: 1rem;
    padding-block: 1.5625rem;
    width: min(100%, 20.3125rem);
  }
  .p-column-category__btn-arrow img {
    height: 0.9375rem;
    width: 0.9375rem;
  }
  .p-contact-confirm {
    padding-bottom: 1.875rem;
    padding-top: 4.6875rem;
  }
  .p-contact-confirm__inner {
    padding-inline: 0.9375rem;
    width: min(100%, 37.5rem);
  }
  .p-contact-confirm__block + .p-contact-confirm__block {
    margin-top: 4.125rem;
  }
  .p-contact-confirm__title {
    font-size: 1.125rem;
  }
  .p-contact-confirm__title::before {
    width: 0.125rem;
  }
  .p-contact-confirm__radio {
    margin-top: 2.1875rem;
  }
  .p-contact-confirm__item {
    gap: 0.5rem;
    justify-content: space-between;
    margin-top: 2.625rem;
  }
  .p-contact-confirm__item:first-child {
    margin-top: 2rem;
  }
  .p-contact-confirm__item-wrap {
    justify-content: space-between;
  }
  .p-contact-confirm__label {
    flex-shrink: 0;
    width: min(100%, 7.5rem);
  }
  .p-contact-confirm__note {
    line-height: 1.8;
  }
  .p-contact-confirm__message {
    margin-top: 2rem;
  }
  .p-contact-confirm__submit {
    margin-top: 2rem;
  }
  .p-contact-confirm__submit-button {
    font-size: 1.25rem;
    padding-block: 1.5625rem;
  }
  .p-contact-head {
    padding-bottom: 3rem;
  }
  .p-contact-head__inner {
    margin-top: 3.125rem;
    padding-inline: 0.9375rem;
    width: min(100%, 40.625rem);
  }
  .p-contact-head__tel {
    margin-bottom: 3.5rem;
  }
  .p-contact-head__tel-title {
    font-size: 1.375rem;
    padding-bottom: 0.1875rem;
  }
  .p-contact-head__tel-title::before {
    height: 0.0625rem;
    width: 2.625rem;
  }
  .p-contact-head__tel-list {
    flex-direction: column;
    gap: 1rem;
  }
  .p-contact-head__tel-item {
    height: 11.5rem;
    width: min(100%, 31.25rem);
  }
  .p-contact-head__tel-box {
    align-items: center;
  }
  .p-contact-head__tel-label {
    width: 17.5625rem;
  }
  .p-contact-head__tel-number {
    gap: 0.625rem;
  }
  .p-contact-head__tel-note {
    margin-left: 3.75rem;
    margin-top: 0.75rem;
  }
  .p-contact-head__tel-note--single {
    margin-left: -1.375rem;
  }
  .p-contact-head__form-title {
    font-size: 1.375rem;
    line-height: 1.3;
    padding-bottom: 0.75rem;
  }
  .p-contact-head__form-title::before {
    height: 0.0625rem;
    width: 2.625rem;
  }
  .p-contact-head__steps {
    gap: 3.4375rem;
    margin-inline: auto;
    margin-top: 2.375rem;
    width: min(100%, 25rem);
  }
  .p-contact-head__steps::before {
    width: 60%;
  }
  .p-contact-head__step {
    width: min(100%, 4.125rem);
  }
  .p-contact-head__step-number {
    font-size: 1.25rem;
    height: 3.25rem;
    width: 3.25rem;
  }
  .p-contact-thanks {
    margin-top: 3.5rem;
  }
  .p-contact-thanks__inner {
    width: min(100%, 37.5rem);
  }
  .p-contact-thanks__text {
    font-size: 1rem;
  }
  .p-contact-thanks__button {
    margin-top: 3.5rem;
  }
  .p-contact-thanks__link {
    font-size: 1.125rem;
    padding-block: 1.3125rem;
    width: min(100%, 25rem);
  }
  .p-contact {
    padding-bottom: 1.875rem;
  }
  .p-contact__form {
    padding-inline: 0.9375rem;
    width: min(100%, 37.5rem);
  }
  .p-contact__wrap {
    margin-top: 1.875rem;
  }
  .p-contact__wrap + .p-contact__wrap {
    margin-top: 2.5rem;
  }
  .p-contact__title::before {
    width: 0.125rem;
  }
  .p-contact__radio-list .wpcf7-list-item:not(:first-child) {
    margin-top: 1.25rem;
  }
  .p-contact__group {
    flex-direction: column;
  }
  .p-contact__group--zip {
    align-items: start;
  }
  .p-contact__zip-button {
    width: min(100%, 21.5625rem);
  }
  .p-contact__zip-search {
    font-size: 1.125rem;
    height: 3.75rem;
    margin-top: initial;
  }
  .p-contact__textarea {
    height: 12.5rem;
    min-height: 12.5rem;
  }
  .p-contact__submit {
    margin-top: 2.1875rem;
  }
  .p-contact__submit-button {
    font-size: 1.25rem;
  }
  .wpcf7-form-control-wrap[data-name=last-name] .wpcf7-not-valid-tip,
  .wpcf7-form-control-wrap[data-name=last-kana] .wpcf7-not-valid-tip {
    display: none;
  }
  .wpcf7-form-control-wrap[data-name=first-name] .wpcf7-not-valid-tip,
  .wpcf7-form-control-wrap[data-name=first-kana] .wpcf7-not-valid-tip {
    display: block;
  }
  .p-contact__error-message {
    width: min(100%, 19.5rem);
  }
  .wpcf7 form .p-contact__error-message .wpcf7-response-output {
    font-size: 1.25rem;
  }
  .p-facility-hero {
    padding-top: 14.75rem;
  }
  .p-single-voice__thumbnail {
    max-height: 25.25rem;
  }
  .p-facility-appearance__slide {
    max-height: 10.75rem;
  }
  .p-facility-appearance__img {
    height: 9rem;
    max-width: 14.375rem;
  }
  .p-facility-appearance__bg {
    height: 10.75rem;
  }
  .p-facility-appearance__selector {
    flex-wrap: wrap;
    gap: 0.270625rem;
  }
  .p-facility-appearance__selector-item {
    aspect-ratio: 83/52;
    max-width: 5.1875rem;
  }
  .p-facility-access__inner {
    padding-block: 3rem 3.5rem;
  }
  .p-facility-access__body {
    -webkit-margin-before: 2.5rem;
    margin-block-start: 2.5rem;
    row-gap: 2rem;
  }
  .p-facility-access__map-wrap {
    flex-direction: column;
    row-gap: 1.25rem;
  }
  .p-facility-access__img {
    max-height: 16.1875rem;
    max-width: 21.5625rem;
  }
  .p-facility-access__map {
    aspect-ratio: 345/383;
    max-height: 16.1875rem;
    max-width: 21.5625rem;
  }
  .p-news {
    padding-bottom: 3.5rem;
  }
  .p-news__list-container {
    margin-top: 3.5rem;
    max-width: 40rem;
    padding-inline: 0.9375rem;
  }
  .p-news-list__item a {
    display: block;
    padding-bottom: 0.4375rem;
  }
  .p-news-list__item:not(:first-child) {
    margin-top: 1rem;
  }
  .p-news-list__item-category {
    margin-left: 0.5rem;
  }
  .p-news-list__item-title {
    margin-left: initial;
    margin-top: 0.625rem;
  }
  .p-pageTop {
    bottom: 1.25rem;
    right: 1.5625rem;
  }
  .p-plan {
    padding-bottom: 4.125rem;
    padding-top: 1.5rem;
  }
  .p-plan::before {
    background: url(../img/plan/plan-bg-sp-img01.jpg) center center/cover no-repeat;
    height: 16.875rem;
  }
  .p-plan__inner {
    padding-inline: 0.9375rem;
    width: min(100%, 37.5rem);
  }
  .p-plan__heading-inner {
    flex-direction: column;
  }
  .p-plan__heading-title {
    font-size: 1.5rem;
    padding: 0.375rem;
  }
  .p-plan__heading-text {
    font-size: 1rem;
    line-height: 1.3;
  }
  .p-plan__list {
    -webkit-column-gap: 0.4375rem;
    -moz-column-gap: 0.4375rem;
    column-gap: 0.4375rem;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 1.1875rem;
    row-gap: 1.5rem;
  }
  .p-plan__card::before {
    bottom: -0.625rem;
    height: 1.25rem;
    width: 1.25rem;
  }
  .p-plan__body {
    padding-bottom: 0.875rem;
    padding-top: 0.6875rem;
  }
  .p-plan__name {
    font-size: 0.8125rem;
    line-height: 1;
  }
  .p-plan__text {
    line-height: 1.5;
    padding-inline: 0.8125rem;
  }
  .p-plan-detail {
    padding-top: 3.5rem;
  }
  .p-plan-detail--simple {
    margin-top: initial;
  }
  .p-plan-detail__inner {
    padding-inline: 0.9375rem;
    padding-top: initial;
    width: min(100%, 40.625rem);
  }
  .p-plan-detail__title {
    font-size: 1.375rem;
    line-height: 1;
    padding-bottom: 0.625rem;
  }
  .p-plan-detail__title::before {
    height: 0.0625rem;
    width: 2.6875rem;
  }
  .p-plan-detail__img {
    margin-inline: calc(50% - 50vw);
    margin-top: 2.5rem;
    width: 100vw;
  }
  .p-plan-detail__img img {
    aspect-ratio: 375/228;
  }
  .p-plan-detail__container {
    box-shadow: initial;
    padding: initial;
    top: initial;
  }
  .p-plan-detail__block:not(:first-child) {
    margin-top: 2.5rem;
  }
  .p-plan-detail__block:nth-child(2) {
    margin-top: 3.75rem;
  }
  .p-plan-detail__wrapper {
    margin-top: 2.5rem;
    padding-block: initial;
  }
  .p-plan-detail__desc {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.5;
    margin-inline: initial;
    width: initial;
  }
  .p-plan-detail__tag {
    font-size: 0.75rem;
  }
  .p-plan-detail__prices {
    flex-direction: column;
    gap: 1.375rem;
  }
  .p-plan-detail__price-regular {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 0.3125rem;
    padding: 0.5625rem 0.625rem;
  }
  .p-plan-detail__price-label {
    font-size: 1rem;
  }
  .p-plan-detail__price-wrap {
    margin-top: initial;
  }
  .p-plan-detail__price-regular-value {
    font-size: 1.625rem;
  }
  .p-plan-detail__price-regular-value::before {
    width: 102%;
  }
  .p-plan-detail__price-tax {
    font-size: 1rem;
  }
  .p-plan-detail__price-limited {
    gap: 0.5rem;
  }
  .p-plan-detail__price-limited::before {
    -webkit-transform: translateX(-50%);
    border-color: #f15c5c transparent transparent transparent;
    border-width: 0.8125rem 0.4375rem 0 0.4375rem;
    left: 50%;
    top: -0.75rem;
    transform: translateX(-50%);
  }
  .p-plan-detail__price-limited-badge-text {
    font-size: 1.125rem;
    height: 3.5rem;
    padding: 0.625rem;
    width: 3.5625rem;
  }
  .p-plan-detail__price-limited-wrap {
    margin-left: initial;
  }
  .p-plan-detail__price-limited-note {
    font-size: 0.75rem;
  }
  .p-plan-detail__price-limited-value {
    font-size: 2.625rem;
  }
  .p-plan-detail__price-limited-yen {
    color: #333333;
    font-size: 1rem;
  }
  .p-plan-detail__price-limited-tax {
    font-size: 1rem;
  }
  .p-plan-detail__lead-inner {
    padding: 2.3125rem 0.625rem 1rem;
  }
  .p-plan-detail__lead-heading {
    font-size: 1.125rem;
    width: min(100%, 20.3125rem);
  }
  body.safari .p-plan-detail__lead-heading {
    width: min(100%, 19.6875rem);
  }
  .p-plan-detail__lead-text {
    font-size: 0.875rem;
    font-weight: 400;
  }
  .p-plan-detail__lead-box {
    margin-top: 1rem;
    padding: 0.9375rem 0.75rem 0.9375rem 1.75rem;
    width: 92%;
  }
  .p-plan-detail__lead-box::before {
    background: url(../img/plan/operator-sp-img.png) center center/contain no-repeat;
    height: 4.375rem;
    left: -1.75rem;
    top: 1rem;
    width: 3.3125rem;
  }
  .p-plan-detail__lead-box-text {
    font-size: 0.75rem;
  }
  .p-plan-detail__lead-button-wrap {
    margin-top: 1rem;
    position: initial;
  }
  .p-plan-detail__lead-button {
    font-size: 1rem;
    padding: 0.90625rem 3.5rem;
  }
  body.safari .p-plan-detail__lead-button {
    padding: 0.90625rem 2.5rem;
  }
  .p-plan-detail__included {
    padding-block: 2.5rem;
  }
  .p-plan-detail__included-inner {
    padding-inline: 0.625rem;
    width: min(100%, 31.25rem);
  }
  .p-plan-detail__included-heading-line {
    font-size: 1rem;
  }
  .p-plan-detail__included-heading-text {
    font-size: 0.96875rem;
  }
  .p-plan-detail__included-items {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 2.5rem;
  }
  .p-plan-detail__included-item {
    width: 100%;
  }
  .p-plan-detail__included-label {
    font-size: 0.75rem;
  }
  .p-plan-detail__included-label span {
    font-size: 0.875rem;
  }
  .p-plan-detail__included-description {
    font-size: 0.75rem;
  }
  .p-plan-detail__included-icon {
    width: 1rem;
  }
  .p-plan-detail__voice-heading {
    padding-bottom: 0.625rem;
  }
  .p-plan-detail__voice-heading::before {
    height: 0.0625rem;
    width: 2.6875rem;
  }
  .p-plan-detail__voice-heading-title {
    font-size: 1.25rem;
    line-height: 1;
  }
  .p-plan-detail__voice-container {
    margin-inline: auto;
    margin-top: 2.5rem;
    width: min(100%, 31.25rem);
  }
  .p-plan-detail__block.p-plan-detail__block--banner {
    margin-top: 3.875rem;
  }
  .p-plan-detail__banner {
    max-width: 30rem;
    width: 91%;
  }
  .p-plan-detail__banner img {
    aspect-ratio: 313/88;
  }
  .p-plan-detail__btn-heading-line {
    font-size: 1rem;
  }
  .p-plan-detail__btn-heading-text {
    font-size: 1rem;
  }
  .p-plan-detail__btn-wrap {
    margin-top: 1rem;
  }
  .p-plan-detail__btn-link {
    font-size: 1rem;
    line-height: 1;
  }
  .p-privacy-policy__inner {
    margin-top: 3.5rem;
    padding-inline: 0.9375rem;
  }
  .p-privacy-policy__block {
    margin-top: 4.25rem;
  }
  .p-privacy-policy__block + .p-privacy-policy__block {
    margin-top: 4.375rem;
  }
  .p-privacy-policy__title {
    font-size: 1.25rem;
  }
  .p-privacy-policy__title::before {
    width: 0.125rem;
  }
  .p-privacy-policy__text p {
    padding-inline: 0.9375rem;
  }
  .p-voice-hero-inner {
    flex-direction: column-reverse;
    padding-block: 3rem 3.75rem;
    row-gap: 0;
  }
  .p-voice-hero__heading {
    row-gap: 22.75rem;
  }
  .p-voice-hero__subtitle {
    text-align: center;
  }
  .p-voice-hero__title {
    font-size: 1.5rem;
  }
  .p-voice-hero__meta {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
    font-size: 0.875rem;
    justify-content: start;
  }
  .p-voice-hero__info-block {
    font-size: 0.875rem;
  }
  .p-voice-hero__img {
    box-shadow: none;
    height: 18.75rem;
    margin-inline: -0.9375rem;
    top: 3.8125rem;
    width: calc(100% + 1.875rem);
  }
  .p-voice-detail__inner {
    flex-direction: column;
    justify-content: center;
    padding-block: 2.5rem;
    position: relative;
  }
  .p-voice-detail__body {
    display: flex;
    flex-direction: column;
    row-gap: 17.375rem;
  }
  .p-voice-detail__title {
    border-left: 2px solid #048606;
    font-size: 1.125rem;
    line-height: 1.5;
    padding-block: 0.46875rem;
    padding-left: 0.5rem;
  }
  .p-voice-detail__img {
    height: 14.375rem;
    left: 0.9375rem;
    max-width: 21.5625rem;
    position: absolute;
    top: 8.5rem;
  }
  .p-single-voice-facility::before {
    height: 65.3125rem;
  }
  .p-single-voice-facility__inner {
    -webkit-padding-before: 3rem;
    padding-block-start: 3rem;
  }
  .p-single-voice-facility__body {
    -webkit-margin-before: 5.875rem;
    margin-block-start: 5.875rem;
  }
  .p-single-voice-facility__review {
    -webkit-margin-after: -6.375rem;
    margin-block-end: -6.375rem;
    max-width: 19.6875rem;
  }
  .p-single-voice-facility__review-img {
    -webkit-transform: translateX(-50%);
    height: 6.851875rem;
    left: 50%;
    top: -3.2384375rem;
    transform: translateX(-50%);
    width: 6.851875rem;
  }
  .p-single-voice-facility__review-text {
    -webkit-margin-start: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    margin-inline-start: 0;
    padding-block: 3.9375rem 1rem;
    padding-inline: 0.9375rem;
  }
  .p-single-voice-facility__detail {
    padding: 1.25rem 0.9375rem;
    row-gap: 1rem;
  }
  .p-single-voice-facility__detail.p-single-voice-facility__detail--top-high {
    -webkit-padding-before: 7.375rem;
    padding-block-start: 7.375rem;
  }
  .p-single-voice-facility__address {
    -webkit-column-gap: 0.625rem;
    -moz-column-gap: 0.625rem;
    column-gap: 0.625rem;
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2列に分ける */
    row-gap: 0.25rem;
  }
  .p-single-voice-facility__address p {
    font-size: 0.75rem;
  }
  .p-single-voice-facility__summary {
    flex-direction: column;
    row-gap: 1rem;
  }
  .p-single-voice-facility__facility-img {
    height: rew(209.75);
  }
  .p-single-voice-facility__summary-container {
    row-gap: 1rem;
  }
  .p-single-voice-facility__summary-content {
    flex-direction: column;
    row-gap: 0.5rem;
  }
  .p-single-voice-facility__summary-content.p-single-voice-facility__summary-content--column {
    row-gap: 1rem;
  }
  .p-single-voice-facility__summary-header {
    -webkit-column-gap: 1rem;
    -moz-column-gap: 1rem;
    column-gap: 1rem;
  }
  .p-single-voice-facility__label {
    font-size: 0.875rem;
    padding: 0.625rem 0.53125rem;
  }
  .p-single-voice-facility__amount {
    font-size: 2.375rem;
  }
  .p-single-voice-facility__amount-unit {
    font-size: 0.875rem;
  }
  .p-single-voice-facility__info-top {
    padding-block: 0 0.625rem;
  }
  .p-single-voice-facility__info-top-term {
    font-size: 0.875rem;
    max-width: 3.75rem;
  }
  .p-single-voice-facility__info-bottom {
    -webkit-padding-before: 1rem;
    padding-block-start: 1rem;
  }
  .p-single-voice-facility__info-bottom-main {
    font-size: 0.875rem;
    line-height: 1.5;
  }
  .p-single-voice-facility__support-title {
    font-size: 1rem;
    padding: 0.5rem;
  }
  .p-single-voice-facility__support-container {
    flex-direction: column;
    height: auto;
    justify-content: center;
    padding: 0.75rem 0.9375rem;
    row-gap: 0.5rem;
  }
  .p-single-voice-facility__support-text {
    font-size: 1.125rem;
    line-height: 1.5;
  }
  .p-single-voice-facility__support-list {
    -webkit-column-gap: 0.8125rem;
    -moz-column-gap: 0.8125rem;
    column-gap: 0.8125rem;
    max-width: 17.8125rem;
    padding: 0.625rem;
    row-gap: 0.25rem;
  }
  .p-single-voice-facility__support-item {
    -webkit-column-gap: 0.25rem;
    -moz-column-gap: 0.25rem;
    column-gap: 0.25rem;
  }
  .p-single-voice-facility__support-label {
    font-size: 0.875rem;
    line-height: 1.2;
    white-space: nowrap;
  }
  .p-single-voice-facility__support-icon {
    height: 1.75rem;
    width: 1.75rem;
  }
  .p-single-voice-plan {
    padding-inline: 0.9375rem;
  }
  .p-voice__sub-sections {
    padding-block: 2.5rem;
  }
  .p-top-fv__slider-wrap {
    aspect-ratio: 375/505;
  }
  .p-top-fv__slide {
    aspect-ratio: 375/505;
  }
  .p-top-fv__pagination {
    border-top-left-radius: 1.25rem;
    border-top-right-radius: 1.25rem;
    padding: 0.5rem 1.25rem 0.375rem;
  }
  .p-top-fv__pagination .swiper-pagination-bullet {
    height: 0.4375rem;
    width: 0.4375rem;
  }
  .p-top-plan-section {
    padding-block: 3.75rem 7.0675rem;
  }
  .p-top-plan-section::after {
    height: 9.9375rem;
    max-width: 22.5rem;
  }
  .p-top-green-section__reverse-arch {
    aspect-ratio: 375/32;
  }
  .p-top-voice-section__summary {
    -webkit-margin-after: 0.1875rem;
    margin-block-end: 0.1875rem;
  }
  .p-top-voice-section__review {
    font-size: 1.125rem;
  }
  .p-top-voice-section__review::before, .p-top-voice-section__review::after {
    width: 1.61625rem;
  }
  .p-top-voice-section__review::before {
    left: -6%;
  }
  .p-top-voice-section__review::after {
    right: -6%;
  }
  .p-top-voice-section__review-count {
    font-size: 1.5rem;
  }
  .p-top-voice-section__note {
    -webkit-margin-before: 0.6875rem;
    font-size: 0.875rem;
    margin-block-start: 0.6875rem;
  }
  .p-sitemap {
    flex-direction: column;
    padding-block: 3.5rem 0;
  }
  .u-margin-top-120 {
    -webkit-margin-before: 3.5rem;
    margin-block-start: 3.5rem;
  }
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
}

@media (any-hover: hover) {
  .l-footer__media-card:hover {
    background-color: #f6f6f6;
  }
  .l-footer__media-card:hover .l-footer__media-img img {
    -webkit-transform: scale(1.08);
    opacity: 0.7;
    transform: scale(1.08);
  }
  .l-footer__bnr:hover {
    opacity: 0.7;
  }
  .l-footer__external-links a:hover {
    opacity: 0.6;
  }
  .l-footer__menu-contact-number:hover {
    opacity: 0.6;
  }
  .l-footer__menu-link:hover {
    opacity: 0.6;
  }
  .l-footer__menu-link:hover::after {
    -webkit-transform: translateX(5%);
    transform: translateX(5%);
  }
  .l-footer__menu-sub-item:hover a {
    color: #105516;
  }
  .l-footer__menu-sub-item:hover::before {
    border-top: 1px solid #66d767;
  }
  .l-footer__small-nav-item:hover {
    -webkit-border-after: 1px solid #66d767;
    border-block-end: 1px solid #66d767;
    color: #105516;
  }
  .l-header__request:hover {
    opacity: 0.8;
  }
  .l-header__nav-item:hover {
    background-color: #048606;
    color: #fff;
  }
  .l-header__contact-btn:hover {
    background-color: #ff9595;
  }
  .l-header__nav-sub-link:hover {
    color: #fff810;
  }
  .c-area-search__area-btn:hover {
    background-color: #ff9595;
  }
  .c-area-search__submit:hover {
    background-color: #66d767;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__area-btn:hover {
    background-color: #ff9595;
  }
  .c-area-search-wrapper.c-area-search-wrapper--small .c-area-search__submit:hover {
    background-color: #66d767;
  }
  .c-banner__link:hover {
    opacity: 0.6;
  }
  .c-breadcrumb__item a:hover {
    text-decoration-color: transparent;
  }
  .c-btn.c-btn--green-border:hover {
    -webkit-transform: translateY(0.25rem);
    background-color: #048606;
    box-shadow: none;
    color: #fff;
    transform: translateY(0.25rem);
  }
  .c-btn.c-btn--red-border:hover {
    -webkit-transform: translateY(0.25rem);
    background-color: #f15c5c;
    box-shadow: none;
    color: #fff;
    transform: translateY(0.25rem);
  }
  .c-btn.c-btn--green:hover {
    background-color: #66d767;
  }
  .c-btn:hover {
    color: #fff;
    transition: 0.3s all;
  }
  .c-category__card:hover {
    box-shadow: none;
  }
  .c-category__card:hover .c-category__card-img img {
    -webkit-transform: scale(1.08);
    opacity: 0.7;
    transform: scale(1.08);
  }
  .c-cta-request__bnr:hover {
    opacity: 0.6;
  }
  .c-facility-mini-card:hover .c-facility-mini-card__img img {
    -webkit-transform: scale(1.08);
    opacity: 0.6;
    transform: scale(1.08);
  }
  .c-faq__show-more:hover {
    -webkit-transform: translateY(20%);
    transform: translateY(20%);
  }
  .c-in-page-nav__link:hover {
    background-color: #048606;
    color: #fff;
  }
  .c-in-page-nav__link:hover .c-in-page-nav__icon-bg {
    fill: #fff;
  }
  .c-in-page-nav__link:hover .c-in-page-nav__icon-arrow {
    fill: #048606;
    stroke: #fff;
    stroke-width: 0.5;
  }
  .c-logo:hover {
    opacity: 0.8;
  }
  .cls-1:hover > path {
    fill: currentColor;
    color: #8de0ff;
  }
  .cls-2:hover > path {
    fill: currentColor;
    color: #ffc297;
  }
  .cls-3:hover > path {
    fill: currentColor;
    color: #9cfaea;
  }
  .cls-4:hover > path {
    fill: currentColor;
    color: #ffcfd8;
  }
  .cls-5:hover > path {
    fill: currentColor;
    color: #e9cfa7;
  }
  .cls-6:hover > path {
    fill: currentColor;
    color: #b3eb98;
  }
  .cls-7:hover > path {
    fill: currentColor;
    color: #89c3eb;
  }
  .cls-8:hover > path {
    fill: currentColor;
    color: #ffec96;
  }
  .cls-9:hover > path {
    fill: currentColor;
    color: #dce4a1;
  }
  .c-media-section__link:hover {
    background-color: #f6f6f6;
  }
  .c-media-section__link:hover .c-media-section__img img {
    -webkit-transform: scale(1.08);
    opacity: 0.7;
    transform: scale(1.08);
  }
  .c-news-section__link:hover .c-news-section__title {
    text-decoration-color: #333333; /* 透明 */
  }
  .c-pagination__link:hover {
    background-color: #adadad;
    color: #fff;
  }
  .c-pickup-area-switcher__tab-item:hover {
    background-color: #c9eab9;
    border-color: #048606;
    color: #048606;
    opacity: 1;
  }
  .c-pickup-area-switcher__others-list a:hover {
    opacity: 0.6;
  }
  .c-plan-card:hover {
    box-shadow: none;
  }
  .c-plan-card:hover .c-plan-card__img img {
    -webkit-transform: scale(1.08);
    opacity: 0.7;
    transform: scale(1.08);
  }
  .c-price-section-table__th-plan-btn:hover {
    background-color: #66d767;
  }
  .c-price-section-table__th-plan-btn.c-price-section-table__th-plan-btn--dark:hover {
    background-color: #048606;
  }
  .cls-toubu:hover {
    opacity: 1;
  }
  .cls-toubu:hover > *:not(.city-text):not(.bubble-text) {
    fill: currentColor;
    color: #8de0ff;
  }
  .cls-rikon:hover {
    opacity: 1;
  }
  .cls-rikon:hover > *:not(.city-text):not(.bubble-text) {
    fill: currentColor;
    color: #ffc297;
  }
  .cls-hokubu:hover {
    opacity: 1;
  }
  .cls-hokubu:hover > *:not(.city-text):not(.bubble-text) {
    fill: currentColor;
    color: #9cfaea;
  }
  .cls-chichibu:hover {
    opacity: 1;
  }
  .cls-chichibu:hover > *:not(.city-text):not(.bubble-text) {
    fill: currentColor;
    color: #ffcfd8;
  }
  .cls-kentyuuou:hover {
    opacity: 1;
  }
  .cls-kentyuuou:hover > *:not(.city-text):not(.bubble-text) {
    fill: currentColor;
    color: #e9cfa7;
  }
  .cls-seibu:hover {
    opacity: 1;
  }
  .cls-seibu:hover > *:not(.city-text):not(.bubble-text) {
    fill: currentColor;
    color: #b3eb98;
  }
  .cls-nanseibu:hover {
    opacity: 1;
  }
  .cls-nanseibu:hover > *:not(.city-text):not(.bubble-text) {
    fill: currentColor;
    color: #89c3eb;
  }
  .cls-hiki:hover {
    opacity: 1;
  }
  .cls-hiki:hover > *:not(.city-text):not(.bubble-text) {
    fill: currentColor;
    color: #ffec96;
  }
  .cls-hiki:hover .bubble-text {
    fill: currentColor;
    color: #333333;
  }
  .cls-saitama:hover {
    opacity: 1;
  }
  .cls-saitama:hover > *:not(.city-text):not(.bubble-text) {
    fill: currentColor;
    color: #dce4a1;
  }
  .c-text-link-green:hover {
    opacity: 0.6;
  }
  .c-text-link-green:hover::after {
    -webkit-transform: translateX(10%);
    transform: translateX(10%);
  }
  .c-voice-cord:hover .c-voice-cord__img img {
    -webkit-transform: scale(1.08);
    opacity: 0.6;
    transform: scale(1.08);
  }
  .c-footer-fixed__request:hover {
    opacity: 0.8;
  }
  .p-archive-voice__tab-button:hover {
    background-color: #e6f0e6;
  }
  .p-archive-voice__teb-cta:hover {
    background-color: #66d767;
  }
  .p-archive-voice__filter-button.p-archive-voice__filter-button--gold:hover {
    background-color: rgba(199, 181, 102, 0.3);
  }
  .p-archive-voice__filter-button.p-archive-voice__filter-button--green:hover {
    background-color: rgba(4, 134, 6, 0.3);
  }
  .p-archive-voice__filter-button.p-archive-voice__filter-button--red:hover {
    background-color: rgba(241, 92, 92, 0.3);
  }
  .p-archive-voice__filter-button.p-archive-voice__filter-button--blue:hover {
    background-color: rgba(7, 170, 138, 0.3);
  }
  .p-archive-voice__filter-button.p-archive-voice__filter-button--purple:hover {
    background-color: rgba(188, 131, 232, 0.3);
  }
  .p-area__show-more:hover {
    -webkit-transform: translateY(20%);
    transform: translateY(20%);
  }
  .wp-block-group__inner-container a:hover {
    text-decoration: underline;
  }
  .p-article-blocks__toc ol li:hover,
  ol.wp-block-list.p-article-blocks__toc-list li:hover {
    opacity: 0.7;
  }
  .p-article-author__link:hover,
  .wp-block-group .p-article-author__link:hover {
    opacity: 0.7;
  }
  .p-article-related__link:hover {
    opacity: 0.7;
  }
  .p-sidebar__posts-item:hover {
    opacity: 0.8;
  }
  .p-sidebar__category-link:hover::after {
    -webkit-transform: translateY(-50%) translateX(4px);
    transform: translateY(-50%) translateX(4px);
  }
  .p-sidebar__subcategory-link:hover {
    opacity: 0.7;
  }
  .p-sidebar__banner-item a:hover {
    opacity: 0.7;
  }
  .p-sidebar__banner-cta-link:hover {
    opacity: 0.7;
  }
  .p-column-category__link:hover {
    background-color: #fff;
    border: 1px solid #048606;
  }
  .p-column-category__link:hover .p-column-category__text {
    color: #048606;
  }
  .p-column-category__link:hover svg rect {
    fill: #048606;
  }
  .p-column-category__link:hover svg path {
    fill: #fff;
    stroke: #048606;
  }
  .p-contact-confirm__submit-button:hover {
    background-color: #ff9595;
  }
  .p-contact-thanks__link:hover {
    background-color: #66d767;
  }
  .p-contact__zip-search:hover {
    background-color: #66d767;
  }
  .p-contact__submit-button:hover {
    background-color: #ff9595;
  }
  .p-news-list__item a:hover {
    opacity: 0.7;
  }
  .p-pageTop__wrap:hover img:nth-of-type(1) {
    opacity: 0;
    transition: 0.5s opacity;
  }
  .p-pageTop__wrap:hover img:nth-of-type(2) {
    opacity: 1;
    transition: 0.5s opacity;
  }
  .p-plan__item:hover {
    border: 1px solid #66d767;
    box-shadow: none;
  }
  .p-plan__item:hover .p-plan__image img {
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
  }
  .p-plan__item:hover .p-plan__card::before {
    bottom: -1.4375rem;
  }
  .p-plan-detail__lead-button:hover {
    background-color: #048606;
    color: #fff;
  }
  .p-plan-detail__btn-link:hover {
    background-color: #ff9595;
  }
  .u-hover:hover {
    opacity: 0.8;
    transition: opacity 0.5s;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
/*# sourceMappingURL=style.css.map */