@charset "utf-8";
/*
* about.css — 法人案内4ページ共通
* common.css の後に読み込む。
* 各ページ固有の指定は既存のbody IDで適用範囲を限定する。
* 情報公開は専用クラス disclosure-table を使用する。
* ヒーロー画像のURLは、このCSSファイルを基準に指定する。
*/

/* 苦情相談・行動計画：本文の行間 */
#complaint p,
#action-plan p {
  line-height: 1.5;
}

/* ==================================================
法人概要
================================================== */

:where(#about) .hero-bg {
  margin-top: 3rem;
  min-height: 300px;
  background-image: url("../about/img/about.jpg");
  background-size: cover;
  background-position: center center;
  border-radius: 16px;
}

/* 高齢者福祉・障がい者福祉ページと共通のページ上部 */
:where(#about) .hero-section {
  position: relative;
  padding: 0 40px;
}

:where(#about) .hero-heading {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  z-index: 2;
  margin: 0;
  padding: 20px 70px 24px;
  font-size: clamp(1.8rem, 2.6vw, 2.8rem);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
  background: #fcfcf9;
  border-radius: 100px 100px 0 0;
}

:where(#about) .hero-figure {
  margin: 0;
  position: relative;
  z-index: 1;
}

:where(#about) .hero-figure img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 576px) {
  :where(#about) .facility-hero {
    padding-top: 30px;
  }

  :where(#about) .hero-section {
    padding: 0 16px;
  }

  :where(#about) .hero-bg {
    margin-top: 0;
    min-height: 230px;
    background-size: cover;
    background-position: center center;
    border-radius: 14px;
  }

  :where(#about) .hero-heading {
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
    width: calc(100% - 110px);
    min-width: 270px;
    height: auto;
    padding: 14px 20px 17px;
    font-size: 1.65rem;
    line-height: 1.3;
    letter-spacing: 0.06em;
    white-space: nowrap;
    border-radius: 80px 80px 0 0;
  }

  :where(#about) .facility-hero .container.mt-5 {
    margin-top: 4.5rem !important;
  }
}

@media (min-width: 577px) and (max-width: 999px) {
  :where(#about) .facility-hero {
    padding-top: 40px;
  }

  :where(#about) .hero-bg {
    margin-top: 0;
  }
}

/* 法人案内：ヒーロー見出しと切り替えナビが重ならないよう余白を確保 */
:where(#about) .about-hero .hero-section {
  margin-bottom: clamp(52px, 5vw, 72px);
}

:where(#about) .about-nav-wrap {
  margin-top: 0 !important;
}

:where(#about) .about-switch {
  margin-top: 0;
}

:where(#about) .about-switch .btn {
  min-width: 0;
  white-space: nowrap;
}

@media (max-width: 576px) {
  :where(#about) .about-hero .hero-section {
    margin-bottom: 52px;
  }

  :where(#about) .about-nav-wrap {
    padding-left: 0;
    padding-right: 0;
  }

  :where(#about) .about-switch .btn {
    padding-left: .25rem;
    padding-right: .25rem;
    font-size: .88rem;
  }
}

@media (min-width: 577px) and (max-width: 999px) {
  :where(#about) .about-hero .hero-section {
    margin-bottom: 60px;
  }
}

/*about*/
#about h2:not(.hero-heading) {
  margin-bottom: 1rem;
}

/*画像を上下反転させて添付*/
:where(#about) .img-flip-y {
  transform: scaleY(-1);
  transform-origin: center;
}

:where(#about) .wave-sep {
  display: block;
  width: 100%;
  height: 132px;
  object-fit: cover;
}

:where(#about) li p {
  margin: 0;
  line-height: 1.5;
}

/*組織図・役員一覧*/
:where(#about) a.doc-card {
  display: block;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

:where(#about) .doc-title {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: 8px;
  font-weight: 600;
  white-space: nowrap;
}

:where(#about) .doc-thumb {
  margin: 0 auto;
  width: 300px;
  max-width: 100%;
  height: auto;
}

:where(#about) .across-border {
  border-right: 2px solid #f6f6f3;
  border-left: 2px solid #f6f6f3;

}

@media (max-width: 1399.8px) {
  :where(#about) .across-border {
    border-right: 0px;
    border-left: 0px;
    border-top: 2px solid #f6f6f3;
    border-bottom: 2px solid #f6f6f3;
  }

}
/* 沿革：最初の項目の上線を消す */
:where(#about) .history-list > li:first-child {
  border-top: 0 !important;
}

/* 沿革：最後の項目の下線を消す */
:where(#about) .history-list > li:last-child {
  border-bottom: 0 !important;
}

:where(#about) .about-history-section {
  background-color: #f7f7f3;
}

/* ==================================================
情報公開
================================================== */

/* 情報公開：資料名 60% / PDF形式 40% で全テーブルを統一 */
.disclosure-table {
  width: 100%;
  table-layout: fixed;
}

.disclosure-table td {
  vertical-align: middle;
}

.disclosure-table td:first-child {
  width: 60%;
}

.disclosure-table td:nth-child(2) {
  width: 40%;
}

/* 狭い画面ではPDF表記のスペースを確保し、長い資料名は折り返す */
@media (max-width: 575.98px) {
  .disclosure-table td {
    padding: 0.6rem 0.5rem;
    font-size: 0.875rem;
  }

  .disclosure-table td:first-child {
    width: 55%;
  }

  .disclosure-table td:nth-child(2) {
    width: 45%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* ==================================================
苦情相談
================================================== */

:where(#complaint) .complaint-chart {
  max-width: 600px;
}

/* ==================================================
行動計画
================================================== */

:where(#action-plan) .text-mb {
  margin-bottom: 32px;
}

:where(#action-plan) .measures {
  background-color: #fff;
  border-radius: 14px;
  margin-bottom: 16px;
}

#action-plan h5 {
  margin-bottom: 16px;
}
