@charset "UTF-8";
/*
 * ======================================
 * 追加クラス一覧（共通SCSS取り込み検討用）
 * ======================================
 *
 * .l-content              - 左サイドバー分を除いた本文エリア（width:80% / margin-left:auto。1100px以下で100%）
 * .senri-sidebar          - 左サイド固定ナビの装飾（deco画像・中央寄せ・下部固定）／header-sidebar に付与
 * .senri-sidebar__foot    - サイドバー下部の電話・SNS・CTA
 * .senri-logo             - テキストロゴ（EN Afacad ＋ JA 太字）。--footer でフッター用白文字
 * .senri-heading          - 参考サイト .mtitle 由来の見出し（EN緑バッジ枠＋JA大）／--left/--white
 * .senri-cta              - お問い合わせCTA帯の装飾（深緑・上角丸60px）／footer-cta に付与
 * .senri-footer           - フッター（深緑・白文字。CTAと連続した一枚の角丸ブロックに見せる）
 * .senri-page-hero        - 下層ページヒーロー（薄ベージュ・左下角丸60px・装飾イラスト）
 * .senri-point-card       - 特徴カード（番号あしらい付き）
 * .senri-contents-nav     - コンテンツ案内（各ページ導線）バナーの補助
 * .senri-room-list        - 事業所概要（部屋＋面積）の点線リーダー補助
 *
 * ======================================
 * 共通SCSSに不足していたもの（5分類）
 * ======================================
 *
 * ・構造不足：左サイドバー型レイアウトで本文を右80%へ寄せる仕組み（header-sidebar は
 *   サイドバー自身のみ定義し、本文側のオフセットは持たない）→ .l-content で補完。
 * ・装飾パターン不足：参考サイト .mtitle の「EN緑バッジ枠＋JA大見出し」あしらい → .senri-heading。
 * ・装飾パターン不足：サイドバー上下の葉モチーフ装飾（deco01/deco02）／下層ヒーローの
 *   左下角丸＋装飾イラスト（deco03/p_ttl）→ .senri-sidebar / .senri-page-hero。
 * ・構造不足：テキストロゴ（画像なし。EN＋JA2段）→ .senri-logo。
 *
 */

/* ==========================================================================
   レイアウト：左サイドバー(20%) ＋ 本文(80%)
   ========================================================================== */
.l-content {
  width: 80%;
  margin-left: auto;
  position: relative;
}
@media all and (max-width: 1100px) {
  .l-content {
    width: 100%;
    margin-left: 0;
    padding-top: 0; /* 上部固定ヘッダーは非表示にしたため余白不要 */
  }
}

/* ==========================================================================
   左サイド固定ナビ（header-sidebar に付与する装飾）
   ========================================================================== */
.senri-sidebar {
  align-items: center;
  text-align: center;
  padding: 40px 22px;
  overflow: hidden;
}
/* 上下の葉モチーフ装飾 */
.senri-sidebar::before,
.senri-sidebar::after {
  content: "";
  position: absolute;
  left: -10px;
  width: calc(100% + 20px);
  pointer-events: none;
  z-index: 0;
  opacity: 0.5;
}
.senri-sidebar::after {
  top: -10px;
  height: 500px;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28254/deco02.png) no-repeat left top / contain;
}
.senri-sidebar::before {
  bottom: -10px;
  height: 300px;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28254/deco01.png) no-repeat left bottom / contain;
}
.senri-sidebar > * {
  position: relative;
  z-index: 1;
}
.senri-sidebar__nav {
  flex: 1 1 auto;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
}
/* サイドバー内ナビ項目（縦並び・中央） */
.senri-sidebar .header__nav-item a {
  padding: 8px 6px;
}
.senri-sidebar .header__nav-en {
  font-size: 1.15rem;
  letter-spacing: 0.12em;
  color: #21a818;
}
.senri-sidebar .header__nav-ja {
  font-size: 1.55rem;
  margin-top: 1px;
}
/* 現在ページ */
.senri-sidebar .header__nav-item--current .header__nav-ja {
  color: #21a818;
}

.senri-sidebar__foot {
  margin-top: auto;
  padding-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.senri-sidebar__tel {
  font-family: "Afacad", sans-serif;
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #21a818;
  line-height: 1.2;
}
.senri-sidebar__tel::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
  margin-right: 6px;
  font-size: 0.8em;
}
.senri-sidebar__time {
  font-size: 1.1rem;
  color: #8a8a8a;
}
.senri-sidebar__sns {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  font-size: 2.8rem;
  color: #21a818;
  margin: 4px 0;
  line-height: 1.15;
}
.senri-sidebar__sns-label {
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.senri-sidebar__sns:hover { color: #2fd920; }
.senri-sidebar__cta {
  display: inline-block;
  width: 100%;
  max-width: 200px;
  padding: 11px 10px;
  border-radius: 9999px;
  background: #2fd920;
  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  transition: all 0.3s ease;
}
.senri-sidebar__cta::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f095";
  margin-right: 7px;
}
.senri-sidebar__cta:hover { background: #21a818; opacity: 1; }

/* 1100px以下：上部バー化したサイドバーの調整 */
@media all and (max-width: 1100px) {
  .senri-sidebar {
    padding: 12px;
    text-align: left;
    height: auto;
  }
  .senri-sidebar::before,
  .senri-sidebar::after { display: none; }
  .senri-sidebar__foot { display: none; }
}

/* ==========================================================================
   テキストロゴ
   ========================================================================== */
.senri-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
  text-decoration: none;
  position: relative;
  top: 60px;
}
.senri-logo__en {
  font-family: "Afacad", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.28em;
  color: #21a818;
  text-indent: 0.28em;
}
.senri-logo__ja {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #3c3c3c;
  margin-top: 4px;
}
/* ヘッダー（左サイドバー）のロゴJAのみ：緑色＋少し大きく */
.senri-sidebar .senri-logo__ja {
  font-size: 2.4rem;
  color: #21a818;
}
/* ロゴ補足「（就労継続支援B型）」は小さめ・グレー */
.senri-logo__note {
  font-size: 17px;
  color: #3c3c3c;
}
@media all and (max-width: 1100px) {
  .senri-logo { flex-direction: row; align-items: baseline; gap: 10px; top: 0; }
  .senri-logo__en { font-size: 1.8rem; }
  .senri-logo__ja { font-size: 1.1rem; margin-top: 0; }
  /* スマホ：ロゴを全体的に小さく（色はPCと同じ：JA緑／note グレー） */
  .senri-sidebar .senri-logo__ja { font-size: 0.95rem; }
  .senri-sidebar .senri-logo__note { font-size: 10px; }
}
@media all and (max-width: 639px) {
  .senri-logo__ja { display: none; }
  /* ヘッダーは「せんり」ロゴ削除のため、SPでもJAを表示してロゴを残す */
  .senri-sidebar .senri-logo__ja { display: block; }
}

/* ==========================================================================
   見出し（参考サイト .mtitle 由来：EN緑バッジ枠 ＋ JA大）
   ========================================================================== */
.senri-heading {
  text-align: center;
  margin: 0 auto 44px;
  position: relative;
}
.senri-heading--left { text-align: left; margin-left: 0; margin-right: 0; }
.senri-heading__en {
  display: inline-block;
  font-family: "Afacad", sans-serif;
  font-size: 1.7rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.5;
  color: #21a818;
  border: 2px solid #21a818;
  border-radius: 0 12px 12px 12px;
  padding: 1px 20px;
}
.senri-heading__ja {
  display: block;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #3c3c3c;
  line-height: 1.5;
  margin-top: 12px;
}
.senri-heading--white .senri-heading__en {
  color: #fff;
  border-color: #fff;
}
.senri-heading--white .senri-heading__ja { color: #fff; }
@media all and (max-width: 639px) {
  .senri-heading { margin-bottom: 28px; }
  .senri-heading__en { font-size: 1.3rem; border-radius: 0 8px 8px 8px; }
  .senri-heading__ja { font-size: 1.9rem; }
}

/* ==========================================================================
   お問い合わせCTA ＋ フッター（深緑・上角丸60pxの一枚ブロック）
   ========================================================================== */
.senri-cta::before {
  background: #0A5E1C;
  border-radius: 60px 60px 0 0;
}
.senri-cta__en {
  font-family: "Afacad", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8fe089;
  margin-bottom: 4px;
}
.senri-cta__ttl {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  text-align: left;
}
.senri-cta .footer-cta__tel {
  color: #fff;
}
@media all and (max-width: 639px) {
  .senri-cta::before { border-radius: 30px 30px 0 0; }
  .senri-cta__ttl { text-align: center; }
}

.senri-footer {
  background: #0A5E1C;
  color: #fff;
}
.senri-footer__info {
  color: rgba(255, 255, 255, 0.75);
}
.senri-footer .senri-logo__en { color: #fff; }
.senri-footer .senri-logo__ja { color: rgba(255, 255, 255, 0.85); }
.senri-footer .senri-logo__note { color: rgba(255, 255, 255, 0.85); }
.senri-logo--footer {
  align-items: flex-start;
  margin-bottom: 18px;
  top: 0;
}
.senri-footer__sns a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  font-size: 1.8rem;
  transition: all 0.3s ease;
}
.senri-footer__sns a:hover { background: #2fd920; border-color: #2fd920; opacity: 1; }
.senri-footer__nav-item a,
.senri-footer__nav a { color: rgba(255, 255, 255, 0.85); }
.senri-footer .footer-body__nav-item a:hover { color: #2fd920; }
.senri-footer__bottom { background: #0A5E1C; }
.senri-footer__bottom .footer-bottom__copyright { color: rgba(255, 255, 255, 0.55); }

/* ==========================================================================
   下層ページヒーロー（薄ベージュ・左下角丸60px・装飾イラスト）
   ========================================================================== */
.senri-page-hero {
  position: relative;
  overflow: hidden;
  background: #f3faf1;
  border-radius: 0 0 0 60px;
  z-index: 1;
}
.senri-page-hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  height: 60%;
  background: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28254/deco03.png) no-repeat right top / contain;
  z-index: -1;
  opacity: 0.9;
}
/* ページ固有の装飾イラスト（右下・ふわふわ浮遊） */
.senri-page-hero::before {
  content: "";
  position: absolute;
  bottom: -20px;
  right: 5%;
  width: 100%;
  height: 70%;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
  animation: fuwafuwa2 3s ease-in-out infinite alternate;
}
.senri-page-hero--work::before { background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28254/page-hero-01.png); }
.senri-page-hero--facility::before { background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28254/page-hero-02.png); }
.senri-page-hero--company::before { background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28254/page-hero-03.png); }
.senri-page-hero--touen::before { background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28254/page-hero-04.png); }
.senri-page-hero--news::before { background-image: url(https://ros-cdn.s3.ap-northeast-1.amazonaws.com/hp/img/ros_keiyaku/28254/page-hero-05.png); }
@keyframes fuwafuwa2 {
  0% { transform: translate(0, 0); }
  50% { transform: translate(0, -15px); }
  100% { transform: translate(0, 0); }
}
.senri-page-hero__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 130px 5% 90px;
}
.senri-page-hero__en {
  display: block;
  font-family: "Afacad", sans-serif;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #21a818;
}
.senri-page-hero__ja {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: #3c3c3c;
}
@media all and (max-width: 1100px) {
  .senri-page-hero__inner { padding: 110px 5% 60px; }
}
@media all and (max-width: 639px) {
  .senri-page-hero { border-radius: 0 0 0 30px; }
  .senri-page-hero__inner { padding: 90px 6% 44px; }
  .senri-page-hero__en { font-size: 2rem; }
  .senri-page-hero__ja { font-size: 1.5rem; }
  .senri-page-hero::before { right: 0; bottom: 0; height: 50%; }
}

/* ==========================================================================
   一日の流れ（左:画像55% / 右:タイムラインボックス40%）
   ========================================================================== */
.senri-schedule .container-narrow { max-width: 1100px; }

/* ==========================================================================
   加盟事業所カード（横幅統一・等高・中央寄せ）
   ========================================================================== */
.senri-member {
  width: 100%;
  background: #fff;
  padding: 24px 16px;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  text-align: center;
}

/* 事業所の概要テーブル：td 白 / th 薄緑 */
.senri-overview .table-basic td {
  background: #fff;
}
.senri-overview .table-basic th {
  background: #E9F6E6;
}

.senri-schedule .column2__child:first-child { width: 55%; }
.senri-schedule .column2__child:last-child { width: 40%; }
@media all and (max-width: 896px) {
  .senri-schedule .column2__child:first-child,
  .senri-schedule .column2__child:last-child { width: 100%; }
  /* 縦積み時、ボックスの左右に余白を確保 */
  .senri-schedule .mbox { margin: 0 15px; }
}
