@charset "UTF-8";
:root {
  --color-primary: #3b95a2;
  --color-primary-dark: #375a5f;
  --color-primary-soft: #f1f8f9;
  --color-accent: #d4c4a8;
  --color-accent-soft: #fffbf5;
  --color-alert: #dcc9a8;
  --color-alert-soft: #fffbf5;
  --color-muted: #666666;
  --color-muted-soft: #f7fbfc;
  --color-success: #5a9ea6;
  --color-success-soft: #f1f8f9;
  --color-bg: #ffffff;
  --color-bg-soft: #f7fbfc;
  --color-border: #d8d8d8;
  --color-text: #333333;
  --color-text-light: #ffffff;
  --font-base: "Noto Sans JP", sans-serif;
  --font-serif: "Noto Serif JP", serif;
  --font-en: "Cormorant", serif;
  --radius: 0px;
  --radius-sm: 4px;
  --radius-lg: 6px;
  --shadow: 0 4px 20px rgba(0, 0, 0, 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;
}

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

html {
  font-size: 16px;
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  min-height: 100vh;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
  overflow-wrap: anywhere;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
  line-height: 1.45;
}

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

img {
  display: block;
  width: 100%;
  max-width: 100%;
}

img:not([alt]) {
  filter: blur(10px);
}

svg,
video {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width:768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.site-header,
.site-footer {
  background: var(--color-bg-soft);
  border-color: var(--color-border);
}

.site-header {
  border-bottom: 1px solid var(--color-border);
}

.site-footer {
  border-top: 1px solid var(--color-border);
}

.site-header__inner,
.site-footer__inner {
  width: min(100% - 32px, 960px);
  margin-inline: auto;
  padding-block: var(--space-5);
}

.site-header__title {
  color: var(--color-text);
  font-weight: 700;
  text-decoration: none;
}

.page-content,
.single-content {
  width: min(100% - 120px, 860px);
  margin-inline: auto;
  padding-bottom: 100px;
  background-color: #fff;
}

.page-content__title,
.single-content__title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  min-height: 280px;
  margin: 0 0 0 calc(50% - 50vw);
  padding: 48px 60px;
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  text-align: center;
  letter-spacing: 0.04em;
  background-color: #fff;
  background-image: url("../images/kasou_main-title-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.page-content__body > *,
.single-content__body > * {
  margin: 30px 0;
}
.page-content__body p,
.single-content__body p {
  font-size: 16px;
  line-height: 2;
  color: #333;
}

.inner-content > *:not(.has-small-font-size),
.wp-block-column > *:not(.has-small-font-size) {
  margin-top: 30px;
}

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

@media screen and (max-width:768px) {
  .page-content,
  .single-content {
    width: min(100% - 32px, 860px);
    padding-bottom: 80px;
  }
  .page-content__title,
  .single-content__title {
    min-height: 200px;
    padding: 132px 16px 36px;
    font-size: 24px;
  }
}
.access-map-link-wrap {
  margin: 8px 0 0;
  text-align: right;
}

.access-map-link {
  color: #375A5F;
  text-decoration: underline;
}

.footer__access .access-map-link {
  color: #fff;
}

.header__logo-address-line--h1 {
  display: inline;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

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

.page-map iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 400/150;
}
@media screen and (max-width:375px) {
  .page-map iframe {
    aspect-ratio: 400/300;
  }
}

.header {
  position: sticky;
  top: 0;
  z-index: 1101;
  width: 100%;
  padding: 20px 60px;
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: none;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.header.is-scrolled {
  background-color: #fff;
  box-shadow: 0 1px 8px rgba(55, 90, 95, 0.08);
}

.mv-area,
.lower-mv-area {
  margin-top: calc(-1 * var(--header-h, 117px));
}

.mv-area {
  padding-top: var(--header-h, 117px);
}

.header__inner {
  width: 100%;
}

.header__content {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  width: 100%;
  column-gap: 40px;
  align-items: stretch;
}

.header__top {
  grid-column: 1/-1;
  grid-row: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.header__tel {
  flex-shrink: 0;
}

.header__tel-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #375A5F;
  text-decoration: none;
  line-height: 1.2;
}

.header__tel-icon {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
}

.header__tel-body {
  display: flex;
  flex-direction: column;
}

.header__tel-num {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.header__tel-hours {
  font-size: 10px;
  font-weight: 300;
  color: #333;
}

.header__logo-address {
  font-size: 10px;
  font-weight: 300;
  line-height: 1.4;
  padding: 0 10px;
  color: #000;
  white-space: nowrap;
}

.header__logo {
  grid-column: 1;
  grid-row: 2;
}

.header__logo-link {
  display: block;
  line-height: 0;
}

.header__logo-image {
  width: 320px;
  height: 53px;
  object-fit: contain;
}

.header__logo-image--sp {
  display: none;
}

.header__hamburger {
  display: none;
}

.drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1200;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  overflow-y: auto;
}

.drawer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.drawer__inner {
  position: relative;
  min-height: 100%;
  padding-bottom: 80px;
}

.drawer__deco {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 220px;
  height: auto;
  max-width: none;
  pointer-events: none;
}

.drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #c9a86c;
}

.drawer__logo {
  display: block;
  line-height: 0;
}

.drawer__logo-img {
  display: block;
  width: 157px;
  height: auto;
  max-width: none;
}

.drawer__close {
  position: relative;
  width: 28px;
  height: 28px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

.drawer__close-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 1.5px;
  background-color: #333;
  transform: translate(-50%, -50%) rotate(45deg);
}

.drawer__close-icon::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #333;
  transform: rotate(90deg);
}

.drawer__nav {
  padding: 0;
}

.drawer__list {
  display: block;
}

.drawer__item {
  border-bottom: 1px solid #e5e5e5;
}

.drawer__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 18px 20px;
  font-size: 15px;
  color: #333;
  background: transparent;
  border: none;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}

.drawer__link-text {
  flex: 1;
}

.drawer__icon {
  position: relative;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
}

.drawer__icon--arrow {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #333;
  border-bottom: 1.5px solid #333;
  transform: rotate(-45deg);
}

.drawer__icon--plus::before,
.drawer__icon--plus::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #333;
  transform: translate(-50%, -50%);
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.drawer__icon--plus::before {
  width: 12px;
  height: 1.5px;
}

.drawer__icon--plus::after {
  width: 1.5px;
  height: 12px;
}

.drawer__item--accordion.is-open .drawer__icon--plus::after {
  transform: translate(-50%, -50%) scaleY(0);
  opacity: 0;
}

.drawer__sublist {
  overflow: hidden;
  height: 0;
  padding: 0 20px;
  background-color: #fff;
  transition: height 0.35s ease;
}

.drawer__item--accordion.is-open .drawer__sublist {
  padding-bottom: 12px;
}

.drawer__subitem {
  border-bottom: 1px solid #f0f0f0;
}

.drawer__subitem:last-child {
  border-bottom: none;
}

.drawer__sublink {
  display: block;
  padding: 12px 0 12px 8px;
  font-size: 13px;
  color: #555;
}

body.is-drawer-open {
  overflow: hidden;
}

.header__nav {
  grid-column: 2;
  grid-row: 2;
  justify-self: end;
  display: flex;
  align-items: stretch;
  align-self: stretch;
}

.header__nav-list {
  display: flex;
  align-items: stretch;
  height: 100%;
}

.header--lower .header__nav-list {
  padding-top: 48px;
}

.header__nav-item {
  display: flex;
  align-items: stretch;
  margin-right: 20px;
}

.header__nav-item:last-child {
  margin-right: 0;
}

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

.header:not(.header--lower) .header__nav-item--menu {
  margin-top: -20px;
  margin-bottom: -20px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.header__nav-item--menu:hover,
.header__nav-item--menu:focus-within {
  z-index: 1102;
}

.header__nav-item--menu:hover .header__menu-list,
.header__nav-item--menu:focus-within .header__menu-list {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  clip-path: inset(0);
  transform: translateX(-50%) translateY(0);
  overflow-y: auto;
}

.header__nav-item--insta {
  margin-right: 0;
}

.header__nav-link {
  display: flex;
  align-items: center;
  height: 100%;
  font-size: 16px;
  color: #333;
  white-space: nowrap;
}

.header__nav-link-text {
  color: #375A5F;
  font-weight: 500;
}

.header__nav-arrow {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 6px;
  border-right: 1.5px solid #375A5F;
  border-bottom: 1.5px solid #375A5F;
  transform: rotate(45deg);
  flex-shrink: 0;
}

.header__nav-link--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.header-inst-icon {
  width: 20px;
  height: 20px;
  max-width: none;
  object-fit: contain;
}

.header__menu-list {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  min-width: max(100%, 320px);
  max-height: min(70vh, 520px);
  overflow: hidden;
  padding: 10px 0;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  clip-path: inset(0 0 100% 0);
  transform: translateX(-50%) translateY(-8px);
  transform-origin: top center;
  transition: opacity 0.28s ease, visibility 0.28s ease, transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), clip-path 0.28s cubic-bezier(0.22, 1, 0.36, 1);
  z-index: 1000;
}

.header__menu-item {
  margin: 0;
}

.header__menu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 20px;
  font-size: 14px;
  color: #333;
  white-space: nowrap;
}

.header__menu-arrow {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid #333;
  border-bottom: 1.5px solid #333;
  transform: rotate(-45deg);
  flex-shrink: 0;
}

.header__menu-link:hover {
  background-color: #f5f5f5;
  opacity: 1;
}

@media screen and (max-width:1200px) {
  .header__nav {
    display: none;
  }
  .header__tel {
    display: none;
  }
  .header__hamburger {
    grid-column: 2;
    grid-row: 1/span 2;
    align-self: center;
    justify-self: end;
    position: relative;
    z-index: 1101;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 28px;
    height: 28px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
  }
  .header__hamburger-line {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #375a5f;
    transition: transform 0.35s ease, opacity 0.35s ease;
  }
  .header__hamburger.is-active .header__hamburger-line:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  .header__hamburger.is-active .header__hamburger-line:nth-child(2) {
    opacity: 0;
  }
  .header__hamburger.is-active .header__hamburger-line:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
}
@media screen and (max-width:768px) {
  .header {
    position: sticky;
    top: 0;
    left: auto;
    width: 100%;
    padding: 12px 16px 16px;
    background-color: rgba(255, 255, 255, 0.1);
  }
  .header:not(.header--lower) {
    top: calc(-1 * var(--header-address-h, 0px));
  }
  .header__content {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 12px;
    row-gap: 10px;
    align-items: center;
  }
  .header__top {
    display: block;
    margin-bottom: 0;
  }
  .header__logo-address {
    margin-bottom: 0;
    padding: 0;
    font-size: 10px;
    line-height: 1.5;
    color: #666;
    white-space: normal;
  }
  .header__logo-address-sep {
    display: none;
  }
  .header__logo-address-line {
    display: block;
  }
  .header__logo-address-line--addr {
    display: none;
  }
  .header__logo {
    grid-column: 1;
    grid-row: 2;
  }
  .header__logo-image--pc {
    display: none;
  }
  .header__logo-image--sp {
    display: block;
    width: 157px;
    height: auto;
  }
  .header__hamburger {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    justify-self: end;
    z-index: 1101;
  }
}
.footer {
  position: relative;
  overflow: hidden;
  padding: 7.5rem max(16px, min(125px, (100vw - 1150px) / 2)) 7.5rem;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #375A5F;
  background-image: linear-gradient(rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0.35)), linear-gradient(39.2deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
}

.footer__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: 1150px;
  margin: 0 auto;
}

.footer__pattern {
  position: absolute;
  z-index: 0;
  width: 30.3125rem;
  height: 13.3125rem;
  pointer-events: none;
  background-image: url("../images/footer-ashirai.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.footer__pattern--top {
  top: 0;
  left: 0;
  transform: rotate(180deg);
}

.footer__pattern--bottom {
  right: 0;
  bottom: 0;
}

.footer__access {
  margin-bottom: 3.75rem;
}

.footer__access-logo {
  margin: 0 0 3.75rem;
  font-weight: 300;
  text-align: center;
}

.footer__access-logo-img {
  display: block;
  width: 19.9375rem;
  height: 3.375rem;
  margin: 0 auto;
  object-fit: contain;
}

.footer__access-content {
  display: grid;
  grid-template-columns: 35rem minmax(0, 1fr);
  gap: 4.1875rem;
  align-items: start;
  margin-bottom: 2.5rem;
}

.footer__access-left,
.footer__access-right {
  min-width: 0;
}

.footer__access-left {
  width: 35rem;
  max-width: 100%;
}

.footer__access-list {
  display: grid;
  grid-template-columns: 8.3125rem 1fr;
  column-gap: 0.875rem;
  row-gap: 1.25rem;
  align-items: center;
  margin: 0;
  padding: 0;
}

.footer__access-row {
  display: contents;
}

.footer__access-term {
  margin: 0;
}

.footer__access-term-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3125rem;
  box-sizing: border-box;
  width: 8.3125rem;
  height: 2.125rem;
  min-height: 2.125rem;
  padding: 0.5rem;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #375A5F;
  text-align: center;
  white-space: nowrap;
  background-color: #f5f5f5;
  border: 1px solid #375A5F;
  border-radius: 0.25rem;
}

.footer__access-term-star {
  flex-shrink: 0;
  width: 0.75rem;
  height: 0.75rem;
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.footer__access-row--access .footer__access-term-label {
  font-size: 12px;
}

.footer__access-description {
  min-width: 0;
  margin: 0;
  font-size: 14px;
  font-weight: 300;
  line-height: 22px;
  color: #f5f5f5;
}

.footer__access-br-sp {
  display: none;
}

.footer__legal-item--column {
  display: none;
}

.footer__access-right .top-access__map {
  width: 100%;
  max-width: 32.6875rem;
}

.footer__access-right .top-access__map-img {
  aspect-ratio: 523/501;
  object-fit: cover;
}

.footer__cta {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
}

.footer__cta-btn {
  position: relative;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  box-sizing: border-box;
  width: 17.21875rem;
  max-width: 100%;
  height: 3.65375rem;
  padding: 0.5625rem 0.6875rem;
  text-decoration: none;
  border-radius: 0.1875rem;
  box-shadow: 0.0625rem 0.0625rem 0.125rem rgba(0, 0, 0, 0.25);
  transition: opacity 0.2s;
}

.footer__cta-btn:hover {
  opacity: 0.88;
}

.footer__cta-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(130deg, #333 0%, #393939 4%, #4b4b4b 9%, #696969 16%, #939393 23%, #c7c7c7 30%, #fff 37%, #b2b2b2 49%, #6d6d6d 60%, #434343 67%, #333 72%, #fff 100%);
  opacity: 0.25;
}

.footer__cta-btn--reserve {
  background: linear-gradient(89deg, #6ce5e6 18%, #5eb3b3 81%);
}

.footer__cta-btn--line {
  justify-content: flex-start;
  gap: 0.5625rem;
  padding-left: 21px;
  background-color: #06c755;
}

.footer__cta-btn--line::after {
  opacity: 0.2;
}

.footer__cta-icon {
  position: relative;
  z-index: 2;
  display: block;
  flex-shrink: 0;
  width: 1.5625rem;
  height: 1.6875rem;
  max-width: none;
  object-fit: contain;
}

.footer__cta-icon--line {
  width: 2.125rem;
  height: 2.125rem;
}

.footer__cta-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1875rem;
  min-width: 0;
}

.footer__cta-note {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.0625rem;
  color: #f5f5f5;
  letter-spacing: 0.1em;
  text-shadow: 0.0625rem 0.0625rem 0.125rem rgba(0, 0, 0, 0.25);
}

.footer__cta-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.375;
  color: #f5f5f5;
  text-align: center;
  white-space: nowrap;
  text-shadow: 0.0625rem 0.0625rem 0.125rem rgba(0, 0, 0, 0.25);
}

.footer__main {
  display: grid;
  grid-template-columns: 21.0625rem 12.5rem minmax(0, 1fr);
  gap: 0;
  margin-bottom: 3.75rem;
}

.footer__brand {
  display: flex;
  flex-direction: column;
  width: 19.1875rem;
  max-width: 100%;
}

.footer__brand-logo {
  display: block;
  width: 19.1875rem;
  max-width: 100%;
  margin-bottom: 1.875rem;
  line-height: 0;
}

.footer__brand-logo-img {
  display: block;
  width: 19.1875rem;
  max-width: 100%;
  height: 3.25rem;
  object-fit: contain;
  object-position: left center;
}

.footer__brand-address {
  margin: 0 0 0.5rem;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.33;
  color: #fff;
}

.footer__banner-link {
  display: block;
  width: 19.1875rem;
  max-width: 100%;
  line-height: 0;
}

.footer__banner-img {
  display: block;
  width: 19.1875rem;
  max-width: 100%;
  height: 4.4375rem;
  object-fit: contain;
}

.footer__tel {
  width: 19.1875rem;
  max-width: 100%;
  margin-top: 1rem;
}

.footer__tel-link {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  text-decoration: none;
  line-height: 1.3;
}

.footer__tel-icon {
  width: 34px;
  height: 34px;
  flex-shrink: 0;
}

.footer__tel-body {
  display: flex;
  flex-direction: column;
}

.footer__tel-num {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.footer__tel-hours {
  font-size: 11px;
  font-weight: 300;
}

.footer__nav {
  width: 12.5rem;
}

.footer__nav-list {
  margin: 0;
  padding: 0;
}

.footer__nav-item {
  margin: 0 0 1.375rem;
  line-height: 1;
}

.footer__nav-item:last-child {
  margin-bottom: 0;
}

.footer__nav-link {
  display: block;
  height: 0.875rem;
  font-size: 14px;
  font-weight: 500;
  line-height: 0.875rem;
  color: #fff;
  white-space: nowrap;
}

.footer__nav-link:hover,
.footer__menu-link:hover,
.footer__legal-link:hover {
  opacity: 0.75;
}

.footer__menu {
  min-width: 0;
  padding-left: 0rem;
}

.footer__menu-title {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1875rem;
}

.footer__menu-title .footer__nav-link {
  height: auto;
  font-weight: 500;
  line-height: 1.1875rem;
}

.footer__menu-star {
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
  background-color: #fff;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.footer__menu-line {
  width: 100%;
  height: 1px;
  margin: 0.5rem 0 1.25rem;
  background-color: #eed199;
}

.footer__menu-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2.875rem;
}

.footer__menu-list {
  margin: 0;
  padding: 0;
}

.footer__menu-item {
  margin: 0 0 1.375rem;
  line-height: 1;
}

.footer__menu-item:last-child {
  margin-bottom: 0;
}

.footer__menu-link {
  display: block;
  height: 0.875rem;
  font-size: 14px;
  font-weight: 300;
  line-height: 0.875rem;
  color: #fff;
}

.footer__guideline {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
  box-sizing: border-box;
  width: 100%;
  height: 10.375rem;
  margin-bottom: 3.75rem;
  padding: 1.75rem 1.875rem;
  color: #333;
  background-color: #ececec;
  border: 1px solid #eed199;
}

.footer__guideline-title {
  flex: 0 0 12.9375rem;
  width: 12.9375rem;
  margin: 0;
  font-size: 12px;
  font-weight: 500;
  line-height: 1rem;
  color: #333;
}

.footer__guideline-texts {
  flex: 1;
  min-width: 0;
}

.footer__guideline-text {
  margin: 0;
  font-size: 12px;
  font-weight: 300;
  line-height: 22px;
  color: #333;
}

.footer__guideline-text:first-child {
  margin-bottom: 1.375rem;
}

.footer__guideline-text:last-of-type {
  margin-bottom: 0;
}

.footer__guideline-text-link {
  display: block;
  font-size: 12px;
  line-height: 22px;
  color: #333;
  text-decoration: underline;
}

.footer__guideline-text-link:hover {
  text-decoration: none;
}

.footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  line-height: 1;
}

.footer__copyright {
  margin: 0;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.1875rem;
  color: #fff;
}

.footer__legal {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  margin: 0;
  padding: 0;
  line-height: 1;
}

.footer__legal-item {
  margin: 0;
}

.footer__legal-link {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.1875rem;
  color: #fff;
}

@media screen and (max-width: 1000px) {
  .footer {
    padding: 3.125rem 1rem 3.125rem;
  }
  .footer__inner {
    display: flex;
    flex-direction: column;
  }
  .footer__pattern--top {
    top: 0;
    left: 0;
    width: 230px;
    height: 101px;
  }
  .footer__pattern--bottom {
    right: 0;
    bottom: 0;
    width: 230px;
    height: 101px;
  }
  .footer__access {
    margin-bottom: 1.5rem;
  }
  .footer__access-logo {
    margin-bottom: 1.5625rem;
  }
  .footer__access-logo-img {
    width: 16.5rem;
    height: 2.8125rem;
  }
  .footer__access-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.75rem;
    margin-bottom: 0;
  }
  .footer__access-left {
    width: 100%;
  }
  .footer .top-access__schedule {
    width: 100%;
    max-width: 100%;
    height: 8.4375rem;
    margin-bottom: 1.375rem;
    padding: 1.5625rem 1rem;
  }
  .footer .top-access__schedule-table-grid {
    font-size: 10px;
  }
  .footer .top-access__schedule-table-row {
    grid-template-columns: 5.375rem repeat(8, minmax(0, 1fr));
  }
  .footer .top-access__schedule-table-cell--label {
    padding-left: 0.625rem;
  }
  .footer .top-access__schedule-table-star {
    width: 0.5rem;
    height: 0.5rem;
  }
  .footer__access-list {
    display: block;
  }
  .footer__access-row {
    display: flex;
    gap: 1.875rem;
    align-items: flex-start;
    margin-bottom: 0.875rem;
  }
  .footer__access-row:last-child {
    margin-bottom: 0;
  }
  .footer__access-term {
    flex: 0 0 5.625rem;
    width: 5.625rem;
    padding-top: 0.25rem;
  }
  .footer__access-row--access {
    gap: 0.625rem;
    align-items: flex-start;
  }
  .footer__access-row--access .footer__access-term {
    flex: 0 0 6.875rem;
    width: 6.875rem;
    padding-top: 0;
  }
  .footer__access-term-label {
    width: 100%;
    height: 1.75rem;
    min-height: 1.75rem;
    padding: 0.375rem 0.25rem;
    font-size: 12px;
    border-radius: 0.125rem;
  }
  .footer__access-row--access .footer__access-term-label {
    font-size: 10px;
  }
  .footer__access-term-star {
    width: 0.625rem;
    height: 0.625rem;
  }
  .footer__access-description {
    flex: 1;
    font-size: 12px;
    line-height: 1.54;
  }
  .footer__access-br-sp {
    display: block;
  }
  .footer__access-right .top-access__map {
    max-width: 100%;
  }
  .footer__access-right .top-access__map-img {
    aspect-ratio: 343/328;
  }
  .footer__cta {
    display: none;
  }
  .footer__main,
  .footer__bottom {
    display: contents;
  }
  .footer__nav {
    order: 2;
    width: 100%;
    margin-bottom: 2.25rem;
  }
  .footer__nav-item {
    margin-bottom: 1.125rem;
  }
  .footer__nav-item--column {
    display: none;
  }
  .footer__nav-link {
    height: auto;
    font-size: 12px;
    line-height: 1.4;
    white-space: normal;
  }
  .footer__menu {
    order: 3;
    width: 100%;
    margin-bottom: 2.25rem;
  }
  .footer__menu-title {
    font-size: 13px;
  }
  .footer__menu-star {
    width: 0.75rem;
    height: 0.75rem;
  }
  .footer__menu-line {
    max-width: 16.625rem;
    margin: 0.25rem 0 1rem;
  }
  .footer__menu-columns {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .footer__menu-list {
    padding-left: 0.75rem;
  }
  .footer__menu-item {
    margin-bottom: 1.125rem;
  }
  .footer__menu-link {
    height: auto;
    font-size: 12px;
    line-height: 1.4;
  }
  .footer__legal {
    order: 4;
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
    margin-bottom: 2.5rem;
  }
  .footer__legal-item--column {
    display: list-item;
  }
  .footer__legal-link {
    font-size: 12px;
  }
  .footer__brand {
    order: 5;
    align-items: center;
    width: 100%;
    margin-bottom: 1.5rem;
    text-align: center;
  }
  .footer__brand-logo {
    display: none;
  }
  .footer__tel-link {
    justify-content: center;
  }
  .footer__brand-address {
    width: 15.9375rem;
    margin: 0 0 0.625rem;
    font-size: 12px;
    line-height: 1.17;
    text-align: center;
  }
  .footer__banner-link,
  .footer__banner-img {
    width: 239px;
    height: 55px;
    margin: 0 auto;
  }
  .footer__guideline {
    order: 6;
    flex-direction: column;
    gap: 1.625rem;
    align-items: center;
    height: auto;
    min-height: 0;
    margin-bottom: 1.5625rem;
    padding: 1.4375rem 1.5625rem;
    text-align: center;
  }
  .footer__guideline-title {
    flex: none;
    width: auto;
    font-size: 13px;
    line-height: 1.4;
  }
  .footer__guideline-text,
  .footer__guideline-text-link {
    font-size: 12px;
    line-height: 1.4;
  }
  .footer__copyright {
    order: 7;
    width: 100%;
    font-size: 12px;
    text-align: center;
  }
}
@media screen and (max-width:768px) {
  .footer {
    padding: calc(50 / 375 * 100vw) calc(16 / 375 * 100vw) calc(50 / 375 * 100vw);
  }
  .footer .top-access__schedule {
    height: calc(135 / 375 * 100vw);
    margin-bottom: calc(22 / 375 * 100vw);
    padding: calc(25 / 375 * 100vw) calc(16 / 375 * 100vw);
  }
  .footer .top-access__schedule-table-grid {
    font-size: calc(10 / 375 * 100vw);
  }
  .footer .top-access__schedule-table-note {
    font-size: calc(10 / 375 * 100vw);
  }
  .footer .top-access__schedule-table-row {
    grid-template-columns: calc(86 / 375 * 100vw) repeat(8, minmax(0, 1fr));
  }
  .footer .top-access__schedule-table-star {
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
  }
  .footer__access-logo-img {
    width: calc(264 / 375 * 100vw);
    height: calc(45 / 375 * 100vw);
  }
  .footer__access-term {
    flex: 0 0 calc(90 / 375 * 100vw);
    width: calc(90 / 375 * 100vw);
  }
  .footer__access-row--access .footer__access-term {
    flex: 0 0 calc(110 / 375 * 100vw);
    width: calc(110 / 375 * 100vw);
  }
  .footer__access-term-label {
    min-height: calc(28 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }
  .footer__access-row--access .footer__access-term-label {
    font-size: calc(10 / 375 * 100vw);
  }
  .footer__access-description {
    font-size: calc(12 / 375 * 100vw);
  }
  .footer__nav-link,
  .footer__menu-link,
  .footer__legal-link,
  .footer__copyright {
    height: auto;
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.4;
  }
  .footer__brand-address {
    width: calc(255 / 375 * 100vw);
  }
  .footer__banner-link,
  .footer__banner-img {
    width: calc(239 / 375 * 100vw);
    height: calc(55 / 375 * 100vw);
  }
}
.mv-area {
  position: relative;
  z-index: 0;
  container-type: inline-size;
  overflow: hidden;
  background-color: #fff;
  background-image: linear-gradient(119.21deg, rgba(255, 255, 255, 0.15) 0.37%, rgba(55, 90, 95, 0.15) 100%);
}

.mv-area::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/mv-hero-bg.webp");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  opacity: 0.2;
  pointer-events: none;
}

.mv-area::after {
  content: "";
  position: absolute;
  left: -36.8571428571cqw;
  top: -8.0714285714cqw;
  width: 69.6428571429cqw;
  height: 36cqw;
  background-image: url("../images/mv-flare.webp");
  background-size: 106.6% 117.84%;
  background-position: 96.7% 70.6%;
  background-repeat: no-repeat;
  mix-blend-mode: screen;
  pointer-events: none;
}

.mv {
  position: relative;
  z-index: 1;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  overflow-wrap: normal;
  word-break: keep-all;
}

.mv__stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1400/709;
  overflow: hidden;
}

.mv__band {
  position: absolute;
  left: 0;
  top: 20.7857142857cqw;
  z-index: 1;
  width: 79.9285714286cqw;
  height: 23.5714285714cqw;
  background-image: linear-gradient(11.74deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
}

.mv__doctor {
  position: absolute;
  left: 53.3571428571cqw;
  top: 0.1428571429cqw;
  z-index: 2;
  width: 47cqw;
  height: 50.5cqw;
}

.mv__doctor-img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: top center;
}

.mv__doctor-name {
  position: absolute;
  left: 79.2142857143cqw;
  top: 26cqw;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2857142857cqw;
  width: 13.3571428571cqw;
  color: #333;
  font-weight: 700;
}

.mv__doctor-clinic {
  display: block;
  font-size: 0.8385714286cqw;
  line-height: 1.1180714286cqw;
}

.mv__doctor-name-row {
  display: flex;
  align-items: baseline;
  gap: 0.6992857143cqw;
  white-space: nowrap;
}

.mv__doctor-title {
  font-size: 1.3976428571cqw;
}

.mv__doctor-fullname {
  font-size: 2.2362142857cqw;
}

.mv__award {
  position: absolute;
  left: 47.4285714286cqw;
  top: 22.5714285714cqw;
  z-index: 5;
  width: 7.2857142857cqw;
  height: 10.2857142857cqw;
}

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

.mv__badges {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.mv-badge {
  position: absolute;
  top: 31.6428571429cqw;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 12.9145714286cqw;
  height: 12.9145714286cqw;
  border-radius: 50%;
  background-image: linear-gradient(137.53deg, #eed199 14.75%, #fbf9e0 45.64%, #dcaa48 86.93%);
  filter: drop-shadow(0 0.2795cqw 0.1397857143cqw rgba(0, 0, 0, 0.25));
  color: #333;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}

.mv-badge--invisalign {
  left: 52.6428571429cqw;
  justify-content: center;
  gap: 0.5714285714cqw;
  padding: 2.4285714286cqw 0.8571428571cqw 2.5cqw;
}

.mv-badge--invisalign .mv-badge__sub {
  font-size: 1.2857142857cqw;
}

.mv-badge--invisalign .mv-badge__main {
  font-size: 2.2857142857cqw;
}

.mv-badge--invisalign .mv-badge__note {
  font-size: 1.0714285714cqw;
}

.mv-badge--access {
  left: 66.1285714286cqw;
  justify-content: center;
  padding: 2.8571428571cqw 0.3571428571cqw 2.4285714286cqw;
}

.mv-badge--access .mv-badge__sub {
  font-size: 2.1428571429cqw;
  line-height: 1.2;
}

.mv-badge--access .mv-badge__main {
  display: flex;
  align-items: baseline;
  justify-content: center;
  line-height: 1;
}

.mv-badge__walk {
  font-size: 2.5cqw;
  letter-spacing: -0.1571428571cqw;
}

.mv-badge__num {
  margin: 0 -0.0714285714cqw;
  font-size: 5.4507142857cqw;
}

.mv-badge__unit {
  font-size: 2.5cqw;
}

.mv-badge--hours {
  left: 79.6428571429cqw;
  justify-content: center;
  gap: 0.2857142857cqw;
  padding: 2.2857142857cqw 1cqw;
}

.mv-badge__row {
  line-height: 1.2;
}

.mv-badge__row--main {
  letter-spacing: -0.1828571429cqw;
}

.mv-badge__sm {
  font-size: 1.0714285714cqw;
}

.mv-badge__lg {
  font-size: 1.4285714286cqw;
}

.mv-badge__lg2 {
  font-size: 1.7142857143cqw;
}

.mv-badge__xl {
  font-size: 2.2857142857cqw;
}

.mv__mark {
  position: absolute;
  color: #333;
  font-size: 0.7142857143cqw;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.mv__mark--invisalign {
  left: 63.4285714286cqw;
  top: 35.8571428571cqw;
}

.mv__mark--hours {
  left: 90cqw;
  top: 39.5cqw;
}

.mv__notes {
  position: absolute;
  left: 52.6428571429cqw;
  right: 1.4285714286cqw;
  bottom: 0.5714285714cqw;
  top: auto;
  z-index: 4;
  max-width: 45.7142857143cqw;
  margin: 0;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.mv__note {
  display: block;
  font-size: 0.7142857143cqw;
  line-height: 0.8571428571cqw;
}

.mv__copy {
  position: absolute;
  left: 4.2857142857cqw;
  top: 3.2857142857cqw;
  z-index: 4;
}

.mv-catch {
  color: #000;
  font-weight: 700;
  white-space: nowrap;
}

.mv-catch__line {
  display: block;
  height: 6.0097857143cqw;
  line-height: 6.0097857143cqw;
}

.mv-catch__line:first-child {
  height: 5.7385714286cqw;
}

.mv-catch__lg {
  font-size: 3.2857142857cqw;
  letter-spacing: 0.1642857143cqw;
}

.mv-catch__lg--tight {
  letter-spacing: -0.1642857143cqw;
}

.mv-catch__md {
  font-size: 3.3191428571cqw;
  letter-spacing: 0.1659571429cqw;
}

.mv-catch__l {
  font-size: 4.1428571429cqw;
}

.mv-catch__l--tight {
  letter-spacing: -0.2485714286cqw;
}

.mv-catch__xl {
  color: #375A5F;
  font-size: 3.8571428571cqw;
  letter-spacing: 0.1928571429cqw;
}

.mv-catch__xxl {
  color: #375A5F;
  font-size: 4.5714285714cqw;
  letter-spacing: 0.2285714286cqw;
}

.mv-catch__lead {
  margin-top: 0.8571428571cqw;
  color: #375A5F;
  font-size: 1.9285714286cqw;
  font-weight: 700;
  line-height: normal;
  white-space: nowrap;
}

.mv-points {
  display: flex;
  flex-direction: column;
  gap: 1.4285714286cqw;
  margin-top: 3.9285714286cqw;
}

.mv-point__bar {
  position: relative;
  height: 2.5cqw;
  color: #375A5F;
  font-weight: 700;
  line-height: 1;
}

.mv-point__bar::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  clip-path: polygon(3.435% 0, 100% 0, 96.565% 100%, 0 100%);
}

.mv-point__bar-text {
  position: absolute;
  display: flex;
  align-items: baseline;
  white-space: nowrap;
}

.mv-point--01 .mv-point__bar {
  width: 21.1428571429cqw;
}

.mv-point--01 .mv-point__bar-text {
  left: 1.1428571429cqw;
  bottom: 0.1428571429cqw;
  gap: 0.2142857143cqw;
}

.mv-point--02 .mv-point__bar,
.mv-point--03 .mv-point__bar {
  width: 30.4285714286cqw;
}

.mv-point--02 .mv-point__bar-text {
  left: 1.2142857143cqw;
  top: 50%;
  transform: translateY(-50%);
}

.mv-point--03 .mv-point__bar-text {
  left: 1.2578571429cqw;
  top: 0.6428571429cqw;
}

.mv-point__s {
  font-size: 1.2857142857cqw;
}

.mv-point__xs {
  font-size: 1.1428571429cqw;
}

.mv-point__num {
  color: #635233;
  font-size: 2.0145cqw;
}

.mv-point__num--sm {
  font-size: 1.5714285714cqw;
}

.mv-point__note {
  display: flex;
  align-items: center;
  width: fit-content;
  height: 3.1446428571cqw;
  margin-left: 1.1180714286cqw;
  padding: 0.8385714286cqw 0.5590714286cqw 0.5590714286cqw 0.8385714286cqw;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  color: #fff;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.mv-point--01 .mv-point__note {
  gap: 0.2857142857cqw;
}

.mv-point--02 .mv-point__note {
  gap: 0.3571428571cqw;
  width: 36.7575cqw;
}

.mv-point--03 .mv-point__note {
  gap: 0.3571428571cqw;
}

.mv-point__note-s {
  font-size: 1.2857142857cqw;
}

.mv-point__note-m {
  font-size: 1.5cqw;
}

.mv-point__note-l {
  font-size: 1.7142857143cqw;
}

.mv-point__note-l--tight {
  letter-spacing: -0.0857142857cqw;
}

.mv-point__note-xs {
  font-size: 1.1428571429cqw;
}

.mv-point--01 .mv-point__note-mark {
  font-size: 0.7371428571cqw;
}

.mv-point--02 .mv-point__note-mark {
  font-size: 0.9675cqw;
}

.mv-news {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  max-width: 48.7142857143cqw;
  background-color: #fff;
  border-radius: 0.2857142857cqw;
}

.mv-news__link {
  display: flex;
  align-items: center;
  gap: 1.0714285714cqw;
  height: 3.7857142857cqw;
  padding: 0 1.7142857143cqw 0 2cqw;
  color: #333;
}

.mv-news__meta {
  display: flex;
  align-items: center;
  gap: 1.0714285714cqw;
  flex-shrink: 0;
}

.mv-news__date {
  flex-shrink: 0;
  color: #777;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 1.1428571429cqw;
  font-weight: 700;
}

.mv-news__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 8.0714285714cqw;
  height: 1.7857142857cqw;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.9285714286cqw;
  font-weight: 500;
  line-height: 1;
  background: linear-gradient(9.21deg, #375a5f 27.5%, #3b95a2 45.57%, #375a5f 103.03%);
  border-radius: 0.3571428571cqw;
}

.mv-news__title {
  overflow: hidden;
  color: #333;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 1.1428571429cqw;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.2142857143cqw;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mv-side-btns {
  --mv-side-btns-top: max(196px, var(--header-h, 117px));
  --mv-side-btns-max-h: calc(100vh - var(--mv-side-btns-top) - 8px);
  --mv-side-btns-max-h: calc(100dvh - var(--mv-side-btns-top) - 8px);
  --mv-cta-w: min(
    max(52px, calc(80 / 1400 * 100vw)),
    80px,
    calc(var(--mv-side-btns-max-h) * 0.1277955272)
  );
  position: fixed;
  top: var(--mv-side-btns-top);
  right: 0;
  z-index: 1201;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mv-side-btn {
  position: relative;
  display: block;
  width: var(--mv-cta-w);
  overflow: hidden;
}

.mv-side-btn--reserve {
  height: calc(var(--mv-cta-w) * 3.7125);
  background-image: linear-gradient(-87.14deg, #36a6a7 50.42%, #57e4e5 92.7%);
  border-radius: calc(var(--mv-cta-w) * 0.05) 0 0 calc(var(--mv-cta-w) * 0.05);
}

.mv-side-btn--line {
  height: calc(var(--mv-cta-w) * 4.1125);
  background-color: #06c755;
  border-radius: calc(var(--mv-cta-w) * 0.05) 0 calc(var(--mv-cta-w) * 0.05) calc(var(--mv-cta-w) * 0.05);
}

.mv-side-btn__deco {
  position: absolute;
  left: calc(var(--mv-cta-w) * -0.038475);
  width: calc(var(--mv-cta-w) * 1.0641);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
}

.mv-side-btn--reserve .mv-side-btn__deco {
  top: calc(var(--mv-cta-w) * -0.3125);
  height: calc(var(--mv-cta-w) * 4.6125);
  background-image: url("../images/mv-cta-deco-reserve.svg");
}

.mv-side-btn--line .mv-side-btn__deco {
  top: calc(var(--mv-cta-w) * -0.346175);
  height: calc(var(--mv-cta-w) * 5.109475);
  background-image: url("../images/mv-cta-deco-line.svg");
}

.mv-side-btn__body {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.mv-side-btn--reserve .mv-side-btn__body {
  gap: calc(var(--mv-cta-w) * 0.15);
  padding-top: calc(var(--mv-cta-w) * 0.1875);
}

.mv-side-btn--line .mv-side-btn__body {
  gap: calc(var(--mv-cta-w) * 0.125);
  padding-top: calc(var(--mv-cta-w) * 0.2);
}

.mv-side-btn__icon {
  width: calc(var(--mv-cta-w) * 0.3625);
  height: calc(var(--mv-cta-w) * 0.4);
  max-width: none;
  object-fit: contain;
}

.mv-side-btn__icon--line {
  width: calc(var(--mv-cta-w) * 0.5875);
  height: calc(var(--mv-cta-w) * 0.5875);
}

.mv-side-btn__labels {
  display: flex;
  align-items: center;
  gap: calc(var(--mv-cta-w) * 0.05);
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
}

.mv-side-btn__main,
.mv-side-btn__sub-text {
  writing-mode: vertical-rl;
  text-orientation: upright;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

.mv-side-btn__main {
  font-size: calc(var(--mv-cta-w) * 0.2);
  line-height: 1;
}

.mv-side-btn__sub {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--mv-cta-w) * 0.1);
  color: #fff;
  font-size: calc(var(--mv-cta-w) * 0.15);
}

.mv-side-btn__sub::before,
.mv-side-btn__sub::after {
  content: "";
  flex-shrink: 0;
  width: 1px;
  height: 1em;
  background-color: currentColor;
}

.mv-side-btn__sub-text {
  font-size: 1em;
  line-height: 1;
  letter-spacing: calc(var(--mv-cta-w) * 0.05);
  white-space: nowrap;
}

.mv-side-btn__sub-last {
  letter-spacing: 0;
}

.mv__sp,
.mv-sp-btns {
  display: none;
}

@media screen and (max-width:768px) {
  .mv-area {
    overflow: visible;
    background-color: #fff;
    background-image: none;
    padding-top: 0;
  }
  .mv-area::before,
  .mv-area::after {
    display: none;
  }
  .mv__stage {
    display: none;
  }
  .mv__sp {
    display: block;
  }
  .mv-side-btns {
    display: none;
  }
  .mv-sp-btns {
    display: flex;
    align-items: stretch;
    gap: 0;
    width: 100%;
    margin: 0;
  }
  .mv-sp-btns--inline {
    display: none;
  }
  .mv-sp-btns--follow {
    position: fixed;
    left: 0;
    right: 0;
    bottom: env(safe-area-inset-bottom, 0px);
    z-index: 1102;
    display: flex;
    width: 100%;
    overflow: hidden;
  }
  body:has(.mv-sp-btns--follow) {
    padding-bottom: calc(18.1102362205vw + env(safe-area-inset-bottom, 0px));
  }
  .mv-sp-btn {
    flex: 1 1 33.333%;
    min-width: 0;
    display: block;
    line-height: 0;
  }
  .mv-sp-btn__img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
  }
}
.mv-banner {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  padding-top: calc(40 / 1400 * min(100vw, 1440px));
  background-color: transparent;
  border-top: calc(6 / 1400 * min(100vw, 1440px)) solid rgba(238, 209, 153, 0.5);
}

.mv-banner__viewport {
  overflow: hidden;
}

.mv-banner__pagination {
  display: none;
}

@keyframes mv-banner-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.mv-banner__track {
  display: flex;
  flex-wrap: nowrap;
  gap: calc(80 / 1400 * min(100vw, 1440px));
  width: max-content;
  animation: mv-banner-scroll 40s linear infinite;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .mv-banner__track {
    animation: none;
  }
}
.mv-banner__item {
  flex-shrink: 0;
  width: calc(360 / 1400 * min(100vw, 1440px));
  height: calc(450 / 1400 * min(100vw, 1440px));
  background-color: #d9d9d9;
}

.mv-banner__item.--sp-peek {
  display: none;
}

.mv-banners {
  display: flex;
  justify-content: center;
  gap: 40px;
  padding: calc(40 / 1400 * min(100vw, 1440px)) 0;
  border-top: calc(6 / 1400 * min(100vw, 1440px)) solid rgba(238, 209, 153, 0.5);
}

.mv-banners__item {
  display: block;
  width: calc(360 / 1400 * min(100vw, 1440px));
  max-width: 360px;
}

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

@media screen and (max-width:768px) {
  .mv-banners {
    gap: 4vw;
    padding: calc(30 / 375 * 100vw) 4vw calc(26 / 375 * 100vw);
  }
  .mv-banners__item {
    flex: 1 1 0;
    width: auto;
    max-width: none;
    min-width: 0;
  }
}
@media screen and (max-width:768px) {
  .mv-banner {
    padding: calc(30 / 375 * 100vw) 0 calc(26 / 375 * 100vw);
    background-color: #fff;
    border-top: none;
  }
  .mv-banner__viewport {
    width: 100%;
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .mv-banner__viewport::-webkit-scrollbar {
    display: none;
  }
  .mv-banner__track {
    gap: calc(20 / 375 * 100vw);
    animation: none;
    will-change: auto;
  }
  .mv-banner__item {
    width: calc(200 / 375 * 100vw);
    height: calc(250 / 375 * 100vw);
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }
  .mv-banner__item.--sp-peek {
    display: block;
  }
  .mv-banner__item.--pc-clone {
    display: none;
  }
  .mv-banner__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(6 / 375 * 100vw);
    margin-top: calc(12 / 375 * 100vw);
  }
  .mv-banner__dot {
    box-sizing: border-box;
    width: calc(4 / 375 * 100vw);
    height: calc(4 / 375 * 100vw);
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: #d1e4e4;
    appearance: none;
    cursor: pointer;
  }
  .mv-banner__dot.is-active {
    background-color: var(--color-primary);
  }
}
.mv-sp {
  position: relative;
  z-index: 0;
  overflow: hidden;
  width: 100%;
  min-height: calc(100cqw * 622 / 375);
  background-color: #fff;
  background-image: linear-gradient(99.4deg, rgba(255, 255, 255, 0.15) 0.37%, rgba(55, 90, 95, 0.15) 100%);
  color: #333;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  overflow-wrap: normal;
  word-break: keep-all;
}

.mv-sp::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url("../images/mv-hero-bg.webp");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  opacity: 0.2;
  pointer-events: none;
}

.mv-sp__band {
  position: absolute;
  left: 0;
  top: 71.2cqw;
  z-index: 1;
  width: 100%;
  height: 42.1333333333cqw;
  background-image: linear-gradient(16.53deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
}

.mv-sp__flare {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100.5333333333cqw;
  height: 104.2666666667cqw;
  background-image: url("../images/mv-flare.webp");
  background-size: 275.7% 151.9%;
  background-position: 87.28% 86.96%;
  background-repeat: no-repeat;
  mix-blend-mode: screen;
  pointer-events: none;
}

.mv-sp__doctor {
  position: absolute;
  left: 40.2666666667cqw;
  top: 25.6cqw;
  z-index: 3;
  width: 59.7333333333cqw;
  height: 87.7333333333cqw;
}

.mv-sp__doctor-img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: fill;
}

.mv-sp__copy {
  position: absolute;
  left: 5.3333333333cqw;
  top: 27.7333333333cqw;
  z-index: 4;
}

.mv-sp-catch {
  height: 29.3333333333cqw;
  color: #000;
  font-weight: 700;
  white-space: nowrap;
}

.mv-sp-catch__line {
  display: block;
  height: 9.7778666667cqw;
  line-height: 9.7778666667cqw;
}

.mv-sp-catch__line--2 {
  height: 9.4994666667cqw;
}

.mv-sp-catch__line--3 {
  height: 8.5109333333cqw;
  line-height: 8.5109333333cqw;
}

.mv-sp-catch__md {
  font-size: 4.6530666667cqw;
  letter-spacing: 0.2326666667cqw;
}

.mv-sp-catch__md--tight {
  letter-spacing: -0.2326666667cqw;
}

.mv-sp-catch__md2 {
  font-size: 4.7005333333cqw;
  letter-spacing: 0.2350133333cqw;
}

.mv-sp-catch__l {
  font-size: 5.8669333333cqw;
}

.mv-sp-catch__l--tight {
  letter-spacing: -0.3520266667cqw;
}

.mv-sp-catch__lg {
  color: #375A5F;
  font-size: 5.4624cqw;
  letter-spacing: 0.27312cqw;
}

.mv-sp-catch__xl {
  color: #375A5F;
  font-size: 6.4738666667cqw;
  letter-spacing: 0.3237066667cqw;
}

.mv-sp-lead {
  margin-top: 1.0666666667cqw;
  color: #375A5F;
  font-weight: 700;
  white-space: nowrap;
}

.mv-sp-lead__row {
  display: block;
  font-size: 2.9333333333cqw;
  line-height: normal;
}

.mv-sp-lead__lg {
  font-size: 4cqw;
}

.mv-sp-points {
  position: absolute;
  left: 5.3333333333cqw;
  top: 73.6cqw;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 2.532cqw;
}

.mv-sp-point__bar {
  position: relative;
  height: 5.3333333333cqw;
  color: #375A5F;
  font-weight: 700;
  line-height: 1;
}

.mv-sp-point__bar::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: #fff;
  clip-path: polygon(3.435% 0, 100% 0, 96.565% 100%, 0 100%);
}

.mv-sp-point__bar-text {
  position: absolute;
  display: flex;
  align-items: baseline;
  white-space: nowrap;
}

.mv-sp-point--01 .mv-sp-point__bar {
  width: 42.4cqw;
}

.mv-sp-point--02 .mv-sp-point__bar {
  width: 62.1333333333cqw;
}

.mv-sp-point--03 .mv-sp-point__bar {
  width: 57.3333333333cqw;
}

.mv-sp-point--01 .mv-sp-point__bar-text {
  left: 2.024cqw;
  bottom: 0.3546666667cqw;
  gap: 0.3797333333cqw;
}

.mv-sp-point--02 .mv-sp-point__bar-text {
  left: 2.152cqw;
  top: 50%;
  transform: translateY(-50%);
}

.mv-sp-point--03 .mv-sp-point__bar-text {
  left: 2.2293333333cqw;
  top: 50%;
  transform: translateY(-50%);
}

.mv-sp-point__s {
  font-size: 2.6666666667cqw;
}

.mv-sp-point__num {
  color: #635233;
  font-size: 4.2666666667cqw;
}

.mv-sp-point__num--sm {
  font-size: 3.2cqw;
}

.mv-sp-point__note {
  display: flex;
  align-items: center;
  width: fit-content;
  height: 5.5736cqw;
  margin-left: 1.9816cqw;
  padding: 1.4861333333cqw 0.9909333333cqw 0.9909333333cqw 1.4861333333cqw;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  color: #fff;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.mv-sp-point--01 .mv-sp-point__note {
  gap: 0.5064cqw;
}

.mv-sp-point--02 .mv-sp-point__note,
.mv-sp-point--03 .mv-sp-point__note {
  gap: 0.6330666667cqw;
}

.mv-sp-point__note-s {
  font-size: 2.6666666667cqw;
}

.mv-sp-point__note-m {
  font-size: 2.6586666667cqw;
}

.mv-sp-point__note-l {
  font-size: 3.0384cqw;
}

.mv-sp-point__note-l--tight {
  letter-spacing: -0.15192cqw;
}

.mv-sp-point--01 .mv-sp-point__note-mark {
  font-size: 1.3064cqw;
}

.mv-sp-point--02 .mv-sp-point__note-mark {
  font-size: 1.7146666667cqw;
}

.mv-sp-points--mask {
  z-index: 5;
  mask-image: url("../images/sp-mv-doctor.webp");
  -webkit-mask-image: url("../images/sp-mv-doctor.webp");
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: 59.7333333333cqw 87.7333333333cqw;
  -webkit-mask-size: 59.7333333333cqw 87.7333333333cqw;
  mask-position: 34.9333333333cqw -48cqw;
  -webkit-mask-position: 34.9333333333cqw -48cqw;
  pointer-events: none;
}

.mv-sp-points--mask .mv-sp-point__bar {
  visibility: hidden;
}

.mv-sp-points--mask .mv-sp-point__note {
  border-left-color: #375A5F;
  border-bottom-color: #375A5F;
  color: #375A5F;
}

.mv-sp__award {
  position: absolute;
  left: 53.8666666667cqw;
  top: 49.6cqw;
  z-index: 6;
  width: 14.1333333333cqw;
  height: 20cqw;
}

.mv-sp__award-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mv-sp__doctor-name {
  position: absolute;
  left: 76cqw;
  top: 97.8666666667cqw;
  z-index: 6;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.4594666667cqw;
  width: 21.4810666667cqw;
  color: #333;
  font-weight: 500;
  filter: drop-shadow(0 0 1.5px #fff);
  white-space: nowrap;
}

.mv-sp__doctor-clinic {
  display: block;
  font-size: 2.6666666667cqw;
  line-height: 2.9333333333cqw;
}

.mv-sp__doctor-name-row {
  display: flex;
  align-items: baseline;
  gap: 0.2853333333cqw;
}

.mv-sp__doctor-title {
  font-size: 2.6666666667cqw;
}

.mv-sp__doctor-fullname {
  font-size: 3.5962666667cqw;
}

.mv-sp__badges {
  position: absolute;
  inset: 0;
  z-index: 7;
  pointer-events: none;
}

.mv-sp-badge {
  position: absolute;
  top: 115.2cqw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 31.6837333333cqw;
  height: 31.6837333333cqw;
  border-radius: 50%;
  background-image: linear-gradient(137.53deg, #eed199 14.75%, #fbf9e0 45.64%, #dcaa48 86.93%);
  filter: drop-shadow(0 0.6858666667cqw 0.3429333333cqw rgba(0, 0, 0, 0.25));
  color: #333;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  white-space: nowrap;
}

.mv-sp-badge--invisalign {
  left: 1.0666666667cqw;
  gap: 1.4018666667cqw;
  padding: 5.9581333333cqw 2.1029333333cqw 6.1333333333cqw;
}

.mv-sp-badge--invisalign .mv-sp-badge__sub {
  font-size: 3.2cqw;
}

.mv-sp-badge--invisalign .mv-sp-badge__main {
  font-size: 5.6077333333cqw;
}

.mv-sp-badge--invisalign .mv-sp-badge__note {
  font-size: 2.6666666667cqw;
}

.mv-sp-badge--access {
  left: 34.152cqw;
  padding: 0;
}

.mv-sp-badge--access .mv-sp-badge__sub {
  position: absolute;
  left: 5.1349333333cqw;
  top: 7.1162666667cqw;
  font-size: 5.2570666667cqw;
  line-height: 1;
}

.mv-sp-badge--access .mv-sp-badge__main {
  position: absolute;
  left: 0.8762666667cqw;
  top: 11.6522666667cqw;
  width: 29.9656cqw;
  font-size: 0;
  line-height: 1;
}

.mv-sp-badge__walk {
  font-size: 6.1333333333cqw;
  letter-spacing: -0.368cqw;
}

.mv-sp-badge__num {
  font-size: 13.3725333333cqw;
  letter-spacing: -1.1726666667cqw;
}

.mv-sp-badge__unit {
  font-size: 6.1333333333cqw;
  letter-spacing: -1.1726666667cqw;
}

.mv-sp-badge--hours {
  left: 67.3066666667cqw;
  gap: 0.7010666667cqw;
  padding: 5.6077333333cqw 2.4533333333cqw;
}

.mv-sp-badge--hours .mv-sp-badge__row {
  font-size: 0;
}

.mv-sp-badge__row--main {
  letter-spacing: -0.4486133333cqw;
}

.mv-sp-badge__s {
  font-size: 3.2cqw;
}

.mv-sp-badge__m {
  font-size: 3.5048cqw;
}

.mv-sp-badge__l {
  font-size: 4.2056cqw;
}

.mv-sp-badge__xl {
  font-size: 5.6077333333cqw;
}

.mv-sp__mark {
  position: absolute;
  z-index: 8;
  color: #333;
  font-size: 2.1333333333cqw;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.mv-sp__mark--invisalign {
  left: 27.528cqw;
  top: 125.5386666667cqw;
}

.mv-sp__mark--hours {
  left: 94.1333333333cqw;
  top: 133.8666666667cqw;
}

.mv-sp__notes {
  position: relative;
  z-index: 7;
  box-sizing: border-box;
  width: 100%;
  margin: 148.5333333333cqw 0 0;
  padding: 0 5.3333333333cqw 2.6666666667cqw;
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  overflow-wrap: anywhere;
  word-break: normal;
}

.mv-sp__note {
  display: block;
  font-size: 2.6666666667cqw;
  line-height: 3.7333333333cqw;
}

@media screen and (max-width:768px) {
  .mv-sp-bottom {
    position: static;
    display: block;
    width: 100%;
    margin: 0;
  }
  .mv-news {
    position: static;
    width: 100%;
    max-width: none;
    margin: 0;
    background-color: #fff;
    border-radius: 1.0666666667cqw;
    box-shadow: none;
  }
  .mv-news__link {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 1.1066666667cqw;
    height: 16cqw;
    padding: 2.1333333333cqw 5.3333333333cqw 0;
  }
  .mv-news__meta {
    display: flex;
    align-items: center;
    gap: 5.7552cqw;
  }
  .mv-news__date {
    font-size: 3.5445333333cqw;
  }
  .mv-news__cat {
    width: 25.1074666667cqw;
    height: 5.6122666667cqw;
    padding: 0;
    font-size: 2.9538666667cqw;
    font-weight: 700;
    border-radius: 1.1816cqw;
  }
  .mv-news__title {
    width: 100%;
    font-size: 3.5445333333cqw;
    text-decoration: none;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}
.top-access-area {
  position: relative;
  background-color: #f7fafb;
  background-image: url("../images/top-acces-bg.webp");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: cover;
  overflow: visible;
}

.top-access__watermark {
  position: absolute;
  top: 50%;
  right: 0;
  bottom: auto;
  z-index: 0;
  margin: 0;
  color: #375A5F;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 112px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 5.6px;
  white-space: nowrap;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  pointer-events: none;
  user-select: none;
  opacity: 0.08;
  transform: translateY(-50%) rotate(180deg);
  transform-origin: center;
}

.top-access {
  position: relative;
  padding: 80px max(16px, min(60px, (100vw - 1150px) / 2)) 80px;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #f7fafb;
  background-image: url("../images/top-acces-bg.webp");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: cover;
  overflow: hidden;
}

.top-access-area .top-access {
  background-color: transparent;
  background-image: none;
  overflow: visible;
}

.top-access__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: 1150px;
  margin: 0 auto;
}

.top-access__title {
  margin-bottom: 12px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  text-align: center;
  letter-spacing: 0.04em;
}

.top-access__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 60px;
}

.top-access__title-star {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-access__title-line {
  display: block;
  width: 140px;
  height: 1px;
  background-color: #375A5F;
}

.top-access__logo {
  margin: 0 0 60px;
  font-weight: 300;
  text-align: center;
}

.top-access__logo-img {
  display: block;
  width: 319px;
  height: 53px;
  margin: 0 auto;
  object-fit: contain;
}

.top-access__content {
  display: grid;
  grid-template-columns: 560px minmax(0, 1fr);
  gap: 67px;
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.top-access__left,
.top-access__right {
  min-width: 0;
}

.top-access__left {
  width: 560px;
  max-width: 100%;
}

.top-access__schedule {
  box-sizing: border-box;
  width: 560px;
  max-width: 100%;
  height: auto;
  margin-bottom: 53px;
  padding: 40px 27px;
  overflow: hidden;
  background-color: #fff;
  border: 0.61px solid #937333;
  border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.top-access__schedule-table-grid {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;
  font-size: 16px;
  font-weight: 500;
  line-height: 18.71px;
  color: #375A5F;
}

.top-access__schedule-table-note {
  margin-top: 6px;
  font-size: 12px;
  line-height: 1.4;
  color: inherit;
}

.top-access__schedule-table-row {
  display: grid;
  grid-template-columns: 152px repeat(8, minmax(0, 1fr));
  align-items: flex-start;
  box-sizing: border-box;
  min-height: 0;
}
.top-access__schedule-table-row:not(:last-child) {
  background: linear-gradient(to right, #937333 23%, #7B5712 61%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 0.61px;
}
.top-access__schedule-table-row:not(.top-access__schedule-table-row--head) .top-access__schedule-table-cell:not(.top-access__schedule-table-cell--time) {
  font-weight: 700;
}

.top-access__schedule-table-row--head {
  height: 33.71px;
  padding-bottom: 15px;
}

.top-access__schedule-table-row--head + .top-access__schedule-table-row {
  height: 68.71px;
  padding: 23px 0 27px;
}

.top-access__schedule-table-row:last-child {
  height: 35.71px;
  padding: 17px 0 0;
}

.top-access__schedule-table-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 18.71px;
  padding: 0;
  line-height: 18.71px;
  text-align: center;
}
.top-access__schedule-table-cell--label {
  justify-content: flex-start;
  padding-left: 16px;
  text-align: left;
  white-space: nowrap;
}
.top-access__schedule-table-cell--time {
  justify-content: flex-start;
  padding-left: 6px;
  text-align: left;
  white-space: nowrap;
}

.top-access__schedule-table-label {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

.top-access__schedule-table-star {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-access__list {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 20px;
  align-items: center;
  margin: 0;
  padding: 0;
}

.top-access__row {
  display: contents;
}

.top-access__term {
  width: 133px;
  max-width: 133px;
  margin: 0;
  padding-bottom: 26px;
}

.top-access__term-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  box-sizing: border-box;
  width: 133px;
  max-width: 133px;
  height: 34px;
  min-height: 34px;
  padding: 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #375A5F;
  text-align: center;
  white-space: nowrap;
  background-color: #fff;
  border: 1px solid #375A5F;
  border-radius: 4px;
}

.top-access__term-star {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-access__description {
  min-width: 0;
  margin: 0;
  padding-bottom: 26px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.8;
  color: #333;
  overflow-wrap: anywhere;
}

.top-access__br-sp {
  display: none;
}

.top-access__map {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border-radius: 4px;
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.25);
  overflow: hidden;
}

.top-access__map-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width:768px) {
  .top-access-area {
    overflow-x: clip;
    overflow-y: visible;
  }
  .top-access__br-sp {
    display: block;
  }
  .top-access__watermark {
    display: block;
    top: calc(0 / 375 * 100vw);
    left: calc(278 / 375 * 100vw);
    right: auto;
    bottom: auto;
    width: calc(116 / 375 * 100vw);
    height: calc(286 / 375 * 100vw);
    font-size: calc(80 / 375 * 100vw);
    font-weight: 400;
    line-height: normal;
    letter-spacing: calc(4 / 375 * 100vw);
    text-align: center;
    text-transform: none;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    transform-origin: center;
  }
  .top-access {
    padding: calc(50 / 375 * 100vw) calc(16 / 375 * 100vw) calc(30 / 375 * 100vw);
    overflow: visible;
  }
  .top-access__inner {
    max-width: 100%;
  }
  .top-access__title {
    margin-bottom: calc(10 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
  }
  .top-access__title-deco {
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .top-access__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-access__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .top-access__logo {
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .top-access__logo-img {
    width: calc(263 / 375 * 100vw);
    height: calc(44 / 375 * 100vw);
  }
  .top-access__content {
    grid-template-columns: minmax(0, 1fr);
    gap: calc(24 / 375 * 100vw);
    min-width: 0;
  }
  .top-access__schedule {
    box-sizing: border-box;
    width: calc(343 / 375 * 100vw);
    max-width: 100%;
    height: auto;
    min-height: 0;
    margin-bottom: calc(22 / 375 * 100vw);
    padding: calc(24 / 375 * 100vw) calc(16 / 375 * 100vw);
    overflow: visible;
    border-width: 0.61px;
    border-radius: calc(2 / 375 * 100vw);
    box-shadow: 0 calc(2 / 375 * 100vw) calc(8 / 375 * 100vw) rgba(0, 0, 0, 0.1);
  }
  .top-access__schedule-table-grid {
    display: flex;
    flex-direction: column;
    height: calc(86.35 / 375 * 100vw);
    min-height: 0;
    font-size: calc(10 / 375 * 100vw);
  }
  .top-access__schedule-table-note {
    margin-top: calc(6 / 375 * 100vw);
    font-size: calc(10 / 375 * 100vw);
  }
  .top-access__schedule-table-row {
    grid-template-columns: calc(93 / 375 * 100vw) repeat(8, minmax(0, 1fr));
    align-items: flex-start;
    box-sizing: border-box;
  }
  .top-access__schedule-table-row--head {
    height: calc(20.46 / 375 * 100vw);
    padding-bottom: calc(9 / 375 * 100vw);
  }
  .top-access__schedule-table-row--head + .top-access__schedule-table-row {
    height: calc(41.46 / 375 * 100vw);
    padding: calc(14 / 375 * 100vw) 0 calc(16 / 375 * 100vw);
  }
  .top-access__schedule-table-row:last-child {
    height: calc(24.43 / 375 * 100vw);
    padding: calc(10 / 375 * 100vw) 0 0;
  }
  .top-access__schedule-table-cell {
    height: calc(11.46 / 375 * 100vw);
    min-height: 0;
    padding: 0;
    align-items: center;
    line-height: calc(11.46 / 375 * 100vw);
  }
  .top-access__schedule-table-cell--label {
    padding-left: calc(10 / 375 * 100vw);
  }
  .top-access__schedule-table-cell--time {
    padding-left: calc(4 / 375 * 100vw);
  }
  .top-access__schedule-table-label {
    gap: calc(5 / 375 * 100vw);
  }
  .top-access__schedule-table-star {
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
  }
  .top-access__list {
    display: block;
  }
  .top-access__row {
    display: flex;
    flex-direction: row;
    gap: calc(30 / 375 * 100vw);
    align-items: center;
    padding-bottom: calc(12 / 375 * 100vw);
  }
  .top-access__term {
    flex: 0 0 calc(90 / 375 * 100vw);
    width: calc(90 / 375 * 100vw);
    padding-bottom: 0;
  }
  .top-access__row--access {
    gap: calc(10 / 375 * 100vw);
  }
  .top-access__row--access .top-access__term {
    flex: 0 0 calc(110 / 375 * 100vw);
    width: calc(110 / 375 * 100vw);
  }
  .top-access__term-label {
    gap: calc(4 / 375 * 100vw);
    width: 100%;
    max-width: 133px;
    height: calc(28 / 375 * 100vw);
    min-height: calc(28 / 375 * 100vw);
    padding: calc(4 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.2;
    white-space: nowrap;
    border-radius: calc(4 / 375 * 100vw);
  }
  .top-access__row--access .top-access__term-label {
    padding: calc(5 / 375 * 100vw);
    font-size: calc(10 / 375 * 100vw);
    line-height: 1.4;
  }
  .top-access__term-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-access__description {
    flex: 1;
    min-width: 0;
    padding-bottom: 0;
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.6;
  }
  .top-access__row--access .top-access__description {
    font-size: calc(12 / 375 * 100vw);
  }
  .top-access__right {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  .top-access__map {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .top-access__map-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 343/328;
    object-fit: cover;
  }
}
.top-about {
  position: relative;
  z-index: 0;
  container-type: inline-size;
  min-height: calc(1819 / 1400 * 100cqw);
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  background-image: url("../images/top-about-bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%;
  overflow: hidden;
}

.top-about__slant {
  position: absolute;
  top: calc(952 / 1400 * 100cqw);
  left: 0;
  z-index: 3;
  width: 100%;
  height: calc(922 / 1400 * 100cqw);
  background: url("../images/top-about-union.svg") no-repeat center top/100% 100%;
  pointer-events: none;
}

.top-about__watermark {
  position: absolute;
  top: calc(-40 / 1400 * 100cqw);
  left: calc(980 / 1400 * 100cqw);
  z-index: 1;
  width: calc(342 / 1400 * 100cqw);
  margin: 0;
  color: #375A5F;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(112 / 1400 * 100cqw);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: calc(5.6 / 1400 * 100cqw);
  text-align: center;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  opacity: 0.08;
}

.top-about__inner {
  position: static;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: calc(120 / 1400 * 100cqw) calc(80 / 1400 * 100cqw) 0;
  margin: 0 auto;
}

.top-about__header {
  position: relative;
  z-index: 6;
  margin-bottom: calc(36 / 1400 * 100cqw);
  text-align: center;
}

.top-about__title {
  margin-bottom: calc(12 / 1400 * 100cqw);
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1400 * 100cqw);
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  text-align: center;
  letter-spacing: 0.04em;
}

.top-about__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-about__title-star {
  flex-shrink: 0;
  width: calc(12 / 1400 * 100cqw);
  height: calc(12 / 1400 * 100cqw);
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-about__title-line {
  display: block;
  width: calc(140 / 1400 * 100cqw);
  height: 1px;
  background-color: #375A5F;
}

.top-about__block {
  margin-bottom: calc(194 / 1400 * 100cqw);
}

.top-about__block:last-child {
  margin-bottom: 0;
}

.top-about__block--01 {
  position: static;
  min-height: calc(648 / 1400 * 100cqw);
  overflow: visible;
}

.top-about__block--02 {
  position: static;
  min-height: calc(655 / 1400 * 100cqw);
  overflow: visible;
  padding-top: calc(20 / 1400 * 100cqw);
  padding-bottom: calc(7 / 1400 * 100cqw);
}

.top-about__block--01 .top-about__visual {
  position: absolute;
  top: calc(243 / 1400 * 100cqw);
  left: calc(-2 / 1400 * 100cqw);
  z-index: 7;
  width: calc(652 / 1400 * 100cqw);
  height: calc(822 / 1400 * 100cqw);
  margin: 0;
  overflow: hidden;
  border-radius: calc(2 / 1400 * 100cqw);
}

.top-about__block--02 .top-about__visual {
  position: absolute;
  bottom: 0;
  left: calc(843 / 1400 * 100cqw);
  z-index: 7;
  width: calc(683 / 1400 * 100cqw);
  height: calc(820 / 1400 * 100cqw);
  margin: 0;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, transparent 0, #000 calc(18 / 1400 * 100cqw), #000 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 calc(18 / 1400 * 100cqw), #000 100%);
}

.top-about__block--02 .top-about__panel {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: calc(800 / 1400 * 100cqw);
  min-height: calc(655 / 1400 * 100cqw);
  max-width: calc(100% - 240 / 1400 * 100cqw);
  margin-right: auto;
  margin-left: 0;
  background-color: #fff;
}

.top-about__block--02 .top-about__visual-img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center top;
}

.top-about__visual-img {
  display: block;
  width: calc(652 / 1400 * 100cqw);
  height: calc(822 / 1400 * 100cqw);
  max-width: 100%;
  object-fit: cover;
  object-position: left bottom;
}

.top-about__block--01 .top-about__visual-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left bottom;
}

.top-about__visual--pc {
  overflow: hidden;
}

.top-about__block--01 .top-about__panel {
  position: relative;
  z-index: auto;
  box-sizing: border-box;
  width: calc(758 / 1400 * 100cqw);
  min-height: calc(648 / 1400 * 100cqw);
  max-width: calc(100% - 240 / 1400 * 100cqw);
  padding-right: calc(45 / 1400 * 100cqw);
  padding-left: calc(45 / 1400 * 100cqw);
  margin-left: auto;
  margin-right: 0;
  overflow: visible;
  background-color: transparent;
  box-shadow: none;
}

.top-about__block--01 .top-about__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  background-color: #fff;
  box-shadow: 0 4px 16px rgba(55, 90, 95, 0.12);
  pointer-events: none;
}

.top-about__sp-card {
  position: relative;
  z-index: 6;
}

.top-about__block--01 .top-about__sp-card {
  z-index: auto;
}

.top-about__sp-visual {
  display: none;
}

.top-about__sp-card--02 {
  position: relative;
  z-index: 6;
}

.top-about__sp-visual--02 {
  display: none;
}

.top-about__panel {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding: calc(64 / 1400 * 100cqw);
  font-weight: 300;
  background-color: #fff;
  box-shadow: 0 4px 16px rgba(55, 90, 95, 0.12);
}

.top-about__block--01 .top-about__body {
  position: relative;
  z-index: 5;
  font-size: calc(16 / 1400 * 100cqw);
  line-height: calc(30 / 1400 * 100cqw);
}

.top-about__block--01 .top-about__features {
  position: relative;
  z-index: 5;
}

.top-about__body {
  font-size: calc(16 / 1400 * 100cqw);
  font-weight: 300;
  color: #375A5F;
}

.top-about__body p {
  margin: 0;
}

.top-about__block--01 .top-about__body p:first-child {
  margin-bottom: calc(30 / 1400 * 100cqw);
}

.top-about__block--01 .top-about__body p:nth-child(2) {
  margin-bottom: calc(30 / 1400 * 100cqw);
}

.top-about__features {
  padding: calc(24 / 1400 * 100cqw) calc(30 / 1400 * 100cqw) calc(16 / 1400 * 100cqw) calc(30 / 1400 * 100cqw);
  background: linear-gradient(14.72deg, #375a5f 27.5%, #3b95a2 45.57%, #375a5f 103.03%);
  box-shadow: 0 4px 16px rgba(55, 90, 95, 0.12);
}

.top-about__feature-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-about__block--01 .top-about__feature-item {
  padding-left: calc(31 / 1400 * 100cqw);
  font-size: calc(16 / 1400 * 100cqw);
  line-height: calc(30 / 1400 * 100cqw);
}

.top-about__feature-item {
  position: relative;
  font-weight: 300;
  color: #fff;
}

.top-about__feature-lg {
  font-size: calc(20 / 1400 * 100cqw);
}

.top-about__feature-item:not(:last-child) {
  margin-bottom: calc(11 / 1400 * 100cqw);
}

.top-about__block--01 .top-about__feature-item::before {
  top: calc(5 / 1400 * 100cqw);
  width: calc(19 / 1400 * 100cqw);
  height: calc(19 / 1400 * 100cqw);
}

.top-about__feature-item::before {
  content: "";
  position: absolute;
  left: 0;
  background-image: url("../images/chek-gold.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.top-about__block--01 .top-about__feature-note {
  margin-top: calc(10 / 1400 * 100cqw);
  font-size: calc(10 / 1400 * 100cqw);
}

.top-about__feature-note {
  margin: 0;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.85);
}

.top-about__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(16 / 1400 * 100cqw);
  margin-top: calc(28 / 1400 * 100cqw);
}

.top-about__block--01 .top-about__buttons {
  position: relative;
  z-index: 8;
}

.top-about__buttons--single {
  grid-template-columns: 1fr;
  max-width: calc(320 / 1400 * 100cqw);
}

.top-about__buttons--single .top-about__btn {
  width: calc(320 / 1400 * 100cqw);
}

.top-about__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
  gap: calc(4 / 1400 * 100cqw);
  width: calc(307 / 1400 * 100cqw);
  height: calc(51 / 1400 * 100cqw);
  min-height: calc(51 / 1400 * 100cqw);
  padding: 0 calc(8 / 1400 * 100cqw);
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: calc(16 / 1400 * 100cqw);
  font-weight: 500;
  line-height: 1.5;
  color: #375A5F;
  white-space: nowrap;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #375A5F;
  border-radius: calc(2 / 1400 * 100cqw);
  transition: opacity 0.2s;
}

.top-about__btn:hover {
  color: #375A5F;
  opacity: 0.75;
}

.top-about__btn-icon {
  flex-shrink: 0;
  width: calc(28 / 1400 * 100cqw);
  height: calc(28 / 1400 * 100cqw);
  background-image: url("../images/btn-gold-point.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.top-about__ribbons {
  margin-bottom: calc(24 / 1400 * 100cqw);
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}

.top-about__block--02 .top-about__ribbons {
  margin-bottom: calc(24 / 1400 * 100cqw);
  margin-left: calc(-64 / 1400 * 100cqw);
}

.top-about__ribbon {
  display: table;
  margin: 0 0 calc(8 / 1400 * 100cqw);
  padding: calc(8 / 1400 * 100cqw) calc(28 / 1400 * 100cqw);
  font-family: inherit;
  font-size: calc(20 / 1400 * 100cqw);
  font-weight: 300;
  line-height: 1.5;
  color: #fff;
  background: linear-gradient(14.72deg, #375a5f 27.5%, #3b95a2 45.57%, #375a5f 103.03%);
  transform: skewX(-10deg);
}

.top-about__block--02 .top-about__ribbon {
  position: relative;
  z-index: 0;
  display: table;
  margin: 0;
  padding: 0 calc(48 / 1400 * 100cqw) 0 calc(36 / 1400 * 100cqw);
  font-size: calc(32 / 1400 * 100cqw);
  line-height: calc(62 / 1400 * 100cqw);
  color: #fff;
  background: transparent;
  transform: none;
  box-shadow: none;
}

.top-about__block--02 .top-about__ribbon::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(14.72deg, #375a5f 27.5%, #3b95a2 45.57%, #375a5f 103.03%);
  clip-path: polygon(0 0, calc(100% - 28 / 1400 * 100cqw) 0, 100% 100%, calc(28 / 1400 * 100cqw) 100%, 0 100%);
  box-shadow: 0 calc(4 / 1400 * 100cqw) calc(14 / 1400 * 100cqw) rgba(55, 90, 95, 0.22);
}

.top-about__block--02 .top-about__ribbon:first-child {
  margin-bottom: calc(6 / 1400 * 100cqw);
}

.top-about__block--02 .top-about__ribbon:nth-child(2) {
  margin-left: 0;
}

.top-about__body--02 {
  margin-top: calc(8 / 1400 * 100cqw);
  color: #375A5F;
}

.top-about__quote {
  margin-bottom: calc(8 / 1400 * 100cqw) !important;
  font-size: calc(13 / 1400 * 100cqw);
  line-height: 1.8;
  color: #666;
}

.top-about__block--02 .top-about__quote {
  margin-bottom: calc(30 / 1400 * 100cqw) !important;
  font-size: calc(16 / 1400 * 100cqw);
  font-weight: 300;
  line-height: calc(30 / 1400 * 100cqw);
  color: #375A5F;
}

.top-section-gold {
  width: 100%;
  height: calc(8 / 1400 * 100cqw);
  background-image: linear-gradient(90deg, rgba(238, 209, 153, 0.72) 0%, rgba(251, 249, 224, 0.88) 50%, rgba(220, 170, 72, 0.72) 100%);
}

.top-section-teal {
  width: 100%;
  height: calc(8 / 1400 * 100cqw);
  background-image: linear-gradient(90deg, rgba(59, 149, 162, 0.35) 0%, rgba(59, 149, 162, 0.5) 50%, rgba(59, 149, 162, 0.35) 100%);
}

@media screen and (max-width:768px) {
  .top-section-gold {
    height: calc(6 / 375 * 100vw);
  }
  .top-section-teal {
    height: calc(6 / 375 * 100vw);
  }
  .top-about {
    container-type: normal;
    min-height: 0;
    overflow-x: clip;
    overflow-y: visible;
    background-image: url("../images/sp-about-bg.webp");
    background-position: center top;
    background-size: cover;
  }
  .top-about__slant {
    display: none;
  }
  .top-about__watermark {
    top: calc(-8 / 375 * 100vw);
    left: auto;
    right: calc(-4 / 375 * 100vw);
    width: auto;
    font-size: calc(48 / 375 * 100vw);
    letter-spacing: calc(2.4 / 375 * 100vw);
    text-align: right;
  }
  .top-about__inner {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: calc(50 / 375 * 100vw) calc(16 / 375 * 100vw) calc(60 / 375 * 100vw);
  }
  .top-about__header {
    margin-bottom: calc(24 / 375 * 100vw);
  }
  .top-about__title {
    margin-bottom: calc(10 / 375 * 100vw);
    padding: 0;
    font-size: calc(16 / 375 * 100vw);
  }
  .top-about__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-about__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .top-about__block {
    display: block;
    margin-bottom: calc(40 / 375 * 100vw);
  }
  .top-about__block--01 {
    display: block;
    min-height: 0;
  }
  .top-about__block--01 .top-about__visual--pc {
    display: none;
  }
  .top-about__block--01 .top-about__sp-card {
    width: calc(343 / 375 * 100vw);
    max-width: 100%;
    margin: 0 auto;
    padding: calc(16 / 375 * 100vw);
    background-color: #fff;
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
    overflow: visible;
  }
  .top-about__block--01 .top-about__sp-visual {
    padding: 0;
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .top-about__sp-visual {
    display: block;
  }
  .top-about__sp-visual-img {
    display: block;
    width: 100%;
    height: auto;
  }
  .top-about__block--02 {
    min-height: 0;
  }
  .top-about__block--02 .top-about__visual--pc {
    display: none;
  }
  .top-about__block--02 .top-about__sp-card {
    width: calc(343 / 375 * 100vw);
    max-width: 100%;
    margin: 0 auto;
    background-color: #fff;
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
    overflow: visible;
  }
  .top-about__sp-visual--02 {
    display: block;
    padding-right: calc(16 / 375 * 100vw);
    padding-left: calc(16 / 375 * 100vw);
  }
  .top-about__block--02 .top-about__panel {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0 0 calc(24 / 375 * 100vw);
    box-shadow: none;
    overflow: visible;
  }
  .top-about__block--02 .top-about__ribbons {
    margin-bottom: calc(12 / 375 * 100vw);
    margin-left: calc(0 / 375 * 100vw);
    padding-top: calc(16 / 375 * 100vw);
  }
  .top-about__block--02 .top-about__body--02 {
    margin-top: 0;
    padding: calc(16 / 375 * 100vw) calc(16 / 375 * 100vw) 0;
  }
  .top-about__block--02 .top-about__buttons {
    padding: 0 calc(16 / 375 * 100vw);
    margin-top: calc(16 / 375 * 100vw);
    justify-items: center;
  }
  .top-about__block--01 .top-about__panel {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    padding: 0;
    box-shadow: none;
    overflow: visible;
  }
  .top-about__block--01 .top-about__panel::before {
    display: none;
  }
  .top-about__panel {
    padding: calc(20 / 375 * 100vw) calc(16 / 375 * 100vw);
  }
  .top-about__block--01 .top-about__body {
    font-size: calc(11 / 375 * 100vw);
    line-height: 1.8;
    text-align: center;
    padding-bottom: calc(24 / 375 * 100vw);
  }
  .top-about__block--01 .top-about__body p {
    margin-bottom: calc(12 / 375 * 100vw);
  }
  .top-about__block--01 .top-about__body p:last-child {
    margin-bottom: 0;
  }
  .top-about__body {
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.8;
  }
  .top-about__body p {
    margin-bottom: calc(12 / 375 * 100vw);
  }
  .top-about__block--01 .top-about__features {
    box-sizing: border-box;
    width: calc(311 / 375 * 100vw);
    height: auto;
    min-height: calc(240 / 375 * 100vw);
    aspect-ratio: auto;
    margin-top: 0;
    padding: calc(16 / 375 * 100vw) calc(8 / 375 * 100vw) calc(16 / 375 * 100vw);
    overflow: visible;
    border-radius: 0;
    box-shadow: none;
    background: url("../images/sp-top-about__features.webp") no-repeat center/cover;
  }
  .top-about__block--01 .top-about__feature-item {
    display: flex;
    align-items: flex-start;
    gap: calc(6 / 375 * 100vw);
    padding-left: 0;
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.5;
  }
  .top-about__block--01 .top-about__feature-text {
    flex: 1;
    min-width: 0;
  }
  .top-about__block--01 .top-about__feature-lg {
    font-size: calc(16 / 375 * 100vw);
    line-height: 1.5;
  }
  .top-about__block--01 .top-about__feature-item::before {
    position: static;
    flex-shrink: 0;
    width: calc(15 / 375 * 100vw);
    height: calc(14 / 375 * 100vw);
    margin-top: calc(6 / 375 * 100vw);
  }
  .top-about__block--01 .top-about__feature-item:not(:last-child) {
    margin-bottom: calc(8 / 375 * 100vw);
  }
  .top-about__block--01 .top-about__feature-note {
    margin-top: calc(10 / 375 * 100vw);
    font-size: calc(10 / 375 * 100vw);
    line-height: 1.4;
  }
  .top-about__block--01 .top-about__feature-note + .top-about__feature-note {
    margin-top: calc(4 / 375 * 100vw);
  }
  .top-about__block--01 .top-about__buttons {
    position: relative;
    z-index: 8;
    width: calc(227 / 375 * 100vw);
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    grid-template-columns: 1fr;
    gap: calc(18 / 375 * 100vw);
    margin-top: calc(24 / 375 * 100vw);
    justify-items: stretch;
  }
  .top-about__buttons--single {
    max-width: 100%;
  }
  .top-about__block--01 .top-about__btn,
  .top-about__block--02 .top-about__btn {
    box-sizing: border-box;
    width: max-content;
    max-width: 100%;
    min-height: calc(37 / 375 * 100vw);
    height: calc(37 / 375 * 100vw);
    padding: 0 calc(6 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.4;
    white-space: nowrap;
    justify-content: flex-start;
    gap: calc(8 / 375 * 100vw);
  }
  .top-about__block--01 .top-about__buttons .top-about__btn {
    width: 100%;
    max-width: none;
  }
  .top-about__btn {
    min-height: calc(37 / 375 * 100vw);
    height: calc(37 / 375 * 100vw);
    padding: 0 calc(6 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.4;
    white-space: nowrap;
    justify-content: flex-start;
    gap: calc(8 / 375 * 100vw);
  }
  .top-about__btn-icon {
    flex-shrink: 0;
    width: calc(20 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
    margin-left: auto;
  }
  .top-about__ribbons {
    margin-bottom: calc(16 / 375 * 100vw);
  }
  .top-about__ribbon {
    margin-bottom: calc(6 / 375 * 100vw);
    padding: calc(6 / 375 * 100vw) calc(16 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    transform: skewX(-10deg);
  }
  .top-about__block--02 .top-about__ribbon {
    padding: calc(4 / 375 * 100vw) calc(10 / 375 * 100vw) calc(4 / 375 * 100vw) calc(12 / 375 * 100vw);
    font-size: calc(18.86 / 375 * 100vw);
    line-height: 1.6;
    transform: none;
  }
  .top-about__block--02 .top-about__ribbon:nth-child(2) {
    margin-left: 0;
    font-size: calc(18.86 / 375 * 100vw);
  }
  .top-about__block--02 .top-about__ribbon::before {
    clip-path: polygon(0 0, calc(100% - 12 / 375 * 100vw) 0, 100% 100%, calc(12 / 375 * 100vw) 100%, 0 100%);
    box-shadow: 0 calc(2 / 375 * 100vw) calc(8 / 375 * 100vw) rgba(55, 90, 95, 0.2);
  }
  .top-about__block--02 .top-about__ribbon:first-child {
    margin-bottom: calc(4 / 375 * 100vw);
  }
  .top-about__block--02 .top-about__quote {
    margin-bottom: calc(12 / 375 * 100vw) !important;
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.8;
    color: #375A5F;
  }
  .top-about__quote-note {
    font-size: calc(11 / 375 * 100vw);
    line-height: 1.8;
    color: #375A5F;
  }
  .top-about__quote {
    font-size: calc(12 / 375 * 100vw);
  }
}
.top-optimal {
  position: relative;
  padding: calc(120 / 1440 * min(100vw, 1440px)) calc(125 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans JP", sans-serif;
  background-image: url("../images/top-optimal-bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  overflow: hidden;
}

.top-optimal__watermark {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  margin: 0;
  color: #375A5F;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(112 / 1440 * min(100vw, 1440px));
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: calc(5.6 / 1440 * min(100vw, 1440px));
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  opacity: 0.08;
  transform: translateX(1em) rotate(90deg);
  transform-origin: top left;
}

.top-optimal__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1190 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
}

.top-optimal__header {
  margin-bottom: calc(60 / 1440 * min(100vw, 1440px));
  text-align: center;
}

.top-optimal__title {
  margin-bottom: calc(12 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  text-align: center;
  letter-spacing: 0.04em;
}

.top-optimal__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-optimal__title-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-optimal__title-line {
  display: block;
  width: calc(140 / 1440 * min(100vw, 1440px));
  height: 1px;
  background-color: #375A5F;
}

.top-optimal__br-sp {
  display: none;
}

.top-optimal__content {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(24 / 1440 * min(100vw, 1440px));
  padding: calc(20 / 1440 * min(100vw, 1440px)) calc(33 / 1440 * min(100vw, 1440px));
  background-color: #fff;
}

.top-optimal__item {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.top-optimal__item-visual {
  position: relative;
  width: 100%;
}

.top-optimal__catch {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  padding: calc(12 / 1440 * min(100vw, 1440px)) calc(14 / 1440 * min(100vw, 1440px)) calc(12 / 1440 * min(100vw, 1440px));
  background: linear-gradient(180deg, #4da7b3 0%, #3b95a2 100%);
  border-radius: calc(6 / 1440 * min(100vw, 1440px));
}

.top-optimal__catch::after {
  content: "";
  position: absolute;
  bottom: calc(-14 / 1440 * min(100vw, 1440px));
  left: 80%;
  width: calc(13 / 1440 * min(100vw, 1440px));
  height: calc(14 / 1440 * min(100vw, 1440px));
  background-image: url("../images/top-optimal-catch-tail.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateX(-50%);
}

.top-optimal__catch-star {
  display: block;
  flex-shrink: 0;
  width: calc(14 / 1440 * min(100vw, 1440px));
  height: calc(14 / 1440 * min(100vw, 1440px));
  background-color: #fff;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-optimal__catch-text {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.04em;
}

.top-optimal__item-img {
  display: block;
  width: 100%;
  height: auto;
  margin-top: calc(28 / 1440 * min(100vw, 1440px));
}

.top-optimal__item-btn {
  display: inline-flex;
  align-items: center;
  align-self: flex-end;
  gap: calc(6 / 1440 * min(100vw, 1440px));
  margin-top: calc(12 / 1440 * min(100vw, 1440px));
  padding-bottom: calc(8 / 1440 * min(100vw, 1440px));
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.5;
  color: #375A5F;
  text-decoration: none;
  border-bottom: 1px solid #375A5F;
  transition: opacity 0.2s;
}

.top-optimal__item-btn:hover {
  color: #375A5F;
  text-decoration: none;
  opacity: 0.75;
}

.top-optimal__item-btn-icon {
  flex-shrink: 0;
  width: calc(24 / 1440 * min(100vw, 1440px));
  height: calc(24 / 1440 * min(100vw, 1440px));
  background-image: url("../images/btn-gold-point.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.top-optimal__more {
  display: flex;
  justify-content: center;
  margin-top: calc(40 / 1440 * min(100vw, 1440px));
}

.top-optimal__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(10 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  width: calc(280 / 1440 * min(100vw, 1440px));
  height: calc(51 / 1440 * min(100vw, 1440px));
  padding: calc(12 / 1440 * min(100vw, 1440px)) calc(10 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: normal;
  color: #375A5F;
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #375A5F;
  border-radius: calc(4 / 1440 * min(100vw, 1440px));
  transition: opacity 0.2s;
}

.top-optimal__btn:hover {
  color: #375A5F;
  opacity: 0.75;
}

.top-optimal__btn-icon {
  flex-shrink: 0;
  width: calc(34 / 1440 * min(100vw, 1440px));
  height: calc(27 / 1440 * min(100vw, 1440px));
  background-image: url("../images/top-optimal-btn-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (max-width:768px) {
  .top-optimal__br-sp {
    display: block;
  }
  .top-optimal {
    padding: calc(50 / 375 * 100vw) calc(16 / 375 * 100vw);
    background-image: url("../images/sp-optimal-bg.webp");
  }
  .top-optimal__watermark {
    display: none;
  }
  .top-optimal__inner {
    max-width: 100%;
  }
  .top-optimal__header {
    margin-bottom: calc(24 / 375 * 100vw);
  }
  .top-optimal__title {
    margin-bottom: calc(10 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
  }
  .top-optimal__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-optimal__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .top-optimal__content {
    grid-template-columns: 1fr;
    gap: calc(32 / 375 * 100vw);
    padding: 0;
    background-color: transparent;
  }
  .top-optimal__item {
    align-items: flex-end;
  }
  .top-optimal__item-visual {
    width: 100%;
  }
  .top-optimal__catch {
    position: relative;
    z-index: 1;
    top: auto;
    right: auto;
    left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: calc(8 / 375 * 100vw);
    box-sizing: border-box;
    width: 100%;
    height: calc(52 / 375 * 100vw);
    padding: calc(12 / 375 * 100vw) calc(16 / 375 * 100vw);
    overflow: visible;
    background: none;
    border-radius: calc(4 / 375 * 100vw);
  }
  .top-optimal__catch::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(3.16deg, #375a5f 0%, #3b95a2 51.35%, #375a5f 100%);
    border-radius: inherit;
    pointer-events: none;
  }
  .top-optimal__catch::after {
    bottom: auto;
    left: 77.6811594203%;
    top: calc(46 / 375 * 100vw);
    z-index: -1;
    width: calc(15 / 375 * 100vw);
    height: calc(18 / 375 * 100vw);
    border: 0;
    background-image: url("../images/sp-optimal-catch-tail.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: scaleY(-1);
  }
  .top-optimal__catch-star,
  .top-optimal__catch-text {
    position: relative;
    z-index: 1;
  }
  .top-optimal__catch-star {
    flex-shrink: 0;
    width: calc(18 / 375 * 100vw);
    height: calc(18 / 375 * 100vw);
    min-width: calc(18 / 375 * 100vw);
    min-height: calc(18 / 375 * 100vw);
  }
  .top-optimal__catch-text {
    font-size: calc(16 / 375 * 100vw);
    font-weight: 700;
    line-height: calc(28 / 375 * 100vw);
    letter-spacing: 0;
    white-space: nowrap;
  }
  .top-optimal__catch-em {
    font-size: calc(18 / 375 * 100vw);
  }
  .top-optimal__item-img {
    margin-top: calc(28 / 375 * 100vw);
  }
  .top-optimal__item-btn {
    box-sizing: border-box;
    width: auto;
    min-width: calc(124 / 375 * 100vw);
    height: calc(44 / 375 * 100vw);
    min-height: calc(44 / 375 * 100vw);
    gap: calc(8 / 375 * 100vw);
    margin-top: 0;
    padding: calc(12 / 375 * 100vw) calc(8 / 375 * 100vw) calc(8 / 375 * 100vw) calc(12 / 375 * 100vw);
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(16 / 375 * 100vw);
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
    border-radius: calc(2 / 375 * 100vw);
  }
  .top-optimal__item-btn-icon {
    width: calc(24 / 375 * 100vw);
    height: calc(24 / 375 * 100vw);
  }
  .top-optimal__more {
    margin-top: calc(24 / 375 * 100vw);
  }
  .top-optimal__btn {
    box-sizing: border-box;
    width: calc(231 / 375 * 100vw);
    max-width: 100%;
    height: calc(42 / 375 * 100vw);
    padding: calc(10 / 375 * 100vw);
    font-size: calc(13 / 375 * 100vw);
    font-weight: 500;
    line-height: normal;
    justify-content: center;
    gap: calc(8 / 375 * 100vw);
    border-radius: calc(4 / 375 * 100vw);
  }
  .top-optimal__btn-icon {
    flex-shrink: 0;
    width: calc(28 / 375 * 100vw);
    height: calc(22 / 375 * 100vw);
    margin-left: 0;
  }
}
.top-clarity {
  position: relative;
  margin-top: calc(-50 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  padding: calc(117 / 1440 * min(100vw, 1440px) + 50 / 1440 * min(100vw, 1440px)) calc(125 / 1440 * min(100vw, 1440px)) calc(100 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans JP", sans-serif;
  background-color: #f7f7f7;
  background-image: url("../images/top-clarity-bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%;
  overflow: hidden;
}

.top-clarity__watermark {
  position: absolute;
  top: calc(-40 / 1440 * min(100vw, 1440px));
  right: calc(80 / 1440 * min(100vw, 1440px));
  z-index: 1;
  width: auto;
  margin: 0;
  color: #fff;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(112 / 1440 * min(100vw, 1440px));
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: calc(5.6 / 1440 * min(100vw, 1440px));
  text-align: right;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  opacity: 0.08;
}

.top-clarity__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1190 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
  overflow: visible;
}

.top-clarity__header {
  margin-bottom: calc(48 / 1440 * min(100vw, 1440px));
  text-align: center;
}

.top-clarity__title {
  margin-bottom: calc(12 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  letter-spacing: 0.04em;
}

.top-clarity__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-clarity__title-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #fff;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-clarity__title-line {
  display: block;
  width: calc(140 / 1440 * min(100vw, 1440px));
  height: 1px;
  background-color: #fff;
}

.top-clarity__br-sp {
  display: none;
}

.top-clarity__cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: calc(16 / 1440 * min(100vw, 1440px));
  overflow: visible;
}

.top-clarity__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: calc(20 / 1440 * min(100vw, 1440px)) calc(12 / 1440 * min(100vw, 1440px));
  overflow: visible;
  background-color: #fff;
}

.top-clarity__card-target {
  margin: 0 0 calc(8 / 1440 * min(100vw, 1440px));
  min-height: calc(32 / 1440 * min(100vw, 1440px));
  font-size: calc(10 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.6;
  color: #333;
  text-align: center;
}

.top-clarity__card-brand {
  margin: 0;
  font-weight: 300;
  text-align: center;
}

.top-clarity__card-brand-name {
  display: block;
  margin: 0 0 calc(4 / 1440 * min(100vw, 1440px));
  font-size: calc(20 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.4;
  color: #3b95a2;
}

.top-clarity__card-plan {
  display: block;
  margin: 0 0 calc(25 / 1440 * min(100vw, 1440px));
  font-size: calc(28 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.3;
  color: #3b95a2;
}

.top-clarity__card-plan-line {
  display: block;
  width: calc(40 / 1440 * min(100vw, 1440px));
  height: 1px;
  margin: calc(-20 / 1440 * min(100vw, 1440px)) auto calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375a5f;
}

.top-clarity__card-target--single-line {
  white-space: nowrap;
}

.top-clarity__card-badges {
  display: flex;
  gap: calc(6 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(16 / 1440 * min(100vw, 1440px));
}

.top-clarity__card-badge {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(4 / 1440 * min(100vw, 1440px));
  min-width: 0;
  min-height: calc(52 / 1440 * min(100vw, 1440px));
  padding: calc(6 / 1440 * min(100vw, 1440px)) calc(4 / 1440 * min(100vw, 1440px));
  font-size: calc(10 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.4;
  color: #333;
  text-align: center;
  background-image: linear-gradient(137.53deg, #eed199 14.75%, #fbf9e0 45.64%, #dcaa48 86.93%);
}

.top-clarity__card-badge-label {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
}

.top-clarity__card-badge-value {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
}

.top-clarity__card-monthly {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  align-self: stretch;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  gap: calc(4 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(10 / 1440 * min(100vw, 1440px));
  overflow: visible;
  color: #333;
}

.top-clarity__card-monthly-prefix {
  flex-shrink: 0;
  padding-bottom: calc(10 / 1440 * min(100vw, 1440px));
  font-size: calc(24 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1;
}

.top-clarity__card-monthly-price {
  display: inline-flex;
  align-items: flex-end;
  flex-shrink: 0;
  gap: calc(2 / 1440 * min(100vw, 1440px));
  overflow: visible;
  white-space: nowrap;
}

.top-clarity__card-monthly-yen-wrap {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: flex-end;
  padding-top: calc(12 / 1440 * min(100vw, 1440px));
}

.top-clarity__card-monthly-tax {
  position: absolute;
  top: 0;
  left: 30%;
  font-size: calc(12 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1;
  color: #333;
  white-space: nowrap;
  transform: translateX(-50%);
}

.top-clarity__card-monthly-num {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(56 / 1440 * min(100vw, 1440px));
  padding-right: calc(5 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  font-style: italic;
  line-height: 1;
  letter-spacing: -0.02em;
  flex-shrink: 0;
  overflow: visible;
  background-image: linear-gradient(90deg, #375a5f 0%, #3b95a2 50%, #375a5f 88%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.top-clarity__card-monthly-yen {
  flex-shrink: 0;
  padding-bottom: calc(10 / 1440 * min(100vw, 1440px));
  font-size: calc(24 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1;
  color: #333;
}

.top-clarity__card-total {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(8 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(12 / 1440 * min(100vw, 1440px));
}

.top-clarity__card-total-label {
  padding: calc(2 / 1440 * min(100vw, 1440px)) calc(8 / 1440 * min(100vw, 1440px));
  font-size: calc(12 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.4;
  color: #fff;
  white-space: nowrap;
  background-color: #375a5f;
  background-image: linear-gradient(90deg, #375a5f 0%, #4eacba 43%, #72bbc5 62%, rgba(114, 187, 197, 0.95) 65%, #375a5f 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.top-clarity__card-total-price {
  display: inline-flex;
  align-items: flex-end;
  gap: calc(2 / 1440 * min(100vw, 1440px));
  line-height: 1.4;
  color: #333;
}

.top-clarity__card-total-yen-wrap {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: flex-end;
}

.top-clarity__card-total-tax {
  position: absolute;
  top: calc(-12 / 1440 * min(100vw, 1440px));
  right: calc(-6 / 1440 * min(100vw, 1440px));
  font-size: calc(12 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1;
  color: #333;
  white-space: nowrap;
}

.top-clarity__card-total-num {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(34 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  font-style: italic;
  line-height: 1;
  color: #333;
}

.top-clarity__card-total-yen {
  font-size: calc(20 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1;
  color: #333;
}

.top-clarity__card-note {
  margin: 0;
  font-size: calc(10 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.6;
  color: #666;
  text-align: left;
}

.top-clarity__note-common {
  width: 100%;
  margin: calc(12 / 1440 * min(100vw, 1440px)) 0 0;
  font-size: calc(10 / 1440 * min(100vw, 1440px));
  line-height: 1.6;
  color: #fff;
  text-align: left;
}

@media screen and (max-width:768px) {
  .top-clarity {
    margin-top: calc(-24 / 375 * 100vw);
    padding: calc(70 / 375 * 100vw) calc(16 / 375 * 100vw) calc(96 / 375 * 100vw + -30 / 375 * 100vw);
    background-color: #375a5f;
    background-image: url("../images/sp-clarity-bg.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40 / 375 * 100vw), 50% 100%, 0 calc(100% - 40 / 375 * 100vw));
    overflow: hidden;
  }
  .top-clarity__watermark {
    display: none;
  }
  .top-clarity__inner {
    position: relative;
    z-index: 1;
    max-width: 100%;
  }
  .top-clarity__header {
    margin-bottom: calc(24 / 375 * 100vw);
  }
  .top-clarity__br-sp {
    display: block;
  }
  .top-clarity__title {
    margin-bottom: calc(10 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
    line-height: 1.6;
  }
  .top-clarity__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-clarity__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .top-clarity__cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(16 / 375 * 100vw);
  }
  .top-clarity__card {
    box-sizing: border-box;
    width: calc(343 / 375 * 100vw);
    max-width: 100%;
    padding: calc(26 / 375 * 100vw) calc(12 / 375 * 100vw);
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
  }
  .top-clarity__card-target {
    margin-bottom: calc(8 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.5;
  }
  .top-clarity__card:first-child .top-clarity__card-target {
    white-space: nowrap;
  }
  .top-clarity__card:first-child .top-clarity__card-target br {
    display: none;
  }
  .top-clarity__card-target--single-line {
    white-space: normal;
  }
  .top-clarity__card-brand {
    margin-bottom: calc(15 / 375 * 100vw);
    font-size: calc(20 / 375 * 100vw);
    white-space: nowrap;
    text-align: center;
  }
  .top-clarity__card-brand-name {
    display: inline;
    margin: 0;
    font-size: inherit;
  }
  .top-clarity__card-plan {
    display: inline;
    margin: 0 0 0 calc(4 / 375 * 100vw);
    font-size: inherit;
  }
  .top-clarity__card-plan-line {
    display: block;
    width: 10px;
    height: 1px;
    margin: calc(8 / 375 * 100vw) auto calc(12 / 375 * 100vw);
    background-color: #375a5f;
  }
  .top-clarity__card-badges {
    justify-content: center;
    gap: calc(6 / 375 * 100vw);
    margin-bottom: calc(16 / 375 * 100vw);
  }
  .top-clarity__card-badge {
    flex: 0 0 calc(150 / 375 * 100vw);
    width: calc(150 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
    min-height: calc(40 / 375 * 100vw);
    gap: calc(2 / 375 * 100vw);
    padding: calc(4 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.3;
  }
  .top-clarity__card-monthly {
    align-self: stretch;
    width: 100%;
    max-width: 100%;
    gap: calc(4 / 375 * 100vw);
    margin-right: 0;
    margin-bottom: calc(10 / 375 * 100vw);
    margin-left: 0;
    justify-content: center;
  }
  .top-clarity__card-monthly-prefix {
    margin-right: calc(2 / 375 * 100vw);
    padding-bottom: calc(10 / 375 * 100vw);
    font-size: calc(24 / 375 * 100vw);
  }
  .top-clarity__card-monthly-yen-wrap {
    padding-top: calc(12 / 375 * 100vw);
  }
  .top-clarity__card-monthly-tax {
    font-size: calc(12 / 375 * 100vw);
  }
  .top-clarity__card-monthly-num {
    font-size: calc(56 / 375 * 100vw);
    padding-right: calc(20 / 375 * 100vw);
  }
  .top-clarity__card-monthly-yen {
    padding-bottom: calc(10 / 375 * 100vw);
    font-size: calc(24 / 375 * 100vw);
  }
  .top-clarity__card-total {
    gap: calc(8 / 375 * 100vw);
    margin-bottom: calc(12 / 375 * 100vw);
  }
  .top-clarity__card-total-label {
    padding: calc(2 / 375 * 100vw) calc(8 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }
  .top-clarity__card-total-tax {
    top: calc(-12 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }
  .top-clarity__card-total-num {
    font-size: calc(34 / 375 * 100vw);
    padding-right: calc(5 / 375 * 100vw);
  }
  .top-clarity__card-total-yen {
    font-size: calc(20 / 375 * 100vw);
  }
  .top-clarity__card-note {
    font-size: calc(10 / 375 * 100vw);
  }
  .top-clarity__note-common {
    font-size: calc(10 / 375 * 100vw);
  }
}
.top-reason {
  box-sizing: border-box;
  margin-top: 0;
  padding-top: calc(100 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  background-color: #f7f7f7;
  overflow: hidden;
}

.top-reason__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1190 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
}

.top-reason__header-wrap {
  position: relative;
  box-sizing: border-box;
  height: calc(285 / 1440 * min(100vw, 1440px));
  overflow: hidden;
}

.top-reason__header-wrap::before {
  content: "Reason";
  position: absolute;
  top: calc(170 / 1440 * min(100vw, 1440px));
  left: calc(125 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(110 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1;
  color: #333;
  opacity: 0.06;
  pointer-events: none;
}

.top-reason__header {
  position: relative;
  z-index: 1;
  margin-top: calc(50 / 1440 * min(100vw, 1440px));
  text-align: center;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
}

.top-reason__lead {
  display: block;
  margin: 0 0 calc(8 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1440 * min(100vw, 1440px));
  font-weight: 700;
  line-height: 1.6;
  color: #000;
  letter-spacing: 0.08em;
}

.top-reason__title {
  margin: 0 0 calc(12 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1440 * min(100vw, 1440px));
  font-weight: 700;
  line-height: 1.5;
  color: #333;
  text-align: center;
  letter-spacing: 0.04em;
}

.top-reason__title-box {
  display: inline-block;
  padding: calc(4 / 1440 * min(100vw, 1440px)) calc(28 / 1440 * min(100vw, 1440px));
}

.top-reason__title-num {
  font-size: calc(48 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1;
}

.top-reason__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-reason__title-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-reason__title-line {
  display: block;
  width: calc(140 / 1440 * min(100vw, 1440px));
  height: 1px;
  background-color: #375A5F;
}

.top-reason__reason01 {
  box-sizing: border-box;
}

.top-reason__reason01-inner {
  position: relative;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: calc(0 / 1440 * min(100vw, 1440px));
  padding: 0;
}

.top-reason__reason01-visual {
  position: relative;
  width: 100%;
}

.top-reason__reason01-img {
  display: block;
  width: 100%;
  height: calc(520 / 1440 * min(100vw, 1440px));
  object-fit: cover;
  object-position: left center;
}

.top-reason__reason01-panel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  box-sizing: border-box;
  width: calc(858 / 1440 * min(100vw, 1440px));
  max-width: 100%;
  height: auto;
  margin-top: calc(-280 / 1440 * min(100vw, 1440px));
  margin-right: 0;
  margin-left: auto;
  overflow: visible;
}

.top-reason__reason01-panel-gold {
  position: absolute;
  top: calc(58 / 1440 * min(100vw, 1440px));
  right: auto;
  bottom: auto;
  left: calc(6 / 1440 * min(100vw, 1440px));
  z-index: 0;
  width: 100%;
  height: calc(384 / 1440 * min(100vw, 1440px));
  background-image: url("../images/top-reason-gold.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  pointer-events: none;
}

.top-reason__reason01-label {
  position: absolute;
  top: calc(71 / 1440 * min(100vw, 1440px));
  left: calc(58 / 1440 * min(100vw, 1440px));
  z-index: 3;
  margin: 0;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  color: #fff;
  text-align: left;
  white-space: nowrap;
  pointer-events: none;
  transform: translateY(-100%) rotate(-3.47deg);
  transform-origin: left bottom;
  text-shadow: 1px 1px 7px rgba(0, 0, 0, 0.25);
}

.top-reason__reason01-label-sub {
  font-size: calc(39.772 / 1440 * min(100vw, 1440px));
  font-weight: 500;
}

.top-reason__reason01-label-num {
  font-size: calc(86.775 / 1440 * min(100vw, 1440px));
  font-weight: 500;
}

.top-reason__reason01-panel-body {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  min-height: calc(436 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(135 / 1440 * min(100vw, 1440px));
  padding: calc(68 / 1440 * min(100vw, 1440px)) calc(65 / 1440 * min(100vw, 1440px)) calc(30 / 1440 * min(100vw, 1440px));
  background-color: #fff;
  background-image: url("../images/dorowre-img.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: calc(364 / 1440 * min(100vw, 1440px)) calc(160 / 1440 * min(100vw, 1440px));
  box-shadow: 0 calc(8 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.12);
  clip-path: polygon(0 calc(52 / 1440 * min(100vw, 1440px)), 100% 0, 100% 100%, 0 100%);
}

.top-reason__reason01-heading {
  margin: 0 0 calc(20 / 1440 * min(100vw, 1440px));
  padding-bottom: calc(20 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(25.89 / 1440 * min(100vw, 1440px));
  font-weight: 800;
  line-height: 1.7;
  color: #375A5F;
  border-bottom: 1px solid #dcaa48;
}

.top-reason__reason01-text {
  margin: 0 0 calc(16 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.9;
  color: #333;
}

.top-reason__reason01-text:last-child {
  margin-bottom: 0;
}

.top-reason__reason04 {
  box-sizing: border-box;
}

.top-reason__reason04-inner {
  position: relative;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: calc(0 / 1440 * min(100vw, 1440px));
  padding: 0;
}

.top-reason__reason04-visual {
  position: relative;
  width: 100%;
}

.top-reason__reason04-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
}

.top-reason__reason04-panel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
  width: calc(858 / 1440 * min(100vw, 1440px));
  max-width: 100%;
  height: calc(497 / 1440 * min(100vw, 1440px));
  margin-top: calc(-440 / 1440 * min(100vw, 1440px));
  margin-right: 0;
  margin-left: auto;
  overflow: visible;
}

.top-reason__reason04-panel-gold {
  position: absolute;
  right: 0;
  bottom: calc(135 / 1440 * min(100vw, 1440px));
  left: 0;
  z-index: 0;
  width: 100%;
  height: calc(550 / 1440 * min(100vw, 1440px));
  background-image: url("../images/top-reason-gold.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: translate(calc(10 / 1440 * min(100vw, 1440px)), calc(10 / 1440 * min(100vw, 1440px)));
  clip-path: polygon(0 calc(60 / 1440 * min(100vw, 1440px)), 100% 0, 100% 100%, 0 100%);
  pointer-events: none;
}

.top-reason__reason04-label {
  position: absolute;
  top: calc(-230 / 1440 * min(100vw, 1440px));
  left: calc(40 / 1440 * min(100vw, 1440px));
  z-index: 3;
  margin: 0;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-align: left;
  pointer-events: none;
  display: flex;
  align-items: flex-end;
  transform: rotate(-2deg);
  transform-origin: left bottom;
}

.top-reason__reason04-label-sub {
  display: block;
  font-size: calc(40 / 1440 * min(100vw, 1440px));
  font-weight: 300;
}

.top-reason__reason04-label-num {
  display: block;
  position: relative;
  margin-top: calc(4 / 1440 * min(100vw, 1440px));
  font-size: calc(88 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 0.95;
}

.top-reason__reason04-panel-body {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: calc(550 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(135 / 1440 * min(100vw, 1440px));
  padding: calc(110 / 1440 * min(100vw, 1440px)) calc(65 / 1440 * min(100vw, 1440px)) calc(48 / 1440 * min(100vw, 1440px));
  background-color: #fff;
  background-image: url("../images/dorowre-img.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: calc(442 / 1440 * min(100vw, 1440px)) calc(194 / 1440 * min(100vw, 1440px));
  box-shadow: 0 calc(8 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.12);
  clip-path: polygon(0 calc(60 / 1440 * min(100vw, 1440px)), 100% 0, 100% 100%, 0 100%);
}

.top-reason__reason04-heading {
  margin: 0 0 calc(20 / 1440 * min(100vw, 1440px));
  padding-bottom: calc(20 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(22 / 1440 * min(100vw, 1440px));
  font-weight: 800;
  line-height: 1.7;
  color: #375A5F;
  border-bottom: 1px solid #dcaa48;
}

.top-reason__reason04-text {
  margin: 0 0 calc(16 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.9;
  color: #333;
}

.top-reason__reason04-text:last-child {
  margin-bottom: 0;
}

.top-reason__reason02 {
  box-sizing: border-box;
  padding-top: calc(100 / 1440 * min(100vw, 1440px));
  padding-bottom: calc(70 / 1440 * min(100vw, 1440px));
}

.top-reason__reason02-inner {
  position: relative;
  box-sizing: border-box;
  margin-right: auto;
  margin-left: calc(0 / 1440 * min(100vw, 1440px));
  padding: 0;
}

.top-reason__reason02-visual {
  position: relative;
  width: 100%;
}

.top-reason__reason02-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.top-reason__reason02-panel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
  width: calc(858 / 1440 * min(100vw, 1440px));
  max-width: 100%;
  height: calc(497 / 1440 * min(100vw, 1440px));
  margin-top: calc(-440 / 1440 * min(100vw, 1440px));
  margin-right: auto;
  margin-left: 0;
}

.top-reason__reason02-panel-gold {
  position: absolute;
  top: calc(50 / 1440 * min(100vw, 1440px));
  left: 0;
  z-index: 0;
  width: 100%;
  height: 90%;
  background-image: url("../images/top-reason-gold.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: translate(calc(10 / 1440 * min(100vw, 1440px)), calc(10 / 1440 * min(100vw, 1440px)));
  clip-path: polygon(0 0, 100% calc(60 / 1440 * min(100vw, 1440px)), 100% 100%, 0 100%);
  pointer-events: none;
}

.top-reason__reason02-label {
  position: absolute;
  top: calc(8 / 1440 * min(100vw, 1440px));
  right: calc(24 / 1440 * min(100vw, 1440px));
  left: auto;
  z-index: 3;
  margin: 0;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: #3B95A2;
  text-align: right;
  white-space: nowrap;
  pointer-events: none;
  display: flex;
  align-items: flex-end;
  transform: rotate(4deg);
  transform-origin: right bottom;
}

.top-reason__reason02-label-sub {
  display: block;
  font-size: calc(40 / 1440 * min(100vw, 1440px));
  font-weight: 300;
}

.top-reason__reason02-label-num {
  display: block;
  position: relative;
  margin-top: calc(4 / 1440 * min(100vw, 1440px));
  margin-left: calc(8 / 1440 * min(100vw, 1440px));
  font-size: calc(88 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 0.95;
}

.top-reason__reason02-panel-body {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: calc(460 / 1440 * min(100vw, 1440px));
  margin-bottom: 0;
  padding: calc(110 / 1440 * min(100vw, 1440px)) calc(55 / 1440 * min(100vw, 1440px)) calc(35 / 1440 * min(100vw, 1440px));
  background-color: #fff;
  box-shadow: 0 calc(8 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.12);
  clip-path: polygon(0 0, 100% calc(60 / 1440 * min(100vw, 1440px)), 100% 100%, 0 100%);
}

.top-reason__reason02-panel-body::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(442 / 1440 * min(100vw, 1440px));
  height: calc(194 / 1440 * min(100vw, 1440px));
  background-image: url("../images/dorowre-img.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  pointer-events: none;
}

.top-reason__reason02-panel-body::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #dcaa48;
}

.top-reason__reason02-heading {
  margin: 0 0 calc(20 / 1440 * min(100vw, 1440px));
  padding-bottom: calc(20 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(22 / 1440 * min(100vw, 1440px));
  font-weight: 800;
  line-height: 1.7;
  color: #375A5F;
  border-bottom: 1px solid #dcaa48;
}

.top-reason__reason02-text {
  margin: 0 0 calc(16 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.9;
  color: #333;
}

.top-reason__reason02-text:last-child {
  margin-bottom: 0;
}

.top-reason__reason03 {
  position: relative;
  box-sizing: border-box;
  margin-top: calc(0 / 1440 * min(100vw, 1440px));
  padding: calc(100 / 1440 * min(100vw, 1440px)) calc(125 / 1440 * min(100vw, 1440px)) calc(80 / 1440 * min(100vw, 1440px));
  overflow: hidden;
}

.top-reason__reason03-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.top-reason__reason03-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.top-reason__reason03-inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1190 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
  padding: 0;
}

.top-reason__reason03-label {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0 0 calc(24 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-align: center;
  pointer-events: none;
}

.top-reason__reason03-label-sub {
  display: block;
  font-size: calc(40 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  transform-origin: left bottom;
}

.top-reason__reason03-label-num {
  display: block;
  position: relative;
  margin-top: calc(4 / 1440 * min(100vw, 1440px));
  margin-left: calc(8 / 1440 * min(100vw, 1440px));
  font-size: calc(88 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 0.95;
}

.top-reason__reason03-panel {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(900 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
}

.top-reason__reason03-panel-body {
  position: relative;
  box-sizing: border-box;
  padding: calc(48 / 1440 * min(100vw, 1440px)) calc(64 / 1440 * min(100vw, 1440px)) calc(40 / 1440 * min(100vw, 1440px));
  text-align: center;
  background-color: rgba(255, 255, 255, 0.85);
  box-shadow: 0 calc(8 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.12);
}

.top-reason__reason03-panel-body::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(442 / 1440 * min(100vw, 1440px));
  height: calc(194 / 1440 * min(100vw, 1440px));
  background-image: url("../images/dorowre-img.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  pointer-events: none;
}

.top-reason__reason03-lead {
  margin: 0 0 calc(8 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(22 / 1440 * min(100vw, 1440px));
  font-weight: 800;
  line-height: 1.7;
  color: #375A5F;
}

.top-reason__reason03-heading {
  margin: 0 0 calc(20 / 1440 * min(100vw, 1440px));
  padding-bottom: calc(20 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(25 / 1440 * min(100vw, 1440px));
  font-weight: 800;
  line-height: 1.7;
  color: #375A5F;
  border-bottom: 1px solid #dcaa48;
}

.top-reason__reason03-heading-first {
  display: none;
}

.top-reason__reason03-heading br {
  display: none;
}

.top-reason__reason03-text {
  margin: 0 0 calc(16 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.9;
  color: #333;
}

.top-reason__reason03-text:last-of-type {
  margin-bottom: calc(20 / 1440 * min(100vw, 1440px));
}

.top-reason__reason03-note {
  margin: 0;
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.8;
  color: #333;
}

.top-reason__cards-wrap {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin-top: calc(-32 / 1440 * min(100vw, 1440px));
  padding: calc(96 / 1440 * min(100vw, 1440px)) 0 calc(60 / 1440 * min(100vw, 1440px));
  background-image: url("../images/top-reason-bg2.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%;
  overflow: visible;
}

.top-reason__cards {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, calc(360 / 1440 * min(100vw, 1440px)));
  justify-content: center;
  gap: calc(24 / 1440 * min(100vw, 1440px));
  margin-top: calc(-160 / 1440 * min(100vw, 1440px));
}

.top-reason__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background-color: #fff;
  box-shadow: 0 calc(4 / 1440 * min(100vw, 1440px)) calc(20 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.14);
}

.top-reason__card-head {
  position: relative;
  overflow: visible;
}

.top-reason__card-img {
  display: block;
  width: 100%;
  height: calc(214 / 1440 * min(100vw, 1440px));
  object-fit: cover;
}

.top-reason__card-catch {
  position: absolute;
  right: calc(10 / 1440 * min(100vw, 1440px));
  bottom: calc(7 / 1440 * min(100vw, 1440px));
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: max-content;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-size: calc(18 / 1440 * min(100vw, 1440px));
  font-weight: 700;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  line-height: 1.4;
  color: #fff;
  text-align: right;
  border-right: 3px solid #dcaa48;
  border-bottom: 1px solid #dcaa48;
}

.top-reason__card-catch-line {
  position: relative;
  z-index: 1;
  display: block;
  box-sizing: border-box;
  width: max-content;
  max-width: 100%;
  margin-left: 0;
  padding: 0 calc(6 / 1440 * min(100vw, 1440px)) 0 calc(3 / 1440 * min(100vw, 1440px));
  background-image: linear-gradient(90deg, #eed199 0%, #fbf9e0 50%, #dcaa48 100%);
}
.top-reason__card-catch-line::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: calc(-5 / 1440 * min(100vw, 1440px));
  z-index: -1;
  height: auto;
  background-color: #3b95a2;
  transform: none;
}

.top-reason__card-catch-line:first-child {
  padding-top: calc(2 / 1440 * min(100vw, 1440px));
}

.top-reason__card-catch-line:last-child {
  padding-bottom: calc(2 / 1440 * min(100vw, 1440px));
}

.top-reason__card-text {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: calc(24 / 1440 * min(100vw, 1440px)) calc(16 / 1440 * min(100vw, 1440px)) calc(24 / 1440 * min(100vw, 1440px));
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.85;
  color: #333;
  background-color: #fff;
}

.top-reason__reason04-cards-wrap {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin-top: calc(-32 / 1440 * min(100vw, 1440px));
  padding: calc(96 / 1440 * min(100vw, 1440px)) 0 calc(60 / 1440 * min(100vw, 1440px));
  background-image: url("../images/top-reason-bg2.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% 100%;
  overflow: visible;
}

.top-reason__reason04-cards {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, calc(360 / 1440 * min(100vw, 1440px)));
  justify-content: center;
  gap: calc(24 / 1440 * min(100vw, 1440px));
  margin-top: calc(-139 / 1440 * min(100vw, 1440px));
}

.top-reason__reason04-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background-color: #fff;
  box-shadow: 0 calc(4 / 1440 * min(100vw, 1440px)) calc(20 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.14);
}

.top-reason__reason04-card-head {
  position: relative;
  overflow: visible;
}

.top-reason__reason04-card-img {
  display: block;
  width: 100%;
  height: calc(214 / 1440 * min(100vw, 1440px));
  object-fit: cover;
}

.top-reason__reason04-card-catch {
  position: absolute;
  right: calc(12 / 1440 * min(100vw, 1440px));
  left: calc(12 / 1440 * min(100vw, 1440px));
  bottom: calc(7 / 1440 * min(100vw, 1440px));
  z-index: 2;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  font-size: calc(18 / 1440 * min(100vw, 1440px));
  font-weight: 700;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  line-height: 1.4;
  color: #fff;
  text-align: right;
}

.top-reason__reason04-card-catch-line {
  position: relative;
  z-index: 1;
  display: block;
  box-sizing: border-box;
  width: max-content;
  max-width: 100%;
  margin-left: auto;
  padding: 0 calc(12 / 1440 * min(100vw, 1440px));
  background: #3b95a2;
  border-right: 2px solid #eed199;
  border-bottom: 2px solid #eed199;
}

.top-reason__reason04-card-catch-line + .top-reason__reason04-card-catch-line {
  margin-top: -2px;
  z-index: 2;
}

.top-reason__reason04-card-catch-line:first-child {
  padding-top: calc(2 / 1440 * min(100vw, 1440px));
}

.top-reason__reason04-card-catch-line:last-child {
  padding-bottom: calc(2 / 1440 * min(100vw, 1440px));
}

.top-reason__reason04-card-catch-line:first-child {
  padding-top: calc(2 / 1440 * min(100vw, 1440px));
}

.top-reason__reason04-card-catch-line:last-child {
  padding-bottom: calc(2 / 1440 * min(100vw, 1440px));
}

.top-reason__reason04-card-text {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: calc(24 / 1440 * min(100vw, 1440px)) calc(16 / 1440 * min(100vw, 1440px)) 0;
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.85;
  color: #333;
  background-color: #fff;
}

.top-reason__reason04-card-text:last-child {
  padding-bottom: calc(24 / 1440 * min(100vw, 1440px));
}

.top-reason__reason04-card-text + .top-reason__reason04-card-text {
  padding-top: calc(14 / 1440 * min(100vw, 1440px));
}

.top-reason__reason05 {
  box-sizing: border-box;
  background-color: #fff;
  padding-bottom: calc(70 / 1440 * min(100vw, 1440px));
}

.top-reason__reason05-inner {
  position: relative;
  box-sizing: border-box;
  margin-right: auto;
  margin-left: calc(0 / 1440 * min(100vw, 1440px));
  padding: 0;
}

.top-reason__reason05-visual {
  position: relative;
  width: 100%;
}

.top-reason__reason05-visual picture {
  display: block;
  width: 100%;
}

.top-reason__reason05-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

.top-reason__reason05-panel {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-sizing: border-box;
  width: calc(858 / 1440 * min(100vw, 1440px));
  max-width: 100%;
  height: calc(497 / 1440 * min(100vw, 1440px));
  margin-top: calc(-375 / 1440 * min(100vw, 1440px));
  margin-right: auto;
  margin-left: 0;
}

.top-reason__reason05-panel-gold {
  position: absolute;
  top: calc(50 / 1440 * min(100vw, 1440px));
  left: 0;
  z-index: 0;
  width: 100%;
  height: 90%;
  background-image: url("../images/top-reason-gold.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: translate(calc(10 / 1440 * min(100vw, 1440px)), calc(10 / 1440 * min(100vw, 1440px)));
  clip-path: polygon(0 0, 100% calc(60 / 1440 * min(100vw, 1440px)), 100% 100%, 0 100%);
  pointer-events: none;
}

.top-reason__reason05-label {
  position: absolute;
  top: calc(8 / 1440 * min(100vw, 1440px));
  right: calc(24 / 1440 * min(100vw, 1440px));
  left: auto;
  z-index: 3;
  margin: 0;
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-align: right;
  white-space: nowrap;
  pointer-events: none;
  display: flex;
  align-items: flex-end;
  transform: rotate(4deg);
  transform-origin: right bottom;
}

.top-reason__reason05-label-sub {
  display: block;
  font-size: calc(40 / 1440 * min(100vw, 1440px));
  font-weight: 300;
}

.top-reason__reason05-label-num {
  display: block;
  position: relative;
  margin-top: calc(4 / 1440 * min(100vw, 1440px));
  margin-left: calc(8 / 1440 * min(100vw, 1440px));
  font-size: calc(88 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 0.95;
}

.top-reason__reason05-panel-body {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: calc(460 / 1440 * min(100vw, 1440px));
  margin-bottom: 0;
  padding: calc(110 / 1440 * min(100vw, 1440px)) calc(65 / 1440 * min(100vw, 1440px)) calc(48 / 1440 * min(100vw, 1440px));
  background-color: #fff;
  box-shadow: 0 calc(8 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.12);
  clip-path: polygon(0 0, 100% calc(60 / 1440 * min(100vw, 1440px)), 100% 100%, 0 100%);
}

.top-reason__reason05-panel-body::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(442 / 1440 * min(100vw, 1440px));
  height: calc(194 / 1440 * min(100vw, 1440px));
  background-image: url("../images/dorowre-img.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  pointer-events: none;
}

.top-reason__reason05-panel-body::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #dcaa48;
}

.top-reason__reason05-heading {
  margin: 0 0 calc(20 / 1440 * min(100vw, 1440px));
  padding-bottom: calc(20 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(22 / 1440 * min(100vw, 1440px));
  font-weight: 800;
  line-height: 1.7;
  color: #375A5F;
  border-bottom: 1px solid #dcaa48;
}

.top-reason__reason05-text {
  margin: 0 0 calc(16 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.9;
  color: #333;
}

.top-reason__reason05-text:last-child {
  margin-bottom: 0;
}

.top-clinicdental {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin-top: 0;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  overflow: hidden;
  container-type: inline-size;
  container-name: clinicdental;
}

.top-clinicdental::before {
  content: "";
  position: absolute;
  top: calc(110 / 1440 * 100cqw);
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-image: url("../images/top-clinicdental-bg.webp");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: cover;
  pointer-events: none;
}

.top-clinicdental__canvas {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  margin-inline: auto;
  padding: calc(110 / 1440 * 100cqw) 0 0;
  background-color: transparent;
  overflow: hidden;
}

@keyframes top-clinicdental-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.top-clinicdental__marquee {
  position: absolute;
  top: calc(-19 / 1440 * 100cqw);
  left: -15%;
  z-index: 3;
  width: 130%;
  height: calc(188 / 1440 * 100cqw);
  overflow: hidden;
  background-color: #fff;
  pointer-events: none;
  user-select: none;
  opacity: 0.08;
  transform: rotate(-2.74deg);
  transform-origin: center center;
}

.top-clinicdental__marquee-inner {
  display: flex;
  align-items: center;
  height: 100%;
}

.top-clinicdental__marquee-track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  animation: top-clinicdental-marquee 50s linear infinite;
  will-change: transform;
}

.top-clinicdental__marquee-text {
  flex-shrink: 0;
  padding-right: 0.6em;
  color: #375a5f;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(156.575 / 1440 * 100cqw);
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: calc(7.829 / 1440 * 100cqw);
  text-align: center;
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  .top-clinicdental__marquee-track {
    animation: none;
  }
}
.top-clinicdental__inner {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1150 / 1440 * 100cqw);
  margin: 0 auto;
  padding-top: calc(180 / 1440 * 100cqw);
  height: auto;
}

.top-clinicdental__hero-visual {
  display: none;
}

.top-clinicdental__hero {
  box-sizing: border-box;
  margin-top: calc(38 / 1440 * 100cqw);
  margin-bottom: calc(70 / 1440 * 100cqw);
}

.top-clinicdental__content {
  box-sizing: border-box;
  max-width: calc(790 / 1440 * 100cqw);
  padding-top: 0;
}

.top-clinicdental__title {
  margin: 0 0 calc(28 / 1440 * 100cqw);
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(46 / 1440 * 100cqw);
  font-weight: 500;
  line-height: 1.6;
  color: #333;
  letter-spacing: 0.04em;
}

.top-clinicdental__title-line {
  display: block;
}

.top-clinicdental__title-line--underline {
  display: inline-block;
  position: relative;
  padding-bottom: calc(12 / 1440 * 100cqw);
}

.top-clinicdental__title-line--underline::after {
  content: "";
  position: absolute;
  left: calc(-145 / 1440 * 100cqw);
  bottom: 0;
  width: calc(576 / 1440 * 100cqw);
  height: 1px;
  background-color: #dcaa48;
}

.top-clinicdental__text {
  margin: 0 0 calc(20 / 1440 * 100cqw);
  font-size: calc(18 / 1440 * 100cqw);
  font-weight: 300;
  line-height: 1.9;
  color: #333;
}

.top-clinicdental__text:last-child {
  margin-bottom: 0;
}

.top-clinicdental__survey {
  position: relative;
  left: calc(15 / 1440 * 100cqw);
  top: calc(6 / 1440 * 100cqw);
  box-sizing: border-box;
  width: 100%;
  margin-top: 0;
  padding-bottom: calc(120 / 1440 * 100cqw);
}

.top-clinicdental__survey-inner {
  position: relative;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: calc(564 / 1440 * 100cqw);
  padding: calc(30 / 1440 * 100cqw);
  overflow: hidden;
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: calc(2 / 1440 * 100cqw) calc(2 / 1440 * 100cqw) calc(4 / 1440 * 100cqw) rgba(0, 0, 0, 0.25);
}

.top-clinicdental__survey-deco {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  display: block;
  width: calc(364 / 1440 * 100cqw);
  height: calc(160 / 1440 * 100cqw);
  pointer-events: none;
  mix-blend-mode: multiply;
}

.top-clinicdental__survey-title,
.top-clinicdental__survey-body,
.top-clinicdental__survey-notes {
  position: relative;
  z-index: 1;
}

.top-clinicdental__survey-title {
  margin: 0 0 calc(25 / 1440 * 100cqw);
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(28 / 1440 * 100cqw);
  font-weight: 500;
  line-height: 1.6;
  color: #333;
  text-align: center;
  letter-spacing: 0.04em;
}

.top-clinicdental__survey-sup {
  font-size: 0.65em;
  line-height: 0;
  vertical-align: super;
}

.top-clinicdental__survey-body {
  display: flex;
  flex: 1 1 auto;
  align-items: flex-start;
  min-height: 0;
}

.top-clinicdental__survey-chart {
  flex: 0 0 calc(406 / 1440 * 100cqw);
}

.top-clinicdental__survey-chart-img {
  display: block;
  width: 100%;
  height: auto;
}

.top-clinicdental__survey-content {
  flex: 1 1 auto;
  min-width: 0;
}

.top-clinicdental__survey-lead {
  margin: 0 0 calc(20 / 1440 * 100cqw);
  font-size: calc(16 / 1440 * 100cqw);
  font-weight: 300;
  line-height: 1.9;
  color: #333;
}

.top-clinicdental__survey-item {
  margin-bottom: calc(0 / 1440 * 100cqw);
}
.top-clinicdental__survey-item:last-child {
  margin-bottom: 0;
}

.top-clinicdental__survey-question {
  display: flex;
  gap: calc(12 / 1440 * 100cqw);
  align-items: flex-start;
  padding: calc(4 / 1440 * 100cqw) calc(18 / 1440 * 100cqw);
  background: linear-gradient(90deg, #205a63 0%, #3b8d99 100%);
}

.top-clinicdental__survey-star {
  flex-shrink: 0;
  width: calc(16 / 1440 * 100cqw);
  height: calc(16 / 1440 * 100cqw);
  margin-top: calc(5 / 1440 * 100cqw);
  background-color: #fff;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-clinicdental__survey-question-text {
  margin: 0;
  font-size: calc(16 / 1440 * 100cqw);
  font-weight: 300;
  line-height: 1.7;
  color: #fff;
}

.top-clinicdental__survey-answer {
  font-size: calc(17 / 1440 * 100cqw);
  font-weight: 300;
  line-height: 1.6;
  color: #333;
}

.top-clinicdental__survey-rate {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(68 / 1440 * 100cqw);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
}

.top-clinicdental__survey-rate-unit {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(40 / 1440 * 100cqw);
  font-weight: 500;
}

.top-clinicdental__survey-notes {
  margin-top: calc(30 / 1440 * 100cqw);
  font-size: calc(12 / 1440 * 100cqw);
  font-weight: 300;
  line-height: 1.7;
  color: #333;
}
.top-clinicdental__survey-notes p {
  margin: 0 0 calc(0 / 1440 * 100cqw);
}
.top-clinicdental__survey-notes p:last-child {
  margin-bottom: 0;
}
.top-clinicdental__survey-notes a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: opacity 0.2s ease;
}
.top-clinicdental__survey-notes a:hover {
  opacity: 0.7;
}

.top-menu {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  padding: calc(100 / 1440 * min(100vw, 1440px)) calc(145 / 1440 * min(100vw, 1440px)) calc(150 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans JP", sans-serif;
  background-color: #f7fafb;
  overflow: visible;
}

.top-menu::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: calc(-160 / 1440 * min(100vw, 1440px));
  left: 0;
  z-index: 0;
  background-color: #f7fafb;
  background-image: url("../images/top-menu-bg.webp");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  pointer-events: none;
}

.top-menu__inner {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1150 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
}

.top-menu__header {
  margin-bottom: calc(80 / 1440 * min(100vw, 1440px));
  text-align: center;
}

.top-menu__lead {
  margin: 0 0 calc(12 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(25 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.7;
  color: #333;
  letter-spacing: 0.04em;
}

.top-menu__title {
  margin: 0 0 calc(12 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.6;
  color: #333;
  letter-spacing: 0.04em;
}

.top-menu__br-sp {
  display: none;
}

.top-menu__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-menu__title-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-menu__title-line {
  display: block;
  width: calc(140 / 1440 * min(100vw, 1440px));
  height: 1px;
  background-color: #375A5F;
}

.top-menu__featured {
  box-sizing: border-box;
  background-color: #fff;
}

.top-menu__featured-head {
  display: flex;
  align-items: center;
  gap: calc(12 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  grid-column: 1/-1;
  justify-self: start;
  width: 100%;
  max-width: 880px;
  height: calc(90 / 1440 * min(100vw, 1440px));
  margin: calc(-32 / 1440 * min(100vw, 1440px)) calc(-32 / 1440 * min(100vw, 1440px)) calc(24 / 1440 * min(100vw, 1440px));
  margin-bottom: 0;
  padding: calc(14 / 1440 * min(100vw, 1440px)) calc(24 / 1440 * min(100vw, 1440px));
  background: linear-gradient(90deg, #375a5f 0%, #4eacba 43%, #72bbc5 62%, rgba(114, 187, 197, 0.95) 65%, rgba(114, 187, 197, 0.15) 100%);
  position: relative;
  z-index: 1;
}

.top-menu__featured-icon {
  display: block;
  flex-shrink: 0;
  width: calc(82 / 1440 * min(100vw, 1440px));
  height: calc(52 / 1440 * min(100vw, 1440px));
  object-fit: contain;
}

.top-menu__featured-title {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
}

.top-menu__featured-body {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: calc(470 / 1440 * min(100vw, 1440px)) calc(300 / 1440 * min(100vw, 1440px)) 1fr;
  gap: calc(24 / 1440 * min(100vw, 1440px));
  min-height: calc(380 / 1440 * min(100vw, 1440px));
  padding: calc(32 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) calc(80 / 1440 * min(100vw, 1440px));
  background-color: #fff;
  box-shadow: calc(2 / 1440 * min(100vw, 1440px)) calc(2 / 1440 * min(100vw, 1440px)) calc(6 / 1440 * min(100vw, 1440px)) 0 rgba(55, 90, 95, 0.25);
}

.top-menu__featured-texts {
  display: flex;
  flex-direction: column;
  gap: calc(16 / 1440 * min(100vw, 1440px));
}

.top-menu__featured-text {
  margin: 0;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.85;
  color: #333;
}

.top-menu__featured-list {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-menu__featured-item {
  display: flex;
  align-items: center;
  gap: calc(12 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(16 / 1440 * min(100vw, 1440px));
  width: 114%;
}

.top-menu__featured-item:last-child {
  margin-bottom: 0;
}

.top-menu__featured-num {
  flex-shrink: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(28 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.2;
  color: #3b95a2;
}

.top-menu__featured-item-text {
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.75;
  color: #333;
}

.top-menu__featured-visual {
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  z-index: 2;
  width: calc(435 / 1440 * min(100vw, 1440px));
  height: auto;
  aspect-ratio: 435/383;
  overflow: hidden;
  pointer-events: none;
}

.top-menu__featured-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right bottom;
}

.top-menu__featured-img--sp {
  display: none;
}

.top-menu__featured-btn {
  position: absolute;
  right: calc(290 / 1440 * min(100vw, 1440px));
  bottom: calc(15 / 1440 * min(100vw, 1440px));
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  max-width: calc(316 / 1440 * min(100vw, 1440px));
  height: calc(51 / 1440 * min(100vw, 1440px));
  min-height: calc(51 / 1440 * min(100vw, 1440px));
  padding: 0 calc(8 / 1440 * min(100vw, 1440px));
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.5;
  color: #375A5F;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #375A5F;
  border-radius: calc(2 / 1440 * min(100vw, 1440px));
  transition: opacity 0.2s;
}

.top-menu__featured-btn:hover {
  color: #375A5F;
  opacity: 0.75;
}

.top-menu__featured-btn-icon {
  flex-shrink: 0;
  width: calc(28 / 1440 * min(100vw, 1440px));
  height: calc(28 / 1440 * min(100vw, 1440px));
  background-image: url("../images/btn-gold-point.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.top-menu__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(24 / 1440 * min(100vw, 1440px));
  margin-top: calc(40 / 1440 * min(100vw, 1440px));
}

.top-menu__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background-color: #fff;
  box-shadow: calc(2 / 1440 * min(100vw, 1440px)) calc(2 / 1440 * min(100vw, 1440px)) calc(6 / 1440 * min(100vw, 1440px)) 0 rgba(55, 90, 95, 0.25);
}

.top-menu__card-head {
  display: flex;
  align-items: center;
  gap: calc(12 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  min-height: calc(64 / 1440 * min(100vw, 1440px));
  padding: calc(14 / 1440 * min(100vw, 1440px)) calc(20 / 1440 * min(100vw, 1440px));
  background: linear-gradient(90deg, #375a5f 0%, #4eacba 43%, #72bbc5 62%, rgba(114, 187, 197, 0.95) 65%, rgba(114, 187, 197, 0.15) 100%);
}

.top-menu__card-icon {
  display: block;
  flex-shrink: 0;
  width: calc(82 / 1440 * min(100vw, 1440px));
  height: calc(52 / 1440 * min(100vw, 1440px));
  object-fit: contain;
}

.top-menu__card-title {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: calc(24 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.04em;
}

.top-menu__card-body {
  box-sizing: border-box;
  flex: 1;
  padding: calc(24 / 1440 * min(100vw, 1440px)) calc(20 / 1440 * min(100vw, 1440px)) calc(35 / 1440 * min(100vw, 1440px));
}

.top-menu__card-lead {
  padding-bottom: calc(8 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.7;
  color: #375A5F;
  border-bottom: 1px solid #EED199;
}

.top-menu__card-links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-menu__card-links-item {
  position: relative;
}

.top-menu__card-links-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: calc(4 / 1440 * min(100vw, 1440px));
  height: calc(4 / 1440 * min(100vw, 1440px));
  border-radius: 50%;
  background-color: #375a5f;
  transform: translateY(-50%);
}

.top-menu__card-link {
  display: inline-block;
  margin-left: calc(24 / 1440 * min(100vw, 1440px));
  padding: calc(12 / 1440 * min(100vw, 1440px)) 0 0;
  font-size: calc(18 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.6;
  color: #333;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 0.5px;
  text-decoration-color: #000;
  vertical-align: top;
}

.top-menu__card-link-sub {
  font-size: calc(14 / 1440 * min(100vw, 1440px));
}

.top-menu__card-link:hover {
  color: #333;
  opacity: 0.75;
}

.top-menu__more {
  display: flex;
  justify-content: center;
  margin-top: calc(60 / 1440 * min(100vw, 1440px));
}

.top-menu__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  max-width: calc(280 / 1440 * min(100vw, 1440px));
  min-height: calc(56 / 1440 * min(100vw, 1440px));
  padding: calc(12 / 1440 * min(100vw, 1440px)) calc(24 / 1440 * min(100vw, 1440px));
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.5;
  color: #375A5F;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #375A5F;
  border-radius: calc(2 / 1440 * min(100vw, 1440px));
  transition: opacity 0.2s;
}

.top-menu__btn:hover {
  color: #375A5F;
  opacity: 0.75;
}

.top-menu__btn-icon {
  flex-shrink: 0;
  width: calc(28 / 1440 * min(100vw, 1440px));
  height: calc(28 / 1440 * min(100vw, 1440px));
  background-image: url("../images/btn-gold-point.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.top-menu__deco {
  position: absolute;
  right: calc(0 / 1440 * min(100vw, 1440px));
  bottom: 0;
  z-index: 3;
  display: block;
  width: calc(364 / 1440 * min(100vw, 1440px));
  height: calc(160 / 1440 * min(100vw, 1440px));
  pointer-events: none;
  mix-blend-mode: multiply;
}

.top-menu-bottom {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  margin-top: calc(-118 / 1440 * min(100vw, 1440px));
  min-height: calc(860 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans JP", sans-serif;
  background-color: transparent;
  background-image: url("../images/top-menu-bottom-bg.webp");
  background-repeat: no-repeat;
  background-position: left top;
  background-size: cover;
  overflow: hidden;
}

.top-menu-bottom__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: calc(760 / 1440 * min(100vw, 1440px));
  margin: 0;
}

.top-menu-bottom__body {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: calc(-100 / 1440 * min(100vw, 1440px));
}

.top-menu-bottom__panel {
  position: relative;
  width: calc(830 / 1440 * min(100vw, 1440px));
  padding-right: calc(100 / 1440 * min(100vw, 1440px));
  max-width: 100%;
  background-color: transparent;
}
.top-menu-bottom__panel::before {
  content: "";
  position: absolute;
  top: calc(20 / 1440 * min(100vw, 1440px));
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: calc(2 / 1440 * min(100vw, 1440px)) calc(2 / 1440 * min(100vw, 1440px)) calc(4 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.25);
  pointer-events: none;
}

.top-menu-bottom__hero,
.top-menu-bottom__panel-body {
  position: relative;
  z-index: 1;
}

.top-menu-bottom__panel-gold {
  position: absolute;
  top: 0;
  right: 0;
  left: calc(64 / 1440 * min(100vw, 1440px));
  z-index: 2;
  width: auto;
  height: calc(20 / 1440 * min(100vw, 1440px));
  background-image: linear-gradient(90deg, #eed199 0%, #fbf9e0 50%, #dcaa48 100%);
  border-top: 1px solid #dcaa48;
  border-right: 1px solid #dcaa48;
  pointer-events: none;
  filter: drop-shadow(calc(2 / 1440 * min(100vw, 1440px)) calc(2 / 1440 * min(100vw, 1440px)) calc(4 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.25));
}

.top-menu-bottom__panel-head {
  position: relative;
}

.top-menu-bottom__heading {
  margin: 0;
  margin-top: calc(56 / 1440 * min(100vw, 1440px));
  padding: calc(3 / 1440 * min(100vw, 1440px)) calc(36 / 1440 * min(100vw, 1440px)) calc(3 / 1440 * min(100vw, 1440px)) calc(64 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.5;
  width: 87%;
  color: #fff;
  letter-spacing: 0.04em;
  text-shadow: calc(2 / 1440 * min(100vw, 1440px)) calc(2 / 1440 * min(100vw, 1440px)) calc(4 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.25);
  background: linear-gradient(90deg, #375a5f 0%, #3b95a2 48%, #57c5cf 100%);
  clip-path: polygon(0 0, calc(100% - 36 / 1440 * min(100vw, 1440px)) 0, 100% 100%, 0 100%);
  filter: drop-shadow(0 calc(4 / 1440 * min(100vw, 1440px)) calc(4 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.25));
}

.top-menu-bottom__panel-body {
  box-sizing: border-box;
  padding: calc(0 / 1440 * min(100vw, 1440px)) calc(0 / 1440 * min(100vw, 1440px)) calc(65 / 1440 * min(100vw, 1440px)) calc(64 / 1440 * min(100vw, 1440px));
}

.top-menu-bottom__text {
  margin: 0 0 calc(16 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.85;
  color: #375A5F;
}

.top-menu-bottom__text:last-of-type {
  margin-bottom: calc(28 / 1440 * min(100vw, 1440px));
}

.top-menu-bottom__text--intro {
  margin: calc(25 / 1440 * min(100vw, 1440px)) calc(16 / 1440 * min(100vw, 1440px)) calc(0 / 1440 * min(100vw, 1440px)) calc(0 / 1440 * min(100vw, 1440px));
  padding: 0 calc(0 / 1440 * min(100vw, 1440px)) calc(0 / 1440 * min(100vw, 1440px)) calc(64 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.85;
  color: #375A5F;
}

.top-menu-bottom__text--highlight {
  margin: 0 0 calc(16 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.85;
  color: #375A5F;
}

br.sp-br {
  display: none;
}

.top-menu-bottom__actions {
  display: flex;
  justify-content: left;
  gap: calc(46 / 1440 * min(100vw, 1440px));
  width: 100%;
}

.top-menu-bottom__cta {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: center;
  gap: calc(6 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  width: auto;
  min-width: 0;
  height: calc(58 / 1440 * min(100vw, 1440px));
  min-height: calc(58 / 1440 * min(100vw, 1440px));
  padding: calc(8 / 1440 * min(100vw, 1440px)) calc(7 / 1440 * min(100vw, 1440px));
  text-decoration: none;
  border-radius: calc(4 / 1440 * min(100vw, 1440px));
  transition: opacity 0.2s;
}

.top-menu-bottom__cta:hover {
  opacity: 0.88;
}

.top-menu-bottom__cta--reserve {
  background: linear-gradient(-87.14deg, #36a6a7 50.42%, #57e4e5 92.7%);
}

.top-menu-bottom__cta--line {
  background: linear-gradient(40.59deg, #06c755 58.48%, #42ec88 79.65%, #06c755 96.01%);
}

.top-menu-bottom__cta-icon {
  display: block;
  flex-shrink: 0;
  width: calc(24 / 1440 * min(100vw, 1440px));
  height: calc(27 / 1440 * min(100vw, 1440px));
  max-width: none;
  object-fit: contain;
}

.top-menu-bottom__cta-icon--line {
  width: calc(34 / 1440 * min(100vw, 1440px));
  height: calc(34 / 1440 * min(100vw, 1440px));
}

.top-menu-bottom__cta-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(4 / 1440 * min(100vw, 1440px));
  min-width: 0;
}

.top-menu-bottom__cta-note {
  font-size: calc(12 / 1440 * min(100vw, 1440px));
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 0.02em;
}

.top-menu-bottom__cta-title {
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  letter-spacing: 0.02em;
}

.top-message {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
  overflow: hidden;
  padding-top: calc(100 / 1440 * min(100vw, 1440px));
  padding-bottom: calc(50 / 1440 * min(100vw, 1440px));
}

.top-message__inner {
  position: relative;
  z-index: 1;
}

.top-message__header-wrap {
  position: relative;
  box-sizing: border-box;
  padding: calc(60 / 1440 * min(100vw, 1440px)) calc(80 / 1440 * min(100vw, 1440px)) calc(24 / 1440 * min(100vw, 1440px));
}

.top-message__header-en {
  position: absolute;
  top: calc(90 / 1440 * min(100vw, 1440px));
  left: calc(80 / 1440 * min(100vw, 1440px));
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(110 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1;
  color: #333;
  opacity: 0.06;
  pointer-events: none;
}

.top-message__title {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  text-align: center;
  letter-spacing: 0.04em;
}

.top-message__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-message__title-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-message__title-line {
  display: block;
  width: calc(140 / 1440 * min(100vw, 1440px));
  height: 1px;
  background-color: #375A5F;
}

.top-message__message-frame {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  max-width: 70%;
  padding: calc(100 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) 0;
}

.top-message__visual {
  display: none;
}

.top-message__visual-img--sp {
  display: none;
}

.top-message__upper {
  position: relative;
  box-sizing: border-box;
  max-width: calc(1240 / 1440 * min(100vw, 1440px));
  margin-right: auto;
  margin-left: auto;
  min-height: calc(846 / 1440 * min(100vw, 1440px));
  padding: calc(40 / 1440 * min(100vw, 1440px)) calc(20 / 1440 * min(100vw, 1440px)) calc(60 / 1440 * min(100vw, 1440px));
  background-image: url("../images/top-message-image1.webp");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 100% auto;
}

.top-message__message-box {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  max-width: 70%;
  padding: 0 calc(32 / 1440 * min(100vw, 1440px)) calc(40 / 1440 * min(100vw, 1440px));
}

.top-message__catch {
  margin-bottom: calc(50 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(28 / 1440 * min(100vw, 1440px));
  color: #375A5F;
  text-align: center;
}

.top-message__catch-lead {
  margin: 0 0 calc(8 / 1440 * min(100vw, 1440px));
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
  line-height: 1.6;
  color: inherit;
  letter-spacing: 0.04em;
}

.top-message__catch-title {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
  line-height: 1.6;
  color: inherit;
  letter-spacing: 0.04em;
}

.top-message__body {
  display: flex;
  flex-direction: column;
  gap: calc(12 / 1440 * min(100vw, 1440px));
}

.top-message__text {
  margin: 0;
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.85;
  color: #333;
}

.top-message__name {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  line-height: 1.4;
  color: #333;
  text-align: right;
}

.top-message__name--pc {
  position: absolute;
  right: calc(50 / 1440 * min(100vw, 1440px));
  bottom: calc(150 / 1440 * min(100vw, 1440px));
  z-index: 2;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: calc(12 / 1440 * min(100vw, 1440px));
}

.top-message__name--visual {
  display: none;
}

.top-message__name-title {
  display: block;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(20 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  letter-spacing: 0.08em;
}

.top-message__name-text {
  display: block;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(28 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  letter-spacing: 0.12em;
}

.top-message__lower {
  box-sizing: border-box;
  padding: calc(40 / 1440 * min(100vw, 1440px)) calc(30 / 1440 * min(100vw, 1440px)) calc(30 / 1440 * min(100vw, 1440px));
  background-image: url("../images/top-message-image2.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin-top: calc(-40 / 1440 * min(100vw, 1440px));
  max-width: calc(1240 / 1440 * min(100vw, 1440px));
  margin-right: auto;
  margin-left: auto;
  overflow: visible;
  box-shadow: calc(2 / 1440 * min(100vw, 1440px)) calc(2 / 1440 * min(100vw, 1440px)) calc(6 / 1440 * min(100vw, 1440px)) 0 rgba(0, 0, 0, 0.25);
}

.top-message__info-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(48 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  padding: calc(40 / 1440 * min(100vw, 1440px)) calc(0 / 1440 * min(100vw, 1440px));
}

.top-message__info-head {
  display: flex;
  align-items: center;
  gap: calc(8 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(20 / 1440 * min(100vw, 1440px));
}

.top-message__info-star {
  display: block;
  flex-shrink: 0;
  width: calc(28 / 1440 * min(100vw, 1440px));
  height: calc(14 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: left center, right center;
  -webkit-mask-position: left center, right center;
  mask-repeat: no-repeat, no-repeat;
  -webkit-mask-repeat: no-repeat, no-repeat;
  mask-size: calc(14 / 1440 * min(100vw, 1440px)) calc(14 / 1440 * min(100vw, 1440px)), calc(14 / 1440 * min(100vw, 1440px)) calc(14 / 1440 * min(100vw, 1440px));
  -webkit-mask-size: calc(14 / 1440 * min(100vw, 1440px)) calc(14 / 1440 * min(100vw, 1440px)), calc(14 / 1440 * min(100vw, 1440px)) calc(14 / 1440 * min(100vw, 1440px));
}

.top-message__info-title {
  flex-shrink: 0;
  margin: 0;
  font-size: calc(20 / 1440 * min(100vw, 1440px));
  font-weight: 700;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.04em;
}

.top-message__info-line {
  display: block;
  flex: 1;
  height: 1px;
  background-color: #000;
}

.top-message__qual-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-message__qual-item {
  position: relative;
  padding-left: calc(16 / 1440 * min(100vw, 1440px));
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.8;
  color: #333;
  margin-bottom: calc(10 / 1440 * min(100vw, 1440px));
}

.top-message__qual-item::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  color: #333;
}

.top-message__history {
  margin: 0;
}

.top-message__history-row {
  display: grid;
  grid-template-columns: calc(72 / 1440 * min(100vw, 1440px)) 1fr;
  gap: calc(12 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(14 / 1440 * min(100vw, 1440px));
}

.top-message__history-row:last-child {
  margin-bottom: 0;
}

.top-message__history-year {
  margin: 0;
  font-size: calc(13 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.8;
  color: #666;
}

.top-message__history-text {
  margin: 0;
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.8;
  color: #333;
}

.top-message__actions {
  display: flex;
  justify-content: center;
  gap: calc(24 / 1440 * min(100vw, 1440px));
  margin-top: calc(40 / 1440 * min(100vw, 1440px));
}

.top-message__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  width: calc(246 / 1440 * min(100vw, 1440px));
  min-height: calc(56 / 1440 * min(100vw, 1440px));
  padding: calc(12 / 1440 * min(100vw, 1440px)) calc(20 / 1440 * min(100vw, 1440px));
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.5;
  color: #375A5F;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #375A5F;
  border-radius: calc(2 / 1440 * min(100vw, 1440px));
  transition: opacity 0.2s;
}

.top-message__btn:hover {
  color: #375A5F;
  opacity: 0.75;
}

.top-message__btn--insta {
  width: calc(364 / 1440 * min(100vw, 1440px));
  justify-content: flex-start;
}

.top-message__btn-insta {
  display: block;
  flex-shrink: 0;
  width: calc(20 / 1440 * min(100vw, 1440px));
  height: calc(20 / 1440 * min(100vw, 1440px));
  object-fit: contain;
}

.top-message__btn-icon {
  flex-shrink: 0;
  width: calc(28 / 1440 * min(100vw, 1440px));
  height: calc(28 / 1440 * min(100vw, 1440px));
  background-image: url("../images/btn-gold-point.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.top-media {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #fff;
}

.top-media__awards {
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  padding: calc(20 / 1440 * min(100vw, 1440px)) 0;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
}

@keyframes top-media-awards-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.top-media__awards-track {
  display: flex;
  flex-wrap: nowrap;
  gap: calc(12 / 1440 * min(100vw, 1440px));
  width: max-content;
  padding: 0 calc(12 / 1440 * min(100vw, 1440px));
  animation: top-media-awards-scroll 35s linear infinite;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .top-media__awards-track {
    animation: none;
  }
}
.top-media__awards-img {
  display: block;
  flex-shrink: 0;
  width: calc(264 / 1440 * min(100vw, 1440px));
  height: calc(185 / 1440 * min(100vw, 1440px));
  object-fit: cover;
}

.top-media__body {
  position: relative;
  box-sizing: border-box;
  padding: calc(120 / 1440 * min(100vw, 1440px)) calc(80 / 1440 * min(100vw, 1440px));
  background-color: rgba(255, 255, 255, 0.98);
  overflow: hidden;
}

.top-media__body::after {
  content: "";
  position: absolute;
  right: max(0px, (100% - 1440px) / 2);
  bottom: calc(10 / 1440 * min(100vw, 1440px));
  z-index: 0;
  width: calc(364 / 1440 * min(100vw, 1440px));
  height: calc(160 / 1440 * min(100vw, 1440px));
  background-image: url("../images/top-media-ashirai.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  pointer-events: none;
}

.top-media__bg-en {
  position: absolute;
  top: 0;
  left: max(0px, (100% - 1440px) / 2);
  z-index: 0;
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(112 / 1440 * min(100vw, 1440px));
  font-weight: 400;
  line-height: 1;
  color: #375a5f;
  opacity: 0.08;
  letter-spacing: calc(5.6 / 1440 * min(100vw, 1440px));
  white-space: nowrap;
  pointer-events: none;
  transform: translateX(1em) rotate(90deg);
  transform-origin: top left;
}

.top-media__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1137 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
}

.top-media__header {
  margin-bottom: calc(60 / 1440 * min(100vw, 1440px));
  text-align: center;
}

.top-media__title {
  margin: 0 0 calc(12 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(32 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.04em;
}

.top-media__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-media__title-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-media__title-line {
  display: block;
  width: calc(140 / 1440 * min(100vw, 1440px));
  height: 1px;
  background-color: #375A5F;
}

.top-media__list {
  display: grid;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0;
  list-style: none;
}

.top-media__list--upper {
  grid-template-columns: repeat(3, calc(369 / 1440 * min(100vw, 1440px)));
  gap: calc(15 / 1440 * min(100vw, 1440px));
  width: calc(1137 / 1440 * min(100vw, 1440px));
  max-width: 100%;
}

.top-media__list--lower {
  grid-template-columns: calc(300 / 1440 * min(100vw, 1440px)) calc(459 / 1440 * min(100vw, 1440px)) calc(300 / 1440 * min(100vw, 1440px));
  gap: calc(37 / 1440 * min(100vw, 1440px));
  width: calc(1133 / 1440 * min(100vw, 1440px));
  max-width: 100%;
  margin-top: calc(28 / 1440 * min(100vw, 1440px));
  align-items: stretch;
}

.top-media__item {
  margin: 0;
  min-width: 0;
}

.top-media__link {
  display: block;
  overflow: hidden;
  text-decoration: none;
  transition: opacity 0.2s;
}

.top-media__link:hover {
  opacity: 0.8;
}

.top-media__list--upper .top-media__link {
  width: 100%;
  aspect-ratio: 369/120;
}

.top-media__list--upper .top-media__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.top-media__list--lower .top-media__link {
  width: 100%;
  height: calc(170 / 1440 * min(100vw, 1440px));
}

.top-media__list--lower .top-media__item:not(.top-media__item--center) .top-media__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.top-media__list--lower .top-media__item--center .top-media__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.top-news {
  position: relative;
  box-sizing: border-box;
  padding: calc(72 / 1440 * min(100vw, 1440px)) calc(80 / 1440 * min(100vw, 1440px)) calc(88 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans JP", sans-serif;
  background-color: #375a5f;
  background-image: url("../images/top-news-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}

.top-news__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1280 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
}

.top-news__bg-en {
  position: absolute;
  top: calc(16 / 1440 * min(100vw, 1440px));
  right: calc(0 / 1440 * min(100vw, 1440px));
  z-index: 0;
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(140 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1;
  color: rgba(255, 255, 255, 0.1);
  writing-mode: vertical-rl;
  letter-spacing: 0.1em;
  pointer-events: none;
}

.top-news__layout {
  display: grid;
  grid-template-columns: calc(300 / 1440 * min(100vw, 1440px)) 1fr;
  margin: calc(0 / 1440 * min(100vw, 1440px)) calc(35 / 1440 * min(100vw, 1440px));
  align-items: stretch;
}

.top-news__side {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: calc(40 / 1440 * min(100vw, 1440px));
  padding: calc(8 / 1440 * min(100vw, 1440px)) 0;
}

.top-news__header {
  margin: 0;
}

.top-news__title {
  margin: 0 0 calc(14 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(36 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.06em;
}

.top-news__title-deco {
  display: flex;
  align-items: center;
  gap: 0;
}

.top-news__title-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: rgba(255, 255, 255, 0.85);
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-news__title-line {
  display: block;
  width: calc(160 / 1440 * min(100vw, 1440px));
  height: 1px;
  background-color: rgba(255, 255, 255, 0.7);
}

.top-news__btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  width: calc(246 / 1440 * min(100vw, 1440px));
  max-width: calc(246 / 1440 * min(100vw, 1440px));
  min-height: calc(52 / 1440 * min(100vw, 1440px));
  padding: calc(12 / 1440 * min(100vw, 1440px)) calc(16 / 1440 * min(100vw, 1440px));
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.5;
  color: #30436a;
  text-decoration: none;
  background-color: #fff;
  border: none;
  border-radius: calc(2 / 1440 * min(100vw, 1440px));
  transition: opacity 0.2s;
}

.top-news__btn:hover {
  color: #30436a;
  background-color: #fff;
  opacity: 0.75;
}

.top-news__btn-icon {
  flex-shrink: 0;
  width: calc(24 / 1440 * min(100vw, 1440px));
  height: calc(24 / 1440 * min(100vw, 1440px));
  background-image: url("../images/btn-gold-point.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.top-news__panel {
  box-sizing: border-box;
  min-height: calc(380 / 1440 * min(100vw, 1440px));
  background-color: transparent;
  box-shadow: none;
  overflow: visible;
}

.top-news__tabs {
  position: relative;
  height: 100%;
}

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

.top-news__tab-labels {
  display: flex;
  align-items: flex-end;
  width: calc(330 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(-1 / 1440 * min(100vw, 1440px));
  position: relative;
  z-index: 2;
}

.top-news__tab-label {
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 0;
  min-height: calc(44 / 1440 * min(100vw, 1440px));
  padding: calc(10 / 1440 * min(100vw, 1440px)) calc(16 / 1440 * min(100vw, 1440px)) calc(8 / 1440 * min(100vw, 1440px));
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.5;
  color: #fff;
  background-color: #30436a;
  border: none;
  border-radius: calc(2 / 1440 * min(100vw, 1440px)) calc(2 / 1440 * min(100vw, 1440px)) 0 0;
  cursor: pointer;
  position: relative;
  z-index: 1;
  transition: background-color 0.2s, color 0.2s, padding 0.2s;
}

.top-news__tab-input:nth-of-type(1):checked ~ .top-news__tab-labels .top-news__tab-label:nth-child(1),
.top-news__tab-input:nth-of-type(2):checked ~ .top-news__tab-labels .top-news__tab-label:nth-child(2) {
  z-index: 3;
  padding-bottom: calc(12 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(-1 / 1440 * min(100vw, 1440px));
  color: #333;
  background-color: #fff;
}

.top-news__tab-panel {
  display: none;
}

.top-news__tab-input:nth-of-type(1):checked ~ .top-news__tab-panel--media,
.top-news__tab-input:nth-of-type(2):checked ~ .top-news__tab-panel--notice {
  display: block;
}

.top-news__list {
  margin: 0;
  padding: calc(20 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) calc(28 / 1440 * min(100vw, 1440px));
  list-style: none;
  background-color: #fff;
  box-shadow: 0 calc(8 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.12);
}

.top-news__item {
  border-bottom: 1px solid #EED199;
}

.top-news__item:last-child {
  border-bottom: none;
}

.top-news__item--empty {
  padding: calc(16 / 1440 * min(100vw, 1440px)) 0 calc(16 / 1440 * min(100vw, 1440px)) calc(40 / 1440 * min(100vw, 1440px));
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  line-height: 1.65;
  color: #888;
}

.top-news__link {
  display: grid;
  grid-template-columns: calc(92 / 1440 * min(100vw, 1440px)) calc(88 / 1440 * min(100vw, 1440px)) 1fr;
  gap: calc(20 / 1440 * min(100vw, 1440px));
  align-items: center;
  padding: calc(16 / 1440 * min(100vw, 1440px)) 0 calc(16 / 1440 * min(100vw, 1440px)) calc(40 / 1440 * min(100vw, 1440px));
  color: #333;
  text-decoration: none;
  transition: opacity 0.2s;
}

.top-news__link:hover {
  opacity: 0.7;
}

.top-news__date {
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.5;
  color: #888;
  white-space: nowrap;
}

.top-news__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: calc(76 / 1440 * min(100vw, 1440px));
  padding: calc(3 / 1440 * min(100vw, 1440px)) calc(10 / 1440 * min(100vw, 1440px));
  font-size: calc(10 / 1440 * min(100vw, 1440px));
  line-height: 1.4;
  color: #375A5F;
  text-align: center;
  white-space: nowrap;
  border: 1px solid #375A5F;
  border-radius: calc(3 / 1440 * min(100vw, 1440px));
}

.top-news__item-title {
  overflow: hidden;
  font-size: calc(18 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.65;
  color: #333;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.top-colm {
  position: relative;
  box-sizing: border-box;
  padding: calc(72 / 1440 * min(100vw, 1440px)) calc(80 / 1440 * min(100vw, 1440px)) calc(88 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans JP", sans-serif;
  background-color: #f7fafb;
  background-image: url("../images/top-colm-bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  overflow: hidden;
}

.top-colm__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1280 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
}

.top-colm__bg-en {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: auto;
  margin: 0;
  color: #375A5F;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(112 / 1440 * min(100vw, 1440px));
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: calc(5.6 / 1440 * min(100vw, 1440px));
  text-align: left;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  opacity: 0.08;
}

.top-colm__header {
  margin-bottom: calc(36 / 1440 * min(100vw, 1440px));
  text-align: center;
}

.top-colm__title {
  margin: 0 0 calc(12 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(36 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.06em;
}

.top-colm__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-colm__title-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-colm__title-line {
  display: block;
  width: calc(140 / 1440 * min(100vw, 1440px));
  height: 1px;
  background-color: #375A5F;
}

.top-colm__panel {
  box-sizing: border-box;
  padding: calc(36 / 1440 * min(100vw, 1440px)) calc(40 / 1440 * min(100vw, 1440px)) calc(44 / 1440 * min(100vw, 1440px));
  background-color: #fff;
  border-radius: calc(1 / 1440 * min(100vw, 1440px));
  box-shadow: 0 calc(8 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) rgba(55, 90, 95, 0.1);
}

.top-colm__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(28 / 1440 * min(100vw, 1440px));
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-colm__item {
  margin: 0;
}

.top-colm__card-link {
  display: block;
  color: #333;
  text-decoration: none;
  transition: opacity 0.2s;
}

.top-colm__card-link:hover {
  opacity: 0.75;
}

.top-colm__thumb {
  position: relative;
  height: calc(190 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(14 / 1440 * min(100vw, 1440px));
  overflow: hidden;
  background-color: #d9a8a8;
}

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

.top-colm__cat {
  position: absolute;
  top: calc(0 / 1440 * min(100vw, 1440px));
  left: calc(0 / 1440 * min(100vw, 1440px));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: calc(121 / 1440 * min(100vw, 1440px));
  min-width: calc(121 / 1440 * min(100vw, 1440px));
  height: calc(33 / 1440 * min(100vw, 1440px));
  padding: 0;
  font-size: calc(12 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1;
  color: #fff;
  text-align: center;
  background: linear-gradient(10.88deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
}

.top-colm__date {
  margin: 0 0 calc(8 / 1440 * min(100vw, 1440px));
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 1.5;
  color: #737373;
}

.top-colm__card-title {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  font-size: calc(18 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.75;
  color: #375A5F;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.top-colm__more {
  display: flex;
  justify-content: center;
  margin-top: calc(36 / 1440 * min(100vw, 1440px));
}

.top-colm__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(10 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  width: calc(280 / 1440 * min(100vw, 1440px));
  min-width: calc(280 / 1440 * min(100vw, 1440px));
  height: calc(51 / 1440 * min(100vw, 1440px));
  min-height: calc(51 / 1440 * min(100vw, 1440px));
  padding: calc(12 / 1440 * min(100vw, 1440px)) calc(10 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: normal;
  color: #375A5F;
  text-align: center;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #375A5F;
  border-radius: calc(2 / 1440 * min(100vw, 1440px));
  transition: opacity 0.2s;
}

.top-colm__btn:hover {
  color: #375A5F;
  opacity: 0.75;
}

.top-colm__btn-icon {
  flex-shrink: 0;
  width: calc(34 / 1440 * min(100vw, 1440px));
  height: calc(27 / 1440 * min(100vw, 1440px));
  background-image: url("../images/btn-gold-point.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.top-faq {
  position: relative;
  box-sizing: border-box;
  padding: calc(72 / 1440 * min(100vw, 1440px)) calc(80 / 1440 * min(100vw, 1440px)) calc(88 / 1440 * min(100vw, 1440px));
  font-family: "Noto Sans JP", sans-serif;
  background-color: #f7fafb;
  background-image: url("../images/top-faq-bg.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  overflow: hidden;
}

.top-faq__inner {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: calc(1280 / 1440 * min(100vw, 1440px));
  margin: 0 auto;
}

.top-faq__watermark {
  position: absolute;
  top: calc(-40 / 1440 * min(100vw, 1440px));
  right: 0;
  z-index: 0;
  width: auto;
  margin: 0;
  color: #375A5F;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(112 / 1440 * min(100vw, 1440px));
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: calc(5.6 / 1440 * min(100vw, 1440px));
  text-align: right;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  opacity: 0.08;
}

.top-faq__header {
  margin-bottom: calc(36 / 1440 * min(100vw, 1440px));
  text-align: center;
}

.top-faq__title {
  margin: 0 0 calc(12 / 1440 * min(100vw, 1440px));
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: calc(36 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.5;
  color: #333;
  letter-spacing: 0.06em;
}

.top-faq__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.top-faq__title-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.top-faq__title-line {
  display: block;
  width: calc(140 / 1440 * min(100vw, 1440px));
  height: 1px;
  background-color: #375A5F;
}

.top-faq__panel {
  position: relative;
  box-sizing: border-box;
  padding: calc(40 / 1440 * min(100vw, 1440px)) calc(48 / 1440 * min(100vw, 1440px)) calc(64 / 1440 * min(100vw, 1440px));
  background-color: #fff;
  border-radius: calc(6 / 1440 * min(100vw, 1440px));
  box-shadow: 0 calc(8 / 1440 * min(100vw, 1440px)) calc(32 / 1440 * min(100vw, 1440px)) rgba(55, 90, 95, 0.1);
  overflow: hidden;
}

.top-faq__list {
  margin: 0;
  padding: 0;
}

.top-faq__item {
  padding-bottom: calc(28 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(28 / 1440 * min(100vw, 1440px));
  border-bottom: 1px solid #e5e5e5;
}

.top-faq__item:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

.top-faq__question {
  display: flex;
  gap: calc(14 / 1440 * min(100vw, 1440px));
  align-items: center;
  margin: 0 0 calc(16 / 1440 * min(100vw, 1440px));
}

.top-faq__q-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(32 / 1440 * min(100vw, 1440px));
  height: calc(32 / 1440 * min(100vw, 1440px));
  font-family: "Noto Serif JP", serif;
  font-size: calc(18 / 1440 * min(100vw, 1440px));
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: linear-gradient(35.17deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
  border-radius: calc(3 / 1440 * min(100vw, 1440px));
}

.top-faq__q-text {
  flex: 1;
  min-width: 0;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: 1.6;
  color: #375A5F;
}

.top-faq__answer {
  display: flex;
  gap: calc(14 / 1440 * min(100vw, 1440px));
  align-items: flex-start;
  margin: 0;
  padding-left: 0;
}

.top-faq__a-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(32 / 1440 * min(100vw, 1440px));
  height: calc(32 / 1440 * min(100vw, 1440px));
  font-family: "Noto Serif JP", serif;
  font-size: calc(18 / 1440 * min(100vw, 1440px));
  font-weight: 700;
  line-height: 1;
  color: #375A5F;
  background-color: #fff;
  border: 2px solid #375A5F;
  border-radius: calc(3 / 1440 * min(100vw, 1440px));
}

.top-faq__a-text {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: calc(14 / 1440 * min(100vw, 1440px));
  font-weight: 300;
  line-height: 2;
  color: #444;
}

@media (min-width: 1441px) {
  .top-reason__header-wrap {
    box-sizing: border-box;
    width: 1440px;
    max-width: 100%;
    margin-inline: auto;
  }
  .top-reason__reason01-inner,
  .top-reason__reason04-inner {
    margin-right: calc((100vw - 1440px) / 2);
  }
  .top-reason__reason02-inner,
  .top-reason__reason05-inner {
    margin-left: calc((100vw - 1440px) / 2);
  }
  .top-reason__reason03 {
    padding-left: calc(125px + (100vw - 1440px) / 2);
    padding-right: calc(125px + (100vw - 1440px) / 2);
  }
  .top-message__inner,
  .top-menu-bottom__inner {
    box-sizing: border-box;
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
  }
  .top-menu::after {
    bottom: calc(0.1111111111 * 1440px * -1);
    background-position: center bottom;
    background-size: cover;
  }
  .top-menu-bottom {
    min-height: 59.7222222222vw;
    background-position: left top;
  }
  .top-menu-bottom__inner {
    min-height: 52.7777777778vw;
  }
  .top-optimal {
    padding-left: calc(125px + (100vw - 1440px) / 2);
    padding-right: calc(125px + (100vw - 1440px) / 2);
  }
  .top-optimal__watermark {
    left: calc((100vw - 1440px) / 2);
  }
}
@media screen and (max-width:768px) {
  .top-reason {
    margin-top: calc(-24 / 375 * 100vw);
    padding-top: 0;
    overflow: visible;
  }
  .top-reason__inner {
    max-width: 100%;
  }
  .top-reason__header-wrap {
    height: auto;
    padding: calc(40 / 375 * 100vw) calc(16 / 375 * 100vw) calc(24 / 375 * 100vw);
    margin-top: calc(0 / 375 * 100vw);
  }
  .top-reason__header-wrap::before {
    top: calc(48 / 375 * 100vw);
    left: calc(16 / 375 * 100vw);
    font-size: calc(72 / 375 * 100vw);
  }
  .top-reason__header {
    margin-top: calc(24 / 375 * 100vw);
  }
  .top-reason__lead {
    margin-bottom: calc(8 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    letter-spacing: 0.04em;
  }
  .top-reason__title {
    margin-bottom: calc(10 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
  }
  .top-reason__title-box {
    padding: calc(4 / 375 * 100vw) calc(16 / 375 * 100vw);
  }
  .top-reason__title-num {
    font-size: calc(28 / 375 * 100vw);
  }
  .top-reason__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-reason__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .top-reason__reason01-img {
    height: calc(220 / 375 * 100vw);
  }
  .top-reason__reason01-inner {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    padding: 0;
  }
  .top-reason__reason01 {
    overflow: visible;
  }
  .top-reason__reason01-panel {
    width: calc(100% - calc(16 / 375 * 100vw));
    max-width: none;
    height: auto;
    margin-top: calc(-48 / 375 * 100vw);
    margin-right: 0;
    margin-left: auto;
    overflow: visible;
  }
  .top-reason__reason01-panel-gold {
    top: 0;
    right: 0;
    bottom: calc(-8 / 375 * 100vw);
    left: 0;
    width: auto;
    height: auto;
    background-image: url("../images/sp-reason01-gold.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    transform: none;
    clip-path: none;
  }
  .top-reason__reason01-label {
    top: calc(33 / 375 * 100vw);
    left: calc(16 / 375 * 100vw);
    transform: translateY(-100%) rotate(-3.59deg);
    transform-origin: left bottom;
    text-shadow: 0.55px 0.55px 3.85px rgba(0, 0, 0, 0.25);
  }
  .top-reason__reason01-label-sub {
    font-size: calc(21 / 375 * 100vw);
  }
  .top-reason__reason01-label-num {
    font-size: calc(47 / 375 * 100vw);
  }
  .top-reason__reason01-panel-body {
    width: calc(100% - calc(8 / 375 * 100vw));
    height: auto;
    min-height: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: 0;
    padding: calc(30 / 375 * 100vw) calc(16 / 375 * 100vw) calc(25 / 375 * 100vw);
    background-image: none;
    clip-path: polygon(0 calc(22 / 375 * 100vw), 100% 0, 100% 100%, 0 100%);
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
  }
  .top-reason__reason01-panel-body::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
    width: calc(221 / 375 * 100vw);
    height: calc(97 / 375 * 100vw);
    background-image: url("../images/dorowre-img.webp");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    opacity: 0.2;
    pointer-events: none;
  }
  .top-reason__reason01-panel-body::after {
    height: calc(3 / 375 * 100vw);
  }
  .top-reason__reason01-heading {
    position: relative;
    z-index: 1;
    margin-bottom: calc(23 / 375 * 100vw);
    padding-bottom: calc(15 / 375 * 100vw);
    font-family: "Shippori Mincho", "Noto Serif JP", serif;
    font-size: calc(16 / 375 * 100vw);
    font-weight: 800;
    line-height: calc(31 / 375 * 100vw);
    color: #375A5F;
  }
  .top-reason__reason01-heading br {
    display: none;
  }
  .top-reason__reason01-text {
    position: relative;
    z-index: 1;
    margin-bottom: calc(8 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    font-weight: 400;
    line-height: calc(20 / 375 * 100vw);
  }
  .top-reason__reason02-img {
    height: calc(220 / 375 * 100vw);
  }
  .top-reason__reason02-inner {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    padding: 0;
  }
  .top-reason__reason02 {
    overflow: visible;
  }
  .top-reason__reason02-panel {
    width: calc(100% - calc(16 / 375 * 100vw));
    max-width: none;
    height: auto;
    margin-top: calc(-60 / 375 * 100vw);
    margin-right: auto;
    margin-left: 0;
    overflow: visible;
  }
  .top-reason__reason02-panel-gold {
    top: 0;
    right: 0;
    bottom: calc(-8 / 375 * 100vw);
    left: 0;
    width: auto;
    height: auto;
    background-image: url("../images/sp-reason01-gold.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    transform: scaleX(-1);
    clip-path: none;
  }
  .top-reason__reason02-label {
    top: calc(-32 / 375 * 100vw);
    right: calc(200 / 375 * 100vw);
    left: auto;
    transform: rotate(6deg);
    transform-origin: right bottom;
  }
  .top-reason__reason02-label-sub {
    font-size: calc(20 / 375 * 100vw);
  }
  .top-reason__reason02-label-num {
    font-size: calc(48 / 375 * 100vw);
  }
  .top-reason__reason02-panel-body {
    width: calc(100% - calc(8 / 375 * 100vw));
    height: auto;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: auto;
    padding: calc(36 / 375 * 100vw) calc(16 / 375 * 100vw) calc(24 / 375 * 100vw);
    clip-path: polygon(0 0, 100% calc(22 / 375 * 100vw), 100% 100%, 0 100%);
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
  }
  .top-reason__reason02-panel-body::before {
    width: calc(180 / 375 * 100vw);
    height: calc(80 / 375 * 100vw);
  }
  .top-reason__reason02-heading {
    margin-bottom: calc(12 / 375 * 100vw);
    padding-bottom: calc(12 / 375 * 100vw);
    font-family: "Shippori Mincho", "Noto Serif JP", serif;
    font-size: calc(16 / 375 * 100vw);
    font-weight: 800;
    line-height: 1.7;
    color: #375A5F;
  }
  .top-reason__reason02-text {
    margin-bottom: calc(12 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.85;
  }
  .top-reason__reason03 {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: calc(80 / 375 * 100vw) calc(16 / 375 * 100vw) calc(100 / 375 * 100vw);
  }
  .top-reason__reason03-img {
    display: none;
  }
  .top-reason__reason03-bg {
    background-image: url("../images/sp-reason03-bg.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }
  .top-reason__reason03-inner {
    max-width: 100%;
    padding: 0;
  }
  .top-reason__reason03-label-sub {
    font-size: calc(20 / 375 * 100vw);
  }
  .top-reason__reason03-label-num {
    font-size: calc(48 / 375 * 100vw);
  }
  .top-reason__reason03-panel {
    max-width: calc(343 / 375 * 100vw);
  }
  .top-reason__reason03-panel-body {
    padding: calc(32 / 375 * 100vw) calc(10 / 375 * 100vw) calc(24 / 375 * 100vw);
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
  }
  .top-reason__reason03-panel-body::before {
    width: calc(180 / 375 * 100vw);
    height: calc(80 / 375 * 100vw);
  }
  .top-reason__reason03-lead {
    display: none;
    margin-bottom: calc(8 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    line-height: 1.7;
  }
  .top-reason__reason03-heading {
    margin-bottom: calc(12 / 375 * 100vw);
    padding-bottom: calc(12 / 375 * 100vw);
    font-family: "Shippori Mincho", "Noto Serif JP", serif;
    font-size: calc(16 / 375 * 100vw);
    font-weight: 800;
    line-height: 1.7;
  }
  .top-reason__reason03-heading-first {
    display: inline;
  }
  .top-reason__reason03-heading br {
    display: block;
  }
  .top-reason__reason03-text {
    margin-bottom: calc(12 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.85;
  }
  .top-reason__reason03-text:last-of-type {
    margin-bottom: calc(16 / 375 * 100vw);
  }
  .top-reason__reason03-note {
    font-size: calc(10 / 375 * 100vw);
    line-height: 1.8;
  }
  .top-reason__reason04-img {
    display: none;
  }
  .top-reason__reason04-visual {
    height: calc(220 / 375 * 100vw);
    background-image: url("../images/sp-reason04-bg.webp");
    background-repeat: no-repeat;
    background-position: top;
    background-size: cover;
  }
  .top-reason__reason04-inner {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    padding: 0;
  }
  .top-reason__reason04 {
    overflow: visible;
  }
  .top-reason__reason04-panel {
    justify-content: flex-start;
    width: calc(100% - calc(16 / 375 * 100vw));
    max-width: none;
    height: auto;
    margin-top: calc(-48 / 375 * 100vw);
    margin-right: 0;
    margin-left: auto;
    overflow: visible;
  }
  .top-reason__reason04-panel-gold {
    top: 0;
    right: 0;
    bottom: calc(-8 / 375 * 100vw);
    left: 0;
    width: auto;
    height: auto;
    background-image: url("../images/sp-reason01-gold.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    transform: none;
    clip-path: none;
  }
  .top-reason__reason04-label {
    top: calc(33 / 375 * 100vw);
    left: calc(16 / 375 * 100vw);
    display: block;
    transform: translateY(-100%) rotate(-3.59deg);
    transform-origin: left bottom;
    text-shadow: 0.55px 0.55px 3.85px rgba(0, 0, 0, 0.25);
  }
  .top-reason__reason04-label-sub {
    display: inline;
    font-size: calc(21 / 375 * 100vw);
    font-weight: 500;
  }
  .top-reason__reason04-label-num {
    display: inline;
    margin-top: 0;
    margin-left: 0.15em;
    font-size: calc(47 / 375 * 100vw);
    font-weight: 500;
    line-height: normal;
  }
  .top-reason__reason04-panel-body {
    justify-content: flex-start;
    width: calc(100% - calc(8 / 375 * 100vw));
    height: auto;
    min-height: 0;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: 0;
    padding: calc(30 / 375 * 100vw) calc(16 / 375 * 100vw) calc(25 / 375 * 100vw);
    background-image: none;
    clip-path: polygon(0 calc(22 / 375 * 100vw), 100% 0, 100% 100%, 0 100%);
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
  }
  .top-reason__reason04-panel-body::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
    width: calc(221 / 375 * 100vw);
    height: calc(97 / 375 * 100vw);
    background-image: url("../images/dorowre-img.webp");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    opacity: 0.2;
    pointer-events: none;
  }
  .top-reason__reason04-panel-body::after {
    height: calc(3 / 375 * 100vw);
  }
  .top-reason__reason04-heading {
    position: relative;
    z-index: 1;
    margin-bottom: calc(23 / 375 * 100vw);
    padding-bottom: calc(15 / 375 * 100vw);
    font-family: "Shippori Mincho", "Noto Serif JP", serif;
    font-size: calc(16 / 375 * 100vw);
    font-weight: 800;
    line-height: calc(31 / 375 * 100vw);
    color: #375A5F;
  }
  .top-reason__reason04-text {
    position: relative;
    z-index: 1;
    margin-bottom: calc(8 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    font-weight: 400;
    line-height: calc(20 / 375 * 100vw);
  }
  .top-reason__reason04-cards-wrap {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    max-width: 100vw;
    margin-top: calc(54 / 375 * 100vw);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: calc(60 / 375 * 100vw) calc(16 / 375 * 100vw) calc(50 / 375 * 100vw);
    background-color: #375a5f;
    background-image: url("../images/top-reason-bg2.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
  }
  .top-reason__reason04-cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(40 / 375 * 100vw);
    margin-top: calc(24 / 375 * 100vw);
  }
  .top-reason__reason04-card {
    box-sizing: border-box;
    width: calc(343 / 375 * 100vw);
    max-width: 100%;
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
  }
  .top-reason__reason04-card-img {
    height: calc(200 / 375 * 100vw);
  }
  .top-reason__reason04-card-catch {
    right: calc(12 / 375 * 100vw);
    left: calc(12 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    line-height: 1.4;
  }
  .top-reason__reason04-card-catch-line {
    padding: 0 calc(12 / 375 * 100vw);
  }
  .top-reason__reason04-card-catch-line:first-child {
    padding-top: calc(2 / 375 * 100vw);
  }
  .top-reason__reason04-card-catch-line:last-child {
    padding-bottom: calc(2 / 375 * 100vw);
  }
  .top-reason__reason04-card-text {
    padding: calc(20 / 375 * 100vw) calc(16 / 375 * 100vw) 0;
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.85;
  }
  .top-reason__reason04-card-text:last-child {
    padding-bottom: calc(20 / 375 * 100vw);
  }
  .top-reason__reason04-card-text + .top-reason__reason04-card-text {
    padding-top: calc(12 / 375 * 100vw);
  }
  .top-reason__cards-wrap {
    position: relative;
    box-sizing: border-box;
    width: 100vw;
    max-width: 100vw;
    margin-top: calc(54 / 375 * 100vw);
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: calc(60 / 375 * 100vw) calc(16 / 375 * 100vw) calc(50 / 375 * 100vw);
    background-color: #375a5f;
    background-image: url("../images/top-reason-bg2.webp");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
  }
  .top-reason__cards {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(40 / 375 * 100vw);
    margin-top: 0;
  }
  .top-reason__card {
    box-sizing: border-box;
    width: calc(343 / 375 * 100vw);
    max-width: 100%;
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
  }
  .top-reason__card-img {
    height: calc(200 / 375 * 100vw);
  }
  .top-reason__card-catch {
    right: calc(12 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    line-height: 1.4;
  }
  .top-reason__card-catch-line {
    padding: 0 calc(6 / 375 * 100vw) 0 calc(8 / 375 * 100vw);
  }
  .top-reason__card-catch-line::before {
    top: 0;
    left: calc(-4 / 375 * 100vw);
    transform: none;
  }
  .top-reason__card-catch-line:first-child {
    padding-top: calc(2 / 375 * 100vw);
  }
  .top-reason__card-catch-line:last-child {
    padding-bottom: calc(2 / 375 * 100vw);
  }
  .top-reason__card-text {
    padding: calc(20 / 375 * 100vw) calc(16 / 375 * 100vw) calc(24 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.85;
  }
  .top-reason__reason05-visual {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .top-reason__reason05-img {
    display: block;
    width: 100%;
    height: calc(220 / 375 * 100vw);
    object-fit: cover;
    object-position: top;
  }
  .top-reason__reason05-inner {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    padding: 0;
  }
  .top-reason__reason05 {
    overflow: visible;
    margin-top: calc(40 / 375 * 100vw);
  }
  .top-reason__reason05-panel {
    width: calc(100% - calc(16 / 375 * 100vw));
    max-width: none;
    height: auto;
    margin-top: calc(-60 / 375 * 100vw);
    margin-right: auto;
    margin-left: 0;
    overflow: visible;
  }
  .top-reason__reason05-panel-gold {
    top: 0;
    right: 0;
    bottom: calc(-8 / 375 * 100vw);
    left: 0;
    width: auto;
    height: auto;
    background-image: url("../images/sp-reason01-gold.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    transform: scaleX(-1);
    clip-path: none;
  }
  .top-reason__reason05-label {
    top: calc(-33 / 375 * 100vw);
    right: calc(210 / 375 * 100vw);
    left: auto;
    transform: rotate(6deg);
    transform-origin: right bottom;
  }
  .top-reason__reason05-label-sub {
    font-size: calc(20 / 375 * 100vw);
  }
  .top-reason__reason05-label-num {
    font-size: calc(48 / 375 * 100vw);
  }
  .top-reason__reason05-panel-body {
    width: calc(100% - calc(8 / 375 * 100vw));
    height: auto;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: auto;
    padding: calc(30 / 375 * 100vw) calc(16 / 375 * 100vw) calc(24 / 375 * 100vw);
    clip-path: polygon(0 0, 100% calc(22 / 375 * 100vw), 100% 100%, 0 100%);
    box-shadow: 0 calc(4 / 375 * 100vw) calc(16 / 375 * 100vw) rgba(55, 90, 95, 0.12);
  }
  .top-reason__reason05-panel-body::before {
    width: calc(180 / 375 * 100vw);
    height: calc(80 / 375 * 100vw);
  }
  .top-reason__reason05-heading {
    margin-bottom: calc(12 / 375 * 100vw);
    padding-bottom: calc(12 / 375 * 100vw);
    font-family: "Shippori Mincho", "Noto Serif JP", serif;
    font-size: calc(16 / 375 * 100vw);
    font-weight: 800;
    line-height: 1.7;
    color: #375A5F;
  }
  .top-reason__reason05-heading br {
    display: none;
  }
  .top-reason__reason05-text {
    margin-bottom: calc(12 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.85;
  }
  .top-clinicdental {
    container-type: normal;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    padding: 0;
    background-color: #fff;
    overflow-x: hidden;
  }
  .top-clinicdental::before {
    content: none;
  }
  .top-clinicdental__canvas {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    padding: calc(100 / 375 * 100vw) 0 0;
    overflow: hidden;
    background-color: #fff;
    background-image: url("../images/sp-clinicdental-bg.webp");
    background-repeat: no-repeat;
    background-origin: border-box;
    background-position: left top;
    background-size: 308.2666666667% auto;
  }
  .top-clinicdental__canvas::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 0;
    width: calc(300 / 375 * 100vw);
    height: calc(132 / 375 * 100vw);
    background-image: url("../images/top-clinicdental-survey-deco.webp");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    opacity: 0.2;
    pointer-events: none;
  }
  .top-clinicdental__marquee {
    top: calc(25 / 375 * 100vw);
    left: 50%;
    z-index: 3;
    width: 100vw;
    height: calc(100 / 375 * 100vw);
    overflow: hidden;
    background: none;
    background-color: transparent;
    opacity: 1;
    transform: translateX(-50%);
    transform-origin: center center;
  }
  .top-clinicdental__marquee-inner {
    width: 140%;
    margin-left: -20%;
    transform: rotate(-2.22deg) skewX(-2.22deg);
    transform-origin: center center;
  }
  .top-clinicdental__marquee-text {
    color: #375a5f;
    font-size: calc(75 / 375 * 100vw);
    letter-spacing: calc(3.75 / 375 * 100vw);
    opacity: 0.08;
  }
  .top-clinicdental__hero-visual {
    display: block;
    position: absolute;
    top: calc(100 / 375 * 100vw);
    left: 0;
    z-index: 2;
    width: 100%;
    height: calc(286 / 375 * 100vw);
    pointer-events: none;
  }
  .top-clinicdental__hero-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right top;
  }
  .top-clinicdental__inner {
    max-width: 100%;
    height: auto;
    min-height: 0;
    box-sizing: border-box;
    padding: calc(215 / 375 * 100vw) calc(16 / 375 * 100vw) calc(30 / 375 * 100vw);
    background-image: none;
  }
  .top-clinicdental__hero {
    margin-top: 0;
    margin-bottom: calc(18 / 375 * 100vw);
  }
  .top-clinicdental__content {
    max-width: 100%;
    padding-top: 0;
  }
  .top-clinicdental__title {
    margin-bottom: calc(16 / 375 * 100vw);
    font-size: calc(24 / 375 * 100vw);
    font-weight: 500;
    line-height: 1.375;
    letter-spacing: 0.1em;
  }
  .top-clinicdental__title-line--underline {
    padding-bottom: calc(4 / 375 * 100vw);
  }
  .top-clinicdental__title-line--underline::after {
    left: calc(-16 / 375 * 100vw);
    width: 100vw;
    max-width: none;
  }
  .top-clinicdental__text {
    margin-bottom: calc(20 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.6666666667;
  }
  .top-clinicdental__survey {
    left: auto;
    top: auto;
    margin-top: 0;
    padding: 0;
  }
  .top-clinicdental__survey-inner {
    display: flex;
    flex-direction: column;
    gap: calc(25 / 375 * 100vw);
    height: auto;
    padding: calc(25 / 375 * 100vw) calc(16 / 375 * 100vw);
    overflow: hidden;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: calc(1.65 / 375 * 100vw) calc(1.65 / 375 * 100vw) calc(3.3 / 375 * 100vw) rgba(0, 0, 0, 0.25);
  }
  .top-clinicdental__survey-deco {
    display: none;
  }
  .top-clinicdental__survey-title {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 0;
    font-size: calc(15 / 375 * 100vw);
    font-weight: 600;
    line-height: 1.3333333333;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .top-clinicdental__survey-title .top-clinicdental__survey-sup {
    margin-left: calc(2 / 375 * 100vw);
    font-size: calc(10 / 375 * 100vw);
    line-height: 1.2;
    vertical-align: top;
  }
  .top-clinicdental__survey-answer .top-clinicdental__survey-sup {
    font-size: calc(10 / 375 * 100vw);
    line-height: 1;
  }
  .top-clinicdental__survey-body {
    flex: none;
    flex-direction: column;
    gap: calc(16 / 375 * 100vw);
  }
  .top-clinicdental__survey-chart {
    flex: none;
    width: 100%;
    max-width: calc(311 / 375 * 100vw);
    height: calc(257 / 375 * 100vw);
    margin: 0 auto;
  }
  .top-clinicdental__survey-chart-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .top-clinicdental__survey-content {
    display: flex;
    flex-direction: column;
    gap: calc(18 / 375 * 100vw);
  }
  .top-clinicdental__survey-lead {
    margin-bottom: 0;
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.6666666667;
  }
  .top-clinicdental__survey-item {
    margin-bottom: calc(22 / 375 * 100vw);
  }
  .top-clinicdental__survey-item:last-child {
    margin-bottom: 0;
  }
  .top-clinicdental__survey-question {
    gap: calc(7 / 375 * 100vw);
    align-items: center;
    padding: calc(4 / 375 * 100vw) calc(20 / 375 * 100vw) calc(4 / 375 * 100vw) calc(15 / 375 * 100vw);
    background: linear-gradient(5.72deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
  }
  .top-clinicdental__survey-star {
    width: calc(15 / 375 * 100vw);
    height: calc(15 / 375 * 100vw);
    margin-top: 0;
  }
  .top-clinicdental__survey-question-text {
    font-size: calc(12 / 375 * 100vw);
    font-weight: 500;
    line-height: 1.5;
  }
  .top-clinicdental__survey-answer {
    display: flex;
    flex-wrap: wrap;
    gap: calc(3 / 375 * 100vw);
    align-items: flex-end;
    margin-top: calc(14 / 375 * 100vw);
    padding-left: calc(30 / 375 * 100vw);
    font-size: calc(13 / 375 * 100vw);
    line-height: 1.4;
  }
  .top-clinicdental__survey-rate {
    font-size: calc(36 / 375 * 100vw);
    font-weight: 600;
    letter-spacing: -0.08em;
    line-height: 0.7;
  }
  .top-clinicdental__survey-rate-unit {
    font-size: calc(18 / 375 * 100vw);
    font-weight: 700;
    line-height: 1.2;
  }
  .top-clinicdental__survey-notes {
    margin-top: 0;
    font-size: calc(10 / 375 * 100vw);
    line-height: 1.4;
  }
  .top-menu {
    padding: calc(30 / 375 * 100vw) calc(16 / 375 * 100vw) calc(48 / 375 * 100vw);
    background-color: #e8eef0;
    background-image: url("../images/sp-menu-bg.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
    overflow: visible;
  }
  .top-menu::after {
    display: none;
  }
  .top-menu::before {
    content: "Menu";
    position: absolute;
    top: calc(-4 / 375 * 100vw);
    left: calc(-6 / 375 * 100vw);
    z-index: 0;
    font-family: "Shippori Mincho", "Noto Serif JP", serif;
    font-size: calc(80 / 375 * 100vw);
    font-weight: 400;
    line-height: 1;
    color: #375a5f;
    letter-spacing: calc(4 / 375 * 100vw);
    white-space: nowrap;
    opacity: 0.08;
    pointer-events: none;
    transform: translateX(calc(80 / 375 * 100vw)) rotate(90deg);
    transform-origin: top left;
  }
  .top-menu__inner {
    z-index: 1;
    max-width: 100%;
  }
  .top-menu__header {
    box-sizing: border-box;
    min-height: calc(154.26 / 375 * 100vw);
    padding-top: calc(20 / 375 * 100vw);
    margin-bottom: 0;
  }
  .top-menu__lead {
    margin-bottom: calc(4 / 375 * 100vw);
    font-size: calc(10 / 375 * 100vw);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.06em;
  }
  .top-menu__title {
    margin-bottom: calc(10 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0;
  }
  .top-menu__title-sm {
    font-size: calc(14 / 375 * 100vw);
  }
  .top-menu__br-sp {
    display: block;
  }
  .top-menu__title-deco {
    gap: calc(3.3 / 375 * 100vw);
  }
  .top-menu__title-star {
    width: calc(9.62 / 375 * 100vw);
    height: calc(9.36 / 375 * 100vw);
    background-color: #375a5f;
  }
  .top-menu__title-line {
    width: calc(97.41 / 375 * 100vw);
    height: 1px;
    background-color: #375a5f;
  }
  .top-menu__featured {
    overflow: visible;
    box-shadow: calc(1.65 / 375 * 100vw) calc(1.65 / 375 * 100vw) calc(2.48 / 375 * 100vw) 0 rgba(55, 90, 95, 0.25);
  }
  .top-menu__featured-head {
    order: 1;
    grid-column: auto;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: calc(48 / 375 * 100vw);
    min-height: calc(48 / 375 * 100vw);
    margin: 0;
    padding: calc(4 / 375 * 100vw) calc(16 / 375 * 100vw);
    gap: calc(8.26 / 375 * 100vw);
    z-index: 2;
  }
  .top-menu__featured-icon {
    width: calc(41.36 / 375 * 100vw);
    height: calc(26.23 / 375 * 100vw);
  }
  .top-menu__featured-title {
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(16 / 375 * 100vw);
    font-weight: 400;
    line-height: 1.375;
    letter-spacing: 0;
  }
  .top-menu__featured-body {
    display: flex;
    flex-direction: column;
    gap: calc(16.51 / 375 * 100vw);
    min-height: 0;
    padding: 0 0 calc(20 / 375 * 100vw);
    overflow: hidden;
    box-shadow: none;
  }
  .top-menu__featured-visual {
    position: relative;
    grid-column: auto;
    grid-row: auto;
    align-self: auto;
    justify-self: auto;
    right: auto;
    bottom: auto;
    order: 2;
    width: calc(314.28 / 375 * 100vw);
    height: calc(176.49 / 375 * 100vw);
    margin: 0 auto;
    overflow: hidden;
    pointer-events: auto;
  }
  .top-menu__featured-img--pc {
    display: none;
  }
  .top-menu__featured-img--sp {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
  .top-menu__featured-texts {
    order: 3;
    gap: 0;
    padding: 0 calc(16 / 375 * 100vw);
  }
  .top-menu__featured-list {
    order: 4;
    padding: calc(10 / 375 * 100vw) calc(16 / 375 * 100vw);
  }
  .top-menu__featured-text {
    font-size: calc(12 / 375 * 100vw);
    line-height: calc(20 / 375 * 100vw);
  }
  .top-menu__featured-item {
    align-items: flex-start;
    gap: calc(9.91 / 375 * 100vw);
    width: 100%;
    margin-bottom: calc(8.26 / 375 * 100vw);
  }
  .top-menu__featured-num {
    width: calc(41.28 / 375 * 100vw);
    min-width: calc(41.28 / 375 * 100vw);
    font-size: calc(26.42 / 375 * 100vw);
    font-weight: 500;
    line-height: 1;
  }
  .top-menu__featured-item-text {
    flex: 1;
    min-width: 0;
    font-size: calc(12 / 375 * 100vw);
    line-height: calc(20 / 375 * 100vw);
  }
  .top-menu__featured-btn {
    position: relative;
    right: auto;
    bottom: auto;
    order: 5;
    align-self: center;
    box-sizing: border-box;
    width: calc(261 / 375 * 100vw);
    max-width: 100%;
    min-width: 0;
    height: calc(42.1 / 375 * 100vw);
    min-height: calc(42.1 / 375 * 100vw);
    flex-shrink: 0;
    margin: 0 auto;
    padding: 0 calc(8.26 / 375 * 100vw);
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(13.21 / 375 * 100vw);
    font-weight: 500;
    line-height: 1.5;
    flex-direction: row;
    gap: calc(0 / 375 * 100vw);
  }
  .top-menu__featured-btn-icon {
    width: calc(28.26 / 375 * 100vw);
    height: calc(22.29 / 375 * 100vw);
  }
  .top-menu__cards {
    grid-template-columns: 1fr;
    gap: calc(24 / 375 * 100vw);
    margin-top: calc(24 / 375 * 100vw);
    padding: 0;
  }
  .top-menu__card {
    overflow: hidden;
    box-shadow: calc(1.65 / 375 * 100vw) calc(1.65 / 375 * 100vw) calc(2.48 / 375 * 100vw) 0 rgba(0, 0, 0, 0.25);
  }
  .top-menu__card-head {
    box-sizing: border-box;
    height: calc(48 / 375 * 100vw);
    min-height: calc(48 / 375 * 100vw);
    padding: calc(4 / 375 * 100vw) calc(16 / 375 * 100vw);
    gap: calc(8.26 / 375 * 100vw);
  }
  .top-menu__card-icon {
    width: calc(44.58 / 375 * 100vw);
    height: calc(38.8 / 375 * 100vw);
  }
  .top-menu__card-title {
    font-size: calc(16 / 375 * 100vw);
    font-weight: 400;
    line-height: 1.375;
    letter-spacing: 0;
  }
  .top-menu__card-body {
    padding: calc(14 / 375 * 100vw) calc(26 / 375 * 100vw) calc(26 / 375 * 100vw);
  }
  .top-menu__card-lead {
    box-sizing: border-box;
    min-height: calc(29.72 / 375 * 100vw);
    margin-bottom: calc(8 / 375 * 100vw);
    padding-bottom: 0;
    font-size: calc(14 / 375 * 100vw);
    line-height: calc(23.11 / 375 * 100vw);
  }
  .top-menu__card-links {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 0;
  }
  .top-menu__card-links-item {
    height: calc(31 / 375 * 100vw);
    min-height: calc(31 / 375 * 100vw);
    overflow: hidden;
  }
  .top-menu__card-link {
    display: block;
    box-sizing: border-box;
    height: calc(31 / 375 * 100vw);
    margin-left: calc(31.3 / 375 * 100vw);
    padding: 0;
    overflow: hidden;
    font-size: calc(14 / 375 * 100vw);
    line-height: calc(31 / 375 * 100vw);
  }
  .top-menu__card-link-sub {
    font-size: calc(11.56 / 375 * 100vw);
    line-height: inherit;
  }
  .top-menu__card-links-item::before {
    content: "・";
    top: 0;
    left: 0;
    width: calc(14 / 375 * 100vw);
    height: auto;
    border-radius: 0;
    background: none;
    font-size: calc(14 / 375 * 100vw);
    line-height: calc(31 / 375 * 100vw);
    color: #333;
    transform: none;
  }
  .top-menu__more {
    box-sizing: border-box;
    width: 100%;
    margin-top: calc(17 / 375 * 100vw);
    padding: 0;
  }
  .top-menu__btn {
    width: calc(231.14 / 375 * 100vw);
    max-width: 100%;
    min-width: 0;
    height: calc(42.1 / 375 * 100vw);
    min-height: calc(42.1 / 375 * 100vw);
    flex-shrink: 0;
    padding: 0 calc(8.26 / 375 * 100vw);
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(13.21 / 375 * 100vw);
    font-weight: 500;
    flex-direction: row;
    gap: calc(8.26 / 375 * 100vw);
  }
  .top-menu__btn-icon {
    width: calc(28.26 / 375 * 100vw);
    height: calc(22.29 / 375 * 100vw);
  }
  .top-menu__deco {
    display: none;
  }
  .top-menu-bottom {
    margin-top: calc(-40 / 375 * 100vw);
    min-height: 0;
    padding: 0;
    background-color: transparent;
    background-image: none;
    overflow: visible;
    z-index: 2;
  }
  .top-menu-bottom::after {
    display: none;
  }
  .top-menu-bottom__inner {
    display: block;
    max-width: 100%;
    min-height: 0;
  }
  .top-menu-bottom__body {
    position: static;
    bottom: auto;
    display: block;
  }
  .top-menu-bottom__panel {
    width: 100%;
    padding: 0;
    background-color: transparent;
    box-shadow: none;
  }
  .top-menu-bottom__panel-gold {
    display: none;
  }
  .top-menu-bottom__panel::before {
    display: none;
  }
  .top-menu-bottom__hero {
    position: relative;
    box-sizing: border-box;
    min-height: calc(184 / 375 * 100vw);
    margin: 0;
    padding: 0;
    background-image: url("../images/sp-subetenotiryou.webp");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: cover;
    overflow: visible;
  }
  .top-menu-bottom__hero::before {
    display: none;
  }
  .top-menu-bottom__hero-box {
    position: absolute;
    top: calc(53 / 375 * 100vw);
    right: auto;
    bottom: auto;
    left: calc(107 / 375 * 100vw);
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: calc(261 / 375 * 100vw);
    padding: 0;
  }
  .top-menu-bottom__panel-head {
    margin: 0 0 calc(9 / 375 * 100vw);
  }
  .top-menu-bottom__heading {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    height: calc(25 / 375 * 100vw);
    margin: 0;
    margin-top: 0;
    padding: 0 calc(1 / 375 * 100vw) 0 calc(4 / 375 * 100vw);
    font-family: "Shippori Mincho", "Noto Serif JP", serif;
    font-size: calc(16 / 375 * 100vw);
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: left;
    letter-spacing: 0;
    white-space: nowrap;
    overflow: visible;
    text-shadow: calc(2 / 375 * 100vw) calc(2 / 375 * 100vw) calc(3 / 375 * 100vw) rgba(0, 0, 0, 0.25);
    background: linear-gradient(135deg, #375A5F 0%, #4EACBA 42.79%, #72BBC5 62.02%, rgba(114, 187, 197, 0.95) 65.38%, #375A5F 100%);
    box-shadow: 0 calc(3 / 375 * 100vw) calc(3 / 375 * 100vw) rgba(0, 0, 0, 0.25);
    clip-path: none;
    filter: none;
  }
  .top-menu-bottom__panel-body {
    padding: calc(28 / 375 * 100vw) calc(16 / 375 * 100vw) calc(32 / 375 * 100vw);
    text-align: center;
  }
  .top-menu-bottom__panel-body .top-menu-bottom__text {
    margin-bottom: calc(24 / 375 * 100vw);
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(13 / 375 * 100vw);
    font-weight: 300;
    line-height: 1.9;
    color: #375A5F;
    text-align: center;
  }
  .top-menu-bottom__panel-body .top-menu-bottom__text:not(.top-menu-bottom__text--highlight) br:not(.sp-br) {
    display: none;
  }
  .top-menu-bottom__panel-body .top-menu-bottom__text:not(.top-menu-bottom__text--highlight) br.sp-br {
    display: block;
  }
  .top-menu-bottom__text--intro {
    margin: 0;
    padding: 0;
    width: calc(242 / 375 * 100vw);
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(10 / 375 * 100vw);
    font-weight: 300;
    line-height: calc(18 / 375 * 100vw);
    color: #fff;
    text-align: left;
  }
  .top-menu-bottom__text--highlight {
    margin-bottom: calc(24 / 375 * 100vw);
    padding: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size: calc(13 / 375 * 100vw);
    font-weight: 300;
    line-height: 1.9;
    color: #375A5F;
    text-align: center;
    background-image: none;
  }
  .top-menu-bottom__panel-body .top-menu-bottom__text:last-of-type {
    margin-bottom: calc(28 / 375 * 100vw);
  }
  .top-menu-bottom__actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: calc(10 / 375 * 100vw);
    width: 100%;
    margin-top: 0;
  }
  .top-menu-bottom__cta {
    flex: none;
    width: 100%;
    min-width: 0;
    height: calc(48 / 375 * 100vw);
    min-height: calc(48 / 375 * 100vw);
    padding: calc(8 / 375 * 100vw) calc(10 / 375 * 100vw);
    border-radius: calc(3 / 375 * 100vw);
  }
  .top-menu-bottom__cta-icon {
    width: calc(21 / 375 * 100vw);
    height: calc(21 / 375 * 100vw);
  }
  .top-menu-bottom__cta-icon--line {
    width: calc(21 / 375 * 100vw);
    height: calc(21 / 375 * 100vw);
  }
  .top-menu-bottom__cta-note {
    font-size: calc(10 / 375 * 100vw);
  }
  .top-menu-bottom__cta-title {
    font-size: calc(13 / 375 * 100vw);
  }
  .top-message {
    padding-top: calc(32 / 375 * 100vw);
    padding-bottom: calc(24 / 375 * 100vw);
    overflow: visible;
  }
  .top-message__inner {
    box-sizing: border-box;
    padding-inline: calc(16 / 375 * 100vw);
  }
  .top-message__header-wrap {
    position: relative;
    z-index: 2;
    padding: calc(52 / 375 * 100vw) 0 calc(12 / 375 * 100vw);
  }
  .top-message__header-en {
    top: calc(8 / 375 * 100vw);
    left: 0;
    right: 0;
    font-size: calc(56 / 375 * 100vw);
    text-align: center;
  }
  .top-message__title {
    font-size: calc(20 / 375 * 100vw);
  }
  .top-message__title-deco {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: calc(12 / 375 * 100vw);
  }
  .top-message__title-star {
    flex-shrink: 0;
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
    background-color: #375A5F;
    mask-image: url("../images/hoshi.webp");
    -webkit-mask-image: url("../images/hoshi.webp");
    mask-position: center;
    -webkit-mask-position: center;
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: contain;
    -webkit-mask-size: contain;
  }
  .top-message__title-line {
    display: block;
    width: calc(120 / 375 * 100vw);
    height: 1px;
    background-color: #375A5F;
  }
  .top-message__upper {
    width: 100%;
    max-width: 100%;
    min-height: 0;
    margin-right: auto;
    margin-left: auto;
    padding: calc(8 / 375 * 100vw) 0 calc(50 / 375 * 100vw);
    background-image: url("../images/sp-message-img1.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: visible;
    box-shadow: calc(1.65 / 375 * 100vw) calc(1.65 / 375 * 100vw) calc(4.95 / 375 * 100vw) 0 rgba(0, 0, 0, 0.25);
  }
  .top-message__message-frame {
    max-width: 100%;
    padding: 0;
  }
  .top-message__visual {
    display: block;
    position: relative;
    overflow: visible;
    background: none;
  }
  .top-message__visual-img--sp {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center top;
  }
  .top-message__name--pc {
    display: none;
  }
  .top-message__name--visual {
    display: block;
    position: absolute;
    right: calc(12 / 375 * 100vw);
    bottom: calc(8 / 375 * 100vw);
    z-index: 2;
  }
  .top-message__message-box {
    width: 100%;
    max-width: 100%;
    margin-top: calc(20 / 375 * 100vw);
    padding: 0;
  }
  .top-message__catch {
    margin-bottom: 0;
    padding: calc(16 / 375 * 100vw) calc(13 / 375 * 100vw) calc(20 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
    color: #375A5F;
  }
  .top-message__catch-lead {
    margin-bottom: calc(6 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
  }
  .top-message__catch-title {
    font-size: calc(18 / 375 * 100vw);
    line-height: 1.65;
  }
  .top-message__body {
    gap: calc(16 / 375 * 100vw);
    padding: 0 calc(24 / 375 * 100vw);
    text-align: center;
  }
  .top-message__text {
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.85;
    text-align: center;
  }
  .top-message__name-title {
    font-size: calc(11 / 375 * 100vw);
  }
  .top-message__name-text {
    font-size: calc(16 / 375 * 100vw);
  }
  .top-message__lower {
    max-width: 100%;
    width: 100%;
    margin-top: calc(30 / 375 * 100vw);
    padding: calc(24 / 375 * 100vw) 0 calc(32 / 375 * 100vw);
    background-image: url("../images/sp-message-img1.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    overflow: visible;
    box-shadow: calc(1.65 / 375 * 100vw) calc(1.65 / 375 * 100vw) calc(4.95 / 375 * 100vw) 0 rgba(0, 0, 0, 0.25);
  }
  .top-message__info-card {
    grid-template-columns: 1fr;
    gap: calc(28 / 375 * 100vw);
    padding: calc(24 / 375 * 100vw);
  }
  .top-message__info-title {
    font-size: calc(14 / 375 * 100vw);
  }
  .top-message__info-star {
    width: calc(20 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
    mask-size: calc(10 / 375 * 100vw) calc(10 / 375 * 100vw), calc(10 / 375 * 100vw) calc(10 / 375 * 100vw);
    -webkit-mask-size: calc(10 / 375 * 100vw) calc(10 / 375 * 100vw), calc(10 / 375 * 100vw) calc(10 / 375 * 100vw);
  }
  .top-message__qual-item {
    padding-left: calc(14 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }
  .top-message__history-row {
    grid-template-columns: calc(56 / 375 * 100vw) 1fr;
    gap: calc(8 / 375 * 100vw);
  }
  .top-message__history-year {
    font-size: calc(12 / 375 * 100vw);
  }
  .top-message__history-text {
    font-size: calc(12 / 375 * 100vw);
  }
  .top-message__actions {
    flex-direction: column;
    align-items: center;
    gap: calc(24 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
  }
  .top-message__btn {
    width: auto;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    padding: calc(10 / 375 * 100vw) calc(16 / 375 * 100vw);
    font-size: calc(13 / 375 * 100vw);
    font-weight: 500;
    justify-content: center;
    gap: calc(8 / 375 * 100vw);
    white-space: nowrap;
  }
  .top-message__btn--insta {
    width: auto;
    justify-content: center;
    gap: calc(12 / 375 * 100vw);
  }
  .top-message__btn-icon {
    width: calc(28 / 375 * 100vw);
    height: calc(22 / 375 * 100vw);
  }
  .top-message__btn-insta {
    width: calc(23 / 375 * 100vw);
    height: calc(23 / 375 * 100vw);
  }
  .top-media__body {
    padding: calc(40 / 375 * 100vw) calc(16 / 375 * 100vw) calc(48 / 375 * 100vw);
  }
  .top-media__body::after {
    bottom: calc(4 / 375 * 100vw);
    width: calc(180 / 375 * 100vw);
    height: calc(80 / 375 * 100vw);
  }
  .top-media__awards {
    padding: calc(12 / 375 * 100vw) 0;
  }
  .top-media__awards-track {
    gap: calc(12 / 375 * 100vw);
    padding: 0 calc(12 / 375 * 100vw);
  }
  .top-media__awards-img {
    width: calc(264 / 375 * 100vw);
    height: calc(185 / 375 * 100vw);
  }
  .top-media__bg-en {
    top: 0;
    left: 0;
    font-size: calc(56 / 375 * 100vw);
    letter-spacing: calc(2.8 / 375 * 100vw);
  }
  .top-media__inner {
    max-width: 100%;
  }
  .top-media__header {
    margin-bottom: calc(24 / 375 * 100vw);
  }
  .top-media__title {
    margin-bottom: calc(10 / 375 * 100vw);
    font-size: calc(20 / 375 * 100vw);
  }
  .top-media__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-media__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .top-media__inner {
    max-width: 100%;
  }
  .top-media__list {
    grid-template-columns: 1fr;
    width: 100%;
    gap: calc(15 / 375 * 100vw);
  }
  .top-media__list--lower {
    margin-top: calc(28 / 375 * 100vw);
    gap: calc(15 / 375 * 100vw);
  }
  .top-media__list--upper .top-media__link {
    aspect-ratio: 369/120;
  }
  .top-media__list--lower .top-media__link {
    height: auto;
    aspect-ratio: 300/170;
  }
  .top-media__list--lower .top-media__item--center .top-media__link {
    aspect-ratio: 459/170;
  }
  .top-news {
    padding: calc(40 / 375 * 100vw) calc(16 / 375 * 100vw) calc(48 / 375 * 100vw);
  }
  .top-news__bg-en {
    top: calc(8 / 375 * 100vw);
    right: calc(4 / 375 * 100vw);
    font-size: calc(64 / 375 * 100vw);
  }
  .top-news__layout {
    display: flex;
    flex-direction: column;
    gap: calc(20 / 375 * 100vw);
  }
  .top-news__side {
    display: contents;
  }
  .top-news__header {
    order: 1;
    text-align: center;
  }
  .top-news__panel {
    order: 2;
    min-height: 0;
  }
  .top-news__btn {
    order: 3;
    align-self: center;
    justify-content: center;
    gap: calc(8 / 375 * 100vw);
    width: calc(203 / 375 * 100vw);
    max-width: 100%;
    height: calc(42 / 375 * 100vw);
    min-height: calc(42 / 375 * 100vw);
    margin-top: calc(4 / 375 * 100vw);
    padding: calc(10 / 375 * 100vw) calc(8 / 375 * 100vw);
    font-family: "Noto Sans", "Noto Sans JP", sans-serif;
    font-size: calc(13 / 375 * 100vw);
    font-weight: 500;
    line-height: normal;
    color: #375A5F;
    background-color: #fff;
    border: 1px solid #375A5F;
    border-radius: calc(2 / 375 * 100vw);
  }
  .top-news__btn:hover {
    color: #375A5F;
  }
  .top-news__title {
    margin-bottom: calc(10 / 375 * 100vw);
    font-size: calc(22 / 375 * 100vw);
    text-align: center;
  }
  .top-news__title-deco {
    justify-content: center;
  }
  .top-news__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-news__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .top-news__btn-icon {
    width: calc(28 / 375 * 100vw);
    height: calc(22 / 375 * 100vw);
  }
  .top-news__tab-labels {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    width: max-content;
    max-width: 100%;
    gap: 0;
    padding: 0;
    margin-bottom: calc(-1 / 375 * 100vw);
  }
  .top-news__tab-label {
    flex: none;
    width: 100%;
    min-width: calc(96 / 375 * 100vw);
    min-height: calc(36 / 375 * 100vw);
    padding: calc(8 / 375 * 100vw) calc(10 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }
  .top-news__tab-input:nth-of-type(1):checked ~ .top-news__tab-labels .top-news__tab-label:nth-child(1),
  .top-news__tab-input:nth-of-type(2):checked ~ .top-news__tab-labels .top-news__tab-label:nth-child(2) {
    padding-bottom: calc(8 / 375 * 100vw);
    margin-bottom: 0;
  }
  .top-news__list {
    padding: calc(16 / 375 * 100vw) calc(16 / 375 * 100vw) calc(16 / 375 * 100vw);
  }
  .top-news__item--empty {
    padding: calc(12 / 375 * 100vw) 0;
    font-size: calc(12 / 375 * 100vw);
  }
  .top-news__link {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    gap: calc(8 / 375 * 100vw) calc(12 / 375 * 100vw);
    align-items: center;
    padding: calc(12 / 375 * 100vw) 0;
  }
  .top-news__date {
    grid-column: 1;
    grid-row: 1;
    font-size: calc(11 / 375 * 100vw);
  }
  .top-news__tag {
    grid-column: 2;
    grid-row: 1;
    justify-self: start;
    min-width: calc(56 / 375 * 100vw);
    padding: calc(2 / 375 * 100vw) calc(8 / 375 * 100vw);
    font-size: calc(10 / 375 * 100vw);
  }
  .top-news__item-title {
    grid-column: 1/-1;
    grid-row: 2;
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.65;
    white-space: normal;
  }
  .top-colm {
    padding: calc(40 / 375 * 100vw) calc(16 / 375 * 100vw) calc(48 / 375 * 100vw);
  }
  .top-colm__bg-en {
    top: 0;
    left: 0;
    font-size: calc(64 / 375 * 100vw);
    font-weight: 400;
    line-height: 1;
    letter-spacing: calc(3.2 / 375 * 100vw);
    white-space: nowrap;
  }
  .top-colm__header {
    margin-bottom: calc(24 / 375 * 100vw);
  }
  .top-colm__title {
    font-size: calc(22 / 375 * 100vw);
  }
  .top-colm__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-colm__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .top-colm__panel {
    padding: calc(16 / 375 * 100vw) calc(16 / 375 * 100vw) calc(20 / 375 * 100vw);
  }
  .top-colm__list {
    grid-template-columns: 1fr;
    gap: calc(24 / 375 * 100vw);
  }
  .top-colm__thumb {
    height: calc(180 / 375 * 100vw);
  }
  .top-colm__cat {
    top: calc(0 / 375 * 100vw);
    left: calc(0 / 375 * 100vw);
    width: calc(90 / 375 * 100vw);
    min-width: calc(90 / 375 * 100vw);
    height: calc(25 / 375 * 100vw);
    padding: 0;
    font-size: calc(11 / 375 * 100vw);
  }
  .top-colm__date {
    font-size: calc(11 / 375 * 100vw);
  }
  .top-colm__card-title {
    font-size: calc(13 / 375 * 100vw);
  }
  .top-colm__more {
    margin-top: calc(24 / 375 * 100vw);
  }
  .top-colm__btn {
    width: calc(231 / 375 * 100vw);
    max-width: 100%;
    min-width: 0;
    height: calc(48 / 375 * 100vw);
    min-height: calc(48 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }
  .top-colm__btn-icon {
    width: calc(28 / 375 * 100vw);
    height: calc(22 / 375 * 100vw);
  }
  .top-faq {
    padding: calc(40 / 375 * 100vw) calc(16 / 375 * 100vw) calc(48 / 375 * 100vw);
  }
  .top-faq__watermark {
    top: calc(24 / 375 * 100vw);
    left: auto;
    right: calc(-8 / 375 * 100vw);
    width: auto;
    font-size: calc(72 / 375 * 100vw);
    line-height: 1;
    letter-spacing: calc(3.6 / 375 * 100vw);
    text-align: right;
  }
  .top-faq__header {
    margin-bottom: calc(24 / 375 * 100vw);
  }
  .top-faq__title {
    font-size: calc(22 / 375 * 100vw);
  }
  .top-faq__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .top-faq__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .top-faq__panel {
    padding: calc(20 / 375 * 100vw) calc(16 / 375 * 100vw) calc(48 / 375 * 100vw);
  }
  .top-faq__item {
    padding-bottom: calc(16 / 375 * 100vw);
    margin-bottom: calc(16 / 375 * 100vw);
  }
  .top-faq__question {
    gap: calc(8 / 375 * 100vw);
    margin-bottom: calc(12 / 375 * 100vw);
  }
  .top-faq__q-icon {
    width: calc(26 / 375 * 100vw);
    height: calc(26 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }
  .top-faq__q-text {
    font-size: calc(14 / 375 * 100vw);
  }
  .top-faq__answer {
    gap: calc(8 / 375 * 100vw);
  }
  .top-faq__a-icon {
    width: calc(26 / 375 * 100vw);
    height: calc(26 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }
  .top-faq__a-text {
    font-size: calc(12 / 375 * 100vw);
    line-height: 1.85;
  }
  .top-faq__deco {
    height: calc(40 / 375 * 100vw);
  }
  .top-faq__deco::before {
    right: calc(16 / 375 * 100vw);
    bottom: calc(8 / 375 * 100vw);
    width: calc(60 / 375 * 100vw);
    height: calc(24 / 375 * 100vw);
  }
}
.top-access__watermark,
.top-about__watermark,
.top-optimal__watermark,
.top-clarity__watermark,
.top-faq__watermark,
.top-media__bg-en,
.top-colm__bg-en,
.top-news__bg-en,
.top-message__header-en,
.top-reason__header-wrap::before,
.top-clinicdental__marquee-text {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
}

.lower-mv-area {
  position: relative;
  z-index: 0;
  width: 100%;
  margin-top: 0;
  background-color: #fff;
}

.lower-mv {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 68px;
  width: 100%;
  height: 320px;
  padding: calc(var(--header-inset, 30px) + var(--header-h, 76px)) 30px 20px;
  overflow: hidden;
}

.lower-mv__media {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.lower-mv__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.lower-mv__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.25);
}

.lower-mv__title {
  position: relative;
  z-index: 2;
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.15em;
  color: #333;
  text-align: center;
}

body:has(.header--lower) {
  --header-inset: 30px;
}

.header.header--lower,
.header.header--lower.is-scrolled {
  position: fixed;
  top: var(--header-inset, 30px);
  left: var(--header-inset, 30px);
  right: var(--header-inset, 30px);
  z-index: 1101;
  width: calc(100% - var(--header-inset, 30px) * 2);
  max-width: none;
  padding: 0;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(55, 90, 95, 0.12);
}

.header--lower .header__inner {
  width: 100%;
  height: 76px;
  padding: 0 60px;
}

.header--lower .header__content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  column-gap: 16px;
}

.header--lower .header__logo-address {
  display: none;
}

.header--lower .header__logo {
  flex-shrink: 0;
}

.header--lower .header__logo-image--pc {
  width: 242px;
  height: 41px;
  object-fit: contain;
}

.header--lower .header__nav {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  justify-content: flex-end;
  height: 100%;
  justify-self: unset;
  align-self: stretch;
  grid-column: unset;
  grid-row: unset;
}

.header--lower .header__nav-list {
  display: flex;
  gap: 19.567px;
  align-items: stretch;
  height: 100%;
}

.header--lower .header__nav-item {
  margin-right: 0;
  align-items: stretch;
}

.header--lower .header__nav-item--insta {
  margin-left: -3.567px;
}

.header--lower .header__nav-link {
  height: 100%;
  gap: 6px;
  font-size: 16px;
  line-height: normal;
}

.header--lower .header__nav-arrow {
  width: 7px;
  height: 7px;
  margin-left: 0;
  border-right: 1.5px solid #375A5F;
  border-bottom: 1.5px solid #375A5F;
  transform: rotate(45deg) translateY(-1px);
}

.header--lower .header-inst-icon {
  width: 28px;
  height: 28px;
}

.header--lower .header__hamburger {
  margin-left: auto;
}

.lower-mv-area .breadcrumbs {
  width: 100%;
  margin: 0;
  padding: 24px 32px;
  background-color: #fff;
}

.lower-mv-area .breadcrumbs__item {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #3b3b3b;
}
.lower-mv-area .breadcrumbs__item:last-child {
  color: #375A5F;
}
.lower-mv-area .breadcrumbs__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0;
  background-image: url("../images/kasou-breadcrumb-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 4px 7px;
  border: none;
  color: transparent;
  font-size: 0;
}

.lower-mv-area .breadcrumbs__link {
  color: #3b3b3b;
}

@media screen and (max-width:1200px) {
  body:has(.header--lower) {
    --header-inset: 16px;
  }
  .lower-mv {
    gap: 40px;
    height: auto;
    min-height: calc(240px + var(--header-inset, 16px) + var(--header-h, 64px));
    padding: calc(var(--header-inset, 16px) + var(--header-h, 64px)) 16px 24px;
  }
  .header.header--lower,
  .header.header--lower.is-scrolled {
    border-radius: 8px;
  }
  .header--lower .header__inner {
    height: 64px;
    padding: 0 16px;
  }
  .header--lower .header__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .header--lower .header__logo-image--pc {
    display: none;
  }
  .header--lower .header__logo-image--sp {
    display: block;
    width: 157px;
    height: auto;
  }
  .header--lower .header__nav {
    display: none;
  }
  .header--lower .header__hamburger {
    display: flex;
    flex-shrink: 0;
    grid-column: unset;
    grid-row: unset;
    justify-self: unset;
    align-self: center;
    margin-left: auto;
  }
  .lower-mv__title {
    font-size: 22px;
    letter-spacing: 0.1em;
  }
  .lower-mv-area .breadcrumbs {
    padding: 16px;
  }
}
@media screen and (max-width:768px) {
  body:has(.header--lower) {
    --header-inset: 12px;
  }
  .header.header--lower,
  .header.header--lower.is-scrolled {
    position: fixed;
    border-radius: 8px;
  }
  .lower-mv {
    gap: 28px;
    height: auto;
    min-height: 180px;
    padding: calc(var(--header-inset, 12px) + var(--header-h, 56px)) 12px 20px;
  }
  .lower-mv__union {
    width: min(701.5px, 70vw);
  }
  .lower-mv__title {
    font-size: 18px;
    letter-spacing: 0.08em;
  }
  .header--lower .header__inner {
    height: 56px;
    padding: 0 12px;
  }
}
body:not(.front-page) .mv-side-btns {
  --mv-cta-w: min(
    80px,
    calc(var(--mv-side-btns-max-h, calc(100dvh - var(--mv-side-btns-top, 196px) - 8px)) * 0.1277955272)
  );
}

@media screen and (max-width:768px) {
  body:not(.front-page) .mv-side-btns {
    display: none;
  }
}
.lower {
  padding: 0 60px 100px;
  background-color: #fff;
}

.lower__inner {
  max-width: 860px;
  margin: 0 auto;
}

.lower__content > * {
  margin: 30px 0;
}
.lower__content p {
  font-size: 16px;
  line-height: 2;
  color: #333;
}

@media screen and (max-width:768px) {
  .lower {
    padding: 0 16px 80px;
  }
}
.page-content__body > p,
.page-content__body p.wp-block-paragraph,
.single-content__body > p,
.single-content__body p.wp-block-paragraph,
.lower__content > p,
.lower__content p.wp-block-paragraph,
.entry-content > p,
.entry-content p.wp-block-paragraph,
.editor-styles-wrapper > p,
.editor-styles-wrapper p.wp-block-paragraph {
  font-size: 16px;
  line-height: 1.875;
  color: #292929;
}
.page-content__body > h1,
.page-content__body > h2,
.page-content__body h1.wp-block-heading,
.page-content__body h2.wp-block-heading,
.page-content__body .wp-block-heading h1,
.page-content__body .wp-block-heading h2,
.single-content__body > h1,
.single-content__body > h2,
.single-content__body h1.wp-block-heading,
.single-content__body h2.wp-block-heading,
.single-content__body .wp-block-heading h1,
.single-content__body .wp-block-heading h2,
.lower__content > h1,
.lower__content > h2,
.lower__content h1.wp-block-heading,
.lower__content h2.wp-block-heading,
.lower__content .wp-block-heading h1,
.lower__content .wp-block-heading h2,
.entry-content > h1,
.entry-content > h2,
.entry-content h1.wp-block-heading,
.entry-content h2.wp-block-heading,
.entry-content .wp-block-heading h1,
.entry-content .wp-block-heading h2,
.editor-styles-wrapper > h1,
.editor-styles-wrapper > h2,
.editor-styles-wrapper h1.wp-block-heading,
.editor-styles-wrapper h2.wp-block-heading,
.editor-styles-wrapper .wp-block-heading h1,
.editor-styles-wrapper .wp-block-heading h2 {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 72px;
  margin-right: auto;
  margin-left: auto;
  padding: 0 16px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 500;
  line-height: 2;
  color: #fff;
  letter-spacing: 3.6px;
  background: linear-gradient(90deg, #375a5f 0%, #4eacba 43%, #72bbc5 62%, rgba(114, 187, 197, 0.95) 65%, rgba(114, 187, 197, 0.15) 100%);
  border-radius: 0;
}
.page-content__body > h2,
.page-content__body h2.wp-block-heading,
.page-content__body .wp-block-heading h2,
.single-content__body > h2,
.single-content__body h2.wp-block-heading,
.single-content__body .wp-block-heading h2,
.lower__content > h2,
.lower__content h2.wp-block-heading,
.lower__content .wp-block-heading h2,
.entry-content > h2,
.entry-content h2.wp-block-heading,
.entry-content .wp-block-heading h2,
.editor-styles-wrapper > h2,
.editor-styles-wrapper h2.wp-block-heading,
.editor-styles-wrapper .wp-block-heading h2 {
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 2.4px;
}
.page-content__body .lower-text-accent,
.page-content__body .is-accent,
.single-content__body .lower-text-accent,
.single-content__body .is-accent,
.lower__content .lower-text-accent,
.lower__content .is-accent,
.entry-content .lower-text-accent,
.entry-content .is-accent,
.editor-styles-wrapper .lower-text-accent,
.editor-styles-wrapper .is-accent {
  color: #3b95a2;
  text-decoration: none;
}
.page-content__body > h3:not([class*=is-style-]),
.page-content__body h3.wp-block-heading:not([class*=is-style-]),
.single-content__body > h3:not([class*=is-style-]),
.single-content__body h3.wp-block-heading:not([class*=is-style-]),
.lower__content > h3:not([class*=is-style-]),
.lower__content h3.wp-block-heading:not([class*=is-style-]),
.entry-content > h3:not([class*=is-style-]),
.entry-content h3.wp-block-heading:not([class*=is-style-]),
.editor-styles-wrapper > h3:not([class*=is-style-]),
.editor-styles-wrapper h3.wp-block-heading:not([class*=is-style-]) {
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1px;
  border-bottom: 1px solid #eed199;
}
.page-content__body h3.is-style-line-after,
.page-content__body h3.is-style-accent,
.page-content__body h3.is-style-line-heading,
.page-content__body h3.is-line-heading,
.page-content__body p.is-line-heading,
.single-content__body h3.is-style-line-after,
.single-content__body h3.is-style-accent,
.single-content__body h3.is-style-line-heading,
.single-content__body h3.is-line-heading,
.single-content__body p.is-line-heading,
.lower__content h3.is-style-line-after,
.lower__content h3.is-style-accent,
.lower__content h3.is-style-line-heading,
.lower__content h3.is-line-heading,
.lower__content p.is-line-heading,
.entry-content h3.is-style-line-after,
.entry-content h3.is-style-accent,
.entry-content h3.is-style-line-heading,
.entry-content h3.is-line-heading,
.entry-content p.is-line-heading,
.editor-styles-wrapper h3.is-style-line-after,
.editor-styles-wrapper h3.is-style-accent,
.editor-styles-wrapper h3.is-style-line-heading,
.editor-styles-wrapper h3.is-line-heading,
.editor-styles-wrapper p.is-line-heading {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 0 16px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  color: #375A5F;
  letter-spacing: 1px;
  border-bottom: none;
}
.page-content__body h3.is-style-line-after::after,
.page-content__body h3.is-style-accent::after,
.page-content__body h3.is-style-line-heading::after,
.page-content__body h3.is-line-heading::after,
.page-content__body p.is-line-heading::after,
.single-content__body h3.is-style-line-after::after,
.single-content__body h3.is-style-accent::after,
.single-content__body h3.is-style-line-heading::after,
.single-content__body h3.is-line-heading::after,
.single-content__body p.is-line-heading::after,
.lower__content h3.is-style-line-after::after,
.lower__content h3.is-style-accent::after,
.lower__content h3.is-style-line-heading::after,
.lower__content h3.is-line-heading::after,
.lower__content p.is-line-heading::after,
.entry-content h3.is-style-line-after::after,
.entry-content h3.is-style-accent::after,
.entry-content h3.is-style-line-heading::after,
.entry-content h3.is-line-heading::after,
.entry-content p.is-line-heading::after,
.editor-styles-wrapper h3.is-style-line-after::after,
.editor-styles-wrapper h3.is-style-accent::after,
.editor-styles-wrapper h3.is-style-line-heading::after,
.editor-styles-wrapper h3.is-line-heading::after,
.editor-styles-wrapper p.is-line-heading::after {
  content: "";
  flex: 1;
  height: 8px;
  background-image: linear-gradient(#eed199, #eed199);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100% 1px;
  border-right: 1px solid #eed199;
}
.page-content__body h4.is-style-bar-line,
.page-content__body h4.wp-block-heading,
.page-content__body .wp-block-heading.is-style-bar-line,
.single-content__body h4.is-style-bar-line,
.single-content__body h4.wp-block-heading,
.single-content__body .wp-block-heading.is-style-bar-line,
.lower__content h4.is-style-bar-line,
.lower__content h4.wp-block-heading,
.lower__content .wp-block-heading.is-style-bar-line,
.entry-content h4.is-style-bar-line,
.entry-content h4.wp-block-heading,
.entry-content .wp-block-heading.is-style-bar-line,
.editor-styles-wrapper h4.is-style-bar-line,
.editor-styles-wrapper h4.wp-block-heading,
.editor-styles-wrapper .wp-block-heading.is-style-bar-line {
  padding: 8px 16px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  color: #375A5F;
  letter-spacing: 1px;
  border-bottom: 1px solid #375a5f;
  border-left: 1px solid #375a5f;
}
.page-content__body h5.is-style-h5-river,
.page-content__body h5.wp-block-heading,
.page-content__body .wp-block-heading.is-style-h5-river,
.single-content__body h5.is-style-h5-river,
.single-content__body h5.wp-block-heading,
.single-content__body .wp-block-heading.is-style-h5-river,
.lower__content h5.is-style-h5-river,
.lower__content h5.wp-block-heading,
.lower__content .wp-block-heading.is-style-h5-river,
.entry-content h5.is-style-h5-river,
.entry-content h5.wp-block-heading,
.entry-content .wp-block-heading.is-style-h5-river,
.editor-styles-wrapper h5.is-style-h5-river,
.editor-styles-wrapper h5.wp-block-heading,
.editor-styles-wrapper .wp-block-heading.is-style-h5-river {
  position: relative;
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 0 16px;
  min-height: 29px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  letter-spacing: 0.9px;
  background: linear-gradient(164.62deg, #375a5f 10.36%, #4eacba 20.56%, #72bbc5 67.79%, rgba(114, 187, 197, 0.95) 72.03%, #375a5f 115.65%);
}
.page-content__body h5.is-style-h5-river::before,
.page-content__body h5.wp-block-heading::before,
.page-content__body .wp-block-heading.is-style-h5-river::before,
.single-content__body h5.is-style-h5-river::before,
.single-content__body h5.wp-block-heading::before,
.single-content__body .wp-block-heading.is-style-h5-river::before,
.lower__content h5.is-style-h5-river::before,
.lower__content h5.wp-block-heading::before,
.lower__content .wp-block-heading.is-style-h5-river::before,
.entry-content h5.is-style-h5-river::before,
.entry-content h5.wp-block-heading::before,
.entry-content .wp-block-heading.is-style-h5-river::before,
.editor-styles-wrapper h5.is-style-h5-river::before,
.editor-styles-wrapper h5.wp-block-heading::before,
.editor-styles-wrapper .wp-block-heading.is-style-h5-river::before {
  content: "";
  position: static;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background-color: transparent;
  background-image: url("../images/gcb/sparkling-h5.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: none;
  mask-image: none;
  -webkit-mask-image: none;
}
.page-content__body > ul:not([class*=is-style-]):not(.is-check),
.page-content__body ul.wp-block-list:not([class*=is-style-]):not(.is-check),
.page-content__body ul.is-style-dot-underline,
.page-content__body .wp-block-list.is-style-dot-underline,
.single-content__body > ul:not([class*=is-style-]):not(.is-check),
.single-content__body ul.wp-block-list:not([class*=is-style-]):not(.is-check),
.single-content__body ul.is-style-dot-underline,
.single-content__body .wp-block-list.is-style-dot-underline,
.lower__content > ul:not([class*=is-style-]):not(.is-check),
.lower__content ul.wp-block-list:not([class*=is-style-]):not(.is-check),
.lower__content ul.is-style-dot-underline,
.lower__content .wp-block-list.is-style-dot-underline,
.entry-content > ul:not([class*=is-style-]):not(.is-check),
.entry-content ul.wp-block-list:not([class*=is-style-]):not(.is-check),
.entry-content ul.is-style-dot-underline,
.entry-content .wp-block-list.is-style-dot-underline,
.editor-styles-wrapper > ul:not([class*=is-style-]):not(.is-check),
.editor-styles-wrapper ul.wp-block-list:not([class*=is-style-]):not(.is-check),
.editor-styles-wrapper ul.is-style-dot-underline,
.editor-styles-wrapper .wp-block-list.is-style-dot-underline {
  padding: 0;
  list-style: none;
}
.page-content__body > ul:not([class*=is-style-]):not(.is-check) li,
.page-content__body ul.wp-block-list:not([class*=is-style-]):not(.is-check) li,
.page-content__body ul.is-style-dot-underline li,
.page-content__body .wp-block-list.is-style-dot-underline li,
.single-content__body > ul:not([class*=is-style-]):not(.is-check) li,
.single-content__body ul.wp-block-list:not([class*=is-style-]):not(.is-check) li,
.single-content__body ul.is-style-dot-underline li,
.single-content__body .wp-block-list.is-style-dot-underline li,
.lower__content > ul:not([class*=is-style-]):not(.is-check) li,
.lower__content ul.wp-block-list:not([class*=is-style-]):not(.is-check) li,
.lower__content ul.is-style-dot-underline li,
.lower__content .wp-block-list.is-style-dot-underline li,
.entry-content > ul:not([class*=is-style-]):not(.is-check) li,
.entry-content ul.wp-block-list:not([class*=is-style-]):not(.is-check) li,
.entry-content ul.is-style-dot-underline li,
.entry-content .wp-block-list.is-style-dot-underline li,
.editor-styles-wrapper > ul:not([class*=is-style-]):not(.is-check) li,
.editor-styles-wrapper ul.wp-block-list:not([class*=is-style-]):not(.is-check) li,
.editor-styles-wrapper ul.is-style-dot-underline li,
.editor-styles-wrapper .wp-block-list.is-style-dot-underline li {
  position: relative;
  margin-bottom: 0;
  padding-left: 26px;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
.page-content__body > ul:not([class*=is-style-]):not(.is-check) li > p,
.page-content__body ul.wp-block-list:not([class*=is-style-]):not(.is-check) li > p,
.page-content__body ul.is-style-dot-underline li > p,
.page-content__body .wp-block-list.is-style-dot-underline li > p,
.single-content__body > ul:not([class*=is-style-]):not(.is-check) li > p,
.single-content__body ul.wp-block-list:not([class*=is-style-]):not(.is-check) li > p,
.single-content__body ul.is-style-dot-underline li > p,
.single-content__body .wp-block-list.is-style-dot-underline li > p,
.lower__content > ul:not([class*=is-style-]):not(.is-check) li > p,
.lower__content ul.wp-block-list:not([class*=is-style-]):not(.is-check) li > p,
.lower__content ul.is-style-dot-underline li > p,
.lower__content .wp-block-list.is-style-dot-underline li > p,
.entry-content > ul:not([class*=is-style-]):not(.is-check) li > p,
.entry-content ul.wp-block-list:not([class*=is-style-]):not(.is-check) li > p,
.entry-content ul.is-style-dot-underline li > p,
.entry-content .wp-block-list.is-style-dot-underline li > p,
.editor-styles-wrapper > ul:not([class*=is-style-]):not(.is-check) li > p,
.editor-styles-wrapper ul.wp-block-list:not([class*=is-style-]):not(.is-check) li > p,
.editor-styles-wrapper ul.is-style-dot-underline li > p,
.editor-styles-wrapper .wp-block-list.is-style-dot-underline li > p {
  margin: 0;
}
.page-content__body > ul:not([class*=is-style-]):not(.is-check) li::before,
.page-content__body ul.wp-block-list:not([class*=is-style-]):not(.is-check) li::before,
.page-content__body ul.is-style-dot-underline li::before,
.page-content__body .wp-block-list.is-style-dot-underline li::before,
.single-content__body > ul:not([class*=is-style-]):not(.is-check) li::before,
.single-content__body ul.wp-block-list:not([class*=is-style-]):not(.is-check) li::before,
.single-content__body ul.is-style-dot-underline li::before,
.single-content__body .wp-block-list.is-style-dot-underline li::before,
.lower__content > ul:not([class*=is-style-]):not(.is-check) li::before,
.lower__content ul.wp-block-list:not([class*=is-style-]):not(.is-check) li::before,
.lower__content ul.is-style-dot-underline li::before,
.lower__content .wp-block-list.is-style-dot-underline li::before,
.entry-content > ul:not([class*=is-style-]):not(.is-check) li::before,
.entry-content ul.wp-block-list:not([class*=is-style-]):not(.is-check) li::before,
.entry-content ul.is-style-dot-underline li::before,
.entry-content .wp-block-list.is-style-dot-underline li::before,
.editor-styles-wrapper > ul:not([class*=is-style-]):not(.is-check) li::before,
.editor-styles-wrapper ul.wp-block-list:not([class*=is-style-]):not(.is-check) li::before,
.editor-styles-wrapper ul.is-style-dot-underline li::before,
.editor-styles-wrapper .wp-block-list.is-style-dot-underline li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 24px;
  height: 24px;
  background-color: transparent;
  background-image: url("../images/gcb/ico-dot.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border-radius: 0;
  transform: none;
}
.page-content__body ol.is-style-number-large,
.page-content__body ol.wp-block-list,
.single-content__body ol.is-style-number-large,
.single-content__body ol.wp-block-list,
.lower__content ol.is-style-number-large,
.lower__content ol.wp-block-list,
.entry-content ol.is-style-number-large,
.entry-content ol.wp-block-list,
.editor-styles-wrapper ol.is-style-number-large,
.editor-styles-wrapper ol.wp-block-list {
  padding: 0;
  list-style: none;
  counter-reset: lower-num;
}
.page-content__body ol.is-style-number-large li,
.page-content__body ol.wp-block-list li,
.single-content__body ol.is-style-number-large li,
.single-content__body ol.wp-block-list li,
.lower__content ol.is-style-number-large li,
.lower__content ol.wp-block-list li,
.entry-content ol.is-style-number-large li,
.entry-content ol.wp-block-list li,
.editor-styles-wrapper ol.is-style-number-large li,
.editor-styles-wrapper ol.wp-block-list li {
  position: relative;
  margin-bottom: 8px;
  padding-left: 28px;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  counter-increment: lower-num;
}
.page-content__body ol.is-style-number-large li:last-child,
.page-content__body ol.wp-block-list li:last-child,
.single-content__body ol.is-style-number-large li:last-child,
.single-content__body ol.wp-block-list li:last-child,
.lower__content ol.is-style-number-large li:last-child,
.lower__content ol.wp-block-list li:last-child,
.entry-content ol.is-style-number-large li:last-child,
.entry-content ol.wp-block-list li:last-child,
.editor-styles-wrapper ol.is-style-number-large li:last-child,
.editor-styles-wrapper ol.wp-block-list li:last-child {
  margin-bottom: 0;
}
.page-content__body ol.is-style-number-large li > p,
.page-content__body ol.wp-block-list li > p,
.single-content__body ol.is-style-number-large li > p,
.single-content__body ol.wp-block-list li > p,
.lower__content ol.is-style-number-large li > p,
.lower__content ol.wp-block-list li > p,
.entry-content ol.is-style-number-large li > p,
.entry-content ol.wp-block-list li > p,
.editor-styles-wrapper ol.is-style-number-large li > p,
.editor-styles-wrapper ol.wp-block-list li > p {
  margin: 0;
}
.page-content__body ol.is-style-number-large li::before,
.page-content__body ol.wp-block-list li::before,
.single-content__body ol.is-style-number-large li::before,
.single-content__body ol.wp-block-list li::before,
.lower__content ol.is-style-number-large li::before,
.lower__content ol.wp-block-list li::before,
.entry-content ol.is-style-number-large li::before,
.entry-content ol.wp-block-list li::before,
.editor-styles-wrapper ol.is-style-number-large li::before,
.editor-styles-wrapper ol.wp-block-list li::before {
  content: counter(lower-num);
  position: absolute;
  top: 2px;
  left: 0;
  display: block;
  width: 24px;
  padding: 0;
  background: none;
  border-radius: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.44;
  color: #3b95a2;
  text-align: center;
}
.page-content__body ul.is-style-check,
.page-content__body ul.is-check,
.single-content__body ul.is-style-check,
.single-content__body ul.is-check,
.lower__content ul.is-style-check,
.lower__content ul.is-check,
.entry-content ul.is-style-check,
.entry-content ul.is-check,
.editor-styles-wrapper ul.is-style-check,
.editor-styles-wrapper ul.is-check {
  padding: 0;
  list-style: none;
}
.page-content__body ul.is-style-check li,
.page-content__body ul.is-check li,
.single-content__body ul.is-style-check li,
.single-content__body ul.is-check li,
.lower__content ul.is-style-check li,
.lower__content ul.is-check li,
.entry-content ul.is-style-check li,
.entry-content ul.is-check li,
.editor-styles-wrapper ul.is-style-check li,
.editor-styles-wrapper ul.is-check li {
  position: relative;
  padding-left: 32px;
  margin-bottom: 8px;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
.page-content__body ul.is-style-check li:last-child,
.page-content__body ul.is-check li:last-child,
.single-content__body ul.is-style-check li:last-child,
.single-content__body ul.is-check li:last-child,
.lower__content ul.is-style-check li:last-child,
.lower__content ul.is-check li:last-child,
.entry-content ul.is-style-check li:last-child,
.entry-content ul.is-check li:last-child,
.editor-styles-wrapper ul.is-style-check li:last-child,
.editor-styles-wrapper ul.is-check li:last-child {
  margin-bottom: 0;
}
.page-content__body ul.is-style-check li > p,
.page-content__body ul.is-check li > p,
.single-content__body ul.is-style-check li > p,
.single-content__body ul.is-check li > p,
.lower__content ul.is-style-check li > p,
.lower__content ul.is-check li > p,
.entry-content ul.is-style-check li > p,
.entry-content ul.is-check li > p,
.editor-styles-wrapper ul.is-style-check li > p,
.editor-styles-wrapper ul.is-check li > p {
  margin: 0;
}
.page-content__body ul.is-style-check li::before,
.page-content__body ul.is-check li::before,
.single-content__body ul.is-style-check li::before,
.single-content__body ul.is-check li::before,
.lower__content ul.is-style-check li::before,
.lower__content ul.is-check li::before,
.entry-content ul.is-style-check li::before,
.entry-content ul.is-check li::before,
.editor-styles-wrapper ul.is-style-check li::before,
.editor-styles-wrapper ul.is-check li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 24px;
  height: 24px;
  background-color: transparent;
  background-image: url("../images/gcb/ico-check.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: none;
  border-radius: 0;
  font-size: 0;
  color: transparent;
}
.page-content__body ul.is-style-check li::after,
.page-content__body ul.is-check li::after,
.single-content__body ul.is-style-check li::after,
.single-content__body ul.is-check li::after,
.lower__content ul.is-style-check li::after,
.lower__content ul.is-check li::after,
.entry-content ul.is-style-check li::after,
.entry-content ul.is-check li::after,
.editor-styles-wrapper ul.is-style-check li::after,
.editor-styles-wrapper ul.is-check li::after {
  content: none;
}
.page-content__body .lower-info__row,
.single-content__body .lower-info__row,
.lower__content .lower-info__row,
.entry-content .lower-info__row,
.editor-styles-wrapper .lower-info__row {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  min-height: 80px;
  margin: 0 0 8px;
  padding: 8px 16px;
  background-color: #fff;
  border-bottom: 1px solid #375A5F;
}
.page-content__body .lower-info__row p,
.single-content__body .lower-info__row p,
.lower__content .lower-info__row p,
.entry-content .lower-info__row p,
.editor-styles-wrapper .lower-info__row p {
  margin: 0;
}
.page-content__body .lower-info__label,
.page-content__body p.lower-info__label,
.page-content__body .wp-block-paragraph.lower-info__label,
.single-content__body .lower-info__label,
.single-content__body p.lower-info__label,
.single-content__body .wp-block-paragraph.lower-info__label,
.lower__content .lower-info__label,
.lower__content p.lower-info__label,
.lower__content .wp-block-paragraph.lower-info__label,
.entry-content .lower-info__label,
.entry-content p.lower-info__label,
.entry-content .wp-block-paragraph.lower-info__label,
.editor-styles-wrapper .lower-info__label,
.editor-styles-wrapper p.lower-info__label,
.editor-styles-wrapper .wp-block-paragraph.lower-info__label {
  flex: 0 0 240px;
  width: 240px;
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  color: #375A5F;
  letter-spacing: 0.9px;
}
.page-content__body .lower-info__value,
.page-content__body p.lower-info__value,
.page-content__body .wp-block-paragraph.lower-info__value,
.single-content__body .lower-info__value,
.single-content__body p.lower-info__value,
.single-content__body .wp-block-paragraph.lower-info__value,
.lower__content .lower-info__value,
.lower__content p.lower-info__value,
.lower__content .wp-block-paragraph.lower-info__value,
.entry-content .lower-info__value,
.entry-content p.lower-info__value,
.entry-content .wp-block-paragraph.lower-info__value,
.editor-styles-wrapper .lower-info__value,
.editor-styles-wrapper p.lower-info__value,
.editor-styles-wrapper .wp-block-paragraph.lower-info__value {
  flex: 1 1 auto;
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
.page-content__body .lower-name__title,
.page-content__body p.is-style-lower-name-title,
.page-content__body .wp-block-paragraph.is-style-lower-name-title,
.single-content__body .lower-name__title,
.single-content__body p.is-style-lower-name-title,
.single-content__body .wp-block-paragraph.is-style-lower-name-title,
.lower__content .lower-name__title,
.lower__content p.is-style-lower-name-title,
.lower__content .wp-block-paragraph.is-style-lower-name-title,
.entry-content .lower-name__title,
.entry-content p.is-style-lower-name-title,
.entry-content .wp-block-paragraph.is-style-lower-name-title,
.editor-styles-wrapper .lower-name__title,
.editor-styles-wrapper p.is-style-lower-name-title,
.editor-styles-wrapper .wp-block-paragraph.is-style-lower-name-title {
  display: inline-flex;
  gap: 2px;
  align-items: center;
  margin: 0;
  padding: 0;
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.05em;
  color: #3b95a2;
}
.page-content__body .lower-name__title::before,
.page-content__body p.is-style-lower-name-title::before,
.page-content__body .wp-block-paragraph.is-style-lower-name-title::before,
.single-content__body .lower-name__title::before,
.single-content__body p.is-style-lower-name-title::before,
.single-content__body .wp-block-paragraph.is-style-lower-name-title::before,
.lower__content .lower-name__title::before,
.lower__content p.is-style-lower-name-title::before,
.lower__content .wp-block-paragraph.is-style-lower-name-title::before,
.entry-content .lower-name__title::before,
.entry-content p.is-style-lower-name-title::before,
.entry-content .wp-block-paragraph.is-style-lower-name-title::before,
.editor-styles-wrapper .lower-name__title::before,
.editor-styles-wrapper p.is-style-lower-name-title::before,
.editor-styles-wrapper .wp-block-paragraph.is-style-lower-name-title::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  background-image: url("../images/gcb/sparkling-sm.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 14px;
}
.page-content__body .lower-name__name,
.page-content__body p.is-style-lower-name-name,
.single-content__body .lower-name__name,
.single-content__body p.is-style-lower-name-name,
.lower__content .lower-name__name,
.lower__content p.is-style-lower-name-name,
.entry-content .lower-name__name,
.entry-content p.is-style-lower-name-name,
.editor-styles-wrapper .lower-name__name,
.editor-styles-wrapper p.is-style-lower-name-name {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  margin: 4px 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 300;
  line-height: 1.3;
  color: #333;
  letter-spacing: 0.08em;
}
.page-content__body .lower-name__name strong:first-child,
.page-content__body .lower-name__name .lower-name__role,
.page-content__body p.is-style-lower-name-name strong:first-child,
.page-content__body p.is-style-lower-name-name .lower-name__role,
.single-content__body .lower-name__name strong:first-child,
.single-content__body .lower-name__name .lower-name__role,
.single-content__body p.is-style-lower-name-name strong:first-child,
.single-content__body p.is-style-lower-name-name .lower-name__role,
.lower__content .lower-name__name strong:first-child,
.lower__content .lower-name__name .lower-name__role,
.lower__content p.is-style-lower-name-name strong:first-child,
.lower__content p.is-style-lower-name-name .lower-name__role,
.entry-content .lower-name__name strong:first-child,
.entry-content .lower-name__name .lower-name__role,
.entry-content p.is-style-lower-name-name strong:first-child,
.entry-content p.is-style-lower-name-name .lower-name__role,
.editor-styles-wrapper .lower-name__name strong:first-child,
.editor-styles-wrapper .lower-name__name .lower-name__role,
.editor-styles-wrapper p.is-style-lower-name-name strong:first-child,
.editor-styles-wrapper p.is-style-lower-name-name .lower-name__role {
  font-size: 14px;
  font-weight: 300;
  letter-spacing: 0.08em;
}
.page-content__body .wp-block-table,
.page-content__body .wp-block-flexible-table-block-table,
.page-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table,
.single-content__body .wp-block-table,
.single-content__body .wp-block-flexible-table-block-table,
.single-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table,
.lower__content .wp-block-table,
.lower__content .wp-block-flexible-table-block-table,
.lower__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table,
.entry-content .wp-block-table,
.entry-content .wp-block-flexible-table-block-table,
.entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table,
.editor-styles-wrapper .wp-block-table,
.editor-styles-wrapper .wp-block-flexible-table-block-table,
.editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.page-content__body table,
.page-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table,
.single-content__body table,
.single-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table,
.lower__content table,
.lower__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table,
.entry-content table,
.entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table,
.editor-styles-wrapper table,
.editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table {
  width: 100%;
  max-width: 860px;
  min-width: 0;
  border-collapse: collapse;
  table-layout: fixed;
  background-color: #fff;
}
.page-content__body thead th,
.page-content__body thead td,
.page-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th,
.page-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead td,
.single-content__body thead th,
.single-content__body thead td,
.single-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th,
.single-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead td,
.lower__content thead th,
.lower__content thead td,
.lower__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th,
.lower__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead td,
.entry-content thead th,
.entry-content thead td,
.entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th,
.entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead td,
.editor-styles-wrapper thead th,
.editor-styles-wrapper thead td,
.editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead th,
.editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table thead td {
  width: 215px;
  min-width: 215px;
  height: 67px;
  min-height: 67px;
  padding: 0 12px;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
  font-weight: 500;
  color: #fff !important;
  text-align: center;
  background-color: #3b95a2 !important;
  border: 1px solid #fff !important;
}
.page-content__body tbody td,
.page-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody td,
.single-content__body tbody td,
.single-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody td,
.lower__content tbody td,
.lower__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody td,
.entry-content tbody td,
.entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody td,
.editor-styles-wrapper tbody td,
.editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody td {
  width: 215px;
  min-width: 215px;
  height: 67px;
  min-height: 67px;
  padding: 0 12px;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
  color: #333 !important;
  text-align: center;
  background-color: #fff !important;
  border: 1px solid #e8e6e6 !important;
}
.page-content__body tbody th,
.page-content__body tbody tr > th:first-child,
.page-content__body tbody tr > td:first-child,
.page-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody th,
.page-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > th:first-child,
.page-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > td:first-child,
.single-content__body tbody th,
.single-content__body tbody tr > th:first-child,
.single-content__body tbody tr > td:first-child,
.single-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody th,
.single-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > th:first-child,
.single-content__body .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > td:first-child,
.lower__content tbody th,
.lower__content tbody tr > th:first-child,
.lower__content tbody tr > td:first-child,
.lower__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody th,
.lower__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > th:first-child,
.lower__content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > td:first-child,
.entry-content tbody th,
.entry-content tbody tr > th:first-child,
.entry-content tbody tr > td:first-child,
.entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody th,
.entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > th:first-child,
.entry-content .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > td:first-child,
.editor-styles-wrapper tbody th,
.editor-styles-wrapper tbody tr > th:first-child,
.editor-styles-wrapper tbody tr > td:first-child,
.editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody th,
.editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > th:first-child,
.editor-styles-wrapper .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table tbody tr > td:first-child {
  width: 215px;
  min-width: 215px;
  height: 67px;
  min-height: 67px;
  padding: 0 12px;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  box-sizing: border-box;
  font-weight: 400;
  color: #333 !important;
  text-align: center;
  background-color: rgba(59, 149, 162, 0.2) !important;
  border: 1px solid #e8e6e6 !important;
  border-top-color: #fff !important;
  border-bottom-color: #fff !important;
}
.page-content__body .lower-toc,
.page-content__body .lwptoc,
.single-content__body .lower-toc,
.single-content__body .lwptoc,
.lower__content .lower-toc,
.lower__content .lwptoc,
.entry-content .lower-toc,
.entry-content .lwptoc,
.editor-styles-wrapper .lower-toc,
.editor-styles-wrapper .lwptoc {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
  padding: 24px;
  overflow: hidden;
  background: linear-gradient(20.57deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
  border: none;
  border-radius: 2px;
}
.page-content__body .lower-toc.is-hidden .lower-toc__body,
.page-content__body .lwptoc.is-hidden .lower-toc__body,
.single-content__body .lower-toc.is-hidden .lower-toc__body,
.single-content__body .lwptoc.is-hidden .lower-toc__body,
.lower__content .lower-toc.is-hidden .lower-toc__body,
.lower__content .lwptoc.is-hidden .lower-toc__body,
.entry-content .lower-toc.is-hidden .lower-toc__body,
.entry-content .lwptoc.is-hidden .lower-toc__body,
.editor-styles-wrapper .lower-toc.is-hidden .lower-toc__body,
.editor-styles-wrapper .lwptoc.is-hidden .lower-toc__body {
  display: none;
}
.page-content__body .lwptoc.lwptoc-autoWidth .lwptoc_i,
.page-content__body .lwptoc .lwptoc_i,
.single-content__body .lwptoc.lwptoc-autoWidth .lwptoc_i,
.single-content__body .lwptoc .lwptoc_i,
.lower__content .lwptoc.lwptoc-autoWidth .lwptoc_i,
.lower__content .lwptoc .lwptoc_i,
.entry-content .lwptoc.lwptoc-autoWidth .lwptoc_i,
.entry-content .lwptoc .lwptoc_i,
.editor-styles-wrapper .lwptoc.lwptoc-autoWidth .lwptoc_i,
.editor-styles-wrapper .lwptoc .lwptoc_i {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent !important;
  color: #333;
}
.page-content__body .lwptoc.lwptoc-baseItems .lwptoc_items,
.single-content__body .lwptoc.lwptoc-baseItems .lwptoc_items,
.lower__content .lwptoc.lwptoc-baseItems .lwptoc_items,
.entry-content .lwptoc.lwptoc-baseItems .lwptoc_items,
.editor-styles-wrapper .lwptoc.lwptoc-baseItems .lwptoc_items {
  font-size: 100%;
}
.page-content__body .lwptoc.lwptoc-light .lwptoc_i,
.page-content__body .lwptoc.lwptoc-light .lwptoc_i a,
.page-content__body .lwptoc.lwptoc-light .lwptoc_i a:visited,
.single-content__body .lwptoc.lwptoc-light .lwptoc_i,
.single-content__body .lwptoc.lwptoc-light .lwptoc_i a,
.single-content__body .lwptoc.lwptoc-light .lwptoc_i a:visited,
.lower__content .lwptoc.lwptoc-light .lwptoc_i,
.lower__content .lwptoc.lwptoc-light .lwptoc_i a,
.lower__content .lwptoc.lwptoc-light .lwptoc_i a:visited,
.entry-content .lwptoc.lwptoc-light .lwptoc_i,
.entry-content .lwptoc.lwptoc-light .lwptoc_i a,
.entry-content .lwptoc.lwptoc-light .lwptoc_i a:visited,
.editor-styles-wrapper .lwptoc.lwptoc-light .lwptoc_i,
.editor-styles-wrapper .lwptoc.lwptoc-light .lwptoc_i a,
.editor-styles-wrapper .lwptoc.lwptoc-light .lwptoc_i a:visited {
  color: #333;
}
.page-content__body .lower-toc__header,
.page-content__body .lwptoc .lwptoc_header,
.single-content__body .lower-toc__header,
.single-content__body .lwptoc .lwptoc_header,
.lower__content .lower-toc__header,
.lower__content .lwptoc .lwptoc_header,
.entry-content .lower-toc__header,
.entry-content .lwptoc .lwptoc_header,
.editor-styles-wrapper .lower-toc__header,
.editor-styles-wrapper .lwptoc .lwptoc_header {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 0;
  margin: 0;
  padding: 0;
  background: transparent;
}
.page-content__body .lower-toc__title,
.page-content__body .lwptoc .lwptoc_header .lwptoc_title,
.single-content__body .lower-toc__title,
.single-content__body .lwptoc .lwptoc_header .lwptoc_title,
.lower__content .lower-toc__title,
.lower__content .lwptoc .lwptoc_header .lwptoc_title,
.entry-content .lower-toc__title,
.entry-content .lwptoc .lwptoc_header .lwptoc_title,
.editor-styles-wrapper .lower-toc__title,
.editor-styles-wrapper .lwptoc .lwptoc_header .lwptoc_title {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 2.4px;
}
.page-content__body .lower-toc__title::before,
.page-content__body .lwptoc .lwptoc_header .lwptoc_title::before,
.single-content__body .lower-toc__title::before,
.single-content__body .lwptoc .lwptoc_header .lwptoc_title::before,
.lower__content .lower-toc__title::before,
.lower__content .lwptoc .lwptoc_header .lwptoc_title::before,
.entry-content .lower-toc__title::before,
.entry-content .lwptoc .lwptoc_header .lwptoc_title::before,
.editor-styles-wrapper .lower-toc__title::before,
.editor-styles-wrapper .lwptoc .lwptoc_header .lwptoc_title::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background-image: url("../images/toc-sparkle.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.page-content__body .lower-toc__icons,
.single-content__body .lower-toc__icons,
.lower__content .lower-toc__icons,
.entry-content .lower-toc__icons,
.editor-styles-wrapper .lower-toc__icons {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.page-content__body .lower-toc__icon,
.single-content__body .lower-toc__icon,
.lower__content .lower-toc__icon,
.entry-content .lower-toc__icon,
.editor-styles-wrapper .lower-toc__icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}
.page-content__body .lwptoc .lwptoc_toggle,
.single-content__body .lwptoc .lwptoc_toggle,
.lower__content .lwptoc .lwptoc_toggle,
.entry-content .lwptoc .lwptoc_toggle,
.editor-styles-wrapper .lwptoc .lwptoc_toggle {
  flex-shrink: 0;
  margin: 0;
}
.page-content__body .lwptoc .lwptoc_toggle::before, .page-content__body .lwptoc .lwptoc_toggle::after,
.single-content__body .lwptoc .lwptoc_toggle::before,
.single-content__body .lwptoc .lwptoc_toggle::after,
.lower__content .lwptoc .lwptoc_toggle::before,
.lower__content .lwptoc .lwptoc_toggle::after,
.entry-content .lwptoc .lwptoc_toggle::before,
.entry-content .lwptoc .lwptoc_toggle::after,
.editor-styles-wrapper .lwptoc .lwptoc_toggle::before,
.editor-styles-wrapper .lwptoc .lwptoc_toggle::after {
  content: none;
}
.page-content__body .lower-toc__toggle,
.page-content__body .lwptoc .lwptoc_toggle_label,
.single-content__body .lower-toc__toggle,
.single-content__body .lwptoc .lwptoc_toggle_label,
.lower__content .lower-toc__toggle,
.lower__content .lwptoc .lwptoc_toggle_label,
.entry-content .lower-toc__toggle,
.entry-content .lwptoc .lwptoc_toggle_label,
.editor-styles-wrapper .lower-toc__toggle,
.editor-styles-wrapper .lwptoc .lwptoc_toggle_label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 64px;
  margin: 0;
  padding: 4px 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.48px;
  color: #375A5F !important;
  text-align: center;
  text-decoration: none !important;
  background-color: #fff;
  border: none !important;
  border-radius: 2px;
  box-shadow: none !important;
  transition: opacity 0.3s;
}
.page-content__body .lower-toc__toggle:hover,
.page-content__body .lwptoc .lwptoc_toggle_label:hover,
.single-content__body .lower-toc__toggle:hover,
.single-content__body .lwptoc .lwptoc_toggle_label:hover,
.lower__content .lower-toc__toggle:hover,
.lower__content .lwptoc .lwptoc_toggle_label:hover,
.entry-content .lower-toc__toggle:hover,
.entry-content .lwptoc .lwptoc_toggle_label:hover,
.editor-styles-wrapper .lower-toc__toggle:hover,
.editor-styles-wrapper .lwptoc .lwptoc_toggle_label:hover {
  opacity: 0.8;
  color: #375A5F !important;
  text-decoration: none !important;
  border: none !important;
}
.page-content__body .lwptoc .lwptoc_toggle_label,
.single-content__body .lwptoc .lwptoc_toggle_label,
.lower__content .lwptoc .lwptoc_toggle_label,
.entry-content .lwptoc .lwptoc_toggle_label,
.editor-styles-wrapper .lwptoc .lwptoc_toggle_label {
  font-size: 0;
  letter-spacing: 0;
}
.page-content__body .lwptoc .lwptoc_toggle_label::after,
.single-content__body .lwptoc .lwptoc_toggle_label::after,
.lower__content .lwptoc .lwptoc_toggle_label::after,
.entry-content .lwptoc .lwptoc_toggle_label::after,
.editor-styles-wrapper .lwptoc .lwptoc_toggle_label::after {
  content: "非表示";
  font-size: 12px;
  letter-spacing: 0.48px;
}
.page-content__body .lwptoc:has(.lwptoc_items:not(.lwptoc_items-visible)) .lwptoc_toggle_label::after,
.single-content__body .lwptoc:has(.lwptoc_items:not(.lwptoc_items-visible)) .lwptoc_toggle_label::after,
.lower__content .lwptoc:has(.lwptoc_items:not(.lwptoc_items-visible)) .lwptoc_toggle_label::after,
.entry-content .lwptoc:has(.lwptoc_items:not(.lwptoc_items-visible)) .lwptoc_toggle_label::after,
.editor-styles-wrapper .lwptoc:has(.lwptoc_items:not(.lwptoc_items-visible)) .lwptoc_toggle_label::after {
  content: "表示";
}
.page-content__body .lower-toc__body,
.page-content__body .lwptoc .lwptoc_items,
.single-content__body .lower-toc__body,
.single-content__body .lwptoc .lwptoc_items,
.lower__content .lower-toc__body,
.lower__content .lwptoc .lwptoc_items,
.entry-content .lower-toc__body,
.entry-content .lwptoc .lwptoc_items,
.editor-styles-wrapper .lower-toc__body,
.editor-styles-wrapper .lwptoc .lwptoc_items {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  padding: 16px 32px;
  overflow: hidden;
  background-color: #fff;
  border-radius: 2px;
  counter-reset: toc-main;
}
.page-content__body .lower-toc__body::after,
.page-content__body .lwptoc .lwptoc_items::after,
.single-content__body .lower-toc__body::after,
.single-content__body .lwptoc .lwptoc_items::after,
.lower__content .lower-toc__body::after,
.lower__content .lwptoc .lwptoc_items::after,
.entry-content .lower-toc__body::after,
.entry-content .lwptoc .lwptoc_items::after,
.editor-styles-wrapper .lower-toc__body::after,
.editor-styles-wrapper .lwptoc .lwptoc_items::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 364px;
  height: 160px;
  background-image: url("../images/toc-deco.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  pointer-events: none;
  opacity: 0.2;
}
.page-content__body .lower-toc__list,
.single-content__body .lower-toc__list,
.lower__content .lower-toc__list,
.entry-content .lower-toc__list,
.editor-styles-wrapper .lower-toc__list {
  position: relative;
  z-index: 1;
  counter-reset: toc-main;
}
.page-content__body .lower-toc__item:last-child .lower-toc__subitem:last-child,
.single-content__body .lower-toc__item:last-child .lower-toc__subitem:last-child,
.lower__content .lower-toc__item:last-child .lower-toc__subitem:last-child,
.entry-content .lower-toc__item:last-child .lower-toc__subitem:last-child,
.editor-styles-wrapper .lower-toc__item:last-child .lower-toc__subitem:last-child {
  border-bottom: none;
}
.page-content__body .lower-toc__link,
.single-content__body .lower-toc__link,
.lower__content .lower-toc__link,
.entry-content .lower-toc__link,
.editor-styles-wrapper .lower-toc__link {
  display: block;
  padding: 10px 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  color: #333;
  border-bottom: 1px solid rgba(238, 209, 153, 0.5);
  counter-increment: toc-main;
  text-decoration: none;
}
.page-content__body .lower-toc__link::before,
.single-content__body .lower-toc__link::before,
.lower__content .lower-toc__link::before,
.entry-content .lower-toc__link::before,
.editor-styles-wrapper .lower-toc__link::before {
  content: counter(toc-main) ".";
  margin-right: 4px;
  font-weight: 700;
  color: #3b95a2;
}
.page-content__body .lower-toc__link:hover,
.single-content__body .lower-toc__link:hover,
.lower__content .lower-toc__link:hover,
.entry-content .lower-toc__link:hover,
.editor-styles-wrapper .lower-toc__link:hover {
  opacity: 0.7;
}
.page-content__body .lower-toc__sublist,
.single-content__body .lower-toc__sublist,
.lower__content .lower-toc__sublist,
.entry-content .lower-toc__sublist,
.editor-styles-wrapper .lower-toc__sublist {
  margin: 0;
  padding: 0;
}
.page-content__body .lower-toc__subitem,
.single-content__body .lower-toc__subitem,
.lower__content .lower-toc__subitem,
.entry-content .lower-toc__subitem,
.editor-styles-wrapper .lower-toc__subitem {
  padding: 10px 0 10px 24px;
  font-size: 14px;
  line-height: 1.4;
  color: #333;
  border-bottom: 1px solid rgba(238, 209, 153, 0.5);
}
.page-content__body .lower-toc__subitem::before,
.single-content__body .lower-toc__subitem::before,
.lower__content .lower-toc__subitem::before,
.entry-content .lower-toc__subitem::before,
.editor-styles-wrapper .lower-toc__subitem::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 8px;
  vertical-align: middle;
  background-image: url("../images/toc-minus.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.page-content__body .lower-toc__sublink,
.single-content__body .lower-toc__sublink,
.lower__content .lower-toc__sublink,
.entry-content .lower-toc__sublink,
.editor-styles-wrapper .lower-toc__sublink {
  font-size: 14px;
  color: #333;
  text-decoration: none;
}
.page-content__body .lower-toc__sublink:hover,
.single-content__body .lower-toc__sublink:hover,
.lower__content .lower-toc__sublink:hover,
.entry-content .lower-toc__sublink:hover,
.editor-styles-wrapper .lower-toc__sublink:hover {
  opacity: 0.7;
}
.page-content__body .lwptoc .lwptoc_itemWrap,
.single-content__body .lwptoc .lwptoc_itemWrap,
.lower__content .lwptoc .lwptoc_itemWrap,
.entry-content .lwptoc .lwptoc_itemWrap,
.editor-styles-wrapper .lwptoc .lwptoc_itemWrap {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  padding: 0 !important;
}
.page-content__body .lwptoc .lwptoc_item,
.single-content__body .lwptoc .lwptoc_item,
.lower__content .lwptoc .lwptoc_item,
.entry-content .lwptoc .lwptoc_item,
.editor-styles-wrapper .lwptoc .lwptoc_item {
  margin: 0 !important;
  padding: 0 !important;
}
.page-content__body .lwptoc .lwptoc_item > a,
.single-content__body .lwptoc .lwptoc_item > a,
.lower__content .lwptoc .lwptoc_item > a,
.entry-content .lwptoc .lwptoc_item > a,
.editor-styles-wrapper .lwptoc .lwptoc_item > a {
  display: flex;
  gap: 4px;
  align-items: flex-start;
  padding: 10px 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  color: #333 !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: 1px solid rgba(238, 209, 153, 0.5) !important;
  box-shadow: none !important;
}
.page-content__body .lwptoc .lwptoc_item > a:hover,
.page-content__body .lwptoc .lwptoc_item > a:focus,
.page-content__body .lwptoc .lwptoc_item > a:active,
.page-content__body .lwptoc .lwptoc_item > a:visited,
.single-content__body .lwptoc .lwptoc_item > a:hover,
.single-content__body .lwptoc .lwptoc_item > a:focus,
.single-content__body .lwptoc .lwptoc_item > a:active,
.single-content__body .lwptoc .lwptoc_item > a:visited,
.lower__content .lwptoc .lwptoc_item > a:hover,
.lower__content .lwptoc .lwptoc_item > a:focus,
.lower__content .lwptoc .lwptoc_item > a:active,
.lower__content .lwptoc .lwptoc_item > a:visited,
.entry-content .lwptoc .lwptoc_item > a:hover,
.entry-content .lwptoc .lwptoc_item > a:focus,
.entry-content .lwptoc .lwptoc_item > a:active,
.entry-content .lwptoc .lwptoc_item > a:visited,
.editor-styles-wrapper .lwptoc .lwptoc_item > a:hover,
.editor-styles-wrapper .lwptoc .lwptoc_item > a:focus,
.editor-styles-wrapper .lwptoc .lwptoc_item > a:active,
.editor-styles-wrapper .lwptoc .lwptoc_item > a:visited {
  color: #333 !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: 1px solid rgba(238, 209, 153, 0.5) !important;
  box-shadow: none !important;
  opacity: 0.75;
}
.page-content__body .lwptoc .lwptoc_item_number,
.single-content__body .lwptoc .lwptoc_item_number,
.lower__content .lwptoc .lwptoc_item_number,
.entry-content .lwptoc .lwptoc_item_number,
.editor-styles-wrapper .lwptoc .lwptoc_item_number {
  flex-shrink: 0;
  min-width: 1.5em;
  margin: 0;
  padding: 4px 0 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #3b95a2 !important;
  text-align: center;
}
.page-content__body .lwptoc .lwptoc_item_label,
.single-content__body .lwptoc .lwptoc_item_label,
.lower__content .lwptoc .lwptoc_item_label,
.entry-content .lwptoc .lwptoc_item_label,
.editor-styles-wrapper .lwptoc .lwptoc_item_label {
  flex: 1;
  min-width: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.4;
  color: #333 !important;
}
.page-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item,
.single-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item,
.lower__content .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item,
.entry-content .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item,
.editor-styles-wrapper .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item {
  counter-increment: toc-main;
}
.page-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number,
.single-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number,
.lower__content .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number,
.entry-content .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number,
.editor-styles-wrapper .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number {
  font-size: 0;
  line-height: 0;
  color: transparent !important;
}
.page-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before,
.single-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before,
.lower__content .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before,
.entry-content .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before,
.editor-styles-wrapper .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before {
  content: counter(toc-main) ".";
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #3b95a2;
}
.page-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap,
.single-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap,
.lower__content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap,
.entry-content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap,
.editor-styles-wrapper .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap {
  margin: 0 !important;
  padding: 0 0 0 24px !important;
}
.page-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a,
.single-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a,
.lower__content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a,
.entry-content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a,
.editor-styles-wrapper .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a {
  gap: 8px;
  align-items: center;
  font-size: 14px;
}
.page-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number,
.single-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number,
.lower__content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number,
.entry-content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number,
.editor-styles-wrapper .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number {
  width: 10px;
  min-width: 10px;
  height: 10px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  color: transparent !important;
  background-image: url("../images/toc-minus.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.page-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number::before,
.single-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number::before,
.lower__content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number::before,
.entry-content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number::before,
.editor-styles-wrapper .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_number::before {
  content: none !important;
}
.page-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label,
.single-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label,
.lower__content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label,
.entry-content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label,
.editor-styles-wrapper .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label {
  font-size: 14px;
  line-height: 1.4;
  color: #333 !important;
}
.page-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_item:last-of-type > a,
.page-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_itemWrap:last-child > .lwptoc_item:last-child > a,
.single-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_item:last-of-type > a,
.single-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_itemWrap:last-child > .lwptoc_item:last-child > a,
.lower__content .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_item:last-of-type > a,
.lower__content .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_itemWrap:last-child > .lwptoc_item:last-child > a,
.entry-content .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_item:last-of-type > a,
.entry-content .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_itemWrap:last-child > .lwptoc_item:last-child > a,
.editor-styles-wrapper .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_item:last-of-type > a,
.editor-styles-wrapper .lwptoc .lwptoc_items > .lwptoc_itemWrap:last-child > .lwptoc_itemWrap:last-child > .lwptoc_item:last-child > a {
  border-bottom: none !important;
}
.page-content__body .wp-block-buttons:has(.wp-block-button),
.single-content__body .wp-block-buttons:has(.wp-block-button),
.lower__content .wp-block-buttons:has(.wp-block-button),
.entry-content .wp-block-buttons:has(.wp-block-button),
.editor-styles-wrapper .wp-block-buttons:has(.wp-block-button) {
  width: 100%;
  justify-content: center;
}
.page-content__body .wp-block-button,
.single-content__body .wp-block-button,
.lower__content .wp-block-button,
.entry-content .wp-block-button,
.editor-styles-wrapper .wp-block-button {
  width: auto;
}
.page-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
.page-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link,
.single-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
.single-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link,
.lower__content .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
.lower__content .wp-block-button.is-style-lower-internal .wp-block-button__link,
.entry-content .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
.entry-content .wp-block-button.is-style-lower-internal .wp-block-button__link,
.editor-styles-wrapper .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-lower-internal .wp-block-button__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: auto;
  min-width: 297px;
  max-width: 100%;
  min-height: 0;
  height: auto;
  padding: 24px 60px;
  box-sizing: border-box;
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff !important;
  text-align: center;
  background-color: #3b95a2 !important;
  border: 1px solid #fff !important;
  border-radius: 4px !important;
  box-shadow: none;
  transition: opacity 0.3s;
}
.page-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link::before,
.page-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link::before,
.single-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link::before,
.single-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link::before,
.lower__content .wp-block-button:not([class*=is-style-]) .wp-block-button__link::before,
.lower__content .wp-block-button.is-style-lower-internal .wp-block-button__link::before,
.entry-content .wp-block-button:not([class*=is-style-]) .wp-block-button__link::before,
.entry-content .wp-block-button.is-style-lower-internal .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button:not([class*=is-style-]) .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.is-style-lower-internal .wp-block-button__link::before {
  content: none;
}
.page-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link::after,
.page-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link::after,
.single-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link::after,
.single-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link::after,
.lower__content .wp-block-button:not([class*=is-style-]) .wp-block-button__link::after,
.lower__content .wp-block-button.is-style-lower-internal .wp-block-button__link::after,
.entry-content .wp-block-button:not([class*=is-style-]) .wp-block-button__link::after,
.entry-content .wp-block-button.is-style-lower-internal .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button:not([class*=is-style-]) .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-lower-internal .wp-block-button__link::after {
  content: "";
  position: static;
  flex: 0 0 auto;
  width: 34px;
  height: 27px;
  border: none;
  border-radius: 0;
  background-color: transparent;
  background-image: url("../images/gcb/btn-arrow-circle.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 34px 27px;
  transform: none;
}
.page-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link:hover,
.page-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link:hover,
.single-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link:hover,
.single-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link:hover,
.lower__content .wp-block-button:not([class*=is-style-]) .wp-block-button__link:hover,
.lower__content .wp-block-button.is-style-lower-internal .wp-block-button__link:hover,
.entry-content .wp-block-button:not([class*=is-style-]) .wp-block-button__link:hover,
.entry-content .wp-block-button.is-style-lower-internal .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button:not([class*=is-style-]) .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button.is-style-lower-internal .wp-block-button__link:hover {
  opacity: 0.8;
  background-color: #3b95a2 !important;
}
.page-content__body .wp-block-button.is-style-lower-external .wp-block-button__link,
.page-content__body .wp-block-button.is-style-blank .wp-block-button__link,
.page-content__body .wp-block-button.is-blank .wp-block-button__link,
.single-content__body .wp-block-button.is-style-lower-external .wp-block-button__link,
.single-content__body .wp-block-button.is-style-blank .wp-block-button__link,
.single-content__body .wp-block-button.is-blank .wp-block-button__link,
.lower__content .wp-block-button.is-style-lower-external .wp-block-button__link,
.lower__content .wp-block-button.is-style-blank .wp-block-button__link,
.lower__content .wp-block-button.is-blank .wp-block-button__link,
.entry-content .wp-block-button.is-style-lower-external .wp-block-button__link,
.entry-content .wp-block-button.is-style-blank .wp-block-button__link,
.entry-content .wp-block-button.is-blank .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-lower-external .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-blank .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-blank .wp-block-button__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  height: auto;
  padding: 24px 60px;
  box-sizing: border-box;
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.02em;
  color: #3b95a2 !important;
  background-color: #fff !important;
  border: 1px solid #375a5f !important;
  border-radius: 2px !important;
  box-shadow: none;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
.page-content__body .wp-block-button.is-style-lower-external .wp-block-button__link::after,
.page-content__body .wp-block-button.is-style-blank .wp-block-button__link::after,
.page-content__body .wp-block-button.is-blank .wp-block-button__link::after,
.single-content__body .wp-block-button.is-style-lower-external .wp-block-button__link::after,
.single-content__body .wp-block-button.is-style-blank .wp-block-button__link::after,
.single-content__body .wp-block-button.is-blank .wp-block-button__link::after,
.lower__content .wp-block-button.is-style-lower-external .wp-block-button__link::after,
.lower__content .wp-block-button.is-style-blank .wp-block-button__link::after,
.lower__content .wp-block-button.is-blank .wp-block-button__link::after,
.entry-content .wp-block-button.is-style-lower-external .wp-block-button__link::after,
.entry-content .wp-block-button.is-style-blank .wp-block-button__link::after,
.entry-content .wp-block-button.is-blank .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-lower-external .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-blank .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-blank .wp-block-button__link::after {
  content: none;
}
.page-content__body .wp-block-button.is-style-lower-external .wp-block-button__link::before,
.page-content__body .wp-block-button.is-style-blank .wp-block-button__link::before,
.page-content__body .wp-block-button.is-blank .wp-block-button__link::before,
.single-content__body .wp-block-button.is-style-lower-external .wp-block-button__link::before,
.single-content__body .wp-block-button.is-style-blank .wp-block-button__link::before,
.single-content__body .wp-block-button.is-blank .wp-block-button__link::before,
.lower__content .wp-block-button.is-style-lower-external .wp-block-button__link::before,
.lower__content .wp-block-button.is-style-blank .wp-block-button__link::before,
.lower__content .wp-block-button.is-blank .wp-block-button__link::before,
.entry-content .wp-block-button.is-style-lower-external .wp-block-button__link::before,
.entry-content .wp-block-button.is-style-blank .wp-block-button__link::before,
.entry-content .wp-block-button.is-blank .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.is-style-lower-external .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.is-style-blank .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.is-blank .wp-block-button__link::before {
  content: "";
  position: static;
  flex: 0 0 auto;
  order: -1;
  width: 24px;
  height: 24px;
  background-image: url("../images/gcb/btn-external.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  transform: none;
  transition: filter 0.3s;
}
.page-content__body .wp-block-button.is-style-lower-external .wp-block-button__link:hover,
.page-content__body .wp-block-button.is-style-blank .wp-block-button__link:hover,
.page-content__body .wp-block-button.is-blank .wp-block-button__link:hover,
.single-content__body .wp-block-button.is-style-lower-external .wp-block-button__link:hover,
.single-content__body .wp-block-button.is-style-blank .wp-block-button__link:hover,
.single-content__body .wp-block-button.is-blank .wp-block-button__link:hover,
.lower__content .wp-block-button.is-style-lower-external .wp-block-button__link:hover,
.lower__content .wp-block-button.is-style-blank .wp-block-button__link:hover,
.lower__content .wp-block-button.is-blank .wp-block-button__link:hover,
.entry-content .wp-block-button.is-style-lower-external .wp-block-button__link:hover,
.entry-content .wp-block-button.is-style-blank .wp-block-button__link:hover,
.entry-content .wp-block-button.is-blank .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button.is-style-lower-external .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button.is-style-blank .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button.is-blank .wp-block-button__link:hover {
  opacity: 1;
  color: #fff !important;
  background-color: #3b95a2 !important;
  border-color: #3b95a2 !important;
}
.page-content__body .wp-block-button.is-style-lower-external .wp-block-button__link:hover::before,
.page-content__body .wp-block-button.is-style-blank .wp-block-button__link:hover::before,
.page-content__body .wp-block-button.is-blank .wp-block-button__link:hover::before,
.single-content__body .wp-block-button.is-style-lower-external .wp-block-button__link:hover::before,
.single-content__body .wp-block-button.is-style-blank .wp-block-button__link:hover::before,
.single-content__body .wp-block-button.is-blank .wp-block-button__link:hover::before,
.lower__content .wp-block-button.is-style-lower-external .wp-block-button__link:hover::before,
.lower__content .wp-block-button.is-style-blank .wp-block-button__link:hover::before,
.lower__content .wp-block-button.is-blank .wp-block-button__link:hover::before,
.entry-content .wp-block-button.is-style-lower-external .wp-block-button__link:hover::before,
.entry-content .wp-block-button.is-style-blank .wp-block-button__link:hover::before,
.entry-content .wp-block-button.is-blank .wp-block-button__link:hover::before,
.editor-styles-wrapper .wp-block-button.is-style-lower-external .wp-block-button__link:hover::before,
.editor-styles-wrapper .wp-block-button.is-style-blank .wp-block-button__link:hover::before,
.editor-styles-wrapper .wp-block-button.is-blank .wp-block-button__link:hover::before {
  filter: brightness(0) invert(1);
}
.page-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link,
.page-content__body .wp-block-button.is-style-page-link .wp-block-button__link,
.page-content__body .wp-block-button.is-page-link .wp-block-button__link,
.single-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link,
.single-content__body .wp-block-button.is-style-page-link .wp-block-button__link,
.single-content__body .wp-block-button.is-page-link .wp-block-button__link,
.lower__content .wp-block-button.is-style-lower-anchor .wp-block-button__link,
.lower__content .wp-block-button.is-style-page-link .wp-block-button__link,
.lower__content .wp-block-button.is-page-link .wp-block-button__link,
.entry-content .wp-block-button.is-style-lower-anchor .wp-block-button__link,
.entry-content .wp-block-button.is-style-page-link .wp-block-button__link,
.entry-content .wp-block-button.is-page-link .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-lower-anchor .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-page-link .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-page-link .wp-block-button__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  max-width: 100%;
  min-height: 0;
  height: auto;
  padding: 16px 16px 12px 24px;
  box-sizing: border-box;
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  color: #3b95a2 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #3b95a2 !important;
  border-radius: 2px !important;
  box-shadow: none;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
.page-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link::before,
.page-content__body .wp-block-button.is-style-page-link .wp-block-button__link::before,
.page-content__body .wp-block-button.is-page-link .wp-block-button__link::before,
.single-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link::before,
.single-content__body .wp-block-button.is-style-page-link .wp-block-button__link::before,
.single-content__body .wp-block-button.is-page-link .wp-block-button__link::before,
.lower__content .wp-block-button.is-style-lower-anchor .wp-block-button__link::before,
.lower__content .wp-block-button.is-style-page-link .wp-block-button__link::before,
.lower__content .wp-block-button.is-page-link .wp-block-button__link::before,
.entry-content .wp-block-button.is-style-lower-anchor .wp-block-button__link::before,
.entry-content .wp-block-button.is-style-page-link .wp-block-button__link::before,
.entry-content .wp-block-button.is-page-link .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.is-style-lower-anchor .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.is-style-page-link .wp-block-button__link::before,
.editor-styles-wrapper .wp-block-button.is-page-link .wp-block-button__link::before {
  content: none;
}
.page-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link::after,
.page-content__body .wp-block-button.is-style-page-link .wp-block-button__link::after,
.page-content__body .wp-block-button.is-page-link .wp-block-button__link::after,
.single-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link::after,
.single-content__body .wp-block-button.is-style-page-link .wp-block-button__link::after,
.single-content__body .wp-block-button.is-page-link .wp-block-button__link::after,
.lower__content .wp-block-button.is-style-lower-anchor .wp-block-button__link::after,
.lower__content .wp-block-button.is-style-page-link .wp-block-button__link::after,
.lower__content .wp-block-button.is-page-link .wp-block-button__link::after,
.entry-content .wp-block-button.is-style-lower-anchor .wp-block-button__link::after,
.entry-content .wp-block-button.is-style-page-link .wp-block-button__link::after,
.entry-content .wp-block-button.is-page-link .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-lower-anchor .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-style-page-link .wp-block-button__link::after,
.editor-styles-wrapper .wp-block-button.is-page-link .wp-block-button__link::after {
  content: "";
  position: static;
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  background-color: transparent;
  background-image: url("../images/gcb/btn-chevron-down.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 9px 5px;
  border-radius: 0;
  transform: none;
  transition: filter 0.3s;
}
.page-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover,
.page-content__body .wp-block-button.is-style-page-link .wp-block-button__link:hover,
.page-content__body .wp-block-button.is-page-link .wp-block-button__link:hover,
.single-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover,
.single-content__body .wp-block-button.is-style-page-link .wp-block-button__link:hover,
.single-content__body .wp-block-button.is-page-link .wp-block-button__link:hover,
.lower__content .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover,
.lower__content .wp-block-button.is-style-page-link .wp-block-button__link:hover,
.lower__content .wp-block-button.is-page-link .wp-block-button__link:hover,
.entry-content .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover,
.entry-content .wp-block-button.is-style-page-link .wp-block-button__link:hover,
.entry-content .wp-block-button.is-page-link .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button.is-style-page-link .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button.is-page-link .wp-block-button__link:hover {
  opacity: 1;
  color: #fff !important;
  background-color: #3b95a2 !important;
  border-bottom-color: #fff !important;
}
.page-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover::after,
.page-content__body .wp-block-button.is-style-page-link .wp-block-button__link:hover::after,
.page-content__body .wp-block-button.is-page-link .wp-block-button__link:hover::after,
.single-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover::after,
.single-content__body .wp-block-button.is-style-page-link .wp-block-button__link:hover::after,
.single-content__body .wp-block-button.is-page-link .wp-block-button__link:hover::after,
.lower__content .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover::after,
.lower__content .wp-block-button.is-style-page-link .wp-block-button__link:hover::after,
.lower__content .wp-block-button.is-page-link .wp-block-button__link:hover::after,
.entry-content .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover::after,
.entry-content .wp-block-button.is-style-page-link .wp-block-button__link:hover::after,
.entry-content .wp-block-button.is-page-link .wp-block-button__link:hover::after,
.editor-styles-wrapper .wp-block-button.is-style-lower-anchor .wp-block-button__link:hover::after,
.editor-styles-wrapper .wp-block-button.is-style-page-link .wp-block-button__link:hover::after,
.editor-styles-wrapper .wp-block-button.is-page-link .wp-block-button__link:hover::after {
  filter: brightness(0) invert(1);
}
.page-content__body .wp-block-quote,
.single-content__body .wp-block-quote,
.lower__content .wp-block-quote,
.entry-content .wp-block-quote,
.editor-styles-wrapper .wp-block-quote {
  position: relative;
  width: 100%;
  margin: 24px auto;
  padding: 32px 40px 24px;
  overflow: hidden;
  background-color: #f4f4f4;
  border: none;
  border-left: 4px solid #eed199;
  border-radius: 2px;
}
.page-content__body .wp-block-quote::before,
.single-content__body .wp-block-quote::before,
.lower__content .wp-block-quote::before,
.entry-content .wp-block-quote::before,
.editor-styles-wrapper .wp-block-quote::before {
  content: "";
  position: absolute;
  top: -7px;
  left: 3px;
  width: 96px;
  height: 96px;
  font-size: 0;
  background-image: url("../images/gcb/quote-left.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 96px 96px;
  opacity: 0.1;
  pointer-events: none;
}
.page-content__body .wp-block-quote p,
.single-content__body .wp-block-quote p,
.lower__content .wp-block-quote p,
.entry-content .wp-block-quote p,
.editor-styles-wrapper .wp-block-quote p {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: #333;
}
.page-content__body .wp-block-quote cite,
.page-content__body .wp-block-quote .blockquote__bottom,
.single-content__body .wp-block-quote cite,
.single-content__body .wp-block-quote .blockquote__bottom,
.lower__content .wp-block-quote cite,
.lower__content .wp-block-quote .blockquote__bottom,
.entry-content .wp-block-quote cite,
.entry-content .wp-block-quote .blockquote__bottom,
.editor-styles-wrapper .wp-block-quote cite,
.editor-styles-wrapper .wp-block-quote .blockquote__bottom {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 16px;
  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 1.4;
  letter-spacing: 0.15em;
  color: #737279;
  text-align: right;
}
.page-content__body .wp-block-quote cite::before,
.page-content__body .wp-block-quote .blockquote__bottom::before,
.single-content__body .wp-block-quote cite::before,
.single-content__body .wp-block-quote .blockquote__bottom::before,
.lower__content .wp-block-quote cite::before,
.lower__content .wp-block-quote .blockquote__bottom::before,
.entry-content .wp-block-quote cite::before,
.entry-content .wp-block-quote .blockquote__bottom::before,
.editor-styles-wrapper .wp-block-quote cite::before,
.editor-styles-wrapper .wp-block-quote .blockquote__bottom::before {
  content: "引用：";
  letter-spacing: 0.15em;
  color: #737279;
}
.page-content__body .wp-block-quote cite a,
.page-content__body .wp-block-quote .blockquote__bottom a,
.single-content__body .wp-block-quote cite a,
.single-content__body .wp-block-quote .blockquote__bottom a,
.lower__content .wp-block-quote cite a,
.lower__content .wp-block-quote .blockquote__bottom a,
.entry-content .wp-block-quote cite a,
.entry-content .wp-block-quote .blockquote__bottom a,
.editor-styles-wrapper .wp-block-quote cite a,
.editor-styles-wrapper .wp-block-quote .blockquote__bottom a {
  letter-spacing: 0.05em;
  color: #737279;
  text-decoration: underline;
  transition: opacity 0.3s;
}
.page-content__body .wp-block-quote cite a:hover,
.page-content__body .wp-block-quote .blockquote__bottom a:hover,
.single-content__body .wp-block-quote cite a:hover,
.single-content__body .wp-block-quote .blockquote__bottom a:hover,
.lower__content .wp-block-quote cite a:hover,
.lower__content .wp-block-quote .blockquote__bottom a:hover,
.entry-content .wp-block-quote cite a:hover,
.entry-content .wp-block-quote .blockquote__bottom a:hover,
.editor-styles-wrapper .wp-block-quote cite a:hover,
.editor-styles-wrapper .wp-block-quote .blockquote__bottom a:hover {
  opacity: 0.7;
}
.page-content__body [id],
.single-content__body [id],
.lower__content [id],
.entry-content [id],
.editor-styles-wrapper [id] {
  scroll-margin-top: 100px;
}
.page-content__body .wp-block-image img,
.single-content__body .wp-block-image img,
.lower__content .wp-block-image img,
.entry-content .wp-block-image img,
.editor-styles-wrapper .wp-block-image img {
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 4px;
}
.page-content__body p strong,
.page-content__body p b,
.single-content__body p strong,
.single-content__body p b,
.lower__content p strong,
.lower__content p b,
.entry-content p strong,
.entry-content p b,
.editor-styles-wrapper p strong,
.editor-styles-wrapper p b {
  font-weight: 700;
}

@media screen and (max-width:768px) {
  .page-content__body > h1,
  .page-content__body h1.wp-block-heading,
  .page-content__body .wp-block-heading h1,
  .single-content__body > h1,
  .single-content__body h1.wp-block-heading,
  .single-content__body .wp-block-heading h1,
  .lower__content > h1,
  .lower__content h1.wp-block-heading,
  .lower__content .wp-block-heading h1,
  .entry-content > h1,
  .entry-content h1.wp-block-heading,
  .entry-content .wp-block-heading h1,
  .editor-styles-wrapper > h1,
  .editor-styles-wrapper h1.wp-block-heading,
  .editor-styles-wrapper .wp-block-heading h1 {
    min-height: 56px;
    padding: 0 16px;
    font-size: 22px;
  }
  .page-content__body > h2,
  .page-content__body h2.wp-block-heading,
  .page-content__body .wp-block-heading h2,
  .single-content__body > h2,
  .single-content__body h2.wp-block-heading,
  .single-content__body .wp-block-heading h2,
  .lower__content > h2,
  .lower__content h2.wp-block-heading,
  .lower__content .wp-block-heading h2,
  .entry-content > h2,
  .entry-content h2.wp-block-heading,
  .entry-content .wp-block-heading h2,
  .editor-styles-wrapper > h2,
  .editor-styles-wrapper h2.wp-block-heading,
  .editor-styles-wrapper .wp-block-heading h2 {
    min-height: 56px;
    padding: 0 16px;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: 2.4px;
  }
  .page-content__body h3.wp-block-heading:not([class*=is-style-]),
  .single-content__body h3.wp-block-heading:not([class*=is-style-]),
  .lower__content h3.wp-block-heading:not([class*=is-style-]),
  .entry-content h3.wp-block-heading:not([class*=is-style-]),
  .editor-styles-wrapper h3.wp-block-heading:not([class*=is-style-]) {
    font-size: 18px;
    letter-spacing: 1px;
  }
  .page-content__body h3.is-style-line-after,
  .page-content__body h3.is-style-accent,
  .page-content__body h3.is-style-line-heading,
  .page-content__body h3.is-line-heading,
  .page-content__body p.is-line-heading,
  .single-content__body h3.is-style-line-after,
  .single-content__body h3.is-style-accent,
  .single-content__body h3.is-style-line-heading,
  .single-content__body h3.is-line-heading,
  .single-content__body p.is-line-heading,
  .lower__content h3.is-style-line-after,
  .lower__content h3.is-style-accent,
  .lower__content h3.is-style-line-heading,
  .lower__content h3.is-line-heading,
  .lower__content p.is-line-heading,
  .entry-content h3.is-style-line-after,
  .entry-content h3.is-style-accent,
  .entry-content h3.is-style-line-heading,
  .entry-content h3.is-line-heading,
  .entry-content p.is-line-heading,
  .editor-styles-wrapper h3.is-style-line-after,
  .editor-styles-wrapper h3.is-style-accent,
  .editor-styles-wrapper h3.is-style-line-heading,
  .editor-styles-wrapper h3.is-line-heading,
  .editor-styles-wrapper p.is-line-heading {
    font-size: 18px;
    letter-spacing: 1px;
  }
  .page-content__body h4.is-style-bar-line,
  .page-content__body h4.wp-block-heading,
  .page-content__body .wp-block-heading.is-style-bar-line,
  .single-content__body h4.is-style-bar-line,
  .single-content__body h4.wp-block-heading,
  .single-content__body .wp-block-heading.is-style-bar-line,
  .lower__content h4.is-style-bar-line,
  .lower__content h4.wp-block-heading,
  .lower__content .wp-block-heading.is-style-bar-line,
  .entry-content h4.is-style-bar-line,
  .entry-content h4.wp-block-heading,
  .entry-content .wp-block-heading.is-style-bar-line,
  .editor-styles-wrapper h4.is-style-bar-line,
  .editor-styles-wrapper h4.wp-block-heading,
  .editor-styles-wrapper .wp-block-heading.is-style-bar-line {
    font-size: 16px;
  }
  .page-content__body h5.is-style-h5-river,
  .page-content__body h5.wp-block-heading,
  .page-content__body .wp-block-heading.is-style-h5-river,
  .single-content__body h5.is-style-h5-river,
  .single-content__body h5.wp-block-heading,
  .single-content__body .wp-block-heading.is-style-h5-river,
  .lower__content h5.is-style-h5-river,
  .lower__content h5.wp-block-heading,
  .lower__content .wp-block-heading.is-style-h5-river,
  .entry-content h5.is-style-h5-river,
  .entry-content h5.wp-block-heading,
  .entry-content .wp-block-heading.is-style-h5-river,
  .editor-styles-wrapper h5.is-style-h5-river,
  .editor-styles-wrapper h5.wp-block-heading,
  .editor-styles-wrapper .wp-block-heading.is-style-h5-river {
    padding: 8px 16px;
    font-size: 14px;
  }
  .page-content__body h5.is-style-h5-river::before,
  .page-content__body h5.wp-block-heading::before,
  .page-content__body .wp-block-heading.is-style-h5-river::before,
  .single-content__body h5.is-style-h5-river::before,
  .single-content__body h5.wp-block-heading::before,
  .single-content__body .wp-block-heading.is-style-h5-river::before,
  .lower__content h5.is-style-h5-river::before,
  .lower__content h5.wp-block-heading::before,
  .lower__content .wp-block-heading.is-style-h5-river::before,
  .entry-content h5.is-style-h5-river::before,
  .entry-content h5.wp-block-heading::before,
  .entry-content .wp-block-heading.is-style-h5-river::before,
  .editor-styles-wrapper h5.is-style-h5-river::before,
  .editor-styles-wrapper h5.wp-block-heading::before,
  .editor-styles-wrapper .wp-block-heading.is-style-h5-river::before {
    width: 16px;
    height: 16px;
  }
  .page-content__body ol.is-style-number-large li::before,
  .page-content__body ol.wp-block-list li::before,
  .single-content__body ol.is-style-number-large li::before,
  .single-content__body ol.wp-block-list li::before,
  .lower__content ol.is-style-number-large li::before,
  .lower__content ol.wp-block-list li::before,
  .entry-content ol.is-style-number-large li::before,
  .entry-content ol.wp-block-list li::before,
  .editor-styles-wrapper ol.is-style-number-large li::before,
  .editor-styles-wrapper ol.wp-block-list li::before {
    font-size: 18px;
  }
  .page-content__body p,
  .single-content__body p,
  .lower__content p,
  .entry-content p,
  .editor-styles-wrapper p {
    font-size: 16px;
    line-height: 1.9;
  }
  .page-content__body .wp-block-table,
  .page-content__body .wp-block-flexible-table-block-table,
  .single-content__body .wp-block-table,
  .single-content__body .wp-block-flexible-table-block-table,
  .lower__content .wp-block-table,
  .lower__content .wp-block-flexible-table-block-table,
  .entry-content .wp-block-table,
  .entry-content .wp-block-flexible-table-block-table,
  .editor-styles-wrapper .wp-block-table,
  .editor-styles-wrapper .wp-block-flexible-table-block-table {
    margin-right: -16px;
    margin-left: -16px;
    padding-right: 16px;
    padding-left: 16px;
  }
  .page-content__body .lower-info__row,
  .single-content__body .lower-info__row,
  .lower__content .lower-info__row,
  .entry-content .lower-info__row,
  .editor-styles-wrapper .lower-info__row {
    flex-direction: column;
    gap: 8px;
  }
  .page-content__body .lower-name__title,
  .page-content__body p.is-style-lower-name-title,
  .page-content__body .wp-block-paragraph.is-style-lower-name-title,
  .single-content__body .lower-name__title,
  .single-content__body p.is-style-lower-name-title,
  .single-content__body .wp-block-paragraph.is-style-lower-name-title,
  .lower__content .lower-name__title,
  .lower__content p.is-style-lower-name-title,
  .lower__content .wp-block-paragraph.is-style-lower-name-title,
  .entry-content .lower-name__title,
  .entry-content p.is-style-lower-name-title,
  .entry-content .wp-block-paragraph.is-style-lower-name-title,
  .editor-styles-wrapper .lower-name__title,
  .editor-styles-wrapper p.is-style-lower-name-title,
  .editor-styles-wrapper .wp-block-paragraph.is-style-lower-name-title {
    font-size: 12px;
  }
  .page-content__body .lower-name__title::before,
  .page-content__body p.is-style-lower-name-title::before,
  .page-content__body .wp-block-paragraph.is-style-lower-name-title::before,
  .single-content__body .lower-name__title::before,
  .single-content__body p.is-style-lower-name-title::before,
  .single-content__body .wp-block-paragraph.is-style-lower-name-title::before,
  .lower__content .lower-name__title::before,
  .lower__content p.is-style-lower-name-title::before,
  .lower__content .wp-block-paragraph.is-style-lower-name-title::before,
  .entry-content .lower-name__title::before,
  .entry-content p.is-style-lower-name-title::before,
  .entry-content .wp-block-paragraph.is-style-lower-name-title::before,
  .editor-styles-wrapper .lower-name__title::before,
  .editor-styles-wrapper p.is-style-lower-name-title::before,
  .editor-styles-wrapper .wp-block-paragraph.is-style-lower-name-title::before {
    width: 12px;
    height: 12px;
    background-size: 12px 12px;
  }
  .page-content__body .lower-name__name,
  .page-content__body p.is-style-lower-name-name,
  .single-content__body .lower-name__name,
  .single-content__body p.is-style-lower-name-name,
  .lower__content .lower-name__name,
  .lower__content p.is-style-lower-name-name,
  .entry-content .lower-name__name,
  .entry-content p.is-style-lower-name-name,
  .editor-styles-wrapper .lower-name__name,
  .editor-styles-wrapper p.is-style-lower-name-name {
    margin-top: 4px;
    font-size: 20px;
    gap: 12px;
  }
  .page-content__body .lower-name__name strong:first-child,
  .page-content__body .lower-name__name .lower-name__role,
  .page-content__body p.is-style-lower-name-name strong:first-child,
  .page-content__body p.is-style-lower-name-name .lower-name__role,
  .single-content__body .lower-name__name strong:first-child,
  .single-content__body .lower-name__name .lower-name__role,
  .single-content__body p.is-style-lower-name-name strong:first-child,
  .single-content__body p.is-style-lower-name-name .lower-name__role,
  .lower__content .lower-name__name strong:first-child,
  .lower__content .lower-name__name .lower-name__role,
  .lower__content p.is-style-lower-name-name strong:first-child,
  .lower__content p.is-style-lower-name-name .lower-name__role,
  .entry-content .lower-name__name strong:first-child,
  .entry-content .lower-name__name .lower-name__role,
  .entry-content p.is-style-lower-name-name strong:first-child,
  .entry-content p.is-style-lower-name-name .lower-name__role,
  .editor-styles-wrapper .lower-name__name strong:first-child,
  .editor-styles-wrapper .lower-name__name .lower-name__role,
  .editor-styles-wrapper p.is-style-lower-name-name strong:first-child,
  .editor-styles-wrapper p.is-style-lower-name-name .lower-name__role {
    font-size: 13px;
  }
  .page-content__body .lower-toc,
  .page-content__body .lwptoc,
  .single-content__body .lower-toc,
  .single-content__body .lwptoc,
  .lower__content .lower-toc,
  .lower__content .lwptoc,
  .entry-content .lower-toc,
  .entry-content .lwptoc,
  .editor-styles-wrapper .lower-toc,
  .editor-styles-wrapper .lwptoc {
    margin-right: auto;
    margin-left: auto;
    padding: 16px;
  }
  .page-content__body .lwptoc .lwptoc_i,
  .single-content__body .lwptoc .lwptoc_i,
  .lower__content .lwptoc .lwptoc_i,
  .entry-content .lwptoc .lwptoc_i,
  .editor-styles-wrapper .lwptoc .lwptoc_i {
    gap: 16px;
  }
  .page-content__body .lower-toc__header,
  .page-content__body .lwptoc .lwptoc_header,
  .single-content__body .lower-toc__header,
  .single-content__body .lwptoc .lwptoc_header,
  .lower__content .lower-toc__header,
  .lower__content .lwptoc .lwptoc_header,
  .entry-content .lower-toc__header,
  .entry-content .lwptoc .lwptoc_header,
  .editor-styles-wrapper .lower-toc__header,
  .editor-styles-wrapper .lwptoc .lwptoc_header {
    gap: 12px;
    min-height: 0;
    padding: 0;
  }
  .page-content__body .lower-toc__body,
  .page-content__body .lwptoc .lwptoc_items,
  .single-content__body .lower-toc__body,
  .single-content__body .lwptoc .lwptoc_items,
  .lower__content .lower-toc__body,
  .lower__content .lwptoc .lwptoc_items,
  .entry-content .lower-toc__body,
  .entry-content .lwptoc .lwptoc_items,
  .editor-styles-wrapper .lower-toc__body,
  .editor-styles-wrapper .lwptoc .lwptoc_items {
    padding: 12px 16px;
  }
  .page-content__body .lower-toc__body::after,
  .page-content__body .lwptoc .lwptoc_items::after,
  .single-content__body .lower-toc__body::after,
  .single-content__body .lwptoc .lwptoc_items::after,
  .lower__content .lower-toc__body::after,
  .lower__content .lwptoc .lwptoc_items::after,
  .entry-content .lower-toc__body::after,
  .entry-content .lwptoc .lwptoc_items::after,
  .editor-styles-wrapper .lower-toc__body::after,
  .editor-styles-wrapper .lwptoc .lwptoc_items::after {
    width: 240px;
    height: 105px;
    opacity: 0.2;
  }
  .page-content__body .lower-toc__icon,
  .single-content__body .lower-toc__icon,
  .lower__content .lower-toc__icon,
  .entry-content .lower-toc__icon,
  .editor-styles-wrapper .lower-toc__icon {
    width: 16px;
    height: 16px;
  }
  .page-content__body .lower-toc__title,
  .page-content__body .lwptoc .lwptoc_header .lwptoc_title,
  .single-content__body .lower-toc__title,
  .single-content__body .lwptoc .lwptoc_header .lwptoc_title,
  .lower__content .lower-toc__title,
  .lower__content .lwptoc .lwptoc_header .lwptoc_title,
  .entry-content .lower-toc__title,
  .entry-content .lwptoc .lwptoc_header .lwptoc_title,
  .editor-styles-wrapper .lower-toc__title,
  .editor-styles-wrapper .lwptoc .lwptoc_header .lwptoc_title {
    font-size: 20px;
    letter-spacing: 1.6px;
  }
  .page-content__body .lower-toc__title::before,
  .page-content__body .lwptoc .lwptoc_header .lwptoc_title::before,
  .single-content__body .lower-toc__title::before,
  .single-content__body .lwptoc .lwptoc_header .lwptoc_title::before,
  .lower__content .lower-toc__title::before,
  .lower__content .lwptoc .lwptoc_header .lwptoc_title::before,
  .entry-content .lower-toc__title::before,
  .entry-content .lwptoc .lwptoc_header .lwptoc_title::before,
  .editor-styles-wrapper .lower-toc__title::before,
  .editor-styles-wrapper .lwptoc .lwptoc_header .lwptoc_title::before {
    width: 16px;
    height: 16px;
  }
  .page-content__body .lower-toc__link,
  .page-content__body .lwptoc .lwptoc_item > a,
  .page-content__body .lwptoc .lwptoc_item_label,
  .single-content__body .lower-toc__link,
  .single-content__body .lwptoc .lwptoc_item > a,
  .single-content__body .lwptoc .lwptoc_item_label,
  .lower__content .lower-toc__link,
  .lower__content .lwptoc .lwptoc_item > a,
  .lower__content .lwptoc .lwptoc_item_label,
  .entry-content .lower-toc__link,
  .entry-content .lwptoc .lwptoc_item > a,
  .entry-content .lwptoc .lwptoc_item_label,
  .editor-styles-wrapper .lower-toc__link,
  .editor-styles-wrapper .lwptoc .lwptoc_item > a,
  .editor-styles-wrapper .lwptoc .lwptoc_item_label {
    font-size: 16px;
  }
  .page-content__body .lwptoc .lwptoc_item_number,
  .single-content__body .lwptoc .lwptoc_item_number,
  .lower__content .lwptoc .lwptoc_item_number,
  .entry-content .lwptoc .lwptoc_item_number,
  .editor-styles-wrapper .lwptoc .lwptoc_item_number {
    font-size: 14px;
  }
  .page-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before,
  .single-content__body .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before,
  .lower__content .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before,
  .entry-content .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before,
  .editor-styles-wrapper .lwptoc .lwptoc_items > .lwptoc_itemWrap > .lwptoc_item > a .lwptoc_item_number::before {
    font-size: 14px;
  }
  .page-content__body .lower-toc__subitem,
  .page-content__body .lower-toc__sublink,
  .page-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a,
  .page-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label,
  .single-content__body .lower-toc__subitem,
  .single-content__body .lower-toc__sublink,
  .single-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a,
  .single-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label,
  .lower__content .lower-toc__subitem,
  .lower__content .lower-toc__sublink,
  .lower__content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a,
  .lower__content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label,
  .entry-content .lower-toc__subitem,
  .entry-content .lower-toc__sublink,
  .entry-content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a,
  .entry-content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label,
  .editor-styles-wrapper .lower-toc__subitem,
  .editor-styles-wrapper .lower-toc__sublink,
  .editor-styles-wrapper .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item > a,
  .editor-styles-wrapper .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap .lwptoc_item_label {
    font-size: 13px;
  }
  .page-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap,
  .single-content__body .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap,
  .lower__content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap,
  .entry-content .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap,
  .editor-styles-wrapper .lwptoc .lwptoc_itemWrap .lwptoc_itemWrap {
    padding-left: 16px !important;
  }
  .page-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .page-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .page-content__body .wp-block-button.is-style-lower-external .wp-block-button__link,
  .page-content__body .wp-block-button.is-style-blank .wp-block-button__link,
  .page-content__body .wp-block-button.is-blank .wp-block-button__link,
  .single-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-lower-external .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-blank .wp-block-button__link,
  .single-content__body .wp-block-button.is-blank .wp-block-button__link,
  .lower__content .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .lower__content .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .lower__content .wp-block-button.is-style-lower-external .wp-block-button__link,
  .lower__content .wp-block-button.is-style-blank .wp-block-button__link,
  .lower__content .wp-block-button.is-blank .wp-block-button__link,
  .entry-content .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .entry-content .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .entry-content .wp-block-button.is-style-lower-external .wp-block-button__link,
  .entry-content .wp-block-button.is-style-blank .wp-block-button__link,
  .entry-content .wp-block-button.is-blank .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-lower-external .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-blank .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-blank .wp-block-button__link {
    min-width: 0;
    width: 100%;
    padding: 18px 24px;
    font-size: 16px;
  }
  .page-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .page-content__body .wp-block-button.is-style-page-link .wp-block-button__link,
  .page-content__body .wp-block-button.is-page-link .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-page-link .wp-block-button__link,
  .single-content__body .wp-block-button.is-page-link .wp-block-button__link,
  .lower__content .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .lower__content .wp-block-button.is-style-page-link .wp-block-button__link,
  .lower__content .wp-block-button.is-page-link .wp-block-button__link,
  .entry-content .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .entry-content .wp-block-button.is-style-page-link .wp-block-button__link,
  .entry-content .wp-block-button.is-page-link .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-page-link .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-page-link .wp-block-button__link {
    width: auto;
    padding: 12px 12px 10px 16px;
    font-size: 14px;
  }
  .page-content__body .wp-block-quote,
  .single-content__body .wp-block-quote,
  .lower__content .wp-block-quote,
  .entry-content .wp-block-quote,
  .editor-styles-wrapper .wp-block-quote {
    padding: 28px 20px 20px;
  }
  .page-content__body .wp-block-quote p,
  .single-content__body .wp-block-quote p,
  .lower__content .wp-block-quote p,
  .entry-content .wp-block-quote p,
  .editor-styles-wrapper .wp-block-quote p {
    font-size: 14px;
  }
  .page-content__body .wp-block-quote cite,
  .page-content__body .wp-block-quote .blockquote__bottom,
  .single-content__body .wp-block-quote cite,
  .single-content__body .wp-block-quote .blockquote__bottom,
  .lower__content .wp-block-quote cite,
  .lower__content .wp-block-quote .blockquote__bottom,
  .entry-content .wp-block-quote cite,
  .entry-content .wp-block-quote .blockquote__bottom,
  .editor-styles-wrapper .wp-block-quote cite,
  .editor-styles-wrapper .wp-block-quote .blockquote__bottom {
    font-size: 11px;
  }
  .page-content__body .wp-block-quote::before,
  .single-content__body .wp-block-quote::before,
  .lower__content .wp-block-quote::before,
  .entry-content .wp-block-quote::before,
  .editor-styles-wrapper .wp-block-quote::before {
    width: 72px;
    height: 72px;
    background-size: 72px 72px;
  }
}
@media screen and (max-width:768px) {
  .page-content__body .wp-block-buttons:has(.wp-block-button),
  .single-content__body .wp-block-buttons:has(.wp-block-button),
  .lower__content .wp-block-buttons:has(.wp-block-button),
  .entry-content .wp-block-buttons:has(.wp-block-button),
  .editor-styles-wrapper .wp-block-buttons:has(.wp-block-button) {
    width: 100%;
  }
  .page-content__body .wp-block-button,
  .single-content__body .wp-block-button,
  .lower__content .wp-block-button,
  .entry-content .wp-block-button,
  .editor-styles-wrapper .wp-block-button {
    width: 100%;
  }
  .page-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .page-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .page-content__body .wp-block-button.is-style-lower-external .wp-block-button__link,
  .page-content__body .wp-block-button.is-style-blank .wp-block-button__link,
  .page-content__body .wp-block-button.is-blank .wp-block-button__link,
  .page-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .page-content__body .wp-block-button.is-style-page-link .wp-block-button__link,
  .page-content__body .wp-block-button.is-page-link .wp-block-button__link,
  .single-content__body .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-lower-external .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-blank .wp-block-button__link,
  .single-content__body .wp-block-button.is-blank .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .single-content__body .wp-block-button.is-style-page-link .wp-block-button__link,
  .single-content__body .wp-block-button.is-page-link .wp-block-button__link,
  .lower__content .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .lower__content .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .lower__content .wp-block-button.is-style-lower-external .wp-block-button__link,
  .lower__content .wp-block-button.is-style-blank .wp-block-button__link,
  .lower__content .wp-block-button.is-blank .wp-block-button__link,
  .lower__content .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .lower__content .wp-block-button.is-style-page-link .wp-block-button__link,
  .lower__content .wp-block-button.is-page-link .wp-block-button__link,
  .entry-content .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .entry-content .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .entry-content .wp-block-button.is-style-lower-external .wp-block-button__link,
  .entry-content .wp-block-button.is-style-blank .wp-block-button__link,
  .entry-content .wp-block-button.is-blank .wp-block-button__link,
  .entry-content .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .entry-content .wp-block-button.is-style-page-link .wp-block-button__link,
  .entry-content .wp-block-button.is-page-link .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button:not([class*=is-style-]) .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-lower-internal .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-lower-external .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-blank .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-blank .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-lower-anchor .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-style-page-link .wp-block-button__link,
  .editor-styles-wrapper .wp-block-button.is-page-link .wp-block-button__link {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}
.head-box.head-box--default,
.head-box.head-box--attention,
.head-box.head-box--question,
.head-box.head-box--toggle,
.head-box.head-box--panel,
.head-box.head-box--side {
  width: 100%;
  max-width: 100%;
  margin: 0 auto 30px;
  box-sizing: border-box;
}

.head-box__heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #333;
}

.head-box__content strong {
  font-weight: 700;
}
.head-box__content > p,
.head-box__content > .wp-block-paragraph,
.head-box__content .block-editor-block-list__layout > .wp-block > p,
.head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p {
  margin: 0 0 1em;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
.head-box__content > p:last-child,
.head-box__content > .wp-block-paragraph:last-child,
.head-box__content .block-editor-block-list__layout > .wp-block > p:last-child,
.head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p:last-child {
  margin-bottom: 0;
}
.head-box__content .lower-text-accent {
  color: #3b95a2;
  text-decoration: none;
}
.head-box__content > [class*=wp-block-],
.head-box__content .block-editor-block-list__layout > .wp-block {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .bubble,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .wid-card,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .card,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .features,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .features-cta,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .point-contents,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .flow-contents,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .faq,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .merit-demerit,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .supervisor-max,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .supervisor-min,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .post-card,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .case-study,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .menu-list,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .conversion-area,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .access-info,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .type-compare,
.head-box__content > [class*=wp-block-genesis-custom-blocks-]:last-child .head-box,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .bubble,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .wid-card,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .card,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .features,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .features-cta,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .point-contents,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .flow-contents,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .faq,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .merit-demerit,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .supervisor-max,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .supervisor-min,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .post-card,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .case-study,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .menu-list,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .conversion-area,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .access-info,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .type-compare,
.head-box__content .block-editor-block-list__layout > .wp-block:last-child .head-box {
  margin-bottom: 0;
}

.head-box__content.inner-content > *:not(.has-small-font-size),
.head-box__content.inner-content .block-editor-block-list__layout > .wp-block:not(.has-small-font-size) {
  margin-top: 1em;
}

.head-box__content.inner-content > *:first-child,
.head-box__content.inner-content .block-editor-block-list__layout > .wp-block:first-child {
  margin-top: 0;
}

.head-box--default {
  position: relative;
  padding: 24px;
  background-color: #f4f4f4;
  border: none;
}
.head-box--default::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/midashi-box-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  pointer-events: none;
}
.head-box--default .head-box__heading,
.head-box--default .head-box__content {
  position: relative;
  z-index: 1;
}
.head-box--default .head-box__content {
  padding: 32px;
  background-color: #fff;
  border: none;
  border-radius: 5px;
}

.head-box--attention {
  padding: 24px;
  border: 2px solid #eed199;
  border-radius: 2px;
}
.head-box--attention .head-box__heading {
  gap: 4px;
}
.head-box--attention .head-box__heading::before {
  content: "";
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  background-image: url("../images/gcb/icon-attention.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.head-box--attention .head-box__content {
  padding: 32px;
  background-color: #fffcf5;
  border: 1px solid #eed199;
  border-radius: 5px;
}

.head-box--question {
  padding: 24px;
  border: 2px solid #3b95a2;
  border-radius: 2px;
}
.head-box--question .head-box__heading {
  font-size: 18px;
}
.head-box--question .head-box__heading::before {
  content: "";
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-image: url("../images/gcb/icon-question.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.head-box--question .head-box__content {
  padding: 32px;
  background-color: rgba(59, 149, 162, 0.1);
  border: 1px solid #3b95a2;
  border-radius: 5px;
}

.head-box--toggle {
  position: relative;
  overflow: hidden;
  background-color: #fff;
  background-image: url("../images/togle-midashi-box-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: none;
}
.head-box--toggle .head-box__heading {
  position: relative;
  z-index: 1;
  width: 100%;
  gap: 8px;
  min-height: 48px;
  margin: 0;
  padding: 8px 48px 8px 16px;
  font-size: 20px;
  color: #fff;
  background-color: #3b95a2;
  border: 2px solid #3b95a2;
  border-radius: 2px;
  cursor: pointer;
  user-select: none;
  box-sizing: border-box;
}
.head-box--toggle .head-box__heading::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background-image: url("../images/gcb/sparkling-white.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.head-box--toggle .head-box__heading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  width: 17px;
  height: 18px;
  background-image: url("../images/gcb/toggle-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 17px 18px;
  transform: translateY(-50%);
  transition: transform 0.3s;
  pointer-events: none;
}
.head-box--toggle .head-box__content {
  position: relative;
  z-index: 1;
  height: 0;
  overflow: hidden;
  padding: 0 32px;
  background-color: transparent;
  border: 1px solid #b9b9b9;
  border-top: none;
  border-radius: 0 0 2px 2px;
  transition: height 0.3s, padding-top 0.3s, padding-bottom 0.3s;
}
.head-box--toggle .head-box__content > p,
.head-box--toggle .head-box__content > .wp-block-paragraph,
.head-box--toggle .head-box__content .block-editor-block-list__layout > .wp-block > p,
.head-box--toggle .head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p {
  margin: 0 0 40px;
}
.head-box--toggle .head-box__content > p:last-child,
.head-box--toggle .head-box__content > .wp-block-paragraph:last-child,
.head-box--toggle .head-box__content .block-editor-block-list__layout > .wp-block > p:last-child,
.head-box--toggle .head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p:last-child {
  margin-bottom: 0;
}
.head-box--toggle.is-open .head-box__heading {
  border-radius: 2px 2px 0 0;
}
.head-box--toggle.is-open .head-box__content {
  padding-top: 32px;
  padding-bottom: 32px;
}
.head-box--toggle.is-open .head-box__heading::after {
  transform: translateY(-50%) rotate(180deg);
}
.head-box--toggle.is-collapsed .head-box__content {
  display: none;
}

.head-box--panel {
  position: relative;
  overflow: hidden;
  background-color: #fff;
  background-image: url("../images/midashi-ouyou-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: none;
}
.head-box--panel .head-box__heading {
  position: relative;
  z-index: 1;
  width: 100%;
  gap: 8px;
  min-height: 48px;
  margin: 0;
  padding: 8px 24px 8px 16px;
  font-size: 20px;
  color: #fff;
  background-color: #3b95a2;
  border: 2px solid #3b95a2;
  border-radius: 2px 2px 0 0;
  box-sizing: border-box;
  cursor: default;
}
.head-box--panel .head-box__heading::before {
  content: "";
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background-image: url("../images/gcb/sparkling-white.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.head-box--panel .head-box__content {
  position: relative;
  z-index: 1;
  height: auto !important;
  overflow: hidden;
  padding: 32px;
  background-color: transparent;
  border: 1px solid #b9b9b9;
  border-top: none;
  border-radius: 0 0 2px 2px;
}
.head-box--panel .head-box__content::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 364px;
  height: 160px;
  background-image: url("../images/toc-deco.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  pointer-events: none;
  opacity: 0.2;
}
.head-box--panel .head-box__content > * {
  position: relative;
  z-index: 1;
}

.head-box--side {
  position: relative;
  display: flex;
  gap: 0;
  align-items: flex-start;
  overflow: hidden;
  background-color: #fff;
  background-image: url("../images/togle-midashi-box-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: none;
}
.head-box--side .head-box__heading {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 225px;
  align-self: stretch;
  width: 225px;
  max-width: 225px;
  min-width: 225px;
  margin: 0;
  padding: 24px;
  background-color: #3b95a2;
  border: 1px solid rgba(151, 151, 151, 0.25);
  box-sizing: border-box;
}
.head-box--side .head-box__heading-text {
  position: relative;
  display: inline-block;
  width: auto;
  max-width: calc(100% - 8px);
  margin: 0;
  padding: 0 0 0 22px;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-align: left;
}
.head-box--side .head-box__heading-text::before {
  content: "";
  position: absolute;
  top: 0.2em;
  left: 0;
  width: 18px;
  height: 18px;
  background-image: url("../images/gcb/sparkling-white.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.head-box--side .head-box__content {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-width: 0;
  overflow: visible;
  padding: 32px;
  background-color: transparent;
  border: 1px solid #b9b9b9;
  border-left: none;
  border-radius: 0 2px 2px 0;
  box-sizing: border-box;
}
.head-box--side .head-box__content::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 364px;
  height: 160px;
  background-image: url("../images/toc-deco.webp");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  pointer-events: none;
  opacity: 0.2;
}
.head-box--side .head-box__content > * {
  position: relative;
  z-index: 1;
}
.head-box--side .head-box__content > p,
.head-box--side .head-box__content > .wp-block-paragraph,
.head-box--side .head-box__content .block-editor-block-list__layout > .wp-block > p,
.head-box--side .head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p {
  margin: 0 0 40px;
  word-break: normal;
  overflow-wrap: normal;
}
.head-box--side .head-box__content > p:last-child,
.head-box--side .head-box__content > .wp-block-paragraph:last-child,
.head-box--side .head-box__content .block-editor-block-list__layout > .wp-block > p:last-child,
.head-box--side .head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p:last-child {
  margin-bottom: 0;
}

.head-box--side .head-box__content.inner-content > *:not(.has-small-font-size) {
  margin-top: 0;
}

.editor-styles-wrapper .head-box--toggle,
.editor-styles-wrapper .head-box--panel,
.editor-styles-wrapper .head-box--side {
  overflow: visible;
}
.editor-styles-wrapper .head-box--toggle .head-box__content {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-top: 32px;
  padding-bottom: 32px;
}
.editor-styles-wrapper .head-box--toggle .head-box__heading {
  border-radius: 2px 2px 0 0;
}
.editor-styles-wrapper .head-box--toggle .head-box__heading::after {
  transform: translateY(-50%) rotate(180deg);
}

@media screen and (max-width:768px) {
  .head-box__heading {
    margin-bottom: 12px;
    font-size: 18px;
  }
  .head-box__content > p,
  .head-box__content > .wp-block-paragraph,
  .head-box__content .block-editor-block-list__layout > .wp-block > p,
  .head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p {
    font-size: 15px;
  }
  .head-box--default,
  .head-box--attention,
  .head-box--question {
    padding: 16px;
  }
  .head-box--default .head-box__content,
  .head-box--attention .head-box__content,
  .head-box--question .head-box__content {
    padding: 20px 16px;
  }
  .head-box--attention .head-box__heading::before {
    width: 24px;
    height: 24px;
  }
  .head-box--question .head-box__heading {
    font-size: 17px;
  }
  .head-box--question .head-box__heading::before {
    width: 22px;
    height: 22px;
  }
  .head-box--toggle .head-box__heading,
  .head-box--panel .head-box__heading {
    min-height: 44px;
    padding: 8px 40px 8px 12px;
    font-size: 17px;
  }
  .head-box--toggle .head-box__heading::before,
  .head-box--panel .head-box__heading::before {
    width: 16px;
    height: 16px;
  }
  .head-box--toggle .head-box__content,
  .head-box--panel .head-box__content {
    padding: 0 16px;
  }
  .head-box--toggle .head-box__content > p,
  .head-box--toggle .head-box__content > .wp-block-paragraph,
  .head-box--toggle .head-box__content .block-editor-block-list__layout > .wp-block > p,
  .head-box--toggle .head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p,
  .head-box--panel .head-box__content > p,
  .head-box--panel .head-box__content > .wp-block-paragraph,
  .head-box--panel .head-box__content .block-editor-block-list__layout > .wp-block > p,
  .head-box--panel .head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p {
    margin-bottom: 24px;
  }
  .head-box--toggle .head-box__heading::after {
    right: 16px;
    width: 14px;
    height: 15px;
    background-size: 14px 15px;
  }
  .head-box--panel .head-box__heading {
    padding-right: 16px;
  }
  .head-box--toggle.is-open .head-box__content,
  .head-box--panel .head-box__content {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .head-box--panel .head-box__content::after {
    width: 240px;
    height: 105px;
  }
  .head-box--side {
    flex-direction: column;
  }
  .head-box--side .head-box__heading {
    flex: 1 1 auto;
    align-self: auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 18px 16px;
  }
  .head-box--side .head-box__heading-text {
    font-size: 18px;
    text-align: left;
  }
  .head-box--side .head-box__heading-text::before {
    width: 16px;
    height: 16px;
  }
  .head-box--side .head-box__content {
    min-height: 0;
    padding: 20px 16px;
    border: 1px solid #b9b9b9;
    border-top: none;
    border-radius: 0 0 2px 2px;
  }
  .head-box--side .head-box__content::after {
    width: 240px;
    height: 105px;
  }
  .head-box--side .head-box__content > p,
  .head-box--side .head-box__content > .wp-block-paragraph,
  .head-box--side .head-box__content .block-editor-block-list__layout > .wp-block > p,
  .head-box--side .head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p {
    margin-bottom: 24px;
  }
  .head-box--side .head-box__content > p:last-child,
  .head-box--side .head-box__content > .wp-block-paragraph:last-child,
  .head-box--side .head-box__content .block-editor-block-list__layout > .wp-block > p:last-child,
  .head-box--side .head-box__content .block-editor-block-list__layout > .wp-block[data-type="core/paragraph"] > p:last-child {
    margin-bottom: 0;
  }
}
.wp-block-columns:has(.card) {
  gap: 16px;
  align-items: stretch;
}
.wp-block-columns:has(.card) .card {
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
}

.wp-block-columns:has(.card):not(:has(> .wp-block-column:nth-child(3))) {
  justify-content: center;
}
.wp-block-columns:has(.card):not(:has(> .wp-block-column:nth-child(3))) > .wp-block-column {
  flex-grow: 0;
  flex-basis: 276px !important;
  width: 276px;
  max-width: 276px;
}

.card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 276px;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  background-color: #fff;
  border: 1px solid rgba(151, 151, 151, 0.25);
  border-radius: 2px;
  box-sizing: border-box;
}
.card__label {
  position: absolute;
  top: -1px;
  left: -1px;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  width: 116px;
  height: 42px;
  margin: 0;
  padding: 8px 20px;
  font-size: 0;
  line-height: 0;
  background: linear-gradient(14.72deg, #375a5f 27.5%, #3b95a2 45.57%, #375a5f 103.03%);
  border-radius: 2px;
  box-sizing: border-box;
}
.card__label-en, .card__label-num {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.8px;
}
.card__label-en {
  font-size: 16px;
}
.card__label-num {
  font-size: 24px;
}
.card__image {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: 176px;
  margin: 0;
  overflow: hidden;
  background-color: #b2b2b2;
}
.card__img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: cover;
  border-radius: 0;
}
.card__placeholder {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 32px;
  height: 25px;
  transform: translate(-50%, -50%);
}
.card__placeholder img {
  display: block;
  width: 32px;
  height: 25px;
}
.card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 16px;
  min-height: 0;
  margin: 0;
  padding: 24px 20px;
}
.card__heading {
  margin: 0;
  padding: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #3b95a2;
  text-align: left;
  letter-spacing: 1px;
  border-bottom: none;
}
.card__text {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
.card__link {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 6px;
  margin: auto 0 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #3b95a2;
  text-decoration: none;
}
.card__link::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
}
.card__link:hover {
  text-decoration: underline;
}

p.card__text {
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

p.card__label {
  margin: 0;
  font-size: 0;
  line-height: 0;
  color: #fff;
}

@media screen and (max-width:768px) {
  .wp-block-columns:has(.card) {
    gap: 16px;
  }
  .wp-block-columns:has(.card):not(:has(> .wp-block-column:nth-child(3))) > .wp-block-column {
    flex-basis: 100% !important;
    width: 100%;
    max-width: 100%;
  }
  .card {
    max-width: 100%;
  }
  .card__image, .card__img {
    height: 160px;
  }
  .card__label {
    width: 104px;
    height: 38px;
    padding: 6px 16px;
  }
  .card__label-en {
    font-size: 14px;
  }
  .card__label-num {
    font-size: 21px;
  }
  .card__body {
    gap: 12px;
    padding: 20px 16px;
  }
  .card__heading {
    font-size: 18px;
  }
}
.wid-card {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  align-items: flex-start;
  max-width: 860px;
  margin: 0 auto 30px;
  padding: 24px;
  background-color: #fff;
  border: 1px solid rgba(55, 90, 95, 0.3);
  border-radius: 2px;
}
.wid-card__badge {
  position: absolute;
  top: -1px;
  left: -1px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  margin: 0;
  padding: 8px 20px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  letter-spacing: 0.8px;
  background: linear-gradient(14.72deg, #375a5f 27.5%, #3b95a2 45.57%, #375a5f 103.03%);
  border-radius: 2px;
}
.wid-card__image {
  position: relative;
  flex: 0 0 240px;
  max-width: 240px;
  height: 160px;
  margin: 0;
  overflow: hidden;
  background-color: #b2b2b2;
}
.wid-card__img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}
.wid-card__placeholder {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 24px;
  height: 19px;
  transform: translate(-50%, -50%);
}
.wid-card__placeholder img {
  display: block;
  width: 24px;
  height: 19px;
}
.wid-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  align-self: stretch;
  min-width: 0;
  margin: 0;
  padding-top: 0;
}
.wid-card__heading {
  margin: 0;
  padding: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  color: #3b95a2;
  border-bottom: none;
}
.wid-card__heading a {
  color: inherit;
  text-decoration: none;
}
.wid-card__heading a:hover {
  opacity: 0.8;
}
.wid-card__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}

p.wid-card__badge {
  margin: 0;
  font-size: 16px;
  line-height: 1;
  color: #fff;
}

p.wid-card__text {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}

@media screen and (max-width:768px) {
  .wid-card {
    flex-direction: column;
    gap: 16px;
    padding: 52px 16px 20px;
  }
  .wid-card__badge {
    min-height: 36px;
    padding: 6px 14px;
    font-size: 14px;
  }
  .wid-card__image {
    flex: none;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 3/2;
  }
  .wid-card__body {
    padding-top: 0;
  }
  .wid-card__heading {
    font-size: 16px;
  }
  p.wid-card__badge {
    font-size: 14px;
  }
}
.point-contents {
  margin: 0;
  padding: 24px 0;
  border-bottom: 1px solid #eed199;
}

.point-contents + .point-contents {
  margin-top: 0;
}

.point-contents__body {
  display: flex;
  flex-wrap: nowrap;
  gap: 40px;
  align-items: flex-start;
}

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

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

.point-contents--no-image .point-contents__body {
  flex-direction: column;
}

.point-contents--no-image .point-contents__main {
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
}

.point-contents__main {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.point-contents__header {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0;
}

.point-contents__label {
  display: flex;
  flex-shrink: 0;
  gap: 2px;
  align-items: flex-end;
  align-self: center;
  justify-content: center;
  margin: 0;
  padding: 8px 20px;
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  background: #3b95a2;
  border-radius: 2px;
}
.point-contents__label::before {
  content: "";
  flex-shrink: 0;
  align-self: flex-end;
  width: 12px;
  height: 15px;
  margin-right: 2px;
  background-image: url("../images/gcb/sparkling-white.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.point-contents__label-en {
  font-family: inherit;
  font-size: 16px;
  font-weight: inherit;
  line-height: 1;
  color: inherit;
  letter-spacing: 0.8px;
}

.point-contents__label-num {
  font-family: inherit;
  font-size: 18px;
  font-weight: inherit;
  line-height: 1;
  color: inherit;
}

.point-contents__heading {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  color: #333;
  letter-spacing: 1px;
  border-bottom: none;
}

.point-contents__content.inner-content {
  min-width: 0;
}
.point-contents__content.inner-content > * {
  margin-top: 0;
}
.point-contents__content.inner-content p {
  margin: 0 0 1em;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
.point-contents__content.inner-content p:last-child {
  margin-bottom: 0;
}

.point-contents__image {
  position: relative;
  flex: 0 0 333px;
  width: 333px;
  max-width: 333px;
  min-width: 0;
  height: 200px;
  margin: 0;
  overflow: hidden;
  background-color: #b2b2b2;
}

.point-contents__img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 200px;
  margin: 0;
  object-fit: cover;
  border-radius: 0;
}

p.point-contents__label {
  margin: 0;
  color: #fff;
}

@media screen and (max-width:768px) {
  .point-contents {
    padding: 20px 0;
  }
  .point-contents__header {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .point-contents__main {
    gap: 12px;
  }
  .point-contents__label {
    align-self: flex-start;
    padding: 6px 14px;
  }
  .point-contents__label::before {
    width: 10px;
    height: 13px;
  }
  .point-contents__label-en {
    font-size: 14px;
  }
  .point-contents__label-num {
    font-size: 16px;
  }
  .point-contents__heading {
    font-size: 17px;
    line-height: 1.6;
  }
  .point-contents--left .point-contents__body,
  .point-contents--right .point-contents__body {
    flex-direction: column;
    gap: 16px;
  }
  .point-contents__content.inner-content p {
    font-size: 15px;
  }
  .point-contents__image {
    flex: none;
    width: 100%;
    max-width: none;
    height: 200px;
  }
}
.flow-contents {
  margin: 0 0 50px;
}
.flow-contents:last-child {
  margin-bottom: 0;
}

.flow-contents + .flow-contents {
  margin-top: 0;
}

.flow-contents__inner {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  align-items: flex-end;
  gap: 12px;
  width: 100%;
  padding: 0 20px 20px 0;
  box-sizing: border-box;
}

.flow-contents__body {
  flex: 1 1 0;
  min-width: 0;
  align-self: center;
}

.flow-contents__label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  padding: 0 16px;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  color: #3b95a2;
}
.flow-contents__label::before {
  content: "";
  flex-shrink: 0;
  width: 28px;
  height: 27px;
  background-image: url("../images/gcb/sparkling.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.flow-contents__label-en,
.flow-contents__label-num {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.flow-contents__heading {
  display: flex;
  align-items: center;
  min-height: 51px;
  margin: 0 0 9px;
  padding: 0 16px;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1.6px;
  border-bottom: 1px solid #eed199;
}

.flow-contents__content.inner-content {
  padding: 10px;
}
.flow-contents__content.inner-content > * {
  margin-top: 0;
}
.flow-contents__content.inner-content p {
  margin: 0 0 1em;
  font-size: 16px;
  line-height: 1.56;
  color: #333;
}
.flow-contents__content.inner-content p:last-child {
  margin-bottom: 0;
}

.flow-contents__image {
  position: relative;
  flex: 0 0 399px;
  width: 399px;
  max-width: 100%;
  margin: 0;
}
.flow-contents__image::after {
  content: "";
  position: absolute;
  top: 40px;
  left: 25px;
  z-index: 0;
  width: 394px;
  max-width: 100%;
  height: 284px;
  background-color: #3b95a2;
}

.flow-contents__img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 305px;
  margin: 0;
  object-fit: cover;
  border-radius: 0;
  background-color: #b2b2b2;
}

.flow-contents--reverse .flow-contents__inner,
.flow-contents:nth-of-type(even):not(.flow-contents--forward) .flow-contents__inner {
  flex-direction: row-reverse;
  padding: 0 0 20px 20px;
}

.flow-contents--reverse .flow-contents__image::after,
.flow-contents:nth-of-type(even):not(.flow-contents--forward) .flow-contents__image::after {
  left: -20px;
}

.flow-contents__next {
  display: none;
}

@media screen and (max-width:768px) {
  .flow-contents {
    margin-bottom: 40px;
  }
  .flow-contents__inner,
  .flow-contents--reverse .flow-contents__inner,
  .flow-contents:nth-of-type(even):not(.flow-contents--forward) .flow-contents__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    padding: 0 12px 12px 0;
  }
  .flow-contents__body {
    width: 100%;
  }
  .flow-contents__image {
    flex: none;
    width: 100%;
  }
  .flow-contents__image::after {
    top: 20px;
    left: 12px;
    width: 100%;
    height: calc(100% - 20px);
  }
  .flow-contents--reverse .flow-contents__image::after,
  .flow-contents:nth-of-type(even):not(.flow-contents--forward) .flow-contents__image::after {
    left: 12px;
  }
  .flow-contents__img {
    height: 200px;
  }
  .flow-contents__label {
    margin-bottom: 8px;
    padding: 0 8px;
    font-size: 24px;
  }
  .flow-contents__label::before {
    width: 22px;
    height: 21px;
  }
  .flow-contents__heading {
    min-height: 0;
    margin-bottom: 8px;
    padding: 0 8px 8px;
    font-size: 20px;
    letter-spacing: 1px;
  }
  .flow-contents__content.inner-content {
    padding: 8px;
  }
  .flow-contents__content.inner-content p {
    font-size: 16px;
    line-height: 1.8;
  }
}
.merit-demerit {
  display: flex;
  flex-direction: column;
  gap: 16px;
  height: 100%;
  padding: 24px;
  text-align: left;
  background-color: #e8e8e8;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  box-sizing: border-box;
}

.merit-demerit--merit {
  background-image: url("../images/merit-bg.webp");
}

.merit-demerit--demerit {
  background-image: url("../images/demerit-bg.webp");
}

.merit-demerit__label {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 51px;
  margin: 0;
  padding: 0 16px;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
  text-align: left;
  letter-spacing: 1.2px;
  border-bottom: 1px solid #eed199;
}

.merit-demerit--demerit .merit-demerit__label {
  border-bottom-color: #fff;
}

.merit-demerit__heading {
  margin: 0;
  padding: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  color: #3b95a2;
  text-align: center;
  border-bottom: none;
}

.merit-demerit__content.inner-content > * {
  margin-top: 0;
}
.merit-demerit__content.inner-content ul,
.merit-demerit__content.inner-content ul.wp-block-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}
.merit-demerit__content.inner-content li {
  position: relative;
  margin: 0;
  padding: 0 0 0 26px;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}
.merit-demerit__content.inner-content li > p {
  margin: 0;
}
.merit-demerit__content.inner-content li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%233b95a2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.merit-demerit__content.inner-content p {
  margin: 0 0 1em;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}
.merit-demerit__content.inner-content p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width:768px) {
  .merit-demerit {
    gap: 12px;
    padding: 20px 16px;
  }
  .merit-demerit__label {
    min-height: 44px;
    padding: 0 8px;
    font-size: 20px;
  }
  .merit-demerit__heading {
    font-size: 18px;
  }
  .merit-demerit__content.inner-content li {
    padding-left: 22px;
    font-size: 15px;
  }
  .merit-demerit__content.inner-content li::before {
    width: 20px;
    height: 20px;
  }
}
.faq {
  margin: 0;
  padding: 20px 0 24px;
  overflow: visible;
  background: none;
  border-bottom: 1px solid #eed199;
  border-radius: 0;
}
.faq__question, .faq__answer {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  margin: 0;
  padding: 0;
  background: none;
}
.faq__question {
  align-items: center;
  margin-bottom: 24px;
  cursor: auto;
}
.faq__answer {
  align-items: flex-start;
}
.faq__question-icon, .faq__answer-icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 30px;
  min-width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  border-radius: 2px;
}
.faq__question-icon {
  color: #fff;
  background: linear-gradient(35.17deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
}
.faq__answer-icon {
  color: #375A5F;
  background-color: transparent;
  border: 2px solid #375A5F;
}
.faq__heading {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #375A5F;
}
.faq__content {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 14px;
  line-height: 2.14;
  color: #333;
  letter-spacing: 0.14px;
}
.faq__content p {
  font-size: 14px;
  line-height: 2.14;
  color: #333;
  letter-spacing: 0.14px;
}

@supports (-webkit-background-clip: text) or (background-clip: text) {
  .faq__answer-icon {
    color: transparent;
    background: linear-gradient(59.14deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.faq:has(+ .faq) {
  margin-bottom: 0;
}

.faq + .faq:not(.has-small-font-size) {
  margin-top: 16px;
}

.faq__content.inner-content > * + *:not(.has-small-font-size) {
  margin-top: 12px;
}

@media screen and (max-width:768px) {
  .faq {
    padding: 16px 0 20px;
  }
  .faq__question, .faq__answer {
    gap: 10px;
  }
  .faq__question {
    margin-bottom: 16px;
  }
  .faq__question-icon, .faq__answer-icon {
    width: 26px;
    min-width: 26px;
    height: 26px;
    font-size: 17px;
  }
  .faq__heading {
    font-size: 15px;
  }
  .faq__content {
    font-size: 14px;
    line-height: 1.9;
  }
  .faq__content p {
    font-size: 14px;
    line-height: 1.9;
  }
  .faq + .faq:not(.has-small-font-size) {
    margin-top: 12px;
  }
}
/* 監修者情報（メインカード） */
.supervisor-max {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 860px;
  margin: 0 auto 16px;
  padding: 32px 40px;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(59, 149, 162, 0.35);
  border-radius: 2px;
}
.supervisor-max::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/gcb/supervisor-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  pointer-events: none;
}
.supervisor-max > * {
  position: relative;
  z-index: 1;
}

.supervisor-max__label {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  color: #333;
}

.supervisor-max__main {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  align-items: flex-start;
}

/* 写真 */
.supervisor-max__image {
  flex: 0 0 240px;
  max-width: 240px;
  height: 325px;
  margin: 0;
  overflow: hidden;
  background-color: #b2b2b2;
  border: none;
  border-radius: 2px;
}

.supervisor-max__img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

.supervisor-max__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  margin: 0;
}

/* 名前ブロック */
.supervisor-max__name {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  margin: 0;
}

.supervisor-max__name-title {
  display: inline-flex;
  gap: 2px;
  align-items: center;
  margin: 0;
  padding: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  color: #3b95a2;
  letter-spacing: 0.6px;
}

.supervisor-max__name-title::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 13px;
  background-image: url("../images/gcb/sparkling-sm.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.supervisor-max__name-main {
  display: block;
  margin: 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
  color: #333;
  letter-spacing: 1.92px;
}

/* 本文（白いボックスに載せる） */
.supervisor-max__content.inner-content {
  padding: 12px;
  background-color: #fff;
}
.supervisor-max__content.inner-content > * {
  margin: 0;
}
.supervisor-max__content.inner-content > * + * {
  margin-top: 0.5em;
}
.supervisor-max__content.inner-content > p {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}

/* 詳しくはこちら */
.supervisor-max__more {
  margin: 0;
  text-align: right;
}

.supervisor-max__link {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #3b95a2;
  text-decoration: none;
}

.supervisor-max__link::after {
  content: "";
  display: inline-block;
  flex-shrink: 0;
  width: 34px;
  height: 27px;
  background-image: url("../images/gcb/arrow-link.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (max-width:768px) {
  .supervisor-max {
    gap: 12px;
    padding: 20px 16px;
  }
  .supervisor-max__label {
    font-size: 17px;
  }
  .supervisor-max__main {
    flex-direction: column;
    gap: 16px;
  }
  .supervisor-max__image {
    flex: none;
    width: 100%;
    max-width: 200px;
    height: 260px;
    margin-inline: auto;
  }
  .supervisor-max__name-main {
    font-size: 20px;
  }
  .supervisor-max__content.inner-content > p {
    font-size: 15px;
  }
}
/* 監修者トグル（アコーディオン） */
.supervisor-min {
  position: relative;
  max-width: 860px;
  margin: 0 auto 12px;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(59, 149, 162, 0.35);
  border-radius: 2px;
}
.supervisor-min::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/gcb/supervisor-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  pointer-events: none;
}

/* 見出し行 */
.supervisor-min__summary {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  align-items: center;
  padding: 16px 56px 16px 16px;
  cursor: pointer;
  user-select: none;
}

.supervisor-min.is-open .supervisor-min__summary {
  border-bottom: 1px solid rgba(59, 149, 162, 0.35);
}

/* 開閉アイコン */
.supervisor-min__icon {
  position: absolute;
  top: 50%;
  right: 24px;
  width: 17px;
  height: 42px;
  background-image: url("../images/gcb/supervisor-chevron.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.3s;
}

.supervisor-min.is-open .supervisor-min__icon {
  transform: translateY(-50%) rotate(270deg);
}

/* サムネイル */
.supervisor-min__image {
  flex: 0 0 104px;
  max-width: 104px;
  margin: 0;
  overflow: hidden;
  background-color: #b2b2b2;
  border-radius: 2px;
}

.supervisor-min__img {
  display: block;
  width: 104px;
  height: 104px;
  object-fit: cover;
}

/* 名前ブロック */
.supervisor-min__name {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
  min-width: 0;
  margin: 0;
  padding: 0 12px;
}

.supervisor-min__name-title {
  display: inline-flex;
  gap: 2px;
  align-items: center;
  margin: 0;
  padding: 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
  color: #3b95a2;
  letter-spacing: 0.6px;
}

.supervisor-min__name-title::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 13px;
  background-image: url("../images/gcb/sparkling-sm.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.supervisor-min__name-main {
  display: block;
  margin: 0;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.3;
  color: #333;
  letter-spacing: 1.92px;
}

/* 開閉パネル */
.supervisor-min__content {
  position: relative;
  z-index: 1;
  height: 0;
  overflow: hidden;
  padding: 0 16px 0 144px;
  margin: 0;
  transition: height 0.3s ease, padding-bottom 0.3s ease;
}

.supervisor-min.is-open .supervisor-min__content {
  padding-bottom: 16px;
}

.supervisor-min__content.inner-content > * {
  margin: 16px 0 0;
}

.supervisor-min__content.inner-content > p {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}

@media (prefers-reduced-motion: reduce) {
  .supervisor-min__content,
  .supervisor-min__icon {
    transition: none;
  }
}
@media screen and (max-width:768px) {
  .supervisor-min__summary {
    gap: 14px;
    padding: 12px 40px 12px 12px;
  }
  .supervisor-min__icon {
    right: 16px;
    border-top-width: 8px;
    border-right-width: 6px;
    border-left-width: 6px;
  }
  .supervisor-min__image {
    flex: 0 0 72px;
    max-width: 72px;
  }
  .supervisor-min__img {
    width: 72px;
    height: 72px;
  }
  .supervisor-min__name {
    padding: 0;
  }
  .supervisor-min__name-main {
    font-size: 18px;
    letter-spacing: 1px;
  }
  .supervisor-min__content {
    padding: 0 12px;
  }
  .supervisor-min__content.inner-content > p {
    font-size: 15px;
  }
  .supervisor-min.is-open .supervisor-min__content {
    padding-bottom: 14px;
  }
}
.wp-block-columns:has(.post-card) {
  gap: 16px;
  align-items: stretch;
}

.post-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 268px;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  background-color: #fff;
  border: 1px solid rgba(151, 151, 151, 0.25);
}
.post-card__image {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: 140px;
  margin: 0;
  overflow: hidden;
  background-color: #b2b2b2;
}
.post-card__img {
  display: block;
  width: 100%;
  height: 140px;
  margin: 0;
  object-fit: cover;
  border-radius: 0;
}
.post-card__placeholder {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 32px;
  height: 25px;
  transform: translate(-50%, -50%);
}
.post-card__placeholder img {
  display: block;
  width: 32px;
  height: 25px;
}
.post-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  margin: 0;
  padding: 24px 20px;
  background-color: #fff;
}
.post-card__heading {
  margin: 0;
  padding: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  color: #333;
  border-bottom: none;
}
.post-card__heading a {
  color: inherit;
  text-decoration: none;
}
.post-card__heading a:hover {
  color: #3b95a2;
}

@media screen and (max-width:768px) {
  .wp-block-columns:has(.post-card) {
    gap: 16px;
  }
  .post-card {
    max-width: 100%;
    height: auto;
    min-height: 0;
  }
  .post-card__image, .post-card__img {
    height: 180px;
  }
  .post-card__body {
    padding: 16px;
  }
  .post-card__heading {
    font-size: 15px;
  }
}
/* 吹き出し（Figma 643:3855） */
.bubble {
  display: flex;
  flex-wrap: nowrap;
  gap: 40px;
  align-items: flex-start;
  width: 100%;
  max-width: 860px;
  margin: 0 auto 40px;
  box-sizing: border-box;
}

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

/* 話者 */
.bubble__person {
  display: flex;
  flex: 0 0 120px;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  justify-content: flex-start;
  width: 120px;
  max-width: 120px;
  margin: 0;
  text-align: center;
}

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

.bubble__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  border-radius: 100px;
}

/* 名前ブロック */
.bubble__name {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  margin: 0;
}

.bubble__name-title {
  display: inline-flex;
  gap: 4px;
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  margin: 0;
  padding: 0;
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  color: #3b95a2;
  text-align: center;
}

.bubble__name-title::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 13px;
  background-image: url("../images/gcb/sparkling-sm.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.bubble__name-main {
  display: block;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.3;
  color: #333;
  text-align: center;
  letter-spacing: 1.28px;
}

/* 吹き出し本体 */
.bubble__body {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
}

.bubble__content {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  padding: 40px 32px;
  background-color: #d8eaec;
  border-radius: 2px;
  box-sizing: border-box;
}

.bubble--right .bubble__content {
  background-color: #eff4f5;
}

.bubble__content.inner-content > * {
  margin: 0 0 1em;
}

.bubble__content.inner-content > *:last-child {
  margin-bottom: 0;
}

.bubble__content.inner-content > p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  color: #333;
}

/* しっぽ（アバター中央を指す） */
.bubble__tail {
  position: absolute;
  top: 125px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 29px;
  transform: translateY(-50%);
  pointer-events: none;
}

.bubble--left .bubble__tail {
  left: -30px;
}

.bubble--right .bubble__tail {
  top: calc(60px / 2);
  right: -29px;
}

.bubble__tail-img {
  display: block;
  width: 29px;
  height: 34px;
  max-width: none;
}

.bubble--left .bubble__tail-img {
  transform: rotate(-90deg);
}

.bubble--right .bubble__tail-img {
  transform: rotate(90deg);
}

@media screen and (max-width:768px) {
  .bubble {
    flex-direction: column;
    gap: 16px;
    align-items: center;
    margin-bottom: 28px;
  }
  .bubble--right {
    flex-direction: column;
  }
  .bubble__person {
    flex: none;
    width: auto;
    max-width: 100%;
  }
  .bubble__image {
    width: 96px;
    height: 96px;
  }
  .bubble__body {
    width: 100%;
  }
  .bubble__content {
    padding: 24px 20px;
  }
  .bubble__content.inner-content > p {
    font-size: 14px;
  }
  .bubble__tail {
    display: none;
  }
}
.conversion-area {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin: 40px calc(50% - 50vw);
  overflow: hidden;
  background: linear-gradient(35deg, #375A5F -3.23%, #3B95A2 51.45%, #375A5F 94.45%);
  border: none;
  color: #fff;
}
.conversion-area__overlay {
  position: relative;
  z-index: 1;
  padding: 60px 40px;
  background: none;
}
.conversion-area__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
}
.conversion-area__text-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 100%;
  color: #fff;
}
.conversion-area__text-block p,
.conversion-area__text-block span,
.conversion-area__text-block a,
.conversion-area__text-block strong,
.conversion-area__text-block em {
  color: #fff;
}
.conversion-area__catch {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.conversion-area__lead,
.conversion-area p.conversion-area__lead {
  margin: 0;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.8;
  color: #fff;
  letter-spacing: 0.24px;
}
.conversion-area__heading,
.conversion-area p.conversion-area__heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
  letter-spacing: 1.1px;
}
.conversion-area__text,
.conversion-area p.conversion-area__text {
  max-width: 100%;
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: #fff;
}
.conversion-area__actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  margin: 0;
}
.conversion-area__card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
  min-width: 136px;
  min-height: 76px;
  padding: 8px 12px 8px 8px;
  text-align: center;
  text-decoration: none;
  border-radius: 2px;
  transition: opacity 0.3s;
  box-sizing: border-box;
}
.conversion-area__card:hover {
  opacity: 0.88;
}
.conversion-area__card-main {
  display: flex;
  gap: 8px;
  align-items: center;
}
.conversion-area__card-icon {
  display: block;
  flex-shrink: 0;
  width: 35px;
  min-width: 35px;
  height: 35px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.conversion-area__card-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.conversion-area__card-note {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.conversion-area__card-note-line {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}
.conversion-area__card-title {
  display: flex;
  gap: 2px;
  align-items: flex-end;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  letter-spacing: 0.3px;
}
.conversion-area__card-title-em {
  font-size: 17px;
  line-height: 1;
  letter-spacing: -0.17px;
}
.conversion-area__card-title-sub {
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 0.26px;
}
.conversion-area__card-hours {
  font-size: 10px;
  line-height: 1.4;
  color: #3b95a2;
  letter-spacing: -0.2px;
}
.conversion-area__card--line {
  background: linear-gradient(40.59deg, #06c755 58.48%, #42ec88 79.65%, #06c755 96.01%);
}
.conversion-area__card--line .conversion-area__card-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23fff' d='M24 6C13.5 6 5 12.9 5 21.4c0 7.6 6.7 14 15.8 15.2.6.1 1.4.4 1.7.9.2.5.1 1.2.1 1.7l-.3 1.6c-.1.5-.4 1.9 1.7 1 2.1-.9 11.2-6.6 15.3-11.3 2.8-3 4.2-6.1 4.2-9.1C43.5 12.9 34.5 6 24 6z'/%3E%3Cpath fill='%2306C755' d='M18.6 17.6h-1.3c-.2 0-.4.2-.4.4v8.3c0 .2.2.4.4.4h1.3c.2 0 .4-.2.4-.4V18c0-.2-.2-.4-.4-.4zm9.2 0h-1.3c-.2 0-.4.2-.4.4v4.9l-3.8-5.1-.1-.1h-1.5c-.2 0-.4.2-.4.4v8.3c0 .2.2.4.4.4h1.3c.2 0 .4-.2.4-.4v-4.9l3.8 5.1.1.1h1.5c.2 0 .4-.2.4-.4V18c0-.2-.2-.4-.4-.4zm-12.4 6.9h-3.6V18c0-.2-.2-.4-.4-.4h-1.3c-.2 0-.4.2-.4.4v8.3c0 .2.2.4.4.4h5.3c.2 0 .4-.2.4-.4V25c0-.3-.2-.5-.4-.5zm20.1-6.9h-5.3c-.2 0-.4.2-.4.4v8.3c0 .2.2.4.4.4h5.3c.2 0 .4-.2.4-.4V25c0-.2-.2-.4-.4-.4h-3.6v-1.4h3.6c.2 0 .4-.2.4-.4v-1.3c0-.2-.2-.4-.4-.4h-3.6v-1.4h3.6c.2 0 .4-.2.4-.4V18c0-.2-.2-.4-.4-.4z'/%3E%3C/svg%3E");
}
.conversion-area__card--line .conversion-area__card-title {
  display: flex;
}
.conversion-area__card--web {
  background: linear-gradient(36.61deg, #50b5c4 56.42%, #6ce5e6 79.09%, #3b95a2 109.68%);
}
.conversion-area__card--web .conversion-area__card-icon {
  width: 34px;
  min-width: 34px;
  height: 34px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none'%3E%3Crect x='7' y='11' width='34' height='30' rx='3' stroke='%23fff' stroke-width='2.4'/%3E%3Cpath d='M7 20h34M16 7v8M32 7v8' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='m18 30 4 4 8-8' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.conversion-area__card--web .conversion-area__card-title {
  display: block;
}
.conversion-area__card--tel {
  background: #fff;
  border: 0.5px solid #8b8b8b;
}
.conversion-area__card--tel .conversion-area__card-icon {
  width: 32px;
  min-width: 32px;
  height: 32px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M14 8h6l3 10-5 3c2 5 5 8 10 10l3-5 10 3v6c-9-1-17-5-23-11S13 17 14 8z' fill='%233b95a2'/%3E%3C/svg%3E");
}
.conversion-area__card--tel .conversion-area__card-note-line,
.conversion-area__card--tel .conversion-area__card-title {
  color: #3b95a2;
}
.conversion-area__card--tel .conversion-area__card-title {
  display: block;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.36px;
}

@media screen and (max-width:768px) {
  .conversion-area {
    width: 100%;
    max-width: 100%;
    margin: 32px 0;
  }
  .conversion-area__overlay {
    padding: 36px 16px;
  }
  .conversion-area__inner {
    gap: 20px;
  }
  .conversion-area__heading {
    font-size: 20px;
  }
  .conversion-area__text {
    font-size: 13px;
  }
  .conversion-area__actions {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .conversion-area__card {
    min-width: 0;
    min-height: 72px;
  }
}
.features {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto 30px;
  padding: 40px 32px;
  box-sizing: border-box;
  background-color: #fff;
}
.features::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/tokutyou-water-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  pointer-events: none;
}
.features > * {
  position: relative;
  z-index: 1;
}
.features__brand {
  display: flex;
  gap: 31px;
  align-items: flex-end;
  justify-content: center;
  margin: 12px auto 0;
}
.features__logo {
  display: block;
  max-width: 319px;
  width: 100%;
  height: auto;
  aspect-ratio: 319/53;
}
.features__particle {
  flex-shrink: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  color: #333;
  letter-spacing: 1.68px;
}
.features__heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #333;
  letter-spacing: 1.92px;
  text-align: center;
}
.features__heading::after {
  content: "";
  display: block;
  width: 134px;
  height: 1px;
  margin: 12px auto 0;
  background-color: #eed199;
  border-radius: 24px;
}
.features__content {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  max-width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

.features__content.inner-content > * {
  margin-top: 0;
}

.features__content.inner-content > ul,
.features__content.inner-content > ol {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.features__content.inner-content > ul > li,
.features__content.inner-content > ol > li,
.features__content.inner-content > p {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 20px;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 24px 28px;
  box-sizing: border-box;
  background-color: #fff;
  font-size: 16px;
  line-height: 1.9;
  color: #333;
}
.features__content.inner-content > ul > li::before,
.features__content.inner-content > ol > li::before,
.features__content.inner-content > p::before {
  content: "";
  display: block;
  flex: 0 0 49px;
  width: 49px;
  max-width: 49px;
  height: 28px;
  background-image: url("../images/tokutyou-point.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.features__content.inner-content > ul > li:empty,
.features__content.inner-content > ol > li:empty,
.features__content.inner-content > p:empty {
  display: none;
}

@media screen and (max-width:768px) {
  .features {
    row-gap: 20px;
    padding: 24px 16px 32px;
  }
  .features__brand {
    gap: 16px;
    margin-top: 4px;
  }
  .features__logo {
    width: 200px;
  }
  .features__particle {
    font-size: 20px;
    letter-spacing: 1.2px;
  }
  .features__heading {
    font-size: 24px;
    letter-spacing: 1.44px;
  }
  .features__heading::after {
    width: 100px;
    margin-top: 10px;
  }
  .features__content {
    row-gap: 20px;
  }
  .features__content.inner-content > ul,
  .features__content.inner-content > ol {
    row-gap: 20px;
  }
  .features__content.inner-content > ul > li,
  .features__content.inner-content > ol > li,
  .features__content.inner-content > p {
    gap: 16px;
    padding: 20px 18px;
  }
  .features__content.inner-content > ul > li::before,
  .features__content.inner-content > ol > li::before,
  .features__content.inner-content > p::before {
    flex: 0 0 42px;
    width: 42px;
    max-width: 42px;
    height: 24px;
  }
}
.features-cta {
  position: relative;
  max-width: 100%;
  margin: 0 auto 30px;
  padding: 40px;
  overflow: hidden;
  background-color: #fff;
}
.features-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../images/gcb/cta-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  pointer-events: none;
}
.features-cta__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
  align-items: center;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  background-color: transparent;
  box-shadow: none;
}
.features-cta__head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  width: 100%;
  margin: 0;
  padding-top: 12px;
  text-align: center;
}
.features-cta__brand {
  display: flex;
  flex-wrap: nowrap;
  gap: 31px;
  align-items: flex-end;
  justify-content: center;
  margin: 0;
}
.features-cta__brand-logo {
  display: block;
  flex: 0 0 auto;
  width: 319px;
  max-width: min(319px, 100% - 60px);
  height: auto;
  margin: 0;
}
.features-cta__brand-particle {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  color: #333;
  letter-spacing: 1.68px;
}
.features-cta__heading {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  color: #333;
  letter-spacing: 1.92px;
}
.features-cta__heading::after {
  content: "";
  display: block;
  width: 134px;
  height: 1px;
  margin: 0;
  background-color: #eed199;
  border-radius: 24px;
}
.features-cta__split {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
  align-items: stretch;
  width: 100%;
  margin: 0;
}
.features-cta__image {
  flex: 0 0 280px;
  max-width: 280px;
  margin: 0;
  overflow: hidden;
  background-color: #b2b2b2;
  border: none;
}
.features-cta__img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 294px;
  object-fit: cover;
}
.features-cta__points {
  display: grid;
  flex: 1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 8px;
  min-width: 0;
  margin: 0;
}
.features-cta__point {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 143px;
  padding: 16px;
  text-align: center;
  background-color: #fff;
  border: none;
  border-radius: 2px;
  box-shadow: 0 0 15px rgba(221, 205, 223, 0.4), 0 0 20px rgba(0, 0, 0, 0.08);
}
.features-cta__point::before {
  content: "";
  display: block;
  width: 54px;
  height: 54px;
  margin: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.features-cta__point > p {
  margin: 0;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
  letter-spacing: 0.44px;
}
.features-cta__point--clock::before {
  background-image: url("../images/gcb/cta-icon-clock.svg");
}
.features-cta__point--chair::before {
  background-image: url("../images/gcb/cta-icon-chair.webp");
}
.features-cta__point--building::before {
  background-image: url("../images/gcb/cta-icon-building.webp");
}
.features-cta__point--card::before {
  background-image: url("../images/gcb/cta-icon-card.svg");
}
.features-cta__point--yen::before {
  background-image: url("../images/gcb/cta-icon-yen.webp");
}
.features-cta__point--braces::before {
  background-image: url("../images/gcb/cta-icon-braces.webp");
}
.features-cta__content {
  width: 100%;
  margin: 0;
}
.features-cta__content > p {
  margin: 0 0 1em;
  font-size: 14px;
  line-height: 2;
  color: #333;
}
.features-cta__content > p:last-child {
  margin-bottom: 0;
}
.features-cta__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: 560px;
  max-width: 100%;
  margin: 0;
}
.features-cta__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 136px;
  min-height: 76px;
  padding: 8px 12px 8px 8px;
  text-align: center;
  text-decoration: none;
  color: inherit;
  border-radius: 2px;
}
.features-cta__btn-main {
  display: flex;
  gap: 8px;
  align-items: center;
}
.features-cta__btn-icon {
  flex-shrink: 0;
  width: 35px;
  min-width: 35px;
  height: 35px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.features-cta__btn--line {
  background: linear-gradient(38.84deg, #06c755 58.48%, #42ec88 79.65%, #06c755 96.01%);
}
.features-cta__btn--line .features-cta__btn-icon {
  background-image: url("../images/gcb/cta-icon-line.webp");
}
.features-cta__btn--line .features-cta__btn-title {
  display: flex;
}
.features-cta__btn--web {
  background: linear-gradient(34.92deg, #50b5c4 56.42%, #6ce5e6 79.09%, #3b95a2 109.68%);
}
.features-cta__btn--web .features-cta__btn-icon {
  width: 34px;
  min-width: 34px;
  height: 34px;
  background-image: url("../images/gcb/cta-icon-web.svg");
}
.features-cta__btn-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
  justify-content: center;
  min-width: 0;
}
.features-cta__btn-note {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.features-cta__btn-note-line {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
}
.features-cta__btn-title {
  display: block;
  gap: 2px;
  align-items: flex-end;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  letter-spacing: 0.3px;
}
.features-cta__btn-title-em {
  font-size: 17px;
  line-height: 1;
  letter-spacing: -0.17px;
}
.features-cta__btn-title-sub {
  font-size: 13px;
  line-height: 1.3;
  letter-spacing: 0.26px;
}
.features-cta__hours {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #1e1e1e;
  text-align: center;
}

.features-cta__content.inner-content > * {
  margin-top: 0;
}

.features-cta__actions + .features-cta__hours {
  margin-top: -12px;
}

@media screen and (max-width:768px) {
  .features-cta {
    padding: 24px 16px;
  }
  .features-cta__inner {
    gap: 20px;
    padding: 0;
  }
  .features-cta__brand {
    flex-direction: row;
    gap: 12px;
  }
  .features-cta__brand-logo {
    width: 200px;
  }
  .features-cta__brand-particle {
    font-size: 20px;
  }
  .features-cta__heading {
    font-size: 22px;
    letter-spacing: 1px;
  }
  .features-cta__heading::after {
    width: 100px;
  }
  .features-cta__split {
    flex-direction: column;
    gap: 16px;
  }
  .features-cta__image {
    flex: none;
    width: 100%;
    max-width: 100%;
  }
  .features-cta__img {
    min-height: 200px;
  }
  .features-cta__points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .features-cta__point {
    min-height: 130px;
    padding: 12px;
  }
  .features-cta__point::before {
    width: 44px;
    height: 44px;
  }
  .features-cta__actions {
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
  }
  .features-cta__hours {
    font-size: 13px;
  }
  .features-cta__actions + .features-cta__hours {
    margin-top: -8px;
  }
}
.clinic-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  width: 100%;
  margin: 0 auto 30px;
  padding: 0;
  list-style: none;
  box-sizing: border-box;
}
.clinic-features__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  box-sizing: border-box;
  background-color: #fff;
  box-shadow: 0 0 15px rgba(59, 149, 162, 0.15), 0 0 20px rgba(0, 0, 0, 0.08);
}
.clinic-features__icon {
  display: block;
  width: 55px;
  height: 54px;
}
.clinic-features__text {
  margin: 0;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
  color: #333;
}

.clinic-features .clinic-features__item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  padding-left: 0 !important;
}

.clinic-features .clinic-features__item::before {
  content: none !important;
  display: none !important;
}

@media screen and (max-width:768px) {
  .clinic-features {
    gap: 10px;
  }
  .clinic-features__item {
    padding: 10px 5px;
  }
  .clinic-features__icon {
    width: 30px;
    height: auto;
  }
  .clinic-features__text {
    font-size: 12px;
  }
}
.clinic-features .clinic-features__text {
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

@media screen and (max-width:768px) {
  .clinic-features .clinic-features__text {
    font-size: 12px;
  }
}
.access-info {
  box-sizing: border-box;
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 0;
}

@media screen and (min-width: 769px) {
  .access-info .top-access__content {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2.5rem;
    align-items: start;
  }
  .access-info .top-access__left,
  .access-info .top-access__right {
    width: auto;
    max-width: 100%;
  }
  .access-info .top-access__schedule {
    width: 100%;
    height: auto;
    margin-bottom: 2rem;
    padding: 1.75rem 1.25rem;
    overflow: visible;
  }
  .access-info .top-access__schedule-table-grid {
    height: auto;
    font-size: 0.875rem;
    line-height: 1.2;
  }
  .access-info .top-access__schedule-table-row {
    grid-template-columns: minmax(7.2em, 1.35fr) repeat(8, minmax(0, 1fr));
    align-items: center;
    height: auto;
    min-height: 0;
  }
  .access-info .top-access__schedule-table-row--head {
    height: auto;
    padding-bottom: 0.75rem;
  }
  .access-info .top-access__schedule-table-row--head + .top-access__schedule-table-row {
    height: auto;
    padding: 1rem 0 1rem;
  }
  .access-info .top-access__schedule-table-row:last-child {
    height: auto;
    padding: 0.875rem 0 0;
  }
  .access-info .top-access__schedule-table-cell {
    height: auto;
    min-height: 1.125rem;
    line-height: 1.2;
  }
  .access-info .top-access__schedule-table-cell--label {
    padding-left: 0.5rem;
  }
  .access-info .top-access__schedule-table-cell--time {
    padding-left: 0.25rem;
  }
  .access-info .top-access__schedule-table-label {
    gap: 0.375rem;
  }
  .access-info .top-access__schedule-table-star {
    width: 0.75rem;
    height: 0.75rem;
  }
  .access-info .top-access__list {
    column-gap: 1rem;
    align-items: center;
  }
  .access-info .top-access__term {
    width: 8.3125rem;
    max-width: 8.3125rem;
    padding-bottom: 1.25rem;
  }
  .access-info .top-access__term-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3125rem;
    width: 8.3125rem;
    max-width: 8.3125rem;
    height: 2.125rem;
    min-height: 2.125rem;
    padding: 0 0.5rem;
    font-size: 0.75rem;
    line-height: 1;
    border-radius: 0.25rem;
  }
  .access-info .top-access__term-star {
    width: 0.75rem;
    height: 0.75rem;
  }
  .access-info .top-access__description {
    padding-bottom: 1.25rem;
    font-size: 0.875rem;
  }
  .access-info .top-access__row:first-child .top-access__description {
    white-space: normal;
  }
  .access-info .top-access__br-sp {
    display: block;
  }
}
.menu-list {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin: 30px 0;
  padding: 40px 0;
  background-color: transparent;
  border-radius: 0;
}
.menu-list__intro {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  margin: 0;
  text-align: center;
}
.menu-list__catch {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.4;
  color: #333;
  letter-spacing: 1.5px;
}
.menu-list__catch-icon {
  flex-shrink: 0;
  width: 23px;
  height: 22px;
  object-fit: contain;
}
.menu-list__heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #333;
  letter-spacing: 1.92px;
}
.menu-list__divider {
  display: block;
  width: 134px;
  height: 1px;
  margin: 0 auto;
  background-color: #eed199;
  border-radius: 24px;
}
.menu-list__card {
  position: relative;
  overflow: hidden;
  background-color: #fff;
  border-radius: 0;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
}
.menu-list__featured {
  margin: 0;
  box-shadow: 2px 2px 3px rgba(55, 90, 95, 0.25);
}
.menu-list__card-head {
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 74px;
  padding: 14px 22px 13px;
  background: linear-gradient(90deg, #375a5f 0%, #4eacba 43%, #72bbc5 62%, rgba(114, 187, 197, 0.95) 65%, rgba(114, 187, 197, 0.15) 100%);
}
.menu-list__card-icon {
  position: relative;
  display: block;
  flex-shrink: 0;
  width: 54px;
  height: 47px;
  overflow: visible;
}
.menu-list__card-icon-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.menu-list__card-icon-spark {
  position: absolute;
  top: 0;
  right: -2px;
  width: 18px;
  height: 18px;
  object-fit: contain;
  pointer-events: none;
}
.menu-list__card-icon--featured {
  width: 82px;
  height: 52px;
  overflow: hidden;
}
.menu-list__card-icon--featured .menu-list__card-icon-img {
  position: absolute;
  top: -3px;
  left: 3px;
  width: 79px;
  height: 63px;
  object-fit: cover;
  transform: scaleX(-1);
}
.menu-list__card-icon--featured .menu-list__card-icon-spark {
  top: 0;
  right: 0;
  left: auto;
  z-index: 1;
}
.menu-list__card-icon--sparkle .menu-list__card-icon-img {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 49px;
  height: 51px;
}
.menu-list__card-icon--sparkle .menu-list__card-icon-spark {
  top: 0;
  right: -7px;
}
.menu-list__card-title {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  letter-spacing: 0;
}
.menu-list__card-body {
  padding: 25px 30px 40px;
}
.menu-list__featured .menu-list__card-head {
  gap: 10px;
  min-height: 90px;
  padding: 19px 30px 19px;
}
.menu-list__featured .menu-list__card-title {
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  line-height: 1.2;
}
.menu-list__card-body--featured {
  display: flex;
  flex-direction: column;
  gap: 19px;
  align-items: flex-end;
  padding: 27px 30px 30px;
  background: none;
}
.menu-list__featured-main {
  display: grid;
  grid-template-columns: 392fr 389fr;
  gap: 20px;
  width: 100%;
  margin: 0;
}
.menu-list__lead {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  color: #333;
}
.menu-list__desc {
  margin: 0;
  font-size: 16px;
  line-height: 28px;
  color: #333;
}
.menu-list__steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu-list__step {
  display: flex;
  gap: 12px;
  align-items: center;
}
.menu-list__step-num {
  flex-shrink: 0;
  width: 50px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  background: linear-gradient(24.27deg, #375a5f 3.23%, #3b95a2 51.45%, #375a5f 94.45%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.menu-list__step-title, .menu-list__step-text {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 23px;
  color: #333;
  letter-spacing: 0.56px;
}
.menu-list__more-wrap {
  display: flex;
  justify-content: flex-end;
}
.menu-list__more {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 12px 10px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  color: #375A5F;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #375A5F;
  border-radius: 2px;
  transition: opacity 0.3s;
}
.menu-list__more:hover {
  opacity: 0.7;
}
.menu-list__more-text {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 0;
}
.menu-list__more-arrow {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 27px;
}
.menu-list__more-arrow img {
  display: block;
  width: 34px;
  height: 27px;
}
.menu-list__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu-list__sub {
  max-width: 360px;
  margin: 0 0 10px;
  padding-bottom: 8px;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  color: #375A5F;
  border-bottom: 1px solid #eed199;
}
.menu-list__links {
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu-list__links li {
  position: relative;
  margin: 0;
  padding-left: 30px;
  line-height: 35px;
}
.menu-list__links li::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 16px;
  line-height: 35px;
  color: #333;
}
.menu-list__link {
  font-size: 18px;
  line-height: 35px;
  color: #333;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.3s;
}
.menu-list__link:hover {
  opacity: 0.7;
}
.menu-list__link-note {
  font-size: 14px;
}

@media screen and (max-width:768px) {
  .menu-list {
    gap: 32px;
    padding: 24px 0;
  }
  .menu-list__catch {
    font-size: 16px;
    letter-spacing: 0.8px;
  }
  .menu-list__catch-icon {
    width: 16px;
    height: 16px;
  }
  .menu-list__heading {
    font-size: 20px;
    letter-spacing: 0.8px;
  }
  .menu-list__divider {
    width: 100px;
  }
  .menu-list__card-head {
    min-height: 60px;
    gap: 10px;
    padding: 12px 16px;
  }
  .menu-list__card-icon {
    width: 40px;
    height: 36px;
  }
  .menu-list__card-icon-spark {
    width: 12px;
    height: 12px;
  }
  .menu-list__card-icon--featured {
    width: 52px;
    height: 34px;
  }
  .menu-list__card-icon--featured .menu-list__card-icon-img {
    top: -2px;
    left: 2px;
    width: 50px;
    height: 40px;
  }
  .menu-list__card-icon--sparkle .menu-list__card-icon-img {
    top: 2px;
    left: 2px;
    width: 36px;
    height: 38px;
  }
  .menu-list__card-icon--sparkle .menu-list__card-icon-spark {
    right: -4px;
  }
  .menu-list__card-title {
    font-size: 17px;
  }
  .menu-list__card-body {
    padding: 18px 16px 24px;
  }
  .menu-list__featured .menu-list__card-head {
    min-height: 64px;
    padding: 12px 16px;
  }
  .menu-list__featured .menu-list__card-title {
    font-size: 20px;
  }
  .menu-list__card-body--featured {
    gap: 16px;
    align-items: stretch;
    padding: 18px 16px 24px;
  }
  .menu-list__featured-main {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .menu-list__lead, .menu-list__desc {
    font-size: 14px;
    line-height: 1.9;
  }
  .menu-list__step-num {
    width: 40px;
    font-size: 26px;
  }
  .menu-list__step-title, .menu-list__step-text {
    font-size: 13px;
    line-height: 1.7;
  }
  .menu-list__items {
    grid-template-columns: 1fr;
  }
  .menu-list__more {
    justify-content: space-between;
    width: 100%;
    font-size: 14px;
  }
  .menu-list__more-text {
    font-size: 14px;
  }
  .menu-list__sub {
    max-width: 100%;
    font-size: 14px;
    line-height: 1.8;
  }
  .menu-list__links li {
    padding-left: 22px;
    line-height: 30px;
  }
  .menu-list__link {
    font-size: 15px;
    line-height: 30px;
  }
  .menu-list__link-note {
    font-size: 12px;
  }
}
.type-compare {
  width: 100%;
  max-width: 100%;
  margin: 0 0 24px;
}

.type-compare__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.type-compare__item {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  margin: 0;
  padding: 0;
}

.type-compare__label-wrap {
  display: inline-flex;
  flex-shrink: 0;
  gap: 8px;
  align-items: center;
  width: 104px;
}

.type-compare__icon {
  display: block;
  flex-shrink: 0;
  width: 19px;
  height: 19px;
  object-fit: contain;
}

.type-compare__label {
  width: 80px;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  letter-spacing: 1.4px;
}

.type-compare__stars {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
}

.type-compare__star {
  display: block;
  width: 29px;
  height: 19px;
  margin: 0;
  object-fit: contain;
}
.type-compare__star.is-empty {
  opacity: 0.25;
}

.head-box__content .type-compare {
  margin: 0 0 16px;
}
.head-box__content .wp-block-columns:has(.type-compare) {
  gap: 24px;
  align-items: flex-start;
  margin: 0 0 24px;
}
.head-box__content .wp-block-media-text {
  gap: 24px;
  margin: 0 0 24px;
}
.head-box__content .wp-block-table,
.head-box__content .wp-block-flexible-table-block-table {
  margin: 0;
}

@media screen and (max-width:768px) {
  .type-compare__label-wrap {
    width: 96px;
  }
  .type-compare__label {
    font-size: 16px;
    letter-spacing: 0.8px;
  }
  .type-compare__star {
    width: 24px;
    height: 17px;
  }
  .head-box__content .wp-block-columns:has(.type-compare) {
    gap: 16px;
  }
}
.case-study {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 0 40px;
  padding: 40px;
  overflow: hidden;
  background-color: #fff;
  border-radius: 6px;
  box-sizing: border-box;
}
.case-study::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.51;
  background-image: url("../images/gcb/case-bg.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  pointer-events: none;
  border-radius: 6px;
}

.case-study__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: nowrap;
  gap: 15px;
  align-items: stretch;
}

.case-study__visual {
  flex: 0 0 378px;
  width: 378px;
  max-width: 100%;
}

.case-study__panel-fallback {
  margin: 0;
}

.case-study__panel-fallback,
.case-study__panel-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
}

.case-study__panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #1b3a4a;
  border-radius: 2px;
}

.case-study__panel-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "brand badge" "title badge";
  gap: 4px 12px;
  align-items: center;
  padding: 14px 16px;
  color: #fff;
}

.case-study__brand {
  grid-area: brand;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.06em;
  opacity: 0.9;
}

.case-study__panel-title {
  grid-area: title;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
}

.case-study__badge {
  grid-area: badge;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 6px 10px;
  color: #1b3a4a;
  background-color: #fff;
  border-radius: 2px;
}

.case-study__badge-label {
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.case-study__badge-value {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
}

.case-study__photos {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
}

.case-study__photo {
  position: relative;
  margin: 0;
}

.case-study__photo-img {
  display: block;
  width: 100%;
  height: 190px;
  object-fit: cover;
}

.case-study__photo-label {
  position: absolute;
  bottom: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-color: #1b3a4a;
}
.case-study__photo-label::after {
  content: "";
  width: 14px;
  height: 14px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M6 9V3M3.5 5.5 6 3l2.5 2.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px 10px;
}

.case-study__photo--after .case-study__photo-label {
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
}
.case-study__photo--after .case-study__photo-label::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='1.5'%3E%3Cpath d='M6 3v6M3.5 6.5 6 9l2.5-2.5'/%3E%3C/svg%3E");
}

.case-study__speech {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  max-width: 58%;
  margin: 0;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  color: #333;
  background-color: #fff;
  border: 1px solid #f2b8c6;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.case-study__speech::after {
  content: "";
  position: absolute;
  right: 18px;
  bottom: -7px;
  width: 12px;
  height: 12px;
  background-color: #fff;
  border-right: 1px solid #f2b8c6;
  border-bottom: 1px solid #f2b8c6;
  transform: rotate(45deg);
}

.case-study__panel-foot {
  position: relative;
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 72px;
  padding: 14px 16px;
  padding-right: 88px;
  color: #fff;
}

.case-study__foot-text {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

.case-study__foot-row {
  display: grid;
  grid-template-columns: 4.5em 1fr;
  gap: 10px;
  align-items: baseline;
  margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.case-study__foot-label {
  opacity: 0.9;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.45);
}

.case-study__foot-value {
  font-weight: 500;
  letter-spacing: 0.02em;
}

.case-study__doctor {
  position: absolute;
  right: 12px;
  bottom: 10px;
  width: 72px;
  height: 72px;
  object-fit: cover;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.case-study__details {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 24px;
  min-width: 0;
  padding: 20px;
  background-color: #fff;
}

.case-study__section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
}

.case-study__section-title {
  display: flex;
  gap: 4px;
  align-items: center;
  margin: 0;
  padding: 8px;
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  color: #3b95a2;
  letter-spacing: 0.8px;
  border-bottom: 1px solid #eed199;
}

.case-study__spark {
  display: block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.case-study__section-text {
  margin: 0;
  font-size: 14px;
  line-height: 1.8;
  color: #333;
}

.case-study__section-text--period {
  line-height: 1;
  letter-spacing: 0.01em;
}

.case-study__price {
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  align-items: flex-end;
  margin: 0;
  color: #333;
}

.case-study__price-num {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1.2px;
}

.case-study__price-yen {
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.12px;
}

.case-study__price-tilde {
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1;
}

.case-study__price-tax {
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.1px;
}

@media screen and (max-width:768px) {
  .case-study {
    padding: 20px 16px;
  }
  .case-study__inner {
    flex-direction: column;
    gap: 16px;
  }
  .case-study__visual {
    flex: none;
    width: 100%;
  }
  .case-study__panel-head {
    grid-template-columns: 1fr auto;
  }
  .case-study__panel-title {
    font-size: 18px;
  }
  .case-study__photo-img {
    height: 160px;
  }
  .case-study__details {
    padding: 16px;
    gap: 20px;
  }
}
.breadcrumbs {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: center;
  width: 100vw;
  margin: 0 0 0 calc(50% - 50vw);
  padding-block: 14px;
  padding-inline: max(60px, (100vw - 1200px) / 2);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  background-color: #fff;
  list-style: none;
}

.breadcrumbs::-webkit-scrollbar {
  display: none;
}

.breadcrumbs__item {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  line-height: 1.5;
  white-space: nowrap;
  color: #666;
}
.breadcrumbs__item:last-child {
  color: #333;
}
.breadcrumbs__item:not(:last-child)::after {
  content: ">";
  font-size: 11px;
  color: #999;
}

.breadcrumbs__link {
  color: #666;
  text-decoration: none;
  transition: opacity 0.3s;
}
.breadcrumbs__link:hover {
  opacity: 0.7;
}

@media screen and (max-width:768px) {
  .breadcrumbs {
    padding-block: 12px;
    padding-inline: 16px;
  }
  .breadcrumbs__item {
    font-size: 11px;
  }
}
.archive-layout {
  padding-top: 60px;
}

.archive-layout__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.archive-layout__body {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.archive-layout__main {
  flex: 1;
  min-width: 0;
}

.archive-layout__side {
  flex-shrink: 0;
  width: 300px;
}

.archive-empty {
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

.lower-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  box-sizing: border-box;
  min-width: 320px;
  min-height: 56px;
  padding: 12px 24px;
  font-family: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: #375A5F;
  text-decoration: none;
  background: #fff;
  border: 1px solid #375A5F;
  border-radius: 4px;
  transition: opacity 0.2s;
}

.lower-btn:hover {
  color: #375A5F;
  opacity: 0.75;
}

.lower-btn__icon {
  position: relative;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border: 1px solid #375A5F;
  border-radius: 50%;
}

.lower-btn__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 7px;
  height: 7px;
  border-top: 1px solid #375A5F;
  border-right: 1px solid #375A5F;
  transform: translate(-65%, -50%) rotate(45deg);
}

@media screen and (max-width:768px) {
  .archive-layout {
    padding-top: 40px;
  }
  .archive-layout__body {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
  }
  .archive-layout__side {
    width: 100%;
  }
  .lower-btn {
    width: 100%;
    min-width: 100%;
  }
}
.column-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.column-list__item {
  margin: 0;
}

.column-card {
  display: flex;
  gap: 24px;
  box-sizing: border-box;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(151, 151, 151, 0.25);
  border-radius: 4px;
  transition: box-shadow 0.2s;
}

.column-card:hover {
  box-shadow: 0 8px 24px rgba(55, 90, 95, 0.12);
}

.column-card__link {
  display: flex;
  gap: 24px;
  width: 100%;
  min-width: 0;
  color: #333;
  text-decoration: none;
}

.column-card__thumb {
  position: relative;
  flex-shrink: 0;
  width: 240px;
  aspect-ratio: 240/150;
  overflow: hidden;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
  border-radius: 4px;
}

.column-card__thumb--no-image::before {
  content: "RIVER CLINIC DENTAL";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}

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

.column-card__cat {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 88px;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.4;
  color: #fff;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
  border-radius: 3px;
}

.column-card__body {
  min-width: 0;
}

.column-card__date {
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  color: #888;
}

.column-card__title {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.75;
  color: #333;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.column-card__excerpt {
  display: -webkit-box;
  margin: 12px 0 0;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.9;
  color: #666;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.column-related__list .column-card {
  flex-direction: column;
  gap: 14px;
  padding: 0;
  border: 0;
}

.column-related__list .column-card__link {
  flex-direction: column;
  gap: 14px;
}

.column-related__list .column-card__thumb {
  width: 100%;
}

@media screen and (max-width:768px) {
  .column-card {
    flex-direction: column;
    gap: 14px;
    padding: 16px;
  }
  .column-card__link {
    flex-direction: column;
    gap: 14px;
  }
  .column-card__thumb {
    width: 100%;
  }
}
.case-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.case-list__item {
  margin: 0;
}

.case-card {
  box-sizing: border-box;
  background: #fff;
  border: 1px solid rgba(151, 151, 151, 0.25);
  border-radius: 4px;
  transition: box-shadow 0.2s;
  overflow: hidden;
}

.case-card:hover {
  box-shadow: 0 8px 24px rgba(55, 90, 95, 0.12);
}

.case-card__link {
  display: block;
  color: #333;
  text-decoration: none;
}

.case-card__thumb {
  position: relative;
  aspect-ratio: 2/3;
  overflow: hidden;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
}

.case-card__thumb--no-image::before {
  content: "RIVER CLINIC DENTAL";
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 16px;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}

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

.case-card__cat {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 88px;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.4;
  color: #fff;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
  border-radius: 3px 0 0 0;
}

.case-card__body {
  padding: 18px;
}

.case-card__title {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.75;
  color: #333;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.case-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}

.case-card__tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  font-size: 12px;
  line-height: 1.4;
  color: #375A5F;
  background: rgba(59, 149, 162, 0.08);
  border: 1px solid rgba(59, 149, 162, 0.3);
  border-radius: 30px;
}

@media screen and (max-width:1024px) {
  .case-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width:768px) {
  .case-list {
    grid-template-columns: 1fr;
  }
}
.news-archive {
  padding-top: 60px;
}

.news-archive__inner {
  max-width: 900px;
  margin: 0 auto;
}

.news-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #d8d8d8;
}

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

.news-list__link {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 8px;
  color: #333;
  text-decoration: none;
  transition: color 0.2s;
}

.news-list__link:hover {
  color: #3b95a2;
}

.news-list__date {
  flex-shrink: 0;
  width: 88px;
  font-size: 14px;
  line-height: 1.5;
  color: #888;
}

.news-list__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  width: 110px;
  padding: 4px 0;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
  border-radius: 3px;
}

.news-list__tag--empty {
  background: none;
}

.news-list__title {
  min-width: 0;
  font-size: 16px;
  line-height: 1.75;
}

.news-single {
  padding-top: 60px;
}

.news-single__inner {
  max-width: 900px;
  margin: 0 auto;
}

.news-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin-bottom: 18px;
}

.news-single__date {
  font-size: 14px;
  line-height: 1.5;
  color: #888;
}

.news-single__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 4px 16px;
  font-size: 12px;
  line-height: 1.4;
  color: #fff;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
  border-radius: 30px;
}

.news-single__title {
  margin: 0 0 30px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}

.news-single__thumb {
  aspect-ratio: 16/9;
  margin: 0 0 40px;
  overflow: hidden;
  border-radius: 4px;
}

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

.news-single__content > * {
  margin: 30px 0;
}

.news-single__more {
  margin-top: 56px;
  text-align: center;
}

@media screen and (max-width:768px) {
  .news-archive,
  .news-single {
    padding-top: 40px;
  }
  .news-list__link {
    flex-wrap: wrap;
    gap: 8px 12px;
    padding: 18px 0;
  }
  .news-list__date {
    width: auto;
  }
  .news-list__tag {
    width: auto;
    padding-inline: 12px;
  }
  .news-list__tag--empty {
    display: none;
  }
  .news-list__title {
    width: 100%;
  }
  .news-single__title {
    font-size: 24px;
  }
}
.sidebar-block {
  box-sizing: border-box;
  padding: 24px;
  background: #fff;
  border: 1px solid rgba(151, 151, 151, 0.25);
  border-radius: 4px;
}

.sidebar-block + .sidebar-block {
  margin-top: 32px;
}

.sidebar-block__title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  padding-bottom: 12px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  color: #375A5F;
  border-bottom: 1px solid #d8d8d8;
}

.sidebar-block__title::before {
  content: "";
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.sidebar-cats {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar-cats__item + .sidebar-cats__item {
  border-top: 1px solid #d8d8d8;
}

.sidebar-cats__link {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  text-decoration: none;
  transition: color 0.2s;
}

.sidebar-cats__link:hover {
  color: #3b95a2;
}

.sidebar-cats__count {
  flex-shrink: 0;
  color: #888;
}

.sidebar-posts {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sidebar-posts__item {
  margin: 0;
}

.sidebar-posts__link {
  position: relative;
  display: flex;
  gap: 12px;
  min-width: 0;
  color: #333;
  text-decoration: none;
  transition: opacity 0.2s;
}

.sidebar-posts__link:hover {
  opacity: 0.75;
}

.sidebar-posts__thumb {
  position: relative;
  flex-shrink: 0;
  width: 64px;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
  border-radius: 4px;
}

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

.sidebar-posts__rank {
  position: absolute;
  top: -6px;
  left: -6px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  font-size: 12px;
  line-height: 1;
  color: #fff;
  background: #72bbc5;
  border-radius: 50%;
}

.sidebar-posts__rank--1 {
  background: #375A5F;
}

.sidebar-posts__rank--2 {
  background: #3b95a2;
}

.sidebar-posts__rank--3 {
  background: #5a9ea6;
}

.sidebar-posts__body {
  display: block;
  min-width: 0;
}

.sidebar-posts__date {
  display: block;
  margin-bottom: 4px;
  font-size: 12px;
  line-height: 1.5;
  color: #888;
}

.sidebar-posts__title {
  display: -webkit-box;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.6;
  color: #333;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media screen and (max-width:768px) {
  .sidebar-block {
    padding: 20px;
  }
}
.pagination__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 60px 0 0;
  padding: 0;
  list-style: none;
}

.pagination__item {
  margin: 0;
}

.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 14px;
  line-height: 1;
  color: #375A5F;
  text-decoration: none;
  background: #fff;
  border: 1px solid #d8d8d8;
  border-radius: 4px;
  transition: opacity 0.2s;
}

.pagination .page-numbers.current {
  color: #fff;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
  border-color: transparent;
  pointer-events: none;
}

.pagination .page-numbers:hover {
  opacity: 0.75;
}

.pagination .page-numbers.dots {
  border-color: transparent;
  pointer-events: none;
}

.pagination__arrow {
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1px solid #375A5F;
  border-right: 1px solid #375A5F;
}

.pagination__arrow--prev {
  transform: rotate(-135deg);
}

.pagination__arrow--next {
  transform: rotate(45deg);
}

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

@media screen and (max-width:768px) {
  .pagination__list {
    margin-top: 40px;
  }
}
.column-single__head {
  margin-bottom: 32px;
}

.column-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  margin-bottom: 18px;
}

.column-single__date {
  font-size: 14px;
  line-height: 1.5;
  color: #888;
}

.column-single__cat,
.case-single__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 4px 16px;
  font-size: 12px;
  line-height: 1.4;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(90deg, #3b95a2 0%, #72bbc5 100%);
  border-radius: 30px;
}

.column-single__title,
.case-single__title {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.6;
  color: #333;
}

.column-single__thumb {
  aspect-ratio: 16/9;
  margin: 0 0 40px;
  overflow: hidden;
  border-radius: 4px;
}

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

.column-single__content > *,
.case-single__content > * {
  margin: 30px 0;
}

.column-related {
  margin-top: 72px;
}

.column-related__header {
  margin-bottom: 32px;
  text-align: center;
}

.column-related__title {
  margin: 0 0 12px;
  font-family: "Shippori Mincho", "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
  color: #333;
}

.column-related__title-deco {
  display: flex;
  align-items: center;
  justify-content: center;
}

.column-related__title-star {
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.column-related__title-line {
  display: block;
  width: 140px;
  height: 1px;
  background-color: #375A5F;
}

.column-related__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.column-related__item {
  margin: 0;
}

.column-related__more,
.case-single__more {
  margin-top: 56px;
  text-align: center;
}

.case-single {
  padding-top: 0;
}

.case-single__inner {
  max-width: 960px;
  margin: 0 auto;
}

.case-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.case-single__title {
  margin-bottom: 40px;
}

.case-single__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: -24px 0 40px;
  padding: 0;
  list-style: none;
}

.case-single__tag {
  display: inline-flex;
  align-items: center;
  padding: 4px 14px;
  font-size: 13px;
  line-height: 1.4;
  color: #375A5F;
  background: rgba(59, 149, 162, 0.08);
  border: 1px solid rgba(59, 149, 162, 0.3);
  border-radius: 30px;
}

.column-single__content + .supervisor-max {
  margin-top: 48px;
}

@media screen and (max-width:768px) {
  .column-single__title,
  .case-single__title {
    font-size: 24px;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
  .column-related__list {
    grid-template-columns: 1fr;
  }
  .case-single {
    padding-top: 0;
  }
  .column-single__content + .supervisor-max {
    margin-top: 32px;
  }
}
.lower--invisalign .lower-mv-area {
  display: none;
}
.lower--invisalign img {
  height: auto;
}
.lower--invisalign .header {
  padding: 20px 60px;
  background: #fff;
  border-radius: 0;
  top: 0;
  left: 0;
  width: 100%;
  transition: top 0.3s ease;
}
@media screen and (max-width: 768px) {
  .lower--invisalign .header {
    padding: 12px 16px 16px;
    height: 94px;
  }
}
.lower--invisalign .header.is-scrolled {
  padding: 20px 60px;
  left: 0;
  top: 0;
  border-radius: 0;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .lower--invisalign .header.is-scrolled {
    top: calc(-1 * var(--header-address-h, 0px));
    padding: 12px 16px 16px;
  }
}
.lower--invisalign .header__inner {
  padding: 0;
}
@media screen and (max-width: 768px) {
  .lower--invisalign .header__inner {
    height: auto;
    padding: 0px;
  }
}
.lower--invisalign .header__logo-address {
  display: block;
}
@media screen and (max-width: 768px) {
  .lower--invisalign .header__logo-address {
    grid-column: 1/-1;
    grid-row: 1;
    margin-bottom: 0;
    padding: 0;
    font-size: 10px;
    line-height: 1.5;
    color: #666;
    white-space: normal;
  }
}
.lower--invisalign .header__nav {
  grid-column: 2;
  grid-row: 1/span 2;
  justify-self: end;
  display: flex;
  align-items: stretch;
  align-self: stretch;
}
@media screen and (max-width: 1200px) {
  .lower--invisalign .header__nav {
    display: none;
  }
}
.lower--invisalign .header__content {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  width: 100%;
  column-gap: 40px;
  align-items: stretch;
}
.lower--invisalign .footer {
  padding-bottom: 100px;
}

.lp01-hero__cta--side {
  position: fixed;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 111;
}
.lp01-hero__cta--side.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

:root {
  --color-main: #375a5f;
  --color-ink: #333333;
  --color-white: #ffffff;
  --hero-bg-1: #344548;
  --hero-bg-2: #3b95a2;
  --gold-1: #eed199;
  --gold-2: #fbf9e0;
  --gold-3: #dcaa48;
  --lp-mv-bottom-gold-1: #937333;
  --lp-mv-bottom-gold-2: #fff89b;
  --lp-mv-bottom-gold-3: #7b5712;
  --gold-bar-1: #eed199;
  --gold-bar-2: #fbf9e0;
  --gold-bar-3: #dcaa48;
  --line-green: #06c755;
  --font-serif: "Shippori Mincho", "Noto Serif JP", serif;
  --font-sans: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
  --hero-max-width: 1400px;
}

:root {
  /* ---------- Neutrals ---------- */
  --color-ink: #333333;
  --color-white: #ffffff;
  --color-silver-1: #3b3b3b;
  --color-silver-2: #c7c7c7;
  /* ---------- Brand: main / bright (River Blue) ---------- */
  --color-main: #375a5f;
  --color-bright: #3b95a2;
  --color-navy: #344548;
  /* ---------- CTA teal ---------- */
  --color-teal-1: #6ce5e6;
  --color-teal-2: #5eb3b3;
  /* ---------- Gold ---------- */
  --color-gold-1: #937333;
  --color-gold-2: #fff89b;
  --color-gold-3: #7b5712;
  --color-gold-bar-1: #eed199;
  --color-gold-bar-2: #fbf9e0;
  --color-gold-bar-3: #dcaa48;
  /* ---------- Accent ---------- */
  --color-red: #d83838;
  --color-line-green: #06c755;
  /* ---------- Fonts ---------- */
  --font-serif: "Shippori Mincho", "Noto Serif JP", serif;
  --font-sans: "BIZ UDPGothic", "Noto Sans JP", sans-serif;
}

.mv-lp img {
  height: auto;
}

.mv-lp .header {
  position: fixed;
  background: #fff;
  width: 100%;
}

.text-gold {
  background-image: linear-gradient(155deg, var(--gold-1) 0%, var(--gold-2) 43%, var(--gold-3) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.text-gold--mv-bottom {
  background-image: linear-gradient(155deg, var(--lp-mv-bottom-gold-1) 40%, var(--lp-mv-bottom-gold-2) 49%, var(--lp-mv-bottom-gold-3) 69%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

/* ---------- Hero shell ---------- */
.lp01-hero {
  width: 100%;
  min-height: clamp(500px, 51vw, 714px);
  position: relative;
  overflow: hidden;
  background: url(../images/lp-low/lp01-herp-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 174px 0.625rem 0 clamp(20px, 4.5vw, 64px);
}

.lp01-hero__inner {
  min-height: clamp(500px, 51vw, 714px);
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap-reverse;
  align-items: flex-end;
  justify-content: center;
  gap: clamp(28px, 4vw, 56px);
}

.lp01-hero__left {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(14px, 1.6vw, 20px);
}

/* ---------- Tagline bar ---------- */
.lp01-hero__tagline {
  margin: 0;
  padding: 14px 24px;
  background: linear-gradient(176deg, var(--gold-bar-1) 15%, var(--gold-bar-2) 46%, var(--gold-bar-3) 87%);
  color: var(--color-ink);
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(15px, 1.94vw, 28px);
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.25);
}

/* ---------- Awards line ---------- */
.lp01-hero__awards-line {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  color: var(--color-white);
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(15px, 1.94vw, 28px);
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
}

.lp01-hero__awards-line .text-gold {
  font-size: clamp(17px, 2.5vw, 36px);
}

.lp01-hero__awards-line-cont {
  margin-left: 24px;
}

/* ---------- Headline ---------- */
.lp01-hero__title {
  margin: 4px 0 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(24px, 3.19vw, 46px);
  line-height: 1.5;
  color: var(--color-white);
  text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
}

.lp01-hero__title-name {
  letter-spacing: 0.15em;
  line-height: 1;
  font-size: clamp(30px, 4.16vw, 60px);
}

/* ---------- Award badge logos ---------- */
.lp01-hero__badges {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  width: 100vw;
  margin: 8px 0 0 -20px;
  margin-left: calc(50% - 50vw);
  pointer-events: none;
}

.lp01-hero__badges-track {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  gap: clamp(14px, 3.9vw, 55px);
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
  will-change: transform;
}

.lp01-hero__badges-item {
  flex-shrink: 0;
  width: clamp(72px, 9.5vw, 137px);
}
.lp01-hero__badges-item img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---------- CTA buttons ---------- */
.lp01-hero__cta {
  margin-top: clamp(16px, 2.4vw, 24px);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  position: fixed;
  bottom: 10px;
  left: 10px;
  z-index: 111;
}

.lp01-hero__cta .cta-btn {
  width: clamp(220px, 25vw, 377px);
}

.lp01-hero__cta .cta-btn__label {
  font-size: clamp(13px, 1.2vw, 18px);
}

#lp01-hero__cta-fiexd {
  position: fixed;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
  pointer-events: none;
}
#lp01-hero__cta-fiexd.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  display: none;
}

.lp01-hero__cta-nofixed {
  position: relative;
  left: auto;
  bottom: auto;
}

.cta-btn {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: clamp(220px, 26vw, 377px);
  height: 80px;
  padding: 0 clamp(10px, 1.42vw, 20px);
  border-radius: 4px;
  text-decoration: none;
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
}

#lp01-hero__cta-fiexd .cta-btn {
  width: clamp(340px, 26vw, 377px);
}

.cta-btn:hover {
  opacity: 1;
}

.cta-btn__shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(130deg, #333333 0%, #393939 4%, #4b4b4b 9%, #696969 16%, #939393 23%, #c7c7c7 30%, #ffffff 37%, #b2b2b2 49%, #6d6d6d 60%, #434343 67%, #333333 72%, #ffffff 100%);
  pointer-events: none;
  opacity: 0.25;
  z-index: 0;
}

.cta-btn--teal {
  background: linear-gradient(89deg, #6ce5e6 18%, #5eb3b3 81%);
}

.cta-btn--line {
  background: var(--line-green);
}

.cta-btn__icon {
  width: 34px;
  height: 37px;
  flex-shrink: 0;
  z-index: 1;
}

.cta-btn__line-icon {
  position: relative;
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  z-index: 1;
}

.cta-btn__line-icon img:first-child {
  width: 100%;
  height: 100%;
}

.cta-btn__line-icon img:last-child {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 62%;
  height: auto;
  transform: translate(-50%, -50%);
}

.cta-btn__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: var(--color-white);
  font-family: var(--font-sans);
  font-weight: 700;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
}

.cta-btn__text--teal--sp {
  display: none;
}

.cta-btn__eyebrow {
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.1em;
  font-family: "Arial", var(--font-sans);
}

.cta-btn__label {
  font-size: clamp(15px, 1.3vw, 18px);
  color: var(--color-white);
  font-family: var(--font-sans);
  font-weight: 700;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
  text-align: center;
  z-index: 1;
}

.cta-btn__label--teal {
  display: flex;
  flex-direction: column;
}

.cta-btn__label-sp--line {
  display: none;
}

/* ---------- Doctor photo + overlays ---------- */
.lp01-hero__doctor {
  position: absolute;
  right: 0;
  flex: 1 1 380px;
  max-width: 617px;
  max-width: clamp(400px, 44vw, 617px);
  margin: 0;
  bottom: 0;
}

.lp01-hero__doctor-photo {
  width: 100%;
  aspect-ratio: 617/683;
  object-fit: cover;
  border-radius: 8px 8px 0 0;
}

.lp01-hero__doctor-caption {
  position: absolute;
  top: 58%;
  right: 6%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: right;
  color: var(--color-ink);
  font-family: var(--font-serif);
  font-weight: 700;
}

.lp01-hero__doctor-clinic {
  font-size: clamp(9px, 0.9vw, 11.7px);
}

.lp01-hero__doctor-name {
  font-size: clamp(18px, 2.2vw, 31.3px);
}

.lp01-hero__doctor-name span {
  font-size: 19.57px;
  margin-right: 4px;
}

.lp01-hero__primary {
  position: relative;
  max-width: 1400px;
  margin-right: auto;
  margin-left: auto;
  z-index: 1;
}

.lp01-hero__stats {
  position: absolute;
  right: clamp(30px, 3.8vw, 50px);
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: clamp(6px, 0.8vw, 8px);
  z-index: 1;
  bottom: 12px;
}

.stat-circle {
  flex-shrink: 0;
  width: clamp(96px, 12.85vw, 180.8px);
  height: clamp(96px, 12.85vw, 180.8px);
  border-radius: 50%;
  background: var(--color-white);
  box-shadow: 0px 4px 2px rgba(0, 0, 0, 0.25);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  text-align: center;
  padding: 8px;
}

.stat-circle__label {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(8px, 1.04vw, 15px);
  line-height: 1.2;
  color: var(--color-main);
}

.stat-circle__label.--left-top {
  font-size: clamp(24px, 2.14vw, 30px);
}

.stat-circle__label.--center-top {
  font-size: clamp(8px, 0.95vw, 13.68px);
}

.stat-circle__label.--right-top {
  font-size: clamp(8px, 1.059vw, 15.26px);
}

.stat-circle__num {
  font-family: var(--font-serif);
  font-weight: 700;
  line-height: 1;
}

.stat-circle__num-big {
  font-size: clamp(30px, 4.86vw, 70px);
}

.stat-circle__num-mid {
  font-size: clamp(18px, 2.77vw, 40px);
}

.stat-circle__num-small {
  font-size: clamp(14px, 2.4vw, 35px);
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 1000px) {
  .mv-lp .header__logo-link {
    max-width: 150px;
  }
  .lp01-hero {
    padding: 115px 8px 28px;
    background: linear-gradient(55deg, var(--hero-bg-1) 3%, var(--hero-bg-2) 51%, var(--hero-bg-1) 95%);
    min-height: 600px;
    background: url(../images/lp-low/lp01-herp-bg-sp.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
  .lp01-hero__inner {
    flex-direction: column;
    align-items: center;
    justify-content: start;
    gap: 0;
  }
  /* unwrap .lp01-hero__left so its children can be individually reordered
     around the doctor figure via flex `order`, matching the SP frame */
  .lp01-hero__left {
    display: contents;
  }
  .lp01-hero__tagline {
    order: 1;
    font-size: 11px;
    padding: 6px 10px;
    text-align: center;
  }
  .lp01-hero__awards-line {
    order: 2;
    justify-content: center;
    margin-top: 8px;
    font-size: 14.4px;
    text-align: center;
    max-width: 320px;
    gap: 2px 8px;
    line-height: 1.3;
  }
  .lp01-hero__awards-line .text-gold {
    font-size: 15px;
  }
  .lp01-hero__title {
    order: 3;
    margin-top: 5px;
    font-size: 20px;
    line-height: 1.55;
    max-width: 300px;
  }
  .lp01-hero__title-span-sp {
    display: flex;
    flex-direction: column;
  }
  .lp01-hero__doctor {
    order: 4;
    width: 260px;
    margin: 0px -16px 4px 0;
    bottom: 34px;
  }
  .lp01-hero__badges {
    position: absolute;
    top: 200px;
    order: 5;
    width: 100%;
    max-width: 340px;
    margin: 68px auto 0;
    justify-content: center;
    gap: 30px;
    z-index: 1;
    width: auto;
    max-width: max-content;
    margin-right: -160px;
  }
  .lp01-hero__badges li {
    width: 76px;
  }
  .lp01-hero__cta {
    display: none;
  }
  #lp01-hero__cta-fiexd {
    display: flex;
    position: fixed;
    order: 6;
    width: 100%;
    max-width: 500px;
    margin: 24px auto 0;
    gap: 0;
    align-items: stretch;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    visibility: inherit;
    opacity: 1;
    pointer-events: all;
    display: none;
  }
  #lp01-hero__cta-fiexd.is-visible {
    visibility: inherit;
    transform: translateX(-50%);
  }
  .cta-btn--teal {
    flex: 0 1 120px;
  }
  .lp01-hero__cta .cta-btn--teal {
    display: flex;
    flex-direction: column;
  }
  .lp01-hero__cta .cta-btn.cta-btn--teal {
    padding-top: 5px;
    padding-bottom: 5px;
    min-height: 69px;
  }
  .lp01-hero__cta .cta-btn--line {
    padding-top: 5px;
    padding-bottom: 5px;
    min-height: 69px;
  }
  .cta-btn__label {
    font-size: 12px;
  }
  .cta-btn__label-sp--line {
    display: block;
    font-size: 10px;
  }
  .cta-btn--line {
    flex: 1;
  }
  .cta-btn {
    width: 100%;
    gap: 5px;
    padding: 15px 15px;
    min-height: 48px;
    height: 100%;
  }
  .lp01-hero__doctor-caption {
    top: 51%;
    right: 17px;
  }
  .lp01-hero__doctor-clinic {
    font-size: 8px;
  }
  .lp01-hero__doctor-name {
    font-size: 15px;
  }
  .lp01-hero__doctor-photo {
    aspect-ratio: 311/411;
  }
  .lp01-hero__stats {
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    gap: 4px;
    right: auto;
  }
  .stat-circle {
    width: 120px;
    height: 120px;
    padding: 6px;
  }
  .stat-circle__label {
    font-size: 10px;
  }
  .stat-circle__num-big {
    font-size: 46px;
    line-height: 0.7;
  }
  .stat-circle__num-mid {
    font-size: 28px;
  }
  .stat-circle__num-small {
    font-size: 13px;
  }
  .stat-circle__label.--left-top {
    font-size: 20px;
  }
  .stat-circle__label.--center-top {
    font-size: 10px;
    letter-spacing: -0.02rem;
  }
  .stat-circle__label.--right-top {
    font-size: 10px;
  }
  .lp01-hero__cta .cta-btn.cta-btn--teal .cta-btn__text {
    display: none;
  }
  .cta-btn__text--teal--sp {
    display: block;
    font-size: 12px;
    color: #fff;
    z-index: 1;
  }
}
.lp01-message {
  --lp01-color-main: #375a5f;
  --lp01-color-teal: #3b95a2;
  --lp01-color-ink: #333333;
  --lp01-gold-1: #eed199;
  --lp01-gold-2: #fbf9e0;
  --lp01-gold-3: #dcaa48;
  --lp01-font-serif: "Shippori Mincho", "Noto Serif JP", serif;
  --lp01-font-sans: "Noto Sans JP", sans-serif;
  position: relative;
  overflow: hidden;
  padding: 30px 20px 30px;
  background: linear-gradient(132deg, #e2e2e2 1.5%, #ffffff 26.5%, #e2e2e2 39%, #ffffff 57.8%, #f1f1f1 89%);
  font-family: var(--lp01-font-sans);
  color: var(--lp01-color-ink);
  background-image: url(../images/lp-low/message-bg-photo.webp);
  background-size: cover;
  background-position: center;
}

.lp01-message__img {
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: clamp(400px, 50vw, 800px);
  z-index: 1;
}

.lp01-message__img.--sp {
  display: none;
}

.lp01-message__inner {
  position: relative;
  max-width: 1150px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.lp01-message__intro {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 860px;
}

.lp01-message__ribbon {
  position: relative;
  padding: 24px 0 24px 0px;
  display: flex;
  flex-direction: column;
  gap: 23px;
  color: #ffffff;
}

.lp01-message__ribbon:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 100vw;
  height: 100%;
  margin-left: -50vw;
  background-image: url(../images/lp-low/lp01-message-top-bg-pc.webp);
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.lp01-message__ribbon-lead {
  position: relative;
  margin: 0;
  font-family: var(--lp01-font-serif);
  font-weight: 500;
  font-size: 24px;
  line-height: 1.2;
}

.lp01-message__ribbon-lead--line {
  position: relative;
  padding-bottom: 10px;
}

.lp01-message__ribbon-lead--line:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 1px;
  background: #fff;
}

.lp01-message__ribbon-heading {
  position: relative;
  margin: 0;
  padding-bottom: 20px;
  font-family: var(--lp01-font-serif);
  font-weight: 500;
  font-size: 34px;
  letter-spacing: 0.1em;
  line-height: 1.55;
  display: flex;
  flex-direction: column;
}

.lp01-message__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 2;
  position: relative;
}

.lp01-message__body p {
  margin: 0;
  font-size: 16px;
  line-height: 1.75;
}

.lp01-message__pricing {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  max-width: 573px;
  z-index: 2;
}

.lp01-message__plan-card {
  background: rgba(255, 255, 255, 0.6);
  padding: 12px 22px;
}

.lp01-message__plan-card-content {
  display: flex;
  align-items: center;
  gap: 10px;
}

.lp01-message__badge {
  position: relative;
  flex-shrink: 0;
  width: 143px;
  height: 143px;
  border-radius: 50%;
  background: linear-gradient(153deg, var(--lp01-gold-1) 0%, var(--lp01-gold-2) 43%, var(--lp01-gold-3) 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 8px;
}

.lp01-message__badge-eyebrow {
  font-family: var(--lp01-font-sans);
  font-weight: 500;
  font-size: 25.27px;
  line-height: 1;
  color: var(--lp01-color-ink);
}

.lp01-message__badge-bottom {
  display: flex;
  align-items: end;
}

.lp01-message__badge-num {
  font-family: var(--lp01-font-serif);
  font-weight: 500;
  font-size: 60px;
  transform: skewX(-7deg);
  line-height: 1;
  color: var(--lp01-color-ink);
}

.lp01-message__badge-unit {
  font-family: var(--lp01-font-sans);
  font-weight: 500;
  font-size: 22.5px;
  color: var(--lp01-color-ink);
}

.lp01-message__badge-note {
  margin-bottom: 20px;
  font-family: var(--lp01-font-sans);
  font-weight: 500;
  font-size: 13px;
  color: var(--lp01-color-ink);
}

.lp01-message__plan-info {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.lp01-message__plan-name {
  margin: 0;
  font-family: var(--lp01-font-sans);
  font-weight: 500;
  font-size: 24.96px;
  background-image: linear-gradient(4deg, var(--lp01-color-main) 3%, var(--lp01-color-teal) 51%, var(--lp01-color-main) 94%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.lp01-message__plan-price {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 4px;
}

.lp01-message__plan-price-label {
  font-family: var(--lp01-font-sans);
  font-weight: 500;
  font-size: 30px;
  letter-spacing: 0;
  padding-bottom: 6px;
}

.lp01-message__plan-price-num {
  font-family: var(--lp01-font-serif);
  font-weight: 700;
  font-size: 70px;
  line-height: 1;
  background-image: linear-gradient(14deg, var(--lp01-color-main) 3%, var(--lp01-color-teal) 51%, var(--lp01-color-main) 94%);
  background-clip: text;
  -webkit-background-clip: text;
  transform: skewX(-7deg);
  color: transparent;
}

.lp01-message__plan-price-unit {
  display: flex;
  flex-direction: column;
  font-family: var(--lp01-font-sans);
  font-weight: 500;
  font-size: 16px;
  line-height: 1.1;
  padding-bottom: 4px;
}

.lp01-message__plan-price-unit-zei {
  font-size: 15px;
}

.lp01-message__plan-price-unit-en {
  font-size: 30px;
}

.lp01-message__plan-price-unit-nami {
  font-size: 21.45px;
}

.lp01-message__plan-footnote {
  margin: 4px 0 0;
  font-size: 12.48px;
  line-height: 1.4;
  color: rgba(51, 51, 51, 0.8);
  text-align: left;
}

.lp01-message__plan-footnote.--sp {
  display: none;
}

/* ---------- Fee list ---------- */
.lp01-message__fee-list {
  margin: 0;
  padding: 0px 46px 12px;
  list-style: none;
  display: flex;
  flex-direction: column;
  background: linear-gradient(12deg, var(--lp01-color-main) 3%, var(--lp01-color-teal) 51%, var(--lp01-color-main) 94%);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.25);
}

.lp01-message__fee-list li {
  display: flex;
  align-items: baseline;
  gap: 14px;
  padding-left: 8px;
  padding-right: 17px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
}

.lp01-message__fee-icon {
  flex-shrink: 0;
}

.lp01-message__fee-label {
  flex: 1 1 0;
  color: #ffffff;
  font-size: 21px;
  font-weight: 500;
}

.lp01-message__fee-label-small {
  font-size: 16px;
  font-style: none;
}

.lp01-message__fee-price {
  display: flex;
  align-items: baseline;
  gap: 2px;
  color: #ffffff;
  font-weight: 500;
  line-height: 0.8;
}

.lp01-message__fee-price strong {
  font-family: var(--lp01-font-serif);
  font-weight: 700;
  font-size: 55.83px;
  line-height: 1;
  transform: skewX(-7deg);
}

.lp01-message__fee-price small {
  font-size: 14px;
}

.lp01-message__footnote {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--lp01-color-ink);
}

.br__sp {
  display: none;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .br__pc {
    display: none;
  }
  .br__sp {
    display: block;
  }
  .lp01-message {
    padding: 40px 14px 32px;
  }
  .lp01-message__inner {
    gap: 32px;
  }
  .lp01-message__body p {
    font-size: 12px;
  }
  .lp01-message__img.--pc {
    display: none;
  }
  .lp01-message__img.--sp {
    display: block;
    width: 80%;
    max-width: 200px;
    bottom: -30px;
    right: -20px;
    z-index: -1;
  }
  .lp01-message__intro {
    gap: 18px;
  }
  .lp01-message__ribbon {
    clip-path: polygon(0 0, 92% 0, 100% 100%, 0 100%);
    padding: 14px 14px 14px 14px;
    gap: 12px;
    margin-left: -16px;
    margin-right: -13px;
  }
  .lp01-message__ribbon:before {
    background-size: cover;
    background-image: url(../images/lp-low/lp01-message-top-bg-sp.webp);
    background-position: right;
  }
  .lp01-message__ribbon-lead--line {
    font-size: 12px;
  }
  .lp01-message__ribbon-lead {
    font-size: 14px;
  }
  .lp01-message__ribbon-heading {
    max-width: 100%;
    padding-bottom: 0;
    font-size: 16px;
    letter-spacing: 0.02rem;
  }
  .lp01-message__ribbon-heading-sp-big {
    font-size: 18px;
  }
  .lp01-message__plan-card {
    text-align: center;
    padding: 12px 8px;
  }
  .lp01-message__badge {
    width: 87px;
    height: 87px;
  }
  .lp01-message__badge-eyebrow {
    font-size: 15.5px;
  }
  .lp01-message__badge-num {
    font-size: 36px;
  }
  .lp01-message__badge-note {
    font-size: 8px;
    margin-bottom: 12px;
  }
  .lp01-message__badge-unit {
    font-size: 12px;
  }
  .lp01-message__plan-name {
    font-size: 15px;
  }
  .lp01-message__plan-price-label {
    font-size: 20px;
    padding-bottom: 0;
  }
  .lp01-message__plan-price-num {
    font-size: 47px;
  }
  .lp01-message__plan-price-unit {
    font-size: 12px;
  }
  .lp01-message__plan-price-unit-en {
    font-size: 20px;
  }
  .lp01-message__plan-price-unit-zei {
    font-size: 10px;
  }
  .lp01-message__plan-price-unit-nami {
    font-size: 14px;
  }
  .lp01-message__fee-list {
    padding: 0px 8px 15px;
  }
  .lp01-message__fee-list li {
    gap: 8px;
    padding-top: 0px;
    padding-bottom: 5px;
  }
  .lp01-message__fee-icon {
    flex-shrink: 0;
    width: 11.25px;
  }
  .lp01-message__fee-label {
    font-size: 15px;
  }
  .lp01-message__fee-price strong {
    font-size: 40px;
  }
  .lp01-message__fee-price small {
    font-size: 11px;
  }
  .lp01-message__plan-footnote.--pc {
    display: none;
  }
  .lp01-message__plan-footnote {
    font-size: 10px;
    margin-top: 10px;
  }
  .lp01-message__plan-footnote.--sp {
    display: block;
  }
  .lp01-message__footnote {
    font-size: 10px;
  }
}
/* ---------------------------------------------------------
   lp01-offer — "「やってよかった」を、あなたにも。" section
--------------------------------------------------------- */
.lp01-offer {
  --lp01-offer-ink: #333333;
  --lp01-offer-teal-1: #6ce5e6;
  --lp01-offer-teal-2: #5eb3b3;
  --lp01-offer-line-green: #06c755;
  --lp01-offer-font-serif: "Shippori Mincho", "Noto Serif JP", serif;
  --lp01-offer-font-sans: "Noto Sans JP", sans-serif;
  position: relative;
  overflow: hidden;
  background: #ffffff;
  padding: 80px 20px;
  font-family: var(--lp01-offer-font-sans);
  color: var(--lp01-offer-ink);
}

.lp01-offer__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.lp01-offer__bg-pattern {
  position: absolute;
  width: 460px;
  height: auto;
}

.lp01-offer__bg-pattern--top {
  top: 0;
  left: 0;
  transform: rotate(180deg);
  transform-origin: center;
}

.lp01-offer__bg-pattern--bottom {
  right: 0;
  bottom: 0;
}

.lp01-offer__inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

/* ---------- Heading ---------- */
.lp01-offer__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  text-align: center;
}

.lp01-offer__eyebrow {
  margin: 0;
  font-family: var(--lp01-offer-font-serif);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.06em;
}

.lp01-offer__title {
  margin: 0;
  font-family: var(--lp01-offer-font-serif);
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 0.06em;
  margin-top: 14px;
}

.lp01-offer__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

/* ---------- Case studies ---------- */
.lp01-offer__cases {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  width: 100%;
}

.lp01-offer__cases li {
  flex: 1 1 300px;
  max-width: 380px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.lp01-offer__cases img {
  display: block;
  width: 100%;
  height: auto;
}

/* ---------- CTA ---------- */
.lp01-offer__cta-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.lp01-offer__cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.lp01-offer__btn {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 275px;
  height: 58px;
  padding: 0 5px;
  border-radius: 3px;
  text-decoration: none;
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.25));
}

.lp01-offer__btn-shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 40%, rgba(255, 255, 255, 0.35) 50%, transparent 60%);
  pointer-events: none;
}

.lp01-offer__btn--teal {
  background: linear-gradient(89deg, var(--lp01-offer-teal-1) 18%, var(--lp01-offer-teal-2) 81%);
}

.lp01-offer__btn--line {
  background: var(--lp01-offer-line-green);
}

.lp01-offer__btn-icon {
  flex-shrink: 0;
  width: 26px;
  height: 28px;
}

.lp01-offer__btn-icon--line {
  width: 28px;
  height: 28px;
}

.lp01-offer__btn-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: #ffffff;
  font-weight: 500;
}

.lp01-offer__btn-eyebrow {
  font-size: 11.69px;
  letter-spacing: 0.1em;
  text-align: center;
  font-family: "Arial", var(--font-sans);
}

.lp01-offer__btn-label {
  font-size: 16px;
  color: #ffffff;
  font-weight: 500;
  text-align: center;
}

.lp01-offer__hours {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: #1e1e1e;
  text-align: center;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-offer {
    padding: 30px 16px;
  }
  .lp01-offer__inner {
    gap: 32px;
  }
  .lp01-offer__bg-pattern {
    width: 220px;
  }
  .lp01-offer__eyebrow {
    font-size: 10px;
  }
  .lp01-offer__title {
    font-size: 16px;
  }
  .lp01-offer__title-span {
    display: flex;
    flex-direction: column;
  }
  .lp01-offer__divider {
    width: 240px;
    max-width: 100%;
    height: auto;
  }
  .lp01-offer__cases {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .lp01-offer__cases li {
    width: 100%;
    max-width: 600px;
  }
  .lp01-offer__cta {
    flex-direction: column;
    width: 100%;
    max-width: 320px;
    gap: 12px;
  }
  .lp01-offer__btn {
    width: 100%;
  }
  .lp01-offer__btn-label {
    font-size: 13px;
  }
  .lp01-offer__hours-slash {
    display: none;
  }
  .lp01-offer__hours {
    font-size: 12px;
    display: flex;
    flex-direction: column;
  }
}
/* ---------------------------------------------------------
   lp01-important — "インビザライン矯正は医師選びが重要です。" section
--------------------------------------------------------- */
.lp01-important {
  position: relative;
  overflow: hidden;
  background: var(--color-ink);
  padding: 80px 20px;
  font-family: var(--font-sans);
  color: var(--color-ink);
}

.lp01-important__bg {
  position: absolute;
  bottom: 0;
  overflow: hidden;
  pointer-events: none;
  width: 100%;
  height: 50%;
  left: 0;
}

.lp01-important__inner {
  position: relative;
  z-index: 1;
  max-width: 1150px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

/* ---------- Card ---------- */
.lp01-important__card {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 1150px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 45px 40px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  background-image: url(../images/lp-low/important-card-bg.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.lp01-important__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.lp01-important__heading-dots {
  width: 232px;
  max-width: 100%;
  height: auto;
}

.lp01-important__heading-text {
  margin: 0;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 5px;
  flex-wrap: wrap;
  font-family: var(--font-serif);
  font-weight: 800;
  color: var(--color-red);
  text-align: center;
}

.lp01-important__heading-icon {
  width: 43px;
  height: 43px;
  flex-shrink: 0;
}

.lp01-important__heading-normal {
  font-size: 32px;
  letter-spacing: 0.08em;
}

.lp01-important__heading-strong {
  font-size: 36px;
  letter-spacing: 0.08em;
}

.lp01-important__heading-dots {
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Body ---------- */
.lp01-important__body {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 900px;
  font-size: 16px;
  line-height: 1.75;
  text-align: center;
}

.lp01-important__body p {
  margin: 0;
}

.lp01-important__bold {
  font-weight: 700;
}

.lp01-important__mark {
  background: linear-gradient(transparent 60%, rgba(238, 209, 153, 0.41) 60%);
  color: inherit;
  font-weight: 700;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-important {
    padding: 48px 16px;
  }
  .lp01-important__bg-pattern {
    width: 220%;
    bottom: -10%;
  }
  .lp01-important__card {
    padding: 40px 20px 16px;
    background-image: url(../images/lp-low/important-card-bg-sp.webp);
    gap: 16px;
  }
  .lp01-important__heading-dots {
    width: 100px;
  }
  .lp01-important__heading-icon {
    width: 20px;
    height: 20px;
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateY(-50%);
  }
  .lp01-important__heading-text {
    display: inline-block;
  }
  .lp01-important__heading-normal {
    font-size: 14px;
  }
  .lp01-important__heading-strong {
    font-size: 16px;
  }
  .lp01-important__body {
    font-size: 12px;
    line-height: 1.7;
  }
}
/* ---------------------------------------------------------
   lp01-doctor-about — "当院のインビザライン矯正ドクターについて" section
--------------------------------------------------------- */
.lp01-doctor-about {
  position: relative;
  overflow: hidden;
  padding: 80px 20px;
  font-family: var(--font-sans);
  color: var(--color-ink);
  background-image: url(../images/lp-low/doctor-about-section-bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.lp01-doctor-about__inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

/* ---------- Heading + lead ---------- */
.lp01-doctor-about__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.lp01-doctor-about__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 0.06em;
  color: var(--color-ink);
  text-align: center;
}

.lp01-doctor-about__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

.lp01-doctor-about__lead {
  width: 100%;
  max-width: 1150px;
  padding: 60px 0 48px;
  position: relative;
}

.lp01-doctor-about__lead-img {
  width: 100vw;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -1;
}

.lp01-doctor-about__lead-text {
  max-width: 705px;
  margin-left: 0;
  margin-right: auto;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.75;
  color: var(--color-ink);
  text-shadow: 1px 1px 3px #ffffff;
}

.lp01-doctor-about__mark {
  background: linear-gradient(transparent 62%, rgba(59, 149, 162, 0.41) 62%);
  color: inherit;
}

.lp01-doctor-about__mark--lg {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 32px;
  letter-spacing: 0.06em;
}

/* ---------- Card ---------- */
.lp01-doctor-about__card {
  width: 100%;
  max-width: 1150px;
  display: flex;
  flex-direction: column;
  gap: 30px;
  background: #ffffff;
  padding: 40px 30px;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.25);
}

.lp01-doctor-about__body {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.lp01-doctor-about__body p {
  margin: 0;
  font-size: 16px;
  line-height: 28px;
}

/* ---------- Timeline ---------- */
/* ---------- Provider panel ---------- */
.lp01-doctor-about__provider {
  position: relative;
  width: 100%;
  max-width: 1150px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  background: linear-gradient(16deg, var(--color-main) 3%, var(--color-bright) 51%, var(--color-main) 94%);
  z-index: 1;
}

.lp01-doctor-about__provider::after {
  content: "";
  position: absolute;
  inset: 15px 13px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  pointer-events: none;
}

.lp01-doctor-about__provider-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}

.lp01-doctor-about__sparkle {
  width: 31px;
  height: 28px;
}

.lp01-doctor-about__provider-title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 800;
  font-size: 32px;
  line-height: 1.18;
  color: #ffffff;
  text-align: center;
}

.lp01-doctor-about__provider-content {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 40px;
  width: 100%;
}

.lp01-doctor-about__provider-text {
  position: relative;
  flex: 1 1 620px;
  max-width: 720px;
}

.lp01-doctor-about__provider-swirl {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  max-width: none;
  height: auto;
  opacity: 0.5;
  pointer-events: none;
  z-index: -1;
}

.lp01-doctor-about__provider-text p {
  position: relative;
  z-index: 1;
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 28px;
  color: #ffffff;
}

.lp01-doctor-about__provider-text p:last-child {
  margin-bottom: 0;
}

.lp01-doctor-about__provider-footnote {
  margin-top: 20px !important;
  font-size: 12px !important;
  line-height: 20px !important;
}

.lp01-doctor-about__provider-badge {
  flex: 0 0 316px;
  width: 316px;
  max-width: 100%;
  height: auto;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-doctor-about {
    padding: 48px 16px;
  }
  .lp01-doctor-about__inner {
    gap: 32px;
  }
  .lp01-doctor-about__sparkle {
    width: 8px;
  }
  .lp01-doctor-about__title {
    font-size: 16px;
  }
  .lp01-doctor-about__divider {
    width: 220px;
  }
  .lp01-doctor-about__lead {
    display: flex;
    flex-direction: column-reverse;
    padding: 0;
  }
  .lp01-doctor-about__lead-img {
    width: 100%;
    position: relative;
    left: initial;
    transform: initial;
    top: 0;
    z-index: -1;
  }
  .lp01-doctor-about__lead-text {
    font-size: 13px;
    margin-top: 20px;
  }
  .lp01-doctor-about__mark--lg {
    font-size: 17px;
  }
  .lp01-doctor-about__card {
    padding: 24px 12px;
    gap: 20px;
  }
  .lp01-doctor-about__body p {
    font-size: 12px;
  }
  .lp01-doctor-about__steps {
    justify-content: center;
  }
  .lp01-doctor-about__step,
  .lp01-doctor-about__step-icon {
    width: 92px;
  }
  .lp01-doctor-about__step--wide,
  .lp01-doctor-about__step--wide .lp01-doctor-about__step-icon {
    width: 196px;
  }
  .lp01-doctor-about__step-label {
    font-size: 11px;
  }
  .lp01-doctor-about__step-sublabel {
    font-size: 8px;
  }
  .lp01-doctor-about__bars-row--thin .lp01-doctor-about__bar-label {
    font-size: 10px;
  }
  .lp01-doctor-about__bars-row--thick .lp01-doctor-about__bar-label {
    font-size: 12px;
    white-space: normal;
    width: 70%;
  }
  .lp01-doctor-about__bar-badge {
    width: 40px;
    height: 40px;
  }
  .lp01-doctor-about__provider {
    padding: 30px 16px;
    gap: 24px;
  }
  .lp01-doctor-about__provider::after {
    content: "";
    position: absolute;
    inset: 8px 8px;
  }
  .lp01-doctor-about__provider-heading {
    gap: 2px;
  }
  .lp01-doctor-about__provider-title {
    font-size: 16px;
  }
  .lp01-doctor-about__provider-text p {
    font-size: 12px;
  }
  .lp01-doctor-about__provider-text p:last-child {
    font-size: 10px;
  }
  .lp01-doctor-about__provider-swirl {
    display: none;
  }
  .lp01-doctor-about__provider-badge {
    flex-basis: 100%;
    width: 100%;
  }
}
/* ---------------------------------------------------------
   lp01-index — "INDEX" section
--------------------------------------------------------- */
.lp01-index {
  position: relative;
  overflow: hidden;
  background: #ffffff;
  padding: 80px 20px;
  font-family: var(--font-sans);
  color: var(--color-ink);
}

.lp01-index__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.lp01-index__bg-pattern {
  position: absolute;
  width: 460px;
  height: auto;
}

.lp01-index__bg-pattern--top {
  top: 0;
  left: 0;
  transform: rotate(180deg);
  transform-origin: center;
}

.lp01-index__bg-pattern--bottom {
  right: 0;
  bottom: 0;
}

.lp01-index__inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

/* ---------- Heading ---------- */
.lp01-index__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.lp01-index__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  color: var(--color-ink);
}

.lp01-index__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

/* ---------- Grid ---------- */
.lp01-index__grid {
  width: 100%;
  max-width: 843px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 42px;
}

.lp01-index__item {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 30px;
  background: var(--color-bright);
  text-decoration: none;
}

.lp01-index__item-pattern {
  position: absolute;
  top: 0;
  right: 0;
  width: 219px;
  height: 100%;
  max-width: none;
  object-fit: cover;
  pointer-events: none;
}

.lp01-index__item-label {
  position: relative;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 18px;
  line-height: 25px;
  color: #ffffff;
}

.lp01-index__item-chevron {
  position: relative;
  flex-shrink: 0;
  width: 16px;
  height: 10px;
}

.lp01-index__item--single {
  grid-column: 1/2;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-index {
    padding: 60px 32px;
  }
  .lp01-index__inner {
    gap: 32px;
  }
  .lp01-index__bg-pattern {
    width: 220px;
  }
  .lp01-index__heading {
    gap: 6px;
  }
  .lp01-index__divider {
    width: 240px;
  }
  .lp01-index__title {
    font-size: 16px;
  }
  .lp01-index__grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .lp01-index__item {
    padding: 14px 20px;
  }
  .lp01-index__item-label {
    font-size: 14px;
  }
}
/* ---------------------------------------------------------
   lp01-invisalign — "インビザライン矯正とは" section
--------------------------------------------------------- */
.lp01-invisalign {
  position: relative;
  overflow: hidden;
  padding: 80px 20px;
  font-family: var(--font-sans);
  color: #ffffff;
}

.lp01-invisalign__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.lp01-invisalign__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  mix-blend-mode: luminosity;
  opacity: 0.5;
}

.lp01-invisalign__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
}

.lp01-invisalign__inner {
  position: relative;
  z-index: 1;
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

/* ---------- Intro ---------- */
.lp01-invisalign__intro {
  display: flex;
  align-items: center;
  gap: 30px;
  width: 100%;
  max-width: 1150px;
}

.lp01-invisalign__intro-text {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  min-width: 0;
}

.lp01-invisalign__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  width: 100%;
  max-width: 600px;
}

.lp01-invisalign__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 0.06em;
  color: #ffffff;
  text-align: center;
}

.lp01-invisalign__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

.lp01-invisalign__lead {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.lp01-invisalign__lead p {
  margin: 0;
  font-size: 18px;
  line-height: 28px;
  color: #ffffff;
}

.lp01-invisalign__intro-photo {
  flex: 0 0 52%;
}

.lp01-invisalign__intro-photo.--sp {
  display: none;
}

.lp01-invisalign__intro-photo img {
  aspect-ratio: 527/428;
  object-fit: cover;
}

/* ---------- Shared subheading ---------- */
.lp01-invisalign__merits,
.lp01-invisalign__concerns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}

.lp01-invisalign__subheading {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.06em;
  color: #ffffff;
  text-align: center;
}

.lp01-invisalign__ornament {
  width: 188px;
  height: auto;
  flex: 1 1 188px;
  max-width: 188px;
}

/* ---------- Merit cards ---------- */
.lp01-invisalign__cards {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  width: 100%;
  max-width: 1150px;
}

.lp01-invisalign__card {
  position: relative;
  overflow: hidden;
  flex: 1 1 340px;
  max-width: 370px;
  background: #ffffff;
  box-shadow: 2px 2px 2.5px rgba(0, 0, 0, 0.5);
  padding: 20px 20px 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lp01-invisalign__card:after {
  content: "";
  position: absolute;
  left: 22px;
  bottom: -30px;
  width: 376px;
  /* max-width: none; */
  /* height: auto; */
  pointer-events: none;
  height: 274px;
  background-image: url(../images/lp-low/invisalign-card-pattern.svg);
  background-size: 100% 100%;
  right: 0;
  left: auto;
  bottom: 0;
}

.lp01-invisalign__card-photo {
  position: relative;
  width: 100%;
  aspect-ratio: 330/190;
  object-fit: cover;
  border-radius: 2px;
}

.lp01-invisalign__card-title {
  position: relative;
  margin: 13px 0 0;
  font-family: var(--font-serif);
  font-weight: 800;
  font-size: 18px;
  line-height: 26px;
  color: var(--color-bright);
  text-align: center;
  min-height: 52px;
  display: flex;
  align-items: center;
}

.lp01-invisalign__card-body {
  position: relative;
  margin: 0;
  font-size: 14px;
  line-height: 24px;
  color: var(--color-ink);
  text-align: center;
  margin-top: 24px;
}

.lp01-invisalign__card-body--tight {
  letter-spacing: -0.02em;
}

/* ---------- Malocclusion grid ---------- */
.lp01-invisalign__concerns .lp01-invisalign__subheading {
  color: #ffffff;
}

.lp01-invisalign__malocclusions {
  margin: 0;
  padding: 30px 70px;
  list-style: none;
  width: 100%;
  max-width: 1150px;
  background: #ffffff;
  display: grid;
  grid-template-columns: repeat(3, 33%);
  justify-content: center;
  gap: 20px 40px;
}

.lp01-invisalign__malocclusions li {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lp01-invisalign__malocclusion-label {
  margin: 0 0 -10px;
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 18px;
  line-height: 26px;
  color: var(--color-bright);
  text-align: center;
}

.lp01-invisalign__malocclusion-thumb {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 315/193;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-invisalign {
    padding: 48px 16px;
  }
  .lp01-invisalign__inner {
    gap: 32px;
  }
  .lp01-invisalign__intro {
    flex-direction: column;
  }
  .lp01-invisalign__intro-photo {
    max-width: 100%;
    width: 100%;
  }
  .lp01-invisalign__intro-photo.--pc {
    display: none;
  }
  .lp01-invisalign__intro-photo.--sp {
    display: block;
  }
  .lp01-invisalign__intro-photo {
    flex: inherit;
  }
  .lp01-invisalign__intro-photo img {
    aspect-ratio: 342/233;
  }
  .lp01-invisalign__title {
    font-size: 16px;
  }
  .lp01-invisalign__intro-text {
    gap: 10px;
  }
  .lp01-invisalign__divider {
    width: 220px;
  }
  .lp01-invisalign__lead p {
    font-size: 12px;
  }
  .lp01-invisalign__subheading {
    gap: 2px;
    justify-content: space-between;
  }
  .lp01-invisalign__subheading h3 {
    font-size: 14px;
  }
  .lp01-invisalign__ornament {
    max-width: 30px;
  }
  .lp01-invisalign__cards {
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  .lp01-invisalign__card {
    flex: 1;
    padding-bottom: 16px;
  }
  .lp01-invisalign__malocclusions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px 5px;
  }
  .lp01-invisalign__malocclusions li {
    flex: 0 1 48%;
  }
  .lp01-invisalign__malocclusion-label {
    font-size: 10px;
  }
  .lp01-invisalign__card-title {
    font-size: 14px;
  }
  .lp01-invisalign__card-body {
    font-size: 12px;
    margin-top: 12px;
  }
}
/* ---------------------------------------------------------
   lp01-reason — "当院のインビザライン治療が選ばれる5つの理由" section
--------------------------------------------------------- */
.lp01-reason {
  overflow: hidden;
  position: relative;
  background: linear-gradient(69deg, var(--color-main) 3.2%, var(--color-bright) 51.4%, var(--color-main) 94.4%);
  padding: 80px 0px;
  font-family: var(--font-sans);
  color: var(--color-ink);
}

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

/* ---------- Heading ---------- */
.lp01-reason__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.lp01-reason__heading-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.lp01-reason__eyebrow {
  display: inline-block;
  padding: 8px 24px;
  background: #ffffff;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 20px;
  color: var(--color-ink);
  position: relative;
}

.lp01-reason__eyebrow:before {
  content: "";
  position: absolute;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  width: 25px;
  height: 20px;
  right: 70px;
  bottom: -18px;
  background: #fff;
  transform: rotate(9deg);
}

.lp01-reason__title-block {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lp01-reason__title-line {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  color: #ffffff;
  text-align: center;
}

.lp01-reason__title-line--big {
  letter-spacing: 0.06em;
}

.lp01-reason__num {
  font-size: 50px;
}

.lp01-reason__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

/* ---------- Reason card ---------- */
.lp01-reason__card {
  position: relative;
  width: 100%;
  margin-top: 40px;
}

.lp01-reason__card:first-child {
  margin-top: 0;
}

.lp01-reason__photo {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  display: flex;
}

.lp01-reason__body {
  position: relative;
  z-index: 1;
  background: linear-gradient(135deg, #e2e2e2 0%, #ffffff 28%, #e2e2e2 42%, #ffffff 63%, #f1f1f1 100%);
  margin-top: -360px;
  padding: 56px 65px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 64%;
  z-index: 1;
}

.lp01-reason__body::before {
  content: "";
  z-index: -1;
  position: absolute;
  right: 0;
  bottom: 0;
  left: min(0px, 700px - 50vw);
  width: auto;
  height: 100%;
  background: linear-gradient(135deg, #e2e2e2 0%, #ffffff 28%, #e2e2e2 42%, #ffffff 63%, #f1f1f1 100%);
}

.lp01-reason__body::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  max-width: 1100px;
  background-image: url(../images/lp-low/lp01-reason__card-base-bg.webp);
  background-size: cover;
  height: 400px;
  width: 100%;
  background-position: right;
  pointer-events: none;
}

.lp01-reason__tag {
  position: absolute;
  top: -34px;
  left: 65px;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  padding: 10px 100px 10px 0px;
  line-height: 1;
  white-space: nowrap;
  z-index: 1;
}

.lp01-reason__tag:before {
  content: "";
  position: absolute;
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
  width: 100vw;
  height: 100%;
  right: 0;
  top: 0;
  max-width: 390px;
  aspect-ratio: 390/72;
  padding: 0 48px 0 20px;
  clip-path: polygon(0 0, 91.34% 0, 100% 100%, 0 100%);
  background: linear-gradient(79deg, #375a5f 0%, #4eacba 75%, rgba(114, 187, 197, 0.95) 100%);
  color: #ffffff;
  z-index: -1;
}

.lp01-reason__tag:after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  right: 150px;
  top: 0;
  aspect-ratio: 390/72;
  padding: 0 48px 0 20px;
  background: linear-gradient(79deg, #375a5f 0%, #375a5f 100%);
  color: #ffffff;
  z-index: -2;
  margin-left: calc(50% - 50vw);
}

.lp01-reason__tag-label {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 33.63px;
  color: #ffffff;
}

.lp01-reason__tag-num {
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 63.2px;
  line-height: 0.8;
  color: #ffffff;
}

.lp01-reason__title {
  margin: 24px 0 0;
  font-family: var(--font-serif);
  font-weight: 800;
  font-size: 25.888px;
  line-height: 37.754px;
  color: var(--color-ink);
  display: flex;
  flex-direction: column;
}

.lp01-reason__text {
  display: flex;
  flex-direction: column;
}

.lp01-reason__text p {
  margin: 0;
  font-size: 16px;
  line-height: 28px;
  color: var(--color-ink);
}

/* ---------- Dark variant (REASON 03) ---------- */
.lp01-reason__card-first .lp01-reason__body {
  margin-top: -360px;
}

.lp01-reason__card-second .lp01-reason__body {
  margin-top: -360px;
}

.lp01-reason__card-third {
  position: relative;
  padding: 210px 0;
  background-image: url(../images/lp-low/lp01-reason__photo03.webp);
  background-size: cover;
  background-position: bottom;
  margin: 60px calc(50% - 50vw) 0;
  width: 100vw;
  max-width: initial;
  padding-left: 20px;
  padding-right: 20px;
}

.lp01-reason__card-third .lp01-reason__tag {
  top: 0;
  background: linear-gradient(79deg, #375a5f 0%, #4eacba 75% 75%, rgba(114, 187, 197, 0.95) 100%);
  padding: 15px 100px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  left: auto;
}

.lp01-reason__card-third .lp01-reason__tag:before {
  content: none;
}

.lp01-reason__card-third .lp01-reason__tag:after {
  content: none;
}

.lp01-reason__card-third .lp01-reason__photo {
  position: absolute;
  top: 0;
  left: 0;
}

.lp01-reason__card-third .lp01-reason__photo img {
  aspect-ratio: 1400/790;
  object-fit: cover;
  object-position: bottom;
}

.lp01-reason__card-third .lp01-reason__body {
  max-width: 946px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
  padding: 20px 65px 40px;
  background-image: url(../images/lp-low/lp01-reason__card-third-bg.webp);
  background-size: cover;
}

.lp01-reason__card-third .lp01-reason__body:before,
.lp01-reason__card-third .lp01-reason__body:after {
  content: none;
}

.lp01-reason__card-third .lp01-reason__title {
  text-align: center;
  margin-top: 0;
}

.lp01-reason__card-third .lp01-reason__text {
  text-align: center;
}

.lp01-reason__card-forth {
  margin-top: 20px;
}

.lp01-reason__card-forth .lp01-reason__body {
  margin-top: -330px;
}

.lp01-reason__card-five .lp01-reason__body {
  margin-top: -230px;
}

.lp01-reason__card--reverse .lp01-reason__body {
  margin-left: auto;
  margin-right: 0;
}

.lp01-reason__card--reverse .lp01-reason__body::before {
  right: min(0px, 700px - 50vw);
  left: 0;
  width: auto;
}

.lp01-reason__card--reverse .lp01-reason__body::after {
  right: min(0px, 700px - 50vw);
}

.lp01-reason__card--reverse .lp01-reason__tag {
  left: 0;
  padding-left: 20px;
}

.lp01-reason__card--reverse .lp01-reason__tag:before {
  left: 0;
  right: auto;
}

.lp01-reason__card--reverse .lp01-reason__tag:after {
  content: none;
}

/* ---------- Lifetime achievement panel ---------- */
.lp01-reason__lifetime {
  width: 100%;
  max-width: 1300px;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(59, 149, 162, 0.35);
  padding: 32px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  margin-top: 60px;
}

.lp01-reason__subheading-wrap {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  text-align: center;
}

.lp01-reason__subheading {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.06em;
  color: var(--color-ink);
}

.lp01-reason__subheading-span {
  display: inline-block;
}

.lp01-reason__ornament {
  width: 188px;
  height: auto;
  flex: 1 1 188px;
  max-width: 188px;
}

.lp01-reason__ornament.--sp {
  display: none;
}

.lp01-reason__lifetime-row {
  display: flex;
  align-items: stretch;
  gap: 24px;
  width: 100%;
}

.lp01-reason__lifetime-photo {
  flex: 0 0 306px;
  width: 306px;
  aspect-ratio: 306/294;
  object-fit: cover;
  border-radius: 2px;
}

.lp01-reason__lifetime-text {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: 30px;
  min-width: 0;
}

.lp01-reason__lifetime-text p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-ink);
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-reason {
    padding: 48px 16px;
  }
  .lp01-reason__inner {
    gap: 40px;
  }
  .lp01-reason__eyebrow {
    font-size: 13px;
    padding: 6px 16px;
  }
  .lp01-reason__eyebrow:before {
    content: "";
    position: absolute;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    width: 15px;
    height: 10px;
    right: 70px;
    bottom: -8px;
    background: #fff;
    transform: rotate(9deg);
  }
  .lp01-reason__title-line {
    font-size: 18px;
  }
  .lp01-reason__num {
    font-size: 28px;
  }
  .lp01-reason__divider {
    width: 220px;
  }
  .lp01-reason__body {
    padding: 20px 16px 20px;
    width: calc(100% + 16px);
    margin-left: -16px;
  }
  .lp01-reason__body::after {
    background-image: url(../images/lp-low/lp01-reason__card-base-bg-sp.webp);
    height: 200px;
  }
  .lp01-reason__card--reverse .lp01-reason__body {
    margin-right: -16px;
  }
  .lp01-reason__card-third {
    background-image: url(../images/lp-low/lp01-reason__photo03-sp.webp);
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 16px;
    padding-right: 16px;
  }
  .lp01-reason__card {
    margin-top: 0;
  }
  .lp01-reason__card-first .lp01-reason__body {
    margin-top: -70px;
  }
  .lp01-reason__card-second .lp01-reason__body {
    margin-top: -30px;
  }
  .lp01-reason__card-forth .lp01-reason__body {
    margin-top: -40px;
  }
  .lp01-reason__card-five .lp01-reason__body {
    margin-top: -40px;
  }
  .lp01-reason__tag {
    left: 20px;
    padding: 6px 40px 6px 0px;
    top: -20px;
  }
  .lp01-reason__tag:before {
    clip-path: polygon(0 0, 97.34% 0, 100% 100%, 0 100%);
    background: linear-gradient(79deg, #375a5f 0%, #4eacba 75%, rgba(114, 187, 197, 0.95) 100%);
    width: auto;
  }
  .lp01-reason__card-third .lp01-reason__tag {
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
    max-width: 120px;
  }
  .lp01-reason__tag-label {
    font-size: 13px;
  }
  .lp01-reason__tag-num {
    font-size: 25px;
  }
  .lp01-reason__card-third .lp01-reason__tag-num {
    font-size: 29px;
  }
  .lp01-reason__title {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 0;
  }
  .lp01-reason__title-span-pc {
    display: flex;
    flex-direction: column;
  }
  .lp01-reason__text p {
    font-size: 12px;
    line-height: 1.75;
  }
  .lp01-reason__card--dark .lp01-reason__body {
    padding: 16px 16px 20px;
  }
  .lp01-reason__lifetime {
    padding: 24px 16px;
    gap: 10px;
    margin-top: 0;
  }
  .lp01-reason__subheading {
    font-size: 16px;
    gap: 8px;
  }
  .lp01-reason__ornament {
    max-width: 50px;
  }
  .lp01-reason__ornament.--pc {
    display: none;
  }
  .lp01-reason__ornament.--sp {
    display: block;
    max-width: 12px;
  }
  .lp01-reason__lifetime-row {
    flex-direction: column;
  }
  .lp01-reason__lifetime-photo {
    width: 100%;
  }
  .lp01-reason__lifetime-text {
    padding: 0;
    padding-left: 8px;
    padding-right: 8px;
  }
  .lp01-reason__lifetime-text p {
    font-size: 12px;
  }
}
/* ---------------------------------------------------------
   lp01-compare — "当院が対応可能な矯正方法の比較" section
--------------------------------------------------------- */
.lp01-compare {
  position: relative;
  background: linear-gradient(118deg, #b6b6b6 1.5%, #ffffff 18.3%, #e6e6e6 39.1%, #ffffff 57.8%, #c4c4c4 89.1%);
  padding: 80px 20px 180px;
  font-family: var(--font-sans);
  color: var(--color-ink);
  overflow: hidden;
}

.lp01-compare__inner {
  max-width: 1150px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

/* ---------- Heading ---------- */
.lp01-compare__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.lp01-compare__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  color: var(--color-ink);
  text-align: center;
}

.lp01-compare__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

/* ---------- Table ---------- */
.lp01-compare__scroll {
  width: 100%;
  max-width: 1150px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-top: 20px;
  padding-bottom: 20px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.lp01-compare__scroll::-webkit-scrollbar {
  display: none;
}

.lp01-compare__table {
  width: 1200px;
  min-width: 1200px;
  border-collapse: collapse;
  table-layout: fixed;
  position: relative;
  z-index: 1;
}

.lp01-compare__col-label {
  width: 180px;
}

.lp01-compare__col-featured {
  width: 300px;
}

.lp01-compare__col-title {
  max-width: 65px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10px;
  display: flex;
}

.lp01-compare__col-title.--first {
  max-width: 80px;
  margin-left: auto;
  margin-bottom: 10px;
  margin-right: auto;
  display: flex;
}

.lp01-compare__col-featured-bottom-price {
  font-size: 24px;
}

.lp01-compare__col-featured-bottom-price.--big {
  font-size: 28px;
}

.lp01-compare__col-featured .lp01-compare__caption {
  font-size: 23.87px;
  font-weight: 500;
}

.lp01-compare__col-featured .lp01-compare__caption.--bg {
  font-size: 21.49px;
  background: linear-gradient(135deg, #e2e2e2 0%, #ffffff 28%, #e2e2e2 42%, #ffffff 63%, #f1f1f1 100%);
  padding: 10px;
  margin-left: 10px;
  margin-right: 10px;
}

.lp01-compare__table col:not(.lp01-compare__col-label):not(.lp01-compare__col-featured) {
  width: 246.67px;
}

.lp01-compare__table th,
.lp01-compare__table td {
  border: 3px solid #d1d1d1;
  padding: 20px 0px;
  vertical-align: middle;
  text-align: center;
}

.lp01-compare__table thead th {
  border-color: rgba(255, 255, 255, 0.2);
  background: #4c4c4c;
  color: #ffffff;
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  padding: 24px 0px;
}

.lp01-compare__table thead th:first-child {
  background: transparent;
  border: none;
}

.lp01-compare__table thead th.lp01-compare__col-featured {
  background: none;
  color: var(--color-ink);
  font-size: 24px;
  border-bottom: 2px solid #fff;
}

th.lp01-compare__col-featured:before {
  content: "";
  background: linear-gradient(165deg, var(--color-gold-bar-1) 0%, var(--color-gold-bar-2) 45%, var(--color-gold-bar-3) 100%);
  width: 100%;
  height: calc(100% + 40px);
  position: absolute;
  left: 0;
  width: 290px;
  left: 206px;
  top: -20px;
  z-index: -1;
}

th.lp01-compare__col-featured:after {
  content: "";
  background-image: url(../images/lp-low/lp01-table-bg.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 162px;
  height: 68px;
  position: absolute;
  left: 206px;
  top: -20px;
  transform: rotate(180deg);
}

.lp01-compare__col-featured-bottom-price.--big {
  position: relative;
}

.lp01-compare__col-featured-bottom-price.--big:after {
  content: "";
  background-image: url(../images/lp-low/lp01-table-bg.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 162px;
  height: 68px;
  position: absolute;
  right: 0;
  bottom: -20px;
}

.lp01-compare__table tbody th {
  background: var(--color-bright);
  color: #ffffff;
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 24px;
  width: 210px;
  padding-left: 5px;
  padding-right: 5px;
  border-color: #fff;
}

.lp01-compare__table tbody td {
  background: #ffffff;
}

.lp01-compare__table tbody td.lp01-compare__col-featured {
  background: none;
  border-top: 3px solid #fff;
  border-bottom: 0px;
}

.lp01-compare__mark {
  display: block;
  font-size: 34px;
  line-height: 1;
  color: var(--color-bright);
  margin-bottom: 6px;
}

.lp01-compare__mark.--doble-tr {
  position: relative;
}

.lp01-compare__mark.--doble-tr:before {
  content: "△";
  position: absolute;
  left: 50%;
  top: 54%;
  transform: translate(-50%, -50%);
  font-size: 20px;
  display: block;
  line-height: 1;
  color: var(--color-bright);
  margin-bottom: 6px;
}

.lp01-compare__mark--best {
  font-size: 44px;
  font-weight: 700;
  color: var(--color-red);
}

.lp01-compare__caption {
  display: block;
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.4;
  color: var(--color-ink);
}

.lp01-compare__caption.--small {
  font-size: 18px;
}

.lp01-compare__cell--value {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 22px;
  color: var(--color-ink);
}

/* ---------- Footnote ---------- */
.lp01-compare__footnote {
  align-self: flex-start;
  margin: 0;
  font-size: 14px;
  line-height: 28px;
  color: var(--color-ink);
}

.lp01-compare__table {
  width: 1150px;
  min-width: 1150px;
  border-collapse: collapse;
  table-layout: fixed;
  position: relative;
  z-index: 1;
}

.lp01-compare__col-label {
  width: 200px;
}

.lp01-compare__col-featured {
  width: 280px;
}

.lp01-compare__table col:not(.lp01-compare__col-label):not(.lp01-compare__col-featured) {
  width: 210px;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
  .lp01-compare {
    padding: 48px 16px 70px;
  }
  .lp01-compare__heading {
    gap: 6px;
  }
  .lp01-compare__title {
    font-size: 16px;
  }
  .lp01-compare__divider {
    width: 220px;
  }
  .lp01-compare__footnote {
    font-size: 10px;
    line-height: 1.6;
    color: rgba(51, 51, 51, 0.8);
  }
  th.lp01-compare__col-featured:after {
    left: 100px;
    width: 148px;
    height: 34px;
  }
  .lp01-compare__col-featured-bottom-price.--big:after {
    left: 0;
    width: 148px;
    height: 34px;
    bottom: -15px;
  }
  th.lp01-compare__col-featured:before {
    width: 148px;
    left: 100px;
    height: 640px;
    top: -20px;
  }
  .lp01-compare__col-label {
    width: 100px;
  }
  .lp01-compare__col-featured {
    width: 150px;
  }
  .lp01-compare__table col:not(.lp01-compare__col-label):not(.lp01-compare__col-featured) {
    width: 120px;
  }
  .lp01-compare__scroll {
    width: 100vw;
    margin-left: -16px;
    margin-right: -16px;
    width: 100vw;
    padding: 28px 20px;
  }
  .lp01-compare__table {
    width: 580px;
    min-width: 580px;
  }
  .lp01-compare__table thead th {
    font-size: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .lp01-compare__table th,
  .lp01-compare__table td {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .lp01-compare__table tbody th {
    font-size: 12px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .lp01-compare__caption.--small {
    font-size: 10px;
  }
  .lp01-compare__cell--value {
    font-size: 12px;
  }
  .lp01-compare__table thead th.lp01-compare__col-featured {
    font-size: 12px;
    padding-top: 0px;
    padding-bottom: 10px;
  }
  .lp01-compare__col-featured .lp01-compare__caption.--bg {
    font-size: 10px;
    white-space: nowrap;
  }
  .lp01-compare__caption {
    font-size: 10px;
  }
  .lp01-compare__col-featured .lp01-compare__caption {
    font-size: 12px;
  }
  .lp01-compare__mark--best {
    font-size: 29px;
  }
  .lp01-compare__mark {
    font-size: 15.28px;
  }
  .lp01-compare__col-featured-bottom-price.--big {
    font-size: 14.4px;
  }
  .lp01-compare__col-title.--first {
    max-width: 40px;
  }
  .lp01-compare__col-title {
    max-width: 33px;
  }
}
.lp01-compare__scroll > table > thead > tr > th.lp01-compare__col-featured {
  border-top: 0;
}

/* ---------------------------------------------------------
   lp01-consult — "まずはご相談ください。" (doctor consultation CTA) section
--------------------------------------------------------- */
.lp01-consult {
  position: relative;
  overflow: hidden;
  padding: 64px 0px 0px;
  font-family: var(--font-sans);
  color: var(--color-ink);
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  margin-top: -15.7142857143vw;
  min-height: 59.7222222222vw;
  font-family: "Noto Sans JP", sans-serif;
  background-image: url(../images/lp-low/consult-bg-photo.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden;
  display: flex;
}
@media (max-width: 1100px) {
  .lp01-consult {
    min-height: 900px;
    margin-top: -184px;
  }
}

.lp01-consult__inner {
  position: relative;
  z-index: 1;
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  align-items: end;
  justify-content: start;
  padding-top: 160px;
  padding-right: 200px;
}

/* ---------- Card ---------- */
.lp01-consult__card {
  position: relative;
  max-width: 862px;
  border-radius: 4px;
  padding: 64px 80px 40px 64px;
  background: linear-gradient(131.665deg, #e2e2e2 1.53%, #ffffff 26.561%, #e2e2e2 39.076%, #ffffff 57.849%, #f1f1f1 89.138%);
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15);
  z-index: 1;
}

.lp01-consult__card-img-sp {
  display: none;
}

.lp01-consult__card::before {
  content: "";
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  left: min(0px, 700px - 50vw);
  width: auto;
  height: 100%;
  background: linear-gradient(135deg, #E2E2E2 0%, #FFFFFF 28%, #E2E2E2 42%, #FFFFFF 63%, #F1F1F1 100%);
}

.lp01-consult__card::after {
  content: "";
  background-image: url(../images/lp-low/lp01-consult-card-bg.svg);
  background-size: cover;
  max-width: 740px;
  width: 100%;
  height: 420px;
  right: 0;
  bottom: 0;
  position: absolute;
  z-index: 2;
}

.lp01-consult__swirl {
  position: absolute;
  z-index: 0;
  left: -30%;
  top: 30%;
  width: 130%;
  max-width: none;
  height: auto;
  opacity: 0.6;
  pointer-events: none;
}

.lp01-consult__content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

/* ---------- Heading ---------- */
.lp01-consult__heading {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  min-height: 115px;
}

.lp01-consult__heading:before {
  content: "";
  position: absolute;
  display: inline-flex;
  align-items: baseline;
  gap: 12px;
  width: 100vw;
  height: 100%;
  right: 0;
  top: 0;
  max-width: 390px;
  aspect-ratio: 390/72;
  padding: 0 48px 0 20px;
  clip-path: polygon(0 0, 91.34% 0, 100% 100%, 0 100%);
  background: linear-gradient(79deg, #3B3B3B 15%, #C7C7C7 89%);
  color: #ffffff;
  z-index: -1;
}

.lp01-consult__heading:after {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  right: 150px;
  top: 0;
  aspect-ratio: 390/72;
  padding: 0 48px 0 20px;
  background: linear-gradient(79deg, #3B3B3B 0%, #3B3B3B 100%);
  color: #ffffff;
  z-index: -2;
  margin-left: calc(50% - 50vw);
}

.lp01-consult__band {
  position: absolute;
  z-index: 0;
  left: 0;
  top: -12px;
  width: 105%;
  max-width: none;
  height: auto;
}

.lp01-consult__eyebrow,
.lp01-consult__title {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--color-white);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25);
}

.lp01-consult__eyebrow {
  font-weight: 500;
  font-size: 20px;
}

.lp01-consult__title {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
}

/* ---------- Body text ---------- */
.lp01-consult__text {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.lp01-consult__text p {
  margin: 0;
  font-size: 16px;
  line-height: 30px;
  color: var(--color-ink);
}

/* ---------- CTA ---------- */
.lp01-consult__cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.lp01-consult__cta .cta-btn {
  width: 100%;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-consult {
    padding: 0px 16px 40px;
    margin-top: 0;
    min-height: auto;
    position: relative;
    overflow: initial;
    background-image: url(../images/lp-low/consult-bg-photo-sp.webp);
  }
  .lp01-consult:before {
    content: "";
    position: absolute;
    left: auto;
    right: 0px;
    bottom: 0px;
    width: 180px;
    height: 60px;
    background-image: url(../images/lp-low/lp01-consult-icon-bg-sp.svg);
    background-repeat: no-repeat;
    pointer-events: none;
  }
  .lp01-consult__inner {
    padding: 0;
    flex-direction: column;
  }
  .lp01-consult__bg-photo {
    object-position: center 30%;
  }
  .lp01-consult__card {
    max-width: none;
    padding: 0px 20px 28px;
  }
  .lp01-consult__card::after {
    content: none;
  }
  .lp01-consult__heading {
    margin-top: -87px;
    min-height: 88px;
  }
  .lp01-consult__card-img-sp {
    display: flex;
    margin-left: -16px;
    margin-right: -16px;
    margin-top: -13vw;
  }
  .lp01-consult__swirl {
    display: none;
  }
  .lp01-consult__content {
    gap: 20px;
  }
  .lp01-consult__band {
    top: -8px;
    width: 110%;
  }
  .lp01-consult__eyebrow {
    font-size: 12px;
    display: flex;
    flex-direction: column;
  }
  .lp01-consult__eyebrow-span {
    display: inline-block;
  }
  .lp01-consult__title {
    font-size: 22px;
  }
  .lp01-consult__text p {
    font-size: 12px;
    line-height: 1.75;
    text-align: center;
  }
  .lp01-consult__cta {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }
  .lp01-consult__cta .cta-btn {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .lp01-consult__cta {
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
  }
}
/* ---------------------------------------------------------
   lp01-clinic — "医院概要" (clinic overview) section
--------------------------------------------------------- */
.lp01-clinic {
  position: relative;
  overflow: hidden;
  background: var(--color-white);
  padding: 80px 20px;
  font-family: var(--font-sans);
  color: var(--color-ink);
}

.lp01-clinic__bg-pattern {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  pointer-events: none;
}

.lp01-clinic__inner {
  position: relative;
  z-index: 1;
  max-width: 1150px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

/* ---------- Heading ---------- */
.lp01-clinic__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.lp01-clinic__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  color: var(--color-ink);
  text-align: center;
}

.lp01-clinic__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

/* ---------- Feature cards ---------- */
.lp01-clinic__features {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  justify-content: space-between;
  gap: 16px;
}
@media (max-width: 1100px) {
  .lp01-clinic__features {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.lp01-clinic__feature {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px;
  background: var(--color-white);
  box-shadow: 0 0 15px rgba(59, 149, 162, 0.15), 0 0 20px rgba(0, 0, 0, 0.08);
}

.lp01-clinic__feature img {
  width: 55px;
  height: 54px;
}

.lp01-clinic__feature p {
  margin: 0;
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
  color: var(--color-ink);
}

/* ---------- Details row ---------- */
.lp01-clinic__details {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}

.lp01-clinic__left {
  flex: 1 1 520px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  min-width: 0;
}

/* ---------- Schedule table ---------- */
.lp01-clinic__schedule {
  position: relative;
  margin-top: 14px;
  border: 1px solid var(--color-gold-1);
  border-radius: 4px;
  background: var(--color-white);
}

.lp01-clinic__schedule-label {
  position: absolute;
  top: -13px;
  left: 24px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--color-white);
  padding: 2px 7px;
  font-weight: 700;
  font-size: 14px;
  color: var(--color-main);
}

.lp01-clinic__schedule-label img {
  width: 12px;
  height: 12px;
}

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

.lp01-clinic__schedule-table th,
.lp01-clinic__schedule-table td {
  padding: 12px 4px;
  text-align: center;
  font-weight: 500;
  font-size: 16px;
  color: var(--color-main);
}

.lp01-clinic__schedule-table thead th {
  font-size: 14px;
  border-bottom: 1px solid rgba(147, 115, 51, 0.35);
}

.lp01-clinic__schedule-table tbody th {
  font-size: 15px;
  white-space: nowrap;
}

.lp01-clinic__schedule-table tbody tr:first-child {
  border-bottom: 1px solid rgba(147, 115, 51, 0.35);
}

/* ---------- Info list ---------- */
.lp01-clinic__info-list {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lp01-clinic__info-row {
  display: flex;
  align-items: baseline;
  gap: 20px;
}

.lp01-clinic__info-row dt {
  flex: 0 0 133px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid var(--color-main);
  border-radius: 4px;
  padding: 7px 10px;
  font-weight: 700;
  font-size: 14px;
  color: var(--color-main);
  text-align: center;
  justify-content: center;
  white-space: nowrap;
}

.lp01-clinic__info-row--station dt {
  font-size: 12px;
}

.lp01-clinic__info-row dt img {
  width: 12px;
  height: 12px;
}

.lp01-clinic__info-row dd {
  margin: 0;
  flex: 1 1 0;
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-ink);
}

/* ---------- Map ---------- */
.lp01-clinic__map {
  flex: 0 0 523px;
  width: 523px;
  max-width: 100%;
  border-radius: 4px;
  overflow: hidden;
}

.lp01-clinic__map img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4px;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-clinic {
    padding: 40px 16px;
  }
  .lp01-clinic__inner {
    gap: 40px;
  }
  .lp01-clinic__title {
    font-size: 20px;
  }
  .lp01-clinic__divider {
    width: 220px;
  }
  .lp01-clinic__features {
    gap: 10px;
  }
  .lp01-clinic__details {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
  }
  .lp01-clinic__left {
    gap: 32px;
  }
  .lp01-clinic__schedule-table th,
  .lp01-clinic__schedule-table td {
    padding: 8px 2px;
    font-size: 12px;
  }
  .lp01-clinic__schedule-table tbody th {
    font-size: 11px;
  }
  .lp01-clinic__info-row {
    flex-direction: column;
    gap: 8px;
  }
  .lp01-clinic__info-row dt {
    flex: 0 0 auto;
    align-self: flex-start;
  }
  .lp01-clinic__map {
    flex-basis: auto;
    width: 100%;
  }
  .lp01-clinic__feature {
    padding: 10px 5px;
  }
  .lp01-clinic__feature p {
    font-size: 10px;
  }
  .lp01-clinic__feature img {
    width: 30px;
    height: 30px;
  }
}
.lp01-access__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: calc(40 / 1440 * min(100vw, 1440px));
  align-items: start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.lp01-access__left,
.lp01-access__right {
  min-width: 0;
}

.lp01-access__schedule {
  box-sizing: border-box;
  width: calc(560 / 1440 * min(100vw, 1440px));
  max-width: 100%;
  height: calc(221 / 1440 * min(100vw, 1440px));
  margin-bottom: calc(53 / 1440 * min(100vw, 1440px));
  padding: calc(40 / 1440 * min(100vw, 1440px)) calc(27 / 1440 * min(100vw, 1440px));
  overflow: hidden;
  background-color: #fff;
  border: 1px solid #937333;
  border-radius: calc(4 / 1440 * min(100vw, 1440px));
  box-shadow: 0 calc(4 / 1440 * min(100vw, 1440px)) calc(16 / 1440 * min(100vw, 1440px)) rgba(0, 0, 0, 0.1);
}

.lp01-access__schedule-table-grid {
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  width: 100%;
  height: 100%;
  font-size: calc(16 / 1440 * min(100vw, 1440px));
  font-weight: 500;
  line-height: normal;
  color: #375A5F;
}

.lp01-access__schedule-table-row {
  display: grid;
  grid-template-columns: calc(152 / 1440 * min(100vw, 1440px)) repeat(6, minmax(0, 1fr)) minmax(0, 1.25fr);
  align-items: center;
  min-height: 0;
}
.lp01-access__schedule-table-row:not(:last-child) {
  background: linear-gradient(164deg, #937333 48.15%, #fff89b 60.47%, #7b5712 71.88%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100% 1px;
}
.lp01-access__schedule-table-row:not(.lp01-access__schedule-table-row--head) .lp01-access__schedule-table-cell:not(.lp01-access__schedule-table-cell--time) {
  font-weight: 700;
}

.lp01-access__schedule-table-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0;
  text-align: center;
}
.lp01-access__schedule-table-cell--label {
  justify-content: flex-start;
  padding-left: calc(16 / 1440 * min(100vw, 1440px));
  text-align: left;
  white-space: nowrap;
}
.lp01-access__schedule-table-cell--time {
  justify-content: flex-start;
  padding-left: calc(16 / 1440 * min(100vw, 1440px));
  text-align: left;
  white-space: nowrap;
}

.lp01-access__schedule-table-label {
  display: inline-flex;
  gap: calc(8 / 1440 * min(100vw, 1440px));
  align-items: center;
}

.lp01-access__schedule-table-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.lp01-access__list {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: calc(20 / 1440 * min(100vw, 1440px));
  align-items: center;
  margin: 0;
  padding: 0;
}

.lp01-access__row {
  display: contents;
}

.lp01-access__term {
  margin: 0;
  padding-bottom: calc(26 / 1440 * min(100vw, 1440px));
}

.lp01-access__term-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(5 / 1440 * min(100vw, 1440px));
  box-sizing: border-box;
  min-width: 100%;
  min-height: calc(34 / 1440 * min(100vw, 1440px));
  padding: 0 calc(10 / 1440 * min(100vw, 1440px));
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  color: #375A5F;
  white-space: nowrap;
  border: 1px solid #375a5f;
  border-radius: calc(2 / 1440 * min(100vw, 1440px));
}

.lp01-access__term-star {
  flex-shrink: 0;
  width: calc(12 / 1440 * min(100vw, 1440px));
  height: calc(12 / 1440 * min(100vw, 1440px));
  background-color: #375A5F;
  mask-image: url("../images/hoshi.webp");
  -webkit-mask-image: url("../images/hoshi.webp");
  mask-position: center;
  -webkit-mask-position: center;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.lp01-access__description {
  min-width: 0;
  margin: 0;
  padding-bottom: calc(26 / 1440 * min(100vw, 1440px));
  font-size: 14px;
  font-weight: 300;
  line-height: 1.8;
  color: #333;
  overflow-wrap: anywhere;
}

.lp01-access__br-sp {
  display: none;
}

.lp01-access__map {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.lp01-access__map-img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media screen and (max-width:768px) {
  .lp01-access__br-sp {
    display: block;
  }
  .lp01-access {
    padding: calc(50 / 375 * 100vw) calc(16 / 375 * 100vw) calc(30 / 375 * 100vw);
  }
  .lp01-access__inner {
    max-width: 100%;
  }
  .lp01-access__title {
    margin-bottom: calc(10 / 375 * 100vw);
    font-size: 16px;
  }
  .lp01-access__title-deco {
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .lp01-access__title-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .lp01-access__title-line {
    width: calc(100 / 375 * 100vw);
  }
  .lp01-access__logo {
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .lp01-access__logo-img {
    width: calc(263 / 375 * 100vw);
    height: calc(44 / 375 * 100vw);
  }
  .lp01-access__content {
    grid-template-columns: 1fr;
    gap: calc(24 / 375 * 100vw);
  }
  .lp01-access__schedule {
    box-sizing: border-box;
    width: calc(343 / 375 * 100vw);
    max-width: 100%;
    height: calc(135 / 375 * 100vw);
    margin-bottom: calc(22 / 375 * 100vw);
    padding: calc(16 / 375 * 100vw) calc(20 / 375 * 100vw) calc(16 / 375 * 100vw) calc(14 / 375 * 100vw);
  }
  .lp01-access__schedule-table-grid {
    font-size: 11px;
  }
  .lp01-access__schedule-table-row {
    grid-template-columns: minmax(0, 34%) repeat(7, minmax(0, 1fr));
  }
  .lp01-access__schedule-table-cell {
    padding: 0 calc(2 / 375 * 100vw);
  }
  .lp01-access__schedule-table-cell--label, .lp01-access__schedule-table-cell--time {
    padding-left: calc(10 / 375 * 100vw);
    font-size: 10px;
  }
  .lp01-access__schedule-table-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .lp01-access__list {
    display: block;
  }
  .lp01-access__row {
    display: flex;
    flex-direction: row;
    gap: 10px;
    align-items: center;
    padding-bottom: 12px;
  }
  .lp01-access__term {
    flex: 0 0 110px;
    width: 110px;
    padding-bottom: 0;
  }
  .lp01-access__term-label {
    gap: 4px;
    width: 100%;
    min-width: 100%;
    height: 28px;
    min-height: 28px;
    padding: 0 4px;
    font-size: 12px;
    line-height: 1.2;
    white-space: normal;
    border-radius: 2px;
    max-width: 90px;
  }
  .lp01-access__row.lp01-access__row--access .lp01-access__term-label {
    max-width: 110px;
  }
  .lp01-access__term-star {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .lp01-access__description {
    flex: 1;
    min-width: 0;
    padding-bottom: 0;
    font-size: 12px;
    line-height: 1.6;
  }
  .lp01-access__row--access {
    gap: 10px;
  }
  .lp01-access__row--access .lp01-access__term {
    flex: 0 0 auto;
    width: auto;
  }
  .lp01-access__row--access .lp01-access__term-label {
    gap: 10px;
    width: auto;
    font-size: 10px;
    white-space: nowrap;
  }
  .lp01-access__row--access .lp01-access__description {
    font-size: 12px;
  }
  .lp01-access__right {
    width: calc(328 / 375 * 100vw);
    max-width: 100%;
    margin: 0 auto;
  }
  .lp01-access__map {
    width: calc(343 / 375 * 100vw);
    max-width: 100%;
    height: calc(328 / 375 * 100vw);
  }
  .lp01-access__map-img {
    width: 100%;
    height: calc(328 / 375 * 100vw);
    object-fit: cover;
  }
}
.lp01-media__wrap {
  margin-top: 80px;
}

@media screen and (max-width:768px) {
  .lp01-media__wrap {
    margin-top: 40px;
  }
}
.lp01-clinic__heading--logo {
  max-width: 320px;
  display: flex;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .lp01-clinic__heading--logo {
    display: flex;
    max-width: 260px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp01-clinic-footer .lp01-clinic__bg-pattern {
  display: none;
}

.lp01-clinic-footer:before {
  content: "";
  background-image: url(../images/lp-low/lp01-clinic-footer-bg.svg);
  background-size: cover;
  max-width: 520px;
  width: 100%;
  height: 170px;
  left: 0;
  top: 0;
  position: absolute;
}

.lp01-clinic-footer:after {
  content: "";
  background-image: url(../images/lp-low/lp01-clinic-footer-bg.svg);
  background-size: cover;
  max-width: 520px;
  width: 100%;
  height: 170px;
  right: 0;
  bottom: 0;
  transform: rotate(180deg);
  position: absolute;
}

@media (max-width: 768px) {
  .lp01-clinic-footer:before {
    max-width: 180px;
    width: 100%;
    height: 60px;
  }
  .lp01-clinic-footer:after {
    max-width: 180px;
    width: 100%;
    height: 60px;
  }
}
/* ---------------------------------------------------------
   lp01-fee — "治療費用について" (treatment cost) section
--------------------------------------------------------- */
.lp01-fee {
  position: relative;
  overflow: hidden;
  background: linear-gradient(52deg, var(--color-main) 3%, var(--color-bright) 51%, var(--color-main) 95%);
  padding: 80px 20px;
  font-family: var(--font-sans);
  color: var(--color-white);
  background-image: url(../images/lp-low/lp01-fee-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.lp01-fee__inner {
  position: relative;
  z-index: 1;
  max-width: 1150px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

/* ---------- Heading ---------- */
.lp01-fee__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.lp01-fee__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  color: var(--color-white);
  text-align: center;
}

.lp01-fee__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

/* ---------- Notice + fee cards ---------- */
.lp01-fee__block {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.lp01-fee__notice {
  width: 100%;
  margin: 0;
  padding: 16px 24px 18px;
  background: linear-gradient(176deg, #e2e2e2 1.5%, #ffffff 26.6%, #e2e2e2 39.1%, #ffffff 57.8%, #f1f1f1 89.1%);
  color: var(--color-ink);
  font-weight: 500;
  font-size: 20px;
  text-align: center;
}

.lp01-fee__cards {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  justify-content: center;
}

.lp01-fee__card {
  flex: 1 1 300px;
  max-width: 350px;
  background: var(--color-white);
  padding: 10px;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
}

.lp01-fee__card-head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  padding: 10px;
  background: linear-gradient(11deg, var(--color-main) 3%, var(--color-bright) 51%, var(--color-main) 94%);
  color: var(--color-white);
  font-weight: 700;
  font-size: 24px;
  text-align: center;
  line-height: 1.3;
}

.lp01-fee__card-body {
  display: flex;
  align-items: baseline;
  justify-content: center;
  min-height: 150px;
  padding: 25px 20px 30px;
  gap: 4px;
}

.lp01-fee__card-num {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 90px;
  line-height: 1;
  background: linear-gradient(93deg, var(--color-main) 0%, rgb(78, 172, 186) 43%, rgb(114, 187, 197) 62%, rgba(114, 187, 197, 0.95) 65%, rgba(114, 187, 197, 0.95) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.lp01-fee__card-unit {
  font-weight: 500;
  font-size: 38px;
  color: var(--color-bright);
}

.lp01-fee__cards-footnote {
  margin: 0;
  font-size: 14px;
  line-height: 28px;
  color: var(--color-white);
  text-align: center;
}

/* ---------- Plan cards ---------- */
.lp01-fee__plans {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 16px;
  justify-content: center;
}
@media (max-width: 1200px) {
  .lp01-fee__plans {
    max-width: 700px;
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .lp01-fee__plans {
    grid-template-columns: 1fr;
  }
}

.lp01-fee__note-common {
  grid-column: 1/-1;
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.7;
  color: var(--color-white);
  text-align: left;
}

.lp01-fee__plan {
  background: var(--color-white);
  padding: 20px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.lp01-fee__plan-desc {
  margin: 0;
  font-size: 10px;
  color: var(--color-ink);
  text-align: center;
  letter-spacing: -0.12em;
}

.lp01-fee__plan-name {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lp01-fee__plan-name span,
.lp01-fee__plan-name strong {
  font-weight: 500;
  background: linear-gradient(8deg, var(--color-main) 3%, var(--color-bright) 51%, var(--color-main) 94%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.lp01-fee__plan-name span {
  font-size: 20px;
}

.lp01-fee__plan-name strong {
  font-size: 28px;
}

.lp01-fee__plan-rule {
  width: 40px;
  height: 1px;
  background: var(--color-main);
  border-radius: 24px;
}

.lp01-fee__plan-pills {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 4px;
}

.lp01-fee__plan-pill {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 38px;
  padding: 5px 6px;
  border: 0.5px solid var(--color-ink);
  background: linear-gradient(154deg, #e2e2e2 1.5%, #ffffff 26.6%, #e2e2e2 39.1%, #ffffff 57.8%, #f1f1f1 89.1%);
  text-align: center;
}

.lp01-fee__plan-pill em {
  font-style: normal;
  font-size: 10px;
  color: #4e4e4e;
}

.lp01-fee__plan-pill strong {
  font-weight: 500;
  font-size: 10px;
  color: #4e4e4e;
}

.lp01-fee__plan-price {
  margin: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 3px;
}

.lp01-fee__plan-price-label {
  font-weight: 500;
  font-size: 24px;
  color: var(--color-ink);
}

.lp01-fee__plan-price-num {
  display: inline-block;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 56px;
  letter-spacing: -0.02em;
  transform: skewX(-7deg);
  background: linear-gradient(13deg, var(--color-main) 3%, var(--color-bright) 51%, var(--color-main) 94%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  line-height: 1;
}

.lp01-fee__plan-price-suffix {
  font-size: 12px;
  line-height: 1.3;
  color: var(--color-ink);
  text-align: center;
}

.lp01-fee__plan-price-suffix-en {
  font-size: 24px;
}

.lp01-fee__plan-price-suffix-nami {
  font-size: 18.2px;
}

.lp01-fee__plan-original {
  margin: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 6px;
}

.lp01-fee__plan-original-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  padding: 4px 7px;
  background: linear-gradient(104deg, var(--color-main) 0%, rgb(78, 172, 186) 43%, rgb(114, 187, 197) 62%, rgba(114, 187, 197, 0.95) 65%, var(--color-main) 100%);
  color: var(--color-white);
  font-size: 12px;
  line-height: 1.4;
}

.lp01-fee__plan-original-num {
  display: inline-block;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 38px;
  color: var(--color-ink);
  letter-spacing: -0.02em;
  transform: skewX(-7deg);
  line-height: 1;
}

.lp01-fee__plan-original-suffix {
  line-height: 1.3;
  color: var(--color-ink);
  text-align: center;
}

.lp01-fee__plan-original-suffix-zei {
  font-size: 10px;
}

.lp01-fee__plan-original-suffix-en {
  font-size: 20px;
}

.lp01-fee__plan-note {
  margin: 0;
  font-size: 10px;
  line-height: 14px;
  color: rgba(51, 51, 51, 0.8);
  text-align: left;
}

/* ---------- Section subheading (flanked) ---------- */
.lp01-fee__section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
}

.lp01-fee__subheading {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.06em;
  color: var(--color-white);
  text-align: center;
}

.lp01-fee__subheading img {
  flex: 1 1 188px;
  width: 188px;
  max-width: 188px;
  height: auto;
}

/* ---------- Options list ---------- */
.lp01-fee__options {
  width: 100%;
  max-width: 862px;
  margin-left: auto;
  margin-right: auto;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.lp01-fee__option-row {
  display: flex;
  min-height: 67px;
}

.lp01-fee__option-row dt {
  flex: 0 0 55%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border: 1px solid #e8e6e6;
  background: linear-gradient(167deg, #e2e2e2 1.5%, #ffffff 26.6%, #e2e2e2 39.1%, #ffffff 57.8%, #f1f1f1 89.1%);
  color: var(--color-ink);
  font-weight: 500;
  font-size: 20px;
  text-align: center;
}

.lp01-fee__option-row dt span {
  display: block;
  font-size: 16px;
  font-weight: 400;
}

.lp01-fee__option-row dd {
  flex: 0 0 45%;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 12px 38px;
  border: 1px solid #e8e6e6;
  border-left: none;
  background: var(--color-white);
  color: var(--color-ink);
  font-weight: 500;
  font-size: 22px;
}

/* ---------- Payment methods ---------- */
.lp01-fee__payments {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 33px;
}

.lp01-fee__payment {
  padding: 20px;
  position: relative;
  overflow: hidden;
  flex: 0 0 auto;
  background: var(--color-white) no-repeat right top;
  background-size: 300px auto;
  box-shadow: 2px 2px 2.5px rgba(0, 0, 0, 0.5);
}

.lp01-fee__payment--credit:before {
  content: "";
  background-image: url(../images/lp-low/lp01-fee-payment-credit.svg);
  background-size: 100% 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 348px;
  height: 274px;
  padding: 20px;
}

.lp01-fee__payments-row {
  width: 100%;
  display: flex;
  gap: 20px;
}

.lp01-fee__payments-row .lp01-fee__payment {
  flex: 1 1 0;
}

.lp01-fee__payments-row .lp01-fee__payment:nth-child(1) {
  position: relative;
}

.lp01-fee__payments-row .lp01-fee__payment:nth-child(1):before {
  content: "";
  background-image: url(../images/lp-low/lp01-fee-payment-pay.svg);
  background-size: 100% 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 320px;
  height: 260px;
}

.lp01-fee__payments-row .lp01-fee__payment:nth-child(2) {
  position: relative;
}

.lp01-fee__payments-row .lp01-fee__payment:nth-child(2):before {
  content: "";
  background-image: url(../images/lp-low/lp01-fee-payment-pay.svg);
  background-size: 100% 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 320px;
  height: 260px;
}

.lp01-fee__payment-head {
  margin: 0;
  position: relative;
  z-index: 1;
  min-height: 67px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  background: var(--color-bright);
  border: 1px solid #e8e6e6;
  color: var(--color-white);
  font-weight: 500;
  font-size: 24px;
  text-align: center;
}

.lp01-fee__payment-body-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 42px 24px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.lp01-fee__payment-body {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}

.lp01-fee__payment-body img {
  max-width: 100%;
  height: auto;
}

/* ---------- Medical expense deduction ---------- */
.lp01-fee__deduction {
  width: 100%;
  background: var(--color-white);
  padding: 28px 30px;
}

.lp01-fee__deduction-title {
  margin: 0 0 32px;
  font-weight: 500;
  font-size: 18px;
  color: var(--color-ink);
  text-align: center;
}

.lp01-fee__deduction-text {
  text-align: center;
  margin-top: 20px;
}

.lp01-fee__deduction-text p {
  font-size: 14px;
  line-height: 22px;
  color: var(--color-ink);
}

.lp01-fee__deduction-text p:last-child {
  margin-bottom: 0;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-fee {
    padding: 60px 16px;
  }
  .lp01-fee__heading {
    gap: 10px;
  }
  .lp01-fee__inner {
    gap: 20px;
  }
  .lp01-fee__title {
    font-size: 16px;
  }
  .lp01-fee__divider {
    width: 220px;
  }
  .lp01-fee__notice {
    font-size: 14px;
    padding: 12px 16px;
  }
  .lp01-fee__block {
    gap: 20px;
  }
  .lp01-fee__cards {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .lp01-fee__card {
    max-width: none;
    flex: 1;
  }
  .lp01-fee__card-num {
    font-size: 72px;
  }
  .lp01-fee__card-head {
    font-size: 12px;
    min-height: auto;
    background: #3b95a2;
  }
  .lp01-fee__card-head br {
    display: none;
  }
  .lp01-fee__card-body {
    min-height: auto;
    padding: 10px 0;
  }
  .lp01-fee__card-unit {
    font-size: 28px;
  }
  .lp01-fee__cards-footnote {
    font-size: 10px;
    line-height: 1.7;
    text-align: left;
  }
  .lp01-fee__plans {
    flex-direction: column;
    align-items: stretch;
  }
  .lp01-fee__plan {
    max-width: none;
  }
  .lp01-fee__plan-name {
    display: flex;
    flex-direction: row;
  }
  .lp01-fee__plan-name span {
    font-size: 20px;
  }
  .lp01-fee__plan-name span:after {
    content: "・";
  }
  .lp01-fee__plan-name strong {
    font-size: 20px;
  }
  .lp01-fee__subheading {
    font-size: 16px;
    gap: 8px;
  }
  .lp01-fee__subheading-text {
    font-size: 14px;
  }
  .lp01-fee__subheading img {
    max-width: 20px;
  }
  .lp01-fee__subheading.--pay img {
    max-width: 40px;
  }
  .lp01-fee__subheading.--guidance img {
    max-width: 62px;
  }
  .lp01-fee__plan-pill em {
    font-style: normal;
    font-size: 12px;
    color: #4e4e4e;
  }
  .lp01-fee__plan-price-suffix {
    font-size: 10px;
  }
  .lp01-fee__plan-price-label {
    font-size: 19px;
  }
  .lp01-fee__plan-price-num {
    font-size: 46px;
  }
  .lp01-fee__plan-price-suffix-en {
    font-size: 19px;
  }
  .lp01-fee__plan-price-suffix-nami {
    font-size: 14px;
  }
  .lp01-fee__option-row {
    min-height: 37px;
  }
  .lp01-fee__option-row dt {
    font-size: 11px;
    padding: 10px;
    flex: 0 0 60%;
  }
  .lp01-fee__option-row dt span {
    font-size: 9px;
  }
  .lp01-fee__option-row dd {
    font-size: 12px;
    padding: 5px 16px;
    flex: 1;
  }
  .lp01-fee__plan-original-num {
    font-size: 34px;
  }
  .lp01-fee__plan-original-suffix-en {
    font-size: 18px;
  }
  .lp01-fee__payment-body-top {
    max-width: 240px;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    margin-top: 20px;
  }
  .lp01-fee__payment--credit:before {
    display: none;
  }
  .lp01-fee__payments-row .lp01-fee__payment {
    flex: 0 0 1;
  }
  .lp01-fee__payments-row .lp01-fee__payment:nth-child(1):before {
    content: none;
  }
  .lp01-fee__payments-row .lp01-fee__payment:nth-child(2):before {
    content: none;
  }
  .lp01-fee__payment-body {
    padding-left: 0;
    padding-right: 0;
  }
  .lp01-fee__payment-head {
    font-size: 12px;
    min-height: auto;
  }
  .lp01-fee__deduction {
    padding: 24px 16px;
  }
  .lp01-fee__deduction-title {
    font-size: 14px;
  }
  .lp01-fee__deduction-title-span {
    display: inline-block;
  }
  .lp01-fee__deduction-text p {
    font-size: 12px;
  }
}
/* ---------------------------------------------------------
   lp01-greeting — "院長挨拶" (director's greeting) section
--------------------------------------------------------- */
.lp01-greeting {
  background: linear-gradient(123deg, #e2e2e2 1.5%, #ffffff 26.6%, #e2e2e2 39.1%, #ffffff 57.8%, #f1f1f1 89.1%);
  padding: 80px 20px 0;
  font-family: var(--font-sans);
  color: var(--color-ink);
  overflow: hidden;
}

.lp01-greeting__inner {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ---------- Heading ---------- */
.lp01-greeting__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.lp01-greeting__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  color: var(--color-ink);
  text-align: center;
}

.lp01-greeting__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

/* ---------- Shared card ---------- */
.lp01-greeting__card {
  position: relative;
  width: 100%;
  background: var(--color-white);
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
}

/* ---------- Intro card (photo + letter) ---------- */
.lp01-greeting__card--intro {
  padding: 60px 30px;
  margin-top: 60px;
}

.lp01-greeting__card--intro::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 348px;
  height: 274px;
  background-image: url(../images/lp-low/doctor-greeting-primary-1.svg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  pointer-events: none;
}

.lp01-greeting__intro-row {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row-reverse;
  align-items: start;
  justify-content: start;
  gap: 60px;
  z-index: 1;
}

.lp01-greeting__photo {
  flex: 0 0 auto;
  position: absolute;
  right: -30px;
  width: clamp(400px, 42vw, 600px);
  bottom: -60px;
  margin: 0;
  z-index: -1;
}

.lp01-greeting__photo img {
  display: block;
  width: 100%;
  height: auto;
}

.lp01-greeting__photo figcaption {
  position: absolute;
  right: 4%;
  bottom: 8%;
  font-family: var(--font-serif);
  font-weight: 600;
  font-size: 28px;
  color: var(--color-ink);
  white-space: nowrap;
}

.lp01-greeting__photo figcaption span {
  font-size: 20px;
  margin-right: 6px;
}

.lp01-greeting__intro-text {
  flex: 1 1 480px;
  max-width: 858px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  z-index: 1;
}

.lp01-greeting__intro-text p {
  margin: 0;
  font-size: 14px;
  line-height: 28px;
  letter-spacing: 0.02em;
  color: var(--color-ink);
}

/* ---------- Info card (certifications + timeline) ---------- */
.lp01-greeting__card--info {
  padding: 40px 30px;
  margin-top: 60px;
}

.lp01-greeting__card--info::before {
  left: 145px;
}

.lp01-greeting__card--info::after {
  right: 100px;
}

.lp01-greeting__info-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: space-between;
  gap: 60px;
}

.lp01-greeting__info-col {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  gap: 23px;
  min-width: 0;
  position: relative;
}

.lp01-greeting__info-col:before {
  content: "";
  position: absolute;
  right: -30px;
  bottom: -40px;
  width: 348px;
  height: 274px;
  background-image: url(../images/lp-low/doctor-greeting-bg.svg);
  background-repeat: no-repeat;
  pointer-events: none;
}

.lp01-greeting__info-heading {
  margin: 0;
  padding-left: 22px;
  position: relative;
  font-weight: 500;
  font-size: 20px;
  color: var(--color-ink);
}

.lp01-greeting__info-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 7px;
  height: 36px;
  background-image: url(../images/lp-low/doctor-greeting-bar.svg);
  background-repeat: no-repeat;
}

.lp01-greeting__cert-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  color: var(--color-ink);
}

.lp01-greeting__cert-list li {
  line-height: 2.2857142857;
  padding-left: 1.4em;
  text-indent: -1.4em;
}

.lp01-greeting__cert-list li::before {
  content: "・";
  display: inline-block;
  width: 1.4em;
  text-indent: 0;
}

.lp01-greeting__timeline {
  margin: 0;
  display: flex;
  flex-direction: column;
}

.lp01-greeting__timeline-row {
  display: flex;
  gap: 16px;
  font-size: 14px;
  line-height: 2.2857142857;
  color: var(--color-ink);
}

.lp01-greeting__timeline-row dt {
  flex: 0 0 60px;
}

.lp01-greeting__timeline-row dd {
  margin: 0;
  flex: 1 1 0;
  min-width: 0;
}

/* ---------- CTA row ---------- */
.lp01-greeting__cta-row {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-top: 60px;
}

.lp01-greeting__cta.--doctor {
  max-width: 240px;
  margin-left: auto;
  margin-right: 0;
}

.lp01-greeting__cta.--instagram {
  max-width: 350px;
  margin-left: 0;
  margin-right: auto;
}

.lp01-greeting__cta {
  flex: 1 1 300px;
  max-width: 620px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 14px 20px;
  background: var(--color-white);
  border: 1px solid var(--color-bright);
  color: var(--color-bright);
  font-weight: 500;
  font-size: 16px;
  text-decoration: none;
  text-align: center;
}

.lp01-media__wrap.lp01-greeting__slide-wrap {
  background: linear-gradient(69deg, var(--color-main) 3.2%, var(--color-bright) 51.4%, var(--color-main) 94.4%);
  margin-top: 80px;
  padding-top: 25px;
  padding-bottom: 25px;
}

@media screen and (max-width:768px) {
  .lp01-media__wrap.lp01-greeting__slide-wrap {
    margin-top: 40px;
    padding-top: 18px;
    padding-bottom: 18px;
  }
}
.lp01-greeting__cta-icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.lp01-greeting__cta-chevron {
  width: 9px;
  height: 5px;
  flex-shrink: 0;
  transform: rotate(-90deg);
}

@media (max-width: 1040px) {
  .lp01-greeting__intro-row {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .lp01-greeting__photo {
    width: 70%;
    max-width: 280px;
    position: relative;
    left: inherit;
    right: inherit;
    bottom: inherit;
    margin-left: auto;
    margin-right: auto;
  }
  .lp01-greeting__photo figcaption {
    font-size: 16.56px;
  }
  .lp01-greeting__photo figcaption span {
    font-size: 11.83px;
  }
}
/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-greeting {
    padding: 48px 16px 0;
  }
  .lp01-greeting__heading {
    gap: 6px;
  }
  .lp01-greeting__title {
    font-size: 16px;
  }
  .lp01-greeting__divider {
    width: 220px;
  }
  .lp01-greeting__card--intro {
    padding: 32px 20px;
    margin-top: 30px;
  }
  .lp01-greeting__card--intro:after {
    content: "";
    position: absolute;
    left: auto;
    right: 0px;
    bottom: 0px;
    width: 348px;
    height: 274px;
    background-image: url(../images/lp-low/doctor-greeting-bg.svg);
    background-repeat: no-repeat;
    pointer-events: none;
  }
  .lp01-greeting__intro-text {
    max-width: none;
  }
  .lp01-greeting__intro-text p {
    font-size: 12px;
    line-height: 1.9;
  }
  .lp01-greeting__card--info {
    padding: 28px 20px;
    position: relative;
    margin-top: 30px;
  }
  .lp01-greeting__card--info:before {
    content: "";
    position: absolute;
    left: auto;
    right: 0px;
    bottom: 0px;
    width: 348px;
    height: 274px;
    background-image: url(../images/lp-low/doctor-greeting-bg.svg);
    background-repeat: no-repeat;
    pointer-events: none;
  }
  .lp01-greeting__info-col {
    gap: 18px;
  }
  .lp01-greeting__info-heading {
    font-size: 14px;
    line-height: 1.5;
  }
  .lp01-greeting__info-heading::before {
    content: "";
    width: 7px;
    height: 18px;
  }
  .lp01-greeting__info-col:before {
    content: none;
  }
  .lp01-greeting__cert-list li {
    font-size: 10px;
  }
  .lp01-greeting__info-row {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .lp01-greeting__cta-row {
    grid-template-columns: 1fr;
    margin-top: 38px;
  }
  .lp01-greeting__cta {
    max-width: none;
    font-size: 14px;
  }
  .lp01-greeting__cta.--doctor {
    margin-left: auto;
    margin-right: auto;
  }
  .lp01-greeting__cta.--instagram {
    margin-left: auto;
    margin-right: auto;
  }
  .lp01-greeting__timeline-row dt {
    font-size: 10px;
    line-height: 1.5;
  }
  .lp01-greeting__timeline-row dd {
    font-size: 10px;
    line-height: 1.8;
  }
}
/* ---------------------------------------------------------
   lp01-flow — "カウンセリングから治療開始までの流れ" section
--------------------------------------------------------- */
.lp01-flow {
  position: relative;
  overflow: hidden;
  background: var(--color-white);
  padding: 80px 20px;
  font-family: var(--font-sans);
  color: var(--color-ink);
}

.lp01-flow:before {
  content: "";
  background-image: url(../images/lp-low/lp01-clinic-footer-bg.svg);
  background-size: cover;
  max-width: 520px;
  width: 100%;
  height: 170px;
  left: 0;
  top: 0;
  position: absolute;
}

.lp01-flow:after {
  content: "";
  background-image: url(../images/lp-low/lp01-clinic-footer-bg.svg);
  background-size: cover;
  max-width: 520px;
  width: 100%;
  height: 170px;
  right: 0;
  bottom: 0;
  transform: rotate(180deg);
  position: absolute;
}

@media (max-width: 768px) {
  .lp01-flow:before {
    max-width: 180px;
    width: 100%;
    height: 60px;
  }
  .lp01-flow:after {
    max-width: 180px;
    width: 100%;
    height: 60px;
  }
}
.lp01-flow__inner {
  position: relative;
  z-index: 1;
  max-width: 1150px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

/* ---------- Heading ---------- */
.lp01-flow__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.lp01-flow__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  color: var(--color-ink);
  text-align: center;
}

.lp01-flow__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

/* ---------- Steps ---------- */
.lp01-flow__steps {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.lp01-flow__step {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.lp01-flow__step:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 49.5px;
  bottom: -129.5px;
  left: 49.5px;
  width: 2px;
  background: var(--color-bright);
}

.lp01-flow__marker {
  position: relative;
  z-index: 1;
  flex: 0 0 99px;
  width: 99px;
  height: 99px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  background: linear-gradient(122deg, #e2e2e2 1.5%, #ffffff 26.6%, #e2e2e2 39.1%, #ffffff 57.8%, #f1f1f1 89.1%);
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25);
  color: var(--color-bright);
  text-align: center;
}

.lp01-flow__marker em {
  font-style: normal;
  font-weight: 700;
  font-size: 20px;
}

.lp01-flow__marker strong {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 40px;
  line-height: 1;
}

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

.lp01-flow__step-head {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lp01-flow__note {
  display: inline-block;
  align-self: flex-start;
  padding: 9px 16px;
  border: 1px solid #000000;
  font-weight: 500;
  font-size: 14px;
  color: var(--color-ink);
}

.lp01-flow__step-title {
  margin: 0;
  padding: 8px 14px;
  background: var(--color-bright);
  color: var(--color-white);
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 24px;
}

.lp01-flow__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.lp01-flow__text p {
  margin: 0;
  font-size: 16px;
  line-height: 30px;
  color: var(--color-ink);
}

/* ---------- CTA (step 1) ---------- */
.lp01-flow__cta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.lp01-flow__cta .cta-btn {
  width: 280px;
  gap: 10px;
  padding-left: 10px;
  padding-right: 10px;
}

.lp01-flow__cta .cta-btn__icon {
  width: 24px;
  height: 27px;
}

.lp01-flow__cta .cta-btn__label {
  font-size: 16px;
}

.lp01-flow__hours {
  margin: 0;
  font-size: 14px;
  line-height: 22px;
  color: var(--color-ink);
  text-align: center;
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-flow {
    padding: 60px 16px;
  }
  .lp01-flow__inner {
    gap: 40px;
  }
  .lp01-flow__title {
    font-size: 16px;
  }
  .lp01-flow__divider {
    width: 220px;
  }
  .lp01-flow__steps {
    gap: 32px;
  }
  .lp01-flow__step {
    gap: 12px;
  }
  .lp01-flow__step:not(:last-child)::before {
    top: 26.5px;
    bottom: -58.5px;
    left: 26.5px;
  }
  .lp01-flow__marker {
    flex: 0 0 53px;
    width: 53px;
    height: 53px;
  }
  .lp01-flow__marker em {
    font-size: 11px;
  }
  .lp01-flow__marker strong {
    font-size: 22px;
  }
  .lp01-flow__content {
    gap: 12px;
  }
  .lp01-flow__note {
    font-size: 10px;
    padding: 6px 10px;
  }
  .lp01-flow__step-title {
    font-size: 15px;
    padding: 8px 12px;
  }
  .lp01-flow__text p {
    font-size: 12px;
    line-height: 1.9;
  }
  .lp01-flow__cta {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .lp01-flow__hours {
    font-size: 10px;
    text-align: center;
    display: flex;
    flex-direction: column;
  }
  .lp01-flow__hours-span-br {
    display: none;
  }
}
/* ---------------------------------------------------------
   lp01-faq — "よくある質問" (FAQ) section
--------------------------------------------------------- */
.lp01-faq {
  padding: 80px 20px;
  font-family: var(--font-sans);
  color: var(--color-ink);
  background-image: url(../images/lp-low/lp01-faq-bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.lp01-faq__inner {
  max-width: 1240px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
}

/* ---------- Heading ---------- */
.lp01-faq__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}

.lp01-faq__title {
  margin: 0;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 32px;
  color: #ffffff;
  text-align: center;
}

.lp01-faq__divider {
  width: 365px;
  max-width: 100%;
  height: auto;
}

/* ---------- Card ---------- */
.lp01-faq__card {
  width: 100%;
  max-width: 1150px;
  background: var(--color-white);
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.25);
  padding: 60px 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* ---------- Category ---------- */
.lp01-faq__category-title {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 80px;
  padding: 0 20px;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.06em;
  color: var(--color-ink);
  text-align: center;
}

.lp01-faq__category-title h3 {
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0.06em;
}

.lp01-faq__category-title img {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.lp01-faq__list {
  background: rgba(59, 149, 162, 0.05);
  padding: 30px 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ---------- Q&A item ---------- */
.lp01-faq__item {
  width: 100%;
}

.lp01-faq__question {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 40px 10px 30px;
  cursor: pointer;
  list-style: none;
}

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

.lp01-faq__badge {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid #000000;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 20px;
  color: var(--color-ink);
  line-height: 1;
}

.lp01-faq__badge--q {
  background: linear-gradient(122deg, #e2e2e2 1.5%, #ffffff 26.6%, #e2e2e2 39.1%, #ffffff 57.8%, #f1f1f1 89.1%);
}

.lp01-faq__badge--a {
  background: var(--color-white);
}

.lp01-faq__question-text {
  flex: 1 1 0;
  min-width: 0;
  font-weight: 700;
  font-size: 16px;
  line-height: 18px;
  color: var(--color-ink);
}

.lp01-faq__chevron {
  flex-shrink: 0;
  width: 17px;
  height: 8.5px;
  transform: rotate(0deg);
  transition: transform 0.2s ease;
}

.lp01-faq__item[open] .lp01-faq__chevron {
  transform: rotate(180deg);
}

.lp01-faq__answer {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 30px 24px 30px;
  border-bottom: 1px solid rgba(51, 51, 51, 0.4);
}

.lp01-faq__item--last .lp01-faq__answer {
  border-bottom: none;
}

.lp01-faq__answer p {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  font-size: 14px;
  line-height: 30px;
  letter-spacing: 0.01em;
  color: var(--color-ink);
}

/* ---------- Responsive (SP: max-width 768px) ---------- */
@media (max-width: 768px) {
  .lp01-faq {
    padding: 48px 16px 40px;
  }
  .lp01-faq__inner {
    gap: 20px;
  }
  .lp01-faq__title {
    font-size: 16px;
  }
  .lp01-faq__divider {
    width: 220px;
  }
  .lp01-faq__card {
    padding: 24px 16px;
    gap: 10px;
  }
  .lp01-faq__category-title {
    font-size: 16px;
    gap: 8px;
    min-height: 56px;
    padding: 0 8px;
  }
  .lp01-faq__category-title img {
    width: 15px;
    height: 15px;
  }
  .lp01-faq__category-title h3 {
    font-size: 14px;
    display: flex;
    flex-direction: column;
  }
  .lp01-faq__list {
    padding: 20px 0;
    gap: 8px;
  }
  .lp01-faq__question {
    padding: 14px 12px 10px 12px;
    gap: 8px;
  }
  .lp01-faq__badge {
    width: 24px;
    height: 24px;
    font-size: 15px;
  }
  .lp01-faq__question-text {
    font-size: 12px;
    line-height: 1.5;
  }
  .lp01-faq__answer {
    padding: 8px 16px 18px 16px;
    gap: 8px;
  }
  .lp01-faq__answer p {
    font-size: 12px;
    line-height: 1.9;
  }
  .lp01-faq__chevron {
    width: 11px;
    height: 12px;
  }
}
/*# sourceMappingURL=style.css.map */
