@charset "UTF-8";
/* ベーススタイル
------------------------------------------ */
:root {
  --color-white: #FFF;
  --color-black-main: #000;
  --color-brown-text: #694A4E;
  --color-black-text: #646464;
  --color-pink: #CC2186;
  --color-blue: #194187;
  --color-yellow: #FFFCDB;
  --color-yellow-text: #FFF7A0;
  --color-yellow-back: #FFFDEB;
  --color-gold: #C8960F;
  --color-light-blue: #1EB9CB;
  --font-base: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", 'Noto Sans JP', sans-serif;
  --font-serif: "Hiragino Mincho ProN", "Noto Sans JP", sans-serif;
  --font-title-en: "Oswald", sans-serif;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-black: 900;
}

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

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-base);
  font-weight: var(--font-weight-medium);
  color: var(--color-black-main);
  line-height: 1;
}

a {
  color: var(--color-black-main);
  text-decoration: none;
}

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

ul {
  list-style: none;
}

ol {
  list-style-type: none;
}

/* コンテンツ幅
------------------------------------------ */
@media screen and (max-width: 767px) {
  .content-inner {
    width: 100%;
    padding: 0 0.94rem;
  }
}
/* 非表示
------------------------------------------ */
@media screen and (max-width: 767px) {
  ._sp {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  ._pc {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  ._tab {
    display: none;
  }
}
/* header
------------------------------------------ */
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}
@media screen and (max-width: 767px) {
  .header {
    position: fixed;
    top: 0;
    left: 0;
  }
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 767px) {
  .header__inner {
    height: 51px;
    background-color: var(--color-white);
  }
}

.header__logo {
  width: 13.75rem;
  margin-top: 0.63rem;
  margin-bottom: 0.5rem;
  margin-left: 0.94rem;
}

@media screen and (max-width: 767px) {
  .hamburger-button {
    position: relative;
    background-color: var(--color-pink);
    width: 3.13rem;
    height: 3.19rem;
  }
  .hamburger-button__bar {
    display: inline-block;
    width: 1.56rem;
    height: 0.19rem;
    background: var(--color-white);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: 0.5s;
  }
  .hamburger-button__bar:first-child {
    top: 0.63rem;
  }
  .hamburger-button__bar:nth-child(2) {
    top: 1.13rem;
  }
  .hamburger-button__bar:nth-child(3) {
    top: 1.63rem;
  }
  .hamburger-button--open .hamburger-button__bar {
    top: 37%;
  }
  .hamburger-button--open .hamburger-button__bar:first-child {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
  }
  .hamburger-button--open .hamburger-button__bar:nth-child(3) {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
  }
  .hamburger-button--open .hamburger-button__bar:nth-child(2) {
    display: none;
  }
  .hamburger-button__text {
    position: absolute;
    top: 2.13rem;
    left: 50%;
    transform: translateX(-50%);
    color: var(--color-white);
    font-size: 0.63rem;
    text-wrap: nowrap;
  }
  .hamburger-menu {
    position: fixed;
    top: -100%;
    transition: all 0.6s;
    visibility: hidden;
    opacity: 0;
    background-color: var(--color-pink);
    width: 100%;
    height: 80vh;
  }
  .hamburger-menu-active {
    top: 51px;
    visibility: visible;
    opacity: 1;
  }
  .header__drawer-nav {
    padding: 1.56rem;
  }
  .header__drawer-nav li {
    position: relative;
  }
  .header__drawer-nav li::before {
    content: "▶︎";
    display: inline-block;
    font-size: 0.75rem;
    color: var(--color-white);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .header__drawer-nav a {
    color: var(--color-white);
    font-size: 1.13rem;
    margin-left: 20px;
  }
  .header__drawer-main-list,
  .header__drawer-sub-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
  }
  .header__drawer-sub-list {
    margin-top: 1.56rem;
  }
  .header__drawer-sub-list .page-header__nav-item a {
    color: var(--color-white);
    font-size: 1.13rem;
    margin-left: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .header__inner {
    padding: clamp(0.81rem, 0.89rem + -0.167vw, 0.75rem) clamp(1.25rem, -0.03rem + 2.676vw, 2.25rem);
    padding-right: clamp(1.25rem, -0.52rem + 3.679vw, 2.63rem);
  }
  .header__logo {
    width: clamp(12.5rem, 0.81rem + 24.348vw, 21.6rem);
  }
  .header__sub-list {
    display: flex;
    --gap-size: 40px;
    gap: var(--gap-size);
  }
  .header__sub-item {
    position: relative;
  }
  .header__sub-item:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: clamp(1.25rem, 0.13rem + 2.341vw, 2.13rem);
    background-color: var(--color-brown-text);
    position: absolute;
    top: 50%;
    left: calc(var(--gap-size) / -2);
    transform: translate(50%, -50%);
  }
  .header__sub-item a {
    position: relative;
    padding-block: 0.38rem;
    color: var(--color-brown-text);
    font-size: clamp(0.75rem, 0.51rem + 0.502vw, 0.94rem);
    line-height: 1.7333333333;
    text-box-trim: trim-both;
    text-box-edge: text;
  }
  .header__sub-item a::before,
  .header__sub-item a::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-pink);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
  }
  .header__sub-item a::before {
    top: 0;
  }
  .header__sub-item a::after {
    bottom: 0;
  }
  .header__sub-item a:hover::before,
  .header__sub-item a:hover::after {
    transform: scaleX(1);
  }
}
/* page-header
------------------------------------------ */
.page-header {
  width: 100%;
  background-color: var(--color-white);
  border-top: 5px solid var(--color-pink);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  position: fixed;
  top: 0;
  z-index: 999;
}

.page-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .page-header__inner {
    height: 3.19rem;
  }
}
@media screen and (min-width: 768px) {
  .page-header__inner {
    padding: 0.84rem clamp(1.25rem, -0.84rem + 4.348vw, 2.88rem) 0.86rem clamp(1.25rem, -1.16rem + 5.017vw, 3.13rem);
  }
}

@media screen and (max-width: 767px) {
  .page-header__logo {
    width: 10.63rem;
    margin-left: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .page-header__logo {
    width: 15rem;
    padding-right: 1.25rem;
    flex-shrink: 0;
  }
}
.page-header__logo h1 {
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .page-header__nav {
    position: fixed;
    top: -6.25rem;
    left: 0;
    width: 100%;
    height: 80vh;
    background-color: var(--color-pink);
    padding: 1.56rem;
    transition: all 0.6s;
    visibility: hidden;
    opacity: 0;
  }
  .page-header__nav.hamburger-menu-active {
    top: 3.19rem;
    visibility: visible;
    opacity: 1;
  }
  .page-header__nav-list {
    display: flex;
    flex-direction: column;
    gap: 1.56rem;
  }
  .page-header__nav-item {
    position: relative;
  }
  .page-header__nav-item::before {
    content: "▶︎";
    display: inline-block;
    font-size: 0.75rem;
    color: var(--color-white);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }
  .page-header__nav-link {
    color: var(--color-white);
    font-size: 1.13rem;
    margin-left: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .page-header .hamburger-button {
    display: none;
  }
  .page-header__nav-list {
    display: flex;
    align-items: center;
    -moz-column-gap: 1.88rem;
         column-gap: 1.88rem;
    row-gap: 0.63rem;
    flex-wrap: wrap;
  }
  .page-header__nav-item {
    position: relative;
  }
  .page-header__nav-link {
    font-size: 1rem;
    color: var(--color-brown-text);
    white-space: nowrap;
    position: relative;
  }
  .page-header__nav-link::after {
    content: "";
    position: absolute;
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--color-pink);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.2s ease;
  }
  .page-header__nav-link:hover::after {
    transform: scaleX(1);
  }
}
/* footer-info (footer①)
------------------------------------------ */
.site-footer {
  margin-top: 1.88rem;
}

.footer-info {
  background-color: var(--color-yellow);
}

.footer-info__inner {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer-info__inner {
    flex-direction: column;
    align-items: stretch;
  }
}

.footer-info__hotel {
  position: absolute;
  left: clamp(1rem, -2.21rem + 6.689vw, 3.5rem);
  top: clamp(0.125rem, 1.3378vw - 0.5171rem, 0.625rem);
  width: 29.58vw;
  flex-shrink: 0;
  margin-top: -0.88rem;
}
@media screen and (max-width: 767px) {
  .footer-info__hotel {
    position: static;
    width: 80%;
    margin-top: 0;
    margin-inline: auto;
  }
}

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

.footer-info__content {
  flex: 1;
  padding: 1.75rem clamp(1.25rem, -3.97rem + 10.87vw, 5.31rem) 1.19rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 70.6%;
}
@media screen and (max-width: 767px) {
  .footer-info__content {
    max-width: 100%;
    padding: 1.25rem;
  }
}

.footer-info__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .footer-info__top {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.94rem;
  }
}

@media screen and (min-width: 768px) {
  .footer-info__logo {
    width: clamp(12.5rem, -4.76rem + 35.953vw, 25.94rem);
  }
}

.footer-info__brand-header {
  display: flex;
  align-items: center;
  gap: 0.88vw;
  margin-bottom: 0.44vw;
}

.footer-info__category {
  font-size: 0.75rem;
  color: var(--color-black-text);
  white-space: nowrap;
}

.footer-info__line {
  flex: 1;
  height: 1px;
  background-color: var(--color-black-text);
  display: block;
  min-width: 1.46vw;
}

.footer-info__nakagin {
  height: 1.32vw;
  width: auto;
  display: block;
  flex-shrink: 0;
}

.footer-info__logo {
  margin: 0;
}

.footer-info__logo a {
  display: block;
}

.footer-info__logo img {
  display: block;
}

.footer-info__member-btn {
  position: relative;
  --gap-size: clamp(1.875rem, 0.109rem + 3.679vw, 3.25rem);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--gap-size);
  flex-shrink: 0;
  align-self: flex-start;
  background-color: var(--color-gold);
  border: 3px solid #fff;
  color: var(--color-white);
  padding: 1.02vw 1.46vw;
  padding: clamp(0.63rem, 0.3rem + 0.669vw, 0.88rem) clamp(1.25rem, -0.28rem + 3.177vw, 2.44rem) clamp(0.63rem, 0.3rem + 0.669vw, 0.88rem) 0.31rem;
  transition: background-color 0.3s;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 767px) {
  .footer-info__member-btn {
    align-self: stretch;
    justify-content: center;
  }
}

.footer-info__member-btn::after {
  content: "";
  display: inline-block;
  width: clamp(0.63rem, -0.02rem + 1.338vw, 1.13rem);
  height: clamp(0.75rem, -0.13rem + 1.839vw, 1.44rem);
  background-image: url(../../asset/images/icon_arrow-white_01.png);
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 5px;
  transform: translateY(-50%);
}

.footer-info__member-btn:hover {
  background-color: rgba(200, 150, 15, 0.5);
}

.footer-info__member-btn-sub {
  font-size: 3.47vw;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .footer-info__member-btn-sub {
    font-size: 0.81rem;
    position: relative;
    left: 0.88rem;
  }
}

.footer-info__member-btn-main {
  font-size: 3.73vw;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.2em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer-info__member-btn-main {
    font-size: 1.83vw;
  }
}

.footer-info__member-btn-main::before {
  content: "";
  display: inline-block;
  width: 0.06rem;
  height: 2.63rem;
  background-color: var(--color-white);
  top: 50%;
  position: absolute;
  left: calc(var(--gap-size) / -2);
  transform: translate(50%, -50%);
}

.footer-info__bar {
  background-color: var(--color-pink);
  color: var(--color-white);
  text-align: center;
  font-size: 1rem;
  font-family: var(--font-serif);
  line-height: 1.2;
  padding: 0.22vw 0;
  margin-top: 1.83vw;
}
@media screen and (max-width: 767px) {
  .footer-info__bar {
    padding: 0.31rem 0;
    line-height: 1.5;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .footer-info__bar {
    font-size: clamp(0.88rem, 0.55rem + 0.669vw, 1.13rem);
  }
}

.footer-info__contact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 0.38rem;
}
@media screen and (max-width: 767px) {
  .footer-info__contact {
    flex-direction: column;
    gap: 0.31rem;
    margin-top: 0.94rem;
  }
}

.footer-info__address {
  font-style: normal;
  font-size: 1rem;
  line-height: 1.625;
  color: var(--color-black-text);
  font-weight: var(--font-regular);
}
@media screen and (min-width: 768px) {
  .footer-info__address {
    font-size: clamp(0.88rem, 0.71rem + 0.334vw, 1rem);
  }
}

.footer-info__tel {
  display: flex;
  align-items: center;
  gap: 0.73vw;
}

.footer-info__tel-icon {
  width: 8.53vw;
  height: auto;
  display: block;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .footer-info__tel-icon {
    width: 4.98vw;
  }
}

.footer-info__tel-number {
  font-size: 2.25rem;
  line-height: 1.2;
  font-weight: var(--font-weight-semibold);
  font-family: var(--font-serif);
  color: var(--color-black-main);
  text-decoration: none;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 768px) {
  .footer-info__tel-number {
    font-size: clamp(1.25rem, -1.48rem + 5.686vw, 3.38rem);
  }
}

/* footer-nav (footer②)
------------------------------------------ */
.footer-nav {
  background-color: var(--color-pink);
  padding: 1.75rem 0 1.88rem;
}
@media screen and (max-width: 767px) {
  .footer-nav {
    padding: 1.25rem 1.25rem;
  }
}

.footer-nav__inner {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 1.88rem;
  margin-inline: auto;
  max-width: 62.5rem;
  padding: 0 1.25rem;
}
@media screen and (max-width: 767px) {
  .footer-nav__inner {
    flex-direction: column;
    gap: 0.94rem;
    padding: 0;
  }
}

.footer-nav__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc((100% - 60px) / 3);
  flex-shrink: 0;
  background-color: var(--color-white);
  border: 2px solid var(--color-pink);
  outline: 1px solid var(--color-pink);
  outline-offset: -6px;
  padding: 0.69rem 0;
  color: var(--color-pink);
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
  transition: background-color 0.3s, color 0.3s;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 767px) {
  .footer-nav__btn {
    width: 100%;
    font-size: 1rem;
    padding: 0.88rem 0;
  }
}

.footer-nav__btn::after {
  content: "";
  display: block;
  width: 1.13rem;
  height: 1.44rem;
  background-image: url(../../asset/images/icon_arrow-pink_02.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  right: 0.63rem;
  top: 50%;
  transform: translateY(-50%);
  transition: background-image 0.3s;
}

.footer-nav__btn--evaluation:hover,
.footer-nav__btn--document:hover {
  background-color: var(--color-pink);
  color: var(--color-white);
  border-color: var(--color-white);
  outline-color: var(--color-white);
}

.footer-nav__btn--evaluation:hover::after,
.footer-nav__btn--document:hover::after {
  background-image: url(../../asset/images/icon_arrow-white_01.png);
}

.footer-nav__btn--atami {
  background-color: var(--color-blue);
  border-color: var(--color-blue);
  outline-color: transparent;
  border: 3px solid var(--color-white);
  overflow: hidden;
}

.footer-nav__btn--atami::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: transparent;
  transition: background-color 0.3s;
  pointer-events: none;
}

.footer-nav__btn--atami:hover::before {
  background-color: rgba(255, 255, 255, 0.3);
}

.footer-nav__btn--atami::after {
  background-image: url(../../asset/images/icon_arrow-white_01.png);
}

.footer-nav__btn-text {
  flex: 1;
  text-align: center;
  font-size: 3.73vw;
  font-weight: var(--font-weight-medium);
}
@media screen and (min-width: 768px) {
  .footer-nav__btn-text {
    font-size: 1.06rem;
  }
}

.footer-nav__btn-logo {
  display: block;
  width: 60%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .footer-nav__btn-logo {
    width: 71.3%;
  }
}

/* footer-copy (footer③)
------------------------------------------ */
.footer-copy {
  border-top: 1px solid #d8d8d8;
  padding: 1.25rem 0;
}

.footer-copy__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 80.31rem;
  margin-inline: auto;
  padding-inline: 0.69rem;
}
@media screen and (max-width: 767px) {
  .footer-copy__inner {
    flex-direction: column-reverse;
    gap: 0.94rem;
  }
}

.footer-copy__brand {
  display: flex;
  align-items: center;
  gap: 0.94rem;
}

.footer-copy__logo {
  width: 4.38rem;
  height: auto;
  flex-shrink: 0;
}

.footer-copy__text {
  font-size: 0.5rem;
  color: var(--color-black-text);
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .footer-copy__text {
    font-size: clamp(0.5rem, 0.18rem + 0.669vw, 0.75rem);
    padding-right: 0.94rem;
  }
}

@media screen and (min-width: 768px) {
  .footer-copy__nav {
    min-width: 20.63rem;
  }
}

.footer-copy__nav-list {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .footer-copy__nav-list {
    gap: 0.5rem 0;
  }
}

.footer-copy__nav-item {
  position: relative;
  padding-inline: 0.5rem;
}
@media screen and (max-width: 767px) {
  .footer-copy__nav-item {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .footer-copy__nav-item {
    padding-inline: clamp(0.63rem, -0.02rem + 1.338vw, 1.13rem);
  }
}

.footer-copy__nav-item:not(:first-child)::before {
  content: "";
  display: block;
  width: 1px;
  height: 0.94rem;
  background-color: var(--color-brown-text);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px) {
  .footer-copy__nav-item:not(:first-child)::before {
    height: 2.13rem;
  }
}

.footer-copy__nav-item a {
  position: relative;
  padding-block: 0.38rem;
  font-size: 0.63rem;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
}
@media screen and (min-width: 768px) {
  .footer-copy__nav-item a {
    font-size: clamp(0.63rem, 0.22rem + 0.836vw, 0.94rem);
  }
}

.footer-copy__nav-item a::before,
.footer-copy__nav-item a::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-pink);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.footer-copy__nav-item a::before {
  top: 0;
}

.footer-copy__nav-item a::after {
  bottom: 0;
}

.footer-copy__nav-item a:hover::before,
.footer-copy__nav-item a:hover::after {
  transform: scaleX(1);
}

/* Page-mv
------------------------------------------ */
.page-mv {
  margin-top: 0.63rem;
}
@media screen and (min-width: 768px) {
  .page-mv {
    margin-top: 4.06rem;
  }
}

.page-mv__inner {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  aspect-ratio: 375/200;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .page-mv__inner {
    aspect-ratio: 1366/170;
    min-height: 10.63rem;
  }
}

.page-mv h1 {
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.56rem;
}

.page-mv__title--en {
  font-family: var(--font-title-en);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.2em;
  font-size: 0.75rem;
}
@media screen and (min-width: 768px) {
  .page-mv__title--en {
    font-size: 0.94rem;
  }
}

.page-mv__title--ja {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .page-mv__title--ja {
    font-size: 2.19rem;
    letter-spacing: 0.1em;
  }
}

.page-mv--mind .page-mv__inner {
  background-image: url(../../asset/images/mind_image_mv_01.png);
}

.page-mv--care .page-mv__inner {
  background-image: url(../../asset/images/care-image_mv_01.png);
}

.page-mv--life .page-mv__inner {
  background-image: url(../../asset/images/life-image_mv_01.png);
}

.page-mv--room .page-mv__inner {
  background-image: url(../../asset/images/room-image_mv_01.png);
}

.page-mv--flow .page-mv__inner {
  background-image: url(../../asset/images/procedure-image_mv_01.png);
}

.page-mv--cost .page-mv__inner {
  background-image: url(../../asset/images/price-image_mv_01.png);
}

.page-mv--access .page-mv__inner {
  background-image: url(../../asset/images/access-image_mv_01.png);
}

/* header--scroll (スクロール追従ヘッダー)
------------------------------------------ */
.header--scroll {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transform: translateY(-100%);
  transition: transform 0.4s ease;
  background-color: var(--color-white);
  border-top: 5px solid var(--color-pink);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  width: 100%;
}
.header--scroll .header__inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
}
.header--scroll .header__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.38rem 3.13rem;
}
@media screen and (min-width: 768px) {
  .header--scroll .header__top {
    padding: clamp(0.81rem, 0.09rem + 1.505vw, 1.38rem) clamp(1.25rem, -1.16rem + 5.017vw, 3.13rem);
  }
}

.header--scroll.is-visible {
  transform: translateY(0);
}

/* placeholder: サイド固定ボタン共通
------------------------------------------ */
.btn-voice, .btn-document {
  position: relative;
  display: block;
  width: 4.38rem;
  height: 10rem;
  text-decoration: none;
  border-radius: 10px 0 0 10px;
  overflow: hidden;
  transition: opacity 0.3s;
}

.btn-voice::before, .btn-document::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  bottom: 3px;
  right: 0;
  border: 1px solid #fff;
  border-right: 0;
  border-radius: 7px 0 0 7px;
  pointer-events: none;
}

/* floating-btns (サイド固定CTAボタン群)
------------------------------------------ */
.floating-btns {
  position: fixed;
  top: 7.56rem;
  right: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
  transition: top 0.3s ease;
}

@media screen and (max-width: 767px) {
  .floating-btns {
    display: none;
  }
}
/* btn-document (資料請求ボタン / ピンク)
------------------------------------------ */
.btn-document {
  background-color: var(--color-pink);
}

.btn-document__img--hover {
  display: none;
}

.btn-document:hover .btn-document__img--normal {
  display: none;
}

.btn-document:hover .btn-document__img--hover {
  display: block;
}

/* btn-voice (ご入居者様の声ボタン / 水色)
------------------------------------------ */
.btn-voice__img--hover {
  display: none;
}

.btn-voice:hover .btn-voice__img--normal {
  display: none;
}

.btn-voice:hover .btn-voice__img--hover {
  display: block;
}

/* btn-pagetop (ページトップへ戻るボタン)
------------------------------------------ */
.btn-pagetop {
  position: fixed;
  right: 1.88rem;
  top: 43.75rem;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--color-white);
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
}

.btn-pagetop:hover {
  transform: translateY(-3px);
}

.btn-pagetop:hover .btn-pagetop__icon {
  opacity: 0.5;
}

.btn-pagetop__icon {
  display: block;
  width: 1.33rem;
  height: auto;
}

@media screen and (max-width: 767px) {
  .btn-pagetop {
    right: 0.94rem;
    bottom: 0.94rem;
    width: 3.13rem;
    height: 3.13rem;
  }
  .btn-pagetop__icon {
    width: 1rem;
  }
}
/* section-title
------------------------------------------ */
/* section-title--sub
------------------------------------------ */
.section-title--sub {
  background-color: var(--color-gold);
  font-weight: var(--font-weight-medium);
  color: var(--color-white);
  text-align: center;
  padding: 0.56rem 0;
}
@media screen and (max-width: 767px) {
  .section-title--sub {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .section-title--sub {
    font-size: 1.44rem;
  }
}

/* lead-title
------------------------------------------ */
.lead-title {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  text-align: center;
  line-height: 1.5277777778;
}
@media screen and (max-width: 767px) {
  .lead-title {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .lead-title {
    font-size: clamp(1.5rem, 0.54rem + 2.007vw, 2.25rem);
  }
}

.section-title {
  background-color: var(--color-pink);
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  text-align: center;
  line-height: 1.3043478261;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .section-title {
    font-size: 1.13rem;
    padding: 0.63rem 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .section-title {
    font-size: 1.44rem;
    padding: 0.56rem 1.25rem;
  }
}

/* tab-nav
------------------------------------------ */
@media screen and (max-width: 767px) {
  .tab-nav {
    padding: 1.88rem 0.94rem 0;
  }
}
@media screen and (min-width: 768px) {
  .tab-nav {
    padding: 3.13rem 1.25rem 0;
  }
}

.tab-nav__list {
  border-bottom: 2px solid var(--color-pink);
  display: flex;
  justify-content: center;
  max-width: 68.75rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .tab-nav__list {
    gap: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .tab-nav__list {
    gap: 1.44rem;
  }
}

.tab-nav--life .tab-nav__list {
  gap: 0.63rem;
}
@media screen and (min-width: 768px) {
  .tab-nav--life .tab-nav__list {
    gap: 1.13rem;
    padding: 0 3.91rem;
  }
}

.tab-nav__item {
  width: 100%;
  display: flex;
}
@media screen and (max-width: 767px) {
  .tab-nav__item {
    flex: 1;
  }
}
@media screen and (min-width: 768px) {
  .tab-nav__item {
    max-width: 18.75rem;
  }
}

.tab-nav__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
  background-color: var(--color-white);
  border-bottom: none;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
  text-align: center;
  border-radius: 5px 5px 0 0;
  box-shadow: 0 -3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 767px) {
  .tab-nav__btn {
    font-size: 0.81rem;
    padding: 0.63rem 0.31rem;
  }
}
@media screen and (min-width: 768px) {
  .tab-nav__btn {
    font-size: clamp(0.88rem, 0.55rem + 0.669vw, 1.13rem);
    padding: 0.88rem 0;
  }
}

.tab-nav__btn.is-active,
.tab-nav__btn:hover {
  background-color: var(--color-pink);
  color: var(--color-yellow-text);
}

/* mv
------------------------------------------ */
.top-mv__inner {
  margin-inline: auto;
}

.top-mv__nav {
  padding: 0.5rem clamp(0.63rem, -0.18rem + 1.672vw, 1.25rem) 0.69rem;
  position: relative;
  background-color: var(--color-white);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

.top-mv__nav::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: clamp(0.19rem, 0.03rem + 0.334vw, 0.31rem);
  background-color: var(--color-pink);
  position: absolute;
  top: 0;
  left: 0;
}

.top-mv__nav-list {
  display: flex;
  justify-content: center;
  align-items: center;
  --gap-size: clamp(0.625rem, -3.388rem + 8.361vw, 3.75rem);
}

.top-mv__nav-item {
  position: relative;
  padding: 0.8rem calc(var(--gap-size) / 2) 0.89rem;
  transition: background-color 0.2s ease;
}

.top-mv__nav-item:hover {
  background-color: var(--color-pink);
}

.top-mv__nav-item:not(:first-child)::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 34px;
  background-color: var(--color-pink);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
}

.top-mv__nav-item a {
  font-size: clamp(0.75rem, 0.35rem + 0.836vw, 1.06rem);
  line-height: 1.1764705882;
  color: var(--color-brown-text);
  transition: color 0.2s ease;
}

.top-mv__nav-item:hover a {
  color: var(--color-white);
}

/* mvアニメーション */
.top-mv__container {
  --mv-total-duration: 30s;
  --mv-fade-speed: 2s;
  width: 100%;
  overflow: hidden;
  height: 28.75rem;
  height: clamp(18.75rem, -40.8163vw + 38.3163rem, 28.75rem);
}
@media screen and (min-width: 768px) {
  .top-mv__container {
    height: clamp(27rem, 0.03rem + 56.187vw, 48rem);
  }
}

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

.top-mv__slide-inner {
  height: 100%;
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 0;
  animation: slideFade var(--mv-total-duration) linear infinite 0s;
}

.top-mv__slide-img {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  transform-origin: center center;
  background-repeat: no-repeat;
  animation: slideZoom var(--mv-total-duration) linear infinite;
}
@media screen and (max-width: 767px) {
  .top-mv__slide-img {
    background-position: center center;
  }
}

.top-mv__content {
  position: absolute;
  z-index: 10;
}

.top-mv__slide--1 {
  animation-delay: 0s;
}
.top-mv__slide--1 .top-mv__slide-img {
  background-image: url(../../asset/images/top-image_mv_01_sp.png);
  animation-delay: 0s;
}
@media screen and (min-width: 768px) {
  .top-mv__slide--1 .top-mv__slide-img {
    background-image: url(../../asset/images/top-image_mv_01.png);
  }
}
@media screen and (max-width: 767px) {
  .top-mv__slide--1 .top-mv__content {
    left: 15px;
    bottom: 15px;
  }
}
@media screen and (min-width: 768px) {
  .top-mv__slide--1 .top-mv__content {
    right: 105px;
    top: 24%;
  }
}
@media screen and (min-width: 768px) {
  .top-mv__slide--1 .top-mv__copy {
    font-size: clamp(2rem, 0.56rem + 3.01vw, 3.13rem);
  }
}

.top-mv__slide--2 {
  animation-delay: 10s;
}
.top-mv__slide--2 .top-mv__slide-img {
  background-image: url(../../asset/images/top-image_mv_02_sp.png);
  animation-delay: 10s;
}
@media screen and (min-width: 768px) {
  .top-mv__slide--2 .top-mv__slide-img {
    background-image: url(../../asset/images/top-image_mv_02.png);
  }
}
.top-mv__slide--2 .top-mv__content {
  left: 15px;
  bottom: 15px;
}
@media screen and (min-width: 768px) {
  .top-mv__slide--2 .top-mv__content {
    left: 66px;
    bottom: 34px;
  }
}
@media screen and (min-width: 768px) {
  .top-mv__slide--2 .top-mv__copy {
    font-size: clamp(2rem, -0.25rem + 4.682vw, 3.75rem);
  }
}

.top-mv__slide--3 {
  animation-delay: 20s;
}
.top-mv__slide--3 .top-mv__slide-img {
  background-image: url(../../asset/images/top-image_mv_03.png);
  animation-delay: 20s;
}
.top-mv__slide--3 .top-mv__content {
  top: 43%;
  left: 50%;
  transform: translate(-50%);
}
.top-mv__slide--3 .top-mv__copy {
  text-wrap: nowrap;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .top-mv__slide--3 .top-mv__copy {
    font-size: clamp(2rem, -1.05rem + 6.355vw, 4.38rem);
  }
}

@keyframes slideFade {
  0% {
    opacity: 0;
    animation-timing-function: ease-in;
  }
  6.6% {
    opacity: 1;
    animation-timing-function: ease-out;
  }
  33.3% {
    opacity: 1;
  }
  40%, 100% {
    opacity: 0;
  }
}
@keyframes slideZoom {
  0% {
    transform: scale(1.4);
  }
  100% {
    transform: scale(1);
  }
}
.top-mv__copy {
  line-height: 1.5;
  text-shadow: 0 0 10px var(--color-black-main);
  color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .top-mv__copy {
    font-size: 2rem;
  }
}

/* top-news
------------------------------------------ */
.top-news {
  padding: 2.94rem 0 6.31rem;
}
@media screen and (max-width: 767px) {
  .top-news {
    padding: 2.5rem 0 3.75rem;
  }
}

.top-news__inner {
  max-width: 64.13rem;
  margin-inline: auto;
  padding-inline: 1.25rem;
}

.top-news__body {
  border: 1px solid rgba(0, 0, 44, 0.2);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  padding-bottom: 21px;
}

.top-news__title {
  position: relative;
  background-color: var(--color-pink);
  color: var(--color-white);
  font-size: 1.25rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
  padding: 0.38rem 1.25rem;
  letter-spacing: 0.15em;
  margin-bottom: 0.31rem;
}

.top-news__title::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -5px;
  width: 100%;
  height: 2px;
  background-color: var(--color-pink);
}

.top-news__list {
  border-top: 1px solid #ccc;
  padding-inline: 0.81rem;
}

.top-news__item {
  border-bottom: 1px dotted var(--color-pink);
}

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

.top-news__link {
  display: flex;
  align-items: center;
  gap: 1.88rem;
  padding: 1.56rem 0 0.94rem;
  color: var(--color-black-text);
  transition: background-color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .top-news__link {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.88rem 0.63rem;
  }
}

.top-news__link:hover {
  background-color: var(--color-yellow);
}

.top-news__item:first-child .top-news__link {
  padding-top: 1.44rem;
}

.top-news__item:last-child .top-news__link {
  padding-bottom: 0.75rem;
}

.top-news__date {
  font-size: 0.88rem;
  color: var(--color-black-text);
  white-space: nowrap;
  flex-shrink: 0;
  width: 6.25rem;
}

.top-news__text {
  font-size: 0.94rem;
  line-height: 1.6;
  color: var(--color-black-text);
}

.top-news__button-wrapper {
  display: flex;
  justify-content: center;
  margin-top: 0.88rem;
}

.top-news__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 15.63rem;
  background-color: var(--color-pink);
  color: var(--color-white);
  font-size: 1.13rem;
  font-weight: var(--font-weight-bold);
  padding: 1.25rem 3.13rem;
  letter-spacing: 0.06em;
  transition: color 0.2s ease;
  border-radius: 5px;
}

.top-news__button::after {
  content: "";
  display: block;
  position: absolute;
  right: 0.63rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.5rem;
  height: 0.88rem;
  background-image: url(../../asset/images/icon_arrow-white_01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: background-image 0.2s ease;
}

.top-news__button:hover {
  color: var(--color-yellow-text);
}

.top-news__button:hover::after {
  background-image: url(../../asset/images/icon_arrow-yellow_01.svg);
}

/* top-features scroll animation
------------------------------------------ */
.top-feature--anim {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.top-feature--anim.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* top-features
------------------------------------------ */
@media screen and (max-width: 767px) {
  .top-features {
    display: flex;
    flex-direction: column;
    gap: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .top-features {
    padding-bottom: 3rem;
  }
}

.top-feature {
  background-size: cover;
  background-position: center;
}

@media screen and (min-width: 768px) {
  .top-feature:not(:first-child) {
    margin-top: 5.13rem;
  }
}

.top-feature__header {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 0.94rem;
}
@media screen and (max-width: 767px) {
  .top-feature__header {
    padding: 0 1.25rem;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .top-feature__header {
    padding-right: clamp(1.25rem, -1.8rem + 6.355vw, 3.63rem);
    gap: clamp(1.25rem, 0.29rem + 2.007vw, 2rem);
  }
}

.top-feature__brand {
  font-size: 0.75rem;
  color: var(--color-pink);
  letter-spacing: 0.1em;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .top-feature__brand {
    font-size: clamp(0.75rem, 0.51rem + 0.502vw, 0.94rem);
  }
}

.top-feature__title {
  font-size: 1.38rem;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  font-family: var(--font-serif);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .top-feature__title {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .top-feature__title {
    font-size: clamp(1.25rem, 0.05rem + 2.508vw, 2.19rem);
  }
}

.top-feature__visual {
  width: 100%;
  background-size: cover;
  background-position: center;
  margin-top: 0.63rem;
  padding: 1.25rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .top-feature__visual {
    height: 15.63rem;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .top-feature__visual {
    aspect-ratio: 1366/400;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    margin-top: 1.19rem;
    padding: 1.88rem 1.88rem 2.5rem;
  }
}

.top-feature__text {
  font-size: 0.88rem;
  color: var(--color-white);
  line-height: 2;
  letter-spacing: 0.005em;
  font-family: var(--font-title-en);
  font-weight: var(--font-medium);
  text-align: justify;
  max-width: 30.75rem;
}
@media screen and (min-width: 768px) {
  .top-feature__text {
    font-size: clamp(1rem, 0.84rem + 0.334vw, 1.13rem);
  }
}

.top-feature__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--color-white);
  color: var(--color-white);
  font-size: 1rem;
  width: 100%;
  padding: 0.75rem 0;
  transition: background-color 0.2s ease;
}
@media screen and (min-width: 768px) {
  .top-feature__button {
    width: clamp(19.69rem, 5.48rem + 29.599vw, 30.75rem);
    padding: 1.81rem 0;
    font-size: 1.38rem;
  }
}

.top-feature__button::after {
  content: "";
  display: inline-block;
  width: 0.94rem;
  height: 1.25rem;
  background-image: url(../../asset/images/icon_arrow-white_01.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  right: 0.63rem;
  top: 50%;
  transform: translateY(-50%);
}

.top-feature__button:hover {
  background-color: rgba(255, 255, 255, 0.5);
}

.top-feature--environment .top-feature__visual {
  background-image: url(../../asset/images/top-bg_fireworks_01.png);
}
@media screen and (min-width: 768px) {
  .top-feature--environment .top-feature__visual {
    padding: 2.81rem 3.75rem 2.31rem;
  }
}
.top-feature--environment .top-feature__text {
  grid-column: 1/2;
  grid-row: 1/2;
  justify-self: start;
}
.top-feature--environment .top-feature__button {
  grid-column: 2/3;
  grid-row: 2/3;
  justify-self: end;
  align-self: end;
}

@media screen and (min-width: 768px) {
  .top-feature--care .top-feature__header {
    flex-direction: row-reverse;
    padding-right: 0;
    padding-left: 3.63rem;
  }
}
.top-feature--care .top-feature__visual {
  background-image: url(../../asset/images/top-bg_care_01.png);
}
@media screen and (max-width: 767px) {
  .top-feature--care .top-feature__visual {
    background-position: 70% center;
  }
}
@media screen and (min-width: 768px) {
  .top-feature--care .top-feature__visual {
    padding: 2.75rem 3.75rem 3.75rem;
  }
}
.top-feature--care .top-feature__text {
  grid-column: 1/2;
  grid-row: 1/2;
  justify-self: start;
  align-self: start;
}
.top-feature--care .top-feature__button {
  grid-column: 1/2;
  grid-row: 2/3;
  justify-self: start;
  align-self: start;
}

.top-feature--facility .top-feature__visual {
  background-image: url(../../asset/images/top-bg_facilities_01.png);
}
@media screen and (min-width: 768px) {
  .top-feature--facility .top-feature__visual {
    padding: 6.81rem 3.75rem 2.31rem;
  }
}
.top-feature--facility .top-feature__text {
  grid-column: 2/3;
  grid-row: 1/2;
  justify-self: end;
  align-self: start;
}
.top-feature--facility .top-feature__button {
  grid-column: 2/3;
  grid-row: 2/3;
  justify-self: end;
  align-self: end;
}

@media screen and (min-width: 768px) {
  .top-feature--life .top-feature__header {
    flex-direction: row-reverse;
    padding-right: 0;
    padding-left: 3.63rem;
  }
}
.top-feature--life .top-feature__visual {
  background-image: url(../../asset/images/top-bg_life_01.png);
}
@media screen and (min-width: 768px) {
  .top-feature--life .top-feature__visual {
    padding: 2.69rem 3.75rem 3.88rem;
  }
}
.top-feature--life .top-feature__text {
  grid-column: 1/2;
  grid-row: 1/2;
  justify-self: start;
  align-self: start;
}
.top-feature--life .top-feature__button {
  grid-column: 1/2;
  grid-row: 2/3;
  justify-self: start;
  align-self: start;
}

/* page-mind
------------------------------------------ */
/* mind-message
------------------------------------------ */
.mind-message {
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .mind-message {
    padding: 2.5rem 0;
  }
}
@media screen and (min-width: 768px) {
  .mind-message {
    padding: 3.44rem 0;
  }
}

.mind-message__inner {
  margin-inline: auto;
  padding: 0 1.25rem;
}
@media screen and (min-width: 768px) {
  .mind-message__inner {
    max-width: 65rem;
  }
}

.mind-message__title {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .mind-message__title {
    font-size: 1.38rem;
  }
}
@media screen and (min-width: 768px) {
  .mind-message__title {
    font-size: clamp(2rem, 1.36rem + 1.338vw, 2.5rem);
  }
}

.mind-message__text {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  line-height: 2.25;
}
@media screen and (max-width: 767px) {
  .mind-message__text {
    font-size: 1rem;
    margin-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .mind-message__text {
    font-size: 1.13rem;
    margin-top: 3.44rem;
  }
}

.mind-message__name {
  font-weight: var(--font-weight-light);
  color: var(--color-black-main);
  text-align: right;
}
@media screen and (max-width: 767px) {
  .mind-message__name {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .mind-message__name {
    font-size: 1.13rem;
    margin-top: 1.88rem;
  }
}

/* mind-detail
------------------------------------------ */
.mind-detail {
  padding: 0 1.25rem;
}

.mind-detail__inner {
  margin-inline: auto;
  border-bottom: 1px dotted var(--color-pink);
  padding-bottom: 1.88rem;
}
@media screen and (min-width: 768px) {
  .mind-detail__inner {
    max-width: 62.5rem;
    padding-bottom: 3.13rem;
  }
}

@media screen and (max-width: 767px) {
  .mind-detail__body {
    display: flex;
    flex-direction: column;
    gap: 1.56rem;
    margin-top: 1.56rem;
  }
}
@media screen and (min-width: 768px) {
  .mind-detail__body {
    display: flex;
    gap: 1.94rem;
    margin-top: 1.63rem;
  }
}

.mind-detail__text {
  font-size: 1rem;
  font-weight: var(--font-weight-light);
  color: var(--color-black-main);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .mind-detail__text {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .mind-detail__text {
    flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .mind-detail__image {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .mind-detail__image {
    width: 42.1%;
    flex-shrink: 0;
  }
}

/* mind-info
------------------------------------------ */
@media screen and (max-width: 767px) {
  .mind-info {
    padding: 1.88rem 0;
  }
}
@media screen and (min-width: 768px) {
  .mind-info {
    padding: 3.13rem 0 4.44rem;
  }
}

.mind-info__inner {
  margin-inline: auto;
  padding: 0 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .mind-info__inner {
    max-width: 65rem;
  }
}

.mind-info__item {
  font-weight: var(--font-weight-medium);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .mind-info__item {
    font-size: 0.81rem;
  }
}
@media screen and (min-width: 768px) {
  .mind-info__item {
    font-size: 1.13rem;
  }
}

.mind-info__label {
  color: var(--color-pink);
  font-weight: var(--font-weight-bold);
}

/* tab-panel
------------------------------------------ */
@media screen and (max-width: 767px) {
  .tab-panel {
    padding: 1.88rem 0.63rem 0;
  }
}
@media screen and (min-width: 768px) {
  .tab-panel {
    padding-top: clamp(1.88rem, 0.03rem + 3.846vw, 3.31rem);
  }
}

.tab-panel.is-hidden {
  display: none;
}

/* care-lead
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-lead__inner {
    max-width: 65rem;
    padding: 0 1.25rem;
    margin-inline: auto;
  }
}

.care-lead__list {
  display: flex;
  flex-direction: column;
  gap: 1.06rem;
}
@media screen and (max-width: 767px) {
  .care-lead__list {
    margin-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .care-lead__list {
    max-width: 51.25rem;
    margin-inline: auto;
    margin-top: 2.63rem;
  }
}

.care-lead__item {
  position: relative;
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .care-lead__item {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .care-lead__item {
    font-size: clamp(1.13rem, 0.96rem + 0.334vw, 1.25rem);
  }
}

.care-lead__item::before {
  content: "●";
  font-size: 0.63rem;
  color: var(--color-pink);
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}

/* care-block
------------------------------------------ */
@media screen and (max-width: 767px) {
  .care-block {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block {
    max-width: 65rem;
    padding: 0 1.25rem;
    margin-inline: auto;
    margin-top: 2.69rem;
  }
}

@media screen and (min-width: 768px) {
  .care-block + .care-block {
    margin-top: 3.38rem;
  }
}

.care-block__body {
  background-color: var(--color-yellow-back);
}
@media screen and (max-width: 767px) {
  .care-block__body {
    padding: 1.25rem 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__body {
    padding: 0.63rem 1.25rem 2.81rem;
  }
}

.care-block__header {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .care-block__header {
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .care-block__image {
    width: 100%;
    max-width: 31.25rem;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .care-block__image {
    width: 26.1%;
    flex-shrink: 0;
  }
}

.care-block__intro {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brown-text);
  flex: 1;
  text-align: center;
  line-height: 1.6666666667;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .care-block__intro {
    font-size: 1.38rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__intro {
    font-size: clamp(1.5rem, 1.02rem + 1.003vw, 1.88rem);
    padding-bottom: 0.5rem;
  }
}

.care-block__content {
  margin-top: 0.56rem;
}

@media screen and (min-width: 768px) {
  .care-block__head-text {
    padding-left: 2.13rem;
  }
}

.care-block__service-list {
  display: grid;
  list-style: none;
  border-bottom: 1px dotted var(--color-pink);
  padding-bottom: 1.97rem;
}
@media screen and (max-width: 767px) {
  .care-block__service-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.63rem 0.94rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__service-list {
    grid-template-columns: repeat(3, auto);
    grid-template-rows: repeat(5, auto);
    grid-auto-flow: column;
    -moz-column-gap: clamp(0.94rem, -2.84rem + 7.86vw, 3.88rem);
         column-gap: clamp(0.94rem, -2.84rem + 7.86vw, 3.88rem);
    row-gap: 1.13rem;
    margin-top: 1.81rem;
    justify-content: start;
    padding-left: clamp(0.94rem, -0.75rem + 3.512vw, 2.25rem);
  }
}

.care-block__service-item {
  position: relative;
  padding-left: 1.13rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
}
@media screen and (max-width: 767px) {
  .care-block__service-item {
    font-size: 0.81rem;
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  .care-block__service-item {
    font-size: clamp(1rem, 0.84rem + 0.334vw, 1.13rem);
  }
}

@media screen and (min-width: 768px) {
  .care-block__service-item:last-child {
    display: flex;
    flex-direction: column;
    gap: 0.56rem;
    grid-row: span 3;
  }
}

.care-block__service-item::before {
  content: "■";
  color: var(--color-pink);
  position: absolute;
  left: 0;
  top: 0;
  font-size: 0.81rem;
}
@media screen and (min-width: 768px) {
  .care-block__service-item::before {
    font-size: 1.13rem;
    top: 50%;
    transform: translateY(-50%);
  }
}

.care-block__service-item:last-child::before {
  top: 0;
  transform: none;
}

.care-block__service-item-note {
  font-size: 0.75rem;
  line-height: 1.5625;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (min-width: 768px) {
  .care-block__service-item-note {
    font-size: clamp(0.75rem, 0.43rem + 0.669vw, 1rem);
  }
}

@media screen and (max-width: 767px) {
  .care-block__text-block {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__text-block {
    margin-top: 1.91rem;
  }
}

.care-block__text-block:first-of-type {
  border-bottom: 1px dotted var(--color-pink);
  padding-bottom: 1.81rem;
}

.care-block__subtitle {
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
  text-align: center;
  line-height: 1.3636363636;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .care-block__subtitle {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__subtitle {
    font-size: 1.38rem;
  }
}

.care-block__text {
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .care-block__text {
    font-size: 0.88rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__text {
    max-width: 58.75rem;
    margin-inline: auto;
    padding: 0 1.25rem;
    font-size: 1.13rem;
    margin-top: 1.88rem;
  }
}

/* care-block--with-images
------------------------------------------ */
.care-block__content--with-images {
  display: flex;
}
@media screen and (max-width: 767px) {
  .care-block__content--with-images {
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__content--with-images {
    gap: clamp(1.88rem, 0.67rem + 2.508vw, 2.81rem);
    margin-top: 1.5rem;
    padding-right: clamp(1.25rem, 0.93rem + 0.669vw, 1.5rem);
    padding-left: clamp(1.25rem, 0.13rem + 2.341vw, 2.13rem);
  }
}

.care-block__content--with-images .care-block__text {
  max-width: none;
  margin-inline: 0;
  padding: 0;
  margin-top: 0;
}

.care-block__text-area {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.care-block__image-area {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .care-block__image-area {
    gap: 0.63rem;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .care-block__image-area {
    gap: 0.94rem;
    width: 33.3%;
  }
}

.care-block__figure {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .care-block__figure {
    max-width: 31.25rem;
    margin-inline: auto;
  }
}

.care-block__figure img {
  width: 100%;
  aspect-ratio: 300/180;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.care-block__caption {
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
}
@media screen and (max-width: 767px) {
  .care-block__caption {
    font-size: 0.69rem;
    margin-top: 0.5rem;
    text-align: right;
  }
}
@media screen and (min-width: 768px) {
  .care-block__caption {
    font-size: 1rem;
    margin-top: auto;
    align-self: flex-end;
  }
}

.care-block__fig-caption {
  font-size: 0.75rem;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  margin-top: 0.31rem;
}
@media screen and (min-width: 768px) {
  .care-block__fig-caption {
    font-size: 1rem;
  }
}

/* care-block__feature-list
------------------------------------------ */
.care-block__feature-list {
  display: flex;
  flex-direction: column;
  gap: 1.13rem;
}
@media screen and (max-width: 767px) {
  .care-block__feature-list {
    margin-top: 0.94rem;
  }
}

.care-block__feature-item {
  position: relative;
  padding-left: 1.25rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
  line-height: 1.7777777778;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .care-block__feature-item {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__feature-item {
    font-size: 1.13rem;
  }
}

@media screen and (max-width: 767px) {
  .care-block__feature-item--note {
    font-size: 0.69rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__feature-item--note {
    font-size: 0.81rem;
  }
}

.care-block__feature-item--note::before {
  display: none;
}

.care-block__feature-item--no-bullet::before {
  display: none;
  line-height: 1.7777777778;
  text-box-trim: trim-both;
  text-box-edge: text;
}

.care-block__feature-item::before {
  content: "■";
  color: var(--color-pink);
  position: absolute;
  left: 0;
  top: 0;
  font-size: 0.88rem;
  line-height: 1.4444444444;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (min-width: 768px) {
  .care-block__feature-item::before {
    font-size: 1.13rem;
  }
}

@media screen and (min-width: 768px) {
  .care-block--training {
    padding-bottom: 3.13rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--training .care-block__body {
    padding-top: 2.13rem;
    padding-bottom: 2.13rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--training .care-block__content--with-images {
    margin-top: 2.19rem;
  }
}
.care-block--training .care-block__text-area {
  gap: 1.25rem;
}
@media screen and (min-width: 768px) {
  .care-block--training .care-block__text-area {
    gap: 3.13rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--training .care-block__content--with-images .care-block__text {
    line-height: 2;
    text-box-trim: trim-both;
    text-box-edge: text;
  }
}

/* care-block__info-list
------------------------------------------ */
.care-block__info-list {
  display: flex;
  flex-direction: column;
  gap: 0.44rem;
}
@media screen and (max-width: 767px) {
  .care-block__info-list {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__info-list {
    margin-top: 1.25rem;
  }
}

.care-block__info-item {
  display: flex;
  gap: 0.63rem;
}

.care-block__info-label {
  font-weight: var(--font-weight-medium);
  color: var(--color-pink);
  flex-shrink: 0;
  line-height: 1.75;
  width: 6rem;
}
@media screen and (max-width: 767px) {
  .care-block__info-label {
    font-size: 0.81rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__info-label {
    font-size: 1rem;
  }
}

.care-block__info-desc {
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .care-block__info-desc {
    font-size: 0.81rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__info-desc {
    font-size: 1rem;
  }
}

/* care-block--staff
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-block--staff .care-block__body {
    padding-top: 2.13rem;
    padding-bottom: 1.75rem;
  }
}

/* care-block--nurse
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-block--nurse .care-block__body {
    padding-bottom: 1.19rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--nurse .care-block__header {
    gap: clamp(1.25rem, 0.05rem + 2.508vw, 2.19rem);
  }
}
@media screen and (min-width: 768px) {
  .care-block--nurse .care-block__intro {
    text-align: left;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .care-block--nurse .care-block__content {
    margin-top: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--nurse .care-block__image-area {
    gap: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--nurse .care-block__content--with-images {
    gap: clamp(1.88rem, -5.59rem + 15.552vw, 7.69rem);
    margin-top: 1.69rem;
  }
}

/* care-block--clinic
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-block--clinic .care-block__body {
    padding-top: 2rem;
    padding-bottom: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--clinic .care-block__image-area {
    gap: 1.19rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--clinic .care-block__content--with-images {
    gap: clamp(1.88rem, 0.91rem + 2.007vw, 2.63rem);
    margin-top: 2.06rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--clinic .care-block__info-list {
    margin-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--clinic .care-block__info-list {
    gap: 0.06rem;
  }
}

/* care-block--medical
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-block--medical {
    padding-bottom: 1.75rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--medical .care-block__body {
    padding-top: 2.13rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--medical .care-block__content {
    margin-top: 0.88rem;
  }
}
.care-block--medical .care-block__text {
  margin: 0;
  padding: 0;
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (min-width: 768px) {
  .care-block--medical .care-block__feature-list {
    margin-top: 1.88rem;
  }
}
.care-block--medical .care-block__fig-caption {
  margin-top: 0.53rem;
}

/* care-block__hospital
------------------------------------------ */
@media screen and (max-width: 767px) {
  .care-block__hospital {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__hospital {
    margin-top: 2.5rem;
  }
}

.care-block__hospital-body {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .care-block__hospital-body {
    flex-direction: column;
    gap: 0.94rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__hospital-body {
    gap: 1.88rem;
    margin-top: 0.88rem;
    padding-left: 2.19rem;
    padding-right: 1.5rem;
  }
}

.care-block__hospital-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.94rem;
}
@media screen and (max-width: 767px) {
  .care-block__hospital-list {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__hospital-list {
    margin-top: 1.44rem;
    padding-left: clamp(0rem, -2.73rem + 5.686vw, 2.13rem);
  }
}

@media screen and (min-width: 768px) {
  .care-block__hospital--memorial .care-block__hospital-list {
    padding-left: 0;
    margin-top: 0.81rem;
  }
}

.care-block__hospital-item {
  position: relative;
  padding-left: 1.25rem;
}

.care-block__hospital-item::before {
  content: "■";
  font-size: 0.88rem;
  color: var(--color-pink);
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .care-block__hospital-item::before {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__hospital-item::before {
    font-size: 1rem;
  }
}

.care-block__hospital-label {
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
}
@media screen and (max-width: 767px) {
  .care-block__hospital-label {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__hospital-label {
    font-size: 1.13rem;
  }
}

.care-block__hospital-desc {
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  line-height: 1.7777777778;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .care-block__hospital-desc {
    font-size: 0.81rem;
    margin-top: 0.25rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__hospital-desc {
    font-size: 1.13rem;
    margin-top: 0.97rem;
  }
}

.care-block__hospital-desc-list {
  list-style: none;
  display: flex;
  flex-direction: column;
}

.care-block__hospital-desc-item--bullet {
  position: relative;
  padding-left: 1.13rem;
}

.care-block__hospital-desc-item--bullet::before {
  content: "●";
  color: var(--color-gold);
  position: absolute;
  left: 0;
  top: 5px;
}
@media screen and (max-width: 767px) {
  .care-block__hospital-desc-item--bullet::before {
    font-size: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__hospital-desc-item--bullet::before {
    font-size: 0.81rem;
  }
}

.care-block__hospital-figure {
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .care-block__hospital-figure {
    width: 18.75rem;
  }
}

.care-block__hospital-figure img {
  width: 100%;
  display: block;
}

/* care-block__hospital--eye
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-block__hospital--eye {
    margin-top: 2.19rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__hospital--eye .care-block__hospital-list {
    margin-top: 1.75rem;
  }
}

/* care-block__hospital--dental
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-block__hospital--dental {
    margin-top: 1.38rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__hospital--dental .care-block__hospital-list {
    margin-top: 1.75rem;
  }
}

/* care-block__note
------------------------------------------ */
.care-block__note {
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  line-height: 1.6666666667;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .care-block__note {
    font-size: 0.75rem;
    margin-top: 0.75rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block__note {
    font-size: 0.94rem;
    letter-spacing: 0.05em;
    margin-top: 1.56rem;
    padding-left: 1.88rem;
  }
}

/* care-block--kanmiri-plan
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-block--kanmiri-plan {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-plan .section-title {
    padding-bottom: 1.06rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-plan .care-block__body {
    padding-top: 2.38rem;
    padding-bottom: 1.63rem;
  }
}
.care-block--kanmiri-plan .care-block__text {
  margin-top: 0;
  max-width: none;
  margin-inline: 0;
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-plan .care-block__text {
    padding-left: 2.13rem;
    padding-right: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-plan .care-block__content {
    margin-top: 1.63rem;
  }
}
@media screen and (max-width: 767px) {
  .care-block--kanmiri-plan .care-block__feature-list {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-plan .care-block__feature-list {
    padding-left: 2.19rem;
    margin-top: 1.44rem;
    gap: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-plan .care-block__feature-item {
    padding-left: 1.63rem;
  }
}

/* care-block--kanmiri-about
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-block--kanmiri-about .care-block__body {
    padding-top: 3.19rem;
    padding-bottom: 2.25rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-about .care-block__text {
    margin-top: 2.19rem;
    padding-left: 1.44rem;
  }
}
@media screen and (max-width: 767px) {
  .care-block--kanmiri-about .care-block__image-area {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-about .care-block__image-area {
    width: 16.69rem;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-about .care-block__image-area .care-block__figure img {
    aspect-ratio: 267/234;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-about .care-block__content--with-images {
    margin-top: 3.56rem;
    padding-right: 0.63rem;
    gap: 0;
  }
}
@media screen and (min-width: 768px) {
  .care-block--kanmiri-about .care-block__content--with-images .care-block__text {
    padding-left: 0;
    margin-top: 0;
  }
}

/* care-block--clinic
------------------------------------------ */
@media screen and (min-width: 768px) {
  .care-block--clinic {
    padding-bottom: 3.19rem;
  }
}

/* life-panel
------------------------------------------ */
@media screen and (min-width: 768px) {
  #life-panel-01 {
    padding-bottom: 1rem;
  }
}

@media screen and (min-width: 768px) {
  #life-panel-03 {
    padding-bottom: 3.19rem;
  }
}

@media screen and (min-width: 768px) {
  #life-panel-04 {
    padding-bottom: 4.25rem;
  }
}

/* life-lead
------------------------------------------ */
@media screen and (min-width: 768px) {
  .life-lead {
    max-width: 62.5rem;
    margin-inline: auto;
    padding: 0 1.25rem;
  }
}

/* meal-block
------------------------------------------ */
@media screen and (max-width: 767px) {
  .meal-block {
    margin-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .meal-block {
    max-width: 65rem;
    margin-inline: auto;
    margin-top: 2.19rem;
    padding: 0 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .meal-block + .meal-block {
    margin-top: 2.5rem;
  }
}

.meal-block__main-image img {
  width: 100%;
  display: block;
}

.meal-block__text {
  font-weight: var(--font-weight-light);
  color: var(--color-black-main);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .meal-block__text {
    font-size: 0.88rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .meal-block__text {
    font-size: 1.13rem;
    margin-top: 2.31rem;
  }
}

.meal-block__food-list {
  display: flex;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .meal-block__food-list {
    flex-wrap: wrap;
    gap: 0.63rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .meal-block__food-list {
    gap: 0.78rem;
    margin-top: 1.56rem;
    padding-bottom: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .meal-block__food-list--event {
    justify-content: center;
  }
}

@media screen and (max-width: 767px) {
  .meal-block__food-item {
    width: calc(50% - 0.31rem);
  }
}
@media screen and (min-width: 768px) {
  .meal-block__food-item {
    flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .meal-block__food-list--event .meal-block__food-item {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .meal-block__food-list--event .meal-block__food-item {
    flex: none;
    width: 20.31rem;
  }
}

.meal-block__figure img {
  width: 100%;
  display: block;
}

.meal-block__caption {
  font-weight: var(--font-weight-medium);
  color: var(--color-black-main);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .meal-block__caption {
    font-size: 0.81rem;
    margin-top: 0.31rem;
  }
}
@media screen and (min-width: 768px) {
  .meal-block__caption {
    font-size: 1.13rem;
    margin-top: 0.75rem;
  }
}

/* oneday
------------------------------------------ */
@media screen and (min-width: 768px) {
  .oneday-lead {
    max-width: 62.5rem;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .oneday-announce {
    margin: 1.56rem -1.25rem 0;
    padding: 0.75rem 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-announce {
    margin-top: 1.75rem;
    max-width: 65rem;
    padding: 0 1.25rem;
    margin-inline: auto;
  }
}

.oneday-announce__inner {
  background-color: var(--color-pink);
  padding: 0.25rem 0 0.31rem;
}

.oneday-announce__text {
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  text-align: center;
  line-height: 1.3043478261;
}
@media screen and (max-width: 767px) {
  .oneday-announce__text {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-announce__text {
    font-size: 1.44rem;
  }
}

/* oneday-card
------------------------------------------ */
@media screen and (max-width: 767px) {
  .oneday-card {
    margin-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card {
    max-width: 65rem;
    padding: 0 1.25rem;
    margin-inline: auto;
    margin-top: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .oneday-card + .oneday-card {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card + .oneday-card {
    margin-top: 2.75rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card + .oneday-card .oneday-card__service-img {
    width: 24%;
  }
}

.oneday-card__header {
  background-color: var(--color-gold);
}
@media screen and (max-width: 767px) {
  .oneday-card__header {
    padding: 0.5rem 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__header {
    padding: 0.5rem 1.25rem 0.56rem;
  }
}

.oneday-card__header-title {
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  text-align: center;
  line-height: 1.3043478261;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .oneday-card__header-title {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__header-title {
    font-size: 1.44rem;
  }
}

.oneday-card__body {
  background-color: var(--color-yellow-back);
}
@media screen and (max-width: 767px) {
  .oneday-card__body {
    padding: 1.13rem 0.94rem 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__body {
    padding: 3.06rem 3.31rem 3.13rem;
  }
}

.oneday-card__top {
  position: relative;
}
@media screen and (max-width: 767px) {
  .oneday-card__top {
    display: flex;
    flex-direction: column-reverse;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__top {
    padding-bottom: 3.13rem;
  }
}

@media screen and (max-width: 767px) {
  .oneday-card__detail {
    display: flex;
    flex-direction: column;
    gap: 1.88rem;
  }
}

@media screen and (max-width: 767px) {
  .oneday-card__portrait {
    width: 7.5rem;
    align-self: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__portrait {
    position: absolute;
    top: -5.56rem;
    right: -1.56rem;
    width: 12.5rem;
  }
}

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

.oneday-card__intro {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brown-text);
  line-height: 1.6666666667;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .oneday-card__intro {
    font-size: 1rem;
    flex: 1;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__intro {
    font-size: 1.5rem;
    font-size: clamp(1.25rem, 0.93rem + 0.669vw, 1.5rem);
    padding-right: 10.63rem;
  }
}

/* oneday-card__detail: section rows */
.oneday-card__row-head {
  background-color: var(--color-white);
  border-top: 2px solid var(--color-pink);
  border-bottom: 2px solid var(--color-pink);
  color: var(--color-pink);
  font-weight: var(--font-weight-medium);
  text-align: center;
  line-height: 1.3043478261;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .oneday-card__row-head {
    font-size: 1rem;
    padding: 0.5rem 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__row-head {
    font-size: 1.44rem;
    padding: 0.44rem 0;
  }
}

.oneday-card__row-body {
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .oneday-card__row-body {
    font-size: 0.88rem;
    margin-top: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__row-body {
    font-size: clamp(1rem, 0.84rem + 0.334vw, 1.13rem);
    margin-top: 1.25rem;
    padding-bottom: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .oneday-card__row:last-child .oneday-card__row-body {
    padding-bottom: 0;
  }
}

/* サービス内容 row */
@media screen and (max-width: 767px) {
  .oneday-card__service-layout {
    display: flex;
    flex-direction: column;
    gap: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__service-layout {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
  }
}

.oneday-card__service-list {
  flex: 1;
  list-style: none;
  line-height: 1.7777777778;
}
@media screen and (max-width: 767px) {
  .oneday-card__service-list {
    font-size: 0.88rem;
    display: flex;
    flex-direction: column;
    gap: 0.13rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__service-list {
    font-size: clamp(1rem, 0.84rem + 0.334vw, 1.13rem);
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}

.oneday-card__service-list li {
  position: relative;
  padding-left: 1.69rem;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
}

.oneday-card__service-list li::before {
  content: "■";
  color: var(--color-pink);
  position: absolute;
  left: 0.13rem;
  font-size: 1rem;
}

.oneday-card__service-img {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .oneday-card__service-img {
    width: 100%;
    max-width: 18.75rem;
    align-self: center;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__service-img {
    width: 21.6%;
  }
}

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

/* schedule (1日スケジュール) image section */
@media screen and (max-width: 767px) {
  .oneday-card__schedule {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__schedule {
    margin-top: 1rem;
    margin-inline: -0.5rem;
  }
}

.oneday-card__schedule-subs {
  display: flex;
  flex-direction: column;
  gap: 0.94rem;
}
@media screen and (max-width: 767px) {
  .oneday-card__schedule-subs {
    flex-direction: row;
    gap: 0.63rem;
    margin-top: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__schedule-subs {
    flex-shrink: 0;
    width: 12.5rem;
    gap: 1.25rem;
    margin-top: 2.5rem;
  }
}

.oneday-card__schedule-subs img {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .oneday-card__schedule-subs img {
    flex: 1;
  }
}

/* oneday-card__row modifiers
------------------------------------------ */
@media screen and (min-width: 768px) {
  .oneday-card__row--daily .oneday-card__row-body {
    margin-top: 1.44rem;
  }
}

@media screen and (min-width: 768px) {
  .oneday-card__row--service .oneday-card__row-body {
    padding-bottom: 1.63rem;
  }
}
@media screen and (min-width: 768px) {
  .oneday-card__row--service .oneday-card__service-img {
    width: 33.4%;
  }
}

/* bath-block
------------------------------------------ */
@media screen and (max-width: 767px) {
  .bath-block {
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .bath-block {
    max-width: 65rem;
    padding: 0 1.25rem;
    margin-inline: auto;
    margin-top: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .bath-block__body {
    padding: 1.25rem 0 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .bath-block__body {
    padding: 2.06rem 0 3.75rem;
  }
}

@media screen and (max-width: 767px) {
  .bath-block__layout {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .bath-block__layout {
    display: flex;
    gap: clamp(1.25rem, -0.76rem + 4.181vw, 2.81rem);
  }
}

@media screen and (max-width: 767px) {
  .bath-block__image {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .bath-block__image {
    flex-shrink: 0;
    width: 26.25rem;
  }
}

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

.bath-block__image iframe {
  display: block;
  width: 100%;
  aspect-ratio: 420/300;
  border: 0;
}

.bath-block__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.bath-block__text {
  font-weight: var(--font-weight-light);
  color: var(--color-black-main);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .bath-block__text {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .bath-block__text {
    font-size: 1.13rem;
  }
}

.bath-block__note {
  font-weight: var(--font-weight-light);
  color: var(--color-black-main);
  line-height: 1.5;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .bath-block__note {
    font-size: 0.75rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .bath-block__note {
    font-size: 1rem;
    margin-top: 3.88rem;
  }
}

/* annual-events（年間行事）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .annual-events {
    margin-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .annual-events {
    max-width: 65rem;
    margin-inline: auto;
    margin-top: 2rem;
    padding: 0 1.25rem;
  }
}

.annual-events__body {
  background-color: var(--color-yellow-back);
}
@media screen and (max-width: 767px) {
  .annual-events__body {
    padding: 1.25rem 0.94rem 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .annual-events__body {
    padding-top: 2.03rem;
    padding-bottom: 3.13rem;
    padding-left: clamp(1.88rem, -0.05rem + 4.013vw, 3.38rem);
    padding-right: clamp(1.88rem, 0.75rem + 2.341vw, 2.75rem);
  }
}

.annual-events__subtitle,
.daily-activity__subtitle {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brown-text);
  text-align: center;
  line-height: 1.3333333333;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .annual-events__subtitle,
  .daily-activity__subtitle {
    font-size: 1.13rem;
  }
}
@media screen and (min-width: 768px) {
  .annual-events__subtitle,
  .daily-activity__subtitle {
    font-size: clamp(1.5rem, 1.02rem + 1.003vw, 1.88rem);
  }
}

.annual-events__desc {
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .annual-events__desc {
    font-size: 0.88rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .annual-events__desc {
    font-size: 1.13rem;
    margin-top: 2.03rem;
  }
}

@media screen and (max-width: 767px) {
  .annual-events__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem 0.63rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .annual-events__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    row-gap: clamp(1.25rem, 0.69rem + 1.171vw, 1.69rem);
    -moz-column-gap: clamp(1.25rem, -0.68rem + 4.013vw, 2.75rem);
         column-gap: clamp(1.25rem, -0.68rem + 4.013vw, 2.75rem);
    justify-content: center;
    margin-top: 1.88rem;
    padding: 0 1.06rem;
  }
}

/* event-card（月別イベントカード）
------------------------------------------ */
.event-card {
  position: relative;
}

@media screen and (max-width: 767px) {
  .event-card__sub-img {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .event-card__sub-img {
    position: absolute;
    top: 12.38rem;
    left: 9.75rem;
    width: 7.5rem;
    display: block;
  }
}
@media only screen and (max-width: 1000px) and (min-width: 768px) {
  .event-card__sub-img {
    top: clamp(9.0625rem, 22.8448vw - 1.903rem, 12.375rem);
    left: clamp(8.5rem, 8.6207vw + 4.3621rem, 9.75rem);
    width: clamp(3.75rem, 25.8621vw - 8.6638rem, 7.5rem);
  }
}

.event-card__month {
  background-color: var(--color-white);
  color: var(--color-pink);
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  text-align: center;
  letter-spacing: 0.1em;
  filter: drop-shadow(0 0 2.5px rgba(0, 0, 0, 0.16));
}
@media screen and (max-width: 767px) {
  .event-card__month {
    font-size: 0.94rem;
    padding: 0.31rem 0;
  }
}
@media screen and (min-width: 768px) {
  .event-card__month {
    font-size: 1.25rem;
    padding: 0.81rem 0 0.38rem;
  }
}

.event-card__figure {
  overflow: hidden;
  aspect-ratio: 260/175;
}

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

.event-card__list {
  list-style: none;
}
@media screen and (max-width: 767px) {
  .event-card__list {
    margin-top: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .event-card__list {
    margin-top: 0.88rem;
  }
}

.event-card__list li {
  position: relative;
  padding-left: 1.13rem;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .event-card__list li {
    font-size: 0.75rem;
  }
}
@media screen and (min-width: 768px) {
  .event-card__list li {
    font-size: 1rem;
  }
}

.event-card__list li::before {
  content: "■";
  color: var(--color-pink);
  position: absolute;
  left: -5px;
}

/* daily-activity（日々のアクティビティ）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .daily-activity {
    margin-top: 1.88rem;
    padding: 0 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .daily-activity {
    max-width: 65rem;
    margin-inline: auto;
    margin-top: 2.5rem;
    padding: 0 1.25rem;
  }
}

.daily-activity__body {
  background-color: var(--color-yellow-back);
}
@media screen and (max-width: 767px) {
  .daily-activity__body {
    padding: 1.25rem 0.94rem 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .daily-activity__body {
    padding-top: 2.03rem;
    padding-right: clamp(1.88rem, 1.23rem + 1.338vw, 2.38rem);
    padding-left: clamp(1.88rem, 0.27rem + 3.344vw, 3.13rem);
    padding-bottom: 3.38rem;
  }
}

@media screen and (max-width: 767px) {
  .daily-activity__content {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .daily-activity__content {
    display: flex;
    gap: 3.25rem;
    align-items: flex-start;
    margin-top: 2.03rem;
  }
}

/* 左カラム: 説明文 + 活動リスト */
@media screen and (min-width: 768px) {
  .daily-activity__left {
    flex: 1;
    min-width: 0;
  }
}

.daily-activity__desc {
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .daily-activity__desc {
    font-size: 0.88rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .daily-activity__desc {
    font-size: 1.13rem;
  }
}

/* 活動リスト: XDで3列横並び(お話会列・ボール投げ列・カラオケ列) */
@media screen and (max-width: 767px) {
  .daily-activity__lists {
    display: flex;
    gap: 0.5rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .daily-activity__lists {
    display: flex;
    margin-top: 1.5rem;
  }
}

.daily-activity__list {
  list-style: none;
  flex: 1;
}

.daily-activity__list li {
  position: relative;
  padding-left: 1.69rem;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
}
@media screen and (max-width: 767px) {
  .daily-activity__list li {
    font-size: 0.75rem;
    line-height: 1.8;
  }
}
@media screen and (min-width: 768px) {
  .daily-activity__list li {
    font-size: clamp(1rem, 0.68rem + 0.669vw, 1.25rem);
    line-height: 1.75;
  }
}

.daily-activity__list li::before {
  content: "■";
  color: var(--color-pink);
  position: absolute;
  left: 0;
}

/* 右カラム: 写真エリア
   XD: image9=370×220, image5=163×125, image8=195×125 */
@media screen and (max-width: 767px) {
  .daily-activity__photos {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .daily-activity__photos {
    flex-shrink: 0;
    width: 40.8%;
  }
}

.daily-activity__photo-main img {
  width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .daily-activity__photo-main img {
    aspect-ratio: 370/220;
  }
}

.daily-activity__photo-main iframe {
  display: block;
  width: 100%;
  aspect-ratio: 370/220;
  border: 0;
}

.daily-activity__photo-subs {
  display: flex;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .daily-activity__photo-subs {
    margin-top: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .daily-activity__photo-subs {
    margin-top: 0.75rem;
  }
}

.daily-activity__photo-sub {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .daily-activity__photo-sub {
    flex: 1;
  }
}

/* XD: image5=163px, image8=195px (合計370px, gap12px) */
@media screen and (min-width: 768px) {
  .daily-activity__photo-sub--sm {
    flex: 0 0 10.19rem;
    aspect-ratio: 163/125;
  }
}

@media screen and (min-width: 768px) {
  .daily-activity__photo-sub--lg {
    flex: 1;
    aspect-ratio: 195/125;
  }
}

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

/* page-room
------------------------------------------ */
@media screen and (min-width: 768px) {
  #room-panel-01 {
    padding-top: 3.81rem;
    padding-bottom: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  #room-panel-02 {
    padding-bottom: 4.75rem;
  }
}

/* room-intro
------------------------------------------ */
.room-intro {
  background-color: var(--color-white);
}
@media screen and (max-width: 767px) {
  .room-intro {
    padding-bottom: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .room-intro {
    padding-bottom: 2.38rem;
  }
}

.room-intro__inner {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .room-intro__inner {
    max-width: 65rem;
    padding: 0 1.25rem;
  }
}

.room-intro__catch {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  text-align: center;
  line-height: 1.5277777778;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .room-intro__catch {
    font-size: 1.25rem;
    text-wrap: nowrap;
  }
}
@media screen and (min-width: 768px) {
  .room-intro__catch {
    font-size: clamp(1.5rem, 0.54rem + 2.007vw, 2.25rem);
  }
}

@media screen and (max-width: 767px) {
  .room-intro__heading {
    margin-top: 1.56rem;
  }
}
@media screen and (min-width: 768px) {
  .room-intro__heading {
    margin-top: 2.94rem;
  }
}

@media screen and (max-width: 767px) {
  .room-intro__body {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .room-intro__body {
    display: flex;
    gap: 3.56rem;
    align-items: flex-start;
    margin-top: 1.88rem;
  }
}

.room-intro__text {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .room-intro__text {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .room-intro__text {
    font-size: 1.13rem;
    flex: 1;
  }
}

.room-intro__image {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .room-intro__image {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .room-intro__image {
    width: 24.94rem;
  }
  .room-intro__image img {
    width: 100%;
    height: 17.25rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

/* room-body（クリーム背景エリア）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .room-body {
    padding-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .room-body {
    padding: 0;
  }
}

.room-body__wrap {
  background-color: var(--color-yellow-back);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .room-body__wrap {
    width: 100%;
    padding-bottom: 3.13rem;
  }
}
@media screen and (min-width: 768px) {
  .room-body__wrap {
    max-width: 65rem;
    padding: 0 1.25rem 5rem;
  }
}

/* room-section（居室 ヘッダー＋説明）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .room-section__content {
    padding: 1.25rem 0.94rem 1.56rem;
  }
}
@media screen and (min-width: 768px) {
  .room-section__content {
    padding: 1.81rem 1.25rem 1.88rem;
  }
}

.room-section__lead {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-semibold);
  color: var(--color-brown-text);
  text-align: center;
  line-height: 1.3333333333;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .room-section__lead {
    font-size: 1.13rem;
  }
}
@media screen and (min-width: 768px) {
  .room-section__lead {
    font-size: 1.88rem;
  }
}

.room-section__text {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .room-section__text {
    font-size: 0.88rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .room-section__text {
    font-size: 1.13rem;
    margin-top: 2.25rem;
    padding-left: clamp(0rem, -2.89rem + 6.02vw, 2.25rem);
  }
}

/* room-type（個室ブロック）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .room-type {
    margin-top: 1.88rem;
    margin-inline: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .room-type {
    margin-top: 0.5rem;
    margin-inline: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .room-type__content {
    padding: 1.25rem 0.94rem 1.56rem;
  }
}
@media screen and (min-width: 768px) {
  .room-type__content {
    padding: 1.88rem 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .room-type__photos {
    display: flex;
    flex-direction: column;
    gap: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .room-type__photos {
    display: flex;
    justify-content: center;
    gap: 1.19rem;
    max-width: 54.94rem;
    margin-inline: auto;
  }
}

.room-type__photo--360 {
  position: relative;
}
.room-type__photo--360 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.room-type__photo {
  aspect-ratio: 430/300;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .room-type__photo {
    width: 100%;
  }
  .room-type__photo img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  .room-type__photo {
    width: calc((100% - 19px) / 2);
    flex-shrink: 0;
  }
  .room-type__photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media screen and (max-width: 767px) {
  .room-type__detail {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .room-type__detail {
    display: flex;
    gap: clamp(1.25rem, 0.05rem + 2.508vw, 2.19rem);
    align-items: flex-start;
    margin-top: 2.81rem;
    padding: 0 clamp(1.25rem, -3.73rem + 10.368vw, 5.13rem);
  }
}

.room-type__floor-plan {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .room-type__floor-plan {
    width: 60%;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .room-type__floor-plan {
    width: 18.75rem;
  }
  .room-type__floor-plan img {
    width: 100%;
    height: 31.25rem;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center 0.52%;
       object-position: center 0.52%;
  }
}

.room-type__features-group {
  flex: 1;
}

.room-type__summary {
  display: flex;
  align-items: baseline;
  gap: 0.44rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .room-type__summary {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .room-type__summary {
    font-size: 1.13rem;
  }
}

.room-type__summary-mark {
  color: var(--color-pink);
  flex-shrink: 0;
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  .room-type__features {
    font-size: 0.88rem;
    margin-top: 0.31rem;
  }
}
@media screen and (min-width: 768px) {
  .room-type__features {
    font-size: 1.13rem;
    margin-top: 0.63rem;
    margin-left: 1.31rem;
  }
}

.room-type__feature-item {
  position: relative;
  padding-left: 1.38rem;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .room-type__feature-item {
    line-height: 2;
  }
}

.room-type__feature-item::before {
  content: "●";
  font-size: 0.56rem;
  color: var(--color-pink);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.room-type__note {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .room-type__note {
    font-size: 0.75rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .room-type__note {
    font-size: 1rem;
    padding-left: 2.81rem;
  }
}

/* room-floor-plans（間取り例）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .room-floor-plans {
    margin-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .room-floor-plans {
    margin-top: 0.69rem;
  }
}

@media screen and (max-width: 767px) {
  .room-floor-plans__content {
    padding: 0 0.94rem 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .room-floor-plans__content {
    padding: 0 1.25rem 1.88rem;
  }
}

.room-floor-plans__title {
  color: var(--color-gold);
  font-weight: var(--font-weight-medium);
  text-align: center;
  line-height: 1.3043478261;
  text-box-trim: trim-both;
  text-box-edge: text;
  border: 1px solid var(--color-gold);
}
@media screen and (max-width: 767px) {
  .room-floor-plans__title {
    font-size: 1.13rem;
    padding: 0.38rem 0;
  }
}
@media screen and (min-width: 768px) {
  .room-floor-plans__title {
    font-size: 1.44rem;
    padding: 0.56rem 0 0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .room-floor-plans__images {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .room-floor-plans__images {
    display: flex;
    justify-content: center;
    margin-top: 0.5rem;
    padding-left: 2.69rem;
  }
}

@media screen and (max-width: 767px) {
  .room-floor-plans__image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 300/500;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  .room-floor-plans__image {
    width: 18.75rem;
  }
  .room-floor-plans__image img {
    width: 100%;
    height: 31.25rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media screen and (min-width: 768px) {
  .room-floor-plans__image:nth-child(n+2) {
    margin-top: 1.44rem;
    margin-left: -0.63rem;
  }
}

/* room-banner（4人部屋 告知バー）
------------------------------------------ */
.room-banner {
  background-color: var(--color-pink);
}
@media screen and (max-width: 767px) {
  .room-banner {
    padding: 0.94rem 0.94rem;
    margin-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .room-banner {
    padding: 0.75rem 0 0.63rem;
    margin-top: 0.94rem;
    margin-inline: 1.25rem;
  }
}

.room-banner__text {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-semibold);
  color: var(--color-white);
  text-align: center;
  line-height: 1.3333333333;
}
@media screen and (max-width: 767px) {
  .room-banner__text {
    font-size: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .room-banner__text {
    font-size: clamp(1.25rem, 0.45rem + 1.672vw, 1.88rem);
  }
}

/* facility-body（施設案内エリア）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .facility-body {
    margin-top: 1.56rem;
  }
}
@media screen and (min-width: 768px) {
  .facility-body {
    max-width: 65rem;
    margin-inline: auto;
    margin-top: 2.13rem;
    padding: 0 1.25rem 0;
  }
}

/* facility-section（共用部・B棟5F・施設概要）
------------------------------------------ */
@media screen and (min-width: 768px) {
  .facility-section + .facility-section {
    margin-top: 1.81rem;
  }
}
@media screen and (max-width: 767px) {
  .facility-section + .facility-section {
    margin-top: 1.56rem;
  }
}

@media screen and (min-width: 768px) {
  .facility-section:last-child {
    margin-top: 3.81rem;
  }
}

@media screen and (max-width: 767px) {
  .facility-section__content {
    padding: 0.94rem 0.94rem 1.25rem;
  }
}

/* facility-section__gallery（共用部 画像）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .facility-section__gallery {
    display: flex;
    flex-direction: column;
    gap: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__gallery {
    display: flex;
    gap: 1.19rem;
    margin-top: 2rem;
  }
}

.facility-section__gallery-main {
  flex-shrink: 0;
  aspect-ratio: 664/440;
}
@media screen and (max-width: 767px) {
  .facility-section__gallery-main {
    width: 100%;
  }
  .facility-section__gallery-main img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__gallery-main {
    width: 66.4%;
  }
  .facility-section__gallery-main img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media screen and (max-width: 767px) {
  .facility-section__gallery-sub {
    display: flex;
    gap: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__gallery-sub {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }
}

.facility-section__gallery-sub-item {
  flex: 1;
  aspect-ratio: 317/210;
}
@media screen and (max-width: 767px) {
  .facility-section__gallery-sub-item img {
    width: 100%;
    height: auto;
    aspect-ratio: 317/210;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__gallery-sub-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.facility-section__caption {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  line-height: 2.25;
}
@media screen and (max-width: 767px) {
  .facility-section__caption {
    font-size: 0.81rem;
    margin-top: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__caption {
    font-size: 1rem;
    margin-top: 0.31rem;
  }
}

/* facility-section__featured（B棟5F フィーチャー画像＋キャプション）
------------------------------------------ */
.facility-section__featured {
  position: relative;
  aspect-ratio: 822/335;
}
@media screen and (max-width: 767px) {
  .facility-section__featured {
    width: 100%;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__featured {
    max-width: 51.38rem;
    margin-inline: auto;
    margin-top: 1.5rem;
  }
}
.facility-section__featured img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .facility-section__featured img {
    height: auto;
    aspect-ratio: 822/335;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__featured img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.facility-section__featured-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  line-height: 1.3043478261;
}
@media screen and (max-width: 767px) {
  .facility-section__featured-caption {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__featured-caption {
    font-size: 1.44rem;
  }
}

/* facility-section__cta（その他のフロアガイドボタン）
------------------------------------------ */
.facility-section__cta {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .facility-section__cta {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__cta {
    margin-top: 0.88rem;
  }
}

.facility-floor-btn {
  display: block;
  text-align: center;
  font-weight: var(--font-weight-semibold);
  color: var(--color-white);
  background: linear-gradient(180deg, rgba(30, 185, 203, 0.4) 0%, rgba(30, 185, 203, 0.643) 40.4%, rgb(30, 185, 203) 100%);
  border-radius: 0.94rem;
  filter: drop-shadow(0px 0px 2.5px rgba(0, 0, 0, 0.302));
}
@media screen and (max-width: 767px) {
  .facility-floor-btn {
    width: 80%;
    font-size: 0.81rem;
    padding: 0.5rem 0;
  }
}
@media screen and (min-width: 768px) {
  .facility-floor-btn {
    width: 26.75rem;
    height: 1.88rem;
    line-height: 1.88rem;
    font-size: 0.94rem;
  }
}

/* facility-section__overview（施設概要 画像）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .facility-section__overview {
    margin-top: 0.94rem;
  }
  .facility-section__overview img {
    width: 100%;
    height: auto;
    aspect-ratio: 1000/533;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__overview {
    margin-top: 2rem;
  }
  .facility-section__overview img {
    width: 100%;
    height: 33.31rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.facility-section__overview--360 {
  position: relative;
}
@media screen and (max-width: 767px) {
  .facility-section__overview--360 {
    width: 100%;
    aspect-ratio: 1000/533;
  }
}
@media screen and (min-width: 768px) {
  .facility-section__overview--360 {
    width: 100%;
    height: 33.31rem;
  }
}
.facility-section__overview--360 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}

/* flow-body
------------------------------------------ */
@media screen and (min-width: 768px) {
  #flow-panel-01 {
    padding-top: 3.88rem;
  }
}

@media screen and (min-width: 768px) {
  #flow-panel-02 {
    padding-top: 3.88rem;
  }
}

@media screen and (min-width: 768px) {
  #flow-panel-03 {
    padding-top: 3.88rem;
  }
}
@media screen and (min-width: 768px) {
  #flow-panel-03 .flow-body {
    padding-bottom: 3.63rem;
  }
}

@media screen and (max-width: 767px) {
  .flow-body {
    padding-bottom: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-body {
    max-width: 65rem;
    margin-inline: auto;
    padding: 0 1.25rem 3.13rem;
  }
}

/* flow-section（ご見学・体験入居 各セクション）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .flow-section + .flow-section {
    margin-top: 3.13rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-section + .flow-section {
    margin-top: 7rem;
  }
}

.flow-section__title {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  text-align: center;
  line-height: 1.5277777778;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .flow-section__title {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-section__title {
    font-size: clamp(1.5rem, 0.54rem + 2.007vw, 2.25rem);
  }
}

/* flow-section__body（テキスト＋画像 横並び）
------------------------------------------ */
.flow-section__body {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .flow-section__body {
    flex-direction: column;
    gap: 0.94rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-section__body {
    gap: clamp(1.25rem, -1.56rem + 5.853vw, 3.44rem);
    margin-top: 1.81rem;
  }
}
.flow-section__body .flow-section__text {
  flex: 1;
}

.flow-section__image {
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .flow-section__image {
    width: 100%;
  }
  .flow-section__image img {
    width: 100%;
    height: auto;
    aspect-ratio: 358/244;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media screen and (min-width: 768px) {
  .flow-section__image {
    width: 35.8%;
    aspect-ratio: 358/244;
  }
  .flow-section__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.flow-section__text {
  color: var(--color-black-main);
  font-weight: var(--font-weight-light);
  line-height: 2;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .flow-section__text {
    font-size: 0.88rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-section__text {
    font-size: 1.13rem;
  }
}

/* flow-contact（お問い合わせブロック）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .flow-contact {
    margin-top: 1.56rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-contact {
    margin-top: 1.88rem;
  }
}

.flow-contact__bar {
  background-color: var(--color-pink);
  color: var(--color-white);
  font-family: var(--font-base);
  font-weight: var(--font-weight-semibold);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .flow-contact__bar {
    font-size: 0.81rem;
    padding: 0.5rem 0.94rem;
    line-height: 1.6923076923;
  }
}
@media screen and (min-width: 768px) {
  .flow-contact__bar {
    max-width: 49.63rem;
    margin-inline: auto;
    font-size: 1.13rem;
    line-height: 1.2222222222;
    padding: 0.19rem 0;
  }
}

.flow-contact__body {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .flow-contact__body {
    flex-direction: column;
    gap: 0.63rem;
    padding: 0.94rem 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-contact__body {
    max-width: 49.63rem;
    margin-inline: auto;
    justify-content: space-between;
    align-items: center;
    padding-top: 0.81rem;
  }
}

.flow-contact__address {
  font-style: normal;
  color: var(--color-black-main);
  line-height: 1.625;
  text-box-trim: trim-both;
  text-box-edge: text;
  font-size: 0.81rem;
}
@media screen and (min-width: 768px) {
  .flow-contact__address {
    font-size: 1rem;
    letter-spacing: 0.05em;
  }
}

.flow-contact__tel {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .flow-contact__tel {
    gap: 0.31rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-contact__tel {
    gap: 0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .flow-contact__tel-icon {
    height: 1.75rem;
    width: auto;
  }
}
@media screen and (min-width: 768px) {
  .flow-contact__tel-icon {
    height: 2.38rem;
    width: auto;
  }
}

.flow-contact__tel-number {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-semibold);
  color: var(--color-black-main);
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .flow-contact__tel-number {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-contact__tel-number {
    font-size: clamp(2.25rem, 0.81rem + 3.01vw, 3.38rem);
  }
}

/* flow-sub-section（体験入居準備・開始から終了まで）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .flow-sub-section {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-sub-section {
    margin-top: 1.44rem;
  }
}

.flow-sub-section__title {
  background-color: var(--color-pink);
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .flow-sub-section__title {
    font-size: 0.94rem;
    padding: 0.63rem 1.25rem;
    line-height: 2;
  }
}
@media screen and (min-width: 768px) {
  .flow-sub-section__title {
    font-size: 1.44rem;
    line-height: 1.3043478261;
    padding: 0.25rem 0 0.31rem;
  }
}

@media screen and (max-width: 767px) {
  .flow-sub-section__content {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-sub-section__content {
    margin-top: 1.5rem;
  }
}
.flow-sub-section__content > :first-child {
  margin-top: 0;
}

/* flow-list（●箇条書き）
------------------------------------------ */
.flow-list__item {
  position: relative;
  padding-left: 1.38rem;
  color: var(--color-black-main);
  font-weight: var(--font-weight-light);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .flow-list__item {
    font-size: 0.88rem;
    line-height: 2.5714285714;
  }
}
@media screen and (min-width: 768px) {
  .flow-list__item {
    font-size: 1.13rem;
  }
}

.flow-list__item::before {
  content: "●";
  color: var(--color-pink);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.56rem;
}

/* flow-steps（ご契約の流れ ステップリスト）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .flow-steps {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-steps {
    margin-top: 2.31rem;
  }
}

@media screen and (max-width: 767px) {
  .flow-steps__item + .flow-steps__item {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-steps__item + .flow-steps__item {
    margin-top: 1.88rem;
  }
}

.flow-steps__item:not(:last-child)::after {
  content: "";
  display: block;
  background-image: url(../../asset/images/icon_arrow-pink_01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .flow-steps__item:not(:last-child)::after {
    width: 1.88rem;
    height: 1.25rem;
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-steps__item:not(:last-child)::after {
    width: 3.13rem;
    height: 2.12rem;
    margin-top: 1.81rem;
  }
}

.flow-steps__bar {
  background-color: #c8960f;
  color: var(--color-white);
  text-align: center;
  font-weight: var(--font-weight-medium);
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .flow-steps__bar {
    font-size: 0.88rem;
    padding: 0.63rem 0.94rem;
    line-height: 1.7142857143;
  }
}
@media screen and (min-width: 768px) {
  .flow-steps__bar {
    font-size: 1.44rem;
    min-height: 2.5rem;
    line-height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.flow-steps__bar--final {
  font-weight: 800;
}

.flow-steps__desc {
  color: var(--color-black-main);
  font-weight: var(--font-weight-light);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .flow-steps__desc {
    font-size: 0.81rem;
    margin-top: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-steps__desc {
    font-size: 1.13rem;
    margin-top: 1.38rem;
  }
}

.flow-steps__link {
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .flow-steps__link {
    font-size: 0.81rem;
    margin-top: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-steps__link {
    font-size: 1.13rem;
    margin-top: 1.38rem;
  }
}
.flow-steps__link a {
  color: var(--color-black-main);
  font-weight: var(--font-weight-medium);
  text-decoration: none;
}

/* flow-docs-box（ご契約に必要な書類・入居の条件等）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .flow-docs-box {
    margin-top: 1.88rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-docs-box {
    margin-top: 3.81rem;
  }
}

@media screen and (max-width: 767px) {
  .flow-docs-box + .flow-docs-box {
    margin-top: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-docs-box + .flow-docs-box {
    margin-top: 3.81rem;
  }
}

.flow-docs-box__title {
  background-color: var(--color-pink);
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .flow-docs-box__title {
    font-size: 0.94rem;
    padding: 0.63rem 1.25rem;
    line-height: 2;
  }
}
@media screen and (min-width: 768px) {
  .flow-docs-box__title {
    font-size: 1.44rem;
    height: 2.5rem;
    line-height: 2.5rem;
  }
}

.flow-docs-box__content {
  background-color: #fffdeb;
}
@media screen and (max-width: 767px) {
  .flow-docs-box__content {
    padding: 0.94rem 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-docs-box__content {
    padding: 1.25rem 1.88rem;
  }
}

.flow-docs-box__intro {
  color: var(--color-black-main);
  font-weight: var(--font-weight-light);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .flow-docs-box__intro {
    font-size: 0.81rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-docs-box__intro {
    font-size: 1.13rem;
  }
}

/* flow-docs-list（ご契約に必要な書類リスト）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .flow-docs-list {
    margin-top: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-docs-list {
    margin-top: 0.5rem;
  }
}

.flow-docs-list__item {
  position: relative;
  padding-left: 1.38rem;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-semibold);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .flow-docs-list__item {
    font-size: 0.81rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-docs-list__item {
    font-size: 1.13rem;
  }
}

.flow-docs-list__item::before {
  content: "■";
  color: var(--color-pink);
  position: absolute;
  left: 0;
  top: 0;
}

/* flow-conditions-list（入居の条件等リスト）
------------------------------------------ */
.flow-conditions-list__item {
  position: relative;
  padding-left: 1.38rem;
}

@media screen and (max-width: 767px) {
  .flow-conditions-list__item + .flow-conditions-list__item {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-conditions-list__item + .flow-conditions-list__item {
    margin-top: 1.25rem;
  }
}

.flow-conditions-list__item::before {
  content: "■";
  color: var(--color-pink);
  position: absolute;
  left: 0;
  top: -5px;
  font-size: 1.13rem;
  line-height: 2;
}

.flow-conditions-list__heading {
  color: var(--color-black-main);
  font-weight: var(--font-weight-semibold);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .flow-conditions-list__heading {
    font-size: 0.81rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-conditions-list__heading {
    font-size: 1.13rem;
  }
}

.flow-conditions-list__text {
  color: var(--color-black-main);
  font-weight: var(--font-weight-light);
  line-height: 2;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .flow-conditions-list__text {
    font-size: 0.81rem;
  }
}
@media screen and (min-width: 768px) {
  .flow-conditions-list__text {
    font-size: 1.13rem;
  }
}

/* flow-panel-01
------------------------------------------ */
#flow-panel-01 .flow-section:first-of-type .flow-section__text {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  #flow-panel-01 .flow-section:first-of-type .flow-section__text {
    margin-top: 1.88rem;
  }
}

/* flow-sub-section--period（体験入居開始から終了まで）
------------------------------------------ */
@media screen and (min-width: 768px) {
  .flow-sub-section--period {
    margin-top: 1.88rem;
  }
}

/* cost-body
------------------------------------------ */
@media screen and (max-width: 767px) {
  .cost-body {
    padding: 0rem 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-body {
    max-width: 65rem;
    margin-inline: auto;
    padding: 0 1.25rem 3rem;
  }
}

/* cost-heading（入居時にご負担頂く費用 / 月々ご負担頂く費用）
------------------------------------------ */
.cost-heading {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  text-align: center;
  line-height: 1.5;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-heading {
    font-size: 1.38rem;
    margin-top: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-heading {
    font-size: 2.5rem;
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .cost-heading:last-of-type {
    margin-top: 5.81rem;
  }
}

/* cost-section（長期契約 / 中期契約 / 月額利用料 各セクション）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .cost-section {
    margin-top: 1.56rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-section {
    margin-top: 3.13rem;
  }
}

.cost-section__bar {
  background-color: var(--color-pink);
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-section__bar {
    font-size: 0.88rem;
    padding: 0.63rem 0.94rem;
    line-height: 2.1428571429;
    margin-inline: -1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-section__bar {
    font-size: 1.44rem;
    height: 2.5rem;
    line-height: 2.5rem;
  }
}

.cost-section__body {
  background-color: #fffdeb;
}
@media screen and (max-width: 767px) {
  .cost-section__body {
    padding: 0.94rem 1.25rem;
    margin-inline: -1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-section__body {
    padding: 2rem 2.38rem;
  }
}

/* cost-table-wrap（テーブルスクロール対応）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .cost-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* cost-table（入居一時金 / 月額利用料 テーブル）
------------------------------------------ */
.cost-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0.31rem;
}

.cost-table__th {
  background-color: rgb(196, 130, 138);
  color: var(--color-white);
  font-weight: var(--font-weight-semibold);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-table__th {
    font-size: 0.81rem;
    padding: 0.5rem 0.31rem;
    line-height: 1.8461538462;
  }
}
@media screen and (min-width: 768px) {
  .cost-table__th {
    font-size: clamp(1rem, 0.68rem + 0.669vw, 1.25rem);
    height: clamp(1.88rem, 0.27rem + 3.344vw, 3.13rem);
    line-height: 2.5rem;
    padding-inline: 0.63rem;
  }
}

@media screen and (min-width: 768px) {
  .cost-table__th--type {
    width: 34%;
  }
}

@media screen and (min-width: 768px) {
  .cost-table__th--fee {
    width: 42%;
  }
}

@media screen and (min-width: 768px) {
  .cost-table__th--period {
    width: 30%;
  }
}

@media screen and (min-width: 768px) {
  .cost-table__th--monthly {
    width: 70%;
  }
}

.cost-table__td {
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .cost-table__td {
    font-size: 0.81rem;
    line-height: 1.5;
    text-box-trim: trim-both;
    text-box-edge: text;
    padding: 0.38rem 0.31rem;
    height: 2.81rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-table__td {
    height: clamp(1.88rem, 0.27rem + 3.344vw, 3.13rem);
  }
}

.cost-table__td--type {
  background-color: rgb(247, 193, 200);
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
}
@media screen and (min-width: 768px) {
  .cost-table__td--type {
    font-size: 1.13rem;
  }
}

.cost-table__td--fee,
.cost-table__td--monthly {
  background-color: var(--color-white);
}

.cost-table__td--period {
  background-color: var(--color-white);
}

.cost-table__price-unit {
  font-size: 1.13rem;
}

.cost-table__price-group {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .cost-table__price-group {
    flex-wrap: wrap;
  }
}

.cost-table__price {
  color: var(--color-pink);
  font-weight: var(--font-weight-light);
}
@media screen and (max-width: 767px) {
  .cost-table__price {
    font-size: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-table__price {
    font-size: clamp(1.13rem, 0.56rem + 1.171vw, 1.56rem);
    line-height: 2.5rem;
  }
}

.cost-table__period-main {
  display: block;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-table__period-main {
    font-size: 1rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-table__period-main {
    font-size: 1.56rem;
    font-size: clamp(1.13rem, 0.56rem + 1.171vw, 1.56rem);
    line-height: 2.5rem;
  }
}

.cost-table__period-sub {
  display: block;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-table__period-sub {
    font-size: 0.69rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-table__period-sub {
    font-size: 1.13rem;
    line-height: 2.5rem;
  }
}

.cost-table__footnote {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: right;
}
@media screen and (max-width: 767px) {
  .cost-table__footnote {
    font-size: 0.75rem;
    margin-top: 0.38rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-table__footnote {
    font-size: 1.06rem;
    line-height: 1.3529411765;
    margin-top: 0.5rem;
  }
}

/* cost-return（解約時返還制度）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .cost-return {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-return {
    margin-top: 1.5rem;
  }
}

.cost-return__label {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-return__label {
    font-size: 0.81rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-return__label {
    font-size: 1.06rem;
    line-height: 1.3529411765;
  }
}

.cost-return__text {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  line-height: 1.5333333333;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-return__text {
    font-size: 0.75rem;
    margin-top: 0.38rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-return__text {
    font-size: 0.94rem;
    margin-top: 0.63rem;
    padding-left: 0.75rem;
  }
}

/* cost-consult（その他ご相談文言）
------------------------------------------ */
.cost-consult {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-consult {
    font-size: 0.81rem;
    margin-top: 0.75rem;
    line-height: 1.7692307692;
  }
}
@media screen and (min-width: 768px) {
  .cost-consult {
    font-size: 1.06rem;
    margin-top: 1.31rem;
    line-height: 1.3529411765;
  }
}

/* cost-breakdown（月額利用料の内訳）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .cost-breakdown {
    margin-top: 1.56rem;
    margin-inline: -1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown {
    margin-top: 1.25rem;
  }
}

.cost-breakdown__bar {
  background-color: var(--color-pink);
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-breakdown__bar {
    font-size: 0.88rem;
    padding: 0.63rem 0.94rem;
    line-height: 2.1428571429;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__bar {
    font-size: 1.44rem;
    height: 2.5rem;
    line-height: 2.5rem;
  }
}

.cost-breakdown__inner {
  background-color: #fffdeb;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .cost-breakdown__inner {
    padding: 0.94rem 0 1.56rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__inner {
    padding: 1.88rem 0.63rem 1.56rem;
  }
}

@media screen and (max-width: 767px) {
  .cost-breakdown__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-inline: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__scroll {
    max-width: 61.25rem;
    margin-inline: auto;
  }
}

.cost-breakdown__boxes {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .cost-breakdown__boxes {
    gap: 0;
    max-width: 30rem;
    margin-inline: auto;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__boxes {
    justify-content: space-between;
    max-width: 56.88rem;
    margin-inline: auto;
  }
}

.cost-breakdown__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .cost-breakdown__unit {
    width: calc((100% - 160px) / 5);
  }
}

.cost-breakdown__box {
  background-color: rgb(247, 193, 200);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .cost-breakdown__box {
    width: 5rem;
    height: 3.44rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__box {
    width: 100%;
    height: 4.75rem;
  }
}

.cost-breakdown__box--total {
  background-color: rgb(196, 130, 138);
}
.cost-breakdown__box--total .cost-breakdown__label {
  color: #fffdeb;
}

.cost-breakdown__label {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-breakdown__label {
    font-size: 0.63rem;
    line-height: 1.6;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__label {
    font-size: clamp(0.88rem, 0.55rem + 0.669vw, 1.13rem);
    line-height: 1.3888888889;
  }
}

.cost-breakdown__note {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: center;
  margin-top: 0.56rem;
}
@media screen and (max-width: 767px) {
  .cost-breakdown__note {
    font-size: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__note {
    font-size: clamp(0.88rem, 0.55rem + 0.669vw, 1.13rem);
  }
}

.cost-breakdown__op {
  display: block;
  position: relative;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .cost-breakdown__op {
    width: 1.25rem;
    height: 3.44rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__op {
    width: 2.5rem;
    height: 4.75rem;
  }
}

.cost-breakdown__op::before,
.cost-breakdown__op::after {
  content: "";
  display: block;
  background-color: var(--color-pink);
  position: absolute;
  left: 50%;
  top: 50%;
}

.cost-breakdown__op--plus::before {
  /* horizontal bar */
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .cost-breakdown__op--plus::before {
    width: 0.75rem;
    height: 0.13rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__op--plus::before {
    width: 1.44rem;
    height: 0.19rem;
  }
}

.cost-breakdown__op--plus::after {
  /* vertical bar */
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .cost-breakdown__op--plus::after {
    width: 0.13rem;
    height: 0.75rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__op--plus::after {
    width: 0.19rem;
    height: 1.44rem;
  }
}

.cost-breakdown__op--equals::before {
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .cost-breakdown__op--equals::before {
    width: 0.75rem;
    height: 0.13rem;
    margin-top: -0.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__op--equals::before {
    width: 1.44rem;
    height: 0.19rem;
    margin-top: -0.38rem;
  }
}

.cost-breakdown__op--equals::after {
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .cost-breakdown__op--equals::after {
    width: 0.75rem;
    height: 0.13rem;
    margin-top: 0.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__op--equals::after {
    width: 1.44rem;
    height: 0.19rem;
    margin-top: 0.38rem;
  }
}

.cost-breakdown__footnote {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: right;
}
@media screen and (max-width: 767px) {
  .cost-breakdown__footnote {
    font-size: 0.69rem;
    margin-top: 0.63rem;
    padding-inline: 1.25rem;
    line-height: 2.0909090909;
  }
}
@media screen and (min-width: 768px) {
  .cost-breakdown__footnote {
    font-size: 1.06rem;
    margin-top: 1.75rem;
    padding-inline: 1.94rem;
    line-height: 1.3529411765;
  }
}

.cost-breakdown__footnote-date {
  font-size: 0.94rem;
}

/* cost-detail（月額利用料の詳細）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .cost-detail {
    margin-top: 1.56rem;
    margin-inline: -1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-detail {
    margin-top: 1.13rem;
  }
}

.cost-detail__bar {
  background-color: var(--color-pink);
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-detail__bar {
    font-size: 0.88rem;
    padding: 0.63rem 0.94rem;
    line-height: 2.1428571429;
  }
}
@media screen and (min-width: 768px) {
  .cost-detail__bar {
    font-size: 1.44rem;
    height: 2.5rem;
    line-height: 2.5rem;
  }
}

.cost-detail__body {
  background-color: #fffdeb;
}
@media screen and (max-width: 767px) {
  .cost-detail__body {
    padding: 1.25rem 1.25rem 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-detail__body {
    padding: 1.88rem 1.88rem 1.88rem;
  }
}

/* cost-note-section（※1〜※4 各ノートセクション）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .cost-note-section + .cost-note-section {
    margin-top: 0rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-note-section + .cost-note-section {
    margin-top: 0rem;
  }
}

.cost-note-section__label {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: center;
  line-height: 1.3888888889;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-note-section__label {
    font-size: 0.81rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-note-section__label {
    font-size: 1.13rem;
  }
}

.cost-note-section__text {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-note-section__text {
    font-size: 0.75rem;
    margin-top: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-note-section__text {
    font-size: 1rem;
    margin-top: 1.31rem;
    padding-left: clamp(0rem, -2.81rem + 5.853vw, 2.19rem);
  }
}

.cost-note-section__detail {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  line-height: 1.5333333333;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-note-section__detail {
    font-size: 0.75rem;
    margin-top: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-note-section__detail {
    font-size: 0.94rem;
    margin-top: 1.06rem;
    padding-left: 0.69rem;
  }
}

.cost-note-section__footnote {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  line-height: 1.5333333333;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-note-section__footnote {
    font-size: 0.69rem;
    margin-top: 0.38rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-note-section__footnote {
    font-size: 0.94rem;
    margin-top: 1.19rem;
  }
}

/* cost-divider
------------------------------------------ */
.cost-divider {
  border: none;
  border-top: 1px dotted var(--color-pink);
}
@media screen and (max-width: 767px) {
  .cost-divider {
    margin: 0.94rem 0;
  }
}
@media screen and (min-width: 768px) {
  .cost-divider {
    margin: 1.94rem 2.19rem 2.5rem;
  }
}

/* cost-care-table（介護保険1割負担額 テーブル）
------------------------------------------ */
.cost-care-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 767px) {
  .cost-care-table-wrap {
    margin-top: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-care-table-wrap {
    margin-top: 1.06rem;
  }
}

.cost-care-table {
  border-collapse: separate;
  border-spacing: 0.31rem;
}
@media screen and (max-width: 767px) {
  .cost-care-table {
    min-width: 31.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-care-table {
    width: 100%;
  }
}

.cost-care-table__corner {
  background-color: rgb(247, 193, 200);
}
@media screen and (max-width: 767px) {
  .cost-care-table__corner {
    width: 4.38rem;
    min-width: 4.38rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-care-table__corner {
    width: 6.56rem;
  }
}

.cost-care-table__th {
  background-color: rgb(247, 193, 200);
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-care-table__th {
    font-size: 0.75rem;
    padding: 0.38rem 0.25rem;
    min-width: 4.38rem;
    height: 2.5rem;
    line-height: 1.6666666667;
  }
}
@media screen and (min-width: 768px) {
  .cost-care-table__th {
    font-size: clamp(0.75rem, 0.27rem + 1.003vw, 1.13rem);
    width: 6.88rem;
    height: 3.13rem;
    line-height: 1.3888888889;
  }
}

.cost-care-table__row-th {
  background-color: rgb(247, 193, 200);
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: center;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-care-table__row-th {
    font-size: 0.69rem;
    padding: 0.25rem;
    height: 2.5rem;
    line-height: 1.6363636364;
  }
}
@media screen and (min-width: 768px) {
  .cost-care-table__row-th {
    font-size: clamp(0.75rem, 0.27rem + 1.003vw, 1.13rem);
    height: 3.13rem;
    line-height: 1.1111111111;
    padding-inline: 0.31rem;
  }
}

.cost-care-table__td {
  background-color: var(--color-white);
  color: var(--color-pink);
  font-weight: var(--font-weight-medium);
  text-align: center;
  line-height: 1.3888888889;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-care-table__td {
    font-size: 0.75rem;
    padding: 0.38rem 0.25rem;
    height: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-care-table__td {
    font-size: clamp(0.88rem, 0.55rem + 0.669vw, 1.13rem);
    height: 3.13rem;
  }
}

/* cost-mgmt-table（管理費 テーブル）
------------------------------------------ */
.cost-mgmt-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 767px) {
  .cost-mgmt-table-wrap {
    margin-top: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-mgmt-table-wrap {
    margin-top: 1.06rem;
    margin-inline: clamp(0.63rem, -0.98rem + 3.344vw, 1.88rem);
  }
}

.cost-mgmt-table {
  border-collapse: separate;
  border-spacing: 0.31rem;
}
@media screen and (max-width: 767px) {
  .cost-mgmt-table {
    min-width: 31.25rem;
    overflow-x: scroll;
  }
}
@media screen and (min-width: 768px) {
  .cost-mgmt-table {
    width: 100%;
  }
}

.cost-mgmt-table__th {
  background-color: rgb(247, 193, 200);
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-mgmt-table__th {
    font-size: 0.69rem;
    padding: 0.38rem 0.25rem;
    min-width: 5rem;
    height: 2.5rem;
    line-height: 1.6363636364;
  }
}
@media screen and (min-width: 768px) {
  .cost-mgmt-table__th {
    font-size: clamp(0.75rem, 0.27rem + 1.003vw, 1.13rem);
    height: 3.13rem;
    line-height: 1.2222222222;
    padding: 0.31rem 0.5rem;
  }
}

.cost-mgmt-table__td {
  background-color: var(--color-white);
  color: var(--color-pink);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-mgmt-table__td {
    font-size: 0.75rem;
    padding: 0.38rem 0.25rem;
    height: 2.5rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-mgmt-table__td {
    font-size: clamp(0.88rem, 0.55rem + 0.669vw, 1.13rem);
    height: 3.13rem;
    line-height: 1.3888888889;
  }
}

/* cost-paid（有料サービス）
------------------------------------------ */
@media screen and (max-width: 767px) {
  .cost-paid {
    margin-top: 1.56rem;
    margin-inline: -1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-paid {
    margin-top: 1.81rem;
  }
}

.cost-paid__bar {
  background-color: var(--color-pink);
  color: var(--color-white);
  font-weight: var(--font-weight-medium);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cost-paid__bar {
    font-size: 0.81rem;
    padding: 0.63rem 0.94rem;
    line-height: 2.3076923077;
  }
}
@media screen and (min-width: 768px) {
  .cost-paid__bar {
    font-size: 1.44rem;
    height: 2.5rem;
    line-height: 2.5rem;
  }
}

.cost-paid__body {
  background-color: #fffdeb;
}
@media screen and (max-width: 767px) {
  .cost-paid__body {
    padding: 0.94rem 1.25rem 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-paid__body {
    padding: 1.75rem 1.56rem 2.25rem;
  }
}

.cost-paid__list {
  list-style: none;
  counter-reset: paid-counter;
}

.cost-paid__item {
  position: relative;
  padding-left: 3.06rem;
  color: var(--color-brown-text);
  font-weight: var(--font-weight-medium);
  counter-increment: paid-counter;
  line-height: 1.8;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-paid__item {
    font-size: 0.81rem;
    padding-left: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-paid__item {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 767px) {
  .cost-paid__item + .cost-paid__item {
    margin-top: 0.25rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-paid__item + .cost-paid__item {
    margin-top: 1rem;
  }
}

.cost-paid__item::before {
  content: counter(paid-counter);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  background-color: #c8960f;
  color: var(--color-white);
  font-weight: var(--font-weight-semibold);
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .cost-paid__item::before {
    width: 1.38rem;
    height: 1.38rem;
    font-size: 0.75rem;
    top: 0.25rem;
    font-size: 0.75rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-paid__item::before {
    width: 1.88rem;
    height: 1.88rem;
    font-size: 1.13rem;
    top: -0.56rem;
  }
}

.cost-paid__footnote {
  color: var(--color-brown-text);
  font-weight: var(--font-weight-light);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .cost-paid__footnote {
    font-size: 0.69rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .cost-paid__footnote {
    font-size: 1rem;
    margin-top: 2.19rem;
    padding-left: 1.5rem;
  }
}

.mt-1line {
  margin-top: 2em;
}

/* cost-section--mid-term
------------------------------------------ */
@media screen and (min-width: 768px) {
  .cost-section--mid-term {
    margin-top: 2.81rem;
  }
}

/* cost-section--monthly
------------------------------------------ */
@media screen and (min-width: 768px) {
  .cost-section--monthly {
    margin-top: 2.5rem;
  }
}

/* access & environment (交通・周辺環境)
------------------------------------------ */
/* ---- 交通アクセス ---- */
@media screen and (min-width: 768px) {
  #tab-access {
    padding-bottom: 0.63rem;
  }
}

@media screen and (max-width: 767px) {
  .access-body {
    padding-bottom: 3.13rem;
  }
}
@media screen and (min-width: 768px) {
  .access-body {
    max-width: 68.75rem;
    margin-inline: auto;
    padding: 0 1.25rem clamp(1.25rem, -1.4rem + 5.518vw, 3.31rem);
  }
}

.access-catch {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  font-size: clamp(1.5rem, 0.54rem + 2.007vw, 2.25rem);
  line-height: 3.44rem;
  letter-spacing: 0.1em;
  color: var(--color-brown-text);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-catch {
    font-size: 1.25rem;
    line-height: 2.25rem;
  }
}

.access-map {
  margin-top: clamp(1.88rem, 0.27rem + 3.344vw, 3.13rem);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-map {
    margin-top: 1.88rem;
  }
}
.access-map img {
  max-width: 42.38rem;
  width: 100%;
  height: auto;
}

.access-map--simple {
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .access-map--simple {
    margin-top: 1.88rem;
  }
}

@media screen and (max-width: 767px) {
  .access-gmap {
    padding-bottom: 3.13rem;
  }
}

.access-gmap__label {
  font-size: 1.88rem;
  font-weight: 400;
  line-height: 4.69rem;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 767px) {
  .access-gmap__label {
    font-size: 1.25rem;
    line-height: 3.13rem;
  }
}

.access-gmap__embed {
  height: 35.25rem;
}
@media screen and (max-width: 767px) {
  .access-gmap__embed {
    height: 17.5rem;
  }
}
.access-gmap__embed iframe {
  display: block;
  width: 100%;
  height: 100%;
}

/* ---- 周辺環境 ---- */
.env-body {
  max-width: 65rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .env-body {
    padding-bottom: 3.13rem;
  }
}
@media screen and (min-width: 768px) {
  .env-body {
    padding: 0 1.25rem clamp(1.25rem, -0.68rem + 4.013vw, 2.75rem);
  }
}

.env-catch {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  font-size: clamp(1.5rem, 0.54rem + 2.007vw, 2.25rem);
  line-height: 3.44rem;
  letter-spacing: 0.1em;
  color: var(--color-brown-text);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .env-catch {
    font-size: 1.25rem;
    line-height: 2.25rem;
  }
}

/* sections */
@media screen and (min-width: 768px) {
  .env-section {
    overflow: visible;
  }
}

@media screen and (min-width: 768px) {
  .env-catch + .env-section {
    margin-top: 2.31rem;
  }
}
@media screen and (max-width: 767px) {
  .env-catch + .env-section {
    margin-top: 1.88rem;
  }
}

@media screen and (min-width: 768px) {
  .env-section + .env-section {
    margin-top: 5.69rem;
  }
}
@media screen and (max-width: 767px) {
  .env-section + .env-section {
    margin-top: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .env-section--firework + .env-section {
    margin-top: 3.5rem;
  }
}

/* bar */
.env-section__bar {
  position: relative;
  padding: 0.31rem 0;
  background: var(--color-pink);
  display: flex;
  align-items: center;
  justify-content: center;
}

.env-section__bar-title {
  font-size: 1.44rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.88rem;
  color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .env-section__bar-title {
    font-size: 0.88rem;
    line-height: 1.4;
    padding-inline: 0.63rem;
  }
}

.env-section__bar--badge::after {
  content: "";
  position: absolute;
  left: 8.13rem;
  top: 0;
  width: 0.19rem;
  height: 100%;
  background: var(--color-white);
}
@media screen and (max-width: 767px) {
  .env-section__bar--badge::after {
    display: none;
  }
}

.env-section__badge {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 8.13rem;
  height: 4.38rem;
  background: var(--color-light-blue);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 1.44rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.63rem;
  color: var(--color-white);
  text-align: center;
  z-index: 1;
  border-radius: 0 2.19rem 0 0;
}
@media screen and (max-width: 767px) {
  .env-section__badge {
    display: none;
  }
}

/* section content */
@media screen and (max-width: 767px) {
  .env-section__content {
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .env-section__content {
    padding-top: 1.31rem;
  }
}

.env-section__text {
  font-size: 1.13rem;
  font-weight: var(--font-weight-light);
  line-height: 2.25rem;
  color: var(--color-black-main);
}
@media screen and (max-width: 767px) {
  .env-section__text {
    font-size: 0.88rem;
    line-height: 1.75rem;
  }
}

/* section 1: 花火大会 (flex row) */
@media screen and (min-width: 768px) {
  .env-section__content--row {
    display: flex;
    gap: 2.38rem;
    align-items: flex-start;
    padding-right: clamp(0rem, -2.25rem + 4.682vw, 1.75rem);
  }
}

@media screen and (min-width: 768px) {
  .env-section__content--row .env-section__text {
    flex: 1;
    min-width: 0;
  }
}

.env-section__img--firework {
  display: block;
  flex-shrink: 0;
  width: 24.38rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .env-section__img--firework {
    width: 100%;
    margin-top: 0.94rem;
  }
}

/* 3-column images (sections 2, 3, beach small) */
.env-section__images--3col {
  display: flex;
  gap: 2.19rem;
  margin-top: 1.56rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .env-section__images--3col {
    flex-direction: column;
    gap: 0.94rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .env-section__images--3col {
    max-width: 61.25rem;
    padding: 0 1.25rem;
  }
}
.env-section__images--3col img {
  flex-shrink: 0;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .env-section__images--3col img {
    height: 12.5rem;
  }
}
@media screen and (min-width: 768px) {
  .env-section__images--3col img {
    width: calc((100% - 70px) / 3);
    aspect-ratio: 290/200;
  }
}

/* section 4: 来宮神社 (flex row with 2 images) */
@media screen and (min-width: 768px) {
  .env-section__content--shrine {
    display: flex;
    gap: 1.75rem;
    align-items: flex-start;
    padding-right: clamp(0rem, -2.41rem + 5.017vw, 1.88rem);
  }
}

@media screen and (min-width: 768px) {
  .env-section__content--shrine .env-section__text {
    flex: 1;
    min-width: 0;
  }
}

.env-section__images--shrine {
  display: flex;
  gap: 0.75rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .env-section__images--shrine {
    margin-top: 0.94rem;
    gap: 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .env-section__images--shrine {
    max-width: 56.1%;
  }
}

.env-section__img--shrine1 {
  width: 34.7%;
  aspect-ratio: 188/260;
}
@media screen and (max-width: 767px) {
  .env-section__img--shrine1 {
    width: 45%;
    height: auto;
  }
}

.env-section__img--shrine2 {
  width: 63.5%;
  aspect-ratio: 344/260;
}
@media screen and (max-width: 767px) {
  .env-section__img--shrine2 {
    width: 55%;
    height: auto;
  }
}

.env-section__img--shrine1 img,
.env-section__img--shrine2 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* section 5: 親水公園 (large image + 3 small) */
.env-section__img--beach-main {
  margin-top: 1.44rem;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .env-section__img--beach-main {
    width: 100%;
    height: 12.5rem;
    margin-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .env-section__img--beach-main {
    max-width: 61.25rem;
    aspect-ratio: 940/340;
    padding: 0 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .env-section__img--beach-main + .env-section__images--3col {
    margin-top: 1.19rem;
  }
}

.env-section__img--beach-main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* museum grid (section 6) */
.env-museum-card {
  display: flex;
  flex-direction: column;
}

.env-museum-grid {
  display: grid;
  margin-top: 1.38rem;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .env-museum-grid {
    max-width: 61.25rem;
    padding: 0 1.25rem;
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: clamp(0.94rem, -4.28rem + 10.87vw, 5rem);
         column-gap: clamp(0.94rem, -4.28rem + 10.87vw, 5rem);
    row-gap: clamp(1.25rem, -0.36rem + 3.344vw, 2.5rem);
  }
}
@media screen and (max-width: 767px) {
  .env-museum-grid {
    grid-template-columns: 1fr;
    gap: 1.88rem;
  }
}

.env-museum-card__image {
  aspect-ratio: 430/270;
}

.env-museum-card__image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.env-museum-card__header {
  padding: 0.94rem 0 0.31rem;
  background: var(--color-gold);
  display: flex;
  align-items: center;
  justify-content: center;
}
.env-museum-card__header span {
  font-size: 1.25rem;
  font-weight: var(--font-weight-semibold);
  line-height: 2.25rem;
  color: var(--color-white);
  text-align: center;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .env-museum-card__header span {
    font-size: 1rem;
  }
}

.env-museum-card__body {
  flex: 1;
  background: var(--color-yellow-back);
  padding: 1rem 0.94rem 0.81rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  flex-grow: 1;
}

.env-museum-card__desc {
  font-size: 0.88rem;
  font-weight: var(--font-weight-light);
  line-height: 2.25rem;
  color: var(--color-black-main);
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .env-museum-card__desc {
    line-height: 1.63rem;
  }
}
@media screen and (min-width: 768px) {
  .env-museum-card__desc {
    font-size: clamp(1rem, 0.84rem + 0.334vw, 1.13rem);
  }
}

.env-museum-card__info {
  margin-top: 1.75rem;
  font-size: 0.81rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.75rem;
  text-align: center;
  color: var(--color-pink);
  min-height: calc(1.75rem * 3);
}
@media screen and (max-width: 767px) {
  .env-museum-card__info {
    font-size: 0.81rem;
    line-height: 1.38rem;
    margin-top: 0.75rem;
  }
}
@media screen and (min-width: 768px) {
  .env-museum-card__info {
    font-size: clamp(0.88rem, 0.55rem + 0.669vw, 1.13rem);
  }
}

@media screen and (min-width: 768px) {
  .env-museum-card:nth-child(3) .env-museum-card__info,
  .env-museum-card:nth-child(4) .env-museum-card__info {
    margin-top: 1rem;
  }
}

/* env-section--park2 (熱海梅園)
------------------------------------------ */
@media screen and (min-width: 768px) {
  .env-section--park2 .env-section__images--3col {
    margin-top: 2.38rem;
  }
}

/* env-section--beach (熱海海上花火大会)
------------------------------------------ */
@media screen and (min-width: 768px) {
  .env-section--beach {
    margin-top: 6rem;
  }
}

/* 他施設紹介
------------------------------------------ */
/* ---- catch ---- */
.fac-catch {
  margin-top: 3.5rem;
  padding: 2.5rem 1.25rem 1.88rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fac-catch {
    margin-top: 4.06rem;
    padding: 4.06rem 1.25rem 3.44rem;
  }
}

.fac-catch__icon {
  display: block;
  width: 5rem;
  height: auto;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .fac-catch__icon {
    width: 7.75rem;
  }
}

.fac-catch__group {
  font-family: var(--font-title-en);
  font-weight: var(--font-weight-medium);
  font-size: 0.81rem;
  line-height: 1;
  letter-spacing: 0.2em;
  color: var(--color-pink);
  text-align: center;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .fac-catch__group {
    font-size: 0.94rem;
    line-height: 0.94rem;
    margin-top: 0.94rem;
  }
}

.fac-catch__title {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  font-size: 1.25rem;
  line-height: 2.25rem;
  letter-spacing: 0.1em;
  color: var(--color-brown-text);
  text-align: center;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .fac-catch__title {
    font-size: 2.19rem;
    line-height: 3.31rem;
    margin-top: 0.31rem;
  }
}

/* ---- body ---- */
@media screen and (min-width: 768px) {
  .fac-body {
    max-width: 65rem;
    margin-inline: auto;
    padding: 0 1.25rem 3.31rem;
  }
}

/* ---- sections ---- */
.fac-section + .fac-section {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .fac-section + .fac-section {
    margin-top: 1.88rem;
  }
}

.fac-section__bar {
  height: 2.25rem;
  background: var(--color-pink);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .fac-section__bar {
    height: 2.5rem;
  }
}

.fac-section__bar-title {
  font-size: 0.88rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
  color: var(--color-white);
  text-align: center;
  padding-inline: 0.63rem;
}
@media screen and (min-width: 768px) {
  .fac-section__bar-title {
    font-size: 1.44rem;
    line-height: 1.88rem;
    padding-inline: 0;
  }
}

.fac-section__body {
  background: var(--color-yellow-back);
  padding: 1.5rem 1.25rem 1.69rem;
}
@media screen and (max-width: 767px) {
  .fac-section__body {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}

/* ---- contents3 body override ---- */
.fac-section__body--rental {
  padding: 0.94rem 0.94rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .fac-section__body--rental {
    padding: 1.88rem 0 1.88rem 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .fac-section__body--rental .fac-image-grid__image {
    filter: drop-shadow(0px 0px 2.5px rgba(0, 0, 0, 0.161));
    width: calc((100% - 14px) / 2);
    display: block;
  }
}

/* ---- image grid (2-col, used in contents1 and contents2-bottom) ---- */
.fac-image-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.63rem;
}
@media screen and (min-width: 768px) {
  .fac-image-grid {
    grid-template-columns: repeat(2, 1fr);
    -moz-column-gap: 0.88rem;
         column-gap: 0.88rem;
    row-gap: 0.88rem;
    margin-inline: auto;
    width: -moz-fit-content;
    width: fit-content;
  }
}

/* bottom image grid in contents2 */
@media screen and (min-width: 768px) {
  .fac-image-grid--bottom {
    row-gap: 1.31rem;
    margin-top: 1.31rem;
    -moz-column-gap: 0.88rem;
         column-gap: 0.88rem;
    row-gap: 1.31rem;
  }
}

/* uneven layout: row1=[1,2], row2=[3], row3=[4,5] */
@media screen and (min-width: 768px) {
  .fac-image-grid--uneven .fac-image-grid__image:nth-child(4) {
    grid-row: 3;
    grid-column: 1;
  }
  .fac-image-grid--uneven .fac-image-grid__image:nth-child(5) {
    grid-row: 3;
    grid-column: 2;
  }
}

.fac-image-grid__image {
  filter: drop-shadow(0px 0px 2.5px rgba(0, 0, 0, 0.161));
}
@media screen and (min-width: 768px) {
  .fac-image-grid__image {
    width: 100%;
  }
}

.fac-image-grid__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* ---- lineup (contents2: シニア向け分譲マンション) ---- */
.fac-lineup__label {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.63rem;
}
@media screen and (max-width: 767px) {
  .fac-lineup__label {
    align-items: center;
    padding-top: 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .fac-lineup__label {
    flex-direction: row;
    justify-content: center;
    gap: 1.5rem;
  }
}

.fac-lineup__label-logo {
  display: block;
  width: 12.5rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .fac-lineup__label-logo {
    width: 21.31rem;
  }
}

.fac-lineup__label-text {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-semibold);
  font-size: 1.13rem;
  line-height: 2.25rem;
  letter-spacing: 0.05em;
  color: var(--color-pink);
}
@media screen and (min-width: 768px) {
  .fac-lineup__label-text {
    font-size: 1.56rem;
    line-height: 3.31rem;
    text-box-trim: trim-both;
    text-box-edge: text;
  }
}

.fac-lineup__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 1.38rem;
       column-gap: 1.38rem;
  row-gap: 0.94rem;
  margin-top: 0.63rem;
  padding-bottom: 0.94rem;
}
@media screen and (min-width: 768px) {
  .fac-lineup__grid {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 1.31rem;
         column-gap: 1.31rem;
    row-gap: 0.94rem;
    margin-top: 1.75rem;
    padding-bottom: 0;
  }
}

.fac-lineup__card {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .fac-lineup__card {
    flex: 0 0 10.94rem;
  }
}

.fac-lineup__card-header {
  background: var(--color-white);
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.161));
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.31rem;
}

.fac-lineup__card-name {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  font-size: 0.81rem;
  line-height: 1.5rem;
  letter-spacing: 0.1em;
  color: var(--color-pink);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fac-lineup__card-name {
    font-size: 1.25rem;
    line-height: 1.88rem;
  }
}

.fac-lineup__card-image {
  flex: 1;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.161));
}

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

/* ---- service cards (contents4: 居宅介護サービス) ---- */
.fac-service-cards {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 0.94rem;
}
@media screen and (min-width: 768px) {
  .fac-service-cards {
    flex-direction: row;
    -moz-column-gap: 0.94rem;
         column-gap: 0.94rem;
    justify-content: center;
    padding: 0;
  }
}

.fac-service-card {
  width: 100%;
  background: var(--color-white);
  filter: drop-shadow(0px 0px 2.5px rgba(0, 0, 0, 0.161));
  display: flex;
}
@media screen and (min-width: 768px) {
  .fac-service-card {
    width: calc((100% - 15px) / 2);
    flex-shrink: 0;
  }
}

.fac-service-card__image {
  width: 7.5rem;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .fac-service-card__image {
    width: 11.25rem;
  }
}

.fac-service-card__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fac-service-card__body {
  flex: 1;
  min-width: 0;
  padding: 0.5rem 0.63rem;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .fac-service-card__body {
    padding: 0.31rem 0.44rem 0.63rem;
  }
}

.fac-service-card__category {
  font-size: 0.69rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.25rem;
  color: var(--color-pink);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .fac-service-card__category {
    font-size: 0.81rem;
    line-height: 1.88rem;
  }
}

.fac-service-card__logo {
  display: block;
  width: 100%;
  max-width: 12.5rem;
  margin-top: 0.31rem;
}
@media screen and (min-width: 768px) {
  .fac-service-card__logo {
    width: 102.8%;
    max-width: none;
    margin-top: -0.56rem;
  }
}

.fac-service-card__heading {
  font-size: 0.69rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.25rem;
  color: var(--color-brown-text);
  margin-top: 0.63rem;
}
@media screen and (min-width: 768px) {
  .fac-service-card__heading {
    font-size: 0.81rem;
    margin-top: 0.56rem;
    padding-left: 1.81rem;
  }
}

.fac-service-card__heading::first-letter {
  color: var(--color-pink);
}

.fac-service-card__list {
  font-size: 0.69rem;
  font-weight: var(--font-weight-light);
  line-height: 1.6923076923;
  text-box-trim: trim-both;
  text-box-edge: text;
  color: var(--color-brown-text);
  padding-left: 1.88rem;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .fac-service-card__list {
    font-size: 0.81rem;
  }
}

/* fac-section--senior-mansion
------------------------------------------ */
@media screen and (min-width: 768px) {
  .fac-section--senior-mansion .fac-section__body {
    padding-top: 0.94rem;
  }
}

/* fac-section--day-service
------------------------------------------ */
@media screen and (min-width: 768px) {
  .fac-section--day-service .fac-section__body {
    padding-top: 1.69rem;
  }
}

/* 特別会員ページ
------------------------------------------ */
/* ---- ラッパー ---- */
@media screen and (max-width: 767px) {
  .vip-wrap {
    margin-top: 3.5rem;
  }
}
@media screen and (min-width: 768px) {
  .vip-wrap {
    max-width: 65rem;
    padding: 0 1.25rem 3.31rem;
    margin-inline: auto;
    margin-top: 4.06rem;
  }
}

/* ---- ページ見出し ---- */
.vip-heading {
  text-align: center;
  padding-top: 4.06rem;
  padding-bottom: 1.81rem;
}
@media screen and (max-width: 767px) {
  .vip-heading {
    padding-top: 2.5rem;
    padding-bottom: 1.25rem;
  }
}

.vip-heading__label {
  font-family: var(--font-title-en);
  font-weight: var(--font-weight-medium);
  font-size: 0.94rem;
  line-height: 0.94rem;
  letter-spacing: 0.2em;
  color: var(--color-pink);
}

.vip-heading__title {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  font-size: 2.19rem;
  line-height: 3.31rem;
  letter-spacing: 0.1em;
  color: var(--color-brown-text);
  margin-top: 0.19rem;
}
@media screen and (max-width: 767px) {
  .vip-heading__title {
    font-size: 1.38rem;
    line-height: 2.25rem;
    margin-top: 0.13rem;
    padding-inline: 0.94rem;
  }
}

/* ---- キャッチ ---- */
.vip-catch__bar {
  height: 2.5rem;
  background: var(--color-pink);
  display: flex;
  align-items: center;
  justify-content: center;
}

.vip-catch__bar-text {
  font-size: 1.44rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.88rem;
  color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .vip-catch__bar-text {
    font-size: 0.88rem;
    line-height: 1.5;
    padding-inline: 0.63rem;
  }
}

.vip-catch__image {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .vip-catch__image {
    height: 8.5rem;
  }
}

.vip-catch__bottom {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .vip-catch__bottom {
    margin-top: -1.44rem;
    gap: clamp(1.25rem, -2.28rem + 7.358vw, 4rem);
  }
}
@media screen and (max-width: 767px) {
  .vip-catch__bottom {
    flex-direction: column-reverse;
  }
}

.vip-catch__box {
  flex-shrink: 0;
  width: 12.5rem;
  height: 8.13rem;
  background: var(--color-gold);
  border-radius: 4.06rem 4.06rem 0 0;
  filter: drop-shadow(0px 0px 2.5px rgba(0, 0, 0, 0.161));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.63rem;
}
@media screen and (max-width: 767px) {
  .vip-catch__box {
    width: 100%;
    height: auto;
    padding: 1.25rem 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .vip-catch__box {
    margin-left: 0.56rem;
  }
}

.vip-catch__box-text {
  font-size: 1.25rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.56rem;
  color: var(--color-white);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .vip-catch__box-text {
    font-size: 1.13rem;
  }
}

.vip-catch__box-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 8.75rem;
  height: 1.88rem;
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(30, 185, 203) 100%);
  filter: drop-shadow(0px 0px 2.5px rgba(0, 0, 0, 0.302));
  font-size: 0.94rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.56rem;
  color: var(--color-white);
  text-decoration: none;
  text-align: center;
}

.vip-catch__copy {
  flex: 1;
  font-size: 1.13rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.5142857143;
  text-box-trim: trim-both;
  text-box-edge: text;
  color: var(--color-brown-text);
}
@media screen and (max-width: 767px) {
  .vip-catch__copy {
    padding: 1.25rem 0.94rem;
  }
}
@media screen and (min-width: 768px) {
  .vip-catch__copy {
    font-size: clamp(1.5rem, 0.62rem + 1.839vw, 2.19rem);
    margin-top: 2.38rem;
  }
}

/* ---- コンテンツ本体 ---- */
.vip-body {
  margin-top: 1.75rem;
}
@media screen and (max-width: 767px) {
  .vip-body {
    margin-top: 0.94rem;
  }
}

/* ---- セクション共通 ---- */
@media screen and (max-width: 767px) {
  .vip-section {
    padding: 0 0.63rem;
  }
}

.vip-section + .vip-section {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .vip-section + .vip-section {
    margin-top: 1.25rem;
  }
}

@media screen and (min-width: 768px) {
  .vip-section.vip-section--monthly-fee {
    margin-top: 2.94rem;
  }
}

.vip-section__bar {
  height: 2.5rem;
  background: var(--color-gold);
  display: flex;
  align-items: center;
  justify-content: center;
}

.vip-section__bar-title {
  font-size: 0.88rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
  color: var(--color-white);
  text-align: center;
  padding-inline: 0.63rem;
}
@media screen and (min-width: 768px) {
  .vip-section__bar-title {
    font-size: 1.44rem;
    line-height: 1.88rem;
    padding-inline: 0;
  }
}

.vip-section__body {
  background: var(--color-yellow-back);
}

/* ---- contents1: メリットリスト ---- */
.vip-merit-list {
  list-style: none;
  padding: 0;
}

.vip-merit-item {
  display: flex;
  align-items: flex-start;
  padding: 1.19rem 0 1.06rem;
  margin-left: 1.25rem;
  margin-right: 1.25rem;
}
@media screen and (max-width: 767px) {
  .vip-merit-item {
    padding: 0.94rem 0.63rem;
  }
}
@media screen and (min-width: 768px) {
  .vip-merit-item {
    gap: 0.31rem;
    margin-left: 1.25rem;
    margin-right: 2.94rem;
  }
}

@media screen and (min-width: 768px) {
  .vip-merit-item:first-child {
    padding: 1.88rem 0 3.38rem;
  }
}

.vip-merit-item + .vip-merit-item {
  border-top: 0.06rem solid var(--color-pink);
}

.vip-merit-item__badge {
  flex-shrink: 0;
  width: 7.5rem;
  height: 2.5rem;
  background: var(--color-pink);
  border-radius: 0 1.25rem 1.25rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .vip-merit-item__badge {
    width: 4.5rem;
    height: 2.25rem;
  }
}

.vip-merit-item__badge span {
  font-size: 0.88rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.3043478261;
  text-box-trim: trim-both;
  text-box-edge: text;
  color: var(--color-white);
  text-align: center;
}
@media screen and (min-width: 768px) {
  .vip-merit-item__badge span {
    font-size: clamp(1.13rem, 0.72rem + 0.836vw, 1.44rem);
  }
}

.vip-merit-item__content {
  flex: 1;
  min-width: 0;
  margin-left: 1.25rem;
  margin-top: 0.31rem;
}

.vip-merit-item__title {
  font-size: 0.94rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.2;
  color: var(--color-brown-text);
}
@media screen and (min-width: 768px) {
  .vip-merit-item__title {
    font-size: clamp(1.25rem, 0.85rem + 0.836vw, 1.56rem);
  }
}

.vip-merit-item__accent {
  color: var(--color-pink);
  font-weight: var(--font-weight-semibold);
}

.vip-merit-item__text {
  font-size: 0.81rem;
  font-weight: var(--font-weight-light);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
  color: var(--color-black-main);
  margin-top: 0.31rem;
}
@media screen and (max-width: 767px) {
  .vip-merit-item__text {
    margin-top: 0.19rem;
  }
}
@media screen and (min-width: 768px) {
  .vip-merit-item__text {
    font-size: clamp(1rem, 0.84rem + 0.334vw, 1.13rem);
    margin-top: 0.88rem;
    letter-spacing: -0.12em;
  }
}

/* ---- contents2: 入会資格 ---- */
.vip-section__body--qualification {
  display: flex;
  padding: 2.06rem 3.63rem 1.75rem;
}
@media screen and (max-width: 767px) {
  .vip-section__body--qualification {
    min-height: auto;
    padding: 1.25rem 0.63rem;
    align-items: center;
  }
}

.vip-qualification {
  font-size: 1rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  text-box-trim: trim-both;
  text-box-edge: text;
  color: var(--color-brown-text);
}
@media screen and (min-width: 768px) {
  .vip-qualification {
    font-size: clamp(1.25rem, 0.85rem + 0.836vw, 1.56rem);
  }
}

.vip-qualification__bullet {
  color: var(--color-pink);
  font-size: 0.81rem;
}

/* ---- contents3/4: テーブル共通 ---- */
.vip-section__lead {
  font-size: 1.13rem;
  font-weight: var(--font-weight-semibold);
  line-height: 2.5rem;
  color: var(--color-brown-text);
  padding: 0.75rem 2.94rem 0.56rem;
}
@media screen and (max-width: 767px) {
  .vip-section__lead {
    font-size: 0.88rem;
    line-height: 1.5rem;
    padding: 0.75rem 0.63rem;
  }
}

.vip-section__subtitle {
  font-size: 1.13rem;
  font-weight: var(--font-weight-semibold);
  line-height: 2.5rem;
  color: var(--color-brown-text);
  text-align: center;
  padding-block: 0.63rem;
}
@media screen and (max-width: 767px) {
  .vip-section__subtitle {
    font-size: 0.88rem;
    padding-block: 0.5rem;
    padding-inline: 0.94rem;
  }
}

.vip-table-wrap {
  overflow-x: auto;
}
@media screen and (min-width: 768px) {
  .vip-table-wrap {
    padding-inline: clamp(0.63rem, -2.34rem + 6.187vw, 2.94rem) clamp(0.63rem, -1.38rem + 4.181vw, 2.19rem);
  }
}

.vip-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0.31rem;
}

/* contents3: 会員登録費用テーブル */
.vip-table--registration .vip-table__th--col1 {
  width: 9.38rem;
}
.vip-table--registration .vip-table__th--col2 {
  width: 15.63rem;
}
.vip-table--registration .vip-table__th--col3 {
  width: 31.31rem;
}

/* contents4: 月額利用料テーブル */
.vip-table--fee .vip-table__th--col1-fee {
  width: 18.75rem;
}
.vip-table--fee .vip-table__th:not(.vip-table__th--col1-fee) {
  width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .vip-table--fee .vip-table__th--col1-fee {
    width: 36%;
  }
  .vip-table--fee .vip-table__th:not(.vip-table__th--col1-fee) {
    width: auto;
  }
  .vip-table--fee .vip-table__th {
    white-space: normal;
    height: auto;
    padding: 0.38rem 0.25rem;
  }
  .vip-table--fee .vip-table__td {
    white-space: nowrap;
  }
}

.vip-table__th {
  height: 3.13rem;
  background: #c4828a;
  font-size: 1.25rem;
  font-weight: var(--font-weight-semibold);
  color: var(--color-white);
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .vip-table__th {
    font-size: 0.75rem;
    height: 2.5rem;
    white-space: nowrap;
  }
}

.vip-table__th--empty {
  background: transparent;
}

.vip-table__td {
  height: 3.13rem;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .vip-table__td {
    height: auto;
    min-height: 2.75rem;
  }
}

.vip-table__td--label {
  background: #f7c1c8;
  font-size: 0.75rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
  text-align: left;
  padding-inline: 0.5rem;
}
@media screen and (max-width: 767px) {
  .vip-table__td--label {
    white-space: normal;
    word-break: break-all;
    padding-inline: 0.31rem;
  }
}
@media screen and (min-width: 768px) {
  .vip-table__td--label {
    font-size: clamp(0.75rem, 0.27rem + 1.003vw, 1.13rem);
    padding-inline: clamp(0.31rem, -0.49rem + 1.672vw, 0.94rem) 0.31rem;
  }
}

.vip-table--registration .vip-table__td--label {
  background: var(--color-white);
  text-align: center;
  padding-inline: 0;
}

.vip-table__td--amount {
  background: var(--color-white);
  font-size: 1rem;
  font-weight: var(--font-weight-regular);
  color: var(--color-brown-text);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .vip-table__td--amount {
    white-space: nowrap;
    padding-block: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .vip-table__td--amount {
    font-size: clamp(1.13rem, 0.56rem + 1.171vw, 1.56rem);
  }
}

.vip-table__unit {
  font-size: 1.13rem;
}

.vip-table__td--detail {
  background: var(--color-white);
  font-size: 0.75rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
  line-height: 1.5;
  padding-inline: 0.63rem;
}
@media screen and (max-width: 767px) {
  .vip-table__td--detail {
    padding-inline: 0.5rem;
  }
}
@media screen and (min-width: 768px) {
  .vip-table__td--detail {
    font-size: 1rem;
  }
}

.vip-table__td--total-label {
  background: #c4828a;
  font-size: 0.88rem;
  font-weight: var(--font-weight-semibold);
  color: var(--color-white);
  text-align: left;
  padding-inline: 0.94rem 0.63rem;
}
@media screen and (max-width: 767px) {
  .vip-table__td--total-label {
    padding-inline: 0.31rem;
    white-space: normal;
    word-break: break-all;
  }
}
@media screen and (min-width: 768px) {
  .vip-table__td--total-label {
    font-size: clamp(1.25rem, 1.09rem + 0.334vw, 1.38rem);
  }
}

.vip-table__td--total-amount {
  background: var(--color-white);
  font-size: 1.56rem;
  font-weight: var(--font-weight-regular);
  line-height: 2.5rem;
  color: var(--color-pink);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .vip-table__td--total-amount {
    font-size: 1rem;
    white-space: nowrap;
  }
}

/* ---- 注記テキスト ---- */
.vip-section__note {
  font-size: 0.94rem;
  font-weight: var(--font-weight-medium);
  line-height: 1.44rem;
  color: var(--color-brown-text);
  padding: 1.13rem 2.94rem 1.25rem;
}
@media screen and (max-width: 767px) {
  .vip-section__note {
    font-size: 0.75rem;
    line-height: 1.25rem;
    padding: 0.75rem 0.63rem 1.25rem;
  }
}
.vip-section__note span {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}

/* ご入居者様の声ページ
------------------------------------------ */
/* ---- ラッパー ---- */
.voice-wrap {
  max-width: 68.75rem;
  margin-inline: auto;
  margin-top: 4.06rem;
  padding-bottom: 3.56rem;
}
@media screen and (max-width: 767px) {
  .voice-wrap {
    margin-top: 3.5rem;
    padding-bottom: 3.13rem;
  }
}

/* ---- ページ見出し ---- */
.voice-heading {
  text-align: center;
  padding-top: 4.06rem;
  padding-bottom: 3.75rem;
}
@media screen and (max-width: 767px) {
  .voice-heading {
    padding-top: 2.5rem;
    padding-bottom: 1.88rem;
  }
}

.voice-heading__label {
  font-family: var(--font-title-en);
  font-weight: var(--font-weight-medium);
  font-size: 0.94rem;
  line-height: 0.94rem;
  letter-spacing: 0.2em;
  color: var(--color-pink);
}

.voice-heading__title {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  font-size: 2.19rem;
  line-height: 3.31rem;
  letter-spacing: 0.1em;
  color: var(--color-brown-text);
  margin-top: 0.19rem;
}
@media screen and (max-width: 767px) {
  .voice-heading__title {
    font-size: 1.38rem;
    line-height: 2.25rem;
    margin-top: 0.13rem;
  }
}

.voice-heading__desc {
  font-size: 1.13rem;
  font-weight: var(--font-weight-light);
  line-height: 1.7777777778;
  text-box-trim: trim-both;
  text-box-edge: text;
  color: var(--color-black-main);
  margin-top: 1.38rem;
}
@media screen and (max-width: 767px) {
  .voice-heading__desc {
    font-size: 0.88rem;
    padding-inline: 0.94rem;
  }
}

/* ---- ピンクライン ---- */
.voice-rule {
  border: none;
  height: 0.13rem;
  background: var(--color-pink);
  margin: 0;
}

/* ---- 声リスト ---- */
.voice-list {
  list-style: none;
}

/* ---- 声アイテム共通 ---- */
.voice-item {
  padding: 1.5rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .voice-item {
    padding-top: 1.56rem;
    padding-bottom: 2rem;
    padding-left: 0.88rem;
    padding-right: 0;
  }
}

.voice-item + .voice-item {
  border-top: 0.13rem dotted var(--color-pink);
}

.voice-item__inner {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .voice-item__inner {
    flex-direction: column;
    gap: 1rem;
  }
}

.voice-item:nth-child(even) .voice-item__inner {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .voice-item:nth-child(even) .voice-item__inner {
    flex-direction: column;
  }
}

/* ---- 写真カラム ---- */
.voice-item__photo {
  flex-shrink: 0;
  width: 12.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0.81rem;
}
@media screen and (max-width: 767px) {
  .voice-item__photo {
    width: 100%;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    margin-top: 0;
  }
}

.voice-item__circle {
  position: relative;
  width: 12.5rem;
  height: 12.19rem;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .voice-item__circle {
    width: 6.25rem;
    height: 6.13rem;
  }
}

.voice-item__circle-img {
  width: 12.5rem;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  .voice-item__circle-img {
    width: 6.25rem;
  }
}

.voice-item__name {
  font-size: 1rem;
  font-weight: var(--font-weight-light);
  line-height: 1.38rem;
  color: var(--color-pink);
  margin-top: 0.38rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .voice-item__name {
    text-align: left;
    margin-top: 0;
  }
}

/* ---- 吹き出しカラム ---- */
.voice-item__bubble-wrap {
  flex: 1;
  min-width: 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .voice-item__bubble-wrap {
    aspect-ratio: 880/240;
    margin-left: -0.88rem;
  }
}

.voice-item__bubble {
  padding: 2.06rem 1.88rem 1.56rem 4.75rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .voice-item__bubble {
    min-height: auto;
    padding: 1.25rem 0.94rem;
  }
}

/* 吹き出し背景画像（::before で敷く） */
.voice-item__bubble-wrap::before {
  content: "";
  width: 100%;
  height: 107%;
  position: absolute;
  inset: 0;
  background: url("../../asset/images/voice_speech-bubble_01.png") no-repeat left top/100% 100%;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .voice-item__bubble-wrap::before {
    background-image: none;
    background: var(--color-white);
    box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.302);
  }
}

/* テキストを背景より前面に */
.voice-item__catch,
.voice-item__text {
  position: relative;
  z-index: 1;
}

/* 偶数アイテム: 背景画像を水平反転してテールを右へ */
.voice-item:nth-child(even) .voice-item__bubble {
  padding: 2.19rem 4.44rem 1.56rem 2.81rem;
}
@media screen and (max-width: 767px) {
  .voice-item:nth-child(even) .voice-item__bubble {
    padding: 1.25rem 0.94rem;
  }
}

.voice-item:nth-child(even) .voice-item__bubble::before {
  transform: scaleX(-1);
}
@media screen and (max-width: 767px) {
  .voice-item:nth-child(even) .voice-item__bubble::before {
    transform: none;
  }
}

.voice-item:nth-child(even) .voice-item__bubble-wrap::before {
  background-image: url("../../asset/images/voice_speech-bubble_02.png");
}

.voice-item__catch {
  font-family: var(--font-serif);
  font-weight: var(--font-weight-light);
  font-size: 1.56rem;
  line-height: 1.88rem;
  letter-spacing: 0.1em;
  color: var(--color-pink);
}
@media screen and (max-width: 767px) {
  .voice-item__catch {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.voice-item__text {
  font-size: 1rem;
  font-weight: var(--font-weight-light);
  line-height: 2rem;
  color: var(--color-black-main);
  margin-top: 0.31rem;
}
@media screen and (max-width: 767px) {
  .voice-item__text {
    font-size: 0.81rem;
    line-height: 1.38rem;
    margin-top: 0.5rem;
  }
}

/* news-mv
------------------------------------------ */
.news-mv {
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .news-mv {
    margin-top: 4.06rem;
  }
}

.news-mv__inner {
  text-align: center;
  padding: 2.5rem 0 1.75rem;
}
@media screen and (min-width: 768px) {
  .news-mv__inner {
    padding: 4.06rem 0 2.81rem;
  }
}

.news-mv__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.news-mv__en {
  display: block;
  font-family: var(--font-title-en);
  font-size: 0.75rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-pink);
  letter-spacing: 0.2em;
  line-height: 1;
  margin-bottom: 0.19rem;
}
@media screen and (min-width: 768px) {
  .news-mv__en {
    font-size: 0.94rem;
  }
}

.news-mv__ja {
  display: block;
  font-family: var(--font-serif);
  font-size: 1.38rem;
  font-weight: var(--font-weight-light);
  color: var(--color-brown-text);
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .news-mv__ja {
    font-size: 2.19rem;
    line-height: 3.31rem;
  }
}

/* news-section
------------------------------------------ */
.news-section {
  padding-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .news-section {
    padding-bottom: 2.81rem;
  }
}

.news-section__inner {
  max-width: 61.63rem;
  margin-inline: auto;
  padding: 0 0.94rem;
}
@media screen and (min-width: 768px) {
  .news-section__inner {
    padding: 0;
  }
}

/* news-list
------------------------------------------ */
.news-list {
  display: flex;
  flex-direction: column;
  gap: 0.88rem;
}

.news-list__item {
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-pink);
}

.news-list__link {
  display: flex;
  align-items: center;
  padding: 0.69rem 0.94rem 0.81rem;
  gap: 0.63rem;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 767px) {
  .news-list__link {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    padding: 0.75rem 0;
  }
}

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

.news-list__date {
  flex-shrink: 0;
  width: 5.94rem;
  font-family: var(--font-base);
  font-size: 0.88rem;
  font-weight: var(--font-weight-light);
  color: var(--color-black-text);
  line-height: 1.56rem;
}
@media screen and (max-width: 767px) {
  .news-list__date {
    font-size: 0.75rem;
    line-height: 1;
    width: auto;
  }
}

.news-list__title {
  font-family: var(--font-base);
  font-size: 0.94rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-black-main);
  line-height: 1.56rem;
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 767px) {
  .news-list__title {
    font-size: 0.88rem;
    line-height: 1.6;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
  }
}

/* pagination
------------------------------------------ */
.news-pagination {
  margin-top: 1.56rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .news-pagination {
    margin-top: 1.75rem;
  }
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .pagination {
    gap: 0.75em;
  }
}

.pagination__link,
.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-title-en);
  font-size: 1.25rem;
  font-weight: var(--font-weight-medium);
  color: var(--color-brown-text);
  line-height: 3.31rem;
  min-width: 1em;
  transition: color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .pagination__link,
  .page-numbers {
    font-size: 1rem;
    line-height: 2;
  }
}

.pagination__link:hover,
.page-numbers:hover {
  color: var(--color-pink);
}

.pagination__link--current,
.page-numbers.current {
  color: var(--color-pink);
  cursor: default;
  pointer-events: none;
}

.pagination__item--ellipsis .pagination__link,
.page-numbers.dots {
  cursor: default;
  pointer-events: none;
}

/* news-article
------------------------------------------ */
.news-article {
  padding-bottom: 5.19rem;
}
@media screen and (max-width: 767px) {
  .news-article {
    padding-bottom: 3.75rem;
  }
}

.news-article__inner {
  max-width: 57.88rem;
  margin-inline: auto;
  padding: 0 0.94rem;
}
@media screen and (min-width: 768px) {
  .news-article__inner {
    padding: 0;
  }
}

.news-article__date {
  display: block;
  font-family: var(--font-base);
  font-size: 1rem;
  font-weight: var(--font-weight-regular);
  color: var(--color-pink);
  letter-spacing: 0.05em;
  line-height: 1.5625;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .news-article__date {
    font-size: 0.88rem;
  }
}

.news-article__title {
  display: block;
  font-family: var(--font-base);
  font-size: 1.38rem;
  font-weight: var(--font-weight-semibold);
  color: var(--color-brown-text);
  letter-spacing: 0.05em;
  line-height: 1.1363636364;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .news-article__title {
    font-size: 1.13rem;
  }
}
@media screen and (min-width: 768px) {
  .news-article__title {
    margin-top: 1.5rem;
  }
}

/* news-article__body
------------------------------------------ */
.news-article__body {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .news-article__body {
    margin-top: 2.06rem;
  }
}
.news-article__body p {
  font-family: var(--font-base);
  font-size: 1rem;
  font-weight: var(--font-weight-light);
  color: var(--color-black-main);
  line-height: 2;
  text-box-trim: trim-both;
  text-box-edge: text;
}
@media screen and (max-width: 767px) {
  .news-article__body p {
    font-size: 0.94rem;
  }
}

/* Gutenbergブロック（the_content内の画像・PDF）
------------------------------------------ */
.news-article__body .wp-block-image,
.news-article__body .wp-block-file {
  max-width: 45rem;
  margin-inline: auto;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .news-article__body .wp-block-image,
  .news-article__body .wp-block-file {
    margin-top: 8.19rem;
  }
}
.news-article__body .wp-block-image img {
  width: 100%;
  height: auto;
  display: block;
}
.news-article__body .wp-block-file {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  background-color: #fafafa;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .news-article__body .wp-block-file {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}
.news-article__body .wp-block-file a:not(.wp-block-file__button) {
  flex: 1;
  color: var(--color-brown-text);
  font-size: 0.94rem;
  font-weight: var(--font-weight-medium);
  word-break: break-all;
  text-decoration: none;
}
.news-article__body .wp-block-file a:not(.wp-block-file__button):hover {
  text-decoration: underline;
}
.news-article__body .wp-block-file .wp-block-file__button {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1.25rem;
  background-color: var(--color-pink);
  color: var(--color-white);
  font-size: 0.88rem;
  font-weight: var(--font-weight-semibold);
  border-radius: 5px;
  text-decoration: none;
  transition: opacity 0.2s ease;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .news-article__body .wp-block-file .wp-block-file__button {
    align-self: flex-end;
  }
}
.news-article__body .wp-block-file .wp-block-file__button:hover {
  opacity: 0.8;
  color: var(--color-white);
}

/* news-article__image
------------------------------------------ */
.news-article__image-wrap {
  position: relative;
  max-width: 45rem;
  margin-inline: auto;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .news-article__image-wrap {
    margin-top: 8.19rem;
  }
}

.news-article__img {
  width: 100%;
  height: auto;
  display: block;
}

.news-article__img-badge {
  position: absolute;
  top: 12.13rem;
  left: 50%;
  transform: translateX(-50%);
  width: 15.56rem;
  height: 3.81rem;
  background-color: #f00;
  color: var(--color-white);
  font-family: var(--font-base);
  font-size: 0.88rem;
  font-weight: var(--font-weight-semibold);
  line-height: 1.88rem;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .news-article__img-badge {
    top: 45%;
    font-size: 0.75rem;
    width: 12.5rem;
    height: 3.13rem;
  }
}

/* news-article__btn
------------------------------------------ */
.news-article__btn-wrap {
  text-align: center;
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .news-article__btn-wrap {
    margin-top: 6.25rem;
  }
}

.news-article__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 15.63rem;
  height: 3.75rem;
  background-color: var(--color-pink);
  border-radius: 5px;
  color: var(--color-white);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 767px) {
  .news-article__btn {
    width: 12.5rem;
    height: 3.25rem;
  }
}

.news-article__btn:hover {
  opacity: 0.8;
  color: var(--color-white);
}

.news-article__btn-text {
  font-family: var(--font-base);
  font-size: 1.13rem;
  font-weight: var(--font-weight-semibold);
  letter-spacing: 0.05em;
  line-height: 2.19rem;
}
@media screen and (max-width: 767px) {
  .news-article__btn-text {
    font-size: 1rem;
  }
}

.news-article__btn-arrow {
  position: absolute;
  right: 0.63rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.81rem;
  height: 1.06rem;
  background-image: url("../../asset/images/icon_arrow-white_01.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}/*# sourceMappingURL=style.css.map */