[data-animation] {
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}
[data-animation].is-animated {
  opacity: 1;
  visibility: visible;
}
[data-animation="poyoyon3"] {
  opacity: 1;
  visibility: visible;
}
[data-animation="poyoyon3"].is-animated {
  animation: poyoyon3 2.5s ease-in-out 0s infinite;
}
[data-animation="poyopoyo"] {
  opacity: 1;
  visibility: visible;
}
[data-animation="poyopoyo"].is-animated {
  animation: poyopoyo 2s ease-out 0s infinite;
}
[data-animation="fuwafuwa"] {
  opacity: 1;
  visibility: visible;
}
[data-animation="fuwafuwa"].is-animated {
  animation: fuwafuwa 3s ease-in-out 0s infinite alternate;
}
[data-animation="shiny"] {
  position: relative;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
}
[data-animation="shiny"]::before {
  content: "";
  display: block;
  position: absolute;
  top: -100px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
}
[data-animation="shiny"].is-animated::before {
  animation: shiny-loop 3s linear 0s infinite;
}
[data-animation="scroll"] {
  display: inline-block;
  position: relative;
  padding-top: var(--scroll-gap, 70px);
  opacity: 1;
  visibility: visible;
}
[data-animation="scroll"]::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: var(--scroll-size, 20px);
  height: var(--scroll-size, 20px);
  border: solid var(--scroll-color, #000);
  border-width: 0 0 var(--scroll-weight, 1px) var(--scroll-weight, 1px);
  transform: rotate(-45deg);
  pointer-events: none;
}
[data-animation="scroll"].is-animated::before {
  animation: scrollArrow 3.5s infinite;
}
[data-animation="fadeIn"].is-animated {
  animation: fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) 0s forwards;
}
[data-animation="fadeUp"] {
  transform: translateY(30px);
}
[data-animation="fadeUp"].is-animated {
  animation: fadeUp 1s cubic-bezier(0.33, 1, 0.68, 1) 0s forwards;
}
[data-animation="zoomIn"] {
  transform: scale(0.8);
}
[data-animation="zoomIn"].is-animated {
  animation: zoomIn 0.8s cubic-bezier(0.25, 1, 0.5, 1) 0s forwards;
}
[data-animation="popup"] {
  transform: translateY(40px) scale(0.8);
}
[data-animation="popup"].is-animated {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0s forwards;
}
[data-animation="reveal"] {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  line-height: 1.2;
}
[data-animation="reveal"].is-animated {
  animation: revealLeft 1.4s cubic-bezier(0.37, 0, 0.63, 1) 0s forwards;
}
[data-animation="spinIn"] {
  transform: translateY(40px);
  perspective: 1000px;
}
[data-animation="spinIn"].is-animated {
  animation: spinIn 1.4s ease-out 0s forwards;
}
[data-animation="matrix"] {
  overflow: hidden;
  display: block;
  opacity: 0;
  transition: opacity 0.1s ease 0s;
}
[data-animation="matrix"] > * {
  display: block;
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition:
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0s,
    opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}
[data-animation="matrix"].is-animated {
  opacity: 1;
}
[data-animation="matrix"].is-animated > * {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}
[data-animation="bgReveal"] .bg-wrap {
  position: relative;
  display: inline-block;
}
[data-animation="bgReveal"] .bg-wrap::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: var(--bg-color, linear-gradient(to right, #362ae0, #42d3ed));
  transform: scaleX(0);
  transform-origin: left center;
}
[data-animation="bgReveal"] .bg-wrap .inn {
  position: relative;
  z-index: 1;
  display: inline-block;
  color: var(--text-color, #fff);
  opacity: 0;
  transition: opacity 0.3s ease 0.2s;
}
[data-animation="bgReveal"].is-animated .bg-wrap::before {
  animation: bgReveal 2.6s cubic-bezier(0.22, 1, 0.36, 1) 0s forwards;
}
[data-animation="bgReveal"].is-animated .inn {
  opacity: 1;
}
[data-animation="maskBg"] {
  position: relative;
  overflow: hidden;
  display: inline-block;
  color: rgba(0, 0, 0, 0);
  transition: color 0ms 0.48s;
}
[data-animation="maskBg"]::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(101%);
  background: var(--mask-color, linear-gradient(to right, #362ae0, #42d3ed));
  z-index: 1;
}
[data-animation="maskBg"].is-animated {
  color: var(--text-color, inherit);
}
[data-animation="maskBg"].is-animated::after {
  animation: mask-bg-slide 1.2s cubic-bezier(0.8, 0, 0.17, 1) 0s forwards;
}
[data-animation="slideInUp"] {
  transform: translateY(80px);
}
[data-animation="slideInUp"].is-animated {
  animation: slideInUp 1s cubic-bezier(0.25, 1, 0.5, 1) 0s forwards;
}
[data-animation="slideInRight"] {
  transform: translateX(120px);
}
[data-animation="slideInRight"].is-animated {
  animation: slideInRight 1s cubic-bezier(0.25, 1, 0.5, 1) 0s forwards;
}
[data-animation="slideInLeft"] {
  transform: translateX(-120px);
}
[data-animation="slideInLeft"].is-animated {
  animation: slideInLeft 1s cubic-bezier(0.25, 1, 0.5, 1) 0s forwards;
}
[data-animation="bounceInUp"] {
  transform: translateY(120px);
}
[data-animation="bounceInUp"].is-animated {
  animation: bounceInUp 0.5s cubic-bezier(0.12, 0, 0.39, 0) 0s forwards;
}
[data-animation="bounceInDown"] {
  transform: translateY(-120px);
}
[data-animation="bounceInDown"].is-animated {
  animation: bounceInDown 0.5s cubic-bezier(0.12, 0, 0.39, 0) 0s forwards;
}
[data-animation="bounceInRight"] {
  transform: translateX(140px);
}
[data-animation="bounceInRight"].is-animated {
  animation: bounceInRight 0.5s cubic-bezier(0.12, 0, 0.39, 0) 0s forwards;
}
[data-animation="bounceInLeft"] {
  transform: translateX(-140px);
}
[data-animation="bounceInLeft"].is-animated {
  animation: bounceInLeft 0.5s cubic-bezier(0.12, 0, 0.39, 0) 0s forwards;
}
[data-animation="expose"].is-animated {
  animation: expose 1.2s ease-out forwards 0s;
}
[data-animation="line"] {
  display: block;
  position: relative;
  width: 100%;
  opacity: 1;
  visibility: visible;
}
[data-animation="line"]::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: var(--line-height, 1px);
  background: var(--line-color, linear-gradient(to right, #362ae0, #42d3ed));
  transform: translateX(-50%);
  transition: width 0.3s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}
[data-animation="line"]:hover::after {
  width: 100%;
}
@layer module {
  .fv {
    background: url("../images/sp/fv-bg.webp") no-repeat top center/100% auto;
    padding-top: var(--sz-68);
    aspect-ratio: 750/742;
  }
  .fv__inner {
    padding-inline: var(--sz-40) var(--sz-20);
    position: relative;
    height: 100%;
  }
  .fv__heading {
    margin-bottom: var(--sz-180);
    font-size: var(--sz-52);
  }
  .fv__label {
    margin-bottom: 0;
    padding: var(--sz-8) var(--sz-40) var(--sz-8) var(--sz-20);
    color: var(--color-white);
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, var(--color-gold) 0%, var(--color-gold-deep) 100%);
    font-family: var(--font-mincho);
    font-size: var(--sz-34);
    font-weight: 700;
    line-height: 1.2;
    width: -moz-fit-content;
    width: fit-content;
    clip-path: polygon(0 0, 100% 0, calc(100% - var(--sz-20)) 100%, 0 100%);
  }
  .fv__heading {
    color: var(--color-white);
    font-family: var(--font-mincho);
    font-size: var(--sz-68);
    font-weight: 700;
    line-height: 1.2;
    padding-left: var(--sz-20);
    letter-spacing: -0.02em;
    filter: drop-shadow(0 0 var(--sz-10) rgba(66, 45, 7, 0.568627451));
  }
  .fv__heading .sm {
    font-size: var(--sz-50);
  }
  .fv__lead {
    margin-bottom: 0;
    padding: var(--sz-22) var(--sz-48);
    border-radius: var(--sz-30) var(--sz-30) 0 0;
    color: var(--color-navy);
    background-color: var(--color-gray);
    font-family: var(--font-mincho);
    font-size: var(--sz-28);
    font-weight: 700;
    line-height: 1.45;
    position: absolute;
    bottom: 0;
  }
  .fv__hospital-name {
    font-size: var(--sz-38);
  }
  @media screen and (min-width: 992px) {
    .fv {
      background: url(../images/pc/fv-bg.webp) no-repeat top center/100% auto;
      padding-top: var(--sz-60);
      aspect-ratio: 1920/850;
    }
    .fv__inner {
      padding-inline: 0;
    }
    .fv__label {
      font-size: var(--sz-44);
      margin-bottom: var(--sz-10);
    }
    .fv__heading {
      font-size: var(--sz-88);
    }
    .fv__heading .sm {
      font-size: var(--sz-64);
    }
    .fv__lead {
      font-size: var(--sz-28);
    }
    .fv__hospital-name {
      font-size: var(--sz-38);
    }
  }
}
@layer module {
  .worry {
    position: relative;
  }
  .worry__upper {
    padding-block: var(--sz-92) 0;
    background-color: var(--color-gray);
  }
  .worry__heading {
    font-family: var(--font-mincho);
    font-size: var(--sz-50);
    font-weight: 700;
    text-align: center;
    margin-bottom: var(--sz-20);
  }
  .worry__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    aspect-ratio: 660/560;
    width: var(--sz-660);
    margin-inline: auto;
    position: relative;
  }
  .worry__item {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .worry__item:nth-child(1) {
    top: 0;
    left: 0;
    width: var(--sz-385);
  }
  .worry__item:nth-child(2) {
    top: var(--sz-128);
    right: 0;
    width: var(--sz-440);
  }
  .worry__item:nth-child(3) {
    top: var(--sz-252);
    left: 0;
    width: var(--sz-406);
  }
  .worry__item:nth-child(4) {
    top: var(--sz-320);
    right: 0;
    width: var(--sz-413);
  }
  .worry__item:nth-child(5) {
    top: var(--sz-390);
    left: 0;
    width: var(--sz-436);
  }
  .worry__item:nth-child(6) {
    bottom: 0;
    right: 0;
    width: var(--sz-405);
  }
  .worry__note {
    font-size: var(--sz-31);
    line-height: 1.6;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .worry__item-text {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    color: var(--color-white);
    font-size: var(--sz-30);
    font-weight: 500;
    line-height: 1.42;
    text-align: center;
    transform: translate(-50%, -50%);
  }
  .worry__dogs {
    margin-inline: auto;
    margin-bottom: var(--sz-10);
    width: var(--sz-520);
  }
  .worry__dots {
    margin-inline: auto;
    margin-bottom: calc(-1 * var(--sz-10));
    width: var(--sz-7);
  }
  .worry__note {
    padding: var(--sz-26) var(--sz-20) var(--sz-58);
    background: url("../images/sp/worry-bottom-bg.webp") no-repeat center top/100% auto;
    aspect-ratio: 750/254;
    font-family: var(--font-mincho);
    font-size: var(--sz-32);
    font-weight: 700;
    line-height: 1.65;
    margin-bottom: 0;
    text-align: center;
  }
  @media screen and (min-width: 992px) {
    .worry__upper {
      padding-block: var(--sz-138) 0;
    }
    .worry__heading {
      font-size: var(--sz-60);
      margin-bottom: var(--sz-55);
    }
    .worry__list {
      aspect-ratio: 1009/414;
      width: var(--sz-1009);
    }
    .worry__item:nth-child(2) {
      top: 0;
    }
    .worry__item:nth-child(3) {
      top: var(--sz-146);
      left: 50%;
      translate: -50%;
    }
    .worry__item:nth-child(4) {
      top: var(--sz-240);
      width: var(--sz-376);
    }
    .worry__item:nth-child(5) {
      top: var(--sz-236);
      width: var(--sz-413);
    }
    .worry__item:nth-child(6) {
      width: var(--sz-376);
      right: 50%;
      translate: 50%;
    }
    .worry__item-text {
      font-family: var(--font-mincho);
      font-size: var(--sz-31);
      letter-spacing: -0.05em;
    }
    .worry__dogs {
      width: var(--sz-605);
    }
    .worry__note {
      height: var(--sz-247);
      background: url(../images/pc/worry-bottom-bg.webp) no-repeat center top/1920px 100%;
      aspect-ratio: auto;
      font-size: var(--sz-45);
      padding: var(--sz-20) var(--sz-20) var(--sz-58);
    }
  }
}
@layer module {
  .result {
    padding-block: 0 var(--sz-110);
    margin-top: calc(-1 * var(--sz-100));
    position: relative;
  }
  .result__heading {
    font-family: var(--font-mincho);
    color: var(--color-white);
    line-height: 1.35;
    font-size: var(--sz-50);
    font-weight: bold;
    text-align: center;
    margin-bottom: var(--sz-40);
  }
  .result__lead {
    padding-block: var(--sz-56) var(--sz-75);
  }
  .result__lead-catch {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-bottom: var(--sz-30);
    padding: var(--sz-8) var(--sz-24);
    border-radius: var(--sz-4);
    color: var(--color-white);
    background-color: var(--color-orange);
    font-family: var(--font-mincho);
    font-size: var(--sz-56);
    text-align: center;
    font-weight: 700;
    line-height: 1.25;
  }
  .result__lead-text {
    margin-bottom: 0;
    color: var(--color-orange);
    font-family: var(--font-mincho);
    font-size: var(--sz-24);
    font-weight: 700;
    text-align: center;
  }
  .result__inner {
    padding-top: var(--sz-80);
    background: url(../images/sp/result-bg.webp) no-repeat center top/100% auto;
  }
  .result__list {
    display: flex;
    flex-direction: column;
    gap: var(--sz-42);
  }
  .result__item {
    position: relative;
    margin: 0;
    border-radius: var(--sz-40);
    overflow: hidden;
    width: var(--sz-601);
    margin-inline: auto;
  }
  .result__case {
    position: absolute;
    top: var(--sz-22);
    left: 0;
    z-index: 1;
    min-width: var(--sz-146);
    margin-bottom: 0;
    padding: var(--sz-4) var(--sz-18);
    color: var(--color-white);
    background: rgba(0, 0, 0, 0) linear-gradient(90deg, var(--color-gold) 0%, var(--color-gold-deep) 100%);
    font-family: var(--font-mincho);
    font-size: var(--sz-28);
    font-weight: 700;
    line-height: 1;
    clip-path: polygon(0 0, 100% 0, calc(100% - var(--sz-10)) 100%, 0 100%);
  }
  .result__case-number {
    margin-left: var(--sz-4);
  }
  .result__summary {
    position: absolute;
    top: var(--sz-72);
    left: var(--sz-186);
    z-index: 1;
    color: var(--color-brown);
    font-family: var(--font-mincho);
    text-align: center;
  }
  .result__title {
    margin-bottom: var(--sz-12);
    font-size: var(--sz-40);
    font-weight: 700;
    line-height: 1.25;
  }
  .result__meta {
    margin-bottom: 0;
    padding: var(--sz-3) var(--sz-18);
    background-color: hsla(39.66, 76.62%, 30.2%, 0.18);
    font-size: var(--sz-26);
    font-weight: 700;
    line-height: 1.3;
  }
  @media screen and (min-width: 992px) {
    .result {
      padding-block: 0 var(--sz-80);
      margin-top: 0;
    }
    .result__lead {
      padding-block: var(--sz-40) var(--sz-75);
    }
    .result__lead-catch {
      margin-bottom: var(--sz-20);
      font-size: var(--sz-63);
    }
    .result__lead-text {
      font-size: var(--sz-28);
    }
    .result__inner {
      max-width: unset;
      padding-top: var(--sz-64);
      background: url(../images/pc/result-bg.webp) no-repeat center top/100% auto;
    }
    .result__list {
      display: grid;
      grid-template-columns: repeat(2, auto);
      justify-content: center;
      gap: var(--sz-48);
    }
    .result__item {
      width: var(--sz-515);
      border-radius: var(--sz-33);
    }
    .result__case {
      top: var(--sz-22);
      font-size: var(--sz-24);
    }
    .result__summary {
      top: var(--sz-74);
      left: var(--sz-150);
    }
    .result__title {
      font-size: var(--sz-34);
    }
    .result__meta {
      font-size: var(--sz-22);
    }
  }
}
@layer module {
  .about {
    padding-block: 0 var(--sz-64);
    background: linear-gradient(to bottom, var(--color-white) var(--sz-200), var(--color-cream) var(--sz-200));
    position: relative;
    color: var(--color-brown-dark);
  }
  .about::before {
    content: "";
    background: url(../images/sp/patella-about-bg.webp) no-repeat center top var(--sz-216) / 100% auto;
    position: absolute;
    top: var(--sz-180);
    left: 0;
    width: 100%;
    height: var(--sz-58);
    z-index: 0;
  }
  .about__box {
    width: var(--sz-710);
    margin-inline: auto;
    background-color: var(--color-white);
    border-radius: var(--sz-30);
    padding: var(--sz-64) var(--sz-36);
    position: relative;
  }
  .about__heading {
    font-family: var(--font-mincho);
    font-size: var(--sz-58);
    font-weight: 600;
    text-align: center;
    margin-bottom: var(--sz-25);
  }
  .about__text {
    margin-inline: auto;
    margin-bottom: var(--sz-40);
    font-size: var(--sz-24);
    font-weight: 500;
  }
  .about__figures {
    display: flex;
    flex-direction: column;
    gap: var(--sz-24);
    align-items: center;
  }
  .about__figure {
    width: var(--sz-610);
  }
  @media screen and (min-width: 992px) {
    .about {
      background: linear-gradient(to bottom, var(--color-white) var(--sz-240), var(--color-cream) var(--sz-240));
    }
    .about::before {
      background: url(../images/pc/patella-about-bg.webp) no-repeat center top/100% auto;
      top: var(--sz-100);
      height: var(--sz-274);
      z-index: 0;
    }
    .about__inner {
      max-width: var(--sz-1400);
    }
    .about__box {
      width: 100%;
      padding: var(--sz-56) var(--sz-90);
    }
    .about__heading {
      font-size: var(--sz-60);
      margin-bottom: var(--sz-32);
    }
    .about__text {
      margin-bottom: var(--sz-26);
      font-size: var(--sz-24);
      padding-inline: var(--sz-110);
    }
    .about__figures {
      display: grid;
      grid-template-columns: 1fr 1.1fr;
      align-items: start;
    }
    .about__figure {
      width: auto;
    }
  }
}
@layer module {
  .inspection {
    padding-block: var(--sz-88);
    background-color: var(--color-cream);
    color: var(--color-brown-dark);
  }
  .inspection__heading {
    font-family: var(--font-mincho);
    font-size: var(--sz-58);
    font-weight: 600;
    text-align: center;
    margin-bottom: var(--sz-60);
  }
  .inspection__list {
    display: flex;
    flex-direction: column;
    gap: var(--sz-30);
  }
  .inspection__item {
    width: 100%;
    margin-inline: auto;
    padding: var(--sz-40) var(--sz-36);
    border-radius: var(--sz-30);
    color: var(--color-white);
    background-color: var(--color-brown-dark);
    position: relative;
  }
  .inspection__thumb {
    position: absolute;
    width: var(--sz-178);
    top: calc(-1 * var(--sz-20));
    right: var(--sz-36);
  }
  .inspection__thumb-image {
    width: 100%;
  }
  .inspection__title {
    display: flex;
    align-items: center;
    font-family: var(--font-mincho);
    font-size: var(--sz-47);
    font-weight: 600;
    margin-bottom: var(--sz-40);
  }
  .inspection__number {
    margin-right: var(--sz-16);
    padding: var(--sz-6) var(--sz-10);
    color: var(--color-brown-dark);
    background-color: var(--color-white);
    font-size: var(--sz-61);
    font-weight: 600;
    line-height: 1.1;
    aspect-ratio: 1;
    white-space: nowrap;
  }
  .inspection__text {
    margin-bottom: 0;
    font-size: var(--sz-22);
    line-height: 1.65;
  }
  @media screen and (min-width: 992px) {
    .inspection {
      padding-block: var(--sz-40);
    }
    .inspection__inner {
      max-width: var(--sz-1400);
    }
    .inspection__heading {
      font-size: var(--sz-60);
      margin-bottom: var(--sz-32);
    }
    .inspection__item {
      padding: var(--sz-40) var(--sz-60) var(--sz-40) var(--sz-250);
      display: grid;
      align-items: center;
      grid-template-columns: var(--sz-360) 1fr;
    }
    .inspection__thumb {
      width: var(--sz-209);
      top: 50%;
      right: unset;
      left: var(--sz-15);
      translate: 0 -50%;
    }
    .inspection__title {
      font-size: var(--sz-47);
      margin-bottom: 0;
    }
    .inspection__number {
      margin-right: var(--sz-20);
    }
    .inspection__text {
      font-size: var(--sz-22);
    }
  }
}
@layer module {
  .grade {
    padding-block: var(--sz-88) var(--sz-110);
    background-color: var(--color-cream);
    color: var(--color-brown-dark);
  }
  .grade__heading {
    font-family: var(--font-mincho);
    font-size: var(--sz-58);
    font-weight: bold;
    text-align: center;
    margin-bottom: var(--sz-20);
  }
  .grade__lead {
    margin-bottom: var(--sz-50);
    font-family: var(--font-mincho);
    font-size: var(--sz-28);
    font-weight: 700;
  }
  .grade__box {
    width: 100%;
    padding: var(--sz-24) var(--sz-12);
    border-radius: var(--sz-20);
    color: var(--color-brown-dark);
    background-color: var(--color-white);
  }
  .grade__head {
    display: grid;
    grid-template-columns: var(--sz-130) 1fr;
    gap: var(--sz-14);
    margin-bottom: var(--sz-8);
    padding-inline: var(--sz-10);
    font-size: var(--sz-28);
    font-weight: 700;
  }
  .grade__head-label {
    text-align: center;
  }
  .grade__list {
    display: flex;
    flex-direction: column;
    gap: var(--sz-6);
    margin-bottom: var(--sz-32);
  }
  .grade__item {
    display: grid;
    grid-template-columns: var(--sz-130) 1fr;
    gap: var(--sz-14);
    align-items: stretch;
    background-color: var(--bg);
  }
  .grade__item:nth-child(1) {
    --bg: hsl(40deg 55% 25% / 55%);
    --num: #a3957a;
  }
  .grade__item:nth-child(2) {
    --bg: hsl(40deg 55.2% 24.51% / 76%);
    --num: #84724e;
  }
  .grade__item:nth-child(3) {
    --bg: hsl(40deg 55% 25% / 90%);
    --num: #6f5a30;
  }
  .grade__item:nth-child(4) {
    --bg: var(--color-brown-dark);
    --num: var(--color-brown-dark);
  }
  .grade__number {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: var(--sz-107);
    width: var(--sz-95);
    margin-bottom: 0;
    margin-block: var(--sz-13);
    margin-left: var(--sz-15);
    border-radius: var(--sz-8);
    color: var(--num);
    background-color: var(--color-white);
    font-family: var(--font-mincho);
    font-size: var(--sz-45);
    font-weight: 700;
    line-height: 1;
  }
  .grade__number-note {
    margin-top: var(--sz-8);
    font-size: var(--sz-16);
    line-height: 1;
  }
  .grade__symptom {
    display: flex;
    align-items: center;
    margin-bottom: 0;
    padding: var(--sz-14) var(--sz-22) var(--sz-14) 0;
    color: var(--color-white);
    font-size: var(--sz-26);
    font-weight: 400;
    line-height: 1.55;
  }
  .grade__chart {
    width: var(--sz-632);
    margin-inline: auto;
  }
  @media screen and (min-width: 992px) {
    .grade {
      padding-block: var(--sz-80);
    }
    .grade__heading {
      font-size: var(--sz-60);
    }
    .grade__lead {
      font-size: var(--sz-30);
      margin-bottom: var(--sz-20);
    }
    .grade__box {
      padding: var(--sz-12) 0 var(--sz-34);
    }
    .grade__head {
      font-size: var(--sz-30);
      grid-template-columns: var(--sz-410) 1fr;
      margin-bottom: var(--sz-12);
      padding-inline: 0;
    }
    .grade__list {
      gap: var(--sz-4);
      margin-bottom: var(--sz-48);
    }
    .grade__item {
      grid-template-columns: var(--sz-410) 1fr;
    }
    .grade__number {
      font-size: var(--sz-49);
      margin-block: var(--sz-10);
      margin-left: var(--sz-26);
      width: var(--sz-384);
      min-height: unset;
      position: relative;
    }
    .grade__symptom {
      font-size: var(--sz-24);
      padding: var(--sz-14) var(--sz-32) var(--sz-14) var(--sz-14);
    }
    .grade__number-note {
      position: absolute;
      margin-top: 0;
      font-size: var(--sz-24);
      bottom: var(--sz-20);
      left: 55%;
    }
    .grade__chart {
      width: var(--sz-704);
    }
  }
}
@layer module {
  .cta {
    padding-block: var(--sz-140) var(--sz-110);
    background: url("../images/sp/cta-bg.webp") no-repeat center center/cover;
    text-align: center;
    aspect-ratio: 750/849;
  }
  .cta__text {
    margin-bottom: var(--sz-58);
    color: var(--color-white);
    text-shadow: 0 0 var(--sz-18) rgba(132, 60, 0, 0.7882352941);
    font-family: var(--font-mincho);
    font-size: var(--sz-48);
    font-weight: 700;
    line-height: 1.55;
  }
  .cta__buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--sz-42);
  }
  .cta__btn--tel {
    --color-shadow: #c05903;
  }
  .cta__btn--line {
    --color-shadow: #028437;
  }
  .cta__btn {
    display: block;
    width: var(--sz-665);
    text-decoration: none;
    filter: drop-shadow(0 var(--sz-12) 0 var(--color-shadow));
  }
  .cta__btn:hover {
    filter: drop-shadow(0 0 0 var(--color-shadow));
    translate: 0 var(--sz-4);
  }
  .cta__image {
    width: 100%;
  }
  @media screen and (min-width: 992px) {
    .cta {
      background-image: url("../images/pc/cta-bg.webp");
      aspect-ratio: 1920/495;
      padding-block: var(--sz-64) var(--sz-82);
    }
    .cta__text {
      margin-bottom: var(--sz-40);
      font-size: var(--sz-54);
      line-height: 1.17;
    }
    .cta__buttons {
      flex-direction: row;
      justify-content: center;
      gap: var(--sz-20);
    }
    .cta__btn {
      width: var(--sz-520);
      margin-inline: 0;
    }
  }
}
@layer module {
  .treatment {
    padding-block: var(--sz-88) var(--sz-145);
    color: var(--color-brown-dark);
    background-color: var(--color-cream);
  }
  .treatment__heading {
    margin-bottom: var(--sz-20);
    font-family: var(--font-mincho);
    font-size: var(--sz-58);
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .treatment__lead {
    margin-bottom: var(--sz-40);
    font-family: var(--font-mincho);
    font-size: var(--sz-30);
    font-weight: 700;
  }
  .treatment__method {
    margin-bottom: var(--sz-52);
    padding: var(--sz-42) var(--sz-28) var(--sz-28);
    border-radius: var(--sz-30);
    background: url(../images/sp/treatment-method-chart.webp) no-repeat center/cover;
    aspect-ratio: 706/505;
  }
  .treatment__method-head {
    margin-bottom: var(--sz-24);
    font-size: var(--sz-33);
    font-weight: 500;
    line-height: 1.35;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
  .treatment__method-row {
    display: flex;
    align-items: center;
    gap: var(--sz-20);
    margin-bottom: var(--sz-14);
  }
  .treatment__method-label {
    display: inline-block;
    font-family: var(--font-mincho);
    padding: var(--sz-8) var(--sz-18);
    color: var(--color-white);
    background-color: var(--color-brown-dark);
    font-size: var(--sz-37);
    font-weight: bold;
  }
  .treatment__method-row--surgery {
    color: var(--color-blue-deep);
  }
  .treatment__method-label--surgery {
    background-color: var(--color-blue-deep);
  }
  .treatment__text {
    margin-bottom: var(--sz-56);
    font-size: var(--sz-24);
    font-weight: 500;
    line-height: 1.75;
  }
  .treatment__text-row {
    margin-bottom: var(--sz-8);
  }
  .treatment__internal {
    padding: var(--sz-120) var(--sz-28) var(--sz-42);
    border-radius: var(--sz-30);
    background: var(--color-white) url("../images/sp/treatment-internal-bg.webp") no-repeat right bottom/cover;
    aspect-ratio: 699/516;
  }
  .treatment__internal-title {
    display: inline-block;
    margin-bottom: var(--sz-22);
    padding: var(--sz-8) var(--sz-18);
    color: var(--color-white);
    background-color: var(--color-brown-dark);
    font-family: var(--font-mincho);
    font-size: var(--sz-38);
    font-weight: 700;
    line-height: 1.35;
    margin-left: calc(-1 * var(--sz-28));
  }
  .treatment__internal-text {
    max-width: var(--sz-470);
    margin-bottom: 0;
    font-size: var(--sz-24);
    font-weight: 500;
    line-height: 1.65;
  }
  .treatment__internal-strong {
    color: var(--color-blue-deep);
  }
  @media screen and (min-width: 992px) {
    .treatment {
      padding-block: var(--sz-76) var(--sz-120);
    }
    .treatment__heading {
      font-size: var(--sz-60);
    }
    .treatment__lead {
      font-size: var(--sz-30);
      margin-bottom: var(--sz-35);
      text-align: center;
    }
    .treatment__method {
      margin-bottom: var(--sz-32);
      padding: var(--sz-48) var(--sz-64);
      border-radius: var(--sz-30);
      background: url(../images/pc/treatment-method-chart.webp) no-repeat center/cover;
      aspect-ratio: 1155/234;
    }
    .treatment__method-head {
      font-size: var(--sz-30);
      margin-bottom: 0;
      margin-inline: 0;
    }
    .treatment__method-row {
      gap: var(--sz-16);
    }
    .treatment__method-row--surgery {
      margin-bottom: 0;
    }
    .treatment__method-label {
      font-size: var(--sz-33);
    }
    .treatment__text {
      padding-inline: var(--sz-80);
    }
    .treatment__internal {
      padding: var(--sz-126) var(--sz-68) var(--sz-28);
      background-image: url("../images/pc/treatment-internal-bg.webp");
      aspect-ratio: 1140/465;
    }
    .treatment__internal-title {
      margin-bottom: var(--sz-16);
      font-size: var(--sz-38);
      padding: var(--sz-8) var(--sz-46) var(--sz-8) var(--sz-68);
      margin-left: calc(-1 * var(--sz-68));
    }
    .treatment__internal-text {
      max-width: var(--sz-520);
    }
  }
}
@layer module {
  .operation {
    padding-block: var(--sz-88);
    background-color: var(--color-white);
    color: var(--color-brown-dark);
  }
  .operation__heading {
    margin-bottom: var(--sz-50);
    font-family: var(--font-mincho);
    font-size: var(--sz-58);
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .operation__list {
    display: flex;
    flex-direction: column;
    gap: var(--sz-56);
  }
  .operation__item {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sz-36);
    align-items: center;
    padding: var(--sz-36);
    border: var(--sz-2) solid var(--color-brown-dark);
    border-radius: var(--sz-24);
    background-color: var(--color-white);
  }
  .operation__item:nth-child(1) {
    --img-size: var(--sz-444);
  }
  .operation__item:nth-child(2) {
    --img-size: var(--sz-496);
  }
  .operation__item:nth-child(3) {
    --img-size: var(--sz-461);
  }
  .operation__title {
    font-family: var(--font-mincho);
    font-size: var(--sz-47);
    font-weight: 700;
    line-height: 1.35;
    display: flex;
    align-items: center;
    margin-bottom: var(--sz-30);
  }
  .operation__method {
    display: inline-block;
    margin-right: var(--sz-14);
    padding: var(--sz-8) var(--sz-14);
    color: var(--color-white);
    background-color: var(--color-brown-dark);
    font-size: var(--sz-33);
  }
  .operation__text {
    margin-bottom: 0;
    font-size: var(--sz-25);
    font-weight: 600;
  }
  .operation__figure {
    width: var(--img-size);
    margin-inline: auto;
  }
  @media screen and (min-width: 992px) {
    .operation {
      padding-block: var(--sz-82) var(--sz-162);
    }
    .operation__heading {
      font-size: var(--sz-60);
      margin-bottom: var(--sz-50);
    }
    .operation__list {
      gap: var(--sz-42);
    }
    .operation__item {
      gap: var(--sz-22);
      padding: var(--sz-50) var(--sz-68);
      border-radius: var(--sz-30);
      grid-template-columns: var(--sz-587) 1fr;
    }
    .operation__item:nth-child(3) {
      --img-size: var(--sz-361);
    }
    .operation__title {
      margin-bottom: var(--sz-22);
    }
    .operation__method {
      padding: var(--sz-4) var(--sz-14);
    }
    .operation__text {
      font-size: var(--sz-30);
    }
    .operation__figure {
      width: auto;
    }
    .operation__item:nth-child(4) {
      grid-template-columns: 1fr;
    }
  }
}
@layer module {
  .reason {
    padding-block: var(--sz-126) var(--sz-18);
    background: url("../images/sp/reason-bg.webp") no-repeat center top/100% auto;
  }
  .reason__box {
    padding: var(--sz-54) var(--sz-40);
    border-radius: var(--sz-30);
    background-color: #efeff1;
  }
  .reason__logo {
    width: var(--sz-317);
    margin-inline: auto;
    margin-bottom: var(--sz-20);
  }
  .reason__heading {
    margin-bottom: var(--sz-50);
    color: var(--color-default);
    font-family: var(--font-mincho);
    font-size: var(--sz-50);
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .reason__heading-mark {
    --color-mark: #efcdb6;
  }
  .reason__list {
    display: flex;
    flex-direction: column;
    gap: var(--sz-34);
  }
  .reason__item {
    display: grid;
    grid-template-columns: var(--sz-259) 1fr;
    gap: var(--sz-18) var(--sz-24);
    align-items: start;
    padding-bottom: var(--sz-34);
  }
  .reason__item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
  .reason__thumb {
    display: block;
    grid-column: 1;
    grid-row: 2;
  }
  .reason__thumb-image {
    width: 100%;
    border-radius: var(--sz-10);
  }
  .reason__body {
    display: contents;
  }
  .reason__item-head {
    display: flex;
    grid-column: 1/-1;
    grid-row: 1;
    gap: var(--sz-14);
    align-items: flex-start;
    padding-bottom: var(--sz-12);
    border-bottom: 1px solid var(--color-default);
  }
  .reason__number {
    flex: 0 0 auto;
    color: var(--color-navy);
    font-family: var(--font-mincho);
    font-size: var(--sz-55);
    font-weight: 700;
    line-height: 1;
  }
  .reason__title {
    display: block;
    font-family: var(--font-mincho);
    font-size: var(--sz-36);
    font-weight: 700;
    line-height: 1.35;
  }
  .reason__text {
    grid-column: 2;
    grid-row: 2;
    margin-bottom: 0;
    font-size: var(--sz-22);
    font-weight: 400;
    line-height: 1.72;
  }
  @media screen and (min-width: 992px) {
    .reason {
      padding-block: var(--sz-114) var(--sz-140);
      background-image: url("../images/pc/reason-bg.webp");
      background-size: cover;
    }
    .reason__inner {
      max-width: var(--sz-1400);
    }
    .reason__box {
      padding: var(--sz-54) var(--sz-160) var(--sz-118) var(--sz-146);
      background: rgba(0, 0, 0, 0) linear-gradient(308deg, #fffdfc 0%, #fffdfc 0%, #fff6e9 33%, #fdfdfd 60%, #eae7dd 100%, #eae7dd 100%);
    }
    .reason__logo {
      width: var(--sz-377);
    }
    .reason__heading {
      font-size: var(--sz-60);
      margin-bottom: var(--sz-82);
    }
    .reason__list {
      gap: var(--sz-40);
    }
    .reason__item {
      grid-template-columns: var(--sz-287) 1fr;
      gap: var(--sz-40);
      padding-bottom: 0;
    }
    .reason__thumb {
      grid-column: auto;
      grid-row: auto;
    }
    .reason__body {
      display: grid;
      gap: var(--sz-16);
      align-items: start;
    }
    .reason__item-head {
      grid-column: auto;
      grid-row: auto;
      gap: var(--sz-16);
      align-items: flex-start;
      padding-inline: var(--sz-8);
    }
    .reason__number {
      font-size: var(--sz-60);
    }
    .reason__title {
      font-size: var(--sz-42);
      line-height: 1.45;
    }
    .reason__text {
      grid-column: auto;
      grid-row: auto;
      line-height: 1.65;
    }
  }
}
@layer module {
  .price {
    padding-block: var(--sz-88);
    background-color: var(--color-white);
  }
  .price__heading {
    margin-bottom: var(--sz-50);
    color: var(--color-default);
    font-family: var(--font-mincho);
    font-size: var(--sz-48);
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .price__list {
    width: var(--sz-630);
    margin-inline: auto;
    font-family: var(--font-mincho);
    font-size: var(--sz-36);
    font-weight: 600;
  }
  .price__item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: var(--sz-24);
    align-items: center;
  }
  .price__item::before {
    content: "";
    display: block;
    grid-column: 2;
    grid-row: 1;
    border-bottom: 1px solid var(--color-default);
  }
  .price__name {
    grid-column: 1;
    grid-row: 1;
  }
  .price__value {
    grid-column: 3;
    grid-row: 1;
    margin-bottom: 0;
  }
  @media screen and (min-width: 992px) {
    .price {
      padding-block: var(--sz-130);
    }
    .price__heading {
      font-size: var(--sz-60);
      margin-bottom: var(--sz-58);
    }
    .price__list {
      width: var(--sz-820);
      font-size: var(--sz-44);
    }
    .price__unit {
      font-size: var(--sz-34);
    }
  }
}
@layer module {
  .flow {
    padding-block: var(--sz-86) var(--sz-138);
    background: var(--color-blue) url("../images/sp/flow-bg.webp") no-repeat center top/cover;
  }
  .flow__heading {
    margin-bottom: var(--sz-50);
    color: var(--color-white);
    font-family: var(--font-mincho);
    font-size: var(--sz-48);
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .flow__list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: var(--sz-48);
    padding-left: var(--sz-124);
    margin-bottom: var(--sz-78);
  }
  .flow__list::before {
    content: "";
    position: absolute;
    top: var(--sz-38);
    bottom: var(--sz-360);
    left: 0;
    width: var(--sz-94);
    border-radius: 100vh;
    background-color: var(--color-navy);
  }
  .flow__item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
  }
  .flow__item::before {
    content: "";
    position: absolute;
    top: var(--sz-124);
    left: calc(-1 * var(--sz-30));
    background: url(../images/sp/flow-dots.webp) no-repeat top left/contain;
    aspect-ratio: 30/8;
    width: var(--sz-30);
  }
  .flow__step {
    position: absolute;
    top: var(--sz-84);
    left: calc(-1 * var(--sz-124));
    z-index: 1;
    display: block;
    width: var(--sz-94);
    color: var(--color-white);
    background-color: rgba(0, 0, 0, 0);
    font-family: var(--font-mincho);
    font-size: var(--sz-17);
    font-weight: 600;
    line-height: 1.1;
    text-align: center;
  }
  .flow__step .num {
    font-size: var(--sz-55);
  }
  .flow__card {
    padding: var(--sz-34) var(--sz-34) var(--sz-28);
    border-radius: var(--sz-20);
    background-color: var(--color-white);
    border: var(--sz-2) solid var(--color-default);
  }
  .flow__card-title {
    margin-bottom: var(--sz-18);
    color: var(--color-default);
    font-family: var(--font-mincho);
    font-size: var(--sz-36);
    font-weight: 600;
    line-height: 1.35;
  }
  .flow__text {
    margin-bottom: var(--sz-24);
    font-size: var(--sz-22);
    font-weight: 400;
    line-height: 1.7;
  }
  .flow__thumb {
    width: var(--sz-445);
    margin-inline: auto;
  }
  .flow__thumb img {
    width: 100%;
  }
  .flow__treatments {
    display: flex;
    flex-direction: column;
    gap: var(--sz-56);
    color: var(--color-white);
    width: var(--sz-650);
    margin-inline: auto;
  }
  .flow__treatment {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--sz-32);
    align-items: start;
  }
  .flow__treatment dt {
    font-family: var(--font-mincho);
    font-size: var(--sz-38);
    font-weight: 600;
    line-height: 1.35;
  }
  .flow__treatment dd {
    margin-bottom: 0;
    font-size: var(--sz-22);
    line-height: 1.8;
  }
  @media screen and (min-width: 992px) {
    .flow {
      padding-block: var(--sz-95) var(--sz-109);
      background-image: url("../images/pc/flow-bg.webp");
    }
    .flow__inner {
      max-width: var(--sz-1320);
    }
    .flow__heading {
      font-size: var(--sz-60);
      margin-bottom: var(--sz-72);
    }
    .flow__list {
      padding-left: var(--sz-130);
      gap: var(--sz-32);
    }
    .flow__list::before {
      top: 0;
      bottom: 0;
      width: var(--sz-94);
    }
    .flow__item::before {
      background-image: url(../images/pc/pic-dots.webp);
    }
    .flow__step {
      left: calc(-1 * var(--sz-128));
      width: var(--sz-88);
    }
    .flow__card {
      display: grid;
      grid-template-columns: 1fr var(--sz-354);
      gap: 0 var(--sz-26);
      align-items: center;
      padding: var(--sz-24) var(--sz-40) var(--sz-24) var(--sz-68);
    }
    .flow__card-title {
      font-size: var(--sz-48);
    }
    .flow__card-title,
    .flow__text {
      grid-column: 1;
    }
    .flow__text {
      font-size: var(--sz-22);
    }
    .flow__thumb {
      grid-column: 2;
      grid-row: 1 / span 2;
      width: auto;
      margin-inline: 0;
    }
    .flow__treatments {
      gap: var(--sz-40);
      width: var(--sz-784);
    }
    .flow__treatment {
      grid-template-columns: var(--sz-170) 1fr;
      gap: var(--sz-30);
    }
    .flow__treatment dt {
      font-size: var(--sz-42);
    }
    .flow__treatment dd {
      font-size: var(--sz-21);
    }
  }
}
.access {
  background-color: var(--color-white);
  padding-block: var(--sz-100);
}
.access__heading {
  font-family: var(--font-mincho);
  font-size: var(--sz-60);
  font-weight: 600;
  text-align: center;
  margin-bottom: var(--sz-48);
}
.access__hospital-list {
  display: flex;
  flex-direction: column;
  gap: var(--sz-24);
  max-width: 660px;
  margin-inline: auto;
}
.access__hospital-item {
  display: flex;
  flex-direction: column;
  gap: var(--sz-16);
}
.access__hospital-title {
  color: var(--color-white);
  background-color: var(--color-default);
  font-family: var(--font-mincho);
  font-size: var(--sz-46);
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.08em;
  padding: 0.2em;
  position: relative;
  cursor: pointer;
}
.access__hospital-title::after {
  content: "";
  font-family: "Font Awesome 7 Free";
  color: var(--color-default);
  background-color: var(--color-white);
  border-radius: 100vh;
  width: var(--sz-36);
  height: var(--sz-36);
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: var(--sz-28);
  font-weight: bold;
  position: absolute;
  top: 50%;
  right: var(--sz-24);
  translate: 0 -50%;
  transition: 0.3s;
  padding: 0 0 0 0.1em;
}
.active .access__hospital-title::after {
  scale: 1 -1;
}
.access__hospital-content {
  color: var(--color-brown-deep);
}
.access__info-row {
  display: grid;
  grid-template-columns: auto 1fr;
  font-size: var(--sz-34);
  font-weight: normal;
  line-height: 1.56;
  padding: var(--sz-28);
  gap: 1em;
  --mb-p: 0;
}
.access__list {
  background-color: var(--color-cream-light);
  border-radius: var(--sz-10);
  padding: var(--sz-52) var(--sz-24);
  display: flex;
  flex-direction: column;
  gap: var(--sz-40);
}
.access__item {
  --mb-p: 1em;
}
.access__item-title {
  font-family: var(--font-mincho);
  font-size: var(--sz-40);
  font-weight: 600;
  padding: 0.2em;
  padding-left: var(--sz-64);
  border-bottom: var(--sz-2) solid;
}
.access__item-title--car {
  background: url(../images/sp/icon-car.webp) no-repeat center left var(--sz-6) / var(--sz-42);
}
.access__item-title--bus {
  background: url(../images/sp/icon-bus.webp) no-repeat center left var(--sz-6) / var(--sz-48);
}
.access__item-text {
  font-size: var(--sz-28);
  font-weight: normal;
  line-height: 1.56;
  padding: 0.5em;
}
.access__item-paragraph:last-child {
  margin-bottom: 0;
}
.access__detail-row {
  display: grid;
  grid-template-columns: auto 1fr;
}
.access__map-btn {
  border-radius: var(--sz-10);
  border: var(--sz-2) solid;
  width: 100%;
  font-family: var(--font-mincho);
  font-size: var(--sz-30);
  font-weight: 600;
  padding: 1em;
  color: currentColor;
  --bs-btn-hover-color: var(--color-default);
  --bs-btn-hover-bg: var(--color-white);
  --bs-btn-hover-border-color: var(--color-default);
  --bs-btn-active-color: var(--color-default);
  --bs-btn-active-bg: var(--color-white);
  --bs-btn-active-border-color: var(--color-default);
}
@media screen and (min-width: 992px) {
  .access {
    padding-block: var(--sz-80);
  }
  .access__heading {
    margin-bottom: var(--sz-40);
  }
}
.faq {
  background-color: var(--color-white);
  padding-block: var(--sz-100);
}
.faq__heading {
  font-family: var(--font-mincho);
  font-size: var(--sz-60);
  font-weight: 900;
  text-align: center;
  margin-bottom: var(--sz-52);
}
.faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--sz-72);
}
.faq__item {
  display: flex;
  flex-direction: column;
  gap: var(--sz-16);
}
.faq__question {
  position: relative;
  font-size: var(--sz-36);
  font-weight: bold;
  line-height: 1.2;
  padding: var(--sz-26);
  padding-left: var(--sz-112);
  background-color: var(--color-cream-light);
  min-height: var(--sz-92);
}
.faq__question::before {
  content: "Q";
  color: var(--color-white);
  background-color: #d4bb75;
  font-size: var(--sz-58);
  font-weight: normal;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
  width: var(--sz-92);
  position: absolute;
  top: 0;
  left: 0;
}
.faq__answer {
  position: relative;
  font-size: var(--sz-28);
  font-weight: bold;
  line-height: 1.46;
  padding: var(--sz-28);
  padding-left: var(--sz-112);
  background-color: #eaeaea;
  min-height: var(--sz-92);
}
.faq__answer::before {
  content: "A";
  color: var(--color-white);
  background-color: #6b7a8f;
  font-size: var(--sz-58);
  font-weight: normal;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1;
  width: var(--sz-92);
  position: absolute;
  top: 0;
  left: 0;
}
.faq__answer-text {
  --mb-p: 1em;
}
.faq__answer-paragraph {
  margin-bottom: 0;
}
.faq__payment-icons {
  width: var(--sz-425);
}
@media screen and (min-width: 992px) {
  .faq {
    padding-block: var(--sz-80) var(--sz-160);
  }
  .faq__heading {
    margin-bottom: var(--sz-56);
  }
  .faq__list {
    gap: var(--sz-52);
  }
  .faq__question {
    padding-left: var(--sz-124);
  }
  .faq__answer {
    font-size: var(--sz-24);
    padding-left: var(--sz-124);
  }
}
@layer module {
  .modal {
    --bs-modal-margin: var(--sz-48);
  }
  .modal-dialog {
    --bs-modal-width: var(--sz-642);
  }
  .modal-body {
    padding: var(--sz-44) var(--sz-64) var(--sz-80);
  }
  .modal__close-btn {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    width: var(--sz-50);
    height: var(--sz-50);
    border-radius: 100vh;
    background-color: var(--color-white);
    filter: drop-shadow(var(--sz-4) var(--sz-4) var(--sz-4) rgba(0, 0, 0, 0.4));
    opacity: 1;
    outline: none;
    translate: 25% -25%;
  }
  .modal__close-btn:hover,
  .modal__close-btn:focus {
    opacity: 1;
    box-shadow: none;
  }
  .modal__heading {
    margin-bottom: var(--sz-60);
    color: #313131;
    font-family: var(--font-mincho);
    font-size: var(--sz-42);
    font-weight: bold;
    text-align: center;
  }
  .modal__hospital-list {
    display: grid;
    gap: var(--sz-48);
  }
  .modal__hospital-item {
    position: relative;
    padding: var(--sz-52) var(--sz-52) var(--sz-28);
    color: var(--color-brown-deep);
    background-color: var(--color-cream-light);
  }
  .modal__hospital-name {
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(100% - 2 * var(--sz-52));
    padding: 0.3em 0.5em;
    border-radius: var(--sz-22);
    color: var(--color-white);
    background-color: var(--color-brown-deep);
    font-size: var(--sz-28);
    text-align: center;
    translate: -50% -50%;
  }
  .modal__tel-action {
    margin-bottom: var(--sz-16);
  }
  .modal__tel-link {
    --color-shadow: #bd5702;
    display: grid;
    grid-template-columns: var(--sz-36) auto;
    justify-content: center;
    align-items: center;
    gap: var(--sz-16);
    width: 100%;
    padding: var(--sz-16);
    border-radius: var(--sz-10);
    color: var(--color-white);
    background-color: var(--color-orange);
    filter: drop-shadow(0 var(--sz-10) 0 var(--color-shadow));
    --bs-btn-hover-color: var(--color-white);
    --bs-btn-hover-bg: var(--color-orange);
    --bs-btn-hover-border-color: var(--color-white);
    --bs-btn-active-color: var(--color-white);
    --bs-btn-active-bg: var(--color-orange);
    --bs-btn-active-border-color: var(--color-white);
  }
  .modal__tel-link:hover {
    filter: drop-shadow(0 0 0 var(--color-shadow));
    translate: 0 var(--sz-4);
  }
  .modal__tel-number {
    font-family: var(--font-barlow);
    font-size: var(--sz-44);
    font-weight: bold;
    line-height: 1.75;
    letter-spacing: 0.02em;
  }
  .modal__hospital-info {
    text-align: center;
  }
  .modal__hospital-note {
    margin-bottom: 0;
    font-size: var(--sz-18);
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .modal__hospital-sub-note {
    margin-bottom: 0;
    font-size: var(--sz-14);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.08em;
    text-align: center;
  }
  @media screen and (min-width: 992px) {
    .modal-dialog {
      --bs-modal-width: 1155px;
    }
    .modal-body {
      padding: var(--sz-48);
    }
    .modal__hospital-list {
      grid-template-columns: repeat(2, 1fr);
      gap: var(--sz-40) var(--sz-20);
    }
  }
  .modal-line-sp__body {
    max-height: 50vh;
    padding: var(--sz-52) 0 var(--sz-44);
    overflow-y: scroll;
  }
  .modal-line-sp__heading {
    margin-bottom: var(--sz-44);
    color: #313131;
    font-family: var(--font-mincho);
    font-size: var(--sz-42);
    font-weight: bold;
    text-align: center;
  }
  .modal-line-sp__flow {
    display: flex;
    flex-direction: column;
    gap: var(--sz-32);
  }
  .modal-line-sp__step-item {
    --mb-p: 1em;
    padding: var(--sz-28) var(--sz-36);
    color: var(--color-brown-deep);
    background-color: var(--color-cream-light);
    font-size: var(--sz-26);
    font-weight: 500;
    line-height: 1.35;
  }
  .modal-line-sp__step-item p:last-child {
    margin-bottom: 0;
  }
  .modal-line-sp__step-badge {
    display: inline-block;
    margin-bottom: var(--sz-16);
    padding: 0.1em 0.4em;
    color: var(--color-white);
    background-color: var(--color-brown-deep);
    font-size: var(--sz-27);
    font-weight: bold;
    line-height: 1.7;
    letter-spacing: 0.08em;
  }
  .modal-line-sp__step-note {
    font-size: var(--sz-22);
  }
  .modal-line-sp__image-add-friend {
    width: var(--sz-486);
    margin-inline: unset;
  }
  .modal-line-sp__image-rich-menu {
    width: var(--sz-549);
    margin-inline: unset;
  }
  .modal-line-sp__footer {
    padding: var(--sz-28) var(--sz-28) var(--sz-40);
    background-color: #00b101;
  }
  .modal-line-sp__footer-title {
    margin-bottom: var(--sz-24);
    color: var(--color-white);
    font-size: var(--sz-26);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .modal-line-sp__footer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sz-20) var(--sz-24);
  }
  .modal-line-sp__btn-hospital {
    padding: 0.5em;
    border-radius: 0;
    color: #00b101;
    background-color: var(--color-white);
    font-size: var(--sz-24);
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
  }
  .modal-dialog:has(.modal-line-pc) {
    --bs-modal-width: var(--sz-942);
  }
  .modal-line-pc {
    color: var(--color-white);
    background-color: #00b101;
  }
  .modal-line-pc__body {
    padding: var(--sz-44) var(--sz-116) var(--sz-100);
  }
  .modal-line__heading {
    margin-bottom: var(--sz-28);
    font-family: var(--font-mincho);
    font-size: var(--sz-42);
    font-weight: bold;
    letter-spacing: 0.08em;
    text-align: center;
  }
  .modal-line__hospital-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sz-24) var(--sz-64);
  }
  .modal-line__region {
    margin-bottom: 0.2em;
    color: #f6f300;
    font-size: var(--sz-27);
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
  }
  .modal-line__name {
    margin-bottom: 0.2em;
    color: var(--color-white);
    font-size: var(--sz-27);
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
  }
  .modal-line__qr img {
    width: var(--sz-191);
  }
}
@layer module {
  .pagetop {
    width: var(--sz-107);
    bottom: var(--sz-140);
    z-index: 101;
  }
  .pagetop__link.pagetop__link {
    display: block;
    padding: 0;
    color: inherit;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
    line-height: 1;
    text-decoration: none;
  }
  .pagetop__image {
    width: 100%;
  }
  .follow {
    padding: var(--sz-12);
    background-color: hsla(0, 0%, 100%, 0.7);
  }
  .follow--type1 {
    position: fixed;
    bottom: 0;
    left: 50%;
    z-index: 100;
    display: none;
    width: 100%;
    max-width: 750px;
    transform: translateX(-50%);
  }
  .follow__list {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: center;
    gap: var(--sz-12);
  }
  .follow__item--tel {
    order: 1;
  }
  .follow__item--line {
    order: 0;
  }
  .follow__image {
    width: 100%;
  }
  @media screen and (min-width: 992px) {
    .pagetop {
      bottom: 25px;
    }
    .follow--type1 {
      max-width: 100%;
    }
    .follow__item--tel {
      order: 0;
    }
    .follow__item--line {
      order: 1;
    }
  }
}
