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

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

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

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

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

p,
figure,
h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

html {
  overflow-x: hidden;
}

body {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  color: #2e2b28;
  background: #ffffff;
  line-height: 1.7;
  font-size: 16px;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  body {
    padding-bottom: 72px;
  }
}

a {
  transition: opacity 0.2s;
}

a:hover {
  opacity: 0.7;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  background: #ffffff;
  transition: box-shadow 0.25s ease;
}

body.is-scrolled .header {
  box-shadow: 0 4px 16px rgba(46, 43, 40, 0.1);
}

.header__logo {
  display: flex;
  align-items: center;
}

.header__logo img {
  display: block;
}

@media screen and (min-width: 1200px) {
  body:not(.home) .main {
    padding-top: min(97px, 97 * 100vw / 1400);
  }
}
@media screen and (max-width: 1199px) {
  body:not(.home) .main {
    padding-top: 48px;
  }
}
body.is-menu-open {
  overflow: hidden;
}

@media screen and (min-width: 1200px) {
  .header {
    height: min(97px, 97 * 100vw / 1400);
  }
  .header__inner {
    position: relative;
    width: 100%;
    height: min(97px, 97 * 100vw / 1400);
    display: flex;
    align-items: center;
  }
  .header__logo {
    flex-shrink: 0;
    padding-left: min(36px, 36 * 100vw / 1400);
  }
  .header__logo img {
    width: min(249px, 249 * 100vw / 1400);
    height: auto;
  }
  .header__body {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    padding-right: min(273px, 273 * 100vw / 1400);
  }
  .header__catchrow {
    display: flex;
    align-items: baseline;
    gap: min(8px, 8 * 100vw / 1400);
    margin-bottom: min(5px, 5 * 100vw / 1400);
  }
  .header__catch {
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-weight: 400;
    font-size: min(11px, 11 * 100vw / 1400);
    line-height: 1;
    color: #7a7571;
    white-space: nowrap;
  }
  .header__catch-address {
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: min(11px, 11 * 100vw / 1400);
    line-height: 1;
    color: #7a7571;
    white-space: nowrap;
  }
  .header__cta {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
  }
  .header__toggle {
    display: none;
  }
  .gnav__list {
    display: flex;
    align-items: center;
    gap: min(16px, 16 * 100vw / 1400);
  }
  .gnav__item {
    flex-shrink: 0;
  }
  .gnav__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(4px, 4 * 100vw / 1400);
    padding: min(16px, 16 * 100vw / 1400) 0;
    font-size: min(14px, 14 * 100vw / 1400);
    letter-spacing: min(0.56px, 0.56 * 100vw / 1400);
    color: #2e2b28;
    line-height: 1;
    white-space: nowrap;
  }
  .gnav__link:hover {
    opacity: 1;
    color: #28a8a6;
  }
  .gnav__arrow {
    flex-shrink: 0;
    width: min(16px, 16 * 100vw / 1400);
    height: min(16px, 16 * 100vw / 1400);
    color: #7a7571;
  }
  .header__tel {
    display: flex;
    align-items: center;
    gap: min(4px, 4 * 100vw / 1400);
    width: min(230px, 230 * 100vw / 1400);
    height: min(80px, 80 * 100vw / 1400);
    padding-left: min(24px, 24 * 100vw / 1400);
    background: #d0e5e5;
    color: #2e2b28;
    text-align: center;
  }
  .header__tel:hover {
    opacity: 0.85;
  }
  .header__tel-icon {
    flex-shrink: 0;
    line-height: 0;
  }
  .header__tel-icon img {
    width: min(28px, 28 * 100vw / 1400);
    height: min(28px, 28 * 100vw / 1400);
  }
  .header__tel-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    line-height: 1.3;
  }
  .header__tel-label {
    font-size: min(11px, 11 * 100vw / 1400);
    letter-spacing: min(0.44px, 0.44 * 100vw / 1400);
  }
  .header__tel-num {
    font-size: min(17px, 17 * 100vw / 1400);
    font-weight: 500;
    letter-spacing: min(0.68px, 0.68 * 100vw / 1400);
    line-height: 1.2;
  }
  .header__tel-note {
    font-size: min(10px, 10 * 100vw / 1400);
    font-weight: 500;
    letter-spacing: min(0.4px, 0.4 * 100vw / 1400);
  }
  .header__reserve {
    display: flex;
    align-items: center;
    gap: min(4px, 4 * 100vw / 1400);
    width: min(230px, 230 * 100vw / 1400);
    height: min(72px, 72 * 100vw / 1400);
    padding-left: min(24px, 24 * 100vw / 1400);
    background: #28a8a6;
    color: #ffffff;
    border-bottom-left-radius: min(8px, 8 * 100vw / 1400);
    text-align: center;
    pointer-events: none;
    cursor: default;
  }
  .header__reserve:hover {
    opacity: 0.9;
  }
  .header__reserve-icon {
    flex-shrink: 0;
    line-height: 0;
  }
  .header__reserve-icon img {
    width: min(28px, 28 * 100vw / 1400);
    height: min(28px, 28 * 100vw / 1400);
  }
  .header__reserve-body {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: min(4px, 4 * 100vw / 1400);
    padding-right: min(24px, 24 * 100vw / 1400);
    line-height: 1.3;
  }
  .header__reserve-label {
    font-size: min(11px, 11 * 100vw / 1400);
    font-weight: 500;
    letter-spacing: min(0.88px, 0.88 * 100vw / 1400);
    margin-bottom: -2px;
  }
  .header__reserve-main {
    font-size: min(14px, 14 * 100vw / 1400);
    font-weight: 500;
    letter-spacing: min(0.56px, 0.56 * 100vw / 1400);
    line-height: 1.2;
    white-space: nowrap;
  }
}
@media screen and (max-width: 1199px) {
  .header {
    height: 48px;
  }
  .header__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 48px;
    padding: 10px 12px;
  }
  .header__logo img {
    width: 160px;
    height: auto;
  }
  .header__body, .header__cta {
    display: none;
  }
  .header__toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 10px;
    background: #208e8c;
    border: none;
    border-bottom-left-radius: 8px;
    color: #ffffff;
    cursor: pointer;
    z-index: 1400;
  }
  .header__toggle-icon {
    position: relative;
    display: block;
    width: 24px;
    height: 16px;
  }
  .header__toggle-icon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transition: transform 0.25s, opacity 0.25s, top 0.25s;
  }
  .header__toggle-icon span:nth-child(1) {
    top: 0;
  }
  .header__toggle-icon span:nth-child(2) {
    top: 7px;
  }
  .header__toggle-icon span:nth-child(3) {
    top: 14px;
  }
  .header__toggle-label {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.6px;
    line-height: 1;
  }
  body.is-menu-open .header {
    z-index: 1300;
  }
  body.is-menu-open .header .header__toggle-icon span:nth-child(1) {
    top: 7px;
    transform: rotate(45deg);
  }
  body.is-menu-open .header .header__toggle-icon span:nth-child(2) {
    opacity: 0;
  }
  body.is-menu-open .header .header__toggle-icon span:nth-child(3) {
    top: 7px;
    transform: rotate(-45deg);
  }
  body.is-menu-open .header .header__toggle-label {
    font-size: 0;
  }
  body.is-menu-open .header .header__toggle-label::after {
    content: "CLOSE";
    font-size: 12px;
    letter-spacing: 0.6px;
  }
}
.drawer {
  display: none;
}

@media screen and (max-width: 1199px) {
  .drawer {
    position: fixed;
    top: 48px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1100;
    display: block;
    padding: 32px 24px;
    background: rgba(0, 0, 0, 0.75);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s, visibility 0.25s;
  }
  .drawer[hidden] {
    display: block;
  }
  body.is-menu-open .drawer {
    opacity: 1;
    visibility: visible;
  }
}
.drawer__panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  padding: 16px;
  background: #ffffff;
  border-radius: 8px;
}

.drawer__list {
  display: flex;
  flex-direction: column;
}

.drawer__item + .drawer__item {
  border-top: 1px solid #d9d8d5;
}

.drawer__link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 8px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1.8px;
  color: #2e2b28;
}

.drawer__link span:first-child {
  flex: 1 1 0;
  min-width: 0;
}

.drawer__icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  color: #28a8a6;
}

.drawer__icon--plus {
  position: relative;
}

.drawer__icon--plus::before, .drawer__icon--plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);
}

.drawer__icon--plus::before {
  width: 14px;
  height: 2px;
}

.drawer__icon--plus::after {
  width: 2px;
  height: 14px;
}

.drawer__icon--arrow {
  line-height: 0;
  padding-top: 2px;
}

.drawer__row {
  display: flex;
  align-items: stretch;
}

.drawer__link--parent {
  flex: 1 1 0;
  min-width: 0;
}

.drawer__toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 12px;
  background: none;
  border: none;
  font-family: inherit;
  cursor: pointer;
}

.drawer__item.is-open .drawer__icon--plus::after {
  opacity: 0;
}

.drawer__sub {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
  background: #f4f4f2;
}

.drawer__sub-item + .drawer__sub-item {
  border-top: 1px solid #d9d8d5;
}

.drawer__sub-link {
  padding: 16px 8px 16px 24px;
  font-size: 14px;
  letter-spacing: 1px;
}

.drawer__sub-link .drawer__icon--arrow {
  width: 14px;
  height: 14px;
  transform: translateX(-18px);
}

.drawer__cta {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.drawer__reserve {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 16px 24px;
  background: linear-gradient(90deg, #e8a63a 0%, #f1cc55 100%);
  color: #ffffff;
  border-radius: 6px;
  pointer-events: none;
  cursor: default;
}

.drawer__reserve-icon {
  flex-shrink: 0;
  line-height: 0;
}

.drawer__reserve-body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1.6px;
  line-height: 20px;
}

.drawer__reserve-body .drawer__reserve-sub {
  font-size: 12px;
  letter-spacing: 0.6px;
  line-height: 1.4;
}

.drawer__reserve-body .drawer__reserve-main {
  font-size: 14px;
  line-height: 1.4;
}

.drawer__tel {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 12px 24px;
  background: #e8f7f6;
  color: #2e2b28;
  border-radius: 6px;
}

.drawer__tel-icon {
  flex-shrink: 0;
  line-height: 0;
}

.drawer__tel-body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.drawer__tel-num {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.64px;
}

.drawer__tel-note {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.4px;
  line-height: 1.6;
}

@media screen and (min-width: 1200px) {
  .gnav__item--mega {
    position: relative;
  }
  .gnav__mega {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 60;
    padding-top: 10px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s ease;
  }
  .gnav__item--mega:hover .gnav__mega,
  .gnav__item--mega:focus-within .gnav__mega {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .gnav__mega-list {
    list-style: none;
    margin: 0;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 4px 16px;
  }
  .gnav__mega-list--col1 {
    grid-template-columns: max-content;
  }
  .gnav__mega-list {
    align-content: start;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 14px 36px rgba(46, 43, 40, 0.16);
  }
  .gnav__mega-item {
    min-width: 0;
  }
  .gnav__mega-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 14px;
    letter-spacing: 0.4px;
    color: #2e2b28;
    white-space: nowrap;
    transition: background 0.2s ease, color 0.2s ease;
  }
  .gnav__mega-link:hover {
    background: #e8f7f6;
    color: #28a8a6;
  }
  .gnav__mega-arrow {
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    border-top: 1.5px solid #28a8a6;
    border-right: 1.5px solid #28a8a6;
    transform: rotate(45deg);
  }
}
.footer {
  position: relative;
  overflow: hidden;
  background: linear-gradient(120deg, #2ba49f 0%, #34aaa4 55%, #4bb9ad 100%);
  background-color: #28a8a6;
}

.footer__wrap {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
}

.footer__wrap::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  right: calc(50% - 50vw);
  pointer-events: none;
  z-index: 0;
  background: url("../img/footer-deco-1.svg") calc(585px + 50vw - min(700px, 50vw)) -265px/1061px 1033px no-repeat, url("../img/footer-deco-2.svg") calc(-266px + 50vw - min(700px, 50vw)) -52px/1077px 1077px no-repeat;
}

@media screen and (max-width: 767px) {
  .footer__wrap::before {
    background: url("../img/footer-deco-1.svg") calc(75px + 50vw - min(700px, 50vw)) -47px/461px 449px no-repeat;
  }
}
.footer__cta {
  position: relative;
  z-index: 1;
  padding: 80px 20px 56px;
}

.footer__body-wrap {
  position: relative;
  z-index: 1;
  margin-right: 100px;
}

.footer__body-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100vw;
  background: #fff;
  border-top-right-radius: 48px;
  z-index: 0;
}

.footer__inner {
  position: relative;
  z-index: 1;
  padding: 56px 64px 80px 100px;
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.footer .footer-arrow {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: inline-flex;
}

.footer .footer-arrow svg {
  width: 100%;
  height: 100%;
  display: block;
}

.footer__nav {
  display: flex;
  gap: 48px;
  align-items: center;
}

.footer-cat__item a,
.footer__link a,
.footer-sym__item a,
.footer-sym__head {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.footer-cat__item a:hover,
.footer__link a:hover,
.footer-sym__item a:hover {
  color: #28a8a6;
}

.footer-cat {
  flex-shrink: 0;
  background: rgba(232, 247, 246, 0.5);
  border-radius: 8px;
  padding: 32px 40px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.footer-cat__head {
  background: none;
  border: 0;
  padding: 0;
  cursor: default;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.footer-cat__ttl {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 4.8px;
  line-height: 1.5;
  color: #28a8a6;
  white-space: nowrap;
}

.footer-cat__toggle {
  display: none;
}

.footer-cat__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, auto);
  -moz-column-gap: 24px;
       column-gap: 24px;
  row-gap: 12px;
}

.footer__cols {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

.footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-lbl--sp {
  display: none;
}

.footer-sym {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-sym__head {
  background: none;
  border: 0;
  padding: 0;
  cursor: default;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.footer-sym__toggle {
  display: none;
}

.footer-sym__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-sym__item a {
  padding-left: 32px;
}

.footer__info {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.footer__info-row {
  display: flex;
  gap: 56px;
  align-items: flex-start;
}

.footer__left {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.footer__logo img {
  display: block;
  width: 377px;
  max-width: 100%;
  height: auto;
}

.footer__time {
  width: 600px;
  max-width: 100%;
  background: #fafafa;
  border-radius: 8px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

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

.footer-table th, .footer-table td {
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: #2e2b28;
  padding: 16px 4px;
}

.footer-table thead th {
  height: 48px;
  padding: 8px 4px;
}

.footer-table tbody th, .footer-table tbody td {
  height: 65px;
  border-top: 1px solid #d9d8d5;
}

.footer-table thead th:not(:first-child),
.footer-table tbody td {
  border-left: 1px solid #d9d8d5;
}

.footer-table__label {
  width: 160px;
}

thead .footer-table__label {
  font-size: 18px;
}

.footer-table__sub {
  display: block;
  margin-top: 1px;
  font-size: 13px;
  color: #2e2b28;
}

thead .footer-table__sub {
  font-size: 14px;
}

.footer-table td.is-open {
  color: #28a8a6;
}

.footer__note {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: #5f5a55;
}

.footer__note + .footer__note {
  margin-top: 0;
}

.footer__map {
  flex: 1 1 0;
  min-width: 0;
}

.footer__map img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 480/368;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 8px;
}

.footer__sublinks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
}

.footer__sublinks a {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  letter-spacing: 0.8px;
  color: #2e2b28;
  text-decoration: none;
}

.footer__sublinks a:hover {
  color: #28a8a6;
}

.footer__sublinks-sep {
  color: #8e8a85;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
}

.footer__copy {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 14px;
  letter-spacing: 0.7px;
  line-height: 1.5;
  color: #8e8a85;
  text-align: center;
}

@media (max-width: 1320px) {
  .footer__inner {
    padding: 56px 48px 72px 64px;
  }
  .footer__cols {
    gap: 64px;
  }
}
@media (max-width: 1300px) {
  .footer__nav {
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
  }
}
@media (max-width: 1200px) {
  .footer__info-row {
    flex-direction: column;
    gap: 40px;
  }
  .footer__left {
    width: 100%;
    align-items: flex-start;
  }
  .footer__map {
    width: 100%;
    max-width: 600px;
    flex: none;
  }
}
@media screen and (max-width: 767px) {
  .footer__cta {
    padding: 48px 0 40px;
  }
  .footer__body-wrap {
    margin-right: 24px;
  }
  .footer__body-wrap::before {
    border-top-right-radius: 24px;
  }
  .footer__inner {
    padding: 24px 24px 40px;
    gap: 40px;
  }
  .footer__nav {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }
  .footer-cat__item a,
  .footer__link a,
  .footer-sym__item a,
  .footer-sym__head {
    font-size: 15px;
    letter-spacing: 0.75px;
  }
  .footer-lbl--pc {
    display: none;
  }
  .footer-lbl--sp {
    display: inline;
  }
  .footer-cat {
    background: rgba(232, 247, 246, 0.5);
    border-radius: 6px;
    padding: 11px 12px 11px 16px;
    align-items: stretch;
    gap: 0;
  }
  .footer-cat__head {
    width: 100%;
    cursor: pointer;
    justify-content: space-between;
    background: none;
    border-radius: 0;
    padding: 0;
  }
  .footer-cat__ttl {
    font-size: 15px;
    letter-spacing: 3.6px;
    color: #28a8a6;
  }
  .footer-cat__grid {
    grid-template-columns: 1fr;
    row-gap: 8px;
    padding-top: 16px;
  }
  .footer-cat__item a {
    font-size: 14px;
    letter-spacing: 0.7px;
  }
  .footer__cols {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .footer__links {
    align-items: stretch;
    gap: 12px;
  }
  .footer-sym {
    gap: 0;
  }
  .footer-sym__head {
    width: 100%;
    cursor: pointer;
  }
  .footer-sym__list {
    padding: 12px 0 4px;
    gap: 12px;
  }
  .footer-sym__item a {
    font-size: 14px;
    letter-spacing: 0.7px;
  }
  .footer-cat__toggle,
  .footer-sym__toggle {
    display: block;
    position: relative;
    flex-shrink: 0;
    width: 12px;
    height: 12px;
    margin-left: auto;
  }
  .footer-cat__toggle::before, .footer-cat__toggle::after,
  .footer-sym__toggle::before,
  .footer-sym__toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #8e8a85;
  }
  .footer-cat__toggle::before,
  .footer-sym__toggle::before {
    width: 100%;
    height: 2px;
  }
  .footer-cat__toggle::after,
  .footer-sym__toggle::after {
    width: 2px;
    height: 100%;
  }
  .footer-cat.is-open .footer-cat__toggle::after,
  .footer-sym.is-open .footer-sym__toggle::after {
    opacity: 0;
  }
  .footer-cat__body,
  .footer-sym__body {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease;
  }
  .footer__info-row {
    flex-direction: column;
    gap: 40px;
  }
  .footer__left {
    width: 100%;
    gap: 24px;
  }
  .footer__logo img {
    width: 271px;
  }
  .footer__time {
    width: 100%;
    padding: 12px;
    gap: 0;
  }
  .footer-table th, .footer-table td {
    font-size: 12px;
    padding: 8px 2px;
  }
  .footer-table thead th:not(:first-child), .footer-table tbody td {
    border-left: none;
  }
  .footer-table tbody th, .footer-table tbody td {
    border-top: 0.5px solid #d9d8d5;
  }
  .footer-table thead th {
    height: 32px;
    padding: 0 2px;
    white-space: nowrap;
  }
  .footer-table tbody th, .footer-table tbody td {
    height: 48px;
  }
  .footer-table thead th:not(.footer-table__label) {
    font-size: 11px;
  }
  .footer-table__label {
    width: 88px;
    font-size: 11px;
  }
  thead .footer-table__label {
    font-size: 12px;
  }
  .footer-table__sub {
    font-size: 9px;
    margin-top: 0;
    line-height: 1;
  }
  thead .footer-table__sub {
    font-size: 10px;
    line-height: 1.2;
    padding-bottom: 2px;
  }
  .footer__note {
    font-size: 12px;
  }
  .footer__map img {
    height: auto;
  }
  .footer__sublinks {
    justify-content: flex-start;
    gap: 2px 8px;
  }
  .footer__sublinks a {
    font-size: 13px;
    letter-spacing: 0.65px;
  }
  .footer__sublinks-sep {
    font-size: 16px;
    letter-spacing: 0.8px;
  }
  .footer__copy {
    text-align: center;
    font-size: 13px;
    letter-spacing: 0.65px;
    line-height: 1.7;
  }
}
.l-content {
  padding-bottom: 96px;
}
@media screen and (max-width: 767px) {
  .l-content {
    padding-bottom: 64px;
  }
}

.l-inner {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
  padding-inline: 20px;
}

.page-head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 208px;
  background-color: #28a8a6;
  background-image: url("../img/sec-teal-bg.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .page-head {
    min-height: 132px;
    background-image: url("../img/sec-teal-bg-sp.webp");
  }
}

.page-head__title {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.14em;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .page-head__title {
    font-size: 24px;
  }
}

.page-body {
  margin-top: 48px;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .page-body {
    margin-top: 32px;
  }
}

.breadcrumb-wrap {
  margin-top: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.breadcrumb-wrap::-webkit-scrollbar {
  display: none;
}

.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 38px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.breadcrumb__list .breadcrumb__item {
  position: relative;
  display: inline;
  white-space: nowrap;
  font-size: 14px;
  line-height: 1.5;
}

.breadcrumb__list .breadcrumb__item + .breadcrumb__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -22px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #d9d8d5;
  transform: translateY(-50%);
}

.breadcrumb__list .breadcrumb__item a {
  color: #28a8a6;
  text-decoration: none;
  border-bottom: 1px dotted #28a8a6;
}

.breadcrumb__list .breadcrumb__item span {
  color: #2e2b28;
}

.mv {
  position: relative;
  z-index: 2;
}

.mv__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(800 * min(100vw, 1600px) / 1400);
  overflow: hidden;
  z-index: 0;
  background: #0a3b3a;
}

.mv__slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.2s ease;
}

.mv__slide.is-active {
  opacity: 1;
}

.mv__slide--1 {
  background-image: url("../img/mv-slide1.webp");
}

.mv__slide--2 {
  background-image: url("../img/mv-slide2.webp");
}

.mv__slide--3 {
  background-image: url("../img/mv-slide3.webp");
}

.mv__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1600px;
  height: calc(800 * min(100vw, 1600px) / 1400);
  margin: 0 auto;
}

.mv__catch {
  position: absolute;
  left: calc(103 * min(100vw, 1600px) / 1400);
  top: calc(173 * min(100vw, 1600px) / 1400);
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: calc(28 * min(100vw, 1600px) / 1400);
  line-height: 1;
  letter-spacing: calc(1.4 * min(100vw, 1600px) / 1400);
  color: #fff;
  white-space: nowrap;
}

.mv__title {
  position: absolute;
  left: calc(103 * min(100vw, 1600px) / 1400);
  top: calc(236 * min(100vw, 1600px) / 1400);
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: calc(56 * min(100vw, 1600px) / 1400);
  line-height: 1.6;
  letter-spacing: calc(-1 * min(100vw, 1600px) / 1400);
  color: #fff;
  white-space: nowrap;
}

.mv__title .s56 {
  font-size: calc(56 * min(100vw, 1600px) / 1400);
}

.mv__title .s52 {
  font-size: calc(52 * min(100vw, 1600px) / 1400);
}

.mv__title .s48 {
  font-size: calc(48 * min(100vw, 1600px) / 1400);
}

.mv__sub {
  position: absolute;
  left: calc(103 * min(100vw, 1600px) / 1400);
  top: calc(440 * min(100vw, 1600px) / 1400);
  display: flex;
  align-items: center;
  gap: calc(16 * min(100vw, 1600px) / 1400);
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: calc(38 * min(100vw, 1600px) / 1400);
  letter-spacing: calc(3.8 * min(100vw, 1600px) / 1400);
  color: #fff;
  white-space: nowrap;
}

.mv__line {
  display: block;
  width: calc(110 * min(100vw, 1600px) / 1400);
  height: 1px;
  background: #fff;
}

.mv__badges {
  position: absolute;
  left: calc(103 * min(100vw, 1600px) / 1400);
  top: calc(534 * min(100vw, 1600px) / 1400);
  display: flex;
  gap: calc(20 * min(100vw, 1600px) / 1400);
}

.mv__time {
  position: absolute;
  left: calc(776 * min(100vw, 1600px) / 1400);
  top: calc(461 * min(100vw, 1600px) / 1400);
  width: calc(600 * min(100vw, 1600px) / 1400);
}

.mv-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(8 * min(100vw, 1600px) / 1400);
  width: calc(171 * min(100vw, 1600px) / 1400);
  height: calc(171 * min(100vw, 1600px) / 1400);
  padding-bottom: calc(8 * min(100vw, 1600px) / 1400);
  background: #fff;
  border-radius: 100px;
  text-align: center;
}

.mv-badge__icon {
  line-height: 0;
}

.mv-badge__icon img {
  width: calc(28 * min(100vw, 1600px) / 1400);
  height: calc(28 * min(100vw, 1600px) / 1400);
}

.mv-badge__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(2 * min(100vw, 1600px) / 1400);
  width: calc(144 * min(100vw, 1600px) / 1400);
  color: #2e2b28;
  font-weight: 500;
}

.mv-badge__t {
  font-size: calc(16 * min(100vw, 1600px) / 1400);
  line-height: 1.5;
  letter-spacing: calc(0.36 * min(100vw, 1600px) / 1400);
}

.mv-badge__t--lg {
  font-size: calc(18 * min(100vw, 1600px) / 1400);
  line-height: 1.3;
}

.mv-badge__accent {
  font-size: calc(17 * min(100vw, 1600px) / 1400);
  line-height: 1.5;
  color: #28a8a6;
}

.mv-badge__row {
  font-size: calc(16 * min(100vw, 1600px) / 1400);
  line-height: 1.5;
}

.mv-badge__row em {
  font-style: normal;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: calc(18 * min(100vw, 1600px) / 1400);
  color: #28a8a6;
}

.mv-badge__row small {
  font-size: calc(14 * min(100vw, 1600px) / 1400);
  color: #28a8a6;
}

.mv-badge__num {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 1px;
  font-size: calc(13 * min(100vw, 1600px) / 1400);
}

.mv-badge__num strong {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: calc(28 * min(100vw, 1600px) / 1400);
  line-height: 1;
  color: #28a8a6;
}

.mv-badge__note {
  font-size: calc(13 * min(100vw, 1600px) / 1400);
  font-weight: 400;
  letter-spacing: calc(0.26 * min(100vw, 1600px) / 1400);
}

.schedule {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 24px 32px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(105, 105, 105, 0.05);
}

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

.schedule__table th, .schedule__table td {
  border: 1px solid #d9d8d5;
  text-align: center;
  vertical-align: middle;
  font-weight: 400;
}

.schedule__table thead th {
  border-top: none;
}

.schedule__table tr th:first-child, .schedule__table tr td:first-child {
  border-left: none;
}

.schedule__table tr th:last-child, .schedule__table tr td:last-child {
  border-right: none;
}

.schedule__table tbody tr:last-child th, .schedule__table tbody tr:last-child td {
  border-bottom: none;
}

.schedule__table thead th {
  height: 48px;
  font-size: 16px;
  color: #2e2b28;
}

.schedule__table thead th.schedule__corner {
  font-size: 18px;
}

.schedule__table tbody th {
  height: 65px;
  font-size: 16px;
  letter-spacing: 0.3px;
  color: #2e2b28;
}

.schedule__table tbody td {
  height: 65px;
  font-size: 16px;
}

.schedule__table td.is-on {
  color: #28a8a6;
}

.schedule__table td.is-off {
  color: #2e2b28;
}

.schedule__corner {
  text-align: center;
}

.schedule__time {
  white-space: nowrap;
}

.schedule__sub {
  display: block;
  margin-top: 1px;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  color: #2e2b28;
}

.schedule__corner .schedule__sub {
  font-size: 14px;
}

.schedule__note {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #5f5a55;
}

.schedule__note + .schedule__note {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .mv__time .schedule {
    gap: 0;
    padding: calc(24 * min(100vw, 1600px) / 1400) calc(32 * min(100vw, 1600px) / 1400);
    border-radius: calc(8 * min(100vw, 1600px) / 1400);
  }
  .mv__time .schedule__table thead th {
    height: calc(48 * min(100vw, 1600px) / 1400);
    font-size: calc(16 * min(100vw, 1600px) / 1400);
  }
  .mv__time .schedule__table tbody th {
    height: calc(65 * min(100vw, 1600px) / 1400);
    font-size: calc(15 * min(100vw, 1600px) / 1400);
  }
  .mv__time .schedule__table tbody td {
    height: calc(65 * min(100vw, 1600px) / 1400);
    font-size: calc(16 * min(100vw, 1600px) / 1400);
  }
  .mv__time .schedule__table th:first-child, .mv__time .schedule__table td:first-child {
    width: calc(109 * min(100vw, 1600px) / 1400);
    line-height: 1.2;
  }
  .mv__time .schedule__sub {
    font-size: calc(13 * min(100vw, 1600px) / 1400);
  }
  .mv__time .schedule__corner .schedule__sub {
    font-size: calc(14 * min(100vw, 1600px) / 1400);
  }
  .mv__time .schedule__note {
    font-size: calc(14 * min(100vw, 1600px) / 1400);
  }
}
.sp-cta {
  display: none;
}

.sp-schedule {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 900;
    display: flex;
    width: 100%;
    transition: box-shadow 0.25s ease;
  }
  body.is-scrolled .sp-cta {
    box-shadow: 0 -2px 14px rgba(46, 43, 40, 0.14);
  }
  .sp-cta__btn {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 10px;
    height: 72px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.6px;
    border: none;
    cursor: pointer;
  }
  .sp-cta__btn--reserve {
    background: linear-gradient(90deg, #e8a63a 0%, #f1cc55 100%);
    color: #fff;
    pointer-events: none;
    cursor: default;
  }
  .sp-cta__btn--tel {
    background: #e8f7f6;
    color: #2e2b28;
    border-left: 0.5px solid #fff;
  }
  .sp-cta__btn--time {
    background: #208e8c;
    color: #fff;
    border-left: 0.5px solid #fff;
  }
  .sp-cta__icon {
    line-height: 0;
  }
  .sp-cta__icon img {
    width: 24px;
    height: 24px;
  }
  .sp-cta__btn--tel .sp-cta__icon {
    color: #28a8a6;
  }
  .sp-cta__label--reserve {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 16px;
    letter-spacing: 0.48px;
    text-align: center;
  }
  .sp-cta__label--reserve .sp-cta__sub {
    font-size: 9px;
    letter-spacing: 0.4px;
    line-height: 1.3;
  }
  .sp-schedule {
    display: none;
    position: fixed;
    bottom: 72px;
    left: 0;
    z-index: 899;
    width: 100%;
    max-height: calc(100vh - 72px - 48px);
    overflow-y: auto;
    padding: 16px;
    background: #f4f4f2;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
  }
  .sp-schedule .schedule {
    box-shadow: none;
    padding: 16px;
  }
  .sp-schedule .schedule__table {
    table-layout: fixed;
  }
  .sp-schedule .schedule__table th, .sp-schedule .schedule__table td {
    border: none;
    padding: 4px 2px;
  }
  .sp-schedule .schedule__table tbody th, .sp-schedule .schedule__table tbody td {
    border-top: 0.5px solid #d9d8d5;
  }
  .sp-schedule .schedule__table th:first-child, .sp-schedule .schedule__table td:first-child {
    width: 92px;
  }
  .sp-schedule .schedule__table thead th {
    height: 32px;
    padding: 0 2px;
    font-size: 11px;
    white-space: nowrap;
  }
  .sp-schedule .schedule__table tbody th {
    height: 48px;
    font-size: 11px;
    letter-spacing: 0;
  }
  .sp-schedule .schedule__table tbody td {
    height: 48px;
    font-size: 12px;
  }
  .sp-schedule .schedule__table .schedule__sub {
    font-size: 9px;
    margin-top: 0;
    line-height: 1.2;
  }
  .sp-schedule .schedule__table .schedule__corner .schedule__sub {
    padding-bottom: 2px;
  }
  .sp-schedule .schedule__note {
    font-size: 13px;
  }
}
.sec-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sec-head__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 24px;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 3.2px;
  color: #28a8a6;
  text-transform: uppercase;
}

.sec-head__dot {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-64%);
  width: 40px;
  height: 40px;
  background: #28a8a6;
  opacity: 0.15;
  border-radius: 100px;
}

.sec-head__title {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.8;
  letter-spacing: 1.1px;
  color: #2e2b28;
}

.sec-head__big {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-size: 24px;
  letter-spacing: 2.4px;
}

.sec-head__big em {
  font-style: normal;
  font-size: 36px;
  line-height: 1.4;
}

.features {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 80px 0;
  background-color: #f4f4f2;
  background-image: url("../img/features-bg.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.features__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.features__body {
  display: flex;
  gap: 32px;
  align-items: stretch;
}

.features__photo {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  border-radius: 4px;
  overflow: hidden;
  aspect-ratio: 560/448;
}

.features__photo-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.features__photo-img.is-active {
  opacity: 1;
}

.feature-list {
  flex-shrink: 0;
  width: 608px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.feature-list__item {
  display: flex;
  align-items: center;
}

.feature-list__item:hover .feature-list__card {
  background: #28a8a6;
}

.feature-list__item:hover .feature-list__text {
  color: #fff;
}

.feature-list__item:hover .feature-list__text strong {
  color: #fff;
}

.feature-list__item:hover .feature-list__num-b {
  color: #fff;
}

.feature-list__item:hover .feature-list__arrow {
  color: #fff;
  transform: translateX(5px);
}

.feature-list__num {
  position: relative;
  z-index: 2;
  width: 48px;
  margin-right: -16px;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 44px;
  letter-spacing: 2.2px;
  color: #28a8a6;
  text-align: center;
}

.feature-list__num-a, .feature-list__num-b {
  transition: color 0.3s ease;
}

.feature-list__card {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  min-width: 0;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 32px;
  background: #fff;
  border-radius: 4px;
  color: #2e2b28;
  transition: background-color 0.3s ease;
}

.feature-list__text {
  font-size: 18px;
  letter-spacing: 0.9px;
  transition: color 0.3s ease;
}

.feature-list__text strong {
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  color: #28a8a6;
  white-space: nowrap;
  transition: color 0.3s ease;
}

.feature-list__arrow {
  flex-shrink: 0;
  line-height: 0;
  color: #5f5a55;
  transition: transform 0.3s ease, color 0.3s ease;
}

@media screen and (max-width: 767px) {
  .mv {
    z-index: auto;
    overflow: hidden;
    height: calc(663 / 375 * 100svw);
  }
  .mv__bg {
    position: absolute;
    height: 100%;
  }
  .mv__inner {
    position: relative;
    width: 100%;
    max-width: none;
    height: 100%;
  }
  .mv__catch {
    position: absolute;
    top: calc(190 / 375 * 100svw);
    left: calc(23 / 375 * 100svw);
    font-size: calc(16 / 375 * 100svw);
    line-height: normal;
    letter-spacing: calc(0.8 / 375 * 100svw);
    white-space: nowrap;
  }
  .mv__title {
    position: absolute;
    top: calc(229 / 375 * 100svw);
    left: calc(23 / 375 * 100svw);
    font-size: calc(28 / 375 * 100svw);
    line-height: 1.9;
    letter-spacing: calc(-1.4 / 375 * 100svw);
    white-space: nowrap;
  }
  .mv__title .s56, .mv__title .s48 {
    font-size: calc(28 / 375 * 100svw);
  }
  .mv__title .s52 {
    font-size: calc(30 / 375 * 100svw);
  }
  .mv__sub {
    position: absolute;
    top: calc(357 / 375 * 100svw);
    left: calc(35 / 375 * 100svw);
    width: calc(317 / 375 * 100svw);
    gap: calc(16 / 375 * 100svw);
    font-size: calc(16 / 375 * 100svw);
    letter-spacing: calc(1.6 / 375 * 100svw);
    white-space: nowrap;
  }
  .mv__line {
    flex: 1 0 0;
    width: auto;
  }
  .mv__badges {
    position: absolute;
    top: calc(430 / 375 * 100svw);
    left: 50%;
    transform: translateX(-50%);
    width: calc(343 / 375 * 100svw);
    gap: calc(8 / 375 * 100svw);
  }
  .mv__time {
    display: none;
  }
  .mv__slide--1 {
    background-image: url("../img/mv-slide1-sp.webp");
  }
  .mv__slide--2 {
    background-image: url("../img/mv-slide2-sp.webp");
  }
  .mv__slide--3 {
    background-image: url("../img/mv-slide3-sp.webp");
  }
  .mv-badge {
    flex: 1 1 0;
    width: auto;
    height: auto;
    aspect-ratio: 1/1;
    gap: calc(5 / 375 * 100svw);
    padding-bottom: calc(5 / 375 * 100svw);
    border-radius: calc(64 / 375 * 100svw);
  }
  .mv-badge__icon img {
    width: calc(17.8 / 375 * 100svw);
    height: calc(17.8 / 375 * 100svw);
  }
  .mv-badge__body {
    width: calc(91.7 / 375 * 100svw);
    gap: calc(1.3 / 375 * 100svw);
  }
  .mv-badge__t {
    font-size: calc(10 / 375 * 100svw);
    letter-spacing: calc(0.2 / 375 * 100svw);
  }
  .mv-badge__t--lg {
    font-size: calc(12 / 375 * 100svw);
    letter-spacing: calc(0.24 / 375 * 100svw);
  }
  .mv-badge__accent {
    font-size: calc(11 / 375 * 100svw);
    white-space: nowrap;
  }
  .mv-badge__row {
    font-size: calc(10 / 375 * 100svw);
  }
  .mv-badge__row em {
    font-size: calc(12 / 375 * 100svw);
  }
  .mv-badge__row small {
    font-size: calc(10 / 375 * 100svw);
  }
  .mv-badge__num strong {
    font-size: calc(18 / 375 * 100svw);
  }
  .mv-badge__num {
    font-size: calc(10 / 375 * 100svw);
  }
  .mv-badge__note {
    font-size: calc(8.4 / 375 * 100svw);
  }
  .features {
    padding: 48px 0;
    background-image: url("../img/features-bg-sp.webp");
  }
  .features__inner {
    gap: 20px;
    padding: 0 16px;
  }
  .features__body {
    flex-direction: column;
    gap: 20px;
  }
  .features__photo {
    width: 100%;
    height: 220px;
  }
  .sec-head__label {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .sec-head__title {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.7px;
  }
  .sec-head__big {
    font-size: 18px;
    gap: 4px;
    transform: translate(6px, 4px);
  }
  .sec-head__big em {
    font-size: 28px;
  }
  .feature-list {
    width: auto;
    gap: 10px;
  }
  .feature-list__num {
    width: 40px;
    margin-right: -14px;
    font-size: 34px;
  }
  .feature-list__card {
    min-height: 76px;
    padding: 0 20px;
    gap: 8px;
  }
  .feature-list__text {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.5px;
  }
  .feature-list__text strong {
    font-size: 16px;
    margin: 0 4px;
  }
  .feature-list__arrow svg {
    width: 20px;
    height: 20px;
  }
}
.lead {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lead__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding-left: 24px;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 3.2px;
  color: #28a8a6;
  text-transform: uppercase;
}

.lead__dot {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-64%);
  width: 40px;
  height: 40px;
  background: #28a8a6;
  opacity: 0.15;
  border-radius: 100px;
}

.lead__title {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.8;
  letter-spacing: 1.6px;
  color: #2e2b28;
}

.lead--center {
  align-items: center;
}

.lead--inverse .lead__label, .lead--inverse .lead__title {
  color: #fff;
}

.lead--inverse .lead__dot {
  background: #fff;
}

@media screen and (max-width: 767px) {
  .lead__label {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .lead__title {
    font-size: 20px;
    letter-spacing: 1px;
  }
}
.cta {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  background-color: #28a8a6;
  background-image: url("../img/sec-teal-bg.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .cta {
    background-image: url("../img/sec-teal-bg-sp.webp");
  }
}

.cta__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.cta__desc {
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.54px;
  color: #fff;
  text-align: center;
  font-weight: 500;
}

.cta__btns {
  display: flex;
  gap: 32px;
  width: 100%;
  padding: 0 80px;
  margin-top: 8px;
}

@media (max-width: 1280px) {
  .cta__btns {
    padding: 0 24px;
  }
}
@media (max-width: 1080px) {
  .cta__btns {
    padding: 0;
  }
}
.cta__btn {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  height: 120px;
  padding: 0 24px;
  border-radius: 6px;
}

.cta__btn:hover {
  opacity: 0.92;
}

.cta__btn-icon {
  flex-shrink: 0;
  line-height: 0;
}

.cta__btn-icon img {
  width: 44px;
  height: 44px;
}

.cta__btn-body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.cta__btn--reserve {
  background: linear-gradient(90deg, #e8a63a 0%, #f1cc55 100%);
  color: #fff;
  pointer-events: none;
  cursor: default;
}

.cta__btn--tel {
  background: #e8f7f6;
  color: #2e2b28;
}

.cta__btn-sub {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1.12px;
  line-height: 1.7;
}

.cta__btn-main {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.8px;
  line-height: 1.2;
}

.cta__btn-label {
  font-size: 14px;
  letter-spacing: 0.56px;
}

.cta__btn-num {
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 1.2px;
  line-height: 1.2;
}

.cta__btn-note {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.64px;
  line-height: 1.6;
}

@media (max-width: 1199px) {
  .cta__btn-main {
    font-size: 20px;
    letter-spacing: 0.8px;
  }
}
.topics {
  overflow: hidden;
  padding: 80px 0;
  background: #fff;
}

.topics__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.topics .lead__label {
  color: #28a8a6;
}

.topics__single {
  display: flex;
  justify-content: center;
  width: 100%;
}

.topics__banner {
  display: block;
  width: 100%;
  max-width: 600px;
}

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

.topics__slider {
  position: relative;
  width: 100%;
}

.topics__card {
  display: block;
  width: 100%;
  height: 100%;
  background: #f4f4f2;
  border-radius: 8px;
  overflow: hidden;
}

.topics__card img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.topics__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #28a8a6;
  color: #fff;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: opacity 0.2s;
}

.topics__arrow:hover {
  opacity: 0.85;
}

.topics__arrow--prev {
  left: 8%;
}

.topics__arrow--next {
  right: 8%;
}

.topics__pager {
  margin-top: 8px;
  display: flex;
  gap: 20px;
  justify-content: center;
}

.js-topics {
  overflow: hidden;
  height: 400px;
}

.js-topics .swiper-wrapper {
  align-items: flex-end;
  height: 100%;
}

.js-topics .swiper-slide {
  width: 180px;
  height: 240px;
  transition: width 0.5s ease, height 0.5s ease;
}

.js-topics .swiper-slide-prev, .js-topics .swiper-slide-next {
  width: 240px;
  height: 320px;
}

.js-topics .swiper-slide-active {
  width: 300px;
  height: 400px;
}

.topics__dot {
  width: 12px;
  height: 12px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #d9d8d5;
  cursor: pointer;
  transition: background-color 0.2s;
}

.topics__dot.is-active {
  background: #28a8a6;
}

.news-sec {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  background-color: #28a8a6;
  background-image: url("../img/sec-teal-bg.webp");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .news-sec {
    background-image: url("../img/sec-teal-bg-sp.webp");
  }
}

.news-sec__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 48px;
}

.news-sec__head {
  flex-shrink: 0;
  width: 320px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: center;
}

.news-sec__more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 320px;
  height: 80px;
  border: 1px solid #fff;
  border-radius: 2px;
  box-shadow: 0 4px 16px rgba(105, 105, 105, 0.08);
  color: #fff;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 1.1px;
  transition: background-color 0.3s, color 0.3s;
}

.news-sec__more:hover {
  background: #fff;
  color: #28a8a6;
  opacity: 1;
}

.news-sec__more-icon {
  flex-shrink: 0;
  line-height: 0;
}

.news-sec__list {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.news-sec__link {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px 32px 24px 40px;
  background: #fff;
  border-radius: 12px;
  color: #2e2b28;
  transition: background-color 0.3s, color 0.3s;
}

.news-sec__link:hover {
  background: #28a8a6;
}

.news-sec__link:hover .news-sec__date {
  color: rgba(255, 255, 255, 0.8);
}

.news-sec__link:hover .news-sec__ttl {
  color: #fff;
}

.news-sec__link:hover .news-sec__arrow {
  color: #fff;
  transform: translateX(4px);
}

.news-sec__text {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.news-sec__date {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.9px;
  color: #8e8a85;
  line-height: 1;
  transition: color 0.3s;
}

.news-sec__ttl {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.9px;
  line-height: 1.5;
  color: #2e2b28;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  transition: color 0.3s;
}

.news-sec__arrow {
  flex-shrink: 0;
  color: #28a8a6;
  line-height: 0;
  transition: transform 0.3s ease, color 0.3s ease;
}

@media screen and (max-width: 767px) {
  .cta {
    padding: 48px 0;
  }
  .cta__inner {
    gap: 20px;
    padding: 0 24px;
  }
  .cta__desc {
    font-size: 14px;
    line-height: 1.9;
    text-align: center;
  }
  .cta__btns {
    flex-direction: column;
    gap: 12px;
    padding: 0;
  }
  .cta__btn {
    height: auto;
    padding: 16px 20px;
  }
  .cta__btn-icon img {
    width: 32px;
    height: 32px;
  }
  .cta__btn-sub {
    font-size: 12px;
  }
  .cta__btn-main {
    font-size: 18px;
    letter-spacing: 0.72px;
  }
  .cta__btn-label {
    font-size: 12px;
  }
  .cta__btn-num {
    font-size: 22px;
  }
  .cta__btn-note {
    font-size: 11px;
  }
  .cta__btn--reserve {
    flex: none;
    height: 75px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .cta__btn--tel {
    padding: 10px 20px;
  }
  .topics {
    padding: 48px 0;
  }
  .topics__inner {
    gap: 20px;
    padding: 0 16px;
  }
  .topics__arrow {
    width: 32px;
    height: 32px;
  }
  .topics__arrow--prev {
    left: 4%;
  }
  .topics__arrow--next {
    right: 4%;
  }
  .js-topics {
    height: 220px;
  }
  .js-topics .swiper-slide {
    width: 99px;
    height: 132px;
  }
  .js-topics .swiper-slide-prev, .js-topics .swiper-slide-next {
    width: 132px;
    height: 176px;
  }
  .js-topics .swiper-slide-active {
    width: 165px;
    height: 220px;
  }
  .topics__dot {
    width: 8px;
    height: 8px;
  }
  .news-sec {
    padding: 48px 0;
  }
  .news-sec__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    padding: 0 16px;
  }
  .news-sec__head {
    display: contents;
  }
  .news-sec .lead {
    order: 1;
    align-items: flex-start;
  }
  .news-sec__list {
    order: 2;
  }
  .news-sec__more {
    order: 3;
    width: 100%;
    align-self: center;
    height: 64px;
    font-size: 18px;
  }
  .news-sec__link {
    padding: 20px;
    gap: 12px;
  }
  .news-sec__date {
    font-size: 14px;
  }
  .news-sec__ttl {
    font-size: 14px;
  }
}
.greet {
  overflow: hidden;
}

.greet__block {
  position: relative;
  display: flex;
  align-items: center;
  gap: 80px;
  max-width: 1400px;
  margin: 0 auto;
}

.greet__block--director {
  padding: 120px 100px 40px 0;
}

.greet__block--chairman {
  padding: 40px 0 120px 100px;
  flex-direction: row-reverse;
}

.greet__block--director::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 80px;
  bottom: 80px;
  left: 200px;
  right: calc(50% - 50vw);
  background: #e8f7f6;
  opacity: 0.45;
  border-radius: 24px 0 0 24px;
}

.greet__block--chairman::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 40px;
  bottom: 120px;
  left: calc(50% - 50vw);
  right: calc(100% - 1039px);
  background: #f4f4f2;
  border-radius: 0 24px 24px 0;
}

.greet__bg {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: contain;
}

.greet__block--director .greet__bg {
  left: 202px;
  bottom: 80px;
  width: 752px;
  height: 739px;
  border-radius: 24px;
  background: url("../img/greet-bg-director.svg") 0 0/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .greet__block--director .greet__bg {
    left: 80px;
    top: 186px;
    right: auto;
    bottom: auto;
    width: 295px;
    height: 668px;
    border-radius: 0;
    background: url("../img/greet-bg-director-sp.svg") 0 0/contain no-repeat;
  }
}
.greet__block--chairman .greet__bg {
  right: calc(100% - 1038px);
  bottom: 120px;
  width: 797px;
  height: 665px;
  border-radius: 24px;
  background: url("../img/greet-bg-chairman.svg") 0 0/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .greet__block--chairman .greet__bg {
    left: 0;
    top: 236px;
    right: auto;
    bottom: auto;
    width: 314px;
    height: 535px;
    border-radius: 0;
    background: url("../img/greet-bg-chairman-sp.svg") 0 0/contain no-repeat;
  }
}
.greet__media {
  position: relative;
  z-index: 1;
  flex: 0 1 560px;
  min-width: 0;
}

.greet__photo {
  width: 100%;
  aspect-ratio: 560/786;
  border-radius: 4px;
  overflow: hidden;
  background: #f4f4f2;
}

.greet__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.greet__card {
  position: absolute;
  z-index: 3;
  transform: translateZ(0);
  width: -moz-max-content;
  width: max-content;
  max-width: none;
  background: #fff;
  padding: 24px 40px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.greet__role {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 2.4px;
  line-height: 1.5;
  color: #2e2b28;
}

.greet__name {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  white-space: nowrap;
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 4.8px;
  line-height: 1.5;
  color: #2e2b28;
}

.greet__roman {
  white-space: nowrap;
}

.greet__roman {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 3.2px;
  line-height: 2;
  color: #28a8a6;
  text-transform: uppercase;
}

.greet__license {
  font-size: 18px;
  letter-spacing: 0.54px;
  line-height: 1.8;
  color: #2e2b28;
}

.greet__deco {
  position: absolute;
  z-index: 3;
  width: 60px;
  height: 110px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  mix-blend-mode: multiply;
}

.greet__block--director .greet__card {
  left: 29.64%;
  top: 71.12%;
}

.greet__block--director .greet__deco {
  left: 26.07%;
  top: 81.3%;
  background-image: url("../img/greet-deco-director.svg");
}

.greet__block--chairman .greet__card {
  left: -7.5%;
  top: 69.08%;
}

.greet__block--chairman .greet__deco {
  left: 71.25%;
  top: 70.36%;
  background-image: url("../img/greet-deco-chairman.svg");
}

.greet__body {
  position: relative;
  z-index: 1;
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 80px 0;
}

.greet__lead {
  gap: 8px;
}

.greet__ttl {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 1.6px;
  line-height: 1.8;
  color: #2e2b28;
  padding-left: 8px;
}

.greet__text {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.greet__text p {
  font-size: 18px;
  letter-spacing: 0.54px;
  line-height: 1.8;
  color: #2e2b28;
}

.greet__btnwrap {
  display: flex;
}

.greet__block--director .greet__btnwrap {
  justify-content: flex-end;
}

.greet__block--chairman .greet__btnwrap {
  justify-content: flex-start;
}

.greet__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 400px;
  max-width: 100%;
  height: 80px;
  border: 1px solid #28a8a6;
  border-radius: 2px;
  box-shadow: 0 4px 16px rgba(105, 105, 105, 0.08);
  color: #28a8a6;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  transition: background-color 0.3s, color 0.3s;
}

.greet__btn:hover {
  background: #28a8a6;
  color: #fff;
}

.greet__btn-arrow {
  line-height: 0;
}

.greet__btn-arrow svg {
  display: block;
}

@media (min-width: 768px) and (max-width: 1199px) {
  .greet__block,
  .greet__block--director,
  .greet__block--chairman {
    flex-direction: column;
    align-items: stretch;
    gap: 40px;
    max-width: 760px;
    margin: 0 auto;
    padding: 72px 32px;
  }
  .greet__media {
    flex: none;
    width: 100%;
  }
  .greet__body {
    flex: none;
    padding: 0;
  }
  .greet__block--director::before,
  .greet__block--chairman::before {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .greet__block,
  .greet__block--director,
  .greet__block--chairman {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    max-width: none;
    padding: 40px 0 24px;
  }
  .greet__body {
    display: contents;
  }
  .greet__lead {
    order: 1;
    padding: 0 24px;
  }
  .greet__media {
    order: 2;
    flex: none;
    width: 100%;
    padding: 0 24px;
  }
  .greet__text {
    order: 3;
    padding: 40px 24px 0;
    gap: 16px;
    font-weight: 500;
  }
  .greet__btnwrap {
    order: 4;
    padding: 0 24px;
    justify-content: stretch;
  }
  .greet__block--director::before {
    top: 150px;
    bottom: auto;
    height: 664px;
    left: auto;
    right: 0;
    width: 78.6%;
  }
  .greet__block--chairman::before {
    top: 235px;
    bottom: auto;
    height: 535px;
    left: 0;
    right: auto;
    width: 83.7%;
  }
  .greet__lead, .greet__media, .greet__text, .greet__btnwrap {
    position: relative;
    z-index: 1;
  }
  .greet__photo {
    aspect-ratio: auto;
    height: 327px;
    border-radius: 8px;
  }
  .greet__card {
    padding: 16px 24px;
    gap: 5px;
  }
  .greet__block--director .greet__card {
    left: 88px;
    right: auto;
    top: 257px;
    bottom: auto;
  }
  .greet__block--chairman .greet__card {
    left: 13px;
    right: auto;
    top: 233px;
    bottom: auto;
  }
  .greet__role {
    font-size: 11px;
    letter-spacing: 1.65px;
  }
  .greet__name {
    font-size: 20px;
    letter-spacing: 3px;
    gap: 10px;
  }
  .greet__roman {
    font-size: 10px;
    letter-spacing: 2px;
  }
  .greet__license {
    font-size: 12px;
    letter-spacing: 0.36px;
  }
  .greet__deco {
    width: 40px;
    height: 74px;
  }
  .greet__block--director .greet__deco {
    left: 67px;
    right: auto;
    top: 294px;
    bottom: auto;
  }
  .greet__block--chairman .greet__deco {
    right: 45px;
    left: unset;
    top: 240px;
    bottom: auto;
  }
  .greet__lead .lead__label {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .greet__ttl {
    font-size: 20px;
    letter-spacing: 1px;
  }
  .greet__text p {
    font-size: 14px;
    letter-spacing: 0.42px;
  }
  .greet__btn {
    width: 100%;
    height: 64px;
    font-size: 16px;
    letter-spacing: 0.8px;
  }
  .greet-br {
    display: none;
  }
}
.svc {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  background: #fff;
}

.svc__deco {
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: contain;
}

.svc__deco--tr {
  top: -100px;
  right: -440px;
  width: 997px;
  aspect-ratio: 997/793;
  background-image: url("../img/svc-deco-tr.svg");
}

.svc__deco--br {
  bottom: -300px;
  left: -360px;
  width: 1499px;
  aspect-ratio: 1500/1180;
  background-image: url("../img/svc-deco-br.svg");
}

.svc__lead, .svc__grid {
  width: min(1200px, 100% - 48px);
  margin-inline: auto;
}

.svc__features {
  max-width: 1400px;
  margin: 0 auto;
}

.svc__lead {
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
}

.svc .lead__label {
  line-height: 2;
}

.svc__ttl {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 1.6px;
  line-height: 1.8;
  color: #2e2b28;
  padding-left: 8px;
}

.svc__features {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.svc-feat {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 40px;
  padding: 40px 100px 0 140px;
}

.svc-feat + .svc-feat::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 100px;
  right: 100px;
  border-top: 1px solid #d9d8d5;
}

.svc-feat__media {
  position: relative;
  flex: 0 1 605px;
  min-width: 0;
}

.svc-feat__photo {
  width: 100%;
  aspect-ratio: 605/341;
  border-radius: 16px;
  overflow: hidden;
  background: #f6f6f6;
}

.svc-feat__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.svc-feat__vlabel {
  position: absolute;
  z-index: 2;
  left: 95px;
  top: 0;
  width: 90px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 400;
  font-size: 42px;
  letter-spacing: 13px;
  line-height: 1.3;
  color: #5f5a55;
  text-align: center;
  background: #fff;
  border: 1px solid #d9d8d5;
  padding: 8px;
  min-height: 268px;
}

.svc-feat__vlabel--sm {
  font-size: 32px;
  letter-spacing: 4px;
  min-height: 408px;
}

.svc-feat__vlabel .svc-feat__vlabel-paren {
  font-size: 18px;
  letter-spacing: 1px;
}

.svc-feat__vlabel .svc-feat__vlabel-main {
  margin-top: 1em;
}

.svc-feat__body {
  flex: 1 1 0;
  min-width: 0;
  padding-top: 40px;
}

.svc-feat__eyebrow {
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 2.8px;
  line-height: 2;
  text-transform: uppercase;
  color: #8e8a85;
}

.svc-feat__title {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 7px;
  line-height: 1.8;
  color: #2e2b28;
  margin-top: 8px;
}

.svc-feat__title--sm {
  letter-spacing: 4.2px;
}

.svc-feat__desc {
  margin-top: 8px;
}

.svc-feat__desc p {
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 2;
  color: #2e2b28;
}

.svc-feat__btnwrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

.svc-feat__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  padding: 16px 24px 16px 56px;
  border: 1px solid #28a8a6;
  border-radius: 2px;
  box-shadow: 0 4px 16px rgba(105, 105, 105, 0.08);
  color: #28a8a6;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.8px;
  transition: background-color 0.3s, color 0.3s;
}

.svc-feat__btn:hover {
  background: #28a8a6;
  color: #fff;
}

.svc-feat__btn-arrow {
  line-height: 0;
}

.svc-feat__btn-arrow svg {
  display: block;
}

.svc__grid {
  list-style: none;
  margin-top: 64px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  gap: 24px;
}

.svc-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px 28px 24px;
  background: #fff;
  border: 1px solid #ecebe8;
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.svc-card__cover {
  position: absolute;
  inset: 0;
  z-index: 3;
}

.svc-card:hover {
  border-color: #28a8a6;
  box-shadow: 0 8px 24px rgba(40, 168, 166, 0.12);
}

.svc-card:hover .svc-card__icon {
  background: #e8f7f6;
}

.svc-card:hover .svc-card__title {
  color: #28a8a6;
}

.svc-card__head {
  display: contents;
}

.svc-card__icon {
  width: 100px;
  height: 100px;
  margin-bottom: 16px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f6f6f6;
  border-radius: 16px;
  transition: background-color 0.3s ease;
}

.svc-card__icon img {
  width: 44px;
  height: auto;
  display: block;
}

.svc-card__icon--wide img {
  width: 62px;
}

.svc-card__title {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 3px;
  line-height: 1.8;
  color: #2e2b28;
  text-align: center;
  white-space: nowrap;
  transition: color 0.3s ease;
}

.svc-card__chev {
  display: none;
}

.svc-card__body {
  display: contents;
}

.svc-card__desc {
  width: 100%;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 1.6;
  color: #2e2b28;
}

.svc-card__more {
  display: none;
}

.svc-card__tri {
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 20px;
  height: 20px;
  background: #28a8a6;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  z-index: 1;
}

@media (max-width: 1199px) {
  .svc-feat {
    padding: 40px 40px 0 64px;
  }
  .svc-feat__media {
    flex: 1 1 46%;
  }
  .svc-feat__body {
    flex: 1 1 54%;
  }
  .svc-feat__vlabel {
    left: 16px;
  }
  .svc-feat + .svc-feat::before {
    left: 40px;
    right: 40px;
  }
  .svc__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 920px) {
  .svc-feat {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    padding: 40px 48px 0;
  }
  .svc-feat__media {
    flex: none;
    width: 100%;
  }
  .svc-feat__photo {
    aspect-ratio: 16/7;
  }
  .svc-feat__vlabel {
    left: 40px;
    top: 0;
    width: 60px;
    min-height: 176px;
    font-size: 28px;
    letter-spacing: 8px;
  }
  .svc-feat__vlabel--sm {
    width: 60px;
    min-height: 232px;
    font-size: 22px;
    letter-spacing: 3px;
  }
  .svc-feat__body {
    flex: none;
    padding-top: 0;
  }
  .svc-feat__eyebrow {
    font-size: 13px;
  }
  .svc-feat__title {
    font-size: 26px;
    letter-spacing: 5px;
  }
  .svc-feat__btnwrap {
    justify-content: flex-end;
  }
  .svc-feat + .svc-feat::before {
    left: 48px;
    right: 48px;
  }
  .svc__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .svc {
    padding: 40px 0 56px;
  }
  .svc__deco--tr {
    width: 500px;
    right: -200px;
    top: 1130px;
  }
  .svc__deco--br {
    width: 700px;
    right: -220px;
    bottom: -60px;
  }
  .svc__lead {
    margin-bottom: 28px;
  }
  .svc__ttl {
    font-size: 20px;
    letter-spacing: 1px;
  }
  .svc__features {
    padding: 0 24px;
    gap: 0;
  }
  .svc-feat {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 32px 0;
    margin-top: 8px;
  }
  .svc-feat + .svc-feat::before {
    top: 0;
    left: 0;
    right: 0;
  }
  .svc-feat__media {
    flex: none;
    width: 100%;
  }
  .svc-feat__photo {
    aspect-ratio: auto;
    height: 200px;
  }
  .svc-feat__vlabel {
    left: -8px;
    top: 16px;
    width: 44px;
    min-height: 128px;
    font-size: 20px;
    letter-spacing: 6px;
    line-height: 1.3;
    padding: 4px;
  }
  .svc-feat__vlabel--sm {
    width: 62px;
    min-height: 186px;
    font-size: 20px;
    letter-spacing: 2px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
  .svc-feat__vlabel .svc-feat__vlabel-paren {
    font-size: 12px;
    margin-top: 0.9em;
  }
  .svc-feat__title .svc-feat__title-paren {
    font-size: 20px;
  }
  .svc-feat__body {
    padding-top: 0;
  }
  .svc-feat__eyebrow {
    font-size: 12px;
    letter-spacing: 2.4px;
  }
  .svc-feat__title {
    font-size: 28px;
    letter-spacing: 4px;
    margin-top: 0.4em;
    margin-bottom: 0.5em;
    line-height: 1.2;
  }
  .svc-feat__desc {
    margin-top: 8px;
  }
  .svc-feat__desc p {
    font-size: 14px;
    letter-spacing: 0.42px;
    line-height: 1.6;
  }
  .svc-feat__desc p + p {
    margin-top: 0.4em;
  }
  .svc-feat__btnwrap {
    justify-content: flex-end;
    margin-top: 20px;
  }
  .svc-feat__btn {
    width: auto;
  }
  .svc__grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 16px;
    margin-top: 32px;
  }
  .svc-card {
    align-items: stretch;
    gap: 0;
    padding: 8px;
    border-radius: 8px;
    overflow: hidden;
  }
  .svc-card__cover {
    display: none;
  }
  .svc-card__head {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  .svc-card__icon {
    width: 80px;
    height: 80px;
    margin-bottom: 0;
    border-radius: 12px;
  }
  .svc-card__icon img {
    width: 42px;
  }
  .svc-card__icon--wide img {
    width: 58px;
  }
  .svc-card__title {
    flex: 1 1 0;
    min-width: 0;
    text-align: left;
    font-size: 15px;
    letter-spacing: 2.25px;
    line-height: 1.8;
  }
  .svc-card__chev {
    display: flex;
    flex-shrink: 0;
    color: #8e8a85;
    line-height: 0;
    margin-right: 8px;
  }
  .svc-card__chev-v {
    transition: opacity 0.25s ease;
  }
  .svc-card.is-open .svc-card__chev-v {
    opacity: 0;
  }
  .svc-card__body {
    display: block;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
  }
  .svc-card__desc {
    display: block;
    width: auto;
    margin-top: 12px;
    padding: 12px 8px 0;
    border-top: 1px solid #ecebe8;
    font-size: 14px;
    letter-spacing: 0.42px;
    line-height: 1.6;
  }
  .svc-card__more {
    display: flex;
    align-items: center;
    gap: 8px;
    width: -moz-fit-content;
    width: fit-content;
    margin: 12px 0 4px auto;
    padding: 10px 16px;
    border: 1px solid #28a8a6;
    border-radius: 2px;
    color: #28a8a6;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-decoration: none;
    line-height: 1;
  }
  .svc-card__more svg {
    display: block;
  }
  .svc-card:hover {
    border-color: #ecebe8;
    box-shadow: none;
  }
  .svc-card:hover .svc-card__icon {
    background: #f6f6f6;
  }
  .svc-card:hover .svc-card__title {
    color: #2e2b28;
  }
  .svc-card__tri {
    display: none;
  }
}
.jisseki {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  background: #1d2322;
}

.jisseki__bg {
  position: absolute;
  inset: -30px;
  z-index: 0;
  background: url("../img/jisseki-bg.webp") center/cover no-repeat;
  filter: blur(7.5px);
}

.jisseki__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(29, 35, 34, 0.82);
}

.jisseki__inner {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.jisseki__badge {
  margin: 0;
  padding: 8px 80px;
  color: #fff;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 4.8px;
  line-height: 1.6;
  text-align: center;
  background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), linear-gradient(27deg, #957a18 7%, #e6c756 20%, #957a18 48%, #e6c756 78%, #957a18 88%);
}

.jisseki__content {
  width: min(1200px, 100%);
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.jisseki__banner {
  width: 100%;
  height: 200px;
  border-radius: 8px;
  overflow: hidden;
  background: #f6f6f6;
}

.jisseki__banner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 81%;
     object-position: center 81%;
  display: block;
}

.jisseki__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 100%;
  color: #fff;
}

.jisseki__headline {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 24px;
}

.jisseki__hl-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  line-height: 1.6;
}

.jisseki__hl-sub {
  font-size: 19px;
  letter-spacing: 1.52px;
  margin-bottom: -5px;
  white-space: nowrap;
}

.jisseki__hl-main {
  font-size: 45px;
  letter-spacing: 4.05px;
  white-space: nowrap;
}

.jisseki__hl-num {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.jisseki__num {
  position: relative;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 400;
  font-size: 100px;
  letter-spacing: -4px;
  line-height: 1;
}

.jisseki__dots {
  position: absolute;
  top: 3px;
  left: 7%;
  width: 84%;
  display: flex;
  justify-content: space-between;
}

.jisseki__dots i {
  width: 5px;
  height: 5px;
  border-radius: 100px;
  background: #dbba43;
}

.jisseki__unit {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 27px;
  line-height: 1.6;
}

.jisseki__stats-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.jisseki__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  justify-items: center;
}

.jisseki__note {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 2;
  text-align: right;
  width: 100%;
}

.jisseki__feats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 40px;
  width: 100%;
}

.jisseki__btnwrap {
  display: flex;
  justify-content: center;
  width: 100%;
}

.jisseki__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 400px;
  max-width: 100%;
  height: 80px;
  padding: 22px 40px;
  background: #28a8a6;
  border-radius: 6px;
  color: #fff;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.jisseki__btn:hover {
  opacity: 0.88;
}

.jisseki__btn-arrow {
  line-height: 0;
}

.jisseki__btn-arrow svg {
  display: block;
}

.jisseki-stat {
  position: relative;
  width: 100%;
  max-width: 275px;
  aspect-ratio: 275/268;
}

.jisseki-stat__wreath {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.jisseki-stat__body {
  position: absolute;
  top: 43%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #fff;
  text-align: center;
  width: -moz-max-content;
  width: max-content;
}

.jisseki-stat__label {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 26px;
  letter-spacing: 3.12px;
  line-height: 1.5;
}

.jisseki-stat__label--sm {
  font-size: 19px;
  letter-spacing: 2.28px;
}

.jisseki-stat__value {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
}

.jisseki-stat__num {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 400;
  font-size: 45px;
  letter-spacing: -1.8px;
  line-height: 1;
}

.jisseki-stat__unit {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 0.44px;
  line-height: 1.4;
}

.jisseki-feat {
  display: flex;
  align-items: center;
  gap: 8px;
}

.jisseki-feat__icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
}

.jisseki-feat__icon img {
  width: 100%;
  height: 100%;
  display: block;
}

.jisseki-feat__txt {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.6px;
  line-height: 2;
  color: #fff;
}

@media (min-width: 768px) and (max-width: 1150px) {
  .jisseki__stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .jisseki__hl-sub {
    font-size: 17px;
  }
  .jisseki__hl-main {
    font-size: 36px;
  }
  .jisseki__num {
    font-size: 76px;
  }
  .jisseki__unit {
    font-size: 24px;
  }
  .jisseki__feats {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: center;
    gap: 12px 40px;
  }
}
@media screen and (max-width: 767px) {
  .jisseki {
    padding: 40px 0;
  }
  .jisseki__inner {
    padding: 0 24px;
    gap: 24px;
  }
  .jisseki__badge {
    width: 100%;
    padding: 8px 24px;
    font-size: 15px;
    letter-spacing: 3px;
  }
  .jisseki__banner img {
    -o-object-position: center 53%;
       object-position: center 53%;
  }
  .jisseki__content {
    gap: 24px;
  }
  .jisseki__body {
    gap: 24px;
  }
  .jisseki__headline {
    gap: 8px;
  }
  .jisseki__hl-sub {
    font-size: 10px;
    letter-spacing: 0.8px;
    margin-bottom: -2px;
  }
  .jisseki__hl-main {
    font-size: 20px;
    letter-spacing: 1.5px;
  }
  .jisseki__hl-num {
    gap: 4px;
  }
  .jisseki__num {
    font-size: 40px;
    letter-spacing: -0.96px;
  }
  .jisseki__dots {
    top: 2px;
    left: 8%;
    width: 84%;
  }
  .jisseki__dots i {
    width: 2.5px;
    height: 2.5px;
  }
  .jisseki__unit {
    font-size: 12px;
  }
  .jisseki__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  .jisseki__note {
    font-size: 11px;
    letter-spacing: 0.33px;
  }
  .jisseki__feats {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .jisseki__btn {
    width: 100%;
    height: 64px;
    padding: 22px 24px;
    font-size: 16px;
    letter-spacing: 0.8px;
  }
  .jisseki-stat {
    width: 100%;
    max-width: 200px;
    height: auto;
    aspect-ratio: 159.54/155.48;
  }
  .jisseki-stat__body {
    gap: 2px;
  }
  .jisseki-stat__label {
    font-size: 14px;
    letter-spacing: 1.68px;
  }
  .jisseki-stat__label--sm {
    font-size: 11px;
    letter-spacing: 1.32px;
  }
  .jisseki-stat__num {
    font-size: 26px;
    letter-spacing: -1.04px;
  }
  .jisseki-stat__unit {
    font-size: 13px;
    letter-spacing: 0.26px;
  }
  .jisseki-feat {
    width: 100%;
  }
  .jisseki-feat__icon {
    width: 24px;
    height: 24px;
  }
  .jisseki-feat__txt {
    font-size: 15px;
    letter-spacing: 0.45px;
    line-height: 1.6;
  }
}
.symptom {
  padding: 80px 0;
  background: #f4f4f2;
}

.symptom__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.symptom__lead, .symptom__grid {
  width: min(1200px, 100% - 48px);
  margin-inline: auto;
}

.symptom .lead__label {
  line-height: 2;
}

.symptom__ttl {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 1.6px;
  line-height: 1.8;
  color: #2e2b28;
  padding-left: 8px;
}

.symptom__grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 1fr;
  gap: 24px;
}

.symptom-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: 100%;
  padding: 16px 16px 24px;
  background: #fff;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.symptom-card:hover {
  box-shadow: 0 8px 24px rgba(40, 168, 166, 0.12);
}

.symptom-card__icon {
  width: 100%;
  height: 100px;
  border-radius: 4px;
  overflow: hidden;
}

.symptom-card__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.symptom-card__name {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 2.7px;
  line-height: 1.8;
  color: #2e2b28;
  text-align: center;
  white-space: nowrap;
}

.symptom-card__name .symptom-br {
  display: none;
}

@media (max-width: 1150px) {
  .symptom__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 900px) {
  .symptom__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 768px) and (max-width: 900px) {
  .symptom-card__icon {
    height: 140px;
  }
}
@media screen and (max-width: 767px) {
  .symptom {
    padding: 40px 0;
  }
  .symptom__inner {
    gap: 24px;
  }
  .symptom__ttl {
    font-size: 20px;
    letter-spacing: 1px;
  }
  .symptom__grid {
    gap: 16px;
  }
  .symptom-card {
    gap: 12px;
    padding: 12px 12px 16px;
  }
  .symptom-card__name {
    font-size: 15px;
    letter-spacing: 2.25px;
    line-height: 1.5;
    white-space: normal;
  }
  .symptom-card__name .symptom-br {
    display: inline;
  }
}
.feat5 {
  padding: 80px 0;
  background: #fff;
  overflow: hidden;
}

.feat5__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
}

.feat5__lead {
  width: min(1200px, 100% - 48px);
  align-items: center;
}

.feat5 .lead__label {
  line-height: 2;
}

.feat5__ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  color: #2e2b28;
  text-align: center;
  white-space: nowrap;
}

.feat5__ttl-lead {
  font-size: 22px;
  letter-spacing: 1.1px;
  line-height: 1.8;
}

.feat5__ttl-main {
  display: inline-flex;
  align-items: baseline;
  font-size: 24px;
  letter-spacing: 2.4px;
  line-height: 1.5;
}

.feat5__ttl-big {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}

.feat5__ttl-num {
  font-size: 36px;
  letter-spacing: 1.8px;
  line-height: 1.4;
}

.feat5__ttl-clinic--sp {
  display: none;
}

.feat5__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.feat5-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 64px;
  padding-left: 100px;
  color: inherit;
}

.feat5-item::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -28px;
  width: min(1200px, 100%);
  border-top: 1px solid #d9d8d5;
}

.feat5-item__text {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.feat5-item__tint {
  position: absolute;
  z-index: 0;
  left: -100px;
  top: 98px;
  width: min(680px, 100% + 100px);
  height: 256px;
  border-radius: 8px;
}

.feat5-item__title, .feat5-item__desc {
  position: relative;
  z-index: 1;
}

.feat5-item__title {
  font-family: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: 4.8px;
  line-height: 1.8;
  color: #28a8a6;
  white-space: nowrap;
}

.feat5-item__desc {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 2;
  color: #2e2b28;
}

.feat5-item__media {
  flex: 0 0 clamp(460px, 46%, 600px);
  position: relative;
}

.feat5-item__img {
  position: relative;
  width: 100%;
  aspect-ratio: 600/420;
  border-radius: 12px 0 0 12px;
  overflow: hidden;
  background: #f6f6f6;
}

.feat5-item__img img {
  position: absolute;
  width: var(--iw, 100%);
  height: var(--ih, 100%);
  left: var(--il, 0);
  top: var(--it, 0);
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.feat5-item__num {
  position: absolute;
  z-index: 2;
  left: -72px;
  top: auto;
  bottom: -10px;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 150px;
  line-height: 1;
  color: #28a8a6;
}

.feat5-item--teal .feat5-item__tint {
  background: rgba(40, 168, 166, 0.05);
}

.feat5-item--gray .feat5-item__tint {
  background: rgba(244, 244, 242, 0.5);
}

.feat5-item:nth-child(1) .feat5-item__img img {
  --iw: 122%;
  --ih: 119.3%;
  --il: -4.83%;
  --it: -6.43%;
}

.feat5-item:nth-child(2) .feat5-item__img img {
  --iw: 107.67%;
  --ih: 109.05%;
  --il: -7.17%;
  --it: -3.33%;
}

.feat5-item:nth-child(3) .feat5-item__img img {
  --iw: 131.33%;
  --ih: 120.48%;
  --il: -16.67%;
  --it: -6.9%;
}

.feat5-item:nth-child(4) .feat5-item__img img {
  --iw: 111.33%;
  --ih: 112.62%;
  --il: -9%;
  --it: 0%;
}

.feat5-item:nth-child(5) .feat5-item__img img {
  --iw: 126.5%;
  --ih: 128.1%;
  --il: -16.5%;
  --it: -10.71%;
}

@media (min-width: 1151px) {
  .feat5-item:last-child::after {
    display: none;
  }
  .feat5-item:nth-child(3) .feat5-item__num,
  .feat5-item:nth-child(5) .feat5-item__num {
    mix-blend-mode: multiply;
  }
}
@media (max-width: 1150px) {
  .feat5__inner {
    gap: 24px;
  }
  .feat5__list {
    gap: 24px;
  }
  .feat5__lead {
    width: 100%;
    padding: 0 24px;
    align-items: flex-start;
  }
  .feat5__ttl {
    align-items: flex-start;
    text-align: left;
  }
  .feat5__ttl-clinic--pc {
    display: none;
  }
  .feat5__ttl-clinic--sp {
    display: inline;
    font-size: 14px;
    letter-spacing: 0.7px;
  }
  .feat5-item {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    padding-left: 0;
    padding-bottom: 48px;
  }
  .feat5-item::after {
    bottom: 0;
    width: calc(100% - 48px);
  }
  .feat5-item__media {
    order: 1;
    flex: none;
    width: 100%;
    height: 262px;
  }
  .feat5-item__img {
    position: absolute;
    top: 0;
    width: min(520px, 93%);
    height: 262px;
  }
  .feat5-item:nth-child(1) .feat5-item__img img {
    --iw: 118.23%;
    --ih: 108.4%;
    --il: 0%;
    --it: -0.76%;
  }
  .feat5-item:nth-child(2) .feat5-item__img img {
    --iw: 116.24%;
    --ih: 110.3%;
    --il: -7.98%;
    --it: -10.11%;
  }
  .feat5-item:nth-child(3) .feat5-item__img img {
    --iw: 128.5%;
    --ih: 110.7%;
    --il: -28.5%;
    --it: -5.34%;
  }
  .feat5-item:nth-child(4) .feat5-item__img img {
    --iw: 113.1%;
    --ih: 107.25%;
    --il: -6.55%;
    --it: -0.95%;
  }
  .feat5-item:nth-child(5) .feat5-item__img img {
    --iw: 127.9%;
    --ih: 121.4%;
    --il: -12.82%;
    --it: 0%;
  }
  .feat5-item__num {
    top: auto;
    bottom: 0;
    font-size: 80px;
    line-height: 0.9;
  }
  .feat5-item__text {
    order: 2;
    padding: 0 24px;
    padding-top: 0;
    gap: 8px;
  }
  .feat5-item__tint {
    left: 0;
    top: auto;
    bottom: -24px;
    width: min(328px, 90%);
    height: 158px;
  }
  .feat5-item__title {
    font-size: 18px;
    letter-spacing: 0;
    white-space: normal;
  }
  .feat5-item__desc {
    font-size: 14px;
    letter-spacing: 0.42px;
    line-height: 1.6;
  }
  .feat5-item--teal .feat5-item__img {
    right: 0;
    border-radius: 8px 0 0 8px;
  }
  .feat5-item--teal .feat5-item__num {
    left: 8px;
  }
  .feat5-item--teal .feat5-item__tint {
    left: 0;
    border-radius: 0 8px 8px 0;
  }
  .feat5-item--gray .feat5-item__img {
    left: 0;
    border-radius: 0 8px 8px 0;
  }
  .feat5-item--gray .feat5-item__num {
    left: auto;
    right: 24px;
  }
  .feat5-item--gray .feat5-item__tint {
    left: auto;
    right: 0;
    border-radius: 8px 0 0 8px;
  }
}
@media screen and (max-width: 767px) {
  .feat5 {
    padding: 40px 0;
  }
  .feat5__ttl-lead {
    font-size: 14px;
    letter-spacing: 0.7px;
  }
  .feat5__ttl-main {
    font-size: 18px;
    letter-spacing: 1.8px;
  }
  .feat5__ttl-big {
    gap: 4px;
    transform: translate(6px, 4px);
  }
  .feat5__ttl-num {
    font-size: 28px;
    letter-spacing: 1.4px;
    line-height: 1;
  }
}
.gclinic {
  position: relative;
  padding: 80px 0;
  background: #f4f4f2;
  overflow: hidden;
}

.gclinic::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/group-deco.svg") center/cover no-repeat;
  pointer-events: none;
}

.gclinic__inner {
  position: relative;
  z-index: 1;
  width: min(1200px, 100% - 48px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.gclinic__subtext {
  margin-top: 8px;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 2;
  color: #2e2b28;
}

.gclinic__grid {
  display: flex;
  gap: 40px;
}

.gclinic__col {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.gclinic__ctawrap {
  flex: 1 1 auto;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

.gclinic__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 400px;
  max-width: 100%;
  height: 80px;
  border-radius: 2px;
  background: #28a8a6;
  color: #fff;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.6px;
  text-decoration: none;
  filter: drop-shadow(0 8px 20px rgba(40, 168, 166, 0.28));
  transition: opacity 0.3s ease;
}

.gclinic__cta:hover {
  opacity: 0.88;
}

.gclinic__cta svg {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}

.gclinic-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 24px;
  padding-right: 32px;
  background: #fff;
  border-radius: 8px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.gclinic-card:hover {
  box-shadow: 0 10px 28px rgba(40, 168, 166, 0.12);
}

.gclinic-card__img {
  flex: 0 0 240px;
  width: 240px;
  height: 150px;
  border-radius: 8px 0 0 8px;
  overflow: hidden;
  background: #f4f4f2;
}

.gclinic-card__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.gclinic-card__body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}

.gclinic-card__name {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1.5;
  color: #2e2b28;
  word-break: break-word;
}

.gclinic-card__addr {
  color: #8e8a85;
  letter-spacing: 0.9px;
  white-space: nowrap;
}

.gclinic-card__zip {
  display: block;
  font-size: 16px;
  line-height: 1.4;
}

.gclinic-card__line {
  display: block;
  font-size: 18px;
  line-height: 1.4;
}

.gclinic-card__arrow {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  color: #28a8a6;
}

.gclinic-card__arrow svg {
  width: 100%;
  height: 100%;
  display: block;
}

.gclinic-card__badge {
  position: absolute;
  left: -24px;
  top: -24px;
  z-index: 2;
  width: 80px;
  height: 80px;
  border-radius: 55px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #78dcda 0%, #28a8a6 100%);
  color: #fff;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 1.2;
  text-align: center;
}

.gclinic-card--small .gclinic-card__body {
  gap: 8px;
}

.gclinic-card--small .gclinic-card__name {
  white-space: nowrap;
}

.gclinic-card--small .gclinic-card__addr,
.gclinic-card--small .gclinic-card__line {
  white-space: normal;
}

.gclinic-card--small .gclinic-card__zip,
.gclinic-card--small .gclinic-card__line {
  font-size: 14px;
}

@media (max-width: 1199px) {
  .gclinic__grid {
    flex-direction: column;
    gap: 24px;
  }
  .gclinic__ctawrap {
    justify-content: center;
  }
  .gclinic__cta {
    width: 100%;
  }
  .gclinic-card__addr,
  .gclinic-card__line {
    white-space: normal;
  }
}
@media screen and (max-width: 767px) {
  .gclinic {
    padding: 40px 0;
  }
  .gclinic__inner {
    gap: 32px;
  }
  .gclinic .lead__title {
    font-size: 20px;
    letter-spacing: 1px;
  }
  .gclinic__subtext {
    font-size: 14px;
    letter-spacing: 0.42px;
    line-height: 2;
  }
  .gclinic__cta {
    height: 64px;
    font-size: 16px;
    letter-spacing: 0.8px;
    padding: 0 24px;
  }
  .gclinic-card {
    gap: 16px;
    padding-right: 16px;
  }
  .gclinic-card__img {
    flex: 0 0 120px;
    width: 120px;
    height: 120px;
    border-radius: 8px 0 0 8px;
  }
  .gclinic-card__body {
    gap: 8px;
  }
  .gclinic-card__name {
    font-size: 15px;
    letter-spacing: 0.75px;
    line-height: 1.5;
  }
  .gclinic-card__addr {
    white-space: normal;
    letter-spacing: 0.9px;
  }
  .gclinic-card__zip {
    font-size: 12px;
  }
  .gclinic-card__line {
    font-size: 13px;
    white-space: normal;
  }
  .gclinic-card__arrow {
    display: none;
  }
  .gclinic-card__pcbr {
    display: none;
  }
  .gclinic-card__badge {
    left: -16px;
    top: -16px;
    width: 48px;
    height: 48px;
    font-size: 12px;
    letter-spacing: 0.96px;
  }
  .gclinic-card--small .gclinic-card__body {
    gap: 2px;
  }
  .gclinic-card--small .gclinic-card__name {
    white-space: normal;
  }
  .gclinic-card--small .gclinic-card__zip {
    font-size: 11px;
  }
  .gclinic-card--small .gclinic-card__line {
    font-size: 12px;
    letter-spacing: 0.6px;
  }
}
.faq {
  padding: 80px 0 64px;
  background: #f4f4f2;
}

.faq__inner {
  width: min(1200px, 100% - 48px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.faq__title {
  align-items: center;
}

.faq .lead__label {
  line-height: 2;
}

.faq__list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.faq-item {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
}

.faq-item__q {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 32px 24px 32px 32px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.faq-item__text {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.faq-item__badge {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 4px;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 27px;
  letter-spacing: 1.35px;
  line-height: 1;
}

.faq-item__badge--q {
  background: #f4f4f2;
  color: #28a8a6;
}

.faq-item__badge--a {
  background: #fff;
  color: #8e8a85;
}

.faq-item__question {
  flex: 1 1 0;
  min-width: 0;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.9px;
  line-height: 1.5;
  color: #2e2b28;
}

.faq-item__icon {
  position: relative;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.faq-item__icon::before, .faq-item__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #8e8a85;
}

.faq-item__icon::before {
  width: 100%;
  height: 1.5px;
}

.faq-item__icon::after {
  width: 1.5px;
  height: 100%;
}

.faq-item__a {
  max-height: 0;
  overflow: hidden;
  background: #e8f7f6;
  transition: max-height 0.35s ease;
}

.faq-item__a-inner {
  display: flex;
  padding: 32px 24px 32px 32px;
}

.faq-item__a .faq-item__text {
  align-items: flex-start;
}

.faq-item__answer {
  flex: 1 1 0;
  min-width: 0;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.9px;
  line-height: 1.8;
  color: #2e2b28;
}

.faq-item__answer a {
  color: #28a8a6;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.faq-item__answer a:hover {
  opacity: 0.8;
}

.faq-item.is-open .faq-item__icon::after {
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .faq {
    padding: 40px 0;
  }
  .faq__inner {
    gap: 24px;
  }
  .faq .lead__title {
    font-size: 20px;
    letter-spacing: 1px;
  }
  .faq-item__q {
    gap: 24px;
    padding: 20px 16px;
  }
  .faq-item__a-inner {
    padding: 20px 16px;
  }
  .faq-item__q .faq-item__text {
    align-items: center;
  }
  .faq-item__badge {
    width: 40px;
    height: 40px;
    border-radius: 6.67px;
    padding-bottom: 3.33px;
    font-size: 22.5px;
    letter-spacing: 1.125px;
  }
  .faq-item__question, .faq-item__answer {
    font-size: 15px;
    letter-spacing: 0.75px;
  }
  .faq-item__answer {
    line-height: 1.5;
  }
  .faq-item__icon {
    width: 16px;
    height: 16px;
  }
}
.clinic {
  position: relative;
  padding: 100px 0;
  background: #f4f4f2;
}

.clinic__deco {
  position: absolute;
  z-index: 0;
  top: -425px;
  left: calc(50% - 836px);
  width: 827px;
  height: 827px;
  pointer-events: none;
  background: url("../img/news-deco.svg") 0 0/contain no-repeat;
}

@media screen and (max-width: 767px) {
  .clinic__deco {
    display: none;
  }
}
.clinic__inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

.clinic__logo img {
  width: 377px;
  max-width: 100%;
  height: auto;
  display: block;
}

.clinic__acc {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 0;
  margin-top: 40px;
}

.clinic-item {
  display: contents;
}

.clinic-head-h {
  display: contents;
}

.clinic-head {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 56px;
  padding: 0 32px 0 24px;
  border: none;
  cursor: pointer;
  background: #d9d8d5;
  color: #2e2b28;
  border-radius: 4px 4px 0 0;
  transition: background-color 0.2s, color 0.2s;
}

.clinic-head__ico {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-radius: 50%;
  color: #8e8a85;
}

.clinic-head__ico svg {
  display: block;
}

.clinic-head__label {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 2.16px;
  white-space: nowrap;
}

.clinic-head__mark {
  display: none;
}

.clinic-head.is-active {
  background: #fff;
  color: #28a8a6;
  cursor: default;
}

.clinic-head.is-active .clinic-head__ico {
  background: #e8f7f6;
  color: #28a8a6;
}

.clinic-body {
  display: none;
  order: 1;
  width: 100%;
  background: #fff;
  border-radius: 0 8px 8px 8px;
  padding: 56px;
  box-shadow: 0 4px 16px rgba(105, 105, 105, 0.05);
}

.clinic-body.is-open {
  display: block;
}

.clinic-sub {
  position: relative;
  display: inline-block;
  padding-left: 24px;
  margin-bottom: 32px;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 4.8px;
  color: #28a8a6;
}

.clinic-sub__dot {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-64%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #28a8a6;
  opacity: 0.15;
}

.clinic-cta {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.clinic-cta__btn {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 94px;
  padding: 0 24px;
  border-radius: 6px;
  transition: opacity 0.2s;
}

.clinic-cta__btn:hover {
  opacity: 0.9;
}

.clinic-cta__ico {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  line-height: 0;
}

.clinic-cta__ico svg {
  width: 32px;
  height: 32px;
  display: block;
}

.clinic-cta__body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;
}

.clinic-cta__btn--reserve {
  background: #28a8a6;
  color: #fff;
  pointer-events: none;
  cursor: default;
}

.clinic-cta__sub {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.56px;
  line-height: 1.3;
}

.clinic-cta__main {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.8px;
  line-height: 1.3;
  white-space: nowrap;
}

.clinic-cta__btn--tel {
  background: #d0e5e5;
  color: #2e2b28;
}

.clinic-cta__btn--tel .clinic-cta__ico {
  color: #28a8a6;
}

.clinic-cta__label {
  font-size: 14px;
  line-height: 1.4;
}

.clinic-cta__num {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 1.04px;
  color: #2e2b28;
  line-height: 1.2;
}

.clinic-cta__note {
  font-size: 14px;
  color: #2e2b28;
  line-height: 1.4;
}

.clinic-cta__btn--tel .clinic-cta__label, .clinic-cta__btn--tel .clinic-cta__num {
  margin-bottom: -2px;
  line-height: 1.4;
}

.clinic-basic {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

.clinic-card {
  width: 377px;
  flex-shrink: 0;
}

.clinic-card .clinic__logo {
  margin-bottom: 40px;
}

.clinic-card .clinic-cta {
  margin-top: 40px;
}

.clinic-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.clinic-info__row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 16px;
  align-items: start;
}

.clinic-info__label {
  justify-self: stretch;
  align-self: start;
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f4f4f2;
  border-radius: 2px;
  padding: 8px 16px;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 0.75px;
  color: #2e2b28;
  white-space: nowrap;
}

.clinic-info__value {
  margin: 0;
  align-self: start;
  padding-top: 8px;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 0.9px;
  color: #2e2b28;
}

.clinic-info__value a {
  color: inherit;
  text-decoration: none;
}

.clinic-info__value a:hover {
  color: #28a8a6;
}

.clinic-info__value--tel {
  font-size: 20px;
}

.clinic-info__zip {
  display: block;
  font-size: 15px;
  color: #2e2b28;
}

.clinic-pay {
  display: flex;
  align-items: center;
  gap: 24px;
}

.clinic-pay img {
  height: 32px;
  width: auto;
  display: block;
}

.clinic-pay + .clinic-pay {
  margin-top: 16px;
}

.clinic-info__value .clinic-pay-cash {
  display: block;
  font-size: 15px;
  letter-spacing: 0.75px;
  line-height: 1.5;
}

.clinic-info__value .clinic-pay-note {
  display: block;
  font-size: 12px;
  letter-spacing: 0.75px;
  line-height: 1.5;
  white-space: nowrap;
}

.clinic-map {
  flex: 1 1 0;
  min-width: 0;
}

.clinic-map__img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

.clinic-map__link {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin: 16px 0 24px;
  font-size: 18px;
  font-weight: 500;
  color: #2e2b28;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.clinic-map__link:hover {
  opacity: 0.8;
}

.clinic-map__arrow {
  color: #28a8a6;
}

.clinic-map__arrow svg {
  display: block;
  width: 24px;
  height: 24px;
}

.clinic .schedule {
  background: #fafafa;
  box-shadow: none;
}

.clinic .schedule__table {
  width: auto;
}

.clinic .schedule__table tbody th {
  font-size: 16px;
  letter-spacing: 0.32px;
}

.clinic .schedule__table thead th.schedule__corner {
  width: 180px;
  line-height: 1.2;
}

.clinic .schedule__table thead th:not(.schedule__corner) {
  width: 62px;
}

.clinic .schedule__table .schedule__time .schedule__sub {
  margin-top: -2px;
  line-height: 1;
}

.clinic-flow {
  display: flex;
  flex-direction: column;
}

.clinic-flow__item {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.clinic-flow__img {
  width: 492px;
  height: 200px;
  flex-shrink: 0;
}

.clinic-flow__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
  display: block;
}

.clinic-flow__arrow {
  width: 492px;
  display: flex;
  justify-content: center;
  padding: 16px 0;
}

.clinic-flow__arrow img {
  width: 40px;
  height: 40px;
  display: block;
}

.clinic-flow__body {
  padding-top: 16px;
}

.clinic-flow__ttl {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 1.1px;
  color: #2e2b28;
}

.clinic-flow__num {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 5px;
  background: #f4f4f2;
  color: #5f5a55;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
}

.clinic-flow__desc {
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.8px;
  color: #2e2b28;
}

.clinic-route {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.clinic-route__row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.clinic-route__row--head {
  padding-right: 40px;
}

.clinic-route__item {
  flex: 1 1 0;
  min-width: 0;
}

.clinic-route__img {
  width: 100%;
  height: 200px;
  margin-bottom: 16px;
  background: #f4f4f2;
  border-radius: 8px;
  overflow: hidden;
}

.clinic-route__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.clinic-route__desc {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.8px;
  font-weight: 500;
  color: #2e2b28;
  text-align: center;
}

.clinic-route__num {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 5px;
  background: #f4f4f2;
  color: #5f5a55;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
  font-weight: 500;
  line-height: 1;
}

.clinic-route__txt {
  flex: 1 1 0;
  min-width: 0;
}

.clinic-route__arrow {
  flex: 0 0 40px;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.clinic-route__arrow img {
  width: 40px;
  height: 40px;
  display: block;
}

.clinic-park {
  text-align: center;
}

.clinic-park__ttl {
  font-size: 24px;
  font-weight: 500;
  color: #2e2b28;
  margin-bottom: 12px;
}

.clinic-park__desc {
  font-size: 15px;
  color: #5f5a55;
  margin-bottom: 32px;
}

.clinic-park__img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

.clinic-foot {
  display: flex;
  gap: 48px;
  align-items: flex-start;
  margin-top: 56px;
  padding-top: 56px;
  border-top: 1px solid #d9d8d5;
}

.clinic-foot__left {
  width: 377px;
  flex-shrink: 0;
}

.clinic-foot__left .clinic__logo {
  margin-bottom: 24px;
}

.clinic-foot__left .clinic__logo img {
  width: 320px;
}

.clinic-foot__right {
  flex: 1 1 0;
  min-width: 0;
}

@media screen and (max-width: 767px) {
  .clinic {
    padding: 48px 0;
  }
  .clinic__inner {
    padding: 0 16px;
  }
  .clinic__logo img {
    width: 240px;
  }
  .clinic__acc {
    display: block;
    margin-top: 28px;
  }
  .clinic-item {
    display: block;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(105, 105, 105, 0.05);
    margin-bottom: 12px;
    overflow: hidden;
  }
  .clinic-head {
    width: 100%;
    height: auto;
    min-height: 56px;
    padding: 12px 16px;
    background: #fff;
    color: #2e2b28;
    border-radius: 0;
  }
  .clinic-head.is-active {
    color: #28a8a6;
  }
  .clinic-head__ico {
    width: 32px;
    height: 32px;
    background: #e8f7f6;
    color: #28a8a6;
  }
  .clinic-head__ico svg {
    width: auto;
    height: auto;
  }
  .clinic-head__label {
    flex: 1 1 0;
    text-align: left;
    font-size: 16px;
    letter-spacing: 1.92px;
  }
  .clinic-head__mark {
    display: block;
    position: relative;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    color: #8e8a85;
  }
  .clinic-head__mark::before, .clinic-head__mark::after {
    content: "";
    position: absolute;
    background: currentColor;
  }
  .clinic-head__mark::before {
    left: 0;
    top: 50%;
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
  }
  .clinic-head__mark::after {
    left: 50%;
    top: 0;
    width: 2px;
    height: 100%;
    transform: translateX(-50%);
  }
  .clinic-head:hover {
    color: #28a8a6;
  }
  .clinic-head.is-active .clinic-head__mark::after {
    display: none;
  }
  .clinic-body {
    display: block;
    order: 0;
    width: auto;
    background: #fff;
    border-radius: 0;
    box-shadow: none;
    max-height: 0;
    overflow: hidden;
    padding: 0 16px;
    transition: max-height 0.4s ease;
  }
  .clinic-body.is-open {
    padding: 24px 16px;
    border-top: 1px solid #d9d8d5;
  }
  .clinic-cta {
    display: none;
  }
  .clinic-foot {
    display: none;
  }
  .clinic .schedule {
    display: none;
  }
  .clinic-sub {
    font-size: 13px;
    letter-spacing: 1.3px;
    margin-bottom: 20px;
    padding-left: 18px;
  }
  .clinic-sub__dot {
    width: 24px;
    height: 24px;
  }
  .clinic-basic {
    flex-direction: column;
    gap: 24px;
  }
  .clinic-card {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  .clinic-card .clinic__logo {
    margin-bottom: 0;
  }
  .clinic-card .clinic__logo img {
    width: 271px;
  }
  .clinic-info {
    gap: 20px;
    width: 100%;
  }
  .clinic-info__row {
    display: block;
  }
  .clinic-info__label {
    display: flex;
    width: 100%;
    min-height: 0;
    padding: 4px 16px;
    margin-bottom: 8px;
    font-size: 13px;
    letter-spacing: 0.65px;
    white-space: normal;
  }
  .clinic-info__value {
    text-align: left;
    padding-top: 0;
    font-size: 15px;
    letter-spacing: 0.75px;
  }
  .clinic-info__value--tel {
    font-size: 18px;
  }
  .clinic-info__zip {
    font-size: 14px;
  }
  .clinic-info__value .clinic-pay {
    justify-content: flex-start;
  }
  .clinic-pay {
    gap: 16px;
    flex-wrap: wrap;
  }
  .clinic-map__img img {
    border-radius: 8px;
    height: 212px;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
  .clinic-map__link {
    justify-content: flex-end;
    font-size: 16px;
    margin: 16px 0 0;
  }
  .clinic-flow {
    gap: 12px;
  }
  .clinic-flow__item {
    flex-direction: column;
    gap: 16px;
  }
  .clinic-flow__img {
    width: 100%;
    height: 200px;
  }
  .clinic-flow__body {
    width: 100%;
    padding-top: 0;
  }
  .clinic-flow__arrow {
    width: 100%;
    padding: 0;
  }
  .clinic-flow__ttl {
    justify-content: flex-start;
    font-size: 16px;
    letter-spacing: 0.8px;
    margin-bottom: 8px;
  }
  .clinic-flow__desc {
    font-size: 15px;
    letter-spacing: 0.75px;
  }
  .clinic-route {
    gap: 40px;
  }
  .clinic-route__row {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .clinic-route__row--head {
    padding-right: 0;
  }
  .clinic-route__row--offset > .clinic-route__arrow:first-child {
    display: none;
  }
  .clinic-route__arrow {
    flex: none;
    width: auto;
    height: auto;
    margin-top: 0;
    padding: 0;
  }
  .clinic-route__arrow img {
    transform: rotate(90deg);
  }
  .clinic-route__img {
    height: 200px;
  }
  .clinic-park__ttl {
    font-size: 16px;
    margin-bottom: 8px;
  }
  .clinic-park__desc {
    font-size: 14px;
    margin-bottom: 24px;
  }
  .clinic-park__img img {
    border-radius: 12px;
  }
}
.news-archive {
  margin-top: 48px;
}

@media screen and (max-width: 767px) {
  .news-archive {
    margin-top: 32px;
  }
}
.news-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.news-list .news-list__item {
  border-bottom: 1px solid #d9d8d5;
}

.news-list .news-list__item .news-list__link {
  position: relative;
  display: flex;
  align-items: center;
  gap: 32px;
  padding: 24px 48px 24px 0;
  color: #2e2b28;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.news-list .news-list__item .news-list__link:hover {
  opacity: 0.7;
}

.news-list .news-list__item .news-list__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background-color: #28a8a6;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M4 2l4 4-4 4' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-50%);
}

.news-list .news-list__item .news-list__link .news-list__meta {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.news-list .news-list__item .news-list__link .news-list__meta .news-list__date {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.6;
  color: #5f5a55;
}

.news-list .news-list__item .news-list__link .news-list__meta .news-list__badge--new {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  background: #28a8a6;
  color: #fff;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1.5;
}

.news-list .news-list__item .news-list__link .news-list__meta .news-list__cat {
  display: inline-block;
  padding: 2px 10px;
  border: 1px solid #28a8a6;
  border-radius: 999px;
  color: #28a8a6;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 12px;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

.news-list .news-list__item .news-list__link .news-list__title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.7;
  color: #2e2b28;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .news-list .news-list__item .news-list__link {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 20px 40px 20px 0;
  }
  .news-list .news-list__item .news-list__link::after {
    width: 30px;
    height: 30px;
  }
  .news-list .news-list__item .news-list__link .news-list__meta .news-list__date {
    font-size: 14px;
  }
  .news-list .news-list__item .news-list__link .news-list__title {
    font-size: 15px;
  }
}
.news-archive__empty {
  margin-top: 40px;
  color: #8e8a85;
  text-align: center;
}

.pagination {
  margin-top: 48px;
}

.pagination .pagination__list {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.pagination .pagination__list .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding-inline: 6px;
  border: 1px solid #d9d8d5;
  border-radius: 999px;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 15px;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.pagination .pagination__list .page-numbers:hover {
  border-color: #28a8a6;
  color: #28a8a6;
}

.pagination .pagination__list .page-numbers.current {
  background: #28a8a6;
  border-color: #28a8a6;
  color: #fff;
}

.pagination .pagination__list .page-numbers.dots {
  border: 0;
}

.pagination .pagination__list .page-numbers.prev,
.pagination .pagination__list .page-numbers.next {
  width: 40px;
  min-width: 40px;
  padding: 0;
  border-color: #28a8a6;
  background-color: #28a8a6;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M4 2l4 4-4 4' fill='none' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.pagination .pagination__list .page-numbers.prev:hover,
.pagination .pagination__list .page-numbers.next:hover {
  opacity: 0.85;
  color: #fff;
}

.pagination .pagination__list .page-numbers.prev {
  transform: scaleX(-1);
}

.pagination .pagination__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 32px;
  }
}
.announce-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}

.announce-modal[hidden] {
  display: none;
}

.announce-modal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
}

.announce-modal__card {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: auto;
  max-width: 1048px;
  padding: 40px 80px 24px;
  background: #fff;
  border-radius: 16px;
}

.announce-modal__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.announce-modal__label {
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.54px;
  line-height: 1.8;
  color: #28a8a6;
  text-align: center;
}

.announce-modal__logos {
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: center;
}

.announce-modal__logo {
  display: block;
  height: 44px;
  width: auto;
}

.announce-modal__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.announce-modal__arrow-pc {
  display: block;
  width: 51px;
  height: 17px;
}

.announce-modal__arrow-sp {
  display: none;
}

.announce-modal__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}

.announce-modal__title {
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 1.68px;
  line-height: 1.8;
  color: #2e2b28;
}

.announce-modal__desc {
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.54px;
  line-height: 1.8;
  color: #2e2b28;
}

.announce-modal__desc strong {
  font-weight: 700;
}

.announce-modal__br-sp {
  display: none;
}

.announce-modal__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 320px;
  max-width: 100%;
  padding: 24px;
  border-radius: 6px;
  background: #28a8a6;
  color: #fff;
  text-decoration: none;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 0.88px;
  line-height: 1.5;
  text-align: center;
  transition: opacity 0.2s ease;
}

.announce-modal__btn:hover {
  opacity: 0.9;
}

.announce-modal__close {
  position: absolute;
  top: -15.5px;
  right: -12.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  border-radius: 100px;
  background: #5f5a55;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .announce-modal {
    padding-left: 0;
    padding-right: 0;
  }
  .announce-modal__card {
    width: calc(100% - 48px);
    max-width: 327px;
    gap: 24px;
    padding: 24px 16px 16px;
  }
  .announce-modal__inner {
    gap: 16px;
    width: 100%;
  }
  .announce-modal__logos {
    flex-direction: column;
    gap: 8px;
    width: 240px;
    margin: 0 auto;
  }
  .announce-modal__logo {
    height: 40px;
  }
  .announce-modal__arrow-pc {
    display: none;
  }
  .announce-modal__arrow-sp {
    display: block;
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top: 12px solid #28a8a6;
  }
  .announce-modal__text {
    padding-top: 8px;
    width: 100%;
  }
  .announce-modal__title {
    font-size: 18px;
    letter-spacing: 1.26px;
  }
  .announce-modal__desc {
    font-size: 14px;
    letter-spacing: 0.42px;
  }
  .announce-modal__br-pc {
    display: none;
  }
  .announce-modal__br-sp {
    display: inline;
  }
  .announce-modal__btn {
    width: 100%;
    padding: 20px 24px;
    font-size: 16px;
    letter-spacing: 0.64px;
  }
}
.only-sp {
  display: none;
}

.only-pc {
  display: inline;
}

@media screen and (max-width: 767px) {
  .only-sp {
    display: inline;
  }
  .only-pc {
    display: none;
  }
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 120px;
}

@media screen and (max-width: 1199px) {
  html {
    scroll-padding-top: 72px;
  }
}
:where(#feat5-01, #feat5-02, #feat5-03, #feat5-04, #feat5-05) {
  scroll-margin-top: 120px;
}
@media screen and (max-width: 1199px) {
  :where(#feat5-01, #feat5-02, #feat5-03, #feat5-04, #feat5-05) {
    scroll-margin-top: 72px;
  }
}

:root {
  --color-primary: #2563eb;
  --color-primary-dark: #1d4ed8;
  --color-primary-soft: #dbeafe;
  --color-accent: #f59e0b;
  --color-accent-soft: #fef3c7;
  --color-alert: #dc2626;
  --color-alert-soft: #fee2e2;
  --color-muted: #64748b;
  --color-muted-soft: #f1f5f9;
  --color-success: #16a34a;
  --color-success-soft: #dcfce7;
  --color-bg: #ffffff;
  --color-bg-soft: #f8fafc;
  --color-border: #d7dee8;
  --color-text: #1f2937;
  --color-text-light: #ffffff;
  --font-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-en: "Inter", "Helvetica Neue", Arial, sans-serif;
  --radius: 20px;
  --radius-sm: 8px;
  --radius-lg: 32px;
  --shadow: 0 8px 24px rgba(31, 41, 55, 0.12);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
}

.page-body__inner > * + *,
.page-body__inner > * + * {
  margin-top: var(--space-8);
}

.wp-block-group.is-bg-gray,
.wp-block-group.is-style-bg-gray,
.wp-block-group.is-bg-teal,
.wp-block-group.is-style-bg-teal {
  padding: 40px;
  border-radius: 8px;
}

.wp-block-group.is-bg-gray,
.wp-block-group.is-style-bg-gray {
  background: #f4f4f2;
}

.wp-block-group.is-bg-teal,
.wp-block-group.is-style-bg-teal {
  background: rgba(40, 168, 166, 0.05);
}

@media screen and (max-width:767px) {
  .wp-block-group.is-bg-gray,
  .wp-block-group.is-style-bg-gray,
  .wp-block-group.is-bg-teal,
  .wp-block-group.is-style-bg-teal {
    padding: 24px 20px;
  }
}
.inner-content > *:not(.has-small-font-size),
.wp-block-column > *:not(.has-small-font-size) {
  margin-top: 1.875rem;
}

.inner-content > *:first-child,
.wp-block-column > *:first-child {
  margin-top: 0;
}

.inner-content > *:last-child,
.wp-block-column > *:last-child {
  margin-bottom: 0;
}

.page-body__inner .wp-block-columns {
  margin-block: var(--space-8);
}

.page-body__inner .wp-block-group__inner-container > * + * {
  margin-top: var(--space-8);
}

.page-body__inner .wp-block-group__inner-container > *:last-child {
  margin-bottom: 0;
}

.wp-block-paragraph,
.page-body__inner p {
  line-height: 1.8;
}
.wp-block-paragraph strong,
.wp-block-paragraph b,
.page-body__inner p strong,
.page-body__inner p b {
  font-weight: 700;
}
.wp-block-paragraph a:not(.wp-block-button__link),
.page-body__inner p a:not(.wp-block-button__link) {
  color: #28a8a6;
  font-weight: inherit;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.wp-block-paragraph mark,
.page-body__inner p mark {
  background-color: transparent;
}
.wp-block-paragraph .has-inline-color,
.page-body__inner p .has-inline-color {
  padding-inline: 0.08em;
}
.wp-block-paragraph mark.is-marker,
.wp-block-paragraph mark:not([class]):not([style]),
.page-body__inner p mark.is-marker,
.page-body__inner p mark:not([class]):not([style]) {
  padding-inline: 0.08em;
  background: linear-gradient(transparent 58%, var(--color-accent-soft) 58%);
}

.has-text-color {
  color: currentColor;
}

h2.wp-block-heading {
  position: relative;
  padding-left: 8px;
  padding-bottom: 10px;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.8;
  letter-spacing: 1.6px;
  color: #2e2b28;
}

h2.wp-block-heading::after {
  content: "";
  position: absolute;
  left: 8px;
  bottom: 0;
  width: 40px;
  height: 2px;
  border-radius: 1px;
  background: #28a8a6;
}

h3.wp-block-heading {
  position: relative;
  z-index: 0;
  display: inline-flex;
  align-items: flex-end;
  min-height: 48px;
  padding-left: 40px;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 1.2px;
  color: #2e2b28;
}

h3.wp-block-heading::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 48px;
  height: 48px;
  border-radius: 999px;
  background: rgba(40, 168, 166, 0.15);
}

h4.wp-block-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 1px;
  color: #2e2b28;
}

h4.wp-block-heading::before {
  content: "";
  flex: 0 0 auto;
  width: 22px;
  height: 40px;
  mix-blend-mode: multiply;
  background: url("../img/ico-h4-mark.svg") center/contain no-repeat;
}

h5.wp-block-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.9px;
  color: #28a8a6;
}

h5.wp-block-heading::before {
  content: "";
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  background: url("../img/ico-dot.svg") center/contain no-repeat;
}

.wp-block-heading.is-line-heading,
.wp-block-heading.is-style-line-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.9px;
  color: #2e2b28;
  white-space: nowrap;
}

.wp-block-heading.is-line-heading::before,
.wp-block-heading.is-style-line-heading::before {
  display: none;
}

.wp-block-heading.is-line-heading::after,
.wp-block-heading.is-style-line-heading::after {
  content: "";
  display: block;
  flex: 1 1 auto;
  width: auto;
  height: 1px;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: #28a8a6;
}

ul.wp-block-list,
ol.wp-block-list {
  list-style: none;
  margin: 1.5em 0;
  padding-left: 0;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.48px;
  color: #2e2b28;
}

ul.wp-block-list li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 8px;
}

ul.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 0.9em;
  transform: translateY(-50%);
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: #28a8a6;
}

ol.wp-block-list {
  counter-reset: item;
}

ol.wp-block-list li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 16px;
}

ol.wp-block-list li::before {
  content: counter(item, decimal-leading-zero);
  counter-increment: item;
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  text-align: center;
  color: #28a8a6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1.5;
}

ul.wp-block-list.is-check li,
ul.wp-block-list.is-style-check li {
  padding-left: 32px;
  margin-bottom: 16px;
}

ul.wp-block-list.is-check li::before,
ul.wp-block-list.is-style-check li::before {
  left: 0;
  top: 0.9em;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 0;
  background: url("../img/ico-check.svg") center/contain no-repeat;
}

ul.wp-block-list.is-check li::after,
ul.wp-block-list.is-style-check li::after {
  display: none;
}

.wp-block-button {
  max-width: 100%;
}

.wp-block-button .wp-block-button__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 320px;
  max-width: 100%;
  min-height: 72px;
  padding: 16px 48px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: #28a8a6;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 0.8px;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.wp-block-button .wp-block-button__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask: url("../img/ico-btn-arrow.svg") center/contain no-repeat;
  mask: url("../img/ico-btn-arrow.svg") center/contain no-repeat;
  transform: translateY(-50%);
}

.wp-block-button .wp-block-button__link:hover {
  opacity: 1;
  background: #fff;
  border-color: #28a8a6;
  color: #28a8a6;
}

.wp-block-button.is-blank .wp-block-button__link,
.wp-block-button.is-style-blank .wp-block-button__link {
  background: #d0e5e5;
  border-color: transparent;
  color: #2e2b28;
}

.wp-block-button.is-blank .wp-block-button__link::after,
.wp-block-button.is-style-blank .wp-block-button__link::after {
  background-color: #28a8a6;
  -webkit-mask: url("../img/ico-btn-ext.svg") center/contain no-repeat;
  mask: url("../img/ico-btn-ext.svg") center/contain no-repeat;
}

.wp-block-button.is-blank .wp-block-button__link:hover,
.wp-block-button.is-style-blank .wp-block-button__link:hover {
  background: #99d6d6;
  border-color: transparent;
  color: #2e2b28;
}

@media screen and (max-width:767px) {
  .wp-block-buttons > .wp-block-button {
    width: 100%;
  }
  .wp-block-buttons > .wp-block-button .wp-block-button__link {
    width: 100%;
  }
}
.wp-block-button.is-blank .wp-block-button__link:hover::after,
.wp-block-button.is-style-blank .wp-block-button__link:hover::after {
  background-color: #fff;
}

.wp-block-button.is-page-link .wp-block-button__link,
.wp-block-button.is-style-page-link .wp-block-button__link {
  background: #fff;
  border-color: #28a8a6;
  color: #2e2b28;
}

.wp-block-button.is-page-link .wp-block-button__link::after,
.wp-block-button.is-style-page-link .wp-block-button__link::after {
  background-color: #28a8a6;
  -webkit-mask: url("../img/ico-btn-chevron.svg") center/contain no-repeat;
  mask: url("../img/ico-btn-chevron.svg") center/contain no-repeat;
  transform: translateY(-50%) rotate(90deg);
}

.wp-block-button.is-page-link .wp-block-button__link:hover,
.wp-block-button.is-style-page-link .wp-block-button__link:hover {
  background: #fff;
  border-color: #28a8a6;
  color: #28a8a6;
}

.wp-block-flexible-table-block-table,
.wp-block-table {
  overflow: hidden;
  border: 1px solid #d9d8d5;
  border-radius: 8px;
}
.wp-block-flexible-table-block-table table,
.wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  color: #2e2b28;
}
.wp-block-flexible-table-block-table th,
.wp-block-flexible-table-block-table td,
.wp-block-table th,
.wp-block-table td {
  padding: 16px;
  line-height: 1.6;
  vertical-align: middle;
  border-top: 1px solid #d9d8d5;
  border-left: 1px solid #d9d8d5;
}
.wp-block-flexible-table-block-table tr:first-child th,
.wp-block-flexible-table-block-table tr:first-child td,
.wp-block-table tr:first-child th,
.wp-block-table tr:first-child td {
  border-top: 0;
}
.wp-block-flexible-table-block-table th:first-child,
.wp-block-flexible-table-block-table td:first-child,
.wp-block-table th:first-child,
.wp-block-table td:first-child {
  border-left: 0;
}
.wp-block-flexible-table-block-table thead th,
.wp-block-table thead th {
  height: 56px;
  background: #f4f4f2;
  font-weight: 500;
}

.wp-block-flexible-table-block-table {
  border-radius: 0;
}

.wp-block-flexible-table-block-table.is-td-th,
.wp-block-flexible-table-block-table.is-style-td-th,
.wp-block-table.is-td-th,
.wp-block-table.is-style-td-th {
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
}
.wp-block-flexible-table-block-table.is-td-th th,
.wp-block-flexible-table-block-table.is-td-th td,
.wp-block-flexible-table-block-table.is-style-td-th th,
.wp-block-flexible-table-block-table.is-style-td-th td,
.wp-block-table.is-td-th th,
.wp-block-table.is-td-th td,
.wp-block-table.is-style-td-th th,
.wp-block-table.is-style-td-th td {
  height: auto;
  padding: 16px 0;
  text-align: left;
  vertical-align: top;
  border: 0 !important;
  border-bottom: 1px solid #d9d8d5 !important;
  background: transparent !important;
  line-height: 1.8;
}
.wp-block-flexible-table-block-table.is-td-th tbody th,
.wp-block-flexible-table-block-table.is-td-th tbody td:first-child,
.wp-block-flexible-table-block-table.is-style-td-th tbody th,
.wp-block-flexible-table-block-table.is-style-td-th tbody td:first-child,
.wp-block-table.is-td-th tbody th,
.wp-block-table.is-td-th tbody td:first-child,
.wp-block-table.is-style-td-th tbody th,
.wp-block-table.is-style-td-th tbody td:first-child {
  width: 240px;
  padding-right: 32px;
  background: transparent !important;
  color: #2e2b28;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.9px;
  line-height: 1.6;
  text-align: left;
}
.wp-block-flexible-table-block-table.is-td-th tbody td,
.wp-block-flexible-table-block-table.is-style-td-th tbody td,
.wp-block-table.is-td-th tbody td,
.wp-block-table.is-style-td-th tbody td {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.48px;
}
.wp-block-flexible-table-block-table.is-td-th thead th,
.wp-block-flexible-table-block-table.is-style-td-th thead th,
.wp-block-table.is-td-th thead th,
.wp-block-table.is-style-td-th thead th {
  height: auto;
  background: transparent;
  border-bottom: 1px solid #d9d8d5;
}

.wp-block-flexible-table-block-table.is-label,
.wp-block-flexible-table-block-table.is-style-label,
.wp-block-table.is-label,
.wp-block-table.is-style-label {
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
}

.wp-block-flexible-table-block-table.is-label table,
.wp-block-flexible-table-block-table.is-style-label table,
.wp-block-table.is-label table,
.wp-block-table.is-style-label table {
  border-collapse: separate;
  border-spacing: 0 8px;
}

.wp-block-flexible-table-block-table.is-label th,
.wp-block-flexible-table-block-table.is-label td,
.wp-block-flexible-table-block-table.is-style-label th,
.wp-block-flexible-table-block-table.is-style-label td,
.wp-block-table.is-label th,
.wp-block-table.is-label td,
.wp-block-table.is-style-label th,
.wp-block-table.is-style-label td {
  height: auto;
  padding: 8px 16px;
  border: 0 !important;
  vertical-align: middle;
  font-size: 15px;
  letter-spacing: 0.75px;
  line-height: 1.5;
  color: #2e2b28;
}

.wp-block-flexible-table-block-table.is-label tbody th,
.wp-block-flexible-table-block-table.is-label tbody td:first-child,
.wp-block-flexible-table-block-table.is-style-label tbody th,
.wp-block-flexible-table-block-table.is-style-label tbody td:first-child,
.wp-block-table.is-label tbody th,
.wp-block-table.is-label tbody td:first-child,
.wp-block-table.is-style-label tbody th,
.wp-block-table.is-style-label tbody td:first-child {
  width: 158px;
  background: #f4f4f2 !important;
  border-radius: 2px;
  font-weight: 500;
  text-align: center;
}

.wp-block-flexible-table-block-table.is-label tbody td,
.wp-block-flexible-table-block-table.is-style-label tbody td,
.wp-block-table.is-label tbody td,
.wp-block-table.is-style-label tbody td {
  background: #fff !important;
  font-weight: 400;
  text-align: left;
}

.wp-block-flexible-table-block-table.info-table th,
.wp-block-flexible-table-block-table.info-table td,
.wp-block-table.info-table th,
.wp-block-table.info-table td,
.wp-block-flexible-table-block-table.is-style-info-table th,
.wp-block-flexible-table-block-table.is-style-info-table td,
.wp-block-table.is-style-info-table th,
.wp-block-table.is-style-info-table td {
  text-align: left;
  border-left: 0;
  border-top: 0;
  border-bottom: 1px solid #d9d8d5;
}
.wp-block-flexible-table-block-table.info-table thead th,
.wp-block-table.info-table thead th,
.wp-block-flexible-table-block-table.is-style-info-table thead th,
.wp-block-table.is-style-info-table thead th {
  background: transparent;
}
.wp-block-flexible-table-block-table.info-table th,
.wp-block-flexible-table-block-table.info-table td:first-child,
.wp-block-table.info-table th,
.wp-block-table.info-table td:first-child,
.wp-block-flexible-table-block-table.is-style-info-table th,
.wp-block-flexible-table-block-table.is-style-info-table td:first-child,
.wp-block-table.is-style-info-table th,
.wp-block-table.is-style-info-table td:first-child {
  width: 200px;
  color: #28a8a6;
  font-weight: 500;
}

.wp-block-quote {
  position: relative;
  margin: 2rem 0;
  padding: 32px 40px 24px;
  border: 0;
  border-radius: 2px;
  background: #fafafa;
  color: #5f5a55;
  font-size: 16px;
  line-height: 1.6;
}

.wp-block-quote p {
  margin: 0;
  color: #5f5a55;
}

.wp-block-quote::before,
.wp-block-quote::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  background: url("../img/ico-inyou.svg") center/contain no-repeat;
}

.wp-block-quote::before {
  left: 16px;
  top: -6px;
  transform: scaleX(-1);
}

.wp-block-quote::after {
  right: 16px;
  bottom: -6px;
}

.wp-block-quote cite,
.wp-block-quote .wp-block-quote__citation,
.wp-block-quote .blockquote__bottom {
  display: block;
  margin-top: 16px;
  color: #8e8a85;
  font-size: 15px;
  letter-spacing: 0.75px;
  line-height: 1.4;
  font-style: normal;
  text-align: right;
  text-decoration: none;
}
.wp-block-quote cite::before,
.wp-block-quote .wp-block-quote__citation::before {
  content: "引用：";
  letter-spacing: 2.25px;
  text-decoration: none;
}
.wp-block-quote cite a,
.wp-block-quote .wp-block-quote__citation a {
  color: inherit;
  text-decoration: underline;
  text-underline-position: from-font;
}

.lwptoc {
  margin-inline: auto;
  padding: 24px;
  border-radius: 8px;
  background: #f4f4f2;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.lwptoc .lwptoc_i {
  padding: 0;
  border: 0;
  background: transparent;
}
.lwptoc .lwptoc_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  background: transparent;
}
.lwptoc .lwptoc_i:has(.lwptoc_items-visible) .lwptoc_header {
  margin-bottom: 20px;
}
.lwptoc .lwptoc_title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1.8px;
  color: #2e2b28;
}
.lwptoc .lwptoc_title::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='%2328a8a6'%3E%3Ccircle cx='2' cy='3.5' r='1.3'/%3E%3Crect x='6' y='2.7' width='9' height='1.6' rx='.8'/%3E%3Ccircle cx='2' cy='8' r='1.3'/%3E%3Crect x='6' y='7.2' width='9' height='1.6' rx='.8'/%3E%3Ccircle cx='2' cy='12.5' r='1.3'/%3E%3Crect x='6' y='11.7' width='9' height='1.6' rx='.8'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}
.lwptoc .lwptoc_toggle {
  display: inline-flex;
}
.lwptoc .lwptoc_toggle_label {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 100px;
  background: #fff;
  color: #737279;
  font-size: 12px;
  letter-spacing: 0.48px;
  text-decoration: none;
  cursor: pointer;
}
.lwptoc .lwptoc_items {
  padding: 16px 32px;
  border-radius: 5px;
  background: #fff;
}
.lwptoc .lwptoc_item_number {
  display: none;
}
.lwptoc .lwptoc_items {
  counter-reset: lwptoc;
}
.lwptoc .lwptoc_item > a {
  display: flex;
  gap: 8px;
  align-items: baseline;
  padding: 16px 0;
  color: #2e2b28;
  text-decoration: none;
  border-bottom: 1px solid #d9d8d5;
}
.lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item:last-child:not(:has(.lwptoc_itemWrap)) > a,
.lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item:last-child > .lwptoc_itemWrap > .lwptoc_item:last-child > a {
  border-bottom: 0;
}
.lwptoc .lwptoc_item_label {
  font-size: 16px;
  line-height: 1.6;
}
.lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a::before {
  counter-increment: lwptoc;
  content: counter(lwptoc, decimal-leading-zero);
  flex: 0 0 auto;
  min-width: 24px;
  color: #28a8a6;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1.3;
}
.lwptoc .lwptoc_item .lwptoc_itemWrap {
  padding-left: 24px;
}
.lwptoc .lwptoc_item .lwptoc_itemWrap .lwptoc_item > a::before {
  content: "";
  flex: 0 0 auto;
  align-self: center;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #28a8a6;
}
.lwptoc .lwptoc_item .lwptoc_itemWrap .lwptoc_item_label {
  font-size: 14px;
}

@media screen and (max-width:767px) {
  .wp-block-flexible-table-block-table table.has-fixed-layout td,
  .wp-block-flexible-table-block-table table.has-fixed-layout th,
  .wp-block-table table.has-fixed-layout td,
  .wp-block-table table.has-fixed-layout th,
  table.has-fixed-layout td,
  table.has-fixed-layout th {
    width: 50%;
  }
  h2.wp-block-heading {
    font-size: 20px;
    letter-spacing: 1px;
  }
  h3.wp-block-heading {
    font-size: 18px;
    letter-spacing: 0.9px;
    min-height: 40px;
    padding-left: 34px;
  }
  h3.wp-block-heading::before {
    width: 40px;
    height: 40px;
  }
  h4.wp-block-heading {
    font-size: 16px;
  }
  h5.wp-block-heading {
    font-size: 16px;
  }
  .wp-block-heading.is-line-heading,
  .wp-block-heading.is-style-line-heading {
    font-size: 16px;
  }
  ol.wp-block-list li::before {
    font-size: 18px;
  }
  .lwptoc .lwptoc_title {
    font-size: 16px;
  }
  .lwptoc .lwptoc_items {
    padding: 4px 12px;
  }
  .lwptoc .lwptoc_item_label {
    font-size: 14px;
  }
  .lwptoc .lwptoc_item > a {
    padding: 8px 0;
  }
  .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a::before {
    font-size: 18px;
  }
  .wp-block-quote {
    padding: 2.5rem 1.25rem 1.5rem;
  }
  .wp-block-flexible-table-block-table.is-td-th tbody th,
  .wp-block-flexible-table-block-table.is-td-th tbody td:first-child,
  .wp-block-flexible-table-block-table.is-style-td-th tbody th,
  .wp-block-flexible-table-block-table.is-style-td-th tbody td:first-child,
  table.is-td-th td:first-child,
  table.is-style-td-th td:first-child {
    width: 100px !important;
    padding-right: 12px;
    font-size: 16px;
  }
}
.page-body__inner a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.page-body__inner .wp-block-list a:not(.wp-block-button__link) {
  color: #28a8a6;
  font-weight: inherit;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.page-body__inner iframe[src*="google.com/maps"],
.page-body__inner iframe[src*="maps.google"] {
  display: block;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  border: 0;
}

@media screen and (max-width:767px) {
  .page-body__inner iframe[src*="google.com/maps"],
  .page-body__inner iframe[src*="maps.google"] {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
}
.head-box--simple .head-box__body,
.head-box--side .head-box__body,
.head-box--toggle .head-box__body {
  display: contents;
}

.head-box__heading:empty {
  display: none;
}

.head-box--default,
.head-box--attention,
.head-box--question {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.head-box--default .head-box__heading,
.head-box--attention .head-box__heading,
.head-box--question .head-box__heading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  margin: 0;
  padding: 16px 24px 8px;
  border-radius: 8px 8px 0 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 2.16px;
  line-height: 1;
}

.head-box--default .head-box__heading::before,
.head-box--attention .head-box__heading::before,
.head-box--question .head-box__heading::before {
  content: "";
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.head-box--default .head-box__body,
.head-box--attention .head-box__body,
.head-box--question .head-box__body {
  width: 100%;
  padding: 24px;
  border-radius: 0 5px 5px 5px;
}

.head-box--default .head-box__body .head-box__content,
.head-box--attention .head-box__body .head-box__content,
.head-box--question .head-box__body .head-box__content {
  padding: 32px 24px;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.8px;
  color: #2e2b28;
}

.head-box--default.head-box--no-heading .head-box__body,
.head-box--attention.head-box--no-heading .head-box__body,
.head-box--question.head-box--no-heading .head-box__body {
  border-radius: 8px;
}

.head-box--default .head-box__heading,
.head-box--default .head-box__body {
  background: #f3fbfb;
}

.head-box--default .head-box__heading {
  color: #28a8a6;
}

.head-box--default .head-box__heading::before {
  background-image: url("../img/hb-point.svg");
}

.head-box--attention .head-box__heading,
.head-box--attention .head-box__body {
  background: #f9efef;
}

.head-box--attention .head-box__heading {
  color: #da6c6b;
}

.head-box--attention .head-box__heading::before {
  width: 27.2px;
  background-image: url("../img/hb-warn.svg");
}

.head-box--question .head-box__heading,
.head-box--question .head-box__body {
  background: #eff6f9;
}

.head-box--question .head-box__heading {
  color: #49a9c1;
}

.head-box--question .head-box__heading::before {
  background-image: url("../img/hb-quest.svg");
}

.head-box--simple {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  border: 1px solid rgba(151, 151, 151, 0.25);
  border-radius: 4px;
  background: #fff;
}

.head-box--simple .head-box__heading {
  margin: 0;
  padding: 0;
  color: #28a8a6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  text-align: center;
}

.head-box--simple .head-box__content {
  padding: 32px;
  border-radius: 2px;
  background: #fafafa;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.8px;
  color: #2e2b28;
}

.head-box--side {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 24px;
  border: 1px solid rgba(151, 151, 151, 0.25);
  border-radius: 4px;
  background: #fff;
}

.head-box--side .head-box__heading {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  color: #28a8a6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
}

.head-box--side .head-box__heading::before {
  content: "";
  flex: 0 0 auto;
  width: 34px;
  height: 30px;
  background: url("../img/hb-side.svg") center/contain no-repeat;
}

.head-box--side .head-box__content {
  flex: 1 1 0;
  min-width: 0;
  padding: 32px;
  border-radius: 10px;
  background: #fafafa;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.8px;
  color: #2e2b28;
}

.head-box--side.head-box--no-heading {
  padding: 0;
}

.head-box--side.head-box--no-heading .head-box__content {
  background: #fff;
}

.head-box--toggle {
  position: relative;
  padding: 20px;
  border: 1px solid #d9d8d5;
  border-radius: 8px;
  background: #fff;
}

.head-box--toggle .head-box__heading {
  margin: 0;
  padding: 0 40px 0 0;
  cursor: pointer;
  color: #28a8a6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.4;
  text-align: left;
}

.head-box--toggle .head-box__icon {
  position: absolute;
  top: 22px;
  right: 20px;
  width: 24px;
  height: 24px;
}

.head-box--toggle .head-box__icon::before,
.head-box--toggle .head-box__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #8e8a85;
  transform: translate(-50%, -50%);
  transition: opacity 0.25s ease;
}

.head-box--toggle .head-box__icon::before {
  width: 20px;
  height: 2px;
}

.head-box--toggle .head-box__icon::after {
  width: 2px;
  height: 20px;
}

.head-box--toggle .head-box__content {
  height: 0;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.8px;
  color: #2e2b28;
  transition: height 0.3s ease;
}

.head-box--toggle.is-open .head-box__content {
  margin-top: 20px;
  padding: 32px;
  border-radius: 2px;
  background: #fafafa;
}

.head-box--toggle.is-open .head-box__icon::after {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .head-box--toggle .head-box__content,
  .head-box--toggle .head-box__icon::before,
  .head-box--toggle .head-box__icon::after {
    transition: none;
  }
}
@media screen and (max-width:767px) {
  .head-box__heading {
    font-size: 18px;
    letter-spacing: 1.2px;
  }
  .head-box--default .head-box__body .head-box__content,
  .head-box--attention .head-box__body .head-box__content,
  .head-box--question .head-box__body .head-box__content,
  .head-box--simple .head-box__content,
  .head-box--side .head-box__content,
  .head-box--toggle.is-open .head-box__content {
    padding: 20px;
  }
  .head-box--side {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .head-box--side .head-box__content {
    width: 100%;
  }
}
.card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  border: 1px solid #ecebe8;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.card .card__label {
  position: relative;
  align-self: flex-start;
  display: inline-flex;
  align-items: flex-end;
  gap: 4px;
  margin: 0;
  padding-left: 24px;
  color: #28a8a6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1;
}

.card .card__label::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(40, 168, 166, 0.15);
}

.card .card__label .card__label-en,
.card .card__label .card__label-num {
  position: relative;
  z-index: 1;
}

.card .card__label .card__label-en {
  font-size: 12px;
  letter-spacing: 2.4px;
  line-height: 2;
  text-transform: uppercase;
}

.card .card__label .card__label-num {
  font-size: 28px;
  letter-spacing: 1.4px;
  line-height: 1.2;
}

.card .card__image {
  width: 100%;
  margin: 0;
  aspect-ratio: 61/35;
  overflow: hidden;
  border-radius: 5px;
  background: #b2b2b2;
}

.card .card__image .card__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.card .card__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  padding: 0;
  color: #2e2b28;
  font-size: 16px;
}

.card .card__body .card__heading {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.8px;
  text-align: center;
}

.card .card__body .card__text {
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  line-height: 1.8;
}

.card .card__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 8px;
  color: #28a8a6;
  font-weight: 500;
  text-decoration: underline;
}

@media screen and (max-width:767px) {
  .card {
    padding: 28px 16px 16px;
  }
  .card .card__label .card__label-num {
    font-size: 20px;
  }
}
.wid-card {
  position: relative;
  display: flex;
  gap: 24px;
  align-items: flex-start;
  padding: 24px;
  border-radius: 16px;
  background: #f9f9f9;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.wid-card .wid-card__badge {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 174px;
  height: 46px;
  border-radius: 0 0 16px 0;
  background: #28a8a6;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 1.2;
}

.wid-card .wid-card__image {
  flex: 0 0 240px;
  max-width: 240px;
  margin: 0;
  overflow: hidden;
  background: #b2b2b2;
}

.wid-card .wid-card__image .wid-card__img {
  display: block;
  width: 100%;
  aspect-ratio: 240/160;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.wid-card .wid-card__body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 22px;
}

.wid-card .wid-card__body .wid-card__heading {
  margin: 0;
  color: #28a8a6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.6;
}

.wid-card .wid-card__body .wid-card__text {
  margin: 0;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.6;
}

a.wid-card:hover {
  opacity: 0.8;
}

@media screen and (max-width:767px) {
  .wid-card {
    flex-direction: column;
    gap: 16px;
  }
  .wid-card .wid-card__image {
    flex: 1 1 auto;
    max-width: none;
    width: 100%;
  }
  .wid-card .wid-card__body {
    padding-top: 0;
  }
  .wid-card .wid-card__body .wid-card__heading {
    font-size: 18px;
  }
  .wid-card .wid-card__badge {
    width: 150px;
    height: 40px;
    font-size: 14px;
  }
}
.point-contents {
  display: flex;
  align-items: center;
  gap: 40px;
}

.point-contents.point-contents--left {
  flex-direction: row;
}

.point-contents.point-contents--right {
  flex-direction: row-reverse;
}

.point-contents .point-contents__image {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  overflow: visible;
  background: transparent;
}

.point-contents .point-contents__image .point-contents__img {
  display: block;
  width: 100%;
  aspect-ratio: 391/216;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 16px;
  background: #b2b2b2;
}

.point-contents .point-contents__image .point-contents__image-heading {
  position: absolute;
  left: -14px;
  top: -42px;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  min-height: 138px;
  max-height: 228px;
  height: auto;
  padding: 8px;
  background: #fff;
  border: 1px solid #d9d8d5;
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1.3;
  color: #5f5a55;
}

.point-contents .point-contents__body {
  flex: 1 1 0;
  min-width: 0;
  padding-block: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.point-contents .point-contents__body .point-contents__label {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
  color: #8e8a85;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 2.8px;
  line-height: 2;
  text-transform: uppercase;
}

.point-contents .point-contents__body .point-contents__heading {
  margin: 0;
  color: #2e2b28;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 2.8px;
  line-height: 1.8;
}

.point-contents .point-contents__body .point-contents__content {
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 2;
}

@media screen and (max-width:767px) {
  .point-contents.point-contents--left,
  .point-contents.point-contents--right {
    flex-direction: column;
    gap: 24px;
  }
  .point-contents .point-contents__image {
    flex: none;
    width: 100%;
  }
  .point-contents .point-contents__image .point-contents__image-heading {
    top: -12px;
    font-size: 14px;
    letter-spacing: 0.5px;
  }
  .point-contents .point-contents__body {
    width: 100%;
    padding-block: 0;
  }
  .point-contents .point-contents__body .point-contents__label {
    font-size: 12px;
    letter-spacing: 1.6px;
  }
  .point-contents .point-contents__body .point-contents__heading {
    font-size: 20px;
    letter-spacing: 1.4px;
  }
  .point-contents .point-contents__body .point-contents__content {
    font-size: 16px;
  }
}
.flow-contents {
  position: relative;
}

.flow-contents .flow-contents__inner {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.flow-contents .flow-contents__inner .flow-contents__image {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  aspect-ratio: 320/200;
  overflow: hidden;
  border-radius: 12px;
  background: #b2b2b2;
}

.flow-contents .flow-contents__inner .flow-contents__image .flow-contents__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.flow-contents .flow-contents__inner .flow-contents__body {
  flex: 0 0 516px;
  max-width: 516px;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.flow-contents .flow-contents__inner .flow-contents__head {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.flow-contents .flow-contents__inner .flow-contents__head .flow-contents__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding-bottom: 2.667px;
  border-radius: 5.333px;
  background: #f4f4f2;
  color: #5f5a55;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 21.333px;
  letter-spacing: 1.0667px;
  line-height: 1.1;
}

.flow-contents .flow-contents__inner .flow-contents__head .flow-contents__heading {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 1.1px;
  line-height: 1.5;
}

.flow-contents .flow-contents__inner .flow-contents__content {
  color: #2e2b28;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.8px;
}

.flow-contents.flow-contents--not-first {
  margin-top: 0;
  padding-top: 88px;
}

.flow-contents .flow-contents__arrow {
  position: absolute;
  left: calc((100% - 540px) / 2);
  top: 24px;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background: url("../img/flow-arrow.svg") center/contain no-repeat;
}

@media screen and (max-width:767px) {
  .flow-contents .flow-contents__inner {
    flex-direction: column;
    gap: 16px;
  }
  .flow-contents .flow-contents__inner .flow-contents__body {
    display: contents;
  }
  .flow-contents .flow-contents__inner .flow-contents__head {
    order: 1;
  }
  .flow-contents .flow-contents__inner .flow-contents__image {
    order: 2;
    flex: none;
    width: 100%;
    aspect-ratio: 320/200;
  }
  .flow-contents .flow-contents__inner .flow-contents__content {
    order: 3;
    font-size: 16px;
  }
  .flow-contents .flow-contents__inner .flow-contents__head .flow-contents__num {
    font-size: 18px;
  }
  .flow-contents .flow-contents__inner .flow-contents__head .flow-contents__heading {
    font-size: 18px;
    letter-spacing: 0.9px;
  }
  .flow-contents.flow-contents--not-first {
    padding-top: 64px;
  }
  .flow-contents .flow-contents__arrow {
    left: 50%;
    top: 12px;
  }
}
.merit-demerit {
  position: relative;
  overflow: hidden;
  border-radius: 6px;
  padding: 24px;
}

.merit-demerit.merit-demerit--merit {
  background: rgba(40, 168, 166, 0.05);
}

.merit-demerit.merit-demerit--demerit {
  background: rgba(142, 138, 133, 0.08);
}

.wp-block-column .merit-demerit {
  height: 100%;
}

.merit-demerit .merit-demerit__text {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.merit-demerit .merit-demerit__text .merit-demerit__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.merit-demerit .merit-demerit__text .merit-demerit__head .merit-demerit__label {
  position: relative;
  isolation: isolate;
  display: inline-block;
  align-self: flex-start;
  margin: 0;
  padding-left: 24px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 3.2px;
  line-height: 1.5;
  text-transform: uppercase;
}

.merit-demerit .merit-demerit__text .merit-demerit__head .merit-demerit__label::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 32px;
  height: 32px;
  border-radius: 100px;
}

.merit-demerit.merit-demerit--merit .merit-demerit__label {
  color: #28a8a6;
}

.merit-demerit.merit-demerit--merit .merit-demerit__label::before {
  background: rgba(40, 168, 166, 0.15);
}

.merit-demerit.merit-demerit--demerit .merit-demerit__label {
  color: #8e8a85;
}

.merit-demerit.merit-demerit--demerit .merit-demerit__label::before {
  background: rgba(142, 138, 133, 0.15);
}

.merit-demerit .merit-demerit__text .merit-demerit__head .merit-demerit__heading {
  margin: 0;
  color: #5f5a55;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1.4;
}

.merit-demerit .merit-demerit__text .merit-demerit__content > * {
  margin-top: 0;
  margin-bottom: 0;
}

.merit-demerit .merit-demerit__text .merit-demerit__content > * + * {
  margin-top: 16px;
}

.merit-demerit .merit-demerit__text .merit-demerit__content ul,
.merit-demerit .merit-demerit__text .merit-demerit__content ul.wp-block-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
}

.merit-demerit .merit-demerit__text .merit-demerit__content ul li,
.merit-demerit .merit-demerit__text .merit-demerit__content ul.wp-block-list li {
  position: relative;
  margin: 0;
  padding-left: 28px;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.4;
}

.merit-demerit .merit-demerit__text .merit-demerit__content ul li::before,
.merit-demerit .merit-demerit__text .merit-demerit__content ul.wp-block-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 0;
  background: url("../img/md-check-merit.svg") center/contain no-repeat;
}

.merit-demerit.merit-demerit--demerit .merit-demerit__content ul li::before,
.merit-demerit.merit-demerit--demerit .merit-demerit__content ul.wp-block-list li::before {
  background-image: url("../img/md-check-demerit.svg");
}

@media screen and (max-width:767px) {
  .merit-demerit {
    padding: 20px;
  }
  .merit-demerit .merit-demerit__text {
    gap: 16px;
  }
  .merit-demerit .merit-demerit__text .merit-demerit__head .merit-demerit__heading {
    font-size: 18px;
  }
}
.blk-faq {
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(105, 105, 105, 0.08);
}

.blk-faq .blk-faq__question {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 32px 64px 32px 32px;
  background: #fff;
  cursor: pointer;
}

.blk-faq .blk-faq__question .blk-faq__question-icon,
.blk-faq .blk-faq__answer .blk-faq__answer-icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding-bottom: 4px;
  border-radius: 8px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 27px;
  letter-spacing: 1.35px;
  line-height: 1;
}

.blk-faq .blk-faq__question .blk-faq__question-icon {
  background: #f4f4f2;
  color: #28a8a6;
}

.blk-faq .blk-faq__answer .blk-faq__answer-icon {
  background: #fff;
  color: #8e8a85;
}

.blk-faq .blk-faq__question .blk-faq__heading {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.9px;
  line-height: 1.5;
}

.blk-faq .blk-faq__question::before,
.blk-faq .blk-faq__question::after {
  content: "";
  position: absolute;
  right: 32px;
  top: 50%;
  background: #8e8a85;
  transform: translate(50%, -50%);
  transition: opacity 0.25s ease;
}

.blk-faq .blk-faq__question::before {
  width: 16px;
  height: 2px;
}

.blk-faq .blk-faq__question::after {
  width: 2px;
  height: 16px;
}

.blk-faq .blk-faq__answer {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  height: 0;
  overflow: hidden;
  padding: 0 24px 0 32px;
  background: #e8f7f6;
  transition: height 0.3s ease;
}

.blk-faq .blk-faq__answer .blk-faq__content {
  flex: 1 1 0;
  min-width: 0;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 0.9px;
  line-height: 1.8;
}

.blk-faq.is-open .blk-faq__question::after {
  opacity: 0;
}

.blk-faq.is-open .blk-faq__answer {
  padding-top: 32px;
  padding-bottom: 32px;
}

@media (prefers-reduced-motion: reduce) {
  .blk-faq .blk-faq__question::before,
  .blk-faq .blk-faq__question::after,
  .blk-faq .blk-faq__answer {
    transition: none;
  }
}
@media screen and (max-width:767px) {
  .blk-faq .blk-faq__question {
    padding: 20px 48px 20px 16px;
    gap: 8px;
  }
  .blk-faq .blk-faq__answer {
    padding-left: 16px;
    padding-right: 16px;
  }
  .blk-faq.is-open .blk-faq__answer {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .blk-faq .blk-faq__question .blk-faq__question-icon,
  .blk-faq .blk-faq__answer .blk-faq__answer-icon {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
  .blk-faq .blk-faq__question .blk-faq__heading,
  .blk-faq .blk-faq__answer .blk-faq__content {
    font-size: 16px;
  }
  .blk-faq .blk-faq__question::before,
  .blk-faq .blk-faq__question::after {
    right: 20px;
  }
}
.supervisor-max {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 32px 40px;
  border: 1px solid #d9d8d5;
  border-radius: 16px;
  background: #fff;
}

.supervisor-max .supervisor-max__title {
  margin: 0;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
}

.supervisor-max .supervisor-max__row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile {
  flex: 0 0 240px;
  max-width: 240px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__image {
  margin: 0;
  width: 100%;
  aspect-ratio: 240/180;
  overflow: hidden;
  border-radius: 2px;
  background: #b2b2b2;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__image .supervisor-max__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__name {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__name .supervisor-max__name-title {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.3;
  color: #8e8a85;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__name .supervisor-max__name-main {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 3px;
  line-height: 1.5;
  color: #2e2b28;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__quals {
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.4px;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__quals ul,
.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__quals ol {
  margin: 0;
  padding-left: 1.4em;
  list-style: disc;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__quals li {
  margin: 0;
}

.supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__quals a {
  color: #28a8a6;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.supervisor-max .supervisor-max__row .supervisor-max__main {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.supervisor-max .supervisor-max__row .supervisor-max__main .supervisor-max__content {
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.6;
}

.supervisor-max .supervisor-max__row .supervisor-max__main .supervisor-max__actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 16px;
}

.supervisor-max .supervisor-max__row .supervisor-max__main .supervisor-max__actions .supervisor-max__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 32px;
  padding: 16px 48px 16px 56px;
  border: 1px solid #28a8a6;
  border-radius: 2px;
  box-shadow: 0 4px 16px rgba(105, 105, 105, 0.08);
  color: #28a8a6;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.8px;
  text-decoration: none;
}

.supervisor-max .supervisor-max__row .supervisor-max__main .supervisor-max__actions .supervisor-max__link::after {
  content: "";
  width: 24px;
  height: 24px;
  background-color: #28a8a6;
  -webkit-mask: url("../img/ico-btn-arrow.svg") center/contain no-repeat;
  mask: url("../img/ico-btn-arrow.svg") center/contain no-repeat;
}

@media screen and (max-width:767px) {
  .supervisor-max {
    padding: 24px 20px;
  }
  .supervisor-max .supervisor-max__row {
    flex-direction: column;
    gap: 20px;
  }
  .supervisor-max .supervisor-max__title {
    font-size: 18px;
  }
  .supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__name .supervisor-max__name-main {
    font-size: 18px;
  }
  .supervisor-max .supervisor-max__row .supervisor-max__profile {
    flex: 1 1 auto;
    max-width: none;
    width: 100%;
  }
  .supervisor-max .supervisor-max__row .supervisor-max__profile .supervisor-max__name {
    justify-content: flex-start;
  }
  .supervisor-max .supervisor-max__row .supervisor-max__main .supervisor-max__actions .supervisor-max__link {
    width: 100%;
    justify-content: center;
    padding-inline: 24px;
  }
}
.supervisor-min {
  padding: 20px;
  border: 1px solid #d9d8d5;
  border-radius: 16px;
  background: #fff;
}

.supervisor-min .supervisor-min__summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 24px;
  padding-right: 40px;
  cursor: pointer;
}

.supervisor-min .supervisor-min__summary .supervisor-min__image {
  flex: 0 0 104px;
  margin: 0;
  width: 104px;
  height: 104px;
  overflow: hidden;
  border-radius: 12px;
  background: #b2b2b2;
}

.supervisor-min .supervisor-min__summary .supervisor-min__image .supervisor-min__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.supervisor-min .supervisor-min__summary .supervisor-min__name {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.supervisor-min .supervisor-min__summary .supervisor-min__name .supervisor-min__name-title {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.7px;
  line-height: 1.3;
  color: #28a8a6;
}

.supervisor-min .supervisor-min__summary .supervisor-min__name .supervisor-min__divider {
  width: 24px;
  height: 1px;
  border-radius: 1px;
  background: #28a8a6;
}

.supervisor-min .supervisor-min__summary .supervisor-min__name .supervisor-min__name-row {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  flex-wrap: wrap;
}

.supervisor-min .supervisor-min__summary .supervisor-min__name .supervisor-min__name-row .supervisor-min__name-main {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 3.6px;
  line-height: 1.5;
  color: #2e2b28;
}

.supervisor-min .supervisor-min__summary .supervisor-min__name .supervisor-min__name-row .supervisor-min__name-en {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 3.2px;
  line-height: 2;
  text-transform: uppercase;
  color: #28a8a6;
}

.supervisor-min .supervisor-min__summary .supervisor-min__icon {
  position: absolute;
  right: 0;
  top: 50%;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
}

.supervisor-min .supervisor-min__summary .supervisor-min__icon::before,
.supervisor-min .supervisor-min__summary .supervisor-min__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #8e8a85;
  transform: translate(-50%, -50%);
  transition: opacity 0.25s ease;
}

.supervisor-min .supervisor-min__summary .supervisor-min__icon::before {
  width: 16px;
  height: 2px;
}

.supervisor-min .supervisor-min__summary .supervisor-min__icon::after {
  width: 2px;
  height: 16px;
}

.supervisor-min .supervisor-min__content {
  height: 0;
  overflow: hidden;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.6;
  transition: height 0.3s ease;
}

.supervisor-min.is-open .supervisor-min__content {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #d9d8d5;
}

.supervisor-min.is-open .supervisor-min__summary .supervisor-min__icon::after {
  opacity: 0;
}

@media screen and (max-width:767px) {
  .supervisor-min .supervisor-min__summary {
    gap: 16px;
  }
  .supervisor-min .supervisor-min__summary .supervisor-min__image {
    flex-basis: 80px;
    width: 80px;
    height: 80px;
  }
  .supervisor-min .supervisor-min__summary .supervisor-min__name .supervisor-min__name-row .supervisor-min__name-main {
    font-size: 18px;
    letter-spacing: 2px;
  }
  .supervisor-min .supervisor-min__summary .supervisor-min__name .supervisor-min__name-row .supervisor-min__name-en {
    font-size: 14px;
    letter-spacing: 2px;
  }
}
.post-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: 12px;
  color: inherit;
  text-decoration: none;
  background: #f9f9f9;
}

.post-card .post-card__image {
  margin: 0;
  overflow: hidden;
  background: #b2b2b2;
}

.post-card .post-card__image .post-card__img {
  display: block;
  width: 100%;
  aspect-ratio: 276/140;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.post-card .post-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  padding: 16px 20px;
  background: #f9f9f9;
}

.post-card .post-card__body .post-card__heading {
  width: 100%;
  margin: 0;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.6;
}

.post-card .post-card__body .post-card__arrow {
  margin-top: auto;
  width: 24px;
  height: 24px;
  background-color: #28a8a6;
  -webkit-mask: url("../img/ico-btn-arrow.svg") center/contain no-repeat;
  mask: url("../img/ico-btn-arrow.svg") center/contain no-repeat;
}

a.post-card {
  transition: opacity 0.2s ease;
}

a.post-card:hover {
  opacity: 0.8;
}

.bubble {
  display: flex;
  gap: 32px;
  align-items: center;
}

.bubble.bubble--left {
  flex-direction: row;
}

.bubble.bubble--right {
  flex-direction: row-reverse;
}

.bubble .bubble__person {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.bubble .bubble__person .bubble__image {
  margin: 0;
  width: 120px;
  height: 120px;
  overflow: hidden;
  border-radius: 16px;
  background: #b2b2b2;
}

.bubble .bubble__person .bubble__image .bubble__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.bubble .bubble__person .bubble__name {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin: 0;
}

.bubble .bubble__person .bubble__name .bubble__name-title {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.3;
  color: #28a8a6;
}

.bubble .bubble__person .bubble__name .bubble__divider {
  width: 16px;
  height: 1px;
  border-radius: 1px;
  background: #28a8a6;
}

.bubble .bubble__person .bubble__name .bubble__name-main {
  align-self: center;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1.28px;
  line-height: 1.3;
  color: #2e2b28;
}

.bubble .bubble__content {
  position: relative;
  flex: 1 1 0;
  min-width: 0;
  padding: 32px;
  border-radius: 14px;
  background: #f9f9f9;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.8;
}

.bubble .bubble__content::before {
  content: "";
  position: absolute;
  top: 50%;
  width: 30px;
  height: 26px;
  transform: translateY(-50%);
  background-color: inherit;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.58' height='26.67' viewBox='0 0 30.58 26.67'%3E%3Cg transform='rotate(90) scale(1,-1)'%3E%3Cpath d='M23.1475 0.706111C24.354 -0.708445 26.6691 0.144781 26.6692 2.004L26.6693 28.5773C26.6693 29.6818 25.7739 30.5773 24.6693 30.5773H2.00386C0.297434 30.5773 -0.625188 28.5777 0.482186 27.2794L23.1475 0.706111Z' fill='black'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30.58' height='26.67' viewBox='0 0 30.58 26.67'%3E%3Cg transform='rotate(90) scale(1,-1)'%3E%3Cpath d='M23.1475 0.706111C24.354 -0.708445 26.6691 0.144781 26.6692 2.004L26.6693 28.5773C26.6693 29.6818 25.7739 30.5773 24.6693 30.5773H2.00386C0.297434 30.5773 -0.625188 28.5777 0.482186 27.2794L23.1475 0.706111Z' fill='black'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}

.bubble.bubble--left .bubble__content::before {
  left: -24px;
}

.bubble.bubble--right .bubble__content {
  background: #f4fbfb;
}

.bubble.bubble--right .bubble__content::before {
  right: -24px;
  transform: translateY(-50%) scaleX(-1);
}

@media screen and (max-width:767px) {
  .bubble {
    gap: 16px;
  }
  .bubble .bubble__person .bubble__image {
    width: 80px;
    height: 80px;
  }
  .bubble .bubble__person {
    max-width: 80px;
  }
  .bubble .bubble__person .bubble__name {
    max-width: 100%;
    align-items: center;
  }
  .bubble .bubble__person .bubble__name .bubble__name-title,
  .bubble .bubble__person .bubble__name .bubble__name-main {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
  }
  .bubble .bubble__content {
    padding: 20px;
  }
  .bubble .bubble__content::before {
    top: 35%;
    width: 14px;
    height: 12px;
  }
  .bubble.bubble--left .bubble__content::before {
    left: -12px;
  }
  .bubble.bubble--right .bubble__content::before {
    right: -12px;
  }
}
.name-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.name-block.name-block--left {
  align-items: flex-start;
  text-align: left;
}

.name-block.name-block--center {
  align-items: center;
  text-align: center;
}

.name-block.name-block--right {
  align-items: flex-end;
  text-align: right;
}

.name-block .name-block__title {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.3;
  color: #28a8a6;
}

.name-block .name-block__divider {
  width: 24px;
  height: 1px;
  border-radius: 1px;
  background: #28a8a6;
}

.name-block .name-block__name {
  display: flex;
  gap: 16px;
  align-items: flex-end;
}

.name-block .name-block__name .name-block__name-main {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: 4.8px;
  line-height: 1.5;
  color: #2e2b28;
}

.name-block .name-block__name .name-block__name-en {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 3.2px;
  line-height: 2;
  text-transform: uppercase;
  color: #28a8a6;
}

@media screen and (max-width:767px) {
  .name-block .name-block__name {
    flex-direction: column;
    gap: 4px;
  }
  .name-block.name-block--left .name-block__name {
    align-items: flex-start;
  }
  .name-block.name-block--center .name-block__name {
    align-items: center;
  }
  .name-block.name-block--right .name-block__name {
    align-items: flex-end;
  }
  .name-block .name-block__name .name-block__name-main {
    font-size: 24px;
    letter-spacing: 2.4px;
  }
  .name-block .name-block__name .name-block__name-en {
    letter-spacing: 2px;
  }
}
.conversion-area .features-cta__cta {
  margin: 0 auto;
}

.symptom-check {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.symptom-check .symptom-check__list {
  width: 100%;
}

.symptom-check .symptom-check__head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.symptom-check .symptom-check__head .symptom-check__label {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 2.8px;
  line-height: 2;
  text-transform: uppercase;
  color: #8e8a85;
}

.symptom-check .symptom-check__head .symptom-check__title {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  line-height: 1.6;
  color: #2e2b28;
}

.symptom-check .symptom-check__head .symptom-check__deco {
  position: absolute;
  left: calc(50% + 128px);
  top: -8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 71px;
  height: 71px;
  border-radius: 120px;
  background: rgba(40, 168, 166, 0.15);
}

.symptom-check .symptom-check__head .symptom-check__deco img {
  width: 34px;
  height: auto;
  mix-blend-mode: multiply;
  opacity: 0.5;
}

.symptom-check .symptom-check__list ul,
.symptom-check .symptom-check__list ul.wp-block-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
}

.symptom-check .symptom-check__list ul li,
.symptom-check .symptom-check__list ul.wp-block-list li {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 16px 24px 16px 16px;
  border-radius: 4px;
  background: #f4f4f2;
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.8;
}

.symptom-check .symptom-check__list ul li::before,
.symptom-check .symptom-check__list ul.wp-block-list li::before {
  content: "";
  position: static;
  flex: 0 0 auto;
  top: auto;
  left: auto;
  transform: none;
  width: 24px;
  height: 24px;
  border-radius: 0;
  background: url("../img/ico-check-square.svg") center/contain no-repeat;
}

@media screen and (max-width:767px) {
  .symptom-check .symptom-check__head .symptom-check__deco {
    display: none;
  }
  .symptom-check .symptom-check__list ul,
  .symptom-check .symptom-check__list ul.wp-block-list {
    grid-template-columns: 1fr;
  }
}
.cta-lg {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 48px 40px;
  border: 1px solid #000;
  border-radius: 8px;
  background: url("../img/cta-lg-bg.webp") center/cover no-repeat, #e8f7f6;
}

.cta-lg .cta-lg__inner {
  display: flex;
  gap: 24px;
  align-items: center;
  width: 100%;
}

.cta-lg .cta-lg__inner .cta-lg__title {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 28px;
}

.cta-lg .cta-lg__inner .cta-lg__title .cta-lg__lead {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: 30px;
  letter-spacing: 1.5px;
  line-height: 1.8;
  color: #2e2b28;
}

.cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 24px 8px 72px;
  border-radius: 100px;
  background: #fff;
}

.cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill .cta-lg__pill-illust {
  position: absolute;
  left: 14px;
  bottom: 2px;
  width: 45px;
}

.cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill .cta-lg__pill-illust img {
  display: block;
  width: 100%;
  height: auto;
}

.cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill .cta-lg__pill-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.7px;
  line-height: 1.8;
  color: #5f5a55;
  white-space: nowrap;
}

.cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill .cta-lg__pill-text br {
  display: none;
}

.cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill .cta-lg__pill-em {
  color: #28a8a6;
}

.cta-lg .cta-lg__inner .cta-lg__cta {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 340px;
  max-width: 100%;
  border-radius: 6px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn:hover {
  opacity: 0.9;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn .cta-lg__btn-ico {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  line-height: 0;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn .cta-lg__btn-ico svg {
  display: block;
  width: 32px;
  height: 32px;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn .cta-lg__btn-body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--reserve {
  padding: 18px 24px;
  background: #28a8a6;
  color: #fff;
  pointer-events: none;
  cursor: default;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--reserve .cta-lg__btn-sub {
  font-size: 14px;
  letter-spacing: 0.56px;
  line-height: 1.4;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--reserve .cta-lg__btn-main {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.72px;
  line-height: 1.4;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--tel {
  padding: 12px 24px;
  background: #d0e5e5;
  color: #2e2b28;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--tel .cta-lg__btn-ico {
  color: #28a8a6;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--tel .cta-lg__btn-label {
  font-size: 12px;
  letter-spacing: 0.48px;
  line-height: 1.3;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--tel .cta-lg__btn-num {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.96px;
  line-height: 1.3;
}

.cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--tel .cta-lg__btn-note {
  font-size: 14px;
  letter-spacing: 0.56px;
  line-height: 1.4;
}

.cta-lg .cta-lg__foot {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}

.cta-lg .cta-lg__foot .cta-lg__hours {
  display: flex;
  gap: 16px;
  align-items: stretch;
  padding: 16px;
  border-radius: 6px;
  background: #fff;
}

.cta-lg .cta-lg__foot .cta-lg__hours .cta-lg__hours-row {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 16px;
}

.cta-lg .cta-lg__foot .cta-lg__hours .cta-lg__hours-row .cta-lg__hours-label {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 2px;
  background: #f4f4f2;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.75px;
  line-height: 1.5;
  color: #2e2b28;
}

.cta-lg .cta-lg__foot .cta-lg__hours .cta-lg__hours-row .cta-lg__hours-val {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.5;
  color: #2e2b28;
}

.cta-lg .cta-lg__foot .cta-lg__hours .cta-lg__hours-divider {
  flex: 0 0 auto;
  width: 1px;
  align-self: stretch;
  background: #d9d8d5;
}

.cta-lg .cta-lg__foot .cta-lg__checks {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.cta-lg .cta-lg__foot .cta-lg__checks .cta-lg__check {
  display: flex;
  align-items: center;
  gap: 4px;
  margin: 0;
}

.cta-lg .cta-lg__foot .cta-lg__checks .cta-lg__check .cta-lg__check-ico {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  line-height: 0;
}

.cta-lg .cta-lg__foot .cta-lg__checks .cta-lg__check .cta-lg__check-ico img {
  display: block;
  width: 24px;
  height: 24px;
}

.cta-lg .cta-lg__foot .cta-lg__checks .cta-lg__check .cta-lg__check-txt {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.48px;
  line-height: 2;
  color: #2e2b28;
}

@media screen and (max-width:767px) {
  .cta-lg {
    gap: 24px;
    padding: 32px 16px;
  }
  .cta-lg .cta-lg__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }
  .cta-lg .cta-lg__inner .cta-lg__title {
    align-items: center;
    gap: 20px;
  }
  .cta-lg .cta-lg__inner .cta-lg__title .cta-lg__lead {
    font-size: 20px;
    letter-spacing: 1px;
    text-align: center;
  }
  .cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill {
    display: flex;
    width: 100%;
    padding: 12px 24px 12px 72px;
  }
  .cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill .cta-lg__pill-illust {
    top: 50%;
    bottom: auto;
    left: 18px;
    transform: translateY(-50%);
  }
  .cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill .cta-lg__pill-text {
    line-height: 1.4;
  }
  .cta-lg .cta-lg__inner .cta-lg__title .cta-lg__pill .cta-lg__pill-text br {
    display: inline;
  }
  .cta-lg .cta-lg__inner .cta-lg__cta {
    align-items: stretch;
    gap: 8px;
  }
  .cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn {
    width: 100%;
  }
  .cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--reserve {
    padding: 16px 24px;
  }
  .cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--reserve .cta-lg__btn-sub {
    letter-spacing: 1.12px;
  }
  .cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--reserve .cta-lg__btn-main {
    font-size: 14px;
    letter-spacing: 1.4px;
  }
  .cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--tel .cta-lg__btn-label {
    font-size: 10px;
    letter-spacing: 0.4px;
  }
  .cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--tel .cta-lg__btn-num {
    font-size: 20px;
    letter-spacing: 0.8px;
  }
  .cta-lg .cta-lg__inner .cta-lg__cta .cta-lg__btn--tel .cta-lg__btn-note {
    font-size: 12px;
    letter-spacing: 0.48px;
    line-height: 1.6;
  }
  .cta-lg .cta-lg__foot .cta-lg__hours {
    flex-direction: column;
    gap: 20px;
    padding: 16px;
    background: #fff;
  }
  .cta-lg .cta-lg__foot .cta-lg__hours .cta-lg__hours-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .cta-lg .cta-lg__foot .cta-lg__hours .cta-lg__hours-row .cta-lg__hours-label {
    width: 100%;
    padding: 4px 16px;
    font-size: 13px;
    letter-spacing: 0.65px;
  }
  .cta-lg .cta-lg__foot .cta-lg__hours .cta-lg__hours-divider {
    display: none;
  }
  .cta-lg .cta-lg__foot .cta-lg__checks {
    gap: 8px;
  }
  .cta-lg .cta-lg__foot .cta-lg__checks .cta-lg__check .cta-lg__check-txt {
    font-size: 14px;
    letter-spacing: 0.42px;
  }
}
.cta-sm {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 48px;
  padding: 48px 40px;
  border-radius: 8px;
  background: #28a8a6;
}

.cta-sm::before,
.cta-sm::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  background: center/contain no-repeat;
}

.cta-sm::before {
  top: -60px;
  right: -140px;
  width: 647px;
  height: 619px;
  background-image: url("../img/cta-blob-tr.svg");
}

.cta-sm::after {
  bottom: -430px;
  left: -280px;
  width: 1057px;
  height: 1077px;
  background-image: url("../img/cta-blob-bl.svg");
}

.cta-sm .cta-sm__inner {
  display: flex;
  gap: 24px;
  align-items: center;
  width: 100%;
}

.cta-sm .cta-sm__inner .cta-sm__title {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 28px;
}

.cta-sm .cta-sm__inner .cta-sm__title .cta-sm__lead {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: 30px;
  letter-spacing: 1.5px;
  line-height: 1.8;
  color: #fff;
}

.cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 24px 8px 72px;
  border-radius: 100px;
  background: #fff;
}

.cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill .cta-sm__pill-illust {
  position: absolute;
  left: 14px;
  bottom: 2px;
  width: 45px;
}

.cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill .cta-sm__pill-illust img {
  display: block;
  width: 100%;
  height: auto;
}

.cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill .cta-sm__pill-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.7px;
  line-height: 1.8;
  color: #5f5a55;
  white-space: nowrap;
}

.cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill .cta-sm__pill-text br {
  display: none;
}

.cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill .cta-sm__pill-em {
  color: #28a8a6;
}

.cta-sm .cta-sm__inner .cta-sm__cta {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 340px;
  max-width: 100%;
  border-radius: 6px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn:hover {
  opacity: 0.9;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn .cta-sm__btn-ico {
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  line-height: 0;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn .cta-sm__btn-ico svg {
  display: block;
  width: 32px;
  height: 32px;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn .cta-sm__btn-body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--reserve {
  padding: 18px 24px;
  background: linear-gradient(90deg, #e8a63a 0%, #f1cc55 100%);
  color: #fff;
  pointer-events: none;
  cursor: default;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--reserve .cta-sm__btn-sub {
  font-size: 14px;
  letter-spacing: 0.56px;
  line-height: 1.4;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--reserve .cta-sm__btn-main {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.72px;
  line-height: 1.4;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--tel {
  padding: 12px 24px;
  background: #e8f7f6;
  color: #2e2b28;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--tel .cta-sm__btn-ico {
  color: #28a8a6;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--tel .cta-sm__btn-label {
  font-size: 12px;
  letter-spacing: 0.48px;
  line-height: 1.3;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--tel .cta-sm__btn-num {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.96px;
  line-height: 1.3;
}

.cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--tel .cta-sm__btn-note {
  font-size: 14px;
  letter-spacing: 0.56px;
  line-height: 1.4;
}

@media screen and (max-width:767px) {
  .cta-sm {
    gap: 48px;
    padding: 32px 16px;
  }
  .cta-sm .cta-sm__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
  }
  .cta-sm .cta-sm__inner .cta-sm__title {
    align-items: center;
    gap: 28px;
  }
  .cta-sm .cta-sm__inner .cta-sm__title .cta-sm__lead {
    font-size: 20px;
    letter-spacing: 1px;
    text-align: center;
  }
  .cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill {
    display: flex;
    width: 100%;
    padding: 12px 24px 12px 72px;
  }
  .cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill .cta-sm__pill-illust {
    top: 50%;
    bottom: auto;
    left: 18px;
    transform: translateY(-50%);
  }
  .cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill .cta-sm__pill-text {
    line-height: 1.4;
  }
  .cta-sm .cta-sm__inner .cta-sm__title .cta-sm__pill .cta-sm__pill-text br {
    display: inline;
  }
  .cta-sm .cta-sm__inner .cta-sm__cta {
    align-items: stretch;
    gap: 8px;
  }
  .cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn {
    width: 100%;
  }
  .cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--reserve {
    padding: 16px 24px;
  }
  .cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--reserve .cta-sm__btn-sub {
    letter-spacing: 1.12px;
  }
  .cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--reserve .cta-sm__btn-main {
    font-size: 14px;
    letter-spacing: 1.4px;
  }
  .cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--tel .cta-sm__btn-label {
    font-size: 10px;
    letter-spacing: 0.4px;
  }
  .cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--tel .cta-sm__btn-num {
    font-size: 20px;
    letter-spacing: 0.8px;
  }
  .cta-sm .cta-sm__inner .cta-sm__cta .cta-sm__btn--tel .cta-sm__btn-note {
    font-size: 12px;
    letter-spacing: 0.48px;
    line-height: 1.6;
  }
}
.reasons-bg {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: url("../img/reasons-bg-pc.webp") center/cover no-repeat;
}

.reasons-bg .reasons-bg__inner {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
  padding: 64px 20px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.reasons-bg .reasons-bg__inner .reasons-bg__head {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.reasons-bg .reasons-bg__inner .reasons-bg__head .reasons-bg__label {
  position: relative;
  isolation: isolate;
  align-self: flex-start;
  padding-left: 24px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 3.2px;
  line-height: 2;
  text-transform: uppercase;
  color: #28a8a6;
}

.reasons-bg .reasons-bg__inner .reasons-bg__head .reasons-bg__label::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 40px;
  height: 40px;
  border-radius: 100px;
  background: rgba(40, 168, 166, 0.15);
}

.reasons-bg .reasons-bg__inner .reasons-bg__head .reasons-bg__title {
  margin: 0;
  padding-left: 8px;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 32px;
  letter-spacing: 1.6px;
  line-height: 1.8;
  color: #2e2b28;
}

.reasons-bg .reasons-bg__inner .reasons-bg__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
}

.reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 24px;
  border-radius: 6px;
  background: #fff;
}

.reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__ico {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 104px;
  height: 104px;
  border-radius: 6px;
  background: rgba(32, 142, 140, 0.1);
}

.reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__ico img {
  display: block;
  width: 56px;
  height: 56px;
}

.reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__body .reasons-bg__item-title {
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1.2;
  color: #5f5a55;
}

.reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__body .reasons-bg__item-text {
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.4;
  color: #2e2b28;
}

@media screen and (max-width:767px) {
  .reasons-bg {
    background: url("../img/reasons-bg-sp.webp") center/cover no-repeat;
  }
  .reasons-bg .reasons-bg__inner {
    padding: 40px 20px;
    gap: 24px;
  }
  .reasons-bg .reasons-bg__inner .reasons-bg__head .reasons-bg__label {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .reasons-bg .reasons-bg__inner .reasons-bg__head .reasons-bg__title {
    font-size: 20px;
    letter-spacing: 1px;
    line-height: 1.8;
  }
  .reasons-bg .reasons-bg__inner .reasons-bg__list {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item {
    align-items: center;
    padding: 20px 12px;
  }
  .reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__ico {
    width: 64px;
    height: 64px;
  }
  .reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__ico img {
    width: 36px;
    height: 36px;
  }
  .reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__body {
    gap: 8px;
  }
  .reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__body .reasons-bg__item-title {
    font-size: 15px;
    line-height: 1;
    letter-spacing: 0.75px;
  }
  .reasons-bg .reasons-bg__inner .reasons-bg__list .reasons-bg__item .reasons-bg__body .reasons-bg__item-text {
    font-size: 14px;
    letter-spacing: 0.7px;
  }
}
.blk-features {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.blk-features .blk-features__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.blk-features .blk-features__head .blk-features__logo {
  display: block;
  width: 320px;
  height: auto;
  mix-blend-mode: multiply;
}

.blk-features .blk-features__head .blk-features__heading {
  margin: 0;
  text-align: center;
  color: #2e2b28;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  line-height: 1.6;
}

.blk-features .blk-features__content {
  width: 100%;
}

.blk-features .blk-features__content ul,
.blk-features .blk-features__content .wp-block-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.blk-features .blk-features__content ul.wp-block-list li,
.blk-features .blk-features__content ul li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 24px 32px 24px 24px;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(105, 105, 105, 0.08);
  color: #2e2b28;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.8px;
  line-height: 1.8;
}

.blk-features .blk-features__content li strong,
.blk-features .blk-features__content li b {
  color: #28a8a6;
}

.blk-features .blk-features__content ul.wp-block-list li::before,
.blk-features .blk-features__content ul li::before {
  content: "";
  position: static;
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  top: auto;
  left: auto;
  transform: none;
  border-radius: 0;
  background: url("../img/feat-ico1.svg") center/contain no-repeat;
}

.blk-features .blk-features__content ul.wp-block-list li:nth-child(3n+2)::before,
.blk-features .blk-features__content ul li:nth-child(3n+2)::before {
  background-image: url("../img/feat-ico2.svg");
}

.blk-features .blk-features__content ul.wp-block-list li:nth-child(3n)::before,
.blk-features .blk-features__content ul li:nth-child(3n)::before {
  background-image: url("../img/feat-ico3.svg");
}

@media screen and (max-width:767px) {
  .blk-features {
    gap: 20px;
  }
  .blk-features .blk-features__head .blk-features__logo {
    width: min(240px, 70%);
  }
  .blk-features .blk-features__head .blk-features__heading {
    font-size: 20px;
    letter-spacing: 1.6px;
  }
  .blk-features .blk-features__content ul,
  .blk-features .blk-features__content .wp-block-list {
    gap: 16px;
  }
  .blk-features .blk-features__content ul.wp-block-list li,
  .blk-features .blk-features__content ul li {
    padding: 16px 20px;
    font-size: 14px;
  }
  .blk-features .blk-features__content ul.wp-block-list li::before,
  .blk-features .blk-features__content ul li::before {
    width: 44px;
    height: 44px;
  }
}
.features-cta {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 40px 48px;
  border-radius: 20px;
  background: #f9f9f9;
}

.features-cta::before,
.features-cta::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  background: center/contain no-repeat;
}

.features-cta::before {
  top: -150px;
  right: -140px;
  width: 730px;
  height: 690px;
  background-image: url("../img/cta-blob-tr.svg");
}

.features-cta::after {
  bottom: -430px;
  left: -430px;
  width: 1057px;
  height: 1077px;
  background-image: url("../img/cta-blob-bl.svg");
}

.features-cta .features-cta__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.features-cta .features-cta__head .features-cta__logo {
  display: block;
  width: 320px;
  height: auto;
  mix-blend-mode: multiply;
}

.features-cta .features-cta__head .features-cta__title {
  margin: 0;
  text-align: center;
  color: #2e2b28;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 2.4px;
  line-height: 1.6;
}

.features-cta .features-cta__main {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  width: 100%;
}

.features-cta .features-cta__main .features-cta__image {
  flex: 0 0 340px;
  max-width: 340px;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: #b2b2b2;
  aspect-ratio: 340/260;
}

.features-cta .features-cta__main .features-cta__image .features-cta__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.features-cta .features-cta__main .features-cta__content {
  flex: 1 1 0;
  min-width: 0;
}

.features-cta__cta {
  display: flex;
  gap: 32px;
  align-items: stretch;
  width: 100%;
}

.features-cta__cta .features-cta__btn {
  display: flex;
  flex: 1 1 0;
  min-width: 0;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: 6px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.features-cta__cta .features-cta__btn:hover {
  opacity: 0.9;
}

.features-cta__cta .features-cta__btn .features-cta__btn-ico {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  line-height: 0;
}

.features-cta__cta .features-cta__btn .features-cta__btn-ico svg {
  display: block;
  width: 44px;
  height: 44px;
}

.features-cta__cta .features-cta__btn .features-cta__btn-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;
}

.features-cta__cta .features-cta__btn--reserve {
  padding: 16px 24px;
  background: linear-gradient(90deg, #e8a63a 0%, #f1cc55 100%);
  color: #fff;
  pointer-events: none;
  cursor: default;
}

.features-cta__cta .features-cta__btn .features-cta__btn-body .features-cta__btn-sub {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1.12px;
  line-height: 1.4;
}

.features-cta__cta .features-cta__btn .features-cta__btn-body .features-cta__btn-main {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 2px;
  line-height: 1.3;
  white-space: nowrap;
}

.features-cta__cta .features-cta__btn--tel {
  padding: 12px 24px;
  background: #e8f7f6;
  color: #2e2b28;
}

.features-cta__cta .features-cta__btn--tel .features-cta__btn-ico {
  color: #28a8a6;
}

.features-cta__cta .features-cta__btn .features-cta__btn-body .features-cta__btn-label {
  font-size: 14px;
  letter-spacing: 0.56px;
  line-height: 1.6;
}

.features-cta__cta .features-cta__btn .features-cta__btn-body .features-cta__btn-num {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.8px;
  line-height: 1.4;
}

.features-cta__cta .features-cta__btn .features-cta__btn-body .features-cta__btn-note {
  font-size: 14px;
  letter-spacing: 0.56px;
  line-height: 1.6;
}

.features-cta .features-cta__cta .features-cta__btn .features-cta__btn-body .features-cta__btn-note {
  font-size: 10px;
}

@media screen and (max-width:767px) {
  .features-cta {
    gap: 20px;
    padding: 32px 20px;
    border-radius: 16px;
  }
  .features-cta .features-cta__head .features-cta__logo {
    width: min(240px, 70%);
  }
  .features-cta .features-cta__head .features-cta__title {
    font-size: 20px;
    letter-spacing: 1.6px;
  }
  .features-cta .features-cta__main {
    flex-direction: column;
    gap: 16px;
  }
  .features-cta .features-cta__main .features-cta__image {
    flex: none;
    max-width: none;
    width: 100%;
    aspect-ratio: 340/240;
  }
  .features-cta__cta {
    flex-direction: column;
    gap: 12px;
  }
  .features-cta__cta .features-cta__btn .features-cta__btn-body .features-cta__btn-main {
    font-size: 18px;
    letter-spacing: 1.4px;
  }
  .features-cta__cta .features-cta__btn .features-cta__btn-body .features-cta__btn-num {
    font-size: 18px;
  }
}
.sp-flex,
.sp-block,
.sp-inline {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .sp-hide {
    display: none !important;
  }
  .sp-flex {
    display: flex !important;
  }
  .sp-block {
    display: block !important;
  }
  .sp-inline {
    display: inline !important;
  }
}
.pc-hide {
  display: none;
}
@media screen and (max-width: 767px) {
  .pc-hide {
    display: block;
  }
}
/*# sourceMappingURL=style.css.map */
