.l-wrapper--large { width: var(--width-l); margin: 0 auto; }
.l-wrapper--middle { width: var(--width-m); margin: 0 auto; }
.l-wrapper--small { width: var(--width-s); margin: 0 auto; }
.u-py-100 { padding: 100px 0; }
.u-d-pc-none { display: none; }
.u-d-sp-none { display: block; }
.u-mb-10 { margin-bottom: 10px; }
.u-mb-20 { margin-bottom: 20px; }
.u-mb-30 { margin-bottom: 30px; }
.u-mb-40 { margin-bottom: 40px; }
.u-mb-50 { margin-bottom: 50px; }
.u-f-small { font-size: .8em; }
.text-mark--asterisk::before { content: "※"; }
.text-mark--bullet::before { content: "・"; }
.text-mark--inline { display: inline; }
@media (max-width: 768px) {
  .u-d-pc-none { display: block !important; }
  .u-d-sp-none { display: none !important; }
}
.site-header { padding: 20px 0; position: fixed; top: 0; left: 0; z-index: 100; width: 100%; transition: background-color .28s ease; }
.site-header__inner { display: flex; align-items: center; width: min(1843px,100% - 76px); height: 56px; margin: 0 auto; }
.site-header__logo-link { display: block; width: 45px; height: 46px; flex-shrink: 0; transition: opacity .28s ease; }
.site-header__logo-link:hover,.site-header__logo-link:focus-visible { opacity: .7; }
.site-header__logo-img { width: 45px; height: 46px; object-fit: cover; }
.site-header__menu { display: flex; align-items: center; flex: 1; min-width: 0; }
.site-header__nav { flex: 1; min-width: 0; padding: 0 60px; }
.site-header__nav-list { display: flex; justify-content: flex-end; align-items: center; gap: 60px; }
.site-header__nav-link { font-size: 14px; letter-spacing: .7px; line-height: 1; text-align: center; transition: opacity .28s ease; }
.site-header__nav-link:hover,.site-header__nav-link:focus-visible { opacity: .7; }
.site-header__line { flex-shrink: 0; }
.site-header__toggle { display: none; width: 44px; height: 44px; margin-left: auto; cursor: pointer; position: relative; flex-shrink: 0; }
.site-header__toggle-bar { position: absolute; left: 10px; width: 24px; height: 2px; background: var(--color-text-main); transition: transform .28s ease,opacity .28s ease,background-color .28s ease; }
.site-header__toggle-bar:nth-child(1) { top: 14px; }
.site-header__toggle-bar:nth-child(2) { top: 21px; }
.site-header__toggle-bar:nth-child(3) { top: 28px; }
.site-header__toggle[aria-expanded=true] .site-header__toggle-bar { background: #fff; }
.site-header__toggle[aria-expanded=true] .site-header__toggle-bar:nth-child(1) { top: 21px; transform: rotate(45deg); }
.site-header__toggle[aria-expanded=true] .site-header__toggle-bar:nth-child(2) { opacity: 0; }
.site-header__toggle[aria-expanded=true] .site-header__toggle-bar:nth-child(3) { top: 21px; transform: rotate(-45deg); }
@media (max-width: 1200px)and (min-width: 769px) {
  .site-header__nav { padding: 0 24px; }
  .site-header__nav-list { gap: 24px; }
}
@media (min-width: 769px) {
  .site-header.is-scrolled { background-color: rgba(247,249,252,.8); }
}
@media (max-width: 768px) {
  .site-header { top: 16px; }
  .site-header__inner { position: relative; z-index: 101; width: min(1843px,100% - 40px); height: 46px; }
  .site-header__toggle { display: block; position: relative; z-index: 102; }
  .site-header__logo-link { position: relative; z-index: 102; }
  .site-header__menu { position: fixed; inset: 0; z-index: 100; display: block; padding: 100px 24px 40px; background: rgba(26,39,64,.94); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .28s ease,visibility 0s linear .28s; }
  .site-header__menu.is-open { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .28s ease,visibility 0s linear 0s; }
  .site-header__nav { padding: 0; margin-bottom: 32px; }
  .site-header__nav-list { display: block; text-align: center; }
  .site-header__nav-item { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--color-primary); }
  .site-header__nav-item:last-child { margin-bottom: 0; }
  .site-header__nav-link { color: var(--color-text-sub); font-size: 18px; letter-spacing: .05em; line-height: var(--line-height-base); }
  .site-header__line { display: flex !important; justify-content: center; }
}
.site-footer { background: var(--color-primary-dark); padding: 120px 0; }
.site-footer__inner { width: var(--width-l); margin: 0 auto; }
.site-footer__logo { display: flex; align-items: center; gap: 10px; padding-bottom: 34px; margin-bottom: 34px; border-bottom: 1px solid hsla(0,0%,100%,.2); }
.site-footer__logo-img { width: 45px; height: 46px; object-fit: contain; }
.site-footer__logo-text { font-family: var(--font-family-serif); font-weight: var(--font-weight-500); font-size: 16px; color: var(--color-text-sub); }
.site-footer__nav { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.site-footer__nav-banner-text { margin-bottom: 6px; color: #fff; font-size: 14px; }
.site-footer__nav-banner-list { display: flex; gap: 16px; margin-bottom: 0; }
.site-footer__nav-banner-item { margin-bottom: 0; }
.site-footer__nav-banner-link { display: block; width: 200px; aspect-ratio: 200/80; background: #fff; transition: opacity .28s ease; }
.site-footer__nav-banner-link img { display: block; width: 100%; height: 100%; object-fit: contain; }
.site-footer__nav-banner-link:hover { opacity: .7; }
.site-footer__nav-list { display: flex; justify-content: flex-end; gap: clamp(24px,4.2vw,60px); }
.site-footer__nav-link { font-size: 14px; letter-spacing: .05em; color: var(--color-text-sub); position: relative; transition: opacity .28s ease; }
.site-footer__nav-link:hover,.site-footer__nav-link:focus-visible { opacity: .7; }
@media (max-width: 768px) {
  .site-footer { padding: 60px 0; }
  .site-footer__logo-text { font-size: 14px; }
  .site-footer__nav { flex-direction: column; align-items: flex-start; }
  .site-footer__nav-banner-item { width: 50%; }
  .site-footer__nav-banner-link { width: 100%; }
}
.section-heading { margin-bottom: 90px; }
.section-heading--wide { max-width: none; width: 100%; }
.section-heading--information::before,.section-heading--topics::before,.section-heading--company::before { display: block; font-family: var(--font-family-serif); font-weight: var(--font-weight-500); font-size: clamp(56px,5.2vw,100px); line-height: 1; letter-spacing: clamp(4px,.488089vw,9.3713px); color: var(--color-text-main); margin-bottom: 40px; }
.section-heading--information::before { content: "INFORMATION"; }
.section-heading--topics::before { content: "TOPICS"; }
.section-heading--company::before { content: "COMPANY"; }
.section-heading__jp { display: block; font-size: clamp(18px,1.25vw,24px); font-weight: var(--font-weight-200); letter-spacing: clamp(1px,.1vw,1.92px); line-height: 1; color: var(--color-text-main); }
@media (max-width: 768px) {
  .section-heading { margin-bottom: 48px; }
  .section-heading__en { margin-bottom: 20px; }
  .section-heading--information::before,.section-heading--topics::before,.section-heading--company::before { font-size: 8.5vw; margin-bottom: 20px; }
}
.btn-line { display: inline-flex; align-items: center; gap: 18px; padding: 18px 20px; background: var(--color-line); border-radius: 4px; color: var(--color-text-sub); font-size: 14px; font-weight: var(--font-weight-600); letter-spacing: .7px; line-height: 1; transition: opacity .28s ease; }
.btn-line:hover,.btn-line:focus-visible { opacity: .8; }
.btn-line__divider { width: 1px; height: 8px; background: var(--color-text-sub); flex-shrink: 0; }
.btn-line__icon { width: 16px; height: 16px; flex-shrink: 0; object-fit: contain; }
.link-more { display: inline-flex; align-items: center; gap: 10px; color: var(--color-text-main); transition: opacity .28s ease; }
.link-more:hover,.link-more:focus-visible { opacity: .7; }
.link-more__label { font-size: 16px; font-weight: var(--font-weight-600); line-height: var(--line-height-tight); }
.link-more__icon { width: 60px; height: 60px; flex-shrink: 0; }
@media (max-width: 768px) {
  .link-more__icon { width: 48px; height: 48px; }
}
.about { position: relative; background-color: var(--color-primary-dark); overflow: hidden; }
.about::before { content: ""; position: absolute; top: 50%; left: 50%; width: min(1239px,64.53125vw); aspect-ratio: 1; transform: translate(-50%, -50%); background: url(../images/about-bg-circle.svg) no-repeat center/contain; pointer-events: none; }
.about::after { content: ""; position: absolute; top: 50%; left: 50%; width: 93.333333%; aspect-ratio: 1792/250; transform: translate(-50%, -50%); background: url(../images/about-watermark.svg) no-repeat center/contain; pointer-events: none; }
.about__inner { position: relative; z-index: 1; width: min(1000px,92%); margin: 0 auto; padding: 180px 0 200px; box-sizing: border-box; }
.about__contents { width: 100%; }
.about__lead { width: min(963px,100%); margin: 0 auto 50px; text-align: center; color: var(--color-text-sub); }
.about__lead-title { font-size: clamp(16px,1.25vw,24px); font-weight: var(--font-weight-200); line-height: 2; margin-bottom: 30px; }
.about__lead-text { font-size: clamp(16px,1.25vw,24px); font-weight: var(--font-weight-200); line-height: 2; }
.about__lead-text p { margin-bottom: 0; }
.about-contact { width: 100%; background: var(--color-primary); border: 1px solid var(--color-primary-dark); border-radius: 4px; padding: 30px 40px; text-align: center; }
.about-contact__title { font-size: clamp(16px,1.25vw,24px); font-weight: var(--font-weight-600); line-height: 2; color: var(--color-text-main); margin-bottom: 20px; }
.about-contact__line { margin-bottom: 20px; }
.about-contact__notes { text-align: center; }
.about-contact__tel { font-size: 16px; font-weight: var(--font-weight-400); line-height: 1.6; color: var(--color-text-main); margin-bottom: 10px; }
.about-contact__tel-link { position: relative; display: inline; }
.about-contact__tel-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: currentColor; }
.about-contact__note { font-size: 14px; font-weight: var(--font-weight-400); line-height: 1.6; color: var(--color-text-main); margin-bottom: 0; }
@media (max-width: 768px) {
  .about { min-height: auto; }
  .about::before { width: min(1239px,140vw); }
  .about::after { width: 100%; aspect-ratio: auto; height: clamp(48px,18vw,120px); }
  .about__inner { min-height: auto; padding: 80px 0 100px; }
  .about__lead { margin-bottom: 32px; }
  .about__lead-title { margin-bottom: 20px; }
  .about-contact { padding: 24px 20px; }
}
.topics-list { width: 100%; margin-bottom: 60px; }
.topics-list__item { border-bottom: 1px solid var(--color-text-main); padding-bottom: 20px; margin-bottom: 20px; }
.topics-list__item:last-child { margin-bottom: 0; }
.topics-list__date { font-size: 14px; font-weight: var(--font-weight-600); line-height: normal; color: var(--color-text-main); margin-bottom: 10px; }
.topics-list__title { font-size: 16px; font-weight: var(--font-weight-400); line-height: normal; color: var(--color-text-main); margin: 0; }
.topics-list__link { color: inherit; transition: opacity .28s ease; }
.topics-list__link:hover,.topics-list__link:focus-visible { opacity: .7; }
.definition-list__item { display: grid; grid-template-columns: 113px 1fr; gap: 50px; border-bottom: 1px solid var(--color-border); padding-bottom: 40px; margin-bottom: 40px; }
.definition-list__item:last-child { margin-bottom: 0; }
.definition-list__term { font-size: 18px; letter-spacing: .05em; line-height: 2; }
.definition-list__desc { font-size: 18px; letter-spacing: .05em; line-height: 2; margin: 0; }
@media (max-width: 768px) {
  .definition-list__item { grid-template-columns: 90px 1fr; gap: 20px; padding-bottom: 24px; margin-bottom: 24px; }
  .definition-list__term,.definition-list__desc { font-size: 16px; line-height: 1.8; }
}
.page-hero { position: relative; width: 100%; height: auto; aspect-ratio: 1920/720; background: var(--color-bg-light); }
.page-hero__heading { position: absolute; left: min(160px,8.333333vw); top: 50%; transform: translateY(-50%); }
.page-hero__heading--owners::before,.page-hero__heading--residents::before,.page-hero__heading--inquiries::before,.page-hero__heading--topics::before,.page-hero__heading--policy::before { content: ""; display: block; font-family: var(--font-family-serif); font-weight: var(--font-weight-500); font-size: clamp(56px,6.101094vw,117.141px); line-height: 1; letter-spacing: clamp(4px,.488089vw,9.3713px); color: var(--color-text-main); margin-bottom: 40px; }
.page-hero__heading--owners::before { content: "FOR OWNERS"; }
.page-hero__heading--residents::before { content: "FOR RESIDENTS"; }
.page-hero__heading--inquiries::before { content: "INQUIRIES"; }
.page-hero__heading--topics::before { content: "TOPICS"; }
.page-hero__heading--policy::before { content: "PRIVACY POLICY"; }
.page-hero__jp { font-size: clamp(18px,1.25vw,24px); font-weight: var(--font-weight-200); letter-spacing: clamp(1px,.1vw,1.92px); line-height: 1; color: var(--color-text-main); }
@media (max-width: 768px) {
  .page-hero { aspect-ratio: 403/300; }
  .page-hero__heading--owners::before,.page-hero__heading--residents::before,.page-hero__heading--inquiries::before,.page-hero__heading--topics::before,.page-hero__heading--policy::before { font-size: 8.5vw; margin-bottom: 20px; }
}
.hero { background: url(../images/hero-bg.jpg) no-repeat center center/cover; position: relative; aspect-ratio: 1920/1080; width: 100%; height: auto; overflow: hidden; }
.hero__catch { position: absolute; left: 8%; top: 37%; color: var(--color-text-main); text-shadow: 2px 2px 6px #fafcf9; }
.hero__company { font-size: clamp(16px,1.648542vw,32px); font-weight: var(--font-weight-200); letter-spacing: clamp(2px,.329708vw,6.3304px); line-height: 1; margin-bottom: clamp(20px,1.875vw,36px); }
.hero__title { font-size: clamp(22px,3.6375vw,69.83px); font-weight: var(--font-weight-200); letter-spacing: clamp(2px,.836505vw,16.0609px); line-height: 1.4; }
.information { background: var(--color-bg-light); padding: 120px 0; }
.information__inner { width: min(1400px,92%); margin: 0 auto; }
.information__cards { width: 100%; }
.information-card { position: relative; aspect-ratio: 1920/573; width: 100%; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); margin-bottom: 40px; overflow: hidden; background-repeat: no-repeat; }
.information-card:last-child { margin-bottom: 0; }
.information-card--owners { background-image: url(../images/info-for-owners.jpg); background-size: cover; background-position: center; }
.information-card--residents { background-image: url(../images/info-for-residents.jpg); background-size: 125.85% 208.17%; background-position: 0; }
.information-card__inner { position: relative; z-index: 1; width: min(1430px,100%); height: 100%; margin: 0 auto; }
.information-card__panel { position: relative; width: 546px; max-width: 100%; height: 100%; background: var(--color-primary); padding: min(140px,7.291667vw) min(80px,4.166667vw) min(50px,2.604167vw); box-sizing: border-box; }
.information-card__title { font-size: clamp(20px,1.354vw,26px); font-weight: var(--font-weight-400); line-height: 1; color: var(--color-text-main); }
.information-card__link { position: absolute; left: min(80px,4.166667vw); bottom: min(50px,2.604167vw); }
.information-card--owners::after,.information-card--residents::after { position: absolute; right: 0; top: 434px; font-family: var(--font-family-serif); font-weight: var(--font-weight-500); font-size: clamp(48px,7.757031vw,148.934px); line-height: 1; letter-spacing: clamp(4px,.621078vw,11.9147px); color: var(--color-primary); opacity: .15; text-align: right; pointer-events: none; }
.information-card--owners::after { content: "FOR OWNERS"; }
.information-card--residents::after { content: "FOR RESIDENTS"; }
.topics { background: var(--color-bg-light); padding: 120px 0; }
.topics__inner { width: min(1400px,92%); margin: 0 auto; }
.topics__contents { width: 100%; }
.topics__more { text-align: right; }
.company { background: var(--color-bg-light); padding: 120px 0 0; }
.company__inner { width: var(--width-l); margin: 0 auto 90px; }
.company__detail { width: var(--width-s); margin: 0 auto 60px; }
.company-map { width: 100%; height: 573px; background: var(--color-primary-dark); }
.company-map__frame { width: 100%; height: 100%; border: 0; display: block; filter: grayscale(1) contrast(1.1); }
@media (max-width: 768px) {
  .hero { height: auto; aspect-ratio: 402/600; }
  .hero__catch { top: 40%; }
  .hero__company { font-size: clamp(16px,4.2vw,24px); letter-spacing: clamp(2px,.8vw,4px); margin-bottom: 20px; }
  .hero__title { font-size: clamp(22px,6.8vw,36px); letter-spacing: clamp(2px,1.2vw,6px); }
  .information { padding: 60px 0; }
  .information-card { height: auto; aspect-ratio: 402/260; }
  .information-card__panel { padding: min(80px,10.416667vw) min(24px,3.125vw) min(32px,4.166667vw); max-width: 220px; }
  .information-card__link { bottom: 30px; }
  .information-card--owners::after,.information-card--residents::after { top: auto; bottom: 20px; font-size: 12vw; }
  .topics { padding: 60px 0; }
  .topics-list { margin-bottom: 40px; }
  .company { padding-top: 60px; }
  .company__inner { margin-bottom: 48px; }
  .company-map { height: 320px; }
}
.owners-page { background: var(--color-bg-light); }
.owners-features { width: min(1705px,92%); margin-left: 0; padding-bottom: 120px; }
.owners-features__list { width: 100%; }
.owners-feature { display: flex; width: 100%; }
.owners-feature+.owners-feature { margin-top: 80px; }
.owners-feature__media { position: relative; flex-shrink: 0; width: 50%; aspect-ratio: 965/794; padding: 20px; box-sizing: border-box; background-repeat: no-repeat; background-position: center; background-size: cover; }
.owners-feature__media::before { content: ""; position: absolute; left: 20px; top: 20px; right: 20px; bottom: 20px; border: 1px solid #fff; pointer-events: none; z-index: 1; }
.owners-feature__media::after { content: ""; position: absolute; right: 0; top: 50%; width: min(170px,8.854167vw); height: 1px; background: var(--color-primary); transform: translateY(-50%); pointer-events: none; z-index: 2; }
.owners-feature__media--01 { background-image: url(../images/owners-feature-01.jpg); }
.owners-feature__media--02 { background-image: url(../images/owners-feature-02.jpg); }
.owners-feature__media--03 { background-image: url(../images/owners-feature-03.jpg); }
.owners-feature__content { flex-shrink: 0; width: 50%; color: var(--color-text-main); }
.owners-feature__head { display: flex; align-items: center; height: 50%; box-sizing: border-box; position: relative; }
.owners-feature--lead .owners-feature__head { border-bottom: 1px solid var(--color-primary-dark); }
.owners-feature__title { position: absolute; top: 50%; left: min(80px,4.166667vw); transform: translateY(-50%); font-family: var(--font-family-serif); font-weight: var(--font-weight-600); font-size: clamp(24px,2.083333vw,40px); letter-spacing: clamp(4px,.416667vw,8px); line-height: 1.4; }
.owners-feature__title-line { display: block; }
.owners-feature__title-line+.owners-feature__title-line { margin-top: .15em; }
.owners-feature__body { padding: 20px 0 0 min(80px,4.166667vw); box-sizing: border-box; }
.owners-feature:not(.owners-feature--lead) .owners-feature__body { border-top: 1px solid var(--color-primary-dark); }
.owners-feature__catch { font-family: var(--font-family-serif); font-weight: var(--font-weight-500); font-size: 18px; letter-spacing: 3.6px; line-height: 1; text-align: right; margin-bottom: min(80px,4.166667vw); }
.owners-feature__text { width: min(600px,100%); margin-left: auto; font-size: 16px; line-height: 2; }
.owners-feature__text p { margin-bottom: 0; }
.owners-page .about__inner { padding-bottom: 100px; }
@media (max-width: 768px) {
  .owners-features { padding-bottom: 60px; margin: 0 auto; }
  .owners-feature { flex-direction: column; align-items: stretch; }
  .owners-feature+.owners-feature { margin-top: 60px; }
  .owners-feature__media { width: 100%; aspect-ratio: 965/600; margin-bottom: 20px; }
  .owners-feature__media::after { display: none; }
  .owners-feature__media::before { top: 10px; left: 10px; right: 10px; bottom: 10px; }
  .owners-feature__content { width: 100%; }
  .owners-feature__head { height: auto; padding: 0 0 20px 0; }
  .owners-feature__title { position: relative; top: auto; left: auto; transform: none; }
  .owners-feature__body { padding: 20px 0 0; }
  .owners-feature__catch { margin-bottom: 40px; font-size: 16px; letter-spacing: 2px; }
  .owners-feature__text { margin-left: 0; }
  .owners-page .about__inner { padding-bottom: 80px; }
}
.residents-page { background: var(--color-bg-light); }
.residents-intro { padding-bottom: 80px; }
.residents-intro__inner { width: min(1500px,92%); margin: 0 auto; }
.residents-intro__visual { width: 100%; aspect-ratio: 1500/550; background: url(../images/residents-intro.jpg) no-repeat center/cover; margin-bottom: 40px; }
.residents-intro__content { position: relative; padding-left: min(248px,12.91vw); box-sizing: border-box; }
.residents-intro__content::before { content: ""; position: absolute; left: 0; top: min(33px,1.718vw); width: min(228px,11.875vw); height: 1px; background: var(--color-primary-dark); pointer-events: none; }
.residents-intro__title { font-family: var(--font-family-serif); font-weight: var(--font-weight-500); font-size: clamp(24px,2.083333vw,40px); letter-spacing: clamp(4px,.416667vw,8px); line-height: 1.4; color: var(--color-text-main); margin-bottom: 40px; }
.residents-intro__text { font-size: clamp(18px,1.25vw,24px); line-height: 2; color: var(--color-text-main); }
.residents-intro__text p { margin-bottom: 0; }
.residents-line { background: #ebf5f0; padding: 80px 0; }
.residents-line__inner { width: min(1000px,92%); margin: 0 auto; }
.residents-line__lead { margin-bottom: 60px; }
.residents-line__title-wrap { position: relative; margin: 0 auto 40px; }
.residents-line__title { display: flex; align-items: baseline; justify-content: center; position: relative; z-index: 1; font-size: clamp(20px,2.103854vw,40.394px); font-weight: var(--font-weight-200); line-height: 2; color: var(--color-text-main); text-align: center; }
.residents-line__title::before { content: ""; position: absolute; left: 50%; bottom: 8px; transform: translateX(-50%); width: min(895px,46.614vw); height: 18px; background: rgba(0,190,153,.3); pointer-events: none; z-index: 0; }
.residents-line__title-em { font-weight: var(--font-weight-600); font-size: clamp(30px,2.337604vw,44.882px); letter-spacing: clamp(2px,.187031vw,3.5905px); }
.residents-line-info { display: flex; align-items: center; gap: 40px; width: min(902px,100%); margin: 0 auto 40px; }
.residents-line-info__figure { flex-shrink: 0; width: min(172px,19.054323vw); aspect-ratio: 172/204; background: url(../images/residents-line-figure.png) no-repeat center/contain; }
.residents-line-info__card { flex: 1; min-width: 0; background: var(--color-primary); border-radius: 40px; padding: 30px 40px; box-sizing: border-box; }
.residents-line-info__text { font-size: 18px; line-height: 2; color: var(--color-text-main); }
.residents-line-info__text p { margin-bottom: 0; }
.residents-line-qr { width: min(415px,100%); margin: 0 auto 60px; text-align: center; }
.residents-line-qr__badge { font-size: 18px; font-weight: var(--font-weight-600); letter-spacing: 1.44px; line-height: 2; color: var(--color-line); margin-bottom: 10px; }
.residents-line-qr__badge-mark { color: var(--color-line); }
.residents-line-qr__badge-mark-left { display: inline-block; transform: rotate(-90deg); padding-right: 2px; }
.residents-line-qr__label { font-size: 24px; font-weight: var(--font-weight-600); letter-spacing: 1.92px; line-height: 1; color: var(--color-text-main); margin-bottom: 20px; }
.residents-line-qr__code { display: block; width: 160px; height: 160px; margin: 0 auto 20px; object-fit: contain; }
.residents-howto { position: relative; width: 100%; background: var(--color-primary); border-radius: 8px; padding: 60px 40px; box-sizing: border-box; }
.residents-howto::after { content: ""; position: absolute; right: 40px; top: 39px; width: min(264px,26.4%); aspect-ratio: 1; background: url(../images/residents-howto-figure.png) no-repeat center/contain; pointer-events: none; }
.residents-howto__head { text-align: center; margin-bottom: 37px; }
.residents-howto__title { font-size: 24px; font-weight: var(--font-weight-600); line-height: 1.4; color: var(--color-text-main); margin-bottom: 20px; }
.residents-howto__lead { width: min(725px,100%); margin: 0 auto; font-size: 18px; line-height: 2; color: var(--color-text-main); text-align: center; }
.residents-howto__lead p { margin-bottom: 0; }
.residents-howto-list { width: 100%; }
.residents-howto-list__item { position: relative; display: flex; align-items: center; gap: 30px; }
.residents-howto-list__item+.residents-howto-list__item { margin-top: 25px; }
.residents-howto-list__item::before { content: ""; position: absolute; left: 200px; top: 50%; width: 75px; height: 5px; background: #a4e5d6; transform: translateY(-50%); pointer-events: none; }
.residents-howto-list__pill { position: relative; z-index: 1; flex-shrink: 0; width: 200px; height: 200px; border-radius: 100px; background: #a4e5d6; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: var(--color-text-main); box-sizing: border-box; padding: 10px 40px; }
.residents-howto-list__pill-label { font-size: 20px; font-weight: var(--font-weight-600); line-height: 1; margin-bottom: 10px; }
.residents-howto-list__pill-note { font-size: 16px; font-weight: var(--font-weight-200); line-height: 1.4; margin-bottom: 0; }
.residents-howto-list__answer { position: relative; z-index: 1; flex: 1; min-width: 0; min-height: 146px; background: var(--color-primary); border: 5px solid #a4e5d6; border-radius: 46px; padding: 10px 40px; box-sizing: border-box; display: flex; align-items: center; font-size: 18px; line-height: 2; color: var(--color-text-main); }
.residents-howto-list__answer p { margin-bottom: 0; }
.residents-page .about__inner { padding-bottom: 100px; }
@media (max-width: 768px) {
  .residents-intro { padding-bottom: 60px; }
  .residents-intro__visual { aspect-ratio: 1500/700; margin-bottom: 32px; }
  .residents-intro__content { padding-left: 0; }
  .residents-intro__content::before { display: none; }
  .residents-intro__title { margin-bottom: 24px; }
  .residents-line { padding: 60px 0; }
  .residents-line__lead { margin-bottom: 40px; }
  .residents-line__title-wrap::before { top: 48px; height: 14px; }
  .residents-line__title { display: block; }
  .residents-line-info { flex-direction: column; align-items: stretch; }
  .residents-line-info__figure { width: min(172px,50%); margin: 0 auto; }
  .residents-line-info__card { border-radius: 24px; padding: 24px 20px; }
  .residents-line-info__text { font-size: 16px; }
  .residents-line-qr { margin-bottom: 40px; }
  .residents-line-qr__label { font-size: 20px; }
  .residents-howto { padding: 40px 20px; }
  .residents-howto::after { display: none; }
  .residents-howto__head { margin-bottom: 24px; }
  .residents-howto__title { font-size: 20px; }
  .residents-howto__lead { font-size: 16px; text-align: left; }
  .residents-howto-list__item { flex-direction: column; align-items: stretch; }
  .residents-howto-list__item::before { display: none; }
  .residents-howto-list__pill { width: 100%; height: auto; min-height: 120px; border-radius: 60px; padding: 20px; }
  .residents-howto-list__answer { min-height: auto; border-radius: 24px; padding: 20px; font-size: 16px; }
  .residents-page .about__inner { padding-bottom: 80px; }
}
.inquiries-page { background: var(--color-bg-light); }
.inquiries-body { display: flex; flex-direction: column; align-items: center; gap: 120px; }
.inquiries-trouble { width: min(919px,92%); }
.inquiries-trouble__title { font-family: var(--font-family-serif); font-weight: var(--font-weight-500); font-size: clamp(20px,2.083333vw,40px); line-height: 1.4; color: var(--color-text-main); text-align: center; margin-bottom: 80px; }
.inquiries-trouble__columns { display: flex; justify-content: center; gap: min(100px,5.208333vw); }
.inquiries-trouble__col { width: min(436px,100%); text-align: center; color: var(--color-text-main); }
.inquiries-trouble__col--line { width: min(395px,100%); }
.inquiries-trouble__label { font-size: 20px; font-weight: var(--font-weight-600); line-height: 1.4; margin-bottom: 32px; }
.inquiries-trouble__col--line .inquiries-trouble__label { margin-bottom: 27px; }
.inquiries-trouble__tel { display: block; color: inherit; margin-bottom: 32px; transition: opacity .28s ease; }
.inquiries-trouble__tel:hover,.inquiries-trouble__tel:focus-visible { opacity: .7; }
.inquiries-trouble__tel-number { position: relative; display: inline; font-size: clamp(20px,1.941979vw,37.286px); font-weight: var(--font-weight-600); line-height: 1.4; }
.inquiries-trouble__tel-number::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: currentColor; }
.inquiries-trouble__tel-name { font-size: clamp(16px,1.25vw,20px); font-weight: var(--font-weight-600); line-height: 1.4; }
.inquiries-trouble__note { font-size: 16px; font-weight: var(--font-weight-200); line-height: 1.4; margin-bottom: 0; }
.inquiries-trouble__line { margin-bottom: 27px; }
.inquiries-trouble__tel-info { font-size: 16px; font-weight: var(--font-weight-600); line-height: 1.6; margin-bottom: 10px; }
.inquiries-trouble__tel-link { position: relative; display: inline; }
.inquiries-trouble__tel-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: currentColor; }
.inquiries-trouble__hours { font-size: 14px; font-weight: var(--font-weight-600); line-height: 1.6; margin-bottom: 0; }
.inquiries-cancel { width: min(1200px,92%); }
.inquiries-cancel__title { font-family: var(--font-family-serif); font-weight: var(--font-weight-500); font-size: clamp(20px,2.083333vw,40px); line-height: 1.4; color: var(--color-text-main); text-align: center; margin-bottom: 40px; }
.inquiries-cancel__text { font-size: 16px; line-height: 2; color: var(--color-text-main); text-align: center; margin-bottom: 40px; }
.inquiries-cancel__text p { margin-bottom: 0; }
.inquiries-cancel__em { font-weight: var(--font-weight-600); }
.inquiries-cancel__action { text-align: center; }
.inquiries-cancel__button { display: inline-flex; align-items: center; justify-content: center; width: min(456px,100%); height: 56px; border: 1px solid var(--color-primary-dark); border-radius: 6px; padding: 10px 30px; box-sizing: border-box; font-size: 14px; font-weight: var(--font-weight-600); line-height: 2; color: var(--color-text-main); transition: opacity .28s ease; }
.inquiries-cancel__button:hover,.inquiries-cancel__button:focus-visible { opacity: .7; }
.inquiries-promo { position: relative; width: 100%; min-height: 382px; background: #f1f1f1; border-radius: 8px; padding: 100px 24px; box-sizing: border-box; overflow: hidden; }
.inquiries-promo::after { content: ""; position: absolute; right: -5vw; bottom: -4vw; width: min(683px,35.583333vw); aspect-ratio: 683.2/427; background: url(../images/inquiries-promo-figure.png) no-repeat center/contain; opacity: .5; pointer-events: none; }
.inquiries-promo__inner { position: relative; z-index: 1; width: min(920px,92%); margin: 0 auto; text-align: center; color: var(--color-text-main); }
.inquiries-promo__title { font-size: 24px; font-weight: var(--font-weight-600); line-height: 1.4; margin-bottom: 40px; }
.inquiries-promo__text { font-size: 18px; line-height: 2; }
.inquiries-promo__text p { margin-bottom: 0; }
.inquiries-page .about__inner { padding-bottom: 100px; }
@media (max-width: 768px) {
  .inquiries-body { gap: 80px; }
  .inquiries-trouble__title { margin-bottom: 40px; }
  .inquiries-trouble__columns { flex-direction: column; align-items: center; gap: 48px; }
  .inquiries-trouble__col,.inquiries-trouble__col--line { width: 100%; }
  .inquiries-trouble__label { margin-bottom: 20px; font-size: 16px; }
  .inquiries-trouble__col--line .inquiries-trouble__label { margin-bottom: 20px; }
  .inquiries-trouble__tel { margin-bottom: 20px; }
  .inquiries-trouble__line { margin-bottom: 20px; }
  .inquiries-cancel__title { margin-bottom: 24px; }
  .inquiries-cancel__text { margin-bottom: 24px; font-size: 15px; text-align: left; }
  .inquiries-promo { padding: 60px 20px; min-height: auto; }
  .inquiries-promo::after { display: none; }
  .inquiries-promo__title { font-size: 20px; margin-bottom: 24px; }
  .inquiries-promo__text { font-size: 16px; text-align: left; }
  .inquiries-page .about__inner { padding-bottom: 80px; }
}
.archive-news { background: var(--color-bg-light); }
.archive-news__section { padding-bottom: 120px; }
.archive-news__inner { width: min(1400px,92%); margin: 0 auto; }
.archive-news .topics-list { margin-bottom: 80px; }
.archive-news .topics-list__date { font-weight: var(--font-weight-200); }
.pagination { display: flex; align-items: flex-start; justify-content: center; gap: min(42.4px,2.208333vw); }
.pagination__item { border-right: 1px solid var(--color-primary-dark); padding-right: min(42.4px,2.208333vw); }
.pagination__item:first-child { padding-left: min(42.4px,2.208333vw); }
.pagination__item--last { border-right: 0; }
.pagination__link { font-size: 20px; letter-spacing: 1px; line-height: 1.4; color: var(--color-text-main); transition: opacity .28s ease; }
.pagination__link:hover,.pagination__link:focus-visible { opacity: .7; }
.archive-news .about__inner { padding-bottom: 100px; }
@media (max-width: 768px) {
  .archive-news__section { padding-bottom: 60px; }
  .archive-news .topics-list { margin-bottom: 48px; }
  .pagination { flex-wrap: wrap; gap: 16px 24px; }
  .pagination__item { border-right: 0; padding: 0; }
  .pagination__item:first-child { padding-left: 0; }
  .pagination__link { font-size: 16px; }
  .archive-news .about__inner { padding-bottom: 80px; }
}
.single-news { background: var(--color-bg-light); }
.news-detail { padding: 240px 0 120px; background: var(--color-bg-light); }
.news-detail__inner { width: min(1000px,92%); margin: 0 auto; }
.news-detail__header { border-bottom: 1px solid var(--color-primary-dark); padding-bottom: 20px; margin-bottom: 40px; }
.news-detail__date { display: block; font-size: 14px; font-weight: var(--font-weight-200); line-height: 1.4; color: var(--color-text-main); margin-bottom: 10px; }
.news-detail__title { font-size: 16px; font-weight: var(--font-weight-200); line-height: 1.4; color: var(--color-text-main); }
.news-detail__content { margin-bottom: 40px; }
.news-detail__figure { width: 100%; aspect-ratio: 1000/459; background: #d9d9d9; margin-bottom: 40px; }
.news-detail__body { font-size: 16px; line-height: 1.4; color: var(--color-text-main); }
.news-detail__body p { margin-bottom: 0; }
.news-detail__more { text-align: right; }
.single-news .link-more__label { font-weight: var(--font-weight-200); }
.single-news .about__inner { padding-bottom: 100px; }
@media (max-width: 768px) {
  .news-detail { padding: 120px 0 60px; }
  .news-detail__header { margin-bottom: 32px; }
  .news-detail__figure { margin-bottom: 24px; }
  .news-detail__content { margin-bottom: 32px; }
  .single-news .about__inner { padding-bottom: 80px; }
}
.policy-page { background: var(--color-bg-light); }
.policy-content { padding-bottom: 120px; background: var(--color-bg-light); }
.policy-content__inner { width: min(1000px,92%); margin: 0 auto; display: flex; flex-direction: column; gap: 40px; }
.policy-content__intro { font-size: 16px; line-height: 2; color: var(--color-text-main); }
.policy-detail { display: flex; flex-direction: column; gap: 30px; }
.policy-detail__item { font-size: 16px; line-height: 2; color: var(--color-text-main); }
.policy-detail__title,.policy-detail__text,.policy-detail__contact p { margin-bottom: 0; }
.policy-detail__list { margin: 0; padding: 0; list-style: none; }
.policy-detail__list-item { position: relative; padding-left: 24px; }
.policy-detail__list-item::before { content: ""; position: absolute; left: 8px; top: .85em; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.policy-page .about__inner { padding-bottom: 100px; }
@media (max-width: 768px) {
  .policy-content { padding-bottom: 60px; }
  .policy-content__inner { gap: 32px; }
  .policy-detail { gap: 24px; }
  .policy-page .about__inner { padding-bottom: 80px; }
}