@charset "utf-8";
/* 施設詳細9ページ共通（disability / elderly）
 * common.css（Swiper使用ページはSwiper CSSも）の後に読み込む。
 * :where() のページ判定は詳細度を増やさず、元の優先順位を維持する。
 * 共通ルールは一度だけ定義し、施設固有の差分のみ適用範囲を限定する。
 */

/* ===== 施設名・メインビジュアル ===== */

/* 適用：全ページ共通 */
:where(.facility-detail-page) .facility-hero .facility-page-title {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  margin: 0;
  padding: 30px 24px 58px 24px;
  color: #333;
  font-size: clamp(30px,3vw,40px);
  line-height: 1.4;
  font-weight: 500;
  text-align: center;
  letter-spacing: .04em;
}

:where(.facility-detail-page) .facility-hero .facility-page-title > .facility-title-type,
:where(.facility-detail-page) .facility-hero .facility-page-title > .facility-title-name,
:where(.facility-detail-page) .facility-hero .facility-page-title > .facility-title-separator {
  display: inline-block;
  flex: 0 0 auto;
  white-space: nowrap;
}

:where(.facility-detail-page) .facility-hero-visual {
  width: min(1600px,calc(100% - 48px));
  margin: 0 auto;
  overflow: hidden;
  border-radius: clamp(20px,2.2vw,34px);
  background: #eef1e9;
}

:where(.facility-detail-page) .facility-hero-visual img {
  display: block;
  width: 100%;
  height: clamp(400px,35vw,560px);
  object-fit: cover;
  object-position: center center;
}

:where(.facility-detail-page) .facility-hero-lead {
  max-width: 900px;
  margin: 26px auto 0;
  padding: 0 24px;
  color: #444;
  font-size: 17px;
  line-height: 1.9;
  text-align: center;
}

html.facility-hero-pending :where(.facility-detail-page) .facility-hero-reveal > .facility-page-title,
html.facility-hero-pending :where(.facility-detail-page) .facility-hero-reveal > .facility-hero-visual {
  visibility: hidden;
}

@media (prefers-reduced-motion:reduce) {
  html.facility-hero-pending :where(.facility-detail-page) .facility-hero-reveal > .facility-page-title,
  html.facility-hero-pending :where(.facility-detail-page) .facility-hero-reveal > .facility-hero-visual {
    visibility: visible;
  }

}
@media (min-width:992px) and (max-width:1200px) {
  :where(.facility-detail-page) .facility-hero .facility-page-title {
    padding: 2px 24px 30px 24px;
  }

}
@media (max-width:991.98px) {
  :where(.facility-detail-page) .facility-hero .facility-page-title {
    padding: 28px 0 38px 0;
  }

  :where(.facility-detail-page) .facility-hero {
    padding-top: 28px;
  }

  :where(.facility-detail-page) .facility-hero-visual {
    width: calc(100% - 32px);
  }

  :where(.facility-detail-page) .facility-hero-visual img {
    height: clamp(320px,48vw,440px);
  }

}
@media (max-width:600px) {
  :where(.facility-detail-page) .facility-hero .facility-page-title {
    flex-direction: column;
  }

  :where(.facility-detail-page) .facility-hero .facility-page-title > .facility-title-separator {
    display: none;
  }

}
@media (max-width:575.98px) {
  :where(.facility-detail-page) .facility-hero .facility-page-title {
    padding: 20px 18px 20px 18px;
    font-size: clamp(24px,7vw,30px);
    line-height: 1.45;
  }

  :where(.facility-detail-page) .facility-hero-visual {
    width: calc(100% - 24px);
    border-radius: 16px;
  }

  :where(.facility-detail-page) .facility-hero-visual img {
    height: auto;
    aspect-ratio: 4 / 3;
  }

  :where(.facility-detail-page) .facility-hero-lead {
    margin-top: 20px;
    padding: 0 20px;
    font-size: 16px;
    line-height: 1.85;
    text-align: left;
  }

}

/* ===== 施設紹介・詳細情報 ===== */

/* 適用：itoigawa-day */
:where(.facility-page-itoigawa-day) .policy-item {
  display: flex;
  gap: .5rem;
  align-items: flex-start;
}

:where(.facility-page-itoigawa-day) .policy-item p {
  margin-bottom: 0;
}

:where(.facility-page-itoigawa-day) .policy-num {
  min-width: 2.4em;
  text-align: right;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 2.4;
}


/* ===== その他・ボタン・アクセス ===== */

/* 適用：全ページ共通 */
:where(.facility-detail-page) .support-policy {
  margin-top: 0;
}

:where(.facility-detail-page) .facility-detail-card {
  padding: clamp(28px,4vw,56px);
  overflow: hidden;
  background: #fff;
  border: 1px solid #eaedef;
  border-radius: 20px;
  box-shadow: 0 14px 36px rgba(0,0,0,.07),0 2px 8px rgba(0,0,0,.04);
}

:where(.facility-detail-page) .facility-detail-media {
  margin: 0;
  overflow: hidden;
  background: #eef2f3;
  border-radius: 12px;
}

:where(.facility-detail-page) .facility-detail-media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}


/* 適用：aozora / grouphome / mizuho / nishiumi / sasayuri / ajisai / group / miyama */
:where(.facility-standard-page) .facility-hours-card {
  margin-top: 24px;
  padding: 16px;
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 12px;
}


/* ===== 施設紹介・詳細情報 ===== */

/* 適用：全ページ共通 */
:where(.facility-detail-page) .facility-detail-content {
  min-width: 0;
}

:where(.facility-detail-page) .facility-contact-info {
  font-size: 17px;
  line-height: 1.65;
}


/* 適用：itoigawa-day */
:where(.facility-page-itoigawa-day) .facility-contact-info dt::after {
  margin-left: .15em;
}


/* 適用：全ページ共通 */
:where(.facility-detail-page) .facility-contact-info dd {
  font-variant-numeric: tabular-nums;
}


/* 適用：itoigawa-day */
:where(.facility-page-itoigawa-day) .facility-contact-info a {
  text-decoration: none;
}

:where(.facility-page-itoigawa-day) .facility-contact-info a:hover {
  color: var(--brand-deep);
  text-decoration: underline;
}

:where(.facility-page-itoigawa-day) .facility-detail-description {
  padding: 20px 0;
  border-bottom: 1px solid #dce2e5;
}

:where(.facility-page-itoigawa-day) .facility-detail-description p,
:where(.facility-page-itoigawa-day) .facility-detail-section p {
  margin: 0;
  font-size: 17px;
  line-height: 1.9;
}


/* 適用：全ページ共通 */
:where(.facility-detail-page) .facility-detail-section {
  padding: 18px 0;
  border-bottom: 1px solid #dce2e5;
}


/* 適用：aozora / grouphome / mizuho / nishiumi / sasayuri / ajisai / group / miyama */
:where(.facility-standard-page) .facility-detail-section:first-child {
  padding-top: 0;
}


/* 適用：全ページ共通 */
:where(.facility-detail-page) .facility-detail-section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

:where(.facility-detail-page) .facility-detail-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
  color: #34434a;
  font-size: clamp(18px,1.25vw,20px);
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: .02em;
}

:where(.facility-detail-page) .facility-detail-heading::before {
  content: "";
  width: 4px;
  height: 1.15em;
  flex: 0 0 4px;
  background: #8fbf60;
  border-radius: 999px;
}


/* 適用：aozora / grouphome / mizuho / nishiumi / sasayuri / ajisai / group / miyama */
:where(.facility-standard-page) .facility-detail-section p,
:where(.facility-standard-page) .facility-detail-section dl {
  margin-bottom: 0;
  font-size: 17px;
  line-height: 1.9;
}


/* ===== その他・ボタン・アクセス ===== */

/* 適用：全ページ共通 */
:where(.facility-detail-page) .facility-document-link {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 8px;
}


/* 適用：aozora / grouphome / mizuho / nishiumi / sasayuri / ajisai / group / miyama */
:where(.facility-standard-page) .facility-document-link + .facility-document-link {
  margin-top: 8px;
}


/* 適用：全ページ共通 */
:where(.facility-detail-page) .facility-document-link a {
  text-underline-offset: 4px;
}


/* ===== 施設紹介・詳細情報 ===== */
@media (max-width:991.98px) {
  :where(.facility-detail-page) .facility-detail-media img {
    aspect-ratio: 16 / 9;
  }

}
@media (max-width:575.98px) {
  :where(.facility-detail-page) .facility-detail-card {
    padding: 18px;
    border-radius: 16px;
  }

  :where(.facility-detail-page) .facility-detail-media {
    border-radius: 10px;
  }

  :where(.facility-detail-page) .facility-detail-media img {
    aspect-ratio: 4 / 3;
  }

}

/* 適用：itoigawa-day */
@media (max-width:575.98px) {
  :where(.facility-page-itoigawa-day) .facility-contact-info {
    padding-bottom: 17px;
    font-size: 16px;
  }

  :where(.facility-page-itoigawa-day) .facility-detail-description {
    padding: 17px 0;
  }

}

/* 適用：全ページ共通 */
@media (max-width:575.98px) {
  :where(.facility-detail-page) .facility-detail-section {
    padding: 16px 0;
  }

}

/* 適用：aozora / grouphome / mizuho / nishiumi / sasayuri / ajisai / group / miyama */
@media (max-width:575.98px) {
  :where(.facility-standard-page) .facility-detail-section p,
  :where(.facility-standard-page) .facility-detail-section dl {
    font-size: 16px;
    line-height: 1.85;
  }

}

/* 適用：itoigawa-day */
@media (max-width:575.98px) {
  :where(.facility-page-itoigawa-day) .facility-detail-description p,
  :where(.facility-page-itoigawa-day) .facility-detail-section p {
    font-size: 16px;
    line-height: 1.85;
  }

}

/* 適用：全ページ共通 */
@media (max-width:575.98px) {
  :where(.facility-detail-page) .facility-detail-heading {
    margin-bottom: 7px;
    font-size: 18px;
  }

}

/* ===== その他・ボタン・アクセス ===== */
:where(.facility-detail-page) .facility-daily-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: min(100%,400px);
  min-height: 92px;
  margin: 18px auto 0;
  padding: 14px 18px 14px 42px;
  background: #3aa17b;
  border: 0;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .08em;
  box-shadow: 0 12px 24px rgba(58,161,123,.18);
  transition: transform .25s ease,box-shadow .25s ease,background-color .25s ease;
}


/* 適用：aozora / grouphome / mizuho / nishiumi / sasayuri / ajisai / group / miyama */
:where(.facility-standard-page) .facility-daily-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  background: #fff;
  border-radius: 50%;
  color: #3aa17b;
  transition: transform .25s ease;
}


/* 適用：itoigawa-day */
@media (max-width:575.98px) {
  :where(.facility-page-itoigawa-day) .facility-daily-link {
    font-weight: 300;
  }

}
:where(.facility-page-itoigawa-day) .facility-daily-link__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  background: #fff;
  border-radius: 50%;
  color: #3aa17b;
  transition: transform .25s ease,background-color .25s ease;
}


/* 適用：全ページ共通 */
:where(.facility-detail-page) .facility-daily-link__icon i {
  font-size: 26px;
  line-height: 1;
}

:where(.facility-detail-page) .facility-daily-link:hover {
  background: #33936f;
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(58,161,123,.24);
}

:where(.facility-detail-page) .facility-daily-link:hover .facility-daily-link__icon {
  transform: translateX(4px);
}


/* 適用：itoigawa-day */
:where(.facility-page-itoigawa-day) .facility-daily-link:focus-visible {
  outline: 3px solid rgba(58,161,123,.28);
  outline-offset: 4px;
}


/* 適用：全ページ共通 */
@media (max-width:991.98px) {
  :where(.facility-detail-page) .facility-daily-link {
    width: min(100%,350px);
    min-height: 82px;
    padding-left: 34px;
  }

  :where(.facility-detail-page) .facility-daily-link__icon {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
  }

}

/* 適用：aozora / grouphome / mizuho / nishiumi / sasayuri / ajisai / group / miyama */
@media (max-width:575.98px) {
  :where(.facility-standard-page) .facility-daily-link {
    width: 100%;
    min-height: 68px;
    gap: 16px;
    padding: 10px 12px 10px 24px;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: .05em;
  }

}

/* 適用：itoigawa-day */
@media (max-width:575.98px) {
  :where(.facility-page-itoigawa-day) .facility-daily-link {
    width: 100%;
    min-height: 68px;
    gap: 16px;
    padding: 10px 12px 10px 24px;
    font-size: 16px;
    letter-spacing: .05em;
  }

}

/* 適用：全ページ共通 */
@media (max-width:575.98px) {
  :where(.facility-detail-page) .facility-daily-link__icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  :where(.facility-detail-page) .facility-daily-link__icon i {
    font-size: 22px;
  }

}

/* 適用：aozora / grouphome / mizuho / nishiumi / sasayuri / ajisai / group / miyama */
:where(.facility-standard-page) .access-title {
  margin-bottom: 12px;
}

:where(.facility-standard-page) .map-embed {
  overflow: hidden;
  border-radius: 16px;
}

:where(.facility-standard-page) .map-embed iframe {
  display: block;
  min-height: 420px;
}

@media (max-width:575.98px) {
  :where(.facility-standard-page) .map-embed {
    border-radius: 12px;
  }

  :where(.facility-standard-page) .map-embed iframe {
    min-height: 320px;
  }

}

/* ===== 会報誌・お知らせ・商品カルーセル（両フォルダ共通） ===== */
@supports not (overflow:clip) {
  :where(.facility-standard-page) .newsletter-section {
    overflow-x: hidden;
  }

}
:where(.facility-standard-page) .newsletter-swiper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-bottom: 2rem;
  overflow: visible;
}

:where(.facility-standard-page) .newsletter-swiper .swiper-wrapper {
  align-items: center;
}

:where(.facility-standard-page) .newsletter-card {
  display: block;
  height: 100%;
  padding: 16px;
  position: relative;
  overflow: visible;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  color: inherit;
  text-decoration: none;
}

:where(.facility-standard-page) .newsletter-thumb {
  position: static;
  margin: 0;
}

:where(.facility-standard-page) .newsletter-thumb img {
  display: block;
  width: 100%;
  margin: 0 !important;
  object-fit: contain;
}

:where(.facility-standard-page) .newsletter-meta {
  margin-top: 6px;
  padding: .75rem 1rem 1rem;
  line-height: 1.6;
}

:where(.facility-standard-page) .newsletter-date {
  display: block;
  font-size: 1.1rem;
  font-weight: 500;
}

:where(.facility-standard-page) .newsletter-desc {
  display: block;
  margin-top: 2px;
  font-size: .85rem;
  color: #666;
}

:where(.facility-standard-page) .newsletter-swiper .swiper-slide {
  opacity: .6;
  transform: scale(.9);
  transition: transform .35s ease,opacity .35s ease;
}

:where(.facility-standard-page) .newsletter-swiper .swiper-slide-prev,
:where(.facility-standard-page) .newsletter-swiper .swiper-slide-next {
  opacity: .85;
  transform: scale(.95);
}

:where(.facility-standard-page) .newsletter-swiper .swiper-slide-active {
  opacity: 1;
  transform: scale(1.05);
}

:where(.facility-standard-page) .swiper-slide a {
  text-decoration: none;
}

:where(.facility-standard-page) .bulletin-main {
  display: block;
  width: 100%;
  max-height: 320px;
  object-fit: cover;
  object-position: center;
}

@media (max-width:991px) {
  :where(.facility-standard-page) .bulletin-main {
    max-height: 220px;
  }

}
@media (max-width:575.98px) {
  :where(.facility-standard-page) .newsletter-thumb img {
    height: 190px;
  }

  :where(.facility-standard-page) .newsletter-swiper .swiper-slide {
    transform: scale(.92);
  }

  :where(.facility-standard-page) .newsletter-swiper .swiper-slide-active {
    transform: scale(1.02);
  }

}
:where(.facility-standard-page) .newsletter-prev,
:where(.facility-standard-page) .newsletter-next {
  width: 56px;
  height: 56px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #2f966b;
  border-radius: 50%;
  color: #2f966b;
  transition: transform .25s ease,background-color .25s ease,color .25s ease,box-shadow .25s ease;
}

:where(.facility-standard-page) .newsletter-prev:hover,
:where(.facility-standard-page) .newsletter-next:hover {
  background: #2f966b;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(47,150,107,.18);
}

:where(.facility-standard-page) .newsletter-prev:focus,
:where(.facility-standard-page) .newsletter-next:focus {
  box-shadow: none;
}

:where(.facility-standard-page) .newsletter-prev:focus-visible,
:where(.facility-standard-page) .newsletter-next:focus-visible {
  outline: 2px solid rgba(47,150,107,.35);
  outline-offset: 3px;
}

:where(.facility-standard-page) .newsletter-prev.swiper-button-disabled,
:where(.facility-standard-page) .newsletter-next.swiper-button-disabled {
  opacity: .3;
  cursor: default;
  transform: none;
  box-shadow: none;
}

:where(.facility-standard-page) .no-pdf-icon a[href$=".pdf"]::after,
:where(.facility-standard-page) .no-pdf-icon a[href*=".pdf?"]::after {
  content: none !important;
  display: none !important;
}


/* ===== その他・ボタン・アクセス ===== */

/* 適用：aozora */
:where(.facility-page-aozora) .support-item-wide {
  width: min(100%,360px);
}

:where(.facility-page-aozora) .support-tag-static {
  cursor: default;
  pointer-events: none;
}


/* ===== 西海：事業・商品紹介 ===== */

/* 適用：nishiumi */
:where(.facility-page-nishiumi) .facility-business-list {
  display: grid;
  gap: 0;
}

:where(.facility-page-nishiumi) .facility-business-item {
  padding: 28px 0;
  border-bottom: 1px solid #dce2e5;
}

:where(.facility-page-nishiumi) .facility-business-item:first-child {
  padding-top: 0;
}

:where(.facility-page-nishiumi) .facility-business-item:last-child {
  border-bottom: 0;
}

:where(.facility-page-nishiumi) .facility-business-media {
  margin: 0;
  overflow: hidden;
  background: #eef2f3;
  border-radius: 12px;
}

:where(.facility-page-nishiumi) .facility-business-media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

:where(.facility-page-nishiumi) .facility-business-title {
  margin: 0 0 12px;
  color: #34434a;
  font-size: clamp(20px,1.5vw,24px);
  line-height: 1.5;
  font-weight: 600;
}

:where(.facility-page-nishiumi) .facility-product-link {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid #dce2e5;
  text-align: center;
}

:where(.facility-page-nishiumi) .facility-product-link p {
  margin-bottom: 16px;
}

:where(.facility-page-nishiumi) .facility-product-link img {
  width: min(100%,460px);
  height: auto;
}

@media (max-width:991.98px) {
  :where(.facility-page-nishiumi) .facility-business-item {
    padding: 24px 0;
  }

  :where(.facility-page-nishiumi) .facility-business-media img {
    aspect-ratio: 16 / 9;
  }

}
@media (max-width:575.98px) {
  :where(.facility-page-nishiumi) .facility-business-item {
    padding: 20px 0;
  }

  :where(.facility-page-nishiumi) .facility-business-media {
    border-radius: 10px;
  }

  :where(.facility-page-nishiumi) .facility-business-media img {
    aspect-ratio: 4 / 3;
  }

  :where(.facility-page-nishiumi) .facility-business-title {
    margin-bottom: 8px;
    font-size: 19px;
  }

}
:where(.facility-page-nishiumi) .product-tel-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  text-decoration: none;
  font-weight: 500;
}

:where(.facility-page-nishiumi) .product-tel-link i {
  color: #99c742;
  font-size: 1em;
}

:where(.facility-page-nishiumi) .nutrition-collapse {
  width: 100%;
  max-width: none;
}

:where(.facility-page-nishiumi) .nutrition-collapse-btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 0 0 6px;
  background: none;
  border: 0;
  border-bottom: 1px solid #444;
  color: #333;
  font: inherit;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
}

:where(.facility-page-nishiumi) .nutrition-collapse-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  font-size: 18px;
  line-height: 1;
  transition: transform .25s ease;
}

:where(.facility-page-nishiumi) .nutrition-collapse-btn[aria-expanded="true"] .nutrition-collapse-icon {
  transform: rotate(45deg);
}

:where(.facility-page-nishiumi) .nutrition-collapse-content {
  padding-top: 24px;
}

:where(.facility-page-nishiumi) .nutrition-collapse-content img {
  display: block;
  width: min(100%,620px);
  height: auto;
}

:where(.facility-page-nishiumi) .nutrition-description {
  max-width: 620px;
  margin: 20px 0 14px;
  color: #444;
  font-size: 15px;
  line-height: 1.8;
}

:where(.facility-page-nishiumi) .nutrition-highlight {
  max-width: 620px;
  margin: 0 0 12px;
  padding: 15px 18px;
  background: #f5f9ee;
  border-radius: 8px;
  color: #4f7f2f;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.8;
}

:where(.facility-page-nishiumi) .nutrition-note {
  max-width: 620px;
  margin: 0;
  color: #666;
  font-size: 13px;
  line-height: 1.7;
}

@media (max-width:575.98px) {
  :where(.facility-page-nishiumi) .nutrition-highlight {
    padding: 13px 15px;
    font-size: 15px;
  }

}
:where(.facility-page-nishiumi) .shop-list {
  max-width: 700px;
}

:where(.facility-page-nishiumi) .shop-list-group + .shop-list-group {
  margin-top: 18px;
}

:where(.facility-page-nishiumi) .shop-list-area {
  margin: 0 0 6px;
  font-weight: 600;
}

:where(.facility-page-nishiumi) .shop-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

:where(.facility-page-nishiumi) .shop-list li + li {
  margin-top: 6px;
}

:where(.facility-page-nishiumi) .shop-list a {
  color: #333;
  text-decoration: underline;
  text-underline-offset: 4px;
}

:where(.facility-page-nishiumi) .shop-list a:hover {
  color: #2f966b;
}

:where(.facility-page-nishiumi) .midori-info {
  width: 100%;
}

:where(.facility-page-nishiumi) .midori-info-section {
  margin-top: 32px;
}

:where(.facility-page-nishiumi) .midori-info-section h4 {
  margin-bottom: 12px;
  font-weight: 550;
}

:where(.facility-page-nishiumi) .midori-info-section h4::before {
  content: "●";
  margin-right: .4em;
  color: #333;
  font-size: .75em;
}

:where(.facility-page-nishiumi) .midori-info-section ul {
  margin: 10px 0 12px;
  padding-left: 1.4em;
}

:where(.facility-page-nishiumi) .midori-info-section li {
  margin-bottom: 4px;
}

:where(.facility-page-nishiumi) .midori-info-image {
  margin: 18px 0 0;
}

:where(.facility-page-nishiumi) .midori-info-image img {
  display: block;
  width: min(100%,520px);
  height: auto;
  border-radius: 12px;
}

:where(.facility-page-nishiumi) .midori-flow-image {
  margin: 18px 0 0;
}

:where(.facility-page-nishiumi) .midori-flow-image img {
  display: block;
  width: min(100%,420px);
  height: auto;
}

:where(.facility-page-nishiumi) .midori-video-placeholder {
  width: min(100%,640px);
  margin-top: 18px;
  background: #f5f5f2;
  border: 1px solid #e2e5df;
  border-radius: 12px;
  overflow: hidden;
}

:where(.facility-page-nishiumi) .nutrition-collapse-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-width: 260px;
  padding: 11px 16px 11px 22px;
  background: #fff;
  border: 1px solid #99c742;
  border-radius: 999px;
  color: #333;
  font: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
  transition: box-shadow .2s ease,transform .2s ease;
}

:where(.facility-page-nishiumi) .nutrition-collapse-btn:hover {
  background: #fff;
  border-color: #99c742;
  color: #333;
  box-shadow: 0 4px 12px rgba(153,199,66,.12);
}

:where(.facility-page-nishiumi) .nutrition-collapse-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  color: #99c742;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  transition: transform .25s ease;
}

:where(.facility-page-nishiumi) .nutrition-collapse-btn[aria-expanded="true"] .nutrition-collapse-icon {
  transform: rotate(45deg);
}


/* ===== 会報誌・お知らせ・商品カルーセル（両フォルダ共通） ===== */

/* 適用：sasayuri */
:where(.facility-page-sasayuri) .newsletter-date {
  display: block;
  font-size: 1.2rem;
  font-weight: 550;
}


/* 適用：group */
:where(.facility-page-group) .newsletter-archive {
  border: 1px solid rgba(0,0,0,.1);
  border-radius: 16px;
  background: #fff;
  padding: 12px 14px;
  box-shadow: 0 6px 16px rgba(0,0,0,.06);
}

:where(.facility-page-group) .newsletter-archive__summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-weight: 700;
  padding: 6px 2px;
}

:where(.facility-page-group) .newsletter-archive__summary::-webkit-details-marker {
  display: none;
}

:where(.facility-page-group) .newsletter-archive__summary::after {
  content: "＋";
  font-size: 18px;
  line-height: 1;
  opacity: .7;
}

:where(.facility-page-group) .newsletter-archive[open] .newsletter-archive__summary::after {
  content: "－";
}

:where(.facility-page-group) .newsletter-archive__hint {
  font-weight: 400;
  font-size: 12px;
  opacity: .7;
  white-space: nowrap;
}

:where(.facility-page-group) .newsletter-archive__body {
  padding-top: 10px;
}

:where(.facility-page-group) .newsletter-year + .newsletter-year {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,.08);
}

:where(.facility-page-group) .newsletter-year__title {
  font-size: 14px;
  margin: 0 0 8px;
  font-weight: 700;
}

:where(.facility-page-group) .newsletter-list {
  margin: 0;
  padding-left: 1.1em;
}

:where(.facility-page-group) .newsletter-list li {
  margin: 6px 0;
}

:where(.facility-page-group) .newsletter-list a {
  text-decoration: none;
}

:where(.facility-page-group) .newsletter-list a:hover {
  text-decoration: underline;
}

:where(.facility-page-group) .newsletter-archive__body {
  display: grid;
  gap: 14px;
}

@media (min-width:768px) {
  :where(.facility-page-group) .newsletter-archive__body {
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 16px 20px;
  }

  :where(.facility-page-group) .newsletter-year + .newsletter-year {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }

}

/* ===== 施設紹介・詳細情報 ===== */

/* 適用：ajisai / group */
:where(.facility-page-ajisai, .facility-page-group) .policy-item {
  display: flex;
  gap: .5rem;
  align-items: flex-start;
}

:where(.facility-page-ajisai, .facility-page-group) .policy-item p {
  margin-bottom: 0;
}

:where(.facility-page-ajisai, .facility-page-group) .policy-num {
  min-width: 2.4em;
  text-align: right;
  font-weight: 700;
  flex-shrink: 0;
  line-height: 2.4;
}

:where(.facility-page-ajisai, .facility-page-group) .facility-contact-info dt::after {
  margin-left: .15em;
}

:where(.facility-page-ajisai, .facility-page-group) .facility-contact-info a {
  text-decoration: none;
}

:where(.facility-page-ajisai, .facility-page-group) .facility-contact-info a:hover {
  color: var(--brand-deep);
  text-decoration: underline;
}

:where(.facility-page-ajisai, .facility-page-group) .facility-detail-description {
  padding: 20px 0;
  border-bottom: 1px solid #dce2e5;
}

:where(.facility-page-ajisai, .facility-page-group) .facility-detail-description p {
  margin: 0;
  font-size: 17px;
  line-height: 1.9;
}

:where(.facility-page-ajisai, .facility-page-group) .facility-detail-section p {
  margin: 0;
}

@media (max-width:575.98px) {
  :where(.facility-page-ajisai, .facility-page-group) .facility-contact-info {
    padding-bottom: 17px;
    font-size: 16px;
  }

  :where(.facility-page-ajisai, .facility-page-group) .facility-detail-description {
    padding: 17px 0;
  }

  :where(.facility-page-ajisai, .facility-page-group) .facility-detail-description p {
    font-size: 16px;
    line-height: 1.85;
  }

}

/* ===== その他・ボタン・アクセス ===== */
:where(.facility-page-ajisai, .facility-page-group) .facility-daily-link__icon {
  transition: transform .25s ease,background-color .25s ease;
}

:where(.facility-page-ajisai, .facility-page-group) .facility-daily-link:focus-visible {
  outline: 3px solid rgba(58,161,123,.28);
  outline-offset: 4px;
}


/* 適用：itoigawa-day */
:where(.facility-page-itoigawa-day) .map-embed {
  border-radius: 16px;
  overflow: hidden;
}


/* 適用：aozora / mizuho / nishiumi / sasayuri / ajisai / group / itoigawa-day / miyama */
:where(.facility-page-aozora, .facility-page-mizuho, .facility-page-nishiumi, .facility-page-sasayuri, .facility-page-ajisai, .facility-page-group, .facility-page-itoigawa-day, .facility-page-miyama) .facility-map-frame {
  border: 0;
}

