
/* Reset & Base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

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

body {
  font-family: 'Kiwi Maru', serif;
  background-color: #ffffff;
  overflow: hidden;
}

body.loading-complete {
  overflow-x: hidden;
  overflow-y: auto;
}

/* Utility Classes */
.sp-only {
  display: none;
}

.pc-only {
  display: inline;
}

@media (max-width: 48rem) { /* 768px */
  .sp-only {
    display: inline;
  }

  .pc-only {
    display: none;
  }
}

/* Loading Component - BEM */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  z-index: 9999;
}

.loading__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
}

.loading__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem; /* 16px */
  padding: 0 1.25rem; /* 20px 左右の余白 */
  max-width: 100%;
}

.loading__txt1 {
  position: relative;
  width: 15.625rem; /* 250px */
  height: 3.125rem; /* 50px */
  max-width: 100%;
}

.loading__txt2 {
  position: relative;
  width: 31.6875rem; /* 507px */
  height: 3.125rem; /* 50px */
  max-width: 100%;
}

.loading__zabuton {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.loading__zabuton--txt1 {
  width: 15.625rem; /* 250px */
  height: 3.125rem; /* 50px */
}

.loading__zabuton--txt2 {
  width: 31.6875rem; /* 507px */
  height: 3.125rem; /* 50px */
}

.loading__text {
  position: absolute;
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 1.625rem; /* 26px */
  line-height: 1.625rem; /* 26px */
  color: #14a0d2;
  white-space: pre;
  z-index: 1;
}

.loading__text--txt1 {
  left: 1rem; /* 16px */
  top: 0.75rem; /* 12px */
  letter-spacing: 0.08125rem; /* 1.3px */
}

.loading__text--txt2 {
  left: 1rem; /* 16px */
  top: 0.6875rem; /* 11px */
  letter-spacing: 0.04875rem; /* 0.78px */
}

/* txt2の特殊なletter-spacing */
.loading__text-span1 {
  letter-spacing: 0.02rem; /* 0.32px */
}

.loading__text-span2 {
  letter-spacing: 0.07rem; /* 1.12px */
}

.loading__text-span3 {
  letter-spacing: -0.06rem; /* -0.96px */
}

/* Responsive Design */
/* タブレット (768px以下) */
@media (max-width: 48rem) {
  .loading__content {
    gap: 0.875rem; /* 14px */
    padding: 0 1rem; /* 16px */
    left: 35%;
    transform: translate(-50%, -50%) scale(0.7);
  }

  .loading__txt2 {
    width: 45rem; /* 720px - scaleで70%になるので最終的に504px */
    max-width: none;
  }
}

/* スマートフォン (576px以下) */
@media (max-width: 36rem) {
  .loading__content {
    gap: 0.75rem; /* 12px */
    padding: 0 0.75rem; /* 12px */
  }

  .loading__text--txt1 {
    left: 0.875rem; /* 14px */
    top: 0.625rem; /* 10px */
  }

  .loading__text--txt2 {
    left: 0.875rem; /* 14px */
    top: 0.5625rem; /* 9px */
  }
}

/* 極小スマートフォン (375px以下) */
@media (max-width: 23.4375rem) {
  .loading__content {
    gap: 0.625rem; /* 10px */
    padding: 0 0.625rem; /* 10px */
  }

  .loading__text--txt1 {
    left: 0.75rem; /* 12px */
    top: 0.5rem; /* 8px */
  }

  .loading__text--txt2 {
    left: 0.75rem; /* 12px */
    top: 0.5rem; /* 8px */
  }
}

/* Main */
main {
  width: 100%;
  background-color: #ffffff;
}

/* TOPページのみ、ローディングアニメーション中はmainを非表示 */
.home main,
.page-home main {
  opacity: 0;
  visibility: hidden;
}

.home main.is-visible,
.page-home main.is-visible {
  opacity: 1;
  visibility: visible;
}

/* About page */
.page-about {
  background-color: #FFF7EE;
  overflow: visible;
}

.page-about main {
  background-color: transparent;
}

/* Main Visual (First View Section) */
.main-visual {
  position: relative;
  width: 100vw;
  height: 60rem; /* 960px */
  overflow: hidden;
}

.main-visual::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #FFF7EE;
  z-index: 0;
}

.main-visual::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/fv-bg.webp');
  background-size: 100% auto;
  background-position: center bottom;
  background-repeat: no-repeat;
  z-index: 1;
  pointer-events: none;
}

/* FV Teeth */
.fv-teeth {
  position: absolute;
  left: 50%;
  bottom: 16.25rem; /* 260px (100px + 160px) */
  transform: translateX(-50%);
  width: 25rem; /* 400px */
  height: 28.75rem; /* 460px */
  pointer-events: none;
  z-index: 2;
}

.fv-teeth__img {
  width: 100%;
  height: 100%;
  display: block;
}

/* FV Catchphrase */
.fv-catchphrase {
  position: absolute;
  left: 50%;
  top: 32%;
  transform: translateX(-50%);
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 2.25rem; /* 36px */
  line-height: 1.6;
  color: #53545d;
  text-align: center;
  z-index: 4;
  opacity: 0;
}

.fv-catchphrase__line {
  margin: 0;
  overflow: hidden;
}

.fv-catchphrase__line1,
.fv-catchphrase__line2,
.fv-catchphrase__line3 {
  clip-path: inset(0 100% 0 0);
}

.fv-catchphrase__highlight {
  color: #b78a57;
}

/* FV Union1 */
.fv-union1 {
  position: absolute;
  left: 39%;
  top: 54%;
  width: 4.625rem; /* 74px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}

.fv-union1__img {
  width: 100%;
  height: auto;
  display: block;
}

/* FV Union2 */
.fv-union2 {
  position: absolute;
  right: 37%;
  top: 31%;
  width: 3.1875rem; /* 51px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}

.fv-union2__img {
  width: 100%;
  height: auto;
  display: block;
}

/* FV Woman */
.fv-woman {
  position: absolute;
  left: 31%;
  bottom: 16.875rem; /* 270px (110px + 160px) */
  width: 8.375rem; /* 134px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}

.fv-woman__img {
  width: 100%;
  height: auto;
  display: block;
}

/* FV Woman2 */
.fv-woman2 {
  position: absolute;
  right: 20%;
  bottom: 19.875rem; /* 318px (158px + 160px) */
  width: 9.6875rem; /* 155px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}

.fv-woman2__img {
  width: 100%;
  height: auto;
  display: block;
}

/* FV Man */
.fv-man {
  position: absolute;
  right: 31%;
  bottom: 16.25rem; /* 260px (100px + 160px) */
  width: 13.1875rem; /* 211px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}

.fv-man__img {
  width: 100%;
  height: auto;
  display: block;
}

/* FV Man1 */
.fv-man1 {
  position: absolute;
  left: 16%;
  bottom: 18.25rem; /* 292px (132px + 160px) */
  width: 12.6875rem; /* 203px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}

.fv-man1__img {
  width: 100%;
  height: auto;
  display: block;
}

/* FV Item 1 */
.fv-item1 {
  position: absolute;
  left: 20.75rem; /* 332px */
  top: -0.75rem; /* -12px */
  width: 15.5rem; /* 248px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}

.fv-item1__img {
  width: 100%;
  height: auto;
  display: block;
}

/* FV Item 2 */
.fv-item2 {
  position: absolute;
  right: 0;
  top: 17.5rem; /* 280px */
  width: 4.625rem; /* 74px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}

.fv-item2__img {
  width: 100%;
  height: auto;
  display: block;
}

/* FV Item 3 */
.fv-item3 {
  position: absolute;
  left: 31%;
  bottom: 6rem; /* 96px */
  width: 9.375rem; /* 150px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}

.fv-item3__img {
  width: 100%;
  height: auto;
  display: block;
}

/* FV Item 4 */
.fv-item4 {
  position: absolute;
  right: 25%;
  top: 8rem; /* 128px */
  width: 8rem; /* 128px */
  height: auto;
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}

.fv-item4__img {
  width: 100%;
  height: auto;
  display: block;
}

/* Header Component - BEM */
.header {
  position: fixed;
  top: 2.5rem; /* 40px */
  left: 2.5rem; /* 40px */
  right: 2.5rem; /* 40px */
  z-index: 4;
}

.header__inner {
  position: relative;
  display: flex;
  align-items: center;
  height: 4.375rem; /* 70px */
}

.header__logo {
  margin: 0;
  font-size: 1rem;
  width: 8.1875rem; /* 131px */
  height: 4.375rem; /* 70px */
  flex-shrink: 0;
}

.header__logo-link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  text-decoration: none;
}

.header__logo-banba {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 20.57%; /* From Figma: bottom: 20.57% */
}

.header__logo-banba-img {
  width: 100%;
  height: 100%;
  display: block;
}

.header__logo-text {
  position: absolute;
  bottom: 0;
  left: 11.23%; /* From Figma */
  right: 11.23%; /* From Figma */
  top: 84.89%; /* From Figma */
}

.header__logo-text-img {
  width: 100%;
  height: 100%;
  display: block;
}

.header__nav {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 53rem; /* 848px */
  max-width: calc(100% - 20rem); /* ロゴ(131px) + CTA(160px) + 余白を考慮 */
  height: 4.375rem; /* 70px */
}

.header__nav-list {
  position: relative;
  display: flex;
  align-items: center;
  gap: 2rem; /* 32px */
  list-style: none;
  margin: 0;
  padding: 0 1rem; /* 左右に余白を追加 */
  width: 100%;
  height: 100%;
  background-color: #FFFFFF;
  border-radius: 0.625rem; /* 10px */
  justify-content: center;
}

.header__nav-item {
  margin: 0;
  flex-shrink: 1; /* 縮小を許可 */
  min-width: 0; /* flexアイテムの縮小を有効化 */
}

.header__nav-link {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem; /* 15px */
  line-height: 1.2;
  color: #53545D;
  white-space: nowrap;
  letter-spacing: 0.09375rem; /* 1.5px */
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.header__nav-link:hover {
  opacity: 0.7;
}

.header__cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10rem; /* 160px */
  height: 4.375rem; /* 70px */
  text-decoration: none;
  border-radius: 0.625rem; /* 10px */
  overflow: hidden;
  flex-shrink: 0;
  margin-left: auto;
  transition: opacity 0.3s ease;
}

.header__cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('../images/btn-cta-bg.svg');
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  border-radius: 0.625rem; /* 10px */
  pointer-events: none;
  z-index: 0;
}

.header__cta:hover {
  opacity: 0.85;
}

.header__cta-text {
  position: relative;
  z-index: 1;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1.25rem; /* 20px */
  line-height: 1;
  color: #FFFFFF;
  letter-spacing: 0.125rem; /* 2px */
  text-align: center;
  white-space: pre;
}

.header__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem; /* 12px */
  margin-left: auto;
}

.header__hamburger {
  display: none;
}

/* Header Responsive */
@media (max-width: 75rem) {
  .header__nav {
    width: 45rem;
  }

  .header__nav-list {
    gap: 1.5rem;
    padding: 0 0.75rem;
  }

  .header__nav-text {
    font-size: 0.875rem;
    letter-spacing: 0.0625rem;
  }
}

/* FV Responsive - 1440px基準で比例縮小 */
@media (max-width: 85.375rem) { /* 1366px */
  .main-visual {
    height: 57rem; /* 912px */
  }

  .fv-teeth {
    bottom: 15.42rem; /* 比例: 260 * (1366/1440) */
    width: 23.75rem; /* 比例: 400 * (1366/1440) */
    height: 27.29rem; /* 比例: 460 * (1366/1440) */
  }

  .fv-catchphrase {
    font-size: 2.14rem; /* 比例: 36 * (1366/1440) */
  }

  .fv-union1 {
    left: 34%;
    width: 4.39rem; /* 比例: 74 * (1366/1440) */
  }

  .fv-union2 {
    right: 32%;
    width: 3.03rem; /* 比例: 51 * (1366/1440) */
  }

  .fv-woman {
    left: 26%;
    bottom: 16.03rem; /* 比例: 270 * (1366/1440) */
    width: 7.95rem; /* 比例: 134 * (1366/1440) */
  }

  .fv-woman2 {
    right: 13%;
    bottom: 18.87rem; /* 比例: 318 * (1366/1440) */
    width: 9.2rem; /* 比例: 155 * (1366/1440) */
  }

  .fv-man {
    right: 26%;
    bottom: 15.42rem; /* 比例: 260 * (1366/1440) */
    width: 12.52rem; /* 比例: 211 * (1366/1440) */
  }

  .fv-man1 {
    left: 9%;
    bottom: 17.33rem; /* 比例: 292 * (1366/1440) */
    width: 12.05rem; /* 比例: 203 * (1366/1440) */
  }

  .fv-item1 {
    width: 14.72rem; /* 比例: 248 * (1366/1440) */
  }

  .fv-item2 {
    width: 4.39rem; /* 比例: 74 * (1366/1440) */
  }

  .fv-item3 {
    left: 26%;
    bottom: 5.7rem; /* 比例: 96 * (1366/1440) */
    width: 8.9rem; /* 比例: 150 * (1366/1440) */
  }

  .fv-item4 {
    right: 20%;
    top: 7.6rem; /* 比例: 128 * (1366/1440) */
    width: 7.6rem; /* 比例: 128 * (1366/1440) */
  }
}

@media (max-width: 75rem) { /* 1200px */
  .main-visual {
    height: 50rem; /* 800px */
  }

  .fv-teeth {
    bottom: 13.54rem; /* 比例: 260 * (1200/1440) */
    width: 20.83rem; /* 比例: 400 * (1200/1440) */
    height: 23.96rem; /* 比例: 460 * (1200/1440) */
  }

  .fv-catchphrase {
    font-size: 1.875rem; /* 比例: 36 * (1200/1440) */
  }

  .fv-union1 {
    width: 3.85rem; /* 比例: 74 * (1200/1440) */
  }

  .fv-union2 {
    width: 2.66rem; /* 比例: 51 * (1200/1440) */
  }

  .fv-woman {
    bottom: 14.06rem; /* 比例: 270 * (1200/1440) */
    width: 6.98rem; /* 比例: 134 * (1200/1440) */
  }

  .fv-woman2 {
    bottom: 16.56rem; /* 比例: 318 * (1200/1440) */
    width: 8.07rem; /* 比例: 155 * (1200/1440) */
  }

  .fv-man {
    bottom: 13.54rem; /* 比例: 260 * (1200/1440) */
    width: 10.99rem; /* 比例: 211 * (1200/1440) */
  }

  .fv-man1 {
    bottom: 15.21rem; /* 比例: 292 * (1200/1440) */
    width: 10.57rem; /* 比例: 203 * (1200/1440) */
  }

  .fv-item1 {
    width: 12.92rem; /* 比例: 248 * (1200/1440) */
  }

  .fv-item2 {
    width: 3.85rem; /* 比例: 74 * (1200/1440) */
  }

  .fv-item3 {
    bottom: 5rem; /* 比例: 96 * (1200/1440) */
    width: 7.81rem; /* 比例: 150 * (1200/1440) */
  }

  .fv-item4 {
    top: 6.67rem; /* 比例: 128 * (1200/1440) */
    width: 6.67rem; /* 比例: 128 * (1200/1440) */
  }
}

@media (max-width: 64rem) { /* 1024px */
  .main-visual {
    height: 42.67rem; /* 682px */
  }

  .fv-teeth {
    bottom: 11.52rem; /* 比例: 260 * (1024/1440) */
    width: 17.78rem; /* 比例: 400 * (1024/1440) */
    height: 20.44rem; /* 比例: 460 * (1024/1440) */
  }

  .fv-catchphrase {
    font-size: 1.6rem; /* 比例: 36 * (1024/1440) */
  }

  .fv-union1 {
    width: 3.29rem; /* 比例: 74 * (1024/1440) */
  }

  .fv-union2 {
    width: 2.27rem; /* 比例: 51 * (1024/1440) */
  }

  .fv-woman {
    bottom: 12rem; /* 比例: 270 * (1024/1440) */
    width: 5.96rem; /* 比例: 134 * (1024/1440) */
  }

  .fv-woman2 {
    bottom: 14.13rem; /* 比例: 318 * (1024/1440) */
    width: 6.89rem; /* 比例: 155 * (1024/1440) */
  }

  .fv-man {
    bottom: 11.52rem; /* 比例: 260 * (1024/1440) */
    width: 9.38rem; /* 比例: 211 * (1024/1440) */
  }

  .fv-man1 {
    bottom: 12.98rem; /* 比例: 292 * (1024/1440) */
    width: 9.02rem; /* 比例: 203 * (1024/1440) */
  }

  .fv-item1 {
    width: 11.02rem; /* 比例: 248 * (1024/1440) */
  }

  .fv-item2 {
    width: 3.29rem; /* 比例: 74 * (1024/1440) */
  }

  .fv-item3 {
    bottom: 4.27rem; /* 比例: 96 * (1024/1440) */
    width: 6.67rem; /* 比例: 150 * (1024/1440) */
  }

  .fv-item4 {
    top: 5.69rem; /* 比例: 128 * (1024/1440) */
    width: 5.69rem; /* 比例: 128 * (1024/1440) */
  }
}

@media (max-width: 75rem) { /* 1200px */
  .header {
    position: fixed;
    top: 16px;
    left: 16px;
    right: 16px;
    z-index: 100;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
  }

  .header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 3.125rem; /* 50px */
  }

  .header__logo {
    width: 5.875rem; /* 94px */
    height: 3.125rem; /* 50px */
  }

  .header__logo-link {
    display: flex;
    flex-direction: column;
    gap: 0.25rem; /* 4px */
  }

  .header__nav {
    display: none;
  }

  .header__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem; /* 12px */
  }

  .header__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6.25rem; /* 100px */
    height: 2.5rem; /* 40px */
    background-image: url('../images/home/button-bg.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 0.375rem; /* 6px */
    text-decoration: none;
  }

  .header__cta-text {
    font-family: 'Zen Maru Gothic', sans-serif;
    font-weight: 700;
    font-size: 1.125rem; /* 18px */
    letter-spacing: 0.1125rem; /* 1.8px */
    color: #ffffff;
  }

  .header__hamburger {
    display: block;
    width: 3.125rem; /* 50px */
    height: 3.125rem; /* 50px */
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
  }

  .header__hamburger-icon {
    width: 100%;
    height: 100%;
    display: block;
  }

  .main-visual {
    height: 34rem;
  }

  .main-visual::after {
    background-image: url('../images/home/fv-bg-sp.webp');
  }

  .fv-teeth {
    bottom: 8.64rem; /* 比例: 260 * (768/1440) */
    width: 16rem; /* 256px */
    height: 17.875rem; /* 286px */
  }

  .fv-catchphrase {
    top: 14.5rem;
    transform: translate(-50%, -50%);
    font-size: 1.625rem; /* 26px */
    line-height: 1.6;
  }

  .fv-union1 {
    display: none;
  }

  .fv-union2 {
    display: none;
  }

  .fv-woman {
    left: initial;
    right: 66%;
    bottom: 2rem;
    width: 4.47rem; /* 比例: 134 * (768/1440) */
  }

  .fv-woman2 {
    right: -2%;
    bottom: 10.6rem; /* 比例: 318 * (768/1440) */
    width: 5.17rem; /* 比例: 155 * (768/1440) */
  }

  .fv-man {
    right: 16%;
    bottom: 0.64rem;
    width: 7.04rem; /* 比例: 211 * (768/1440) */
  }

  .fv-man1 {
    left: initial;
    right: 83%;
    bottom: 10.73rem;
    width: 6.77rem; /* 比例: 203 * (768/1440) */
  }

  .fv-item1 {
    left: 3.75rem;
    width: 8.27rem; /* 比例: 248 * (768/1440) */
  }

  .fv-item2 {
    display: none;
  }

  .fv-item3 {
    display: none;
  }

  .fv-item4 {
    display: none;
  }
}

/* ========================================
   Message Section
   ======================================== */

.message-section {
  width: 100%;
  background-color: #FFF7EE;
  padding: 9.375rem 0; /* 上下150px */
}

.message-section__inner {
  position: relative;
  width: 70rem; /* 1120px */
  height: 49.0625rem; /* 785px */
  margin: 0 auto;
}

/* スライダー共通 */
.message-section__slider {
  position: absolute;
  width: 19rem; /* 304px */
  height: 49.0625rem; /* 785px */
  top: 0;
  overflow: hidden;
}

.message-section__slider::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 12.5rem; /* 200px */
  background: linear-gradient(180deg, #FFF8EF 0%, rgba(255, 248, 239, 0.00) 100%);
  z-index: 1;
  pointer-events: none;
}

.message-section__slider::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 12.5rem; /* 200px */
  background: linear-gradient(180deg, rgba(255, 248, 239, 0.00) 0%, #FFF8EF 100%);
  z-index: 1;
  pointer-events: none;
}

.message-section__slider--left {
  left: 2.5rem; /* 40px */
}

.message-section__slider--right {
  left: 22.5rem; /* 360px */
}

.message-section__slider-track {
  position: absolute;
  width: 100%;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem; /* 16px */
}

/* 画像アイテム */
.message-section__item {
  position: relative;
  width: 19rem; /* 304px */
  background-color: #f5f1ec;
  border-radius: 0.625rem; /* 10px */
  overflow: hidden;
  flex-shrink: 0;
}

.message-section__item-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  display: block;
}

/* 左側画像の高さ */
.message-section__item--left1 {
  height: 14.375rem; /* 230px */
}

.message-section__item--left2 {
  height: 25rem; /* 400px */
}

.message-section__item--left3 {
  height: 14.375rem; /* 230px */
}

.message-section__item--left4 {
  height: 25rem; /* 400px */
}

.message-section__item--left5 {
  height: 25rem; /* 400px */
}

.message-section__item--left6 {
  height: 14.375rem; /* 230px */
}

/* 右側画像の高さ */
.message-section__item--right1 {
  height: 25rem; /* 400px */
}

.message-section__item--right2 {
  height: 14.375rem; /* 230px */
}

.message-section__item--right3 {
  height: 14.375rem; /* 230px */
}

.message-section__item--right4 {
  height: 14.375rem; /* 230px */
}

.message-section__item--right5 {
  height: 25rem; /* 400px */
}

/* テキストコンテンツ */
.message-section__content {
  position: absolute;
  left: 46.5rem; /* 744px */
  top: 10rem; /* 160px */
  width: 26rem; /* 416px */
  z-index: 1;
  opacity: 0;
}

.message-section__text-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem; /* 32px */
  margin-bottom: 4rem; /* 64px */
}

/* 見出し */
.message-section__heading {
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 1.5rem; /* 24px */
  line-height: 1.8;
  color: #857766;
}

.message-section__heading-line {
  margin: 0;
}

.message-section__heading-highlight {
  color: #b78a57;
}

/* 本文 */
.message-section__body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem; /* 20px */
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 500;
  font-size: 1rem; /* 16px */
  line-height: 2;
  color: #53545d;
}

.message-section__body-text {
  margin: 0;
}

/* CTAボタン */
.message-section__cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17.5rem; /* 280px */
  height: 3.125rem; /* 50px */
  border: 2px solid #53545d;
  border-radius: 2.1875rem; /* 35px */
  text-decoration: none;
  transition: all 0.3s ease;
}

.message-section__cta-text {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  letter-spacing: 0.05rem; /* 0.8px */
  color: #53545d;
}

.message-section__cta-arrow {
  position: absolute;
  right: 0.625rem; /* 10px */
  width: 1.25rem; /* 20px */
  height: 1.25rem; /* 20px */
}

.message-section__cta-arrow::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.25rem; /* 20px */
  height: 1.25rem; /* 20px */
  background-image: url('../images/home/arw-cta1.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.message-section__cta:hover {
  background-color: #53545d;
}

.message-section__cta:hover .message-section__cta-text {
  color: #ffffff;
}

.message-section__cta:hover .message-section__cta-arrow::after {
  filter: brightness(0) invert(1); /* SVGを白色に変換 */
}

/* ========================================
   Message Section Responsive
   ======================================== */

@media (max-width: 75rem) { /* 1200px */
  .message-section {
    padding: 7.81rem 0; /* 比例: 150 * (1200/1440) */
  }

  .message-section__inner {
    width: 58.33rem; /* 比例: 1120 * (1200/1440) */
    height: 41.02rem; /* 比例: 785 * (1200/1440) */
  }

  .message-section__slider {
    width: 15.83rem; /* 比例: 304 * (1200/1440) */
    height: 41.02rem; /* 比例: 785 * (1200/1440) */
  }

  .message-section__slider--left {
    left: 2.08rem; /* 比例: 40 * (1200/1440) */
  }

  .message-section__slider--right {
    left: 18.75rem; /* 比例: 360 * (1200/1440) */
  }

  .message-section__item {
    width: 15.83rem; /* 比例: 304 * (1200/1440) */
  }

  .message-section__item--left1 {
    height: 11.98rem; /* 比例: 230 * (1200/1440) */
  }

  .message-section__item--left2,
  .message-section__item--left4,
  .message-section__item--left5,
  .message-section__item--right1,
  .message-section__item--right5 {
    height: 20.83rem; /* 比例: 400 * (1200/1440) */
  }

  .message-section__item--left3,
  .message-section__item--left6,
  .message-section__item--right2,
  .message-section__item--right3,
  .message-section__item--right4 {
    height: 11.98rem; /* 比例: 230 * (1200/1440) */
  }

  .message-section__content {
    left: 38.75rem; /* 比例: 744 * (1200/1440) */
    top: 8.33rem; /* 比例: 160 * (1200/1440) */
    width: 21.67rem; /* 比例: 416 * (1200/1440) */
  }

  .message-section__heading {
    font-size: 1.25rem; /* 比例: 24 * (1200/1440) */
  }

  .message-section__cta {
    width: 14.58rem; /* 比例: 280 * (1200/1440) */
    height: 2.6rem; /* 比例: 50 * (1200/1440) */
  }
}

@media (max-width: 64rem) { /* 1024px */
  .message-section {
    padding: 6.67rem 0; /* 比例: 150 * (1024/1440) */
  }

  .message-section__inner {
    width: 49.78rem; /* 比例: 1120 * (1024/1440) */
    height: 35.16rem; /* 比例: 785 * (1024/1440) */
  }

  .message-section__slider {
    width: 13.51rem; /* 比例: 304 * (1024/1440) */
    height: 35.16rem; /* 比例: 785 * (1024/1440) */
  }

  .message-section__slider--left {
    left: 1.78rem; /* 比例: 40 * (1024/1440) */
  }

  .message-section__slider--right {
    left: 16rem; /* 比例: 360 * (1024/1440) */
  }

  .message-section__item {
    width: 13.51rem; /* 比例: 304 * (1024/1440) */
  }

  .message-section__item--left1 {
    height: 10.22rem; /* 比例: 230 * (1024/1440) */
  }

  .message-section__item--left2,
  .message-section__item--left4,
  .message-section__item--left5,
  .message-section__item--right1,
  .message-section__item--right5 {
    height: 17.78rem; /* 比例: 400 * (1024/1440) */
  }

  .message-section__item--left3,
  .message-section__item--left6,
  .message-section__item--right2,
  .message-section__item--right3,
  .message-section__item--right4 {
    height: 10.22rem; /* 比例: 230 * (1024/1440) */
  }

  .message-section__content {
    left: 33.07rem; /* 比例: 744 * (1024/1440) */
    top: 7.11rem; /* 比例: 160 * (1024/1440) */
    width: 18.49rem; /* 比例: 416 * (1024/1440) */
  }

  .message-section__heading {
    font-size: 1.07rem; /* 比例: 24 * (1024/1440) */
  }

  .message-section__body {
    font-size: 0.89rem; /* 比例: 16 * (1024/1440) */
  }

  .message-section__cta {
    width: 12.44rem; /* 比例: 280 * (1024/1440) */
    height: 2.22rem; /* 比例: 50 * (1024/1440) */
  }

  .message-section__cta-text {
    font-size: 0.89rem; /* 比例: 16 * (1024/1440) */
  }
}

@media (max-width: 48rem) { /* 768px */
  .message-section {
    padding: 5rem 1.5rem;
  }

  .message-section__inner {
    display: flex;
    flex-direction: column;
    gap: 3.5rem; /* 56px */
    width: 100%;
    height: auto;
  }

  .message-section__content {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 3.5rem; /* 56px */
    order: 1;
  }

  .message-section__sliders {
    display: flex;
    gap: 1rem; /* 16px */
    width: calc(100% + 3rem);
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    order: 2;
  }

  .message-section__slider {
    position: relative;
    flex: 1;
    height: 24.5rem; /* 392px */
    overflow: hidden;
  }

  .message-section__slider--left {
    left: 0;
  }

  .message-section__slider--right {
    left: 0;
  }

  .message-section__item {
    width: 100%;
  }

  .message-section__text-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2rem; /* 32px */
    margin-bottom: 0;
  }

  .message-section__heading {
    font-size: 1.25rem; /* 20px */
    line-height: 1.8;
    text-align: left;
  }

  .message-section__body {
    display: flex;
    flex-direction: column;
    gap: 1.25rem; /* 20px */
    font-size: 1rem; /* 16px */
    line-height: 2;
    text-align: left;
  }

  .message-section__body-text {
    margin: 0;
  }

  .message-section__body-text br {
    display: none;
  }

  .message-section__cta {
    width: 17.5rem; /* 280px */
    height: 3.125rem; /* 50px */
    margin: 0;
  }
}

/* ========================================
   Point Patient Section (患者様とスタッフ)
   ======================================== */

.appeal-section__point-patient {
  width: 70rem; /* 1120px */
  margin: 0 auto;
  display: flex;
  gap: 5rem; /* 80px */
  align-items: center;
}

/* 左側コンテンツ */
.appeal-section__point-content {
  width: 26.875rem; /* 430px */
  display: flex;
  flex-direction: column;
  gap: 4rem; /* 64px */
  flex-shrink: 0;
  opacity: 0;
}

.appeal-section__point-text-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem; /* 32px */
}

/* 見出し */
.appeal-section__point-heading {
  margin: 0;
}

.appeal-section__point-heading-line {
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 1.5rem; /* 24px */
  line-height: 1.4;
  letter-spacing: 0.15rem; /* 2.4px */
  color: #b78a57;
  margin: 0;
}

/* 本文 */
.appeal-section__point-body {
  display: flex;
  flex-direction: column;
  gap: 1rem; /* 16px */
}

.appeal-section__point-body-text {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 400;
  font-size: 1rem; /* 16px */
  line-height: 1.6;
  color: #53545d;
  margin: 0;
}

.appeal-section__point-body-highlight {
  color: #b78a57;
}

/* CTAボタン */
.appeal-section__point-cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17.5rem; /* 280px */
  height: 3.125rem; /* 50px */
  border: 2px solid #53545d;
  border-radius: 2.1875rem; /* 35px */
  text-decoration: none;
  transition: all 0.3s ease;
}

.appeal-section__point-cta-text {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  letter-spacing: 0.05rem; /* 0.8px */
  color: #53545d;
}

.appeal-section__point-cta-arrow {
  position: absolute;
  right: 0.625rem; /* 10px */
  width: 1.25rem; /* 20px */
  height: 1.25rem; /* 20px */
}

.appeal-section__point-cta-arrow::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.25rem; /* 20px */
  height: 1.25rem; /* 20px */
  background-image: url('../images/home/arw-cta1.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.appeal-section__point-cta:hover {
  background-color: #53545d;
}

.appeal-section__point-cta:hover .appeal-section__point-cta-text {
  color: #ffffff;
}

.appeal-section__point-cta:hover .appeal-section__point-cta-arrow::after {
  filter: brightness(0) invert(1);
}

/* 右側：円エリア */
.appeal-section__point-circles {
  position: relative;
  width: 35.625rem; /* 570px */
  height: 36.75rem; /* 588px */
  flex-shrink: 0;
  opacity: 0;
}

/* 背景装飾：白縁の円 */
.appeal-section__point-decoration {
  position: absolute;
  left: 8.0625rem; /* 129px */
  top: 5.0625rem; /* 81px */
  width: 25.625rem; /* 410px */
  height: 25.625rem; /* 410px */
  z-index: 0;
  object-fit: contain;
  pointer-events: none;
}

/* 円 */
.appeal-section__point-circle {
  position: absolute;
  width: 16.875rem; /* 270px - 全て統一 */
  height: 16.875rem; /* 270px - 全て統一 */
  z-index: 1;
}

.appeal-section__point-circle-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* 装飾画像 */
.appeal-section__point-decoration-img {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

/* 装飾1: 鏡と歯ブラシ（円1・右上外側） */
.appeal-section__point-decoration-img--1 {
  width: 8.875rem; /* 142px */
  height: 7.5rem; /* 120px */
  top: -0.9375rem; /* -15px */
  right: -1.25rem; /* -20px */
}

/* 装飾2: 青いブラシ（円2・左下外側） */
.appeal-section__point-decoration-img--2 {
  width: 6.25rem; /* 100px */
  height: 7.5625rem; /* 121px */
  bottom: -1.875rem; /* -30px */
  left: -1.25rem; /* -20px */
}

/* 装飾3: ピンクの注射器（円3・右上外側） */
.appeal-section__point-decoration-img--3 {
  width: 8rem; /* 128px */
  height: 4.6875rem; /* 75px */
  top: -0.625rem; /* -10px */
  right: -1.875rem; /* -30px */
}

/* 円の配置 */
/* 円1: 右上（270px） */
.appeal-section__point-circle--1 {
  left: 16.4375rem; /* 263px */
  top: 0;
}

/* 円2: 左下（270px） */
.appeal-section__point-circle--2 {
  left: 0;
  top: 12.4375rem; /* 199px */
}

/* 円3: 右下（270px） */
.appeal-section__point-circle--3 {
  left: 18.75rem; /* 300px */
  top: 19.875rem; /* 318px */
}

/* ラベル */
.appeal-section__point-label {
  position: absolute;
  text-align: center;
  z-index: 2;
}

.appeal-section__point-label-title {
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 1.375rem; /* 22px */
  line-height: 1.4;
  letter-spacing: 0.1375rem; /* 2.2px */
  margin: 0 0 0.5rem 0;
}

.appeal-section__point-label-subtitle {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  letter-spacing: 0.1rem; /* 1.6px */
  text-transform: capitalize;
  margin: 0;
}

/* ラベル1: 患者様への真摯な姿勢（右上・青色） */
.appeal-section__point-label--1 {
  left: 21.1875rem; /* 339px */
  top: 5.5625rem; /* 89px */
}

.appeal-section__point-label--1 .appeal-section__point-label-title {
  color: #14a0d2;
}

.appeal-section__point-label--1 .appeal-section__point-label-subtitle {
  color: #14a0d2;
}

/* ラベル2: 治療方針へのこだわり（左下・茶色） */
.appeal-section__point-label--2 {
  left: 3.9375rem; /* 63px */
  top: 18rem; /* 288px */
}

.appeal-section__point-label--2 .appeal-section__point-label-title {
  color: #b78a57;
}

.appeal-section__point-label--2 .appeal-section__point-label-subtitle {
  color: #b78a57;
}

/* ラベル3: 誰もが利用しやすい環境（右下・グレー） */
.appeal-section__point-label--3 {
  left: 21.5625rem; /* 345px */
  top: 25.4375rem; /* 407px */
}

.appeal-section__point-label--3 .appeal-section__point-label-title {
  color: #857766;
}

.appeal-section__point-label--3 .appeal-section__point-label-subtitle {
  color: #857766;
}

/* ========================================
   Point Patient Section Responsive
   ======================================== */

@media (max-width: 75rem) { /* 1200px */
  .appeal-section__point-patient {
    width: 58.33rem; /* 比例: 1120 * (1200/1440) */
    gap: 4.17rem; /* 比例: 80 * (1200/1440) */
  }

  .appeal-section__point-content {
    width: 22.4rem; /* 比例: 430 * (1200/1440) */
  }

  .appeal-section__point-heading-line {
    font-size: 1.25rem; /* 比例: 24 * (1200/1440) */
  }

  .appeal-section__point-body-text {
    font-size: 0.83rem; /* 比例: 16 * (1200/1440) */
  }

  .appeal-section__point-cta {
    width: 14.58rem; /* 比例: 280 * (1200/1440) */
    height: 2.6rem; /* 比例: 50 * (1200/1440) */
  }

  .appeal-section__point-circles {
    width: 29.69rem; /* 比例: 570 * (1200/1440) */
    height: 30.63rem; /* 比例: 588 * (1200/1440) */
  }

  .appeal-section__point-decoration {
    left: 6.72rem; /* 比例: 129 * (1200/1440) */
    top: 4.22rem; /* 比例: 81 * (1200/1440) */
    width: 21.35rem; /* 比例: 410 * (1200/1440) */
    height: 21.35rem;
  }

  .appeal-section__point-decoration-img--1 {
    width: 7.396rem; /* 比例: 142 * (1200/1440) */
    height: 6.25rem; /* 比例: 120 * (1200/1440) */
    top: -0.781rem; /* 比例: -15 * (1200/1440) */
    right: -1.042rem; /* 比例: -20 * (1200/1440) */
  }

  .appeal-section__point-decoration-img--2 {
    width: 5.208rem; /* 比例: 100 * (1200/1440) */
    height: 6.302rem; /* 比例: 121 * (1200/1440) */
    bottom: -1.563rem; /* 比例: -30 * (1200/1440) */
    left: -1.042rem; /* 比例: -20 * (1200/1440) */
  }

  .appeal-section__point-decoration-img--3 {
    width: 6.667rem; /* 比例: 128 * (1200/1440) */
    height: 3.906rem; /* 比例: 75 * (1200/1440) */
    top: -0.521rem; /* 比例: -10 * (1200/1440) */
    right: -1.563rem; /* 比例: -30 * (1200/1440) */
  }

  .appeal-section__point-circle {
    width: 14.06rem; /* 比例: 270 * (1200/1440) - 全て統一 */
    height: 14.06rem;
  }

  .appeal-section__point-circle--1 {
    left: 13.7rem; /* 比例: 263 * (1200/1440) */
    top: 0;
  }

  .appeal-section__point-circle--2 {
    left: 0;
    top: 10.36rem; /* 比例: 199 * (1200/1440) */
  }

  .appeal-section__point-circle--3 {
    left: 15.63rem; /* 比例: 300 * (1200/1440) */
    top: 16.56rem; /* 比例: 318 * (1200/1440) */
  }

  .appeal-section__point-label--1 {
    left: 17.66rem; /* 比例: 339 * (1200/1440) */
    top: 4.63rem; /* 比例: 89 * (1200/1440) */
  }

  .appeal-section__point-label--2 {
    left: 3.28rem; /* 比例: 63 * (1200/1440) */
    top: 15rem; /* 比例: 288 * (1200/1440) */
  }

  .appeal-section__point-label--3 {
    left: 17.97rem; /* 比例: 345 * (1200/1440) */
    top: 21.2rem; /* 比例: 407 * (1200/1440) */
  }

  .appeal-section__point-label-title {
    font-size: 1.15rem; /* 比例: 22 * (1200/1440) */
  }

  .appeal-section__point-label-subtitle {
    font-size: 0.83rem; /* 比例: 16 * (1200/1440) */
  }
}

@media (max-width: 64rem) { /* 1024px */
  .appeal-section__point-patient {
    width: 49.78rem; /* 比例: 1120 * (1024/1440) */
    gap: 3.56rem; /* 比例: 80 * (1024/1440) */
  }

  .appeal-section__point-content {
    width: 19.11rem; /* 比例: 430 * (1024/1440) */
    gap: 2.84rem;
  }

  .appeal-section__point-heading-line {
    font-size: 1.07rem; /* 比例: 24 * (1024/1440) */
  }

  .appeal-section__point-body-text {
    font-size: 0.71rem; /* 比例: 16 * (1024/1440) */
  }

  .appeal-section__point-cta {
    width: 12.44rem; /* 比例: 280 * (1024/1440) */
    height: 2.22rem; /* 比例: 50 * (1024/1440) */
  }

  .appeal-section__point-circles {
    width: 25.33rem; /* 比例: 570 * (1024/1440) */
    height: 26.13rem; /* 比例: 588 * (1024/1440) */
  }

  .appeal-section__point-decoration {
    left: 5.73rem; /* 比例: 129 * (1024/1440) */
    top: 3.60rem; /* 比例: 81 * (1024/1440) */
    width: 18.19rem; /* 比例: 410 * (1024/1440) */
    height: 18.19rem;
  }

  .appeal-section__point-decoration-img--1 {
    width: 6.313rem; /* 比例: 142 * (1024/1440) */
    height: 5.333rem; /* 比例: 120 * (1024/1440) */
    top: -0.667rem; /* 比例: -15 * (1024/1440) */
    right: -0.889rem; /* 比例: -20 * (1024/1440) */
  }

  .appeal-section__point-decoration-img--2 {
    width: 4.444rem; /* 比例: 100 * (1024/1440) */
    height: 5.375rem; /* 比例: 121 * (1024/1440) */
    bottom: -1.333rem; /* 比例: -30 * (1024/1440) */
    left: -0.889rem; /* 比例: -20 * (1024/1440) */
  }

  .appeal-section__point-decoration-img--3 {
    width: 5.688rem; /* 比例: 128 * (1024/1440) */
    height: 3.333rem; /* 比例: 75 * (1024/1440) */
    top: -0.444rem; /* 比例: -10 * (1024/1440) */
    right: -1.333rem; /* 比例: -30 * (1024/1440) */
  }

  .appeal-section__point-circle {
    width: 12rem; /* 比例: 270 * (1024/1440) - 全て統一 */
    height: 12rem;
  }

  .appeal-section__point-circle--1 {
    left: 11.69rem; /* 比例: 263 * (1024/1440) */
    top: 0;
  }

  .appeal-section__point-circle--2 {
    left: 0;
    top: 8.84rem; /* 比例: 199 * (1024/1440) */
  }

  .appeal-section__point-circle--3 {
    left: 13.33rem; /* 比例: 300 * (1024/1440) */
    top: 14.13rem; /* 比例: 318 * (1024/1440) */
  }

  .appeal-section__point-label--1 {
    left: 15.07rem; /* 比例: 339 * (1024/1440) */
    top: 3.95rem; /* 比例: 89 * (1024/1440) */
  }

  .appeal-section__point-label--2 {
    left: 2.8rem; /* 比例: 63 * (1024/1440) */
    top: 12.8rem; /* 比例: 288 * (1024/1440) */
  }

  .appeal-section__point-label--3 {
    left: 15.33rem; /* 比例: 345 * (1024/1440) */
    top: 18.08rem; /* 比例: 407 * (1024/1440) */
  }

  .appeal-section__point-label-title {
    font-size: 0.98rem; /* 比例: 22 * (1024/1440) */
  }

  .appeal-section__point-label-subtitle {
    font-size: 0.71rem; /* 比例: 16 * (1024/1440) */
  }
}

@media (max-width: 48rem) { /* 768px */
  .appeal-section__point-patient {
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem; /* 40px */
    padding: 0 1rem; /* 16px */
  }

  .appeal-section__point-content {
    width: 100%;
    order: 2;
    gap: 3.5rem;
  }

  .appeal-section__point-text-wrapper {
    gap: 2rem; /* 32px */
  }

  .appeal-section__point-heading-line {
    font-size: 1.25rem; /* 20px */
    letter-spacing: 0.125rem; /* 2px */
  }

  .appeal-section__point-body {
    gap: 1rem; /* 16px */
  }

  .appeal-section__point-body-text {
    font-size: 1rem; /* 16px */
    line-height: 1.6;
  }

  .appeal-section__point-cta {
    width: 17.5rem; /* 280px */
    height: 3.125rem; /* 50px */
  }

  .appeal-section__point-circles {
    width: 21rem; /* 336px - point-contentと同じ幅 */
    max-width: 21rem; /* 336px - はみ出し防止 */
    height: 21.627rem; /* 346.03px - 379 * 0.9130435 */
    order: 1; /* 円の画像を上に */
  }

  .appeal-section__point-decoration {
    left: 4.751rem; /* 76.02px - 83.264 * 0.9130435 */
    top: 2.976rem; /* 47.62px - 52.157 * 0.9130435 */
    width: 15.086rem; /* 241.37px - 264.372 * 0.9130435 */
    height: 15.086rem; /* 241.37px */
  }

  .appeal-section__point-decoration-img--1 {
    width: 4.99rem;
    height: 4.21rem;
    top: -4.44rem;
    right: 14.42rem;
  }

  .appeal-section__point-decoration-img--2 {
    width: 3.52rem;
    height: 4.25rem;
    bottom: -3.05rem;
    left: -0.58rem;
  }

  .appeal-section__point-decoration-img--3 {
    width: 4.51rem;
    height: 2.64rem;
    top: -14rem;
    right: 0;
  }

  .appeal-section__point-circle {
    width: 9.934rem; /* 158.95px - 174.098 * 0.9130435 */
    height: 9.934rem; /* 158.95px */
  }

  .appeal-section__point-circle--1 {
    left: 9.683rem; /* 154.93px - 169.685 * 0.9130435 */
    top: 0;
  }

  .appeal-section__point-circle--2 {
    left: 0;
    top: 7.318rem; /* 117.08px - 128.233 * 0.9130435 */
  }

  .appeal-section__point-circle--3 {
    left: 11.046rem; /* 176.73px - 193.552 * 0.9130435 */
    top: 11.693rem; /* 187.08px - 204.902 * 0.9130435 */
  }

  .appeal-section__point-label--1 {
    left: 11.707rem; /* 187.31px - 205.158 * 0.9130435 */
    top: 2.853rem; /* 45.65px - 50 * 0.9130435 */
  }

  .appeal-section__point-label--2 {
    left: 1.208rem; /* 19.32px - 21.158 * 0.9130435 */
    top: 10.214rem; /* 163.43px - 179 * 0.9130435 */
  }

  .appeal-section__point-label--3 {
    left: 11.2rem;
    top: 14.722rem;
  }

  .appeal-section__point-label--3 .appeal-section__point-label-title {
    color: #857766;
    white-space: nowrap;
  }

  .appeal-section__point-label-title {
    font-size: 1.125rem; /* 18px */
    letter-spacing: 0.1125rem; /* 1.8px */
  }

  .appeal-section__point-label-subtitle {
    font-size: 0.875rem; /* 14px */
    letter-spacing: 0.0875rem; /* 1.4px */
  }
}

/* ========================================
   Appeal Section (当院で働く魅力)
   ======================================== */

.appeal-section {
  width: 100%;
  background-color: #FFF3E4;
  padding: 6.25rem 0;
  overflow: hidden;
}

.appeal-section__inner {
  width: 70rem; /* 1120px */
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* タイトル */
.appeal-section__title {
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 1.5rem; /* 24px */
  line-height: 1.4;
  letter-spacing: 0.15rem; /* 2.4px */
  color: #53545d;
  text-align: center;
  margin-top: 5rem; /* 80px */
  margin-bottom: 3.0625rem; /* 49px */
}

/* カードコンテナ */
.appeal-section__cards {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0.625rem; /* 10px */
  width: 70rem; /* 1120px */
  margin-bottom: 4rem; /* 64px */
}

/* カード */
.appeal-section__card {
  background-color: #ffffff;
  padding: 2rem 1rem 2.5rem; /* 上32px 左右16px 下40px */
  border-radius: 0.9375rem; /* 15px */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem; /* 16px */
  opacity: 0;
}

/* カードタイトル */
.appeal-section__card-title {
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 1.125rem; /* 18px */
  line-height: 1.4;
  letter-spacing: 0.1125rem; /* 1.8px */
  text-align: center;
  margin: 0;
}

.appeal-section__card-title--brown {
  color: #b78a57;
}

.appeal-section__card-title--blue {
  color: #14a0d2;
}

/* カードアイコン */
.appeal-section__card-icon {
  width: 5.625rem; /* 90px */
  height: 5.625rem; /* 90px */
  display: flex;
  align-items: center;
  justify-content: center;
}

.appeal-section__card-icon-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* カードテキスト */
.appeal-section__card-text {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 400;
  font-size: 1rem; /* 16px */
  line-height: 1.6;
  color: #53545d;
  text-align: center;
  margin: 0;
}

/* CTAボタン */
.appeal-section__cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 17.5rem; /* 280px */
  height: 3.125rem; /* 50px */
  border: 2px solid #53545d;
  border-radius: 2.1875rem; /* 35px */
  text-decoration: none;
  transition: all 0.3s ease;
}

.appeal-section__cta-text {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  letter-spacing: 0.05rem; /* 0.8px */
  color: #53545d;
}

.appeal-section__cta-arrow {
  position: absolute;
  right: 0.625rem; /* 10px */
  width: 1.25rem; /* 20px */
  height: 1.25rem; /* 20px */
}

.appeal-section__cta-arrow::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1.25rem; /* 20px */
  height: 1.25rem; /* 20px */
  background-image: url('../images/home/arw-cta1.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.appeal-section__cta:hover {
  background-color: #53545d;
}

.appeal-section__cta:hover .appeal-section__cta-text {
  color: #ffffff;
}

.appeal-section__cta:hover .appeal-section__cta-arrow::after {
  filter: brightness(0) invert(1);
}

/* YouTube動画セクション */
.appeal-section__videos {
  display: flex;
  gap: 2rem; /* 32px */
  justify-content: center;
  width: 70rem; /* 1120px */
  margin-top: 4rem; /* 64px */
  margin-bottom: 4rem; /* 64px */
}

.appeal-section__video {
  width: 18.3125rem; /* 293px */
  height: 10.3125rem; /* 165px */
  position: relative;
  overflow: hidden;
  opacity: 0;
}

.appeal-section__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

/* YouTubeバナー */
.appeal-section__youtube-banner {
  display: block;
  width: 43.75rem; /* 700px */
  height: 7.5rem; /* 120px */
  position: relative;
  text-decoration: none;
  opacity: 0;
}

.appeal-section__youtube-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/home/bg-youtube.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.appeal-section__youtube-content {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* テキストエリア */
.appeal-section__youtube-text-wrapper {
  position: absolute;
  left: 2rem; /* 32px */
  top: 50%;
  transform: translateY(-50%);
}

.appeal-section__youtube-text {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
  line-height: 1.4;
  letter-spacing: 0.1375rem; /* 2.2px */
  color: #ffffff;
  margin: 0;
  white-space: nowrap;
  position: relative;
}

.appeal-section__youtube-text::after {
  content: '';
  display: block;
  width: 5.875rem; /* 94px */
  height: 0.39rem;
  background-image: url("data:image/svg+xml,%3Csvg width='254' height='7' viewBox='0 0 254 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 3.5H254' stroke='white' stroke-width='7' stroke-dasharray='10 10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 4.3125rem; /* 69px */
  bottom: -0.5rem;
}

/* サムネイル */
.appeal-section__youtube-thumbnails {
  position: absolute;
  right: 0.25rem;
  top: 0;
  width: 15rem;
  height: 100%;
}

.appeal-section__youtube-thumbnail {
  position: absolute;
}

.appeal-section__youtube-thumbnail--1 {
  width: 11rem;
  height: auto;
  right: 5.882rem;
  top: -0.4rem;
  z-index: 1;
}

.appeal-section__youtube-thumbnail--2 {
  width: 7.77rem;
  height: auto;
  right: 1.024rem;
  top: 2.5rem;
  z-index: 1;
}

.appeal-section__youtube-thumbnail-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 矢印ボタン */
.appeal-section__youtube-arrow {
  position: absolute;
  right: 0.75rem; /* 12px */
  bottom: 0.75rem; /* 12px */
  width: 2.4375rem; /* 39px */
  height: 2.4375rem; /* 39px */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.appeal-section__youtube-arrow-img {
  width: 1.75rem; /* 28px */
  height: 1.75rem; /* 28px */
  display: block;
}

/* ========================================
   Appeal Section Responsive
   ======================================== */

@media (max-width: 75rem) { /* 1200px */
  .appeal-section {
    padding: 5.21rem 0; /* 比例: 100 * (1200/1440) */
  }

  .appeal-section__inner {
    width: 58.33rem; /* 比例: 1120 * (1200/1440) */
  }

  .appeal-section__title {
    font-size: 1.25rem; /* 比例: 24 * (1200/1440) */
    margin-bottom: 2.55rem; /* 比例: 49 * (1200/1440) */
  }

  .appeal-section__cards {
    width: 58.33rem; /* 比例: 1120 * (1200/1440) */
    gap: 0.52rem; /* 比例: 10 * (1200/1440) */
  }

  .appeal-section__card-title {
    font-size: 0.94rem; /* 比例: 18 * (1200/1440) */
  }

  .appeal-section__card-icon {
    width: 4.69rem; /* 比例: 90 * (1200/1440) */
    height: 4.69rem;
  }

  .appeal-section__card-text {
    font-size: 0.83rem; /* 比例: 16 * (1200/1440) */
  }

  .appeal-section__cta {
    width: 14.58rem; /* 比例: 280 * (1200/1440) */
    height: 2.6rem; /* 比例: 50 * (1200/1440) */
  }

  .appeal-section__videos {
    width: 58.33rem; /* 比例: 1120 * (1200/1440) */
    gap: 1.67rem; /* 比例: 32 * (1200/1440) */
  }

  .appeal-section__video {
    width: 15.26rem; /* 比例: 293 * (1200/1440) */
    height: 8.59rem; /* 比例: 165 * (1200/1440) */
  }

  .appeal-section__youtube-banner {
    width: 36.46rem; /* 比例: 700 * (1200/1440) */
    height: 6.25rem; /* 比例: 120 * (1200/1440) */
  }

  .appeal-section__youtube-text {
    font-size: 1.35rem; /* 比例: 26 * (1200/1440) */
  }

  .appeal-section__youtube-text::after {
    width: 4.90rem; /* 比例: 5.875 * (1200/1440) */
    height: 0.33rem; /* 比例: 0.39 * (1200/1440) */
    left: 3.59rem; /* 比例: 4.3125 * (1200/1440) */
  }

  .appeal-section__youtube-thumbnails {
    right: 0.21rem; /* 比例: 0.25 * (1200/1440) */
    width: 12.5rem; /* 比例: 15 * (1200/1440) */
  }

  .appeal-section__youtube-thumbnail--1 {
    width: 9.17rem; /* 比例: 11 * (1200/1440) */
    height: auto;
    right: 4.90rem; /* 比例: 5.882 * (1200/1440) */
    top: -0.33rem; /* 比例: -0.4 * (1200/1440) */
  }

  .appeal-section__youtube-thumbnail--2 {
    width: 6.48rem; /* 比例: 7.77 * (1200/1440) */
    height: auto;
    right: 0.85rem; /* 比例: 1.024 * (1200/1440) */
    top: 2.08rem; /* 比例: 2.5 * (1200/1440) */
  }

  .appeal-section__youtube-arrow {
    width: 2.03rem; /* 比例: 39 * (1200/1440) */
    height: 2.03rem;
  }

  .appeal-section__youtube-arrow-img {
    width: 1.46rem; /* 比例: 28 * (1200/1440) */
    height: 1.46rem;
  }
}

@media (max-width: 64rem) { /* 1024px */
  .appeal-section {
    padding: 4.44rem 0; /* 比例: 100 * (1024/1440) */
  }

  .appeal-section__inner {
    width: 49.78rem; /* 比例: 1120 * (1024/1440) */
  }

  .appeal-section__title {
    font-size: 1.07rem; /* 比例: 24 * (1024/1440) */
    margin-bottom: 2.18rem; /* 比例: 49 * (1024/1440) */
  }

  .appeal-section__cards {
    width: 49.78rem; /* 比例: 1120 * (1024/1440) */
    gap: 0.44rem; /* 比例: 10 * (1024/1440) */
  }

  .appeal-section__card {
    padding: 1.42rem 0.71rem 1.78rem; /* 比例調整 */
  }

  .appeal-section__card-title {
    font-size: 0.8rem; /* 比例: 18 * (1024/1440) */
  }

  .appeal-section__card-icon {
    width: 4rem; /* 比例: 90 * (1024/1440) */
    height: 4rem;
  }

  .appeal-section__card-text {
    font-size: 0.71rem; /* 比例: 16 * (1024/1440) */
  }

  .appeal-section__cta {
    width: 12.44rem; /* 比例: 280 * (1024/1440) */
    height: 2.22rem; /* 比例: 50 * (1024/1440) */
  }

  .appeal-section__cta-text {
    font-size: 0.89rem; /* 比例: 16 * (1024/1440) */
  }

  .appeal-section__videos {
    width: 49.78rem; /* 比例: 1120 * (1024/1440) */
    gap: 1.42rem; /* 比例: 32 * (1024/1440) */
  }

  .appeal-section__video {
    width: 13.02rem; /* 比例: 293 * (1024/1440) */
    height: 7.33rem; /* 比例: 165 * (1024/1440) */
  }

  .appeal-section__youtube-banner {
    width: 31.11rem; /* 比例: 700 * (1024/1440) */
    height: 5.33rem; /* 比例: 120 * (1024/1440) */
  }

  .appeal-section__youtube-text {
    font-size: 1.15rem; /* 比例: 26 * (1024/1440) */
  }

  .appeal-section__youtube-text::after {
    width: 4.18rem; /* 比例: 5.875 * (1024/1440) */
    height: 0.28rem; /* 比例: 0.39 * (1024/1440) */
    left: 3.07rem; /* 比例: 4.3125 * (1024/1440) */
  }

  .appeal-section__youtube-thumbnails {
    right: 0.18rem; /* 比例: 0.25 * (1024/1440) */
    width: 10.67rem; /* 比例: 15 * (1024/1440) */
  }

  .appeal-section__youtube-thumbnail--1 {
    width: 7.82rem; /* 比例: 11 * (1024/1440) */
    height: auto;
    right: 4.18rem; /* 比例: 5.882 * (1024/1440) */
    top: -0.28rem; /* 比例: -0.4 * (1024/1440) */
  }

  .appeal-section__youtube-thumbnail--2 {
    width: 5.53rem; /* 比例: 7.77 * (1024/1440) */
    height: auto;
    right: 0.73rem; /* 比例: 1.024 * (1024/1440) */
    top: 1.78rem; /* 比例: 2.5 * (1024/1440) */
  }

  .appeal-section__youtube-arrow {
    width: 1.73rem; /* 比例: 39 * (1024/1440) */
    height: 1.73rem;
  }

  .appeal-section__youtube-arrow-img {
    width: 1.24rem; /* 比例: 28 * (1024/1440) */
    height: 1.24rem;
  }
}

@media (max-width: 48rem) { /* 768px */
  .appeal-section {
    padding: 4rem 1.5rem 3rem; /* 64px 24px 48px */
  }

  .appeal-section__inner {
    width: 100%;
  }

  .appeal-section__title {
    font-size: 1.5rem; /* 24px */
    letter-spacing: 0.15rem; /* 2.4px */
    margin-bottom: 2rem; /* 32px */
  }

  .appeal-section__cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
    width: 100%;
    margin-bottom: 2.5rem;
  }

  .appeal-section__card {
    padding: 2rem 1rem 2.5rem; /* 32px 16px 40px */
  }

  .appeal-section__card:nth-child(1) { order: 3; } /* 働く環境 */
  .appeal-section__card:nth-child(2) { order: 4; } /* スキル取得支援 */
  .appeal-section__card:nth-child(3) { order: 1; } /* 子育てサポート */
  .appeal-section__card:nth-child(4) { order: 2; } /* 評価制度 */
  .appeal-section__card:nth-child(5) { order: 5; } /* アクセス良好 */

  .appeal-section__card-title {
    font-size: 1.125rem; /* 18px */
    letter-spacing: 0.1125rem; /* 1.8px */
  }

  .appeal-section__card-icon {
    width: 5.625rem; /* 90px */
    height: 5.625rem; /* 90px */
  }

  .appeal-section__card-text {
    font-size: 1rem; /* 16px */
    line-height: 1.6;
  }

  .appeal-section__cta {
    width: 17.5rem; /* 280px */
    height: 3.125rem; /* 50px */
  }

  .appeal-section__videos {
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }

  .appeal-section__video {
    width: 100%;
    max-width: 100%;
    height: 16.875rem;
  }

  .appeal-section__youtube-banner {
    width: 23.33rem; /* 比例: 700 * (768/1440) */
    height: 4rem; /* 比例: 120 * (768/1440) */
  }

  .appeal-section__youtube-text {
    font-size: 0.85rem; /* 比例: 20 * (768/1440) */
  }

  .appeal-section__youtube-text::after {
    width: 3.13rem; /* 比例: 5.875 * (768/1440) */
    height: 0.21rem; /* 比例: 0.39 * (768/1440) */
    left: 2.30rem; /* 比例: 4.3125 * (768/1440) */
  }

  .appeal-section__youtube-thumbnails {
    right: 0.13rem; /* 比例: 0.25 * (768/1440) */
    width: 8rem; /* 比例: 15 * (768/1440) */
  }

  .appeal-section__youtube-thumbnail--1 {
    width: 5.87rem; /* 比例: 11 * (768/1440) */
    height: auto;
    right: 3.14rem; /* 比例: 5.882 * (768/1440) */
    top: -0.21rem; /* 比例: -0.4 * (768/1440) */
  }

  .appeal-section__youtube-thumbnail--2 {
    width: 4.14rem; /* 比例: 7.77 * (768/1440) */
    height: auto;
    right: 0.55rem; /* 比例: 1.024 * (768/1440) */
    top: 1.33rem; /* 比例: 2.5 * (768/1440) */
  }

  .appeal-section__youtube-arrow {
    right: 1.07rem; /* 比例: 32 * (768/1440) */
  }

  .appeal-section__youtube-arrow-img {
    width: 0.93rem; /* 比例: 28 * (768/1440) */
    height: 0.93rem;
  }
}

@media (max-width: 36rem) { /* 576px */
  .appeal-section__youtube-banner {
    width: 18.67rem; /* 比例: 700 * (576/1440) */
    height: 3.2rem; /* 比例: 120 * (576/1440) */
  }

  .appeal-section__youtube-text {
    font-size: 0.67rem; /* 比例: 20 * (576/1440) */
  }

  .appeal-section__youtube-text::after {
    width: 2.35rem; /* 比例: 5.875 * (576/1440) */
    height: 0.16rem; /* 比例: 0.39 * (576/1440) */
    left: 1.73rem; /* 比例: 4.3125 * (576/1440) */
  }

  .appeal-section__youtube-thumbnails {
    right: 0.1rem; /* 比例: 0.25 * (576/1440) */
    width: 6rem; /* 比例: 15 * (576/1440) */
  }

  .appeal-section__youtube-thumbnail--1 {
    width: 4.4rem; /* 比例: 11 * (576/1440) */
    height: auto;
    right: 2.35rem; /* 比例: 5.882 * (576/1440) */
    top: -0.16rem; /* 比例: -0.4 * (576/1440) */
  }

  .appeal-section__youtube-thumbnail--2 {
    width: 3.11rem; /* 比例: 7.77 * (576/1440) */
    height: auto;
    right: 0.41rem; /* 比例: 1.024 * (576/1440) */
    top: 1.0rem; /* 比例: 2.5 * (576/1440) */
  }

  .appeal-section__youtube-arrow {
    right: 0.86rem; /* 比例: 32 * (576/1440) */
  }

  .appeal-section__youtube-arrow-img {
    width: 0.75rem; /* 比例: 28 * (576/1440) */
    height: 0.75rem;
  }
}

@media (max-width: 23.4375rem) { /* 375px */
  .appeal-section__youtube-banner {
    width: 12.15rem; /* 比例: 700 * (375/1440) */
    height: 2.08rem; /* 比例: 120 * (375/1440) */
  }

  .appeal-section__youtube-text {
    font-size: 0.44rem; /* 比例: 20 * (375/1440) */
  }

  .appeal-section__youtube-text::after {
    width: 1.53rem; /* 比例: 5.875 * (375/1440) */
    height: 0.10rem; /* 比例: 0.39 * (375/1440) */
    left: 1.12rem; /* 比例: 4.3125 * (375/1440) */
  }

  .appeal-section__youtube-thumbnails {
    right: 0.065rem; /* 比例: 0.25 * (375/1440) */
    width: 3.91rem; /* 比例: 15 * (375/1440) */
  }

  .appeal-section__youtube-thumbnail--1 {
    width: 2.86rem; /* 比例: 11 * (375/1440) */
    height: auto;
    right: 1.53rem; /* 比例: 5.882 * (375/1440) */
    top: -0.10rem; /* 比例: -0.4 * (375/1440) */
  }

  .appeal-section__youtube-thumbnail--2 {
    width: 2.02rem; /* 比例: 7.77 * (375/1440) */
    height: auto;
    right: 0.27rem; /* 比例: 1.024 * (375/1440) */
    top: 0.65rem; /* 比例: 2.5 * (375/1440) */
  }

  .appeal-section__youtube-arrow {
    right: 0.56rem; /* 比例: 32 * (375/1440) */
  }

  .appeal-section__youtube-arrow-img {
    width: 0.49rem; /* 比例: 28 * (375/1440) */
    height: 0.49rem;
  }
}

/* ========================================
   Position Section
   ======================================== */

.position-section {
  width: 100%;
  min-height: 62.875rem; /* 1006px */
  background-image: url('../images/home/bg-slider.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 6.25rem 0; /* 100px */
  position: relative;
  overflow: visible;
}

.position-section__inner {
  width: 70rem; /* 1120px */
  margin: 0 auto;
  overflow: visible;
}

/* Header */
.position-section__header {
  display: flex;
  gap: 2.5rem; /* 40px */
  align-items: center;
  margin-bottom: 5.5rem; /* 88px */
  opacity: 0;
}

.position-section__title-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.25rem; /* 4px */
  flex-shrink: 0;
}

.position-section__title {
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 2.5rem; /* 40px */
  line-height: 1.4;
  letter-spacing: 0.25rem; /* 4px */
  color: #ffffff;
  text-align: center;
  margin: 0;
  white-space: nowrap;
}

.position-section__subtitle {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 900;
  font-size: 1.25rem; /* 20px */
  line-height: 1.4;
  letter-spacing: 0.125rem; /* 2px */
  color: #ffffff;
  margin: 0;
  white-space: nowrap;
}

.position-section__description {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 500;
  font-size: 1rem; /* 16px */
  line-height: 1.6;
  color: #ffffff;
  margin: 0;
  flex: 1;
}

/* Slider Container */
.position-section__slider-container {
  position: relative;
  width: calc(50vw + 35rem); /* 画面の右端まで（50vw）+ コンテナの半分（35rem = 1120px/2） */
  overflow: visible;
  opacity: 0;
}

/* Swiper */
.position-swiper {
  width: 100%;
  overflow: visible;
  position: relative;
}

.position-swiper .swiper-slide {
  width: 22rem; /* 352px - カードの幅に合わせる */
  height: auto;
}

/* Offset for even slides */
.position-swiper .swiper-slide:nth-child(even) {
  margin-top: 1.5rem; /* 24px */
}

/* Card */
.position-section__card {
  width: 22rem; /* 352px */
  min-height: 31.9375rem; /* 511px */
  background-color: #3d7bd8;
  border-radius: 1.25rem; /* 20px */
  padding: 1rem; /* 16px */
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.625rem; /* 10px */
  position: relative;
  text-decoration: none;
  color: inherit;
}

.position-section__card-content {
  display: flex;
  flex-direction: column;
  gap: 1rem; /* 16px */
}

.position-section__card-image {
  width: 20rem; /* 320px */
  height: 20rem; /* 320px */
  border-radius: 0.75rem; /* 12px */
  overflow: hidden;
}

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

.position-section__card-info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem; /* 8px */
}

.position-section__card-title {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1.375rem; /* 22px */
  line-height: 1.4;
  letter-spacing: 0.1375rem; /* 2.2px */
  color: #ffffff;
  margin: 0;
}

.position-section__card-text {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 500;
  font-size: 0.9375rem; /* 15px */
  line-height: 1.6;
  color: #ffffff;
  margin: 0;
}

.position-section__card-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
}

.position-section__card-arrow img {
  width: 1.5rem; /* 24px */
  height: 1.5rem; /* 24px */
  display: block;
}

/* Navigation */
.position-section__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 5rem; /* 80px */
  height: 5rem; /* 80px */
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 10;
  padding: 0;
  transition: opacity 0.3s ease;
  display: block !important;
  visibility: visible !important;
}

.position-section__nav:hover {
  opacity: 0.8;
}

.position-section__nav--prev {
  left: 2.5rem; /* 40px */
}

.position-section__nav--next {
  right: 2.5rem; /* 40px */
  transform: translateY(-50%) rotate(180deg);
}

.position-section__nav img {
  width: 100%;
  height: 100%;
  display: block;
}

/* Pagination */
.position-swiper-pagination {
  position: static !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 0.5rem; /* 8px */
  opacity: 0;
  width: 100% !important;
  min-height: 0.625rem; /* bullet の高さを確保 */
  margin-top: 3rem !important; /* 48px スライダーから下に離す */
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  z-index: 10;
  pointer-events: auto;
}

.position-swiper-pagination .swiper-pagination-bullet {
  width: 0.625rem !important; /* 10px */
  height: 0.625rem !important; /* 10px */
  min-width: 0.625rem;
  min-height: 0.625rem;
  background-color: #ffffff;
  opacity: 1 !important;
  margin: 0 !important;
  border: none;
  border-radius: 50%;
  transition: all 0.3s ease;
  flex-shrink: 0;
  display: inline-block;
}

.position-swiper-pagination .swiper-pagination-bullet-active {
  background-color: transparent !important;
  border: 2px solid #ffffff !important;
  box-sizing: border-box;
  min-width: 0.625rem;
  min-height: 0.625rem;
}

/* Swiperのデフォルトルールを上書き */
.position-swiper-pagination .swiper-pagination-bullet:only-child {
  display: inline-block !important;
}

/* ========================================
   Position Section Responsive
   ======================================== */

@media (max-width: 75rem) { /* 1200px */
  .position-section {
    padding: 5.21rem 0; /* 比例: 100 * (1200/1440) */
  }

  .position-section__inner {
    width: 58.33rem; /* 比例: 1120 * (1200/1440) */
  }

  .position-section__header {
    gap: 2.08rem; /* 比例: 40 * (1200/1440) */
    margin-bottom: 4.58rem; /* 比例: 88 * (1200/1440) */
  }

  .position-section__slider-container {
    width: calc(50vw + 29.17rem); /* 50vw + (58.33rem / 2) */
  }

  .position-section__title {
    font-size: 2.08rem; /* 比例: 40 * (1200/1440) */
    letter-spacing: 0.21rem; /* 比例: 4 * (1200/1440) */
  }

  .position-section__subtitle {
    font-size: 1.04rem; /* 比例: 20 * (1200/1440) */
    letter-spacing: 0.10rem; /* 比例: 2 * (1200/1440) */
  }

  .position-section__description {
    font-size: 0.83rem; /* 比例: 16 * (1200/1440) */
  }

  .position-section__card {
    width: 18.33rem; /* 比例: 352 * (1200/1440) */
    min-height: 26.61rem; /* 比例: 511 * (1200/1440) */
    padding: 0.83rem; /* 比例: 16 * (1200/1440) */
  }

  .position-section__card-image {
    width: 16.67rem; /* 比例: 320 * (1200/1440) */
    height: 16.67rem;
  }

  .position-section__card-title {
    font-size: 1.15rem; /* 比例: 22 * (1200/1440) */
    letter-spacing: 0.11rem; /* 比例: 2.2 * (1200/1440) */
  }

  .position-section__card-text {
    font-size: 0.78rem; /* 比例: 15 * (1200/1440) */
  }

  .position-section__nav {
    width: 4.17rem; /* 比例: 80 * (1200/1440) */
    height: 4.17rem;
  }

  .position-swiper .swiper-slide {
    width: 18.33rem; /* 比例: 352 * (1200/1440) */
  }

}

@media (max-width: 64rem) { /* 1024px */
  .position-section {
    padding: 4.44rem 0; /* 比例: 100 * (1024/1440) */
  }

  .position-section__inner {
    width: 49.78rem; /* 比例: 1120 * (1024/1440) */
  }

  .position-section__header {
    gap: 1.78rem; /* 比例: 40 * (1024/1440) */
    margin-bottom: 3.91rem; /* 比例: 88 * (1024/1440) */
  }

  .position-section__slider-container {
    width: calc(50vw + 24.89rem); /* 50vw + (49.78rem / 2) */
  }

  .position-section__title {
    font-size: 1.78rem; /* 比例: 40 * (1024/1440) */
    letter-spacing: 0.18rem; /* 比例: 4 * (1024/1440) */
  }

  .position-section__subtitle {
    font-size: 0.89rem; /* 比例: 20 * (1024/1440) */
    letter-spacing: 0.09rem; /* 比例: 2 * (1024/1440) */
  }

  .position-section__description {
    font-size: 0.71rem; /* 比例: 16 * (1024/1440) */
  }

  .position-section__card {
    width: 15.64rem; /* 比例: 352 * (1024/1440) */
    min-height: 22.71rem; /* 比例: 511 * (1024/1440) */
    padding: 0.71rem; /* 比例: 16 * (1024/1440) */
  }

  .position-section__card-image {
    width: 14.22rem; /* 比例: 320 * (1024/1440) */
    height: 14.22rem;
  }

  .position-section__card-title {
    font-size: 0.98rem; /* 比例: 22 * (1024/1440) */
    letter-spacing: 0.10rem; /* 比例: 2.2 * (1024/1440) */
  }

  .position-section__card-text {
    font-size: 0.67rem; /* 比例: 15 * (1024/1440) */
  }

  .position-section__nav {
    width: 3.56rem; /* 比例: 80 * (1024/1440) */
    height: 3.56rem;
  }

  .position-swiper .swiper-slide {
    width: 15.64rem; /* 比例: 352 * (1024/1440) */
  }

  .position-swiper .swiper-slide:nth-child(even) {
    margin-top: 1.07rem; /* 比例: 24 * (1024/1440) */
  }

}

@media (max-width: 48rem) { /* 768px */
  .position-section {
    min-height: 50.875rem;
    padding: 3rem 0 3rem 1.5rem;
  }

  .position-section__inner {
    width: 100%;
  }

  .position-section__header {
    flex-direction: column;
    gap: 1.5rem; /* 24px */
    align-items: flex-start;
    margin-bottom: 2.5rem;
    padding-right: 1.5rem;
  }

  .position-section__title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.25rem; /* 4px */
  }

  .position-section__slider-container {
    width: calc(100vw - 1.5rem);
    margin-right: 0;
    overflow: visible;
  }

  .position-section__title {
    font-size: 1.625rem; /* 26px */
    letter-spacing: 0.1625rem; /* 2.6px */
  }

  .position-section__subtitle {
    font-size: 1rem; /* 16px */
    letter-spacing: 0.1rem; /* 1.6px */
  }

  .position-section__description {
    font-size: 1rem; /* 16px */
    line-height: 1.6;
  }

  .position-swiper .swiper-slide {
    width: 22rem;
  }

  .position-section__card {
    width: 100%;
    max-width: 100%;
    min-height: auto;
    padding: 1rem;
  }

  .position-section__card-image {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
  }

  .position-section__card-title {
    font-size: 1.1rem;
  }

  .position-section__card-text {
    font-size: 0.875rem;
  }

  .position-section__nav {
    width: 3rem;
    height: 3rem;
  }

  .position-section__nav--prev {
    left: 1rem;
  }

  .position-section__nav--next {
    right: 1rem;
  }
}

/* ========================================
   Discover Section
   ======================================== */

.discover-section {
  width: 100%;
  padding: 6.25rem 0 18.5rem;
  background-color: #fffbf5;
}

.discover-section__inner {
  width: 70rem; /* 1120px */
  margin: 0 auto;
}

/* Header */
.discover-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 11.625rem; /* 186px */
  margin-bottom: 4.0625rem; /* 65px */
}

.discover-section__title-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.25rem; /* 4px */
}

.discover-section__title {
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 2.5rem; /* 40px */
  line-height: 1.4;
  letter-spacing: 0.25rem; /* 4px */
  color: #53545d;
  margin: 0;
  white-space: nowrap;
}

.discover-section__subtitle {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 900;
  font-size: 1.25rem; /* 20px */
  line-height: 1.4;
  letter-spacing: 0.125rem; /* 2px */
  color: #53545d;
  margin: 0;
}

/* Button */
.discover-section__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 17.5rem; /* 280px */
  height: 3.125rem; /* 50px */
  padding: 0 1.5rem 0 2.4rem; /* 左24px 右24px */
  border: 2px solid #53545d;
  border-radius: 2.1875rem; /* 35px */
  text-decoration: none;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.discover-section__btn:hover {
  background-color: #53545d;
}

.discover-section__btn:hover .discover-section__btn-text {
  color: #ffffff;
}

.discover-section__btn-text {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  line-height: 1.4;
  letter-spacing: 0.05rem; /* 0.8px */
  color: #53545d;
  transition: color 0.3s ease;
}

.discover-section__btn-arrow {
  width: 1.25rem; /* 20px */
  height: 1.25rem; /* 20px */
  flex-shrink: 0;
}

/* Cards */
.discover-section__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem; /* 16px */
  margin-bottom: 2.5rem; /* 40px */
}

.discover-section__card {
  width: 100%;
  height: 22.6875rem; /* 363px */
  background-color: #ffffff;
  border-radius: 1.25rem; /* 20px */
  padding: 1.75rem 1.5rem 0; /* 上28px 左右24px 下0px */
  display: flex;
  flex-direction: column;
  gap: 1.9375rem; /* 31px - based on Figma spacing */
  opacity: 0;
}

.discover-section__card-title {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1.375rem; /* 22px */
  line-height: 1.4;
  letter-spacing: 0.1375rem; /* 2.2px */
  color: #53545d;
  text-align: center;
  margin: 0;
  flex-shrink: 0;
}

.discover-section__card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 1.9375rem; /* 31px - spacing between number and image */
  flex: 1;
  min-height: 0; /* Allow flex item to shrink below content size */
}

/* 男女比カードの特別レイアウト */
.discover-section__card-content--ratio {
  gap: 1.5rem; /* 24px */
}

/* Number Display (平均年齢、勤続年数) */
.discover-section__card-number {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.125rem; /* 2px - tight spacing between number and unit */
  flex-shrink: 0;
}

.discover-section__card-value {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 3.5rem; /* 56px */
  line-height: 1;
  letter-spacing: 0.105rem; /* 1.68px */
  text-align: center;
}

.discover-section__card-value--age {
  color: #b78a57;
}

.discover-section__card-value--holiday {
  color: #14A0D2;
}

.discover-section__card-value--years {
  color: #857766;
}

.discover-section__card-unit {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 2rem; /* 32px */
  line-height: 1;
  letter-spacing: 0.2rem; /* 3.2px */
  text-align: center;
}

.discover-section__card-unit--age {
  color: #b78a57;
}

.discover-section__card-unit--holiday {
  color: #14A0D2;
}

.discover-section__card-unit--years {
  color: #857766;
}

/* Ratio Display (男女比) */
.discover-section__card-ratio {
  display: flex;
  align-items: center;
  gap: 1.5rem; /* 24px */
}

.discover-section__card-ratio-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem; /* 4px */
}

.discover-section__card-ratio-label {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  line-height: 1.4;
  letter-spacing: 0.1rem; /* 1.6px */
}

.discover-section__card-ratio-item--male .discover-section__card-ratio-label {
  color: #14a0d2;
}

.discover-section__card-ratio-item--female .discover-section__card-ratio-label {
  color: #e96666;
}

.discover-section__card-ratio-value {
  font-family: 'Roboto', sans-serif;
  font-weight: 700;
  font-size: 3.5rem; /* 56px */
  line-height: 1;
  letter-spacing: 0.105rem; /* 1.68px */
}

.discover-section__card-ratio-item--male .discover-section__card-ratio-value {
  color: #14a0d2;
}

.discover-section__card-ratio-item--female .discover-section__card-ratio-value {
  color: #e96666;
}

.discover-section__card-ratio-unit {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 2rem; /* 32px */
  line-height: 1;
  letter-spacing: 0.2rem; /* 3.2px */
}

.discover-section__card-ratio-item--male .discover-section__card-ratio-unit {
  color: #14a0d2;
}

.discover-section__card-ratio-item--female .discover-section__card-ratio-unit {
  color: #e96666;
}

.discover-section__card-ratio-divider {
  width: 1px;
  height: 5.625rem; /* 90px */
  background-color: #53545d;
}

/* Card Image */
.discover-section__card-image {
  width: 100%;
  max-width: 12.5rem; /* 200px */
  height: auto;
  max-height: 8.75rem; /* 140px - ensures image doesn't overflow */
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 1;
  overflow: hidden;
}

.discover-section__card-image img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

/* Note */
.discover-section__note {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 500;
  font-size: 0.8125rem; /* 13px */
  line-height: 1.4;
  color: #53545d;
  margin: 0;
}

/* ========================================
   Discover Section Responsive
   ======================================== */

@media (max-width: 75rem) { /* 1200px */
  .discover-section {
    padding: 5.21rem 0; /* 比例: 100 * (1200/1440) */
  }

  .discover-section__inner {
    width: 58.33rem; /* 比例: 1120 * (1200/1440) */
  }

  .discover-section__header {
    gap: 9.69rem; /* 比例: 186 * (1200/1440) */
    margin-bottom: 3.39rem; /* 比例: 65 * (1200/1440) */
  }

  .discover-section__title {
    font-size: 2.08rem; /* 比例: 40 * (1200/1440) */
    letter-spacing: 0.21rem; /* 比例: 4 * (1200/1440) */
  }

  .discover-section__subtitle {
    font-size: 1.04rem; /* 比例: 20 * (1200/1440) */
    letter-spacing: 0.10rem; /* 比例: 2 * (1200/1440) */
  }

  .discover-section__btn {
    width: 14.58rem; /* 比例: 280 * (1200/1440) */
    height: 2.6rem; /* 比例: 50 * (1200/1440) */
  }

  .discover-section__btn-text {
    font-size: 0.83rem; /* 比例: 16 * (1200/1440) */
    letter-spacing: 0.04rem; /* 比例: 0.8 * (1200/1440) */
  }

  .discover-section__cards {
    gap: 0.83rem; /* 比例: 16 * (1200/1440) */
    margin-bottom: 2.08rem; /* 比例: 40 * (1200/1440) */
  }

  .discover-section__card {
    height: 18.89rem; /* 比例: 363 * (1200/1440) */
    padding: 1.46rem 1.25rem 0; /* 比例: 上28 左右24 下0 */
    gap: 1.61rem; /* 比例: 31 * (1200/1440) */
  }

  .discover-section__card-title {
    font-size: 1.15rem; /* 比例: 22 * (1200/1440) */
    letter-spacing: 0.11rem; /* 比例: 2.2 * (1200/1440) */
  }

  .discover-section__card-content {
    gap: 1.61rem; /* 比例: 31 * (1200/1440) */
  }

  .discover-section__card-content--ratio {
    gap: 1.25rem; /* 比例: 24 * (1200/1440) */
  }

  .discover-section__card-number {
    gap: 0.10rem; /* 比例: 2 * (1200/1440) */
  }

  .discover-section__card-value {
    font-size: 2.92rem; /* 比例: 56 * (1200/1440) */
    letter-spacing: 0.09rem; /* 比例: 1.68 * (1200/1440) */
  }

  .discover-section__card-unit {
    font-size: 1.67rem; /* 比例: 32 * (1200/1440) */
    letter-spacing: 0.17rem; /* 比例: 3.2 * (1200/1440) */
  }

  .discover-section__card-ratio-label {
    font-size: 0.83rem; /* 比例: 16 * (1200/1440) */
    letter-spacing: 0.08rem; /* 比例: 1.6 * (1200/1440) */
  }

  .discover-section__card-ratio-value {
    font-size: 2.92rem; /* 比例: 56 * (1200/1440) */
    letter-spacing: 0.09rem; /* 比例: 1.68 * (1200/1440) */
  }

  .discover-section__card-ratio-unit {
    font-size: 1.67rem; /* 比例: 32 * (1200/1440) */
    letter-spacing: 0.17rem; /* 比例: 3.2 * (1200/1440) */
  }

  .discover-section__card-ratio-divider {
    height: 4.69rem; /* 比例: 90 * (1200/1440) */
  }

  .discover-section__card-image {
    max-height: 7.29rem; /* 比例: 140 * (1200/1440) */
  }

  .discover-section__note {
    font-size: 0.68rem; /* 比例: 13 * (1200/1440) */
  }
}

@media (max-width: 64rem) { /* 1024px */
  .discover-section {
    padding: 4.44rem 0; /* 比例: 100 * (1024/1440) */
  }

  .discover-section__inner {
    width: 49.78rem; /* 比例: 1120 * (1024/1440) */
  }

  .discover-section__header {
    gap: 8.27rem; /* 比例: 186 * (1024/1440) */
    margin-bottom: 2.89rem; /* 比例: 65 * (1024/1440) */
  }

  .discover-section__title {
    font-size: 1.78rem; /* 比例: 40 * (1024/1440) */
    letter-spacing: 0.18rem; /* 比例: 4 * (1024/1440) */
  }

  .discover-section__subtitle {
    font-size: 0.89rem; /* 比例: 20 * (1024/1440) */
    letter-spacing: 0.09rem; /* 比例: 2 * (1024/1440) */
  }

  .discover-section__btn {
    width: 12.44rem; /* 比例: 280 * (1024/1440) */
    height: 2.22rem; /* 比例: 50 * (1024/1440) */
  }

  .discover-section__btn-text {
    font-size: 0.71rem; /* 比例: 16 * (1024/1440) */
    letter-spacing: 0.04rem; /* 比例: 0.8 * (1024/1440) */
  }

  .discover-section__cards {
    gap: 0.71rem; /* 比例: 16 * (1024/1440) */
    margin-bottom: 1.78rem; /* 比例: 40 * (1024/1440) */
  }

  .discover-section__card {
    height: 16.13rem; /* 比例: 363 * (1024/1440) */
    padding: 1.24rem 1.07rem 0; /* 比例: 上28 左右24 下0 */
    gap: 1.38rem; /* 比例: 31 * (1024/1440) */
  }

  .discover-section__card-title {
    font-size: 0.98rem; /* 比例: 22 * (1024/1440) */
    letter-spacing: 0.10rem; /* 比例: 2.2 * (1024/1440) */
  }

  .discover-section__card-content {
    gap: 1.38rem; /* 比例: 31 * (1024/1440) */
  }

  .discover-section__card-content--ratio {
    gap: 1.07rem; /* 比例: 24 * (1024/1440) */
  }

  .discover-section__card-number {
    gap: 0.09rem; /* 比例: 2 * (1024/1440) */
  }

  .discover-section__card-value {
    font-size: 2.49rem; /* 比例: 56 * (1024/1440) */
    letter-spacing: 0.07rem; /* 比例: 1.68 * (1024/1440) */
  }

  .discover-section__card-unit {
    font-size: 1.42rem; /* 比例: 32 * (1024/1440) */
    letter-spacing: 0.14rem; /* 比例: 3.2 * (1024/1440) */
  }

  .discover-section__card-ratio-label {
    font-size: 0.71rem; /* 比例: 16 * (1024/1440) */
    letter-spacing: 0.07rem; /* 比例: 1.6 * (1024/1440) */
  }

  .discover-section__card-ratio-value {
    font-size: 2.49rem; /* 比例: 56 * (1024/1440) */
    letter-spacing: 0.07rem; /* 比例: 1.68 * (1024/1440) */
  }

  .discover-section__card-ratio-unit {
    font-size: 1.42rem; /* 比例: 32 * (1024/1440) */
    letter-spacing: 0.14rem; /* 比例: 3.2 * (1024/1440) */
  }

  .discover-section__card-ratio-divider {
    height: 4rem; /* 比例: 90 * (1024/1440) */
  }

  .discover-section__card-image {
    max-height: 6.22rem; /* 比例: 140 * (1024/1440) */
  }

  .discover-section__note {
    font-size: 0.58rem; /* 比例: 13 * (1024/1440) */
  }
}

@media (max-width: 48rem) { /* 768px */
  .discover-section {
    padding: 3rem 1.5rem;
  }

  .discover-section__inner {
    width: 100%;
    display: flex;
    flex-direction: column;
  }

  .discover-section__header {
    display: contents;
  }

  .discover-section__title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.5rem; /* 8px */
    width: 100%;
    margin-bottom: 2.5rem; /* 40px */
    order: 1;
  }

  .discover-section__title {
    font-size: 1.625rem; /* 26px */
    letter-spacing: 0.1625rem; /* 2.6px */
  }

  .discover-section__subtitle {
    font-size: 1rem; /* 16px */
    letter-spacing: 0.1rem; /* 1.6px */
  }

  .discover-section__btn {
    width: 17.5rem; /* 280px */
    height: 3.125rem; /* 50px */
    margin: 0 auto;
    order: 4;
  }

  .discover-section__btn-text {
    font-size: 1rem; /* 16px */
    letter-spacing: 0.05rem; /* 0.8px */
  }

  .discover-section__cards {
    grid-template-columns: 1fr;
    gap: 1rem; /* 16px */
    margin-bottom: 2rem;
    order: 2;
  }

  .discover-section__card {
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 1.75rem 1.5rem 0;
  }

  .discover-section__card-title {
    font-size: 1.375rem; /* 22px */
    letter-spacing: 0.1375rem; /* 2.2px */
  }

  .discover-section__card-value {
    font-size: 3.5rem; /* 56px */
    letter-spacing: 0.105rem; /* 1.68px */
  }

  .discover-section__card-unit {
    font-size: 2rem; /* 32px */
    letter-spacing: 0.2rem; /* 3.2px */
  }

  .discover-section__card-ratio-label {
    font-size: 1rem; /* 16px */
    letter-spacing: 0.1rem; /* 1.6px */
  }

  .discover-section__card-ratio-value {
    font-size: 3.5rem; /* 56px */
    letter-spacing: 0.105rem; /* 1.68px */
  }

  .discover-section__card-ratio-unit {
    font-size: 2rem; /* 32px */
    letter-spacing: 0.2rem; /* 3.2px */
  }

  .discover-section__card-ratio-divider {
    height: 5.625rem; /* 90px */
  }

  .discover-section__note {
    font-size: 0.8125rem; /* 13px */
    text-align: left;
    order: 3;
  }
}

/* ========================================
   Footer Section
   ======================================== */

.footer-section {
  width: 100%;
  position: relative;
  padding: 0;
  overflow: hidden;
  z-index: 3;
  background: #fff;
}

/* TOPページの場合は背景色を変更 */
.home .footer-section {
  background: #fffbf5;
}

/* 福利厚生、お問い合わせ、採用情報ページの背景色 */
.page-template-page-benefit .footer-section,
.page-template-page-contact .footer-section,
.page-template-page-contact-thanks .footer-section,
.page-template-page-dentist .footer-section,
.page-template-page-hygienist .footer-section,
.page-template-page-assistant .footer-section,
.page-template-page-receptionist .footer-section {
  background: #FFF7EE;
}

.footer-section__bg {
  position: absolute;
  inset: 0;
  background-image: url('../images/home/bg-footer-container.webp');
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  z-index: 0;
}

.footer-section__inner {
  width: 100%;
  max-width: 90rem; /* 1440px */
  margin: 0 auto;
  position: relative;
  padding-bottom: 13.125rem;
  z-index: 1;
}

/* Background Decorations */
.footer-section__bg-decoration {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 80rem; /* 1280px */
  pointer-events: none;
}

.footer-section__bg-decoration--top {
  top: 0;
  height: 48.25rem; /* 772px */
}

.footer-section__bg-decoration--bottom {
  bottom: 3.125rem; /* 50px */
  height: 52.25rem; /* 836px */
}

/* Content */
.footer-section__content {
  position: relative;
  top: 9rem;
  width: 100%;
  max-width: 70rem; /* 1120px */
  margin: 0 auto;
  padding: 0 1.5rem; /* 左右に余白を追加 */
  overflow: visible;
}

/* Main Content (Text + Images) */
.footer-section__main {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 1.5rem; /* 24px */
  position: relative;
  z-index: 2;
}

/* Text */
.footer-section__text {
  flex-shrink: 0;
  opacity: 0;
}

.footer-section__text-line {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 500;
  font-size: 1.125rem; /* 18px */
  line-height: 2;
  color: #14a0d2;
  margin: 0;
  white-space: nowrap;
}

.footer-section__text-line--spacer {
  height: 0.75rem; /* 12px spacing between paragraphs */
}

/* Images */
.footer-section__images {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem; /* 24px */
  flex-shrink: 0;
  position: relative;
  opacity: 0;
}

.footer-section__image {
  display: block;
}

.footer-section__image--woman1 {
  width: 9.5rem; /* 152px */
  height: auto;
  position: relative;
  bottom: -0.8rem;
}

.footer-section__image--teeth {
  width: 8.5625rem; /* 137px */
  height: auto;
  margin-bottom: 1.875rem; /* 30px - lift up */
}

.footer-section__image--woman2 {
  width: 8.5rem;
  height: auto;
}

/* Decorative Items */
.footer-section__decoration {
  position: absolute;
  pointer-events: none;
  z-index: 2;
}

.footer-section__decoration--left {
  left: 0;
  top: 13rem;
  width: 4.625rem;
  height: auto;
}

.footer-section__decoration--right {
  right: 0;
  top: 2rem;
  width: 7.421875rem;
  height: auto;
}

/* CTA Button */
.footer-section__cta {
  display: block;
  width: 100%;
  max-width: 77rem; /* 1232px */
  height: 21.875rem; /* 350px */
  margin: 0 auto;
  padding: 7.8125rem 7.5rem; /* 125px 120px */
  border-radius: 1.875rem; /* 30px */
  text-decoration: none;
  position: relative;
  z-index: 1;
  opacity: 0;
}

.footer-section__cta::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100vw - 8rem);
  max-width: calc(100vw - 8rem);
  background-image: url('../images/home/bg-footer.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 1.875rem;
  z-index: -1;
  overflow: hidden;
}

.footer-section__cta-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
}

.footer-section__cta-text {
  display: flex;
  align-items: center;
  gap: 5rem; /* 80px */
  color: #ffffff;
}

.footer-section__cta-title {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 3rem; /* 48px */
  line-height: 1.4;
  letter-spacing: 0.3rem; /* 4.8px */
  margin: 0;
  white-space: nowrap;
}

.footer-section__cta-subtitle {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1.25rem; /* 20px */
  line-height: 1.4;
  letter-spacing: 0.125rem; /* 2px */
  margin: 0;
  white-space: nowrap;
}

.footer-section__cta-arrow {
  width: 6.25rem; /* 100px */
  height: 6.25rem; /* 100px */
  flex-shrink: 0;
}

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

/* ========================================
   Footer Section Responsive
   ======================================== */

@media (max-width: 75rem) { /* 1200px */

  .footer-section__content {
    max-width: 58.33rem; /* 1120 * (1200/1440) */
    padding: 0 2rem;
  }

  .footer-section__main {
    gap: 1.25rem; /* 24 * (1200/1440) */
  }

  .footer-section__text-line {
    font-size: 0.94rem; /* 18 * (1200/1440) */
  }

  .footer-section__text-line--spacer {
    height: 0.63rem; /* 12 * (1200/1440) */
  }

  .footer-section__images {
    gap: 1.25rem; /* 24 * (1200/1440) */
  }

  .footer-section__image--woman1 {
    width: 7.92rem; /* 152 * (1200/1440) */
  }

  .footer-section__image--teeth {
    width: 7.14rem; /* 137 * (1200/1440) */
    margin-bottom: 1.56rem; /* 30 * (1200/1440) */
  }

  .footer-section__image--woman2 {
    width: 7.92rem; /* 152 * (1200/1440) */
  }

  .footer-section__decoration--left {
    top: 45.31rem;
    width: 3.85rem; /* 74 * (1200/1440) */
  }

  .footer-section__decoration--right {
    top: 43.75rem;
    width: 6.18rem; /* 118.75 * (1200/1440) */
  }

  .footer-section__cta {
    max-width: 64.17rem; /* 1232 * (1200/1440) */
    height: 18.23rem; /* 350 * (1200/1440) */
    padding: 6.51rem 6.25rem; /* 125 * (1200/1440), 120 * (1200/1440) */
  }

  .footer-section__cta-text {
    gap: 4.17rem; /* 80 * (1200/1440) */
  }

  .footer-section__cta-title {
    font-size: 2.5rem; /* 48 * (1200/1440) */
    letter-spacing: 0.25rem; /* 4.8 * (1200/1440) */
  }

  .footer-section__cta-subtitle {
    font-size: 1.04rem; /* 20 * (1200/1440) */
    letter-spacing: 0.10rem; /* 2 * (1200/1440) */
  }

  .footer-section__cta-arrow {
    width: 5.21rem; /* 100 * (1200/1440) */
    height: 5.21rem;
  }
}

@media (max-width: 64rem) { /* 1024px */

  .footer-section__content {
    max-width: 49.78rem; /* 1120 * (1024/1440) */
    padding: 0 2rem;
  }

  .footer-section__main {
    gap: 1.07rem; /* 24 * (1024/1440) */
  }

  .footer-section__text-line {
    font-size: 0.80rem; /* 18 * (1024/1440) */
  }

  .footer-section__text-line--spacer {
    height: 0.53rem; /* 12 * (1024/1440) */
  }

  .footer-section__images {
    gap: 1.07rem; /* 24 * (1024/1440) */
  }

  .footer-section__image--woman1 {
    width: 6.76rem; /* 152 * (1024/1440) */
  }

  .footer-section__image--teeth {
    width: 6.09rem; /* 137 * (1024/1440) */
    margin-bottom: 1.33rem; /* 30 * (1024/1440) */
  }

  .footer-section__image--woman2 {
    width: 6.76rem; /* 152 * (1024/1440) */
  }

  .footer-section__decoration--left {
    top: 38.67rem;
    width: 3.29rem; /* 74 * (1024/1440) */
  }

  .footer-section__decoration--right {
    top: 37.33rem;
    width: 5.27rem; /* 118.75 * (1024/1440) */
  }

  .footer-section__cta {
    max-width: 54.76rem; /* 1232 * (1024/1440) */
    height: 15.56rem; /* 350 * (1024/1440) */
    padding: 5.56rem 5.33rem; /* 125 * (1024/1440), 120 * (1024/1440) */
  }

  .footer-section__cta-text {
    gap: 3.56rem; /* 80 * (1024/1440) */
  }

  .footer-section__cta-title {
    font-size: 2.13rem; /* 48 * (1024/1440) */
    letter-spacing: 0.21rem; /* 4.8 * (1024/1440) */
  }

  .footer-section__cta-subtitle {
    font-size: 0.89rem; /* 20 * (1024/1440) */
    letter-spacing: 0.09rem; /* 2 * (1024/1440) */
  }

  .footer-section__cta-arrow {
    width: 4.44rem; /* 100 * (1024/1440) */
    height: 4.44rem;
  }
}

@media (max-width: 48rem) { /* 768px */
  .footer-section__bg {
    background-image: url('../images/home/footer-bg-container-sp.webp');
    background-size: contain;
  }

  .footer-section__inner {
    padding-bottom: 2rem;
  }

  .footer-section__inner::after {
    content: '';
    position: absolute;
    bottom: -7.875rem;
    left: 0;
    width: 100%;
    height: 8.125rem;
    background-color: #FFF7EE;
    z-index: -1;
  }

  .footer-section__content {
    top: 7.5rem; /* 120px */
    max-width: 100%;
    padding: 0 1rem; /* 16px */
  }

  .footer-section__main {
    flex-direction: column;
    align-items: center;
    gap: 2.5rem; /* 40px */
  }

  .footer-section__text {
    width: 100%;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .footer-section__text-line {
    font-size: 1.125rem; /* 18px */
    line-height: 2;
    white-space: normal;
  }

  .footer-section__text-line--spacer {
    display: none;
  }

  .footer-section__images {
    gap: 1rem;
    justify-content: center;
  }

  .footer-section__image--woman1 {
    max-width: 8.3125rem;
    width: auto;
    bottom: -0.6rem;
    transform: scaleX(-1);
    left: 3.5rem;
  }

  .footer-section__image--woman2 {
    max-width: 7.5rem;
    width: auto;
    position: relative;
    right: 3rem;
  }

  .footer-section__image--teeth {
    max-width: 7.75rem;
    margin-bottom: 0;
    width: auto;
    position: relative;
    z-index: -1;
    left: -0.3rem;
    top: -3rem;
  }

  .footer-section__decoration--left {
    display: none;
  }

  .footer-section__decoration--right {
    display: none;
  }

  .footer-section__cta {
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 2.5rem;
    border-radius: 1.875rem;
  }

  .footer-section__cta::before {
    width: 100%;
    max-width: 100%;
  }

  .footer-section__cta-content {
    flex-direction: column;
    align-items: center;
    gap: 2.5rem; /* 40px */
  }

  .footer-section__cta-text {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem; /* 8px */
    text-align: left;
  }

  .footer-section__cta-title {
    font-size: 2rem; /* 32px */
    letter-spacing: 0.2rem; /* 3.2px */
  }

  .footer-section__cta-subtitle {
    font-size: 1.25rem;
    letter-spacing: 0.125rem;
    white-space: nowrap;
  }

  .footer-section__cta-arrow {
    width: 6.25rem; /* 100px */
    height: 6.25rem; /* 100px */
  }
}

/* ========================================
   Footer Info Section
   ======================================== */

.footer-info {
  width: 100%;
  max-width: 70rem; /* 1120px */
  margin: 0 auto;
  padding: 5rem 0 0; /* 80px 上, 0 左右下 */
  position: relative;
}

.footer-info::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background-color: #ffffff;
}

.footer-info__inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 3.75rem; /* 60px */
  margin-bottom: 3.5rem; /* 56px */
}

/* Left Column */
.footer-info__left {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem; /* 32px */
}

.footer-info__clinic {
  display: flex;
  flex-direction: column;
  gap: 1rem; /* 16px */
}

.footer-info__clinic-name {
  display: flex;
  flex-direction: column;
  gap: 0.125rem; /* 2px */
}

.footer-info__clinic-org {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  line-height: 1.4;
  letter-spacing: 0.1rem; /* 1.6px */
  color: #53545d;
  margin: 0;
}

.footer-info__clinic-title {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1.5rem; /* 24px */
  line-height: 1.4;
  letter-spacing: 0.15rem; /* 2.4px */
  color: #53545d;
  margin: 0;
}

.footer-info__clinic-details {
  font-family: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 0.875rem; /* 14px */
  line-height: 1.6;
  color: #53545d;
}

.footer-info__clinic-details p {
  margin: 0;
}

.footer-info__map {
  width: 23.4375rem; /* 375px */
  height: 9.375rem; /* 150px */
  overflow: hidden;
  position: relative;
}

.footer-info__map-iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Right Column */
.footer-info__right {
  display: flex;
  flex-direction: column;
  gap: 2.5rem; /* 40px */
  flex: 1;
}

.footer-info__nav {
  display: flex;
  flex-direction: column;
  gap: 2.5rem; /* 40px */
}

.footer-info__nav-main {
  display: flex;
  gap: 2rem; /* 32px */
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-info__nav-link {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem; /* 15px */
  line-height: 1.2;
  letter-spacing: 0.09375rem; /* 1.5px */
  color: #53545d;
  text-decoration: none;
  display: inline-block;
}

.footer-info__nav-recruit {
  display: flex;
  flex-direction: column;
  gap: 0.5rem; /* 8px */
}

.footer-info__nav-recruit-title {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem; /* 13px */
  line-height: 1.2;
  letter-spacing: 0.08125rem; /* 1.3px */
  color: #53545d;
  margin: 0;
}

.footer-info__nav-recruit-list {
  display: flex;
  gap: 2rem; /* 32px */
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-info__nav-link--small {
  font-size: 0.875rem; /* 14px */
  letter-spacing: 0.0875rem; /* 1.4px */
}

.footer-info__banner {
  display: block;
  width: 18.5rem; /* 296px */
  overflow: hidden;
  align-self: flex-end;
}

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

/* Bottom Section */
.footer-info__bottom {
  position: relative;
  border-top: 2px solid #E5E1DA;
  padding: 2.5rem 0; /* 40px 上下 */
}

.footer-info__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.5rem; /* 40px */
}

.footer-info__logo {
  width: 8.1875rem; /* 131px */
  height: 4.375rem; /* 70px */
  position: relative;
  flex-shrink: 0;
}

.footer-info__logo-banba {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 20.57%;
}

.footer-info__logo-banba img {
  width: 100%;
  height: 100%;
  display: block;
}

.footer-info__logo-text {
  position: absolute;
  bottom: 0;
  left: 11.23%;
  right: 11.23%;
  top: 84.89%;
}

.footer-info__logo-text img {
  width: 100%;
  height: 100%;
  display: block;
}

.footer-info__social {
  display: flex;
  align-items: center;
  gap: 1.25rem; /* 20px */
}

.footer-info__social-link {
  text-decoration: none;
}

.footer-info__social-link--youtube {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem; /* 15px */
  line-height: 1.2;
  letter-spacing: 0.0375rem; /* 0.6px */
  color: #53545d;
}

.footer-info__social-link--instagram {
  width: 2.5rem; /* 40px */
  height: 2.5rem; /* 40px */
  display: block;
}

.footer-info__social-link--instagram img {
  width: 100%;
  height: 100%;
  display: block;
}

.footer-info__copyright {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem; /* 13px */
  line-height: 1.3;
  letter-spacing: -0.024375rem; /* -0.39px */
  color: #53545d;
  text-align: left;
  margin: 0;
}

/* ========================================
   Footer Info Section - Responsive
   ======================================== */

@media (max-width: 75rem) { /* 1200px */
  .footer-info {
    padding: 4rem 4rem 0;
  }

  .footer-info__inner {
    gap: 3rem;
  }

  .footer-info__map {
    width: 20rem;
    height: 8rem;
  }

  .footer-info__banner {
    width: 16rem;
  }
}

@media (max-width: 64rem) { /* 1024px */
  .footer-info {
    padding: 3.5rem 3rem 0;
  }

  .footer-info__inner {
    flex-direction: column;
    gap: 3rem;
  }

  .footer-info__left {
    width: 100%;
  }

  .footer-info__map {
    width: 100%;
    max-width: 100%;
    height: 12rem;
  }

  .footer-info__right {
    width: 100%;
  }

  .footer-info__banner {
    width: 18.5rem;
  }

  .footer-info__logo {
    width: 6rem;
    height: 3.5rem;
  }
}

@media (max-width: 48rem) { /* 768px */
  .footer-info {
    padding: 10.5rem 1.5rem 0;
  }

  .footer-info__inner {
    flex-direction: column;
    gap: 2rem; /* 32px */
    margin-bottom: 1rem; /* 16px */
    align-items: center;
  }

  .footer-info__left {
    width: 100%;
    max-width: 100%;
    gap: 1.5rem;
  }

  .footer-info__clinic {
    gap: 0.75rem; /* 12px */
  }

  .footer-info__clinic-name {
    gap: 0.125rem; /* 2px */
  }

  .footer-info__clinic-org {
    font-size: 0.875rem; /* 14px */
    letter-spacing: 0.0875rem; /* 1.4px */
  }

  .footer-info__clinic-title {
    font-size: 1.25rem; /* 20px */
    letter-spacing: 0.125rem; /* 2px */
  }

  .footer-info__clinic-details {
    font-size: 0.875rem; /* 14px */
  }

  .footer-info__map {
    width: 100%;
    height: 9.375rem; /* 150px */
  }

  .footer-info__right {
    width: 100%;
    max-width: 100%;
    gap: 2rem;
  }

  .footer-info__nav {
    gap: 2rem;
  }

  .footer-info__nav-main {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem; /* 16px */
  }

  .footer-info__nav-main li {
    display: flex;
    flex-direction: column;
    gap: 0.5rem; /* 8px */
  }

  .footer-info__nav-main li::after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #53545D;
  }

  .footer-info__nav-link {
    font-size: 0.9375rem; /* 15px */
    letter-spacing: 0.09375rem; /* 1.5px */
  }

  .footer-info__nav-recruit {
    gap: 1rem; /* 16px */
  }

  .footer-info__nav-recruit-title {
    font-size: 1rem;
    letter-spacing: 0.1rem;
    text-align: center;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #53545D;
  }

  .footer-info__nav-recruit-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem; /* 24px */
  }

  .footer-info__nav-link--small {
    font-size: 0.875rem; /* 14px */
    letter-spacing: 0.0875rem; /* 1.4px */
  }

  .footer-info__banner {
    width: 100%;
    max-width: 100%;
  }

  .footer-info__bottom {
    padding: 1.5rem 0; /* 24px 0 */
  }

  .footer-info__bottom-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem; /* 16px */
  }

  .footer-info__logo {
    width: 5.25rem; /* 84px */
    height: 2.8125rem; /* 45px */
  }

  .footer-info__social {
    display: flex;
    align-items: center;
    gap: 1rem; /* 16px */
  }

  .footer-info__social-link--youtube {
    font-size: 0.9375rem; /* 15px */
    letter-spacing: 0.0375rem; /* 0.6px */
  }

  .footer-info__social-link--instagram {
    width: 2.5rem; /* 40px */
    height: 2.5rem; /* 40px */
  }

  .footer-info__copyright {
    font-size: 0.8125rem; /* 13px */
    letter-spacing: -0.024375rem; /* -0.39px */
    text-align: center;
  }
}

/* ========================================
   Hamburger Menu
   ======================================== */

.hamburger-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
  z-index: 200;
  overflow-y: auto;
  display: none;
  opacity: 0;
}

@media (max-width: 48rem) { /* 768px */
  .hamburger-menu.is-open {
    display: block;
  }
}

.hamburger-menu__close {
  position: fixed;
  top: 1rem; /* 16px */
  right: 1rem; /* 16px */
  width: 3.125rem; /* 50px */
  height: 3.125rem; /* 50px */
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  z-index: 201;
}

.hamburger-menu__close-icon {
  width: 100%;
  height: 100%;
  display: block;
}

.hamburger-menu__inner {
  display: flex;
  justify-content: space-between;
  gap: 3.75rem; /* 60px */
  padding: 6rem 1.5rem 2rem; /* Top padding accounts for header */
  max-width: 70rem; /* 1120px */
  margin: 0 auto;
}

/* Left Column */
.hamburger-menu__left {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 2rem; /* 32px */
}

.hamburger-menu__clinic {
  display: flex;
  flex-direction: column;
  gap: 1rem; /* 16px */
}

.hamburger-menu__clinic-name {
  display: flex;
  flex-direction: column;
  gap: 0.125rem; /* 2px */
}

.hamburger-menu__clinic-org {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  line-height: 1.4;
  letter-spacing: 0.1rem; /* 1.6px */
  color: #53545d;
  margin: 0;
}

.hamburger-menu__clinic-title {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1.5rem; /* 24px */
  line-height: 1.4;
  letter-spacing: 0.15rem; /* 2.4px */
  color: #53545d;
  margin: 0;
}

.hamburger-menu__clinic-details {
  font-family: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 0.875rem; /* 14px */
  line-height: 1.6;
  color: #53545d;
}

.hamburger-menu__clinic-details p {
  margin: 0;
}

/* Right Column */
.hamburger-menu__right {
  display: flex;
  flex-direction: column;
  gap: 2.5rem; /* 40px */
  flex: 1;
}

.hamburger-menu__nav {
  display: flex;
  flex-direction: column;
  gap: 2.5rem; /* 40px */
}

.hamburger-menu__nav-main {
  display: flex;
  gap: 2rem; /* 32px */
  list-style: none;
  margin: 0;
  padding: 0;
}

.hamburger-menu__nav-link {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem; /* 15px */
  line-height: 1.2;
  letter-spacing: 0.09375rem; /* 1.5px */
  color: #53545d;
  text-decoration: none;
  display: inline-block;
}

.hamburger-menu__nav-recruit {
  display: flex;
  flex-direction: column;
  gap: 0.5rem; /* 8px */
}

.hamburger-menu__nav-recruit-title {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem; /* 13px */
  line-height: 1.2;
  letter-spacing: 0.08125rem; /* 1.3px */
  color: #53545d;
  margin: 0;
}

.hamburger-menu__nav-recruit-list {
  display: flex;
  gap: 2rem; /* 32px */
  list-style: none;
  margin: 0;
  padding: 0;
}

.hamburger-menu__nav-link--small {
  font-size: 0.875rem; /* 14px */
  letter-spacing: 0.0875rem; /* 1.4px */
}

.hamburger-menu__banner {
  display: block;
  width: 18.5rem; /* 296px */
  overflow: hidden;
  align-self: flex-end;
}

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

/* Bottom Section */
.hamburger-menu__bottom {
  position: relative;
  border-top: 2px solid #E5E1DA;
  padding: 2.5rem 1.5rem; /* 40px */
  max-width: 70rem; /* 1120px */
  margin: 0 auto;
}

.hamburger-menu__bottom-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2.5rem; /* 40px */
}

.hamburger-menu__logo {
  width: 8.1875rem; /* 131px */
  height: 4.375rem; /* 70px */
  position: relative;
  flex-shrink: 0;
}

.hamburger-menu__logo-banba {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 20.57%;
}

.hamburger-menu__logo-banba img {
  width: 100%;
  height: 100%;
  display: block;
}

.hamburger-menu__logo-text {
  position: absolute;
  bottom: 0;
  left: 11.23%;
  right: 11.23%;
  top: 84.89%;
}

.hamburger-menu__logo-text img {
  width: 100%;
  height: 100%;
  display: block;
}

.hamburger-menu__social {
  display: flex;
  align-items: center;
  gap: 1.25rem; /* 20px */
}

.hamburger-menu__social-link {
  text-decoration: none;
}

.hamburger-menu__social-link--youtube {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem; /* 15px */
  line-height: 1.2;
  letter-spacing: 0.0375rem; /* 0.6px */
  color: #53545d;
}

.hamburger-menu__social-link--instagram {
  width: 2.5rem; /* 40px */
  height: 2.5rem; /* 40px */
  display: block;
}

.hamburger-menu__social-link--instagram img {
  width: 100%;
  height: 100%;
  display: block;
}

.hamburger-menu__copyright {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem; /* 13px */
  line-height: 1.3;
  letter-spacing: -0.024375rem; /* -0.39px */
  color: #53545d;
  text-align: left;
  margin: 0;
}

/* Hamburger Menu - Responsive */
@media (max-width: 75rem) { /* 1200px */
  .hamburger-menu__inner {
    flex-direction: column;
    gap: 2rem; /* 32px */
    padding: 7rem 1.5rem 2rem;
  }

  .hamburger-menu__left {
    width: 100%;
    max-width: 100%;
    gap: 1.5rem;
  }

  .hamburger-menu__clinic {
    gap: 0.75rem; /* 12px */
  }

  .hamburger-menu__clinic-org {
    font-size: 0.875rem; /* 14px */
    letter-spacing: 0.0875rem; /* 1.4px */
  }

  .hamburger-menu__clinic-title {
    font-size: 1.25rem; /* 20px */
    letter-spacing: 0.125rem; /* 2px */
  }

  .hamburger-menu__clinic-details {
    font-size: 0.875rem; /* 14px */
  }

  .hamburger-menu__right {
    width: 100%;
    max-width: 100%;
    gap: 2rem;
  }

  .hamburger-menu__nav {
    gap: 2rem;
  }

  .hamburger-menu__nav-main {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem; /* 16px */
  }

  .hamburger-menu__nav-main li {
    display: flex;
    flex-direction: column;
    gap: 0.5rem; /* 8px */
  }

  .hamburger-menu__nav-main li::after {
    content: '';
    width: 100%;
    height: 1px;
    background-color: #53545D;
  }

  .hamburger-menu__nav-link {
    font-size: 0.9375rem; /* 15px */
    letter-spacing: 0.09375rem; /* 1.5px */
  }

  .hamburger-menu__nav-recruit {
    gap: 1rem; /* 16px */
  }

  .hamburger-menu__nav-recruit-title {
    font-size: 1rem;
    letter-spacing: 0.1rem;
    text-align: center;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #53545D;
  }

  .hamburger-menu__nav-recruit-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem; /* 24px */
  }

  .hamburger-menu__nav-link--small {
    font-size: 0.875rem; /* 14px */
    letter-spacing: 0.0875rem; /* 1.4px */
  }

  .hamburger-menu__banner {
    width: 100%;
    max-width: 100%;
  }

  .hamburger-menu__bottom {
    padding: 1.5rem 1.5rem; /* 24px */
  }

  .hamburger-menu__bottom-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem; /* 16px */
  }

  .hamburger-menu__logo {
    width: 5.25rem; /* 84px */
    height: 2.8125rem; /* 45px */
  }

  .hamburger-menu__social {
    display: flex;
    align-items: center;
    gap: 1rem; /* 16px */
  }

  .hamburger-menu__social-link--youtube {
    font-size: 0.9375rem; /* 15px */
    letter-spacing: 0.0375rem; /* 0.6px */
  }

  .hamburger-menu__social-link--instagram {
    width: 2.5rem; /* 40px */
    height: 2.5rem; /* 40px */
  }

  .hamburger-menu__copyright {
    font-size: 0.8125rem; /* 13px */
    letter-spacing: -0.024375rem; /* -0.39px */
    text-align: center;
  }
}

/* Body scroll lock when menu is open */
body.menu-open {
  overflow: hidden;
}

/* Show header above menu when open */
body.menu-open .header {
  z-index: 250;
}

/* ============================================
   About Page Header Section - BEM
   ============================================ */

.about-header {
  position: relative;
  width: 100%;
  height: 24.875rem; /* 398px */
  overflow: hidden;
}

.about-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('../images/about-fv-bg.webp');
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  z-index: 0;
}

.about-header__inner {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 3rem; /* 48px */
  z-index: 1;
}

.about-header__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem; /* 4px */
  margin: 0;
  font-weight: normal;
  text-align: center;
}

.about-header__title-ja {
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 2.5rem; /* 40px */
  line-height: 1.4; /* 56px */
  color: #53545D;
  letter-spacing: 0.25rem; /* 4px */
  display: block;
}

.about-header__title-en {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1.25rem; /* 20px */
  line-height: 1.4; /* 28px */
  color: #53545D;
  letter-spacing: 0.125rem; /* 2px */
  display: block;
}

/* Responsive Design */
/* タブレット (768px以下) */
@media (max-width: 48rem) {
  .about-header {
    height: 20rem; /* 320px */
  }

  .about-header__title-ja {
    font-size: 2rem; /* 32px */
    letter-spacing: 0.2rem; /* 3.2px */
  }

  .about-header__title-en {
    font-size: 1rem; /* 16px */
    letter-spacing: 0.1rem; /* 1.6px */
  }
}

/* スマートフォン (576px以下) */
@media (max-width: 36rem) {
  .about-header {
    height: 16rem; /* 256px */
  }

  .about-header__title-ja {
    font-size: 1.75rem; /* 28px */
    letter-spacing: 0.175rem; /* 2.8px */
  }

  .about-header__title-en {
    font-size: 0.9375rem; /* 15px */
    letter-spacing: 0.09375rem; /* 1.5px */
  }
}

/* ============================================
   Breadcrumb Navigation - BEM
   ============================================ */

.breadcrumb {
  padding: 0 2.5rem; /* 40px */
}

.breadcrumb__container {
  width: 100%;
  max-width: 75rem; /* 1200px */
  margin-top: 1.5rem; /* 24px */
  margin-left: auto;
  margin-right: auto;
}

.breadcrumb__inner {
  display: inline-block;
  background-color: #ffffff;
  border-radius: 0.3125rem; /* 5px */
  padding: 0.375rem 0.75rem; /* 6px 12px */
}

.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 0.5rem; /* 8px */
  list-style: none;
  margin: 0;
  padding: 0;
}

.breadcrumb__item {
  display: flex;
  flex-direction: column;
  gap: 0.125rem; /* 2px */
}

.breadcrumb__link,
.breadcrumb__current {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem; /* 13px */
  line-height: 1.2;
  color: #53545D;
  letter-spacing: 0.08125rem; /* 1.3px */
  text-decoration: none;
  display: block;
}

.breadcrumb__current {
  cursor: default;
}

.breadcrumb__separator {
  width: 0.9375rem; /* 15px */
  height: 1px;
  background-color: #9A9BA5;
  flex-shrink: 0;
}

/* Responsive Design */
/* タブレット・スマートフォン (768px以下) */
@media (max-width: 48rem) {
  .breadcrumb {
    padding: 0 1rem; /* 16px */
  }

  .breadcrumb__container {
    margin-top: 1.5rem; /* 24px */
  }

  .breadcrumb__inner {
    padding: 0.375rem 0.75rem; /* 6px 12px */
    border-radius: 0.3125rem; /* 5px */
    gap: 0.5rem; /* 8px */
  }

  .breadcrumb__link,
  .breadcrumb__current {
    font-size: 0.8125rem; /* 13px */
    letter-spacing: 0.08125rem; /* 1.3px */
  }

  .breadcrumb__separator {
    width: 0.9375rem; /* 15px */
  }
}

/* ============================================
   About Intro Section - BEM
   ============================================ */

.about-intro {
  width: 100%;
  padding: 0 2.5rem; /* 40px */
  margin-top: 5rem; /* 80px */
}

.about-intro__inner {
  max-width: 65rem; /* 1040px */
  margin: 0 auto;
}

.about-intro__header {
  display: flex;
  justify-content: center;
  margin-bottom: 9.6875rem; /* 155px */
}

.about-intro__section-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem; /* 8px */
  margin: 0;
  font-weight: normal;
  text-align: center;
}

.about-intro__section-title-ja {
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 2rem; /* 32px */
  line-height: 1.4;
  color: #53545D;
  letter-spacing: 0.2rem; /* 3.2px */
  display: block;
}

.about-intro__section-title-en {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  line-height: 1.4;
  color: #14A0D2;
  letter-spacing: 0.1rem; /* 1.6px */
  display: block;
}

.about-intro__content {
  display: flex;
  gap: 5rem; /* 80px */
  align-items: flex-start;
}

.about-intro__text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4rem; /* 64px */
}

.about-intro__heading {
  display: flex;
  flex-direction: column;
  gap: 3rem; /* 48px */
}

.about-intro__title {
  margin: 0;
  font-family: 'Kiwi Maru', serif;
  font-weight: 500;
  font-size: 1.6875rem; /* 27px */
  line-height: 1.4;
  color: #14A0D2;
  letter-spacing: 0.16875rem; /* 2.7px */
}

.about-intro__title-line {
  display: block;
}

.about-intro__subtitle {
  margin: 0;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 700;
  font-size: 1rem; /* 16px */
  line-height: 1.4;
  color: #14A0D2;
  letter-spacing: 0.1rem; /* 1.6px */
}

.about-intro__body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem; /* 24px */
}

.about-intro__body-text {
  margin: 0;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-weight: 500;
  font-size: 1rem; /* 16px */
  line-height: 1.6;
  color: #53545D;
}

.about-intro__image {
  flex: 0 0 auto;
  width: 33.125rem; /* 530px */
  max-width: 50%;
  border-radius: 1.25rem; /* 20px */
  overflow: hidden;
}

.about-intro__image-img {
  width: 100%;
  height: auto;
  aspect-ratio: 530 / 330;
  object-fit: cover;
  display: block;
}

/* Responsive Design */
/* タブレット (768px以下) */
@media (max-width: 48rem) {
  .about-intro {
    padding: 0 1.5rem; /* 24px */
    margin-top: 4rem; /* 64px */
  }

  .about-intro__header {
    margin-bottom: 4rem; /* 64px */
  }

  .about-intro__section-title-ja {
    font-size: 1.75rem; /* 28px */
    letter-spacing: 0.175rem; /* 2.8px */
  }

  .about-intro__section-title-en {
    font-size: 0.875rem; /* 14px */
    letter-spacing: 0.0875rem; /* 1.4px */
  }

  .about-intro__content {
    flex-direction: column;
    gap: 3rem; /* 48px */
  }

  .about-intro__text {
    gap: 3rem; /* 48px */
    order: 2;
  }

  .about-intro__heading {
    gap: 2rem; /* 32px */
  }

  .about-intro__title {
    font-size: 1.5rem; /* 24px */
    letter-spacing: 0.15rem; /* 2.4px */
  }

  .about-intro__image {
    width: 100%;
    max-width: 100%;
    order: 1;
  }
}

/* スマートフォン (576px以下) */
@media (max-width: 36rem) {
  .about-intro {
    padding: 0 1rem; /* 16px */
    margin-top: 3rem; /* 48px */
  }

  .about-intro__header {
    margin-bottom: 3rem; /* 48px */
  }

  .about-intro__section-title-ja {
    font-size: 1.5rem; /* 24px */
    letter-spacing: 0.15rem; /* 2.4px */
  }

  .about-intro__section-title-en {
    font-size: 0.8125rem; /* 13px */
    letter-spacing: 0.08125rem; /* 1.3px */
  }

  .about-intro__content {
    gap: 2rem; /* 32px */
  }

  .about-intro__text {
    gap: 2rem; /* 32px */
  }

  .about-intro__heading {
    gap: 1.5rem; /* 24px */
  }

  .about-intro__title {
    font-size: 1.25rem; /* 20px */
    letter-spacing: 0.125rem; /* 2px */
  }

  .about-intro__subtitle {
    font-size: 0.875rem; /* 14px */
    letter-spacing: 0.0875rem; /* 1.4px */
  }

  .about-intro__body-text {
    font-size: 0.9375rem; /* 15px */
  }
}

/* About Intro Slider */
.about-intro__slider {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 6rem; /* 96px */
  overflow: visible;
}

.about-intro-swiper {
  width: 100%;
  overflow: visible;
  pointer-events: none;
}

.about-intro-swiper .swiper-wrapper {
  transition-timing-function: linear !important;
  display: flex;
  align-items: flex-start;
  pointer-events: none;
}

.about-intro-swiper .swiper-wrapper-autoplay {
  transition-timing-function: linear !important;
}

.swiper-slide.about-intro__slide {
  width: 21.875rem !important; /* 350px */
  flex-shrink: 0;
}

.about-intro__slide--offset {
  margin-top: 2.5rem; /* 40px */
}

.about-intro__slide-inner {
  width: 21.875rem; /* 350px */
  height: 16.1875rem; /* 259px */
  overflow: hidden;
  border-radius: 1.25rem; /* 20px */
  position: relative;
}

.about-intro__slide-img {
  width: 24.28125rem; /* 388.5px */
  height: 16.1875rem; /* 259px */
  object-fit: cover;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* Responsive Design for Slider */
@media (max-width: 48rem) {
  .about-intro__slider {
    margin-top: 4rem; /* 64px */
  }

  .swiper-slide.about-intro__slide {
    width: 18rem !important; /* 288px */
  }

  .about-intro__slide-inner {
    width: 18rem; /* 288px */
    height: 13.3125rem; /* 213px */
  }

  .about-intro__slide-img {
    width: 19.96875rem; /* 319.5px (288 * 1.109375) */
    height: 13.3125rem; /* 213px */
  }

  .about-intro__slide--offset {
    margin-top: 2rem; /* 32px */
  }
}

@media (max-width: 36rem) {
  .about-intro__slider {
    margin-top: 3rem; /* 48px */
  }

  .about-intro__slide {
    width: 15rem; /* 240px */
  }

  .about-intro__slide-img {
    height: 11.0625rem; /* 177px */
  }

  .about-intro__slide--offset {
    margin-top: 1.5rem; /* 24px */
  }
}