/* リセットcss */
:root {
  scroll-padding: 100px;
  --page-lr-space: min(84px, 6vw);
  --page-lr-space-sp: 4.6vw;
  --font-mincho: "Zen Old Mincho", serif;
  --font-gothic: "Noto Sans JP", sans-serif;
  --font-english: "Playwrite US Trad", cursive, serif;
  --body-text-color-black: #222222;
  --body-text-color-purple: #7D4589;
  --body-text-color-purple-02: #543580;
  --body-border-color-purple: #BAADCD;
  --body-font-size: min(1.24vw, 17px);
  --body-font-size-sp: 3.73vw;
  --body-line-height: 1.8;
  --body-letter-spacing: 0.1em;
  --body-background-color: #ffffff;
  --section-inner-width: 1400px;
  --border-radius-full: calc(infinity * 1px);
  --global-header-bg: #3C3C3C;
  --global-header-text: #E0E0E0;
  --global-header-text-sub: #B0B0B0;
  --footer-bg: #6D6D6D;
  --footer-text: #E0E0E0;
}

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

section {
  width: 100%;
  padding: 0;
  margin: 0;
}

main{
  overflow-x: hidden;
}

body {
  display: block;
  width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
  background: var(--body-background-color);
  color: var(--body-text-color);
  font-family: var(--font-gothic);
  letter-spacing: var(--body-letter-spacing);
  font-size: var(--body-font-size);
  line-height: var(--body-line-height);
  font-weight: normal;
}

@media screen and (max-width: 767px) {
  body {
      font-weight: normal;
      font-size: var(--body-font-size-sp);
      line-height: 1.5;
  }
}

.section-inner {
  width: 100%;
  max-width: var(--section-inner-width);
  height: 100%;
  margin: 0 auto;
  padding: 0 var(--page-lr-space);
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .section-inner {
      padding: 0 var(--page-lr-space-sp);
  }
}

.section-inner-large {
  width: 100%;
  max-width: 1600px;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

.link-none {
  pointer-events: none;
}

@media screen and (max-width: 767px) {
  .pc {
      display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sp {
      display: none !important;
  }
}

.invisible-block{
  display: none !important;
}

a {
text-decoration: none;
color: inherit;
opacity: 1;
transition: opacity 0.3s ease;
}

a:hover {
opacity: 0.8;
}

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

/* ----------------------------------------
global-header（PC）
---------------------------------------- */
#global-header.global-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  margin: min(10px, 0.71vw) min(20px, 1.43vw);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 min(10px, 0.71vw) min(8px, 0.57vw) rgba(34, 34, 34, 0.04);
  backdrop-filter: blur(min(14px, 1vw));
  border-radius: min(2px, 0.14vw);
  min-height: min(70px, 5vw);
  display: flex;
  align-items: center;
  padding: 0 min(80px, 5.71vw);
}

#global-header.global-header.is-scrolled {
  background: #fff;
  color: var(--body-text-color-black);
}

#global-header.global-header.is-scrolled .global-header__nav-item,
#global-header.global-header.is-scrolled .global-header__nav-item-summary {
  color: var(--body-text-color-black);
}

#global-header.global-header.is-scrolled .global-header__nav-chevron {
  filter: brightness(0);
}

#global-header.global-header.is-scrolled .global-header__nav-dropdown {
  background: #fff;
  box-shadow: 0 0 min(10px, 0.71vw) min(8px, 0.57vw) rgba(34, 34, 34, 0.08);
}

#global-header.global-header.is-scrolled .global-header__nav-dropdown-item {
  color: var(--body-text-color-black);
}

#global-header.global-header.is-scrolled .global-header__nav-dropdown-item:hover {
  background: #ECE3ED;
  color: var(--body-text-color-black);
}

#global-header.global-header.is-scrolled .global-header__nav-dropdown-chevron {
  filter: brightness(0);
}

#global-header .global-header__logo-img--default {
  display: block;
}

#global-header.global-header.is-scrolled .global-header__logo-img--default {
  display: none;
}

#global-header.global-header.is-scrolled .global-header__logo-img--scrolled {
  display: block;
}

#global-header .global-header__inner {
  width: 100%;
  max-width: var(--section-inner-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#global-header .global-header__logo {
  display: block;
  color: inherit;
  text-decoration: none;
}

#global-header .global-header__logo-img {
  height: min(36px, 2.57vw);
  width: auto;
  display: block;
}

#global-header .global-header__logo-img.global-header__logo-img--scrolled {
  display: none;
}

#global-header .global-header__nav {
  display: flex;
  align-items: center;
  gap: min(10px, 0.71vw);
}

#global-header .global-header__nav-item,
#global-header .global-header__nav-item-summary {
  display: inline-flex;
  align-items: center;
  gap: min(8px, 0.57vw);
  font-size: min(15px, 1.07vw);
  color: var(--global-header-text);
  text-decoration: none;
  list-style: none;
  cursor: pointer;
  background: none;
  border: none;
  padding: min(10px, 0.71vw) min(8px, 0.57vw);
  font-family: inherit;
}

#global-header .global-header__nav-chevron {
  width: min(12px, 0.86vw);
  height: min(12px, 0.86vw);
  object-fit: contain;
  filter: brightness(0) invert(0.88);
}

#global-header .global-header__nav-chevron--down {
  transform: rotate(90deg);
}

#global-header .global-header__nav-details {
  display: inline-block;
  position: relative;
}

#global-header .global-header__nav-details:hover .global-header__nav-dropdown {
  visibility: visible;
  opacity: 1;
}

#global-header .global-header__nav-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: min(8px, 0.57vw);
  min-width: min(200px, 14.29vw);
  padding: min(12px, 0.86vw);
  background: rgba(255, 255, 255, 0.15);
  box-shadow: 0 0 min(10px, 0.71vw) min(8px, 0.57vw) rgba(34, 34, 34, 0.04);
  backdrop-filter: blur(min(14px, 1vw));
  border-radius: min(2px, 0.14vw);
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.2s, opacity 0.2s;
}

#global-header .global-header__nav-dropdown-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(8px, 0.57vw);
  padding: min(10px, 0.71vw) min(12px, 0.86vw);
  color: #333;
  text-decoration: none;
  font-size: 14px;
  white-space: nowrap;
  border-radius: min(2px, 0.14vw);
}

#global-header .global-header__nav-dropdown-item:hover {
  background: #ECE3ED;
  color: var(--body-text-color-black);
}

#global-header .global-header__nav-dropdown-chevron {
  width: min(10px, 0.71vw);
  height: min(10px, 0.71vw);
  object-fit: contain;
  filter: brightness(0) invert(1);
  flex-shrink: 0;
}

/* ----------------------------------------
site-h1（各ページのSEO用h1）
---------------------------------------- */
.site-h1 {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-h1__title {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* ----------------------------------------
global-site-h1（ヘッダー下に固定）
---------------------------------------- */
.global-site-h1 {
  position: fixed;
  top: calc(min(10px, 0.71vw) + min(70px, 5vw));
  left: 0;
  right: 0;
  z-index: 99;
  padding: min(8px, 0.57vw) min(20px, 1.43vw);
  color: #E0E0E0;
  font-size: min(10px, 0.71vw);
  line-height: 1.5;
}

.global-site-h1__group {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: min(4px, 0.29vw);
  max-width: var(--section-inner-width);
  margin: 0 auto;
}

.global-site-h1__title {
  margin: 0;
  font-size: inherit;
  font-weight: normal;
}

.global-site-h1__separator {
  opacity: 0.7;
}

.global-site-h1__address {
  margin: 0;
  font-style: normal;
}

/* ----------------------------------------
global-header（SP）
---------------------------------------- */
@media screen and (max-width: 767px) {
  .global-site-h1 {
    top: 12vw;
    padding: 2vw 4vw;
    font-size: 2.67vw;
  }

  #global-header-sp.sp-global-header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    display: block;
  }

  #global-header-sp .sp-global-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 12vw;
    padding: 0 4vw;
    background: var(--global-header-bg);
  }

  #global-header-sp .sp-global-header__logo {
    display: flex;
    align-items: center;
    gap: 2vw;
    color: var(--global-header-text);
    text-decoration: none;
  }

  #global-header-sp .sp-global-header__logo-img {
    width: auto;
    height: 8vw;
    display: block;
    filter: brightness(0) invert(0.9);
  }

  #global-header-sp .sp-global-header__actions {
    display: flex;
    align-items: center;
    gap: 2vw;
  }

  #global-header-sp .sp-global-header__tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8vw;
    padding: 1.5vw 2.5vw;
    background: #5a5a5a;
    color: #fff;
    text-decoration: none;
    font-size: 2.4vw;
  }

  #global-header-sp .sp-global-header__tel-icon {
    width: 5vw;
    height: 5vw;
    display: block;
    filter: brightness(0) invert(1);
  }

  #global-header-sp .sp-global-header__tel-label {
    display: block;
  }

  #global-header-sp .sp-global-header__menu-details {
    display: block;
    position: relative;
  }

  #global-header-sp .sp-global-header__menu-details[open] .sp-global-header__drawer {
    visibility: visible;
    opacity: 1;
  }

  #global-header-sp .sp-global-header__menu-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8vw;
    padding: 1.5vw 2.5vw;
    color: #fff;
    font-size: 2.4vw;
    list-style: none;
    cursor: pointer;
  }

  #global-header-sp .sp-global-header__menu-btn::-webkit-details-marker {
    display: none;
  }

  #global-header-sp .sp-global-header__menu-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6vw;
    height: 6vw;
  }

  #global-header-sp .sp-global-header__menu-icon svg {
    width: 100%;
    height: 100%;
  }

  #global-header-sp .sp-global-header__drawer {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 101;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.25s, opacity 0.25s;
    overflow: auto;
  }

  #global-header-sp .sp-global-header__drawer-inner {
    position: relative;
    z-index: 2;
    min-height: 100%;
    background: #fff;
    padding: 0 4.6vw 10vw;
  }

  #global-header-sp .sp-global-header__drawer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 4vw;
    margin-bottom: 2vw;
  }

  #global-header-sp .sp-global-header__drawer-logo {
    display: flex;
    align-items: center;
    gap: 2vw;
    color: var(--body-text-color-purple-02);
    text-decoration: none;
  }

  #global-header-sp .sp-global-header__drawer-logo-img {
    width: auto;
    height: 8vw;
    display: block;
  }

  #global-header-sp .sp-global-header__drawer-tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8vw;
    margin-left: auto;
    padding: 1.5vw 3vw;
    background: #E6D6EB;
    color: var(--body-text-color-purple-02);
    text-decoration: none;
    font-size: 2.4vw;
  }

  #global-header-sp .sp-global-header__drawer-tel-icon {
    width: 5vw;
    height: 5vw;
    display: block;
  }

  #global-header-sp .sp-global-header__drawer-close {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5vw;
    padding: 0 1vw;
    color: #333;
    text-decoration: none;
    font-size: 2.4vw;
  }

  #global-header-sp .sp-global-header__drawer-close-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6vw;
    height: 6vw;
  }

  #global-header-sp .sp-global-header__drawer-close-icon svg {
    width: 100%;
    height: 100%;
  }

  #global-header-sp .sp-global-header__drawer-nav {
    display: flex;
    flex-direction: column;
  }

  #global-header-sp .sp-global-header__drawer-nav-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3.5vw 0;
    color: #555;
    text-decoration: none;
    font-size: 3.73vw;
    border-bottom: 1px solid #eee;
  }

  #global-header-sp .sp-global-header__drawer-nav-chevron {
    width: 3vw;
    height: 3vw;
    object-fit: contain;
  }

  #global-header-sp .sp-global-header__drawer-details {
    display: block;
    border-bottom: 1px solid #eee;
  }

  #global-header-sp .sp-global-header__drawer-details-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3.5vw 0;
    color: #555;
    font-size: 3.73vw;
    list-style: none;
    cursor: pointer;
  }

  #global-header-sp .sp-global-header__drawer-details-summary::-webkit-details-marker {
    display: none;
  }

  #global-header-sp .sp-global-header__drawer-details-chevron {
    width: 3vw;
    height: 3vw;
    object-fit: contain;
    transform: rotate(-90deg);
  }

  #global-header-sp .sp-global-header__drawer-details[open] .sp-global-header__drawer-details-chevron {
    transform: rotate(90deg);
  }

  #global-header-sp .sp-global-header__drawer-details-content {
    padding: 0 0 2vw 4vw;
  }

  #global-header-sp .sp-global-header__drawer-details-item {
    display: block;
    padding: 2vw 0;
    color: #555;
    text-decoration: none;
    font-size: 3.2vw;
  }

  #global-header-sp .sp-global-header__drawer-bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.3);
  }
}

/* ----------------------------------------
global-footer（PC）
---------------------------------------- */
#global-footer.global-footer {
  background-color: var(--footer-bg);
  color: var(--footer-text);
  padding: min(60px, 4.29vw) min(80px, 5.71vw) min(100px, 7.14vw);
}

#global-footer .global-footer__inner {
  max-width: var(--section-inner-width);
  margin: 0 auto;
}

#global-footer .global-footer__nav {
  display: flex;
  gap: 0;
  margin-bottom: min(60px, 4.29vw);
}

#global-footer .global-footer__nav-col {
  display: flex;
  flex-direction: column;
  gap: min(12px, 0.86vw);
  align-items: flex-start;
}

#global-footer .global-footer__nav-col:nth-child(1),
#global-footer .global-footer__nav-col:nth-child(2) {
  flex: 0 0 25%;
}

#global-footer .global-footer__nav-col:nth-child(3) {
  flex: 1;
}

#global-footer .global-footer__nav-links-row {
  display: flex;
  gap: min(40px, 2.86vw);
  width: 100%;
}

#global-footer .global-footer__nav-links-group {
  display: flex;
  flex-direction: column;
  gap: min(12px, 0.86vw);
  flex: 1;
  min-width: 0;
}

#global-footer .global-footer__col-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: min(8px, 0.57vw);
  margin-bottom: min(8px, 0.57vw);
  width: 90%;
}

#global-footer .global-footer__col-title-text {
  font-family: var(--font-mincho);
  font-size: min(18px, 1.29vw);
}

#global-footer .global-footer__col-title-deco {
  display: flex;
  align-items: center;
  gap: min(8px, 0.57vw);
  width: 100%;
}

#global-footer .global-footer__col-title-line {
  flex: 1;
  min-width: min(40px, 2.86vw);
  height: 1px;
  background-color: var(--footer-text);
}

#global-footer .global-footer__col-title-icon {
  width: min(10px, 0.71vw);
  height: min(10px, 0.71vw);
  object-fit: contain;
  filter: brightness(0) invert(1);
}

#global-footer .global-footer__nav-link {
  font-size: min(14px, 1vw);
  color: var(--footer-text);
  text-decoration: none;
}

#global-footer .global-footer__nav-col:first-child .global-footer__nav-link {
  font-family: var(--font-mincho);
  font-size: min(18px, 1.29vw);
}

#global-footer .global-footer__legal {
  display: flex;
  gap: min(60px, 4.29vw);
  align-items: center;
  padding: min(60px, 4.29vw) min(80px, 5.71vw);
  background: rgba(0, 0, 0, 0.1);
}

#global-footer .global-footer__legal-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#global-footer .global-footer__legal-col--heading {
  flex: 0 0 auto;
  min-width: min(200px, 14.29vw);
}

#global-footer .global-footer__legal-col--body {
  flex: 1;
  min-width: 0;
}

#global-footer .global-footer__legal-heading {
  font-family: var(--font-mincho);
  font-size: min(18px, 1.29vw);
  color: var(--footer-text);
}

#global-footer .global-footer__legal-lead {
  font-size: min(12px, 0.86vw);
  color: var(--footer-text);
  margin-bottom: min(12px, 0.86vw);
}

#global-footer .global-footer__legal-note {
  font-size: min(12px, 0.86vw);
  color: var(--footer-text);
  margin-bottom: min(16px, 1.14vw);
}

#global-footer .global-footer__legal-link {
  display: inline-flex;
  align-items: flex-start;
  gap: min(8px, 0.57vw);
  font-size: min(12px, 0.86vw);
  color: var(--footer-text);
  text-decoration: underline;
  margin-bottom: min(8px, 0.57vw);
}

#global-footer .global-footer__legal-link:last-of-type {
  margin-bottom: 0;
}

#global-footer .global-footer__legal-link-icon {
  width: min(14px, 1vw);
  height: min(14px, 1vw);
  object-fit: contain;
  filter: brightness(0) invert(0.9);
  flex-shrink: 0;
  margin-top: min(2px, 0.14vw);
}

#global-footer .global-footer__copyright {
  font-size: min(12px, 0.86vw);
  color: var(--footer-text);
}

#global-footer .global-footer__bottom-links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: min(30px, 2.14vw);
  flex-wrap: wrap;
  margin: min(30px, 2.14vw) min(20px, 1.43vw);
}

#global-footer .global-footer__bottom-link {
  font-family: var(--font-mincho);
  font-size: min(12px, 0.86vw);
  color: var(--footer-text);
  text-decoration: none;
}

/* ----------------------------------------
トップページcss
---------------------------------------- */

/* ----------------------------------------
top-section-heading（共通・他セクションで使い回し）
---------------------------------------- */
.top-section-heading {
  font-family: var(--font-mincho);
}

.top-section-heading__label {
  font-size: min(26px, 2.03vw);
  color: var(--body-text-color-purple);
  text-transform: lowercase;
}

.top-section-heading__title {
  font-size: min(32px, 2.29vw);
  line-height: 2;
  letter-spacing: 0.15em;
  margin-bottom: min(24px, 1.71vw);
}

/* ----------------------------------------
top-btn-box（共通・他セクションで使い回し）
---------------------------------------- */
.top-btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(24px, 1.71vw);
  flex-wrap: wrap;
  width: 100%;
}

.top-btn-box__btn {
  position: relative;
  width: 32%;
  background: #fff;
  color: var(--body-text-color-purple);
  font-family: var(--font-mincho);
  padding: min(20px, 1.43vw) min(24px, 1.71vw);
  font-size: min(18px, 1.29vw);
  border: 1px solid rgba(125, 69, 137, 0.5);
  border-radius: 6px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(8px, 0.57vw);
}

.top-btn-box__btn::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(52px, 3.71vw);
  aspect-ratio: 51 / 48;
  background-image: url("../img/top-btn-frame.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right bottom;
  pointer-events: none;
}

.top-btn-box__btn--first {
  gap: min(8px, 0.57vw);
}

.top-btn-box__btn--first::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  aspect-ratio: 1;
  background-image: url("../img/top-btn-icon-first-time.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left top;
  pointer-events: none;
  -webkit-transform: translate(-30%, -30%);
      -ms-transform: translate(-30%, -30%);
          transform: translate(-30%, -30%);
}

.top-btn-box__arrow {
  display: block;
  width: min(42px, 3vw);
  height: auto;
}

#top-fv {
  position: relative;
  z-index: 1;
  overflow: hidden;
  background-image: url("../img/top-fv-image.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #ffffff;
  padding-top: 0;
  padding-bottom: 0;
}

#top-fv .section-inner-large {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding-top: min(60px, 4.29vw);
  padding-bottom: min(30px, 2.15vw);
  padding-left: 0;
  padding-right: 0;
  background-image: url("../img/top-fv-image-doctor.webp");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}

#top-fv .top-fv__main {
  display: flex;
  align-items: flex-end;
  gap: 0;
  justify-content: space-between;
}

#top-fv .top-fv__left {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 0 0 40%;
  align-self: stretch;
}

#top-fv .top-fv__left .top-fv__strength {
  display: none;
}

#top-fv .top-fv__doctor-info {
  position: absolute;
  top: 45%;
  left: min(250px, 17.86vw);
  font-family: var(--font-mincho);
  line-height: 1.4;
}

#top-fv .top-fv__doctor-title {
  font-size: min(14px, 1vw);
  color: #ffffff;
  margin-bottom: 0;
}

#top-fv .top-fv__doctor-name-row {
  display: flex;
  align-items: baseline;
  gap: min(12px, 0.86vw);
  white-space: nowrap;
  letter-spacing: 0.06em;
}

#top-fv .top-fv__doctor-name {
  font-size: min(24px, 1.71vw);
  color: #fff;
  margin-bottom: 0;
}

#top-fv .top-fv__doctor-name-en {
  font-size: min(12px, 0.86vw);
  color: #ffffff;
}

#top-fv .top-fv__circles {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  gap: min(16px, 1.14vw);
  margin-top: min(-30px, -2.14vw);
  padding-left: min(20px, 1.43vw);
  font-family: var(--font-mincho);
}

#top-fv .top-fv__circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(180px, 12.86vw);
  height: min(180px, 12.86vw);
  min-width: min(160px, 11.43vw);
  min-height: min(160px, 11.43vw);
  background: rgba(255, 255, 255, 0.65);
  border: 0.25px solid #FFFFFF;
  box-shadow: 0px 0px 26px 8px rgba(0, 0, 0, 0.06);
  backdrop-filter: blur(8px);
  color: var(--body-text-color-black);
  text-align: center;
  padding: min(12px, 0.86vw);
  border-radius: 50%;
}

#top-fv .top-fv__circle-text {
  font-size: min(13px, 0.93vw);
  color: var(--body-text-color-black);
  line-height: 1.4;
}

#top-fv .top-fv__circle:last-child .top-fv__circle-text {
  display: flex;
  align-items: center;
}

#top-fv .top-fv__circle-text--large {
  font-size: min(17px, 1.21vw);
}

#top-fv .top-fv__circle-num {
  font-size: min(42px, 3vw);
  margin-top: min(4px, 0.29vw);
  margin-bottom: min(2px, 0.14vw);
  line-height: 1;
  letter-spacing: -0.01em;
  background: linear-gradient(51.44deg, #8A5392 14.65%, #4A4A4A 70.98%, #717171 97.16%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

#top-fv .top-fv__circle-time {
  font-size: min(32px, 2.29vw);
  margin-top: min(4px, 0.29vw);
  margin-bottom: min(2px, 0.14vw);
  line-height: 1;
  letter-spacing: 0.01em;
  background: linear-gradient(51.44deg, #8A5392 14.65%, #4A4A4A 70.98%, #717171 97.16%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

#top-fv .top-fv__circle-unit {
  font-size: min(16px, 1.14vw);
  margin-left: min(2px, 0.14vw);
  background: linear-gradient(51.44deg, #8A5392 14.65%, #4A4A4A 70.98%, #717171 97.16%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

#top-fv .top-fv__circle:last-child {
  gap: min(4px, 0.29vw);
}

#top-fv .top-fv__circle-days {
  display: flex;
  flex-direction: column;
}

#top-fv .top-fv__right {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 0 0 60%;
  padding-top: min(40px, 2.86vw);
  font-family: var(--font-mincho);
}

#top-fv .top-fv__headline {
  font-size: min(22px, 1.57vw);
  color: #ffffff;
  margin-bottom: min(16px, 1.14vw);
}

#top-fv .top-fv__headline-rank {
  font-size: min(27px, 1.93vw);
}

#top-fv .top-fv__headline-one {
  font-size: min(46px, 3.29vw);
  line-height: 1;
  display: inline-block;
  transform: translateY(2px);
}

#top-fv .top-fv__headline-percent {
  font-size: min(20px, 1.43vw);
}

#top-fv .top-fv__asterisk {
  font-size: min(10px, 0.71vw);
}

#top-fv .top-fv__sub {
  font-size: min(22px, 1.57vw);
  color: #ffffff;
  margin-bottom: min(32px, 2.29vw);
  letter-spacing: 0.2em;
}

#top-fv .top-fv__sub-em {
  font-size: min(34px, 2.43vw);
}

#top-fv .top-fv__badge-wrap {
  position: absolute;
  right: min(50px, 3.57vw);
  top: 50%;
  transform: translateY(-50%);
  margin-bottom: 0;
  filter: drop-shadow(0px 0px 40px rgba(255, 255, 255, 0.35));
}

#top-fv .top-fv__badge-image {
  display: block;
  width: min(180px, 12.86vw);
  height: auto;
}

#top-fv .top-fv__strength {
  display: flex;
  align-items: flex-start;
  gap: min(12px, 0.86vw);
  margin-bottom: min(80px, 5.71vw);
}

#top-fv .top-fv__strength-label {
  font-size: min(14px, 1vw);
  color: #ffffff;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(-180deg);
  margin: auto;
}

#top-fv .top-fv__strength-list {
  list-style: none;
  padding-left: min(16px, 1.14vw);
  border-left: 1px solid #fff;
}

#top-fv .top-fv__strength-item {
  font-size: min(16px, 1.14vw);
  color: #ffffff;
  padding-left: min(16px, 1.14vw);
  position: relative;
  margin-bottom: min(8px, 0.57vw);
}

#top-fv .top-fv__strength-item:last-child {
  margin-bottom: 0;
}

#top-fv .top-fv__strength-item::before {
  content: "・";
  position: absolute;
  left: 0;
}

#top-fv .top-fv__footnotes {
  display: flex;
  flex-direction: column;
  gap: min(4px, 0.29vw);
  margin-left: auto;
  margin-right: min(20px, 1.43vw);
  margin-bottom: min(60px, 4.29vw);
  font-family: var(--font-gothic);
}

#top-fv .top-fv__footnote {
  font-size: min(12px, 0.86vw);
  color: #ffffff;
  opacity: 0.9;
}

#top-banner-section,
#top-banner-section-02 {
  padding-top: min(40px, 2.86vw);
  padding-bottom: min(40px, 2.86vw);
}

#top-banner-section {
  position: relative;
  z-index: 1;
  background-image: url("../img/top-banner-bg.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

#top-banner-section-02 {
  background-color: #fff;
}

#top-banner-section .section-inner,
#top-banner-section-02 .section-inner {
  max-width: min(1400px, 100vw);
  margin: 0 auto;
  padding-left: 6vw;
  padding-right: 6vw;
  display: flex;
  justify-content: space-between;
  gap: min(24px, 1.71vw);
}

#top-banner-section .top-banner-section__banner,
#top-banner-section-02 .top-banner-section__banner {
  flex: 1 1 0;
  display: block;
  text-decoration: none;
  color: #ffffff;
  position: relative;
  overflow: hidden;
}

#top-banner-section .top-banner-section__banner--invisalign,
#top-banner-section-02 .top-banner-section__banner--invisalign {
  background: linear-gradient(135deg, #1a4ba8, #29a6ff);
}

#top-banner-section .top-banner-section__banner--monitor,
#top-banner-section-02 .top-banner-section__banner--monitor {
  background: linear-gradient(135deg, #c89a3c, #f5d28a);
}

#top-banner-section .top-banner-section__banner-image,
#top-banner-section-02 .top-banner-section__banner-image {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width:767px) {
  #top-fv {
    padding-top: 0;
    padding-bottom: 0;
    background-image: url("../img/top-fv-image-sp.webp");
  }

  #top-fv .section-inner-large {
    padding-top: 7.8vw;
    padding-bottom: 5vw;
    padding-left: 0;
    padding-right: 0;
    background-image: url("../img/top-fv-image-doctor-sp.webp");
    background-position: top 24vw center;
  }

  #top-fv .top-fv__main {
    flex-direction: column-reverse;
    align-items: center;
    gap: 6vw;
  }

  #top-fv .top-fv__left {
    align-items: center;
    width: 100%;
    margin-top: 6vw;
  }

  #top-fv .top-fv__doctor-info {
    width: 100%;
    position: static;
    padding-left: 24vw;
    font-family: var(--font-mincho);
  }

  #top-fv .top-fv__doctor-title {
    font-size: 2.4vw;
    margin-bottom: 0;
  }

  #top-fv .top-fv__doctor-name-row {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    gap: 2vw;
    white-space: nowrap;
    letter-spacing: 0.06em;
  }

  #top-fv .top-fv__doctor-name {
    font-size: 4.8vw;
  }

  #top-fv .top-fv__doctor-name-en {
    font-size: 2.2vw;
  }

  #top-fv .top-fv__circles {
    position: static;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
    margin-top: 0;
    padding-left: 0;
  }

  #top-fv .top-fv__circle {
    width: 32vw;
    height: 32vw;
    min-width: 100px;
    min-height: 100px;
    padding: 4vw 2vw;
    margin: 0 -1vw;
  }

  #top-fv .top-fv__circle-text {
    font-size: 2.6vw;
  }

  #top-fv .top-fv__circle:last-child .top-fv__circle-text {
    display: flex;
    align-items: center;
  }

  #top-fv .top-fv__circle-text--large {
    font-size: 2.7vw;
  }

  #top-fv .top-fv__circle-num {
    font-size: 9.6vw;
    margin-top: 1vw;
    margin-bottom: 0.5vw;
    letter-spacing: -0.01em;
  }

  #top-fv .top-fv__circle-time {
    font-size: 5.3vw;
    margin-top: 1vw;
    margin-bottom: 0.5vw;
    letter-spacing: 0.01em;
  }

  #top-fv .top-fv__circle-unit {
    font-size: 2.6vw;
    margin-left: 0.26vw;
    background: linear-gradient(51.44deg, #8A5392 14.65%, #4A4A4A 70.98%, #717171 97.16%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
  }

  #top-fv .top-fv__circle:last-child {
    gap: 0.52vw;
  }

  #top-fv .top-fv__right {
    padding-top: 24vw;
    padding-left: 41vw;
    padding-right: 4vw;
    width: 100%;
  }

  #top-fv .top-fv__headline {
    font-size: 2.6vw;
    margin-bottom: 3vw;
  }

  #top-fv .top-fv__headline-rank {
    font-size: 3.73vw;
  }

  #top-fv .top-fv__headline-one {
    font-size: 6vw;
    line-height: 1;
    display: inline-block;
    transform: translateY(2px);
  }

  #top-fv .top-fv__headline-percent {
    font-size: 2.6vw;
  }

  #top-fv .top-fv__asterisk {
    font-size: 1.8vw;
    letter-spacing: 0;
  }

  #top-fv .top-fv__sub {
    font-size: 3.47vw;
    margin-bottom: 6vw;
    letter-spacing: 0.2em;
  }

  #top-fv .top-fv__sub-em {
    font-size: 4.8vw;
  }

  #top-fv .top-fv__badge-wrap {
    position: absolute;
    margin-bottom: 0;
    z-index: -1;
    top: 72vw;
    right: auto;
    left: 5vw;
    transform: none;
  }

  #top-fv .top-fv__badge-image {
    width: 26vw;
  }

  #top-fv .top-fv__right .top-fv__strength {
    display: none;
  }

  #top-fv .top-fv__left .top-fv__strength {
    display: flex;
    flex-direction: column;
    margin-top: 3vw;
    margin-bottom: 4vw;
    font-family: var(--font-mincho);
  }

  #top-fv .top-fv__strength {
    gap: 2vw;
    margin-bottom: 10.4vw;
  }

  #top-fv .top-fv__strength-label {
    font-size: 2.6vw;
    writing-mode: lr;
    transform: none;
    margin: 0 auto 0 0;
  }

  #top-fv .top-fv__strength-list {
    border-left: none;
    border-top: 1px solid #fff;
    padding-top: 3vw;
    padding-left: 0;
  }

  #top-fv .top-fv__strength-item {
    font-size: 3vw;
    padding-left: 3vw;
    margin-bottom: 1.5vw;
  }

  #top-fv .top-fv__strength-item:last-child {
    margin-bottom: 0;
  }

  #top-fv .top-fv__footnotes {
    width: 85%;
    margin: 0 auto;
    gap: 1vw;
  }

  #top-fv .top-fv__footnote {
    font-size: 2.6vw;
  }

  #top-banner-section,
  #top-banner-section-02 {
    padding-top: 8vw;
    padding-bottom: 8vw;
  }

  #top-banner-section .section-inner,
  #top-banner-section-02 .section-inner {
    padding-left: 6vw;
    padding-right: 6vw;
    flex-direction: column;
    gap: 4vw;
  }

  #top-banner-section .top-banner-section__banner,
  #top-banner-section-02 .top-banner-section__banner {
    display: block;
    flex: 0;
  }

  #top-banner-section .top-banner-section__banner-image,
  #top-banner-section-02 .top-banner-section__banner-image {
    display: block;
    width: 100%;
    height: auto;
  }
}

#top-concept-section {
  position: relative;
  background-color: #ffffff;
  padding-top: min(80px, 5.71vw);
  padding-bottom: min(40px, 2.86vw);
}

#top-concept-section::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: min(430px, 30.71vw);
  aspect-ratio: 420 / 388;
  background-image: url("../img/top-concept-frame.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left bottom;
  pointer-events: none;
  z-index: 0;
}

#top-concept-section .section-inner {
  max-width: min(1400px, 100vw);
  margin: 0 auto;
  padding-left: 0;
  padding-right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0;
}

#top-concept-section .section-inner:first-of-type {
  margin-bottom: min(40px, 2.86vw);
}

#top-concept-section .top-concept-section__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  z-index: 1;
  padding-left: var(--page-lr-space);
}

#top-concept-section .top-concept-section__image-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  margin-left: min(-60px, -4.29vw);
}

#top-concept-section .top-concept-section__image {
  width: 100%;
  height: auto;
  display: block;
}

#top-concept-section .top-concept-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: min(24px, 1.71vw);
}

#top-concept-section .top-concept-section__divider-image {
  display: block;
  width: min(230px, 16.43vw);
  height: auto;
}

#top-concept-section .top-concept-section__text {
  font-size: min(18px, 1.41vw);
  margin-bottom: min(12px, 0.86vw);
}

.top-text-highlight {
  font-weight: bold;
  color: var(--body-text-color-purple);
}

#top-concept-section .top-concept-gallery {
  width: 100%;
  overflow: hidden;
}

#top-concept-section .top-concept-gallery__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: max-content;
  -webkit-animation: top-concept-gallery-scroll 30s linear infinite;
  animation: top-concept-gallery-scroll 30s linear infinite;
}

@-webkit-keyframes top-concept-gallery-scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

@keyframes top-concept-gallery-scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}

#top-concept-section .top-concept-gallery__item {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: min(240px, 17.14vw);
  margin-left: min(20px, 1.43vw);
  margin-right: min(20px, 1.43vw);
}

#top-concept-section .top-concept-gallery__image {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top;
}

/* ----------------------------------------
top-greeting-section
---------------------------------------- */
#top-greeting-section {
  position: relative;
  background-color: #fff;
  padding-top: min(80px, 5.71vw);
  padding-bottom: min(80px, 5.71vw);
}

#top-greeting-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: min(421px, 30.07vw);
  height: min(392px, 28vw);
  background-image: url("../img/top-greeting-frame.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left top;
  pointer-events: none;
}

#top-greeting-section .section-inner {
  position: relative;
  max-width: min(1400px, 100vw);
  margin: 0 auto;
  padding-left: min(80px, 5.71vw);
  padding-right: min(80px, 5.71vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#top-greeting-section .top-greeting-section__heading-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: min(56px, 4vw);
}

#top-greeting-section .top-section-heading__label {
  text-align: center;
  color: var(--body-text-color-purple);
}

#top-greeting-section .top-section-heading__title {
  color: #333;
}

#top-greeting-section .top-greeting-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#top-greeting-section .top-greeting-section__divider-image {
  display: block;
  width: min(356px, 25.43vw);
  height: auto;
}

#top-greeting-section .top-greeting-section__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: min(64px, 4.57vw);
}

#top-greeting-section .top-greeting-section__content {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#top-greeting-section .top-greeting-section__headline {
  font-family: var(--font-mincho);
  font-size: min(28px, 2vw);
  color: var(--body-text-color-black);
  letter-spacing: 0.1em;
  margin-bottom: min(24px, 1.71vw);
}

#top-greeting-section .top-greeting-section__text {
  font-size: min(18px, 1.29vw);
  color: var(--body-text-color-black);
  margin-bottom: min(16px, 1.14vw);
}

#top-greeting-section .top-greeting-section__main {
  margin-bottom: min(40px, 2.86vw);
}

#top-greeting-section .top-greeting-section__image-wrap {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: min(400px, 28.57vw);
  aspect-ratio: 400 / 500;
}

#top-greeting-section .top-greeting-section__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}

#top-greeting-section .top-greeting-section__name-tag {
  font-family: var(--font-mincho);
  width: min(200px, 14.29vw);
  position: absolute;
  right: 0;
  bottom: min(50px, 3.57vw);
  padding: min(16px, 1.14vw);
  background: var(--body-text-color-purple-02);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}

#top-greeting-section .top-greeting-section__name-tag-icon {
  position: absolute;
  right: min(8px, 0.57vw);
  bottom: min(8px, 0.57vw);
  width: min(12px, 0.86vw);
  height: auto;
}

#top-greeting-section .top-greeting-section__name-ja {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(4px, 0.29vw);
  font-size: min(20px, 1.43vw);
  color: #fff;
}

#top-greeting-section .top-greeting-section__name-ja .top-greeting-section__name-role {
  font-size: min(12px, 0.86vw);
}

#top-greeting-section .top-greeting-section__name-en {
  font-size: min(12px, 0.86vw);
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fff;
}

/* ----------------------------------------
top-news-section
---------------------------------------- */
#top-news-section {
  position: relative;
  background-color: #FAF8FA;
  padding-top: min(80px, 5.71vw);
  padding-bottom: min(80px, 5.71vw);
}

#top-news-section::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(421px, 30.07vw);
  height: auto;
  aspect-ratio: 420 / 388;
  background-image: url("../img/top-news-frame.svg");
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: right top;
  pointer-events: none;
}

#top-news-section .top-news-section__inner {
  position: relative;
  margin: 0 auto;
  padding: 60px 40px;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: min(80px, 5.71vw);
}

#top-news-section .top-news-section__left {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(400px, 28.57vw);
}

#top-news-section .top-section-heading__label {
  color: var(--body-text-color-purple);
  text-align: center;
}

#top-news-section .top-section-heading__title {
  color: #333;
}

#top-news-section .top-news-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: min(32px, 2.29vw);
}

#top-news-section .top-news-section__divider-image {
  display: block;
  width: min(356px, 25.43vw);
  height: auto;
}

#top-news-section .top-btn-box__btn {
  width: 100%;
}

.top-news-section__list-wrap {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: 0;
}

.top-news-section__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.top-news-section__item {
  border-bottom: 1px solid #e0e0e0;
}

.top-news-section__item:last-child {
  border-bottom: none;
}

.top-news-section__item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(16px, 1.14vw);
  padding: 22px 0;
  font-size: min(16px, 1.14vw);
  color: var(--body-text-color-black);
  text-decoration: none;
}

.top-news-section__item-link--empty {
  cursor: default;
}

.top-news-section__item-date {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  letter-spacing: 0.01em;
}

.top-news-section__item-title {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
}

/* ----------------------------------------
top-bottom-cta
---------------------------------------- */
#top-bottom-cta {
  position: relative;
  background-image: url("../img/top-bottom-cta-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: min(80px, 5.71vw);
  padding-bottom: min(80px, 5.71vw);
}

#top-bottom-cta .section-inner {
  max-width: min(1400px, 100vw);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#top-bottom-cta .top-bottom-cta__brand {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: min(40px, 2.86vw);
}

#top-bottom-cta .top-bottom-cta__brand-image {
  display: block;
  width: min(280px, 20vw);
  max-width: 100%;
  height: auto;
}

.top-bottom-cta__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(16px, 1.14vw);
  margin-bottom: min(24px, 1.71vw);
  width: 100%;
}

.top-bottom-cta__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(8px, 0.57vw) min(10px, 0.72vw);
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: min(200px, 14.29vw);
  text-decoration: none;
  color: #fff;
  text-align: center;
}

.top-bottom-cta__btn--line {
  background: #06C755;
}

.top-bottom-cta__btn--web {
  background: #6B3D8A;
}

.top-bottom-cta__btn--web .top-bottom-cta__btn-label {
  font-size: min(18px, 1.29vw);
  line-height: 1;
}

.top-bottom-cta__btn-caption {
  font-size: min(11px, 0.79vw);
  line-height: 1.4;
  display: block;
}

.top-bottom-cta__btn-caption-sub {
  display: block;
  font-size: min(10px, 0.71vw);
}

.top-bottom-cta__btn-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(8px, 0.57vw);
  font-size: min(16px, 1.14vw);
  letter-spacing: 0.04em;
  font-weight: bold;
}

.top-bottom-cta__btn-icon {
  width: min(32px, 2.29vw);
  height: auto;
  display: block;
}

.top-bottom-cta__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(8px, 0.57vw) min(10px, 0.72vw);
  background: #fff;
  border: 1px solid #D0B8DF;
  text-decoration: none;
  color: var(--body-text-color-purple);
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: min(200px, 14.29vw);
}

.top-bottom-cta__tel-caption {
  font-size: min(11px, 0.79vw);
  line-height: 1.4;
  display: block;
  color: var(--body-text-color-purple);
}

.top-bottom-cta__tel-num-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(8px, 0.57vw);
  line-height: 1;
}

.top-bottom-cta__tel-icon {
  width: min(32px, 2.29vw);
  height: auto;
  display: block;
}

.top-bottom-cta__tel-num {
  font-size: min(20px, 1.43vw);
  color: var(--body-text-color-purple);
  font-weight: bold;
  letter-spacing: 0.04em;
}

.top-bottom-cta__tel-note {
  font-size: min(11px, 0.79vw);
  color: #666;
}

.top-bottom-cta__tel .top-bottom-cta__tel-note {
  font-size: min(10px, 0.71vw);
  color: var(--body-text-color-purple);
  letter-spacing: 0.01em;
}

.top-bottom-cta__info-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0;
  width: 100%;
  padding: min(32px, 2.29vw);
  background: #fff;
}

.top-bottom-cta__info-inner {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 54%;
          flex: 0 0 54%;
  width: 54%;
  min-width: 0;
}

.top-bottom-cta__info-head {
  background-color: #FAFAFA;
  padding: min(24px, 1.71vw) min(24px, 1.71vw);
  margin: 0 0 min(24px, 1.71vw);
  border-radius: 6px;
}

.top-bottom-cta__info-title {
  font-size: min(18px, 1.29vw);
  color: #333;
  margin: 0 0 min(24px, 1.71vw);
  text-align: center;
}

.top-bottom-cta__biz-hour-wrap {
  margin-bottom: 0;
}

.top-bottom-cta__biz-hour-image {
  display: block;
  width: 100%;
  height: auto;
}

.top-bottom-cta__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(12px, 0.86vw);
  background-color: #FAFAFA;
  padding: min(20px, 1.43vw);
  border-radius: 6px;
}

.top-bottom-cta__detail {
  font-size: min(16px, 1.14vw);
  margin: 0;
}

.top-bottom-cta__detail-dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(12px, 0.86vw);
  margin: 0;
}

.top-bottom-cta__detail-dt {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 24%;
          flex: 0 0 24%;
  margin: 0;
  padding: min(10px, 0.71vw) min(28px, 2vw);
  font-size: min(16px, 1.14vw);
  color: var(--body-text-color-purple);
  border: 1px solid var(--body-border-color-purple);
  border-radius: 4px;
  text-align: center;
}

.top-bottom-cta__detail-dt::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: min(12px, 0.86vw);
  transform: translate(0%, 30%);
  width: min(20px, 1.43vw);
  height: auto;
  aspect-ratio: 18 / 10;
  background-image: url("../img/top-about-icon-info-star.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.top-bottom-cta__detail-dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  margin: 0;
  min-width: 0;
  font-size: min(16px, 1.14vw);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.top-bottom-cta__map-wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 44%;
          flex: 0 0 44%;
  width: 44%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 6px;
}

.top-bottom-cta__map-wrap .top-bottom-cta__map-iframe {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-height: 0;
  height: stretch;
}

.top-bottom-cta__map-iframe {
  display: block;
  width: 100%;
  height: stretch;
  border: 0;
  vertical-align: top;
}

/* ----------------------------------------
top-media-section
---------------------------------------- */
#top-media-section {
  background-image: url("../img/top-trouble-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: min(80px, 5.71vw);
  padding-bottom: min(80px, 5.71vw);
}

#top-media-section .section-inner {
  max-width: min(1400px, 100vw);
  margin: 0 auto;
}

#top-media-section .top-media-section__heading {
  text-align: center;
  margin-bottom: min(24px, 1.71vw);
}

#top-media-section .top-media-section__heading .top-section-heading__title {
  margin-bottom: 0;
}

#top-media-section .top-media-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: min(48px, 3.43vw);
}

#top-media-section .top-media-section__divider-image {
  display: block;
  width: min(356px, 25.43vw);
  height: auto;
}

#top-media-section .top-media-section__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(40px, 2.86vw);
}

#top-media-section .top-media-section__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(14px, 1vw);
}

#top-media-section .top-media-section__row--first .top-media-section__card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

#top-media-section .top-media-section__row--second .top-media-section__card {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

#top-media-section .top-media-section__card {
  display: block;
  overflow: hidden;
  text-decoration: none;
}

#top-media-section .top-media-section__card-image {
  display: block;
  width: auto;
  height: min(160px, 11.43vw);
  vertical-align: top;
}

/* ----------------------------------------
top-reason-section
---------------------------------------- */
#top-reason-section {
  background-image: url("../img/top-reason-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: min(80px, 5.71vw);
  padding-bottom: min(80px, 5.71vw);
}

#top-reason-section .section-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#top-reason-section .top-reason-section__heading-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: min(48px, 3.43vw);
}

#top-reason-section .top-reason-section__heading {
  text-align: center;
}

#top-reason-section .top-reason-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#top-reason-section .top-reason-section__divider-image {
  display: block;
  width: min(360px, 25.71vw);
  height: auto;
}

#top-reason-section .top-section-heading__label {
  color: #fff;
}

#top-reason-section .top-section-heading__title {
  color: #fff;
  margin-bottom: 0;
}

#top-reason-section .top-reason-section__heading-sub {
  font-size: min(40px, 2.86vw);
  font-family: var(--font-mincho);
  color: #fff;
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#top-reason-section .top-reason-section__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(24px, 1.71vw);
  width: 100%;
}

#top-reason-section .top-reason-section__card {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(33.333% - min(16px, 1.14vw));
          flex: 1 1 calc(33.333% - min(16px, 1.14vw));
  min-width: min(360px, 25.71vw);
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  padding: min(24px, 1.71vw);
  gap: min(20px, 1.43vw);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

#top-reason-section .top-reason-section__card-num {
  width: min(56px, 4vw);
  height: min(38px, 2.71vw);
  margin: 0 auto;
  background: #F8F7FA;
  color: var(--body-text-color-black);
  font-size: min(14px, 1vw);
  font-family: var(--font-mincho);
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 6px;
  border: 1px solid #DDCDDF;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
}

#top-reason-section .top-reason-section__card-image-wrap {
  width: 100%;
  aspect-ratio: 310 / 154;
  overflow: hidden;
}

#top-reason-section .top-reason-section__card-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

#top-reason-section .top-reason-section__card-body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}

#top-reason-section .top-reason-section__card-title {
  font-size: min(18px, 1.29vw);
  color: var(--body-text-color-purple-02);
  font-family: var(--font-mincho);
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.6;
  min-height: min(70px, 5vw);
  align-content: center;
  margin-bottom: min(12px, 0.86vw);
}

#top-reason-section .top-reason-section__card-text {
  font-size: min(16px, 1.14vw);
  color: #555555;
  letter-spacing: 0.1em;
}

/* ----------------------------------------
top-menu-section
---------------------------------------- */
#top-menu-section {
  background-color: #fff;
  padding-top: min(80px, 5.71vw);
  padding-bottom: min(80px, 5.71vw);
}

#top-menu-section .section-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#top-menu-section .top-menu-section__heading-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: min(48px, 3.43vw);
}

#top-menu-section .top-menu-section__heading {
  text-align: center;
}

#top-menu-section .top-section-heading__label {
  color: var(--body-text-color-purple);
}

#top-menu-section .top-section-heading__title {
  color: #333;
}

#top-menu-section .top-menu-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#top-menu-section .top-menu-section__divider-image {
  display: block;
  width: min(360px, 25.71vw);
  height: auto;
}

.top-menu-section__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(18px, 1.29vw);
  width: 100%;
  margin-bottom: min(48px, 3.43vw);
}

.top-menu-section__item {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(20% - min(16px, 1.14vw));
          flex: 0 0 calc(20% - min(16px, 1.14vw));
  min-width: min(200px, 14.29vw);
  min-height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(125, 69, 137, 0.04);
  border: 1px solid #DDCDDF;
  padding-top: min(36px, 2.57vw);
  padding-bottom: min(20px, 1.43vw);
  padding-left: min(16px, 1.14vw);
  padding-right: min(16px, 1.14vw);
  color: #333;
  text-decoration: none;
}

.top-menu-section__item::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 52px;
  aspect-ratio: 51 / 48;
  background-image: url("../img/top-menu-frame-odd.svg");
  background-size: contain;
  background-position: bottom right;
  background-repeat: no-repeat;
  pointer-events: none;
}

.top-menu-section__item:nth-child(even) {
  background: rgba(84, 53, 128, 0.04);
  border-color: #DDD7E6;
}

.top-menu-section__item:nth-child(even)::before {
  background-image: url("../img/top-menu-frame-even.svg");
}

.top-menu-section__item-icon-wrap {
  width: min(80px, 5.71vw);
  height: min(80px, 5.71vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: min(16px, 1.14vw);
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
}

.top-menu-section__item-icon {
  width: 100%;
  height: 100%;
}

.top-menu-section__item-body {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding-right: 14px;
}

.top-menu-section__item-text-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  text-align: center;
}

.top-menu-section__item-title {
  font-size: min(16px, 1.14vw);
  color: var(--body-text-color-black);
}

.top-menu-section__item-sub {
  font-size: min(12px, 0.86vw);
  color: var(--body-text-color-black);
}

.top-menu-section__item-body::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: min(10px, 0.71vw);
  height: min(10px, 0.71vw);
  background-image: url("../img/top-menu-icon-arrow-01.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

/* ----------------------------------------
top-trouble-section
---------------------------------------- */
#top-trouble-section {
  background-image: url("../img/top-trouble-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: min(120px, 8.57vw);
  padding-bottom: min(30px, 2.14vw);
}

#top-trouble-section .section-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: min(var(--section-inner-width), 100%);
  margin: 0 auto;
}

#top-trouble-section .section-inner-large {
  padding: 0;
}

#top-trouble-section .top-trouble-section__bubble {
  position: relative;
  background-color: var(--body-background-color);
  padding: min(12px, 0.86vw) min(150px, 10.71vw);
  margin-bottom: min(20px, 1.43vw);
  -webkit-filter: drop-shadow(0px 8px 12px rgba(46, 20, 83, 0.07));
          filter: drop-shadow(0px 8px 12px rgba(46, 20, 83, 0.07));
}

#top-trouble-section .top-trouble-section__bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 1px;
  -webkit-transform: translate(-50%, 100%);
      -ms-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  border-style: solid;
  border-width: 8px 6px 0;
  border-color: var(--body-background-color) transparent transparent;
}

#top-trouble-section .top-trouble-section__bubble-text {
  font-size: min(16px, 1.14vw);
  color: var(--body-text-color-purple-02);
}

#top-trouble-section .top-trouble-section__heading {
  text-align: center;
}

#top-trouble-section .top-section-heading__title {
  font-size: min(30px, 2.14vw);
}

#top-trouble-section .top-trouble-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: min(60px, 4.29vw);
}

#top-trouble-section .top-trouble-section__divider-image {
  display: block;
  width: min(360px, 25.71vw);
  height: auto;
}

#top-trouble-section .top-trouble-section__example-label {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(170px, 12.14vw);
  height: min(65px, 4.64vw);
  margin-bottom: min(40px, 2.86vw);
  color: #555555;
  font-size: min(18px, 1.29vw);
  letter-spacing: 0.01em;
}

#top-trouble-section .top-trouble-section__example-label::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 64%;
  width: min(240px, 17.14vw);
  height: auto;
  aspect-ratio: 200 / 56;
  background-color: rgba(84, 53, 128, 0.15);
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
      clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
  z-index: -1;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

#top-trouble-section .top-trouble-section__consultation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin: 0 auto;
  padding-top: min(40px, 2.86vw);
  padding-bottom: min(40px, 2.86vw);
  padding-left: min(40px, 2.86vw);
  padding-right: min(40px, 2.86vw);
}

#top-trouble-section .top-trouble-section__consultation-lead {
  font-family: var(--font-mincho);
  font-size: min(30px, 2.14vw);
  color: var(--body-text-color-black);
  text-align: center;
  margin-bottom: min(16px, 1.14vw);
}

#top-trouble-section .top-trouble-section__consultation-lead-accent {
  color: var(--body-text-color-purple-02);
}

#top-trouble-section .top-trouble-section__consultation-heading {
  text-align: center;
  margin-bottom: min(24px, 1.71vw);
}

#top-trouble-section .top-trouble-section__consultation-heading .top-section-heading__title {
  font-size: min(30px, 2.14vw);
  color: var(--body-text-color-black);
}

#top-trouble-section .top-trouble-section__consultation-heading .top-trouble-section__consultation-title-quote {
  color: rgba(84, 53, 128, 0.5);
}

#top-trouble-section .top-trouble-section__consultation-heading .top-trouble-section__consultation-title-bold {
  font-weight: bold;
}

#top-trouble-section .top-trouble-section__consultation-text-block {
  margin-bottom: min(40px, 2.86vw);
  width: 100%;
  text-align: center;
}

#top-trouble-section .top-trouble-section__consultation-text {
  font-size: min(16px, 1.14vw);
  color: var(--body-text-color-black);
  margin-bottom: min(16px, 1.14vw);
}

#top-trouble-section .top-trouble-section__consultation-text:last-child {
  margin-bottom: 0;
}

#top-trouble-section .top-bottom-cta__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(16px, 1.14vw);
  margin-bottom: 0;
  width: 100%;
}

#top-trouble-section .top-bottom-cta__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(8px, 0.57vw) min(10px, 0.72vw);
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: min(200px, 14.29vw);
  text-decoration: none;
  color: #fff;
  text-align: center;
}

#top-trouble-section .top-bottom-cta__btn--line {
  background: #06C755;
}

#top-trouble-section .top-bottom-cta__btn--web {
  background: #6B3D8A;
}

#top-trouble-section .top-bottom-cta__btn--web .top-bottom-cta__btn-label {
  font-size: min(18px, 1.29vw);
  line-height: 1;
}

#top-trouble-section .top-bottom-cta__btn-caption {
  font-size: min(11px, 0.79vw);
  line-height: 1.4;
  display: block;
}

#top-trouble-section .top-bottom-cta__btn-caption-sub {
  display: block;
  font-size: min(10px, 0.71vw);
}

#top-trouble-section .top-bottom-cta__btn-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(8px, 0.57vw);
  font-size: min(16px, 1.14vw);
  letter-spacing: 0.04em;
  font-weight: bold;
}

#top-trouble-section .top-bottom-cta__btn-icon {
  width: min(32px, 2.29vw);
  height: auto;
  display: block;
}

#top-trouble-section .top-bottom-cta__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(8px, 0.57vw) min(10px, 0.72vw);
  background: #fff;
  border: 1px solid #D0B8DF;
  text-decoration: none;
  color: var(--body-text-color-purple);
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: min(200px, 14.29vw);
}

#top-trouble-section .top-bottom-cta__tel-caption {
  font-size: min(11px, 0.79vw);
  line-height: 1.4;
  display: block;
  color: var(--body-text-color-purple);
}

#top-trouble-section .top-bottom-cta__tel-num-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(8px, 0.57vw);
  line-height: 1;
}

#top-trouble-section .top-bottom-cta__tel-icon {
  width: min(32px, 2.29vw);
  height: auto;
  display: block;
}

#top-trouble-section .top-bottom-cta__tel-num {
  font-size: min(20px, 1.43vw);
  color: var(--body-text-color-purple);
  font-weight: bold;
  letter-spacing: 0.04em;
}

#top-trouble-section .top-bottom-cta__tel-note {
  font-size: min(11px, 0.79vw);
  color: #666;
}

#top-trouble-section .top-bottom-cta__tel .top-bottom-cta__tel-note {
  font-size: min(10px, 0.71vw);
  color: var(--body-text-color-purple);
  letter-spacing: 0.01em;
}

/* ----------------------------------------
top-about-section
---------------------------------------- */
#top-about-section {
  background-image: url("../img/top-about-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: min(80px, 5.71vw);
  padding-bottom: min(80px, 5.71vw);
  color: #fff;
}

#top-about-section .section-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(48px, 3.43vw);
}

#top-about-section .top-about-section__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

#top-about-section .top-section-heading__label {
  color: #fff;
}

#top-about-section .top-section-heading__title {
  color: #fff;
}

#top-about-section .top-about-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#top-about-section .top-about-section__divider-image {
  display: block;
  width: min(280px, 20vw);
  height: auto;
}

.top-about-section__features {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(20px, 1.43vw);
  width: 100%;
}

.top-about-section__feature-card {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  background: #fff;
  color: var(--body-text-color-black);
  padding: min(24px, 1.71vw) min(12px, 0.86vw);
  border: 1px solid #DDCDDF;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  text-align: center;
  min-width: 0;
}

.top-about-section__feature-card:nth-child(odd) {
  position: relative;
}

.top-about-section__feature-card:nth-child(odd)::before {
  content: '';
  position: absolute;
  top: 0;
  right: 6px;
  width: min(12px, 0.86vw);
  height: min(12px, 0.86vw);
  transform: translate(-50%, -50%);
  background-image: url(../img/top-about-icon-feature-star.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.top-about-section__feature-card:nth-child(even) {
  position: relative;
}

.top-about-section__feature-card:nth-child(even)::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 6px;
  width: min(12px, 0.86vw);
  height: min(12px, 0.86vw);
  transform: translate(50%, 50%);
  background-image: url(../img/top-about-icon-feature-star.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.top-about-section__feature-icon {
  display: block;
  width: min(84px, 6vw);
  height: auto;
  margin-bottom: min(20px, 1.43vw);
}

.top-about-section__feature-text {
  font-size: min(15px, 1.07vw);
  line-height: 1.6;
  letter-spacing: 0.04em;
  height: stretch;
  align-content: center;
}

.top-about-section__feature-card--small-text .top-about-section__feature-text {
  font-size: min(14px, 1vw);
}

.top-about-section__main-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(24px, 1.71vw);
  width: 100%;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.top-about-section__info-block {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--body-text-color-black);
  min-width: 0;
}

.top-about-section__biz-hour-wrap {
  background: #F8F7FA;
  padding: min(24px, 1.71vw);
  margin-bottom: min(20px, 1.43vw);
  border-radius: 6px;
}

.top-about-section__biz-hour-title {
  font-size: min(18px, 1.29vw);
  color: var(--body-text-color-purple);
  text-align: center;
  margin-bottom: min(12px, 0.86vw);
}

.top-about-section__biz-hour-image {
  display: block;
  width: 100%;
  height: auto;
}

.top-about-section__details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(12px, 0.86vw);
  background: #F8F7FA;
  padding: min(24px, 1.71vw);
  border-radius: 6px;
}

.top-about-section__detail {
  font-size: min(16px, 1.14vw);
}

.top-about-section__detail-dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(12px, 0.86vw);
  margin: 0;
}

.top-about-section__detail-dt {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 24%;
          flex: 0 0 24%;
  margin: 0;
  padding: min(10px, 0.71vw) min(28px, 2vw);
  font-size: min(16px, 1.14vw);
  color: var(--body-text-color-purple);
  border: 1px solid var(--body-border-color-purple);
  border-radius: 4px;
  text-align: center;
}

.top-about-section__detail-dt::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: min(12px, 0.86vw);
  transform: translate(0%, 30%);
  width: min(20px, 1.43vw);
  height: auto;
  aspect-ratio: 18 / 10;
  background-image: url("../img/top-about-icon-info-star.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.top-about-section__detail-dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  margin: 0;
  min-width: 0;
  font-size: min(16px, 1.14vw);
  letter-spacing: 0.04em;
  line-height: 1.4;
}

.top-about-section__map-block {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: 0;
  border-radius: 6px;
  overflow: hidden;
}

.top-about-section__map-inner {
  background: #fff;
  width: 100%;
  height: 100%;
  min-height: min(280px, 20vw);
}

.top-about-section__map-image {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: top;
}

/* ----------------------------------------
top-mouthpiece-case-section
---------------------------------------- */
#top-mouthpiece-case-section {
  background-image: url("../img/top-mouthpiece-case-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#top-mouthpiece-case-section .section-inner {
  max-width: min(1400px, 100vw);
  margin: 0 auto;
  padding: min(96px, 6.86vw) min(40px, 2.86vw) min(120px, 8.57vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(56px, 4vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__heading-block {
  text-align: center;
  width: 90%;
  margin: 0 auto;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: min(16px, 1.14vw);
  margin-bottom: min(24px, 1.71vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__divider-image {
  display: block;
  width: min(280px, 20vw);
  height: auto;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__lead {
  font-size: min(16px, 1.14vw);
  color: var(--body-text-color-black);
  line-height: 1.9;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__lead + .top-mouthpiece-case-section__lead {
  margin-top: min(12px, 0.86vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(24px, 1.71vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__card {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(33.333% - min(24px, 1.71vw));
          flex: 1 1 calc(33.333% - min(24px, 1.71vw));
  background: #fff;
  border-radius: 6px;
  border: 1px solid var(--body-border-color-purple-light, #e3d7f0);
  padding: min(20px, 1.43vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(16px, 1.14vw);
  min-width: 0;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__card::before {
  content: '';
  position: absolute;
  top: 0;
  right: 6px;
  width: min(12px, 0.86vw);
  height: min(12px, 0.86vw);
  transform: translate(-50%, -50%);
  background-image: url(../img/top-about-icon-feature-star.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__card-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__case-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(8px, 0.57vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__case-label-icon {
  width: min(20px, 1.43vw);
  height: auto;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__case-label-text {
  font-size: min(24px, 1.71vw);
  color: var(--body-text-color-black);
  font-weight: 700;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__case-label-text-sub {
  font-size: min(16px, 1.14vw);
  font-weight: normal;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(12px, 0.86vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__before-after {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 320 / 200;
  border-radius: 6px;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__before,
#top-mouthpiece-case-section .top-mouthpiece-case-section__after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__before {
  width: 50%;
  border-right: 3px solid rgba(255, 255, 255, 0.9);
  z-index: 2;
  overflow: hidden;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__image {
  position: absolute;
  left: 0;
  bottom: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__after .top-mouthpiece-case-section__image {
  width: 100%;
  height: 100%;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__before .top-mouthpiece-case-section__image {
  width: auto;
  height: auto;
  max-width: none;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__image-tag {
  position: absolute;
  left: min(12px, 0.86vw);
  top: min(12px, 0.86vw);
  padding: 4px 12px;
  font-size: min(13px, 0.93vw);
  color: #fff;
  background-color: rgba(17, 15, 35, 0.6);
  white-space: nowrap;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__image-tag--after {
  left: auto;
  right: min(12px, 0.86vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__range-handle {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-54%, -50%);
  z-index: 2;
  pointer-events: none;
  width: min(31px, 2.21vw);
  height: min(31px, 2.21vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__range-handle img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  cursor: col-resize;
  z-index: 3;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__card-text {
  font-size: min(15px, 1.07vw);
  color: var(--body-text-color-black);
  line-height: 1.7;
  min-height: 52px;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__detail {
  margin: 0;
  padding: 0;
  background: none;
  border-radius: 0;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__detail-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(8px, 0.57vw);
  margin-top: min(16px, 1.14vw);
  margin-bottom: min(12px, 0.86vw);
  padding: min(6px, 0.43vw) min(12px, 0.86vw);
  background-color: rgba(84, 53, 128, 0.04);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__detail-head-icon-image {
  display: block;
  width: min(16px, 1.14vw);
  height: auto;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__detail-head-text {
  font-size: min(16px, 1.14vw);
  color: var(--body-text-color-purple);
  letter-spacing: 0.16em;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__detail-body {
  font-size: min(14px, 1vw);
  color: var(--body-text-color-black);
  line-height: 1.8;
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__detail-row {
  font-size: min(11px, 0.79vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__detail-row + .top-mouthpiece-case-section__detail-row {
  margin-top: min(4px, 0.29vw);
}

#top-mouthpiece-case-section .top-mouthpiece-case-section__detail-label {
  color: var(--body-text-color-purple);
}

#top-proposal-section {
  background-color: #f7f2fb;
  background-image: url("../img/top-proposal-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#top-proposal-section .section-inner {
  max-width: min(1400px, 100vw);
  margin: 0 auto;
  padding: min(96px, 6.86vw) min(40px, 2.86vw) min(120px, 8.57vw);
}

#top-proposal-section .top-proposal-section__heading-block {
  text-align: center;
  margin-bottom: min(56px, 4vw);
}

#top-proposal-section .top-proposal-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: min(16px, 1.14vw);
  margin-bottom: min(24px, 1.71vw);
}

#top-proposal-section .top-proposal-section__divider-image {
  display: block;
  width: min(380px, 27.14vw);
  height: auto;
}

#top-proposal-section .top-proposal-section__lead {
  font-size: min(16px, 1.14vw);
  color: #555555;
  margin: min(60px, 4.29vw) 0;
}

#top-proposal-section .top-proposal-section__cases {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: min(24px, 1.71vw);
}

#top-proposal-section .top-proposal-card {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: 0;
  background-color: #fff;
  padding: min(32px, 2.29vw) min(24px, 1.71vw) min(32px, 2.29vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(24px, 1.71vw);
  border-radius: 6px;
}

#top-proposal-section .top-proposal-card__head {
  text-align: left;
}

#top-proposal-section .top-proposal-card__case-label {
  display: inline-block;
  padding: min(8px, 0.57vw) min(14px, 1vw) min(2px, 0.14vw);
  font-size: min(16px, 1.14vw);
  color: #fff;
  background-color: #7D4589;
  margin: 0 0 min(16px, 1.14vw);
  width: 100%;
  text-align: center;
  font-family: var(--font-mincho);
  border-radius: 2px;
}

#top-proposal-section .top-proposal-card__case-label-num {
  font-size: min(20px, 1.43vw);
  line-height: 1;
}

#top-proposal-section .top-proposal-card__case-title {
  margin: 0;
  font-family: var(--font-mincho);
  font-size: min(20px, 1.43vw);
  color: var(--body-text-color-black);
  text-align: center;
}

#top-proposal-section .top-proposal-card__case-title-main {
  display: inline-block;
  font-family: var(--font-gothic);
  font-size: min(16px, 1.14vw);
  position: relative;
  padding: 0 min(26px, 1.86vw);
}

#top-proposal-section .top-proposal-card__case-title-main::before,
#top-proposal-section .top-proposal-card__case-title-main::after {
  content: "";
  position: absolute;
  top: 50%;
  width: min(20px, 1.43vw);
  height: 1px;
  background-color: var(--body-text-color-black);
}

#top-proposal-section .top-proposal-card__case-title-main::before {
  left: 0;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

#top-proposal-section .top-proposal-card__case-title-main::after {
  right: 0;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}

#top-proposal-section .top-proposal-card__summary {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: min(8px, 0.57vw);
  background-color: rgba(125, 69, 137, 0.06);
  padding: min(16px, 1.14vw);
  min-height: min(150px, 10.71vw);
}

#top-proposal-section .top-proposal-card__doctor {
  position: absolute;
  bottom: 0;
  right: min(10px, 0.71vw);
}

#top-proposal-section .top-proposal-card__doctor-image {
  display: block;
  width: min(100px, 7.14vw);
  height: auto;
}

#top-proposal-section .top-proposal-card__text {
  width: 74%;
  margin: 0;
  font-size: min(14px, 1vw);
  color: var(--body-text-color-black);
  line-height: 1.6;
  letter-spacing: 0.01em;
}

#top-proposal-section .top-proposal-card__compare {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(16px, 1.14vw);
}

#top-proposal-section .top-proposal-card__image-block {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: 0;
  position: relative;
}

#top-proposal-section .top-proposal-card__image-label {
  display: inline-block;
  margin: 0;
  padding: min(6px, 0.43vw) min(40px, 2.86vw);
  font-size: min(16px, 1.14vw);
  font-family: var(--font-mincho);
  color: #fff;
  background-color: #b58ad6;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

#top-proposal-section .top-proposal-card__compare .top-proposal-card__image-block:first-child .top-proposal-card__image-label {
  background-color: #626262;
}

#top-proposal-section .top-proposal-card__compare .top-proposal-card__image-block:last-child .top-proposal-card__image-label {
  background-color: #7D4589;
}

#top-proposal-section .top-proposal-card__image-frame {
  width: 100%;
  position: relative;
  aspect-ratio: 320 / 200;
  background-color: #f2edf7;
  overflow: hidden;
}

#top-proposal-section .top-proposal-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

#top-proposal-section .top-proposal-card__image-frame--dummy {
  background: #e4dde9;
}

#top-proposal-section .top-proposal-card__arrow {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#top-proposal-section .top-proposal-card__arrow-image {
  width: min(40px, 2.86vw);
  height: auto;
}

#top-proposal-section .top-proposal-card__footer {
  margin-top: auto;
}

#top-proposal-section .top-proposal-card__note-title {
  margin: 0 0 min(8px, 0.57vw);
  font-size: min(14px, 1vw);
  color: #6b3d8a;
}

#top-proposal-section .top-proposal-card__note-text {
  margin: 0;
  font-size: min(12px, 0.86vw);
  color: #666;
}

#top-cta-section .section-inner-large {
  margin: 0 auto;
  padding: min(80px, 5.71vw) 0;
  padding-left: 0;
  padding-right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  position: relative;
  background-image: url("../img/top-cta-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#top-cta-section .top-cta-section__content {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 70%;
          flex: 0 0 70%;
  width: 70%;
  margin-left: auto;
  min-width: 0;
  padding: min(60px, 4.29vw) min(60px, 4.29vw) min(60px, 4.29vw) min(80px, 5.71vw);
}

.top-cta-section__title {
  font-family: var(--font-mincho);
  font-size: min(28px, 2vw);
  color: #333;
  margin-bottom: min(24px, 1.71vw);
}

.top-cta-section__divider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: min(24px, 1.71vw);
}

.top-cta-section__divider-image {
  display: block;
  width: min(230px, 16.43vw);
  height: auto;
}

.top-cta-section__text-block {
  margin-bottom: min(32px, 2.29vw);
}

.top-cta-section__text {
  font-size: min(16px, 1.14vw);
  color: #333;
  margin-bottom: min(12px, 0.86vw);
}

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

.top-cta-section__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(16px, 1.14vw);
}

.top-cta-section__btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: min(8px, 0.57vw) min(10px, 0.72vw);
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: min(200px, 14.29vw);
  text-decoration: none;
  color: #fff;
  text-align: center;
  overflow: hidden;
}

#top-cta-section .top-cta-section__btn::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(51px, 3.64vw);
  height: min(48px, 3.43vw);
  background-image: url(../img/top-cta-btn-frame.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom right;
  pointer-events: none;
}

#top-cta-section .top-cta-section__btn--tel::after {
  opacity: 0.4;
}

#top-bottom-cta .top-bottom-cta__btn::after,
#top-trouble-section .top-bottom-cta__btn::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(51px, 3.64vw);
  height: min(48px, 3.43vw);
  background-image: url(../img/top-cta-btn-frame.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom right;
  pointer-events: none;
}

.top-cta-section__btn--line {
  background: #06C755;
}

.top-cta-section__btn--web {
  background: #6B3D8A;
}

.top-cta-section__btn--web .top-cta-section__btn-label {
  font-size: min(14px, 1vw);
  line-height: 1;
}

.top-cta-section__btn--tel {
  background: #fff;
  color: var(--body-text-color-purple);
  border: 1px solid #D0B8DF;
}

.top-cta-section__btn-caption {
  font-size: min(11px, 0.79vw);
  line-height: 1.4;
  display: block;
}

.top-cta-section__btn--tel .top-cta-section__btn-caption {
  color: var(--body-text-color-purple);
}

.top-cta-section__btn-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(8px, 0.57vw);
  font-size: min(16px, 1.14vw);
  letter-spacing: 0.04em;
  font-weight: bold;
  white-space: nowrap;
}

.top-cta-section__btn-icon {
  width: min(32px, 2.29vw);
  height: auto;
  display: block;
}

.top-cta-section__btn-icon--small {
  width: min(32px, 2.29vw);
}

.top-cta-section__btn-tel-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(8px, 0.57vw);
  line-height: 1;
}

.top-cta-section__btn-tel-num {
  font-size: min(20px, 1.43vw);
  color: var(--body-text-color-purple);
  font-weight: bold;
  letter-spacing: 0.04em;
}

.top-cta-section__btn-note {
  font-size: min(11px, 0.79vw);
  color: #666;
}

.top-cta-section__btn--tel .top-cta-section__btn-note {
  font-size: min(10px, 0.71vw);
  color: var(--body-text-color-purple);
  letter-spacing: 0.01em;
}

@media screen and (max-width:767px) {
  #top-concept-section {
    padding-top: 12vw;
    padding-bottom: 6vw;
  }

  #top-concept-section .section-inner {
    max-width: 100%;
    padding-left: 6vw;
    padding-right: 6vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8vw;
  }

  #top-concept-section .section-inner:first-of-type {
    margin-bottom: 10vw;
    gap: 0;
  }

  #top-concept-section .top-concept-section__content {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-left: 0;
    margin-top: -6vw;
  }

  #top-concept-section .top-concept-section__image-wrap {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 100%;
    margin-right: -12vw;
    margin-left: 0;
  }

  .top-section-heading__label {
    font-size: 4.2vw;
  }

  .top-section-heading__title {
    font-size: 4.8vw;
    margin-bottom: 2vw;
    letter-spacing: 0.04em;
  }

  #top-concept-section .top-concept-section__divider {
    margin-bottom: 4.8vw;
  }

  #top-concept-section .top-concept-section__divider-image {
    width: 100%;
  }

  #top-concept-section .top-concept-section__text {
    font-size: 3.73vw;
    margin-bottom: 3.2vw;
  }

  #top-concept-section .top-concept-gallery__item {
    width: 50vw;
    margin-left: 3vw;
    margin-right: 3vw;
  }

  #top-greeting-section {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }

  #top-greeting-section::before {
    width: 60vw;
    height: 56vw;
  }

  #top-greeting-section .section-inner {
    padding-left: 6vw;
    padding-right: 6vw;
  }

  #top-greeting-section .top-greeting-section__heading-block {
    margin-bottom: 8vw;
  }

  #top-greeting-section .top-greeting-section__divider-image {
    width: 90vw;
  }

  #top-greeting-section .top-greeting-section__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8vw;
  }

  #top-greeting-section .top-greeting-section__content {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }

  #top-greeting-section .top-greeting-section__headline {
    font-size: 4.5vw;
    margin-bottom: 4vw;
  }

  #top-greeting-section .top-greeting-section__text {
    font-size: 3.73vw;
    margin-bottom: 3.2vw;
  }

  #top-greeting-section .top-greeting-section__main {
    margin-bottom: 8vw;
  }

  #top-greeting-section .top-greeting-section__image-wrap {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
    width: 100%;
    margin: 0 auto;
    aspect-ratio: 327 / 200;
  }

  #top-greeting-section .top-greeting-section__name-tag {
    width: 26vw;
    bottom: 6.5vw;
    padding: 2.1vw;
  }

  #top-greeting-section .top-greeting-section__name-tag-icon {
    width: 2.5vw;
    right: 2vw;
    bottom: 2vw;
  }

  #top-greeting-section .top-greeting-section__name-ja {
    gap: 0.52vw;
    font-size: 2.61vw;
  }

  #top-greeting-section .top-greeting-section__name-ja .top-greeting-section__name-role {
    font-size: 1.57vw;
  }

  #top-greeting-section .top-greeting-section__name-en {
    font-size: 2.4vw;
  }

  #top-news-section {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }

  #top-news-section::before {
    width: 50vw;
  }

  #top-news-section .top-news-section__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 8vw 6vw;
    gap: 4vw;
  }

  #top-news-section .top-news-section__left {
    width: 100%;
  }

  #top-news-section .top-news-section__divider {
    margin-bottom: 2vw;
  }

  #top-news-section .top-news-section__divider-image {
    width: 100%;
  }

  #top-news-section .top-news-section__item-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    padding: 2.87vw 0;
    font-size: 3.2vw;
    gap: 3vw;
  }

  #top-news-section .top-news-section__item-title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    white-space: nowrap;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  #top-bottom-cta {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }


  #top-bottom-cta .top-bottom-cta__brand {
    margin-bottom: 8vw;
  }

  #top-bottom-cta .top-bottom-cta__brand-image {
    width: 36.5vw;
  }

  .top-bottom-cta__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4vw;
    margin-bottom: 6vw;
  }

  .top-bottom-cta__btn {
    position: relative;
    min-width: 0;
    width: 100%;
    padding: 2vw 2.5vw;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20vw;
            flex: 0 0 20vw;
    overflow: hidden;
  }

  .top-bottom-cta__btn-caption {
    font-size: 1.43vw;
    line-height: 1.4;
  }

  .top-bottom-cta__btn-caption-sub {
    font-size: 2.2vw;
  }

  .top-bottom-cta__btn-label {
    font-size: 4vw;
    gap: 2vw;
    letter-spacing: 0.04em;
    font-weight: bold;
  }

  .top-bottom-cta__btn--web .top-bottom-cta__btn-label {
    font-size: 3.5vw;
    line-height: 1;
  }

  .top-bottom-cta__btn-icon {
    width: 8.5vw;
  }

  .top-bottom-cta__tel {
    min-width: 0;
    width: 100%;
    padding: 2vw 2.5vw;
    text-align: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20vw;
            flex: 0 0 20vw;
  }

  .top-bottom-cta__tel-caption {
    font-size: 2.9vw;
  }

  .top-bottom-cta__tel-num-wrap {
    gap: 2vw;
    line-height: 1;
  }

  .top-bottom-cta__tel-icon {
    width: 4.17vw;
  }

  .top-bottom-cta__tel-num {
    font-size: 5vw;
    color: var(--body-text-color-purple);
    font-weight: bold;
    letter-spacing: 0.04em;
  }

  .top-bottom-cta__tel-note {
    font-size: 2.9vw;
  }

  .top-bottom-cta__tel .top-bottom-cta__tel-note {
    font-size: 2.9vw;
  }

  .top-bottom-cta__info-block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 4.2vw;
    gap: 5vw;
  }

  .top-bottom-cta__info-inner {
    width: 100%;
  }

  .top-bottom-cta__map-wrap {
    width: 100%;
  }

  .top-bottom-cta__info-head {
    padding: 5vw;
    margin-bottom: 5vw;
  }

  .top-bottom-cta__info-title {
    font-size: 3.6vw;
    margin-bottom: 4vw;
  }

  .top-bottom-cta__biz-hour-wrap {
    margin-bottom: 0;
  }

  .top-bottom-cta__biz-hour-image {
    display: block;
  }

  .top-bottom-cta__biz-hour-row {
    margin: 0;
    font-size: 3.2vw;
    color: #333;
  }

  .top-bottom-cta__details {
    gap: 3vw;
    padding: 2.6vw;
  }

  .top-bottom-cta__detail {
    font-size: 3.2vw;
    gap: 2vw;
  }

  .top-bottom-cta__detail-dl {
    gap: 2vw;
  }

  .top-bottom-cta__detail-dt {
    font-size: 2.6vw;
  }

  .top-bottom-cta__detail-dd {
    font-size: 3.2vw;
  }

  .top-bottom-cta__map-iframe {
    height: 60vw;
  }

  #top-media-section {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }

  #top-media-section .top-media-section__heading {
    margin-bottom: 2vw;
  }

  #top-media-section .top-media-section__divider {
    margin-bottom: 8vw;
  }

  #top-media-section .top-media-section__divider-image {
    width: 100%;
  }

  #top-media-section .top-media-section__cards {
    gap: 2vw;
    background: #fff;
    padding: 6vw;
  }

  #top-media-section .top-media-section__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2vw;
  }

  #top-media-section .top-media-section__row--first .top-media-section__card {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    margin: 0 auto;
  }

  #top-media-section .top-media-section__card-image {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }

  #top-reason-section {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }

  #top-reason-section .top-reason-section__heading-block {
    margin-bottom: 8vw;
  }

  #top-reason-section .top-reason-section__divider {
    width: 100%;
  }

  #top-reason-section .top-reason-section__divider-image {
    width: 100%;
  }

  #top-reason-section .top-section-heading__title {
    font-size: 3.2vw;
    margin-bottom: 0;
  }

  #top-reason-section .top-reason-section__heading-sub {
    font-size: 6.4vw;
    line-height: 1.4;
    margin: 2vw auto;
  }

  #top-reason-section .top-reason-section__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4vw;
  }

  #top-reason-section .top-reason-section__card {
    -ms-flex: 1 1 100%;
        flex: 1 1 100%;
    min-width: 0;
    padding: 5vw;
    gap: 5.2vw;
  }

  #top-reason-section .top-reason-section__card-num {
    width: 10vw;
    height: 7vw;
    font-size: 3.73vw;
  }


  #top-reason-section .top-reason-section__card-title {
    font-size: 3.73vw;
    margin-bottom: 2.4vw;
  }

  #top-reason-section .top-reason-section__card-text {
    font-size: 3.2vw;
  }

  #top-menu-section {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }

  .top-menu-section__heading-block {
    margin-bottom: 8vw;
  }

  #top-menu-section .top-menu-section__divider-image {
    width: 100%;
  }

  .top-menu-section__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4vw;
    margin-bottom: 8vw;
  }

  .top-menu-section__item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex: 1 1 calc(50% - 2vw);
        flex: 1 1 calc(50% - 2vw);
    min-width: 0;
    min-height: 1vw;
    padding: 2vw 4vw 2vw 2vw;
  }

  .top-menu-section__item-icon-wrap {
    width: 12.8vw;
    height: 12.8vw;
    margin-bottom: 0;
  }

  .top-menu-section__item-icon {
    width: 100%;
    height: 100%;
  }

  .top-menu-section__item-title {
    font-size: 3.7vw;
  }

  .top-menu-section__item-sub {
    font-size: 2.4vw;
    letter-spacing: 0.01em;
  }

  .top-menu-section__item-body {
    padding-right: 4vw;
  }

  .top-menu-section__item-body::after {
    width: 4vw;
    height: 4vw;
  }

  #top-trouble-section {
    padding-top: 12vw;
    padding-bottom: 8vw;
  }

  #top-trouble-section .top-trouble-section__bubble {
    width: 100%;
    padding: 4vw 6vw;
    margin-bottom: 5vw;
  }

  #top-trouble-section .top-trouble-section__bubble::after {
    border-width: 2.5vw 2.5vw 0;
  }

  #top-trouble-section .top-trouble-section__bubble-text {
    font-size: 2.7vw;
    text-align: center;
  }

  #top-trouble-section .top-section-heading__title {
    font-size: 4.3vw;
  }

  #top-trouble-section .top-trouble-section__divider {
    margin-bottom: 6vw;
  }

  #top-trouble-section .top-trouble-section__divider-image {
    width: 90vw;
  }

  #top-trouble-section .top-trouble-section__example-label {
    width: 32vw;
    height: 12vw;
    margin-bottom: 4vw;
    font-size: 3.8vw;
  }

  #top-trouble-section .top-trouble-section__example-label::before {
    width: 50vw;
  }

  #top-trouble-section .top-trouble-section__consultation {
    padding-top: 5vw;
    padding-bottom: 5vw;
    padding-left: 4vw;
    padding-right: 4vw;
  }

  #top-trouble-section .top-trouble-section__consultation-lead {
    font-size: 4.5vw;
    margin-bottom: 0;
  }

  #top-trouble-section .top-trouble-section__consultation-heading {
    margin-bottom: 2vw;
  }

  #top-trouble-section .top-trouble-section__consultation-heading .top-section-heading__title {
    font-size: 4.5vw;
    margin-bottom: 0;
  }

  #top-trouble-section .top-trouble-section__consultation-text-block {
    margin-bottom: 8vw;
  }

  #top-trouble-section .top-trouble-section__consultation-text {
    font-size: 3.2vw;
    margin-bottom: 3vw;
    line-height: 1.8;
  }

  #top-trouble-section .top-bottom-cta__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4vw;
  }

  #top-trouble-section .top-bottom-cta__btn {
    position: relative;
    min-width: 0;
    width: 100%;
    padding: 2vw 2.5vw;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20vw;
            flex: 0 0 20vw;
    overflow: hidden;
  }

  #top-trouble-section .top-bottom-cta__btn-caption {
    font-size: 2.9vw;
    line-height: 1.4;
  }

  #top-trouble-section .top-bottom-cta__btn-caption-sub {
    font-size: 2.2vw;
  }

  #top-trouble-section .top-bottom-cta__btn-label {
    font-size: 4vw;
    gap: 2vw;
    letter-spacing: 0.04em;
    font-weight: bold;
  }

  #top-trouble-section .top-bottom-cta__btn--web .top-bottom-cta__btn-label {
    font-size: 3.5vw;
    line-height: 1;
  }

  #top-trouble-section .top-bottom-cta__btn-icon {
    width: 8.5vw;
  }

  #top-trouble-section .top-bottom-cta__tel {
    min-width: 0;
    width: 100%;
    padding: 2vw 2.5vw;
    text-align: center;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20vw;
            flex: 0 0 20vw;
  }

  #top-trouble-section .top-bottom-cta__tel-caption {
    font-size: 2.9vw;
  }

  #top-trouble-section .top-bottom-cta__tel-num-wrap {
    gap: 2vw;
    line-height: 1;
  }

  #top-trouble-section .top-bottom-cta__tel-icon {
    width: 4.17vw;
  }

  #top-trouble-section .top-bottom-cta__tel-num {
    font-size: 5vw;
    color: var(--body-text-color-purple);
    font-weight: bold;
    letter-spacing: 0.04em;
  }

  #top-trouble-section .top-bottom-cta__tel-note {
    font-size: 2.9vw;
  }

  #top-trouble-section .top-bottom-cta__tel .top-bottom-cta__tel-note {
    font-size: 2.9vw;
  }

  #top-about-section {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }

  #top-about-section .section-inner {
    gap: 8vw;
  }

  #top-about-section .top-about-section__divider-image {
    width: 100%;
  }

  .top-about-section__features {
    flex-wrap: wrap;
    gap: 2vw;
  }

  .top-about-section__feature-card {
    flex: 1 1 30%;
    padding: 4vw 2vw;
  }

  .top-about-section__feature-card:nth-child(odd)::before,
  .top-about-section__feature-card:nth-child(even)::before {
    width: 2.9vw;
    height: 2.9vw;
  }

  .top-about-section__feature-icon {
    width: 11vw;
    margin-bottom: 1vw;
  }

  .top-about-section__feature-text {
    font-size: 3.2vw;
  }

  .top-about-section__feature-card--small-text .top-about-section__feature-text {
    font-size: 2.8vw;
  }

  .top-about-section__main-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }

  .top-about-section__biz-hour-wrap {
    padding: 4vw;
    margin-bottom: 5vw;
  }

  .top-about-section__biz-hour-title {
    font-size: 3.73vw;
    margin-bottom: 3vw;
  }

  .top-about-section__details {
    gap: 3vw;
    padding: 4vw;
  }

  .top-about-section__detail {
    font-size: 3.2vw;
  }

  .top-about-section__detail-dl {
    gap: 2vw;
  }

  .top-about-section__detail-dt {
    font-size: 2.9vw;
    border-radius: 2px;
  }

  .top-about-section__detail-dt::after {
    width: 3vw;
    right: 1vw;
  }

  .top-about-section__detail-dd {
    font-size: 3.2vw;
  }

  .top-about-section__map-inner {
    min-height: 50vw;
  }

  #top-mouthpiece-case-section .section-inner {
    padding: 14vw 4vw 18vw;
    gap: 10vw;
  }


  #top-mouthpiece-case-section .top-mouthpiece-case-section__divider {
    margin-top: 4vw;
    margin-bottom: 5vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__divider-image {
    width: 56vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__lead {
    font-size: 3.2vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__lead + .top-mouthpiece-case-section__lead {
    margin-top: 3vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__card {
    padding: 6vw 4.5vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__card::before {
    right: 1.2vw;
    width: 3.2vw;
    height: 3.2vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__case-label-text {
    font-size: 6.4vw;
    font-weight: 700;
    color: var(--body-text-color-black);
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__case-label-text-sub {
    font-size: 4.3vw;
    font-weight: normal;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__before-after {
    aspect-ratio: 320 / 200;
    border-radius: 6px;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__image-tag {
    left: 3vw;
    top: 3vw;
    padding: 1vw 2vw;
    font-size: 3.2vw;
    width: fit-content;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__image-tag--after {
    left: auto;
    right: 3vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__range-handle {
    width: 8vw;
    height: 8vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__card-text {
    font-size: 3.2vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__detail {
    margin-top: 4vw;
    padding: 4.5vw 4vw 3.5vw;
    border-radius: 2vw;
    background-color: #f9f6fc;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__detail-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  gap: 2vw;
  margin-top: 4vw;
  margin-bottom: 3vw;
  padding: 2vw 3vw;
  background-color: rgba(84, 53, 128, 0.04);
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__detail-head-icon-image {
    width: 3vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__detail-head-text {
    font-size: 3.2vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__detail-body {
    font-size: 3.2vw;
    line-height: 1.8;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__detail-row {
    font-size: 2.93vw;
  }

  #top-mouthpiece-case-section .top-mouthpiece-case-section__detail-label {
    margin-right: 1vw;
  }

  .top-btn-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4vw;
  }

  .top-btn-box__btn {
    width: 100%;
    padding: 3.5vw 6vw;
    font-size: 4.2vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2vw;
    border-radius: 2px;
  }

  .top-btn-box__btn::after {
    width: 13vw;
  }

  .top-btn-box__btn--first {
    gap: 2vw;
  }

  .top-btn-box__btn--first::before {
    width: 10vw;
  }

  .top-btn-box__arrow {
    width: 10.5vw;
  }

  #top-proposal-section .section-inner {
    padding: 14vw 4vw 18vw;
  }

  #top-proposal-section .top-proposal-section__heading-block {
    margin-bottom: 10vw;
    text-align: center;
  }

  #top-proposal-section .top-proposal-section__divider {
    margin-top: 3.2vw;
    margin-bottom: 4.8vw;
  }

  #top-proposal-section .top-proposal-section__divider-image {
    width: 100%;
  }

  #top-proposal-section .top-proposal-section__lead {
    font-size: 3.73vw;
    margin-bottom: 3vw;
    line-height: 2;
    letter-spacing: 0.02em;
  }

  #top-proposal-section .top-proposal-section__cases {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8vw;
  }

  #top-proposal-section .top-proposal-card {
    padding: 8vw 5vw 8vw;
    gap: 5vw;
  }

  #top-proposal-section .top-proposal-card__case-label {
    padding: 1.6vw 4vw;
    font-size: 3.2vw;
    margin-bottom: 4vw;
  }

  #top-proposal-section .top-proposal-card__case-title {
    font-size: 4vw;
  }

  #top-proposal-section .top-proposal-card__case-title-main {
    font-size: 2.7vw;
    padding: 0 5vw;
  }

  #top-proposal-section .top-proposal-card__case-title-main::before,
  #top-proposal-section .top-proposal-card__case-title-main::after {
    width: 4vw;
  }

  #top-proposal-section .top-proposal-card__case-label-num {
    font-size: 3.7vw;
  }

  #top-proposal-section .top-proposal-card__summary {
    padding: 3vw;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }

  #top-proposal-section .top-proposal-card__doctor-image {
    width: 18vw;
  }

  #top-proposal-section .top-proposal-card__text {
    font-size: 3.46vw;
  }

  #top-proposal-section .top-proposal-card__compare {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4vw;
  }

  #top-proposal-section .top-proposal-card__arrow-image {
    width: 6.4vw;
  }

  #top-proposal-section .top-proposal-card__image-label {
    padding: 1.4vw 3.4vw;
    font-size: 2.8vw;
    margin-bottom: 0;
    position: absolute;
    top: 2.4vw;
    right: 2.4vw;
  }

  #top-proposal-section .top-proposal-card__image-frame {
    aspect-ratio: 320 / 200;
  }

  #top-proposal-section .top-proposal-card__note-title {
    font-size: 3.2vw;
    margin-bottom: 2.8vw;
  }

  #top-proposal-section .top-proposal-card__note-text {
    font-size: 2.8vw;
  }

  #top-cta-section .section-inner-large {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 10.4vw 0;
    padding-left: 0;
    padding-right: 0;
  }

  .top-cta-section__content,
  #top-cta-section .top-cta-section__content {
    width: 100%;
    margin: 0 auto;
    padding: 8vw 6vw 10vw;
  }

  .top-cta-section__sp-title {
    position: relative;
  }

  .top-cta-section__title {
    position: absolute;
    left: 2vw;
    bottom: 2vw;
    font-size: 5.2vw;
    margin-bottom: 0;
    color: #fff;
    text-shadow: 0 0.4vw 0.8vw rgba(0, 0, 0, 0.6);
    line-height: 1.8;
  }

  .top-cta-section__divider {
    margin-bottom: 4.8vw;
  }

  .top-cta-section__divider-image {
    width: 32vw;
  }

  .top-cta-section__text-block {
    margin-bottom: 6vw;
  }

  .top-cta-section__text {
    font-size: 3.73vw;
    margin-bottom: 3vw;
    letter-spacing: 0.04em;
  }

  .top-cta-section__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4vw;
  }

  .top-cta-section__btn {
    min-width: 0;
    width: 100%;
    padding: 2vw 2.5vw;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20vw;
            flex: 0 0 20vw;
  }

  .top-cta-section__btn::after {
    width: 13.6vw;
    height: 12.8vw;
  }

  #top-bottom-cta .top-bottom-cta__btn::after,
  #top-trouble-section .top-bottom-cta__btn::after {
    width: 13.6vw;
    height: 12.8vw;
  }

  .top-cta-section__btn-caption {
    font-size: 2.9vw;
    line-height: 1.4;
  }

  .top-cta-section__btn-label {
    font-size: 4vw;
    gap: 2vw;
    letter-spacing: 0.04em;
    font-weight: bold;
  }

  .top-cta-section__btn--web .top-cta-section__btn-label {
    font-size: 3.5vw;
    line-height: 1;
  }

  .top-cta-section__btn-icon {
    width: 8.5vw;
  }

  .top-cta-section__btn-icon--small {
    width: 8.5vw;
  }

  .top-cta-section__btn-tel-wrap {
    gap: 2vw;
    line-height: 1;
  }

  .top-cta-section__btn-tel-num {
    font-size: 5vw;
    color: var(--body-text-color-purple);
    font-weight: bold;
    letter-spacing: 0.04em;
  }

  .top-cta-section__btn-note {
    font-size: 2.8vw;
  }

  .top-cta-section__btn--tel .top-cta-section__btn-note {
    font-size: 2.9vw;
  }

  /* Footer nav layout (SP) */
  #global-footer.global-footer {
    padding: 8vw 4vw;
  }

  #global-footer .global-footer__nav {
    flex-direction: row;
    gap: 6vw 0;
    flex-wrap: wrap;
  }

  #global-footer .global-footer__nav-col:nth-child(1) {
    flex: 0 0 100%;
    width: 100%;
  }

  #global-footer .global-footer__nav-col:nth-child(2),
  #global-footer .global-footer__nav-col:nth-child(3) {
    flex: 0 0 50%;
    width: 50%;
  }

  #global-footer .global-footer__nav-links-row {
    flex-direction: column;
    gap: 4vw;
  }

  /* Footer typography (SP) */
  #global-footer,
  #global-footer * {
    font-size: 3.2vw !important;
  }

  #global-footer .global-footer__legal {
    flex-direction: column;
    gap: 4vw;
    margin: 10vw auto;
  }

  #global-footer .global-footer__legal-heading {
    font-size: 4.3vw !important;
    text-align: center;
  }

  #global-footer .global-footer__legal-lead,
  #global-footer .global-footer__legal-note {
    text-align: center;
  }

  #global-footer .global-footer__legal-note {
    margin-bottom: 5vw;
  }

  #global-footer .global-footer__col-title-icon {
    width: 2.6vw;
    height: 2.6vw;
  }

  #global-footer .global-footer__legal-link-icon {
    width: 3.73vw;
    height: 3.73vw;
  }

  #global-footer .global-footer__bottom-links {
    margin-bottom: 10vw;
    align-items: flex-end;
    flex-direction: column;
  }

  #global-footer .global-footer__copyright {
    font-size: 2.5vw !important;
    letter-spacing: 0.01em;
    text-align: center;
  }
}

/* ----------------------------------------
top-trouble-slider（お悩みスライダー）
---------------------------------------- */
.top-trouble-slider {
  margin: 1em auto;
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
.top-trouble-slider .top-trouble-slider__slider {
  max-width: 100%;
  overflow: hidden;
}
.top-trouble-slider .slick-list {
  overflow: hidden;
}
.top-trouble-slider__slide {
  background: #fff;
  max-height: min(90vh, 800px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  max-width: 100%;
  padding: 40px;
  border-radius: 6px;
}
/* スライド1: 上部（画像＋見出し＋チェックリスト） */
.top-trouble-slider__top {
  display: flex;
  gap: min(20px, 1.43vw);
  align-items: flex-start;
  margin-bottom: 0;
  flex: 0 1 auto;
  min-height: 0;
  min-width: 0;
}
.top-trouble-slider__image-wrap {
  flex: 0 0 auto;
  width: 320px;
  min-width: 0;
}
.top-trouble-slider__image {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(28vh, 200px);
  aspect-ratio: 320 / 160;
  object-fit: cover;
}
.top-trouble-slider__text {
  flex: 1 1 auto;
  min-width: 0;
}
.top-trouble-slider__title {
  font-size: min(22px, 1.57vw);
  font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  color: var(--body-text-color-black, #333);
  margin: 0 0 min(12px, 0.86vw);
  line-height: 1.35;
}
.top-trouble-slider__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.top-trouble-slider__list-item {
  position: relative;
  padding-left: 1.4em;
  margin-bottom: min(6px, 0.43vw);
  font-size: min(14px, 1vw);
  line-height: 1.45;
  color: #555;
}
.top-trouble-slider__list-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: min(16px, 1.14vw);
  height: min(16px, 1.14vw);
  background-image: url("../img/top-trouble-slider-checkmark.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
/* スライド1: 下部（薄紫背景・2カード） */
.top-trouble-slider__bottom {
  padding: 0;
  margin-top: min(14px, 1vw);
  display: flex;
  gap: min(14px, 1vw);
  flex: 1 1 auto;
  min-height: 0;
  min-width: 0;
}
.top-trouble-slider__card {
  flex: 1 1 0;
  min-width: 0;
  background-color: rgba(84, 53, 128, 0.06);
  padding: min(12px, 0.86vw);
}
.top-trouble-slider__card-title {
  font-size: min(20px, 1.43vw);
  font-family: var(--font-mincho);
  color: var(--body-text-color-black, #333);
  margin: 0 0 min(10px, 0.71vw);
}
.top-trouble-slider__card-images {
  display: flex;
  gap: min(8px, 0.57vw);
  margin-bottom: min(10px, 0.71vw);
}
.top-trouble-slider__card-image-wrap {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
}
.top-trouble-slider__card-image-label {
  display: block;
  padding: min(4px, 0.29vw) min(20px, 1.43vw);
  font-size: min(14px, 1vw);
  font-family: var(--font-mincho);
  background: #555;
  color: #fff;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.top-trouble-slider__card-image-label--after {
  background: rgba(106, 13, 173, 0.8);
}
.top-trouble-slider__card-image {
  width: 100%;
  aspect-ratio: 226 / 184;
  background: #e0e0e0;
}
.top-trouble-slider__card-case {
  font-size: min(14px, 1vw);
  color: var(--body-text-color-black, #333);
  margin-bottom: min(8px, 0.57vw);
}
.top-trouble-slider__card-case-heading {
  display: flex;
  align-items: center;
  gap: min(6px, 0.43vw);
  margin: 0 0 min(8px, 0.57vw);
  padding: min(6px, 0.43vw) min(10px, 0.71vw);
  background: rgba(84, 53, 128, 0.08);
  color: var(--body-text-color-purple-02);
  font-family: var(--font-mincho);
}
.top-trouble-slider__card-case-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex-shrink: 0;
  vertical-align: middle;
  object-fit: contain;
}
.top-trouble-slider__card-case-text {
  margin: min(2px, 0.14vw) 0 0;
  font-size: min(14px, 1vw);
  color: #666;
}
.top-trouble-slider__card-link {
  display: flex;
  align-items: center;
  gap: min(4px, 0.29vw);
  width: fit-content;
  margin-left: auto;
  padding: min(2px, 0.14vw) min(8px, 0.57vw);
  border-bottom: 1px solid;
  font-size: min(16px, 1.14vw);
  font-family: var(--font-mincho);
  color: var(--body-text-color-purple-02);
}
.top-trouble-slider__card-link-arrow {
  display: block;
  width: min(42px, 3vw);
  height: auto;
  flex-shrink: 0;
}
.top-trouble-slider__card-link:hover {
  color: var(--body-text-color-purple-02, #6a0dad);
}
/* スライド2・3のシンプル表示 */
.top-trouble-slider__slide--simple {
  padding: min(2em, 6vh);
  text-align: center;
  background: #fff;
  border: 1px solid #ddd;
  max-height: min(90vh, 400px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-trouble-slider__slide--simple span {
  font-size: min(1.25rem, 4vw);
  font-weight: bold;
}
/* 左右の矢印（top-trouble-case-arrow-01, 02.svg） */
.top-trouble-slider .slick-prev,
.top-trouble-slider .slick-next {
  z-index: 2;
  width: 48px;
  height: 48px;
  top: 50%;
  margin-top: -24px;
  border: none;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.top-trouble-slider .slick-prev:before,
.top-trouble-slider .slick-next:before {
  content: none;
}
.top-trouble-slider .slick-prev {
  left: 10px;
  background-image: url("../img/top-trouble-case-arrow-01.svg");
}
.top-trouble-slider .slick-next {
  right: 10px;
  background-image: url("../img/top-trouble-case-arrow-02.svg");
}
.top-trouble-slider .slick-prev:hover,
.top-trouble-slider .slick-next:hover {
  opacity: 0.8;
}
/* 下のドット */
.top-trouble-slider .slick-dots {
  position: relative;
  bottom: auto;
  margin-top: 1em;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.top-trouble-slider .slick-dots li {
  margin: 0;
}
.top-trouble-slider .slick-dots li button {
  font-size: 0;
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #ccc;
  cursor: pointer;
}
.top-trouble-slider .slick-dots li.slick-active button {
  background: #333;
}

@media (max-width: 767px) {
  .top-trouble-slider__top {
    flex-direction: column;
  }
  .top-trouble-slider__image-wrap {
    width: 100%;
  }
  .top-trouble-slider__bottom {
    flex-direction: column;
  }
}

/* ----------------------------------------
floating-cta（画面右下に追従するCTA）
---------------------------------------- */
.floating-cta {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 9999;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 4px;
  pointer-events: none;
}

.floating-cta__btn {
  display: block;
  height: 76px;
  pointer-events: auto;
}

.floating-cta__img {
  display: block;
  width: auto;
  height: 76px;
  object-fit: contain;
}

/* floating-cta（PC）: SP時は非表示 */
@media screen and (max-width: 767px) {
  .floating-cta {
    display: none;
  }
}

/* ----------------------------------------
floating-cta-sp（SP用フローティングCTA）
---------------------------------------- */
.floating-cta-sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .floating-cta-sp {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    pointer-events: none;
  }

  .floating-cta-sp__strip {
    display: flex;
    width: 100%;
    pointer-events: auto;
  }

  .floating-cta-sp__btn {
    display: block;
  }

  .floating-cta-sp__btn:first-child {
    flex: 72 0 0;
  }

  .floating-cta-sp__btn:last-child {
    flex: 303 0 0;
  }

  .floating-cta-sp__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
}

/* floating-cta-sp: PC時は非表示 */
@media screen and (min-width: 768px) {
  .floating-cta-sp {
    display: none;
  }
}
