/* ==========================================================
syoukai.css
-----------

事業所紹介ページ専用CSS

【このファイルの役割】

・事業所紹介ページ全体
・事業所一覧
・各事業所の紹介カード
・事業所写真
・所在地
・電話番号・FAX
・Google Map
・詳細ボタン
・スマートフォン表示

【共通CSS】

common.css
→ ヘッダー
→ グローバルナビ
→ フッター
→ TOPへ戻るボタン

などのサイト共通部分を管理しています。

【重要】

PC表示の基本デザインはこのファイルの
@mediaより上で管理しています。

スマートフォン専用の調整は
@media (max-width: 768px)
の中で管理しています。

========================================================== */

@import url(common.css);

/* ==========================================================
事業所紹介 全体
--------

【基本的に変更しない】

common.css側のmain設定による余白を
このページではリセットしています。
========================================================== */

main {
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================================
事業所紹介ページ
--------

【レイアウト変更OK】

ページ全体の最大幅と上下左右の余白を管理します。
========================================================== */

.office-page {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 125px 40px 120px;
  box-sizing: border-box;
}

/* ==========================================================
ページ見出し
------

「事業所紹介」
「OFFICE」
オレンジの下線を管理します。
========================================================== */

.office-page > h2 {
  position: relative;
  margin: 0 0 80px;
  text-align: center;
  color: #333;
  font-size: 34px;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.5;
}

/* 「OFFICE」の表示 */

.office-page > h2::before {
  content: "OFFICE";
  display: block;
  margin-bottom: 10px;
  color: #eaa317;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2em;
}

/* 見出し下のオレンジ線 */

.office-page > h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 20px auto 0;
  background: #eaa317;
  border-radius: 10px;
}

/* ==========================================================
事業所一覧
-----

PCでは2列で表示します。
========================================================== */

.office-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 110px;
}

/* 各事業所一覧ボタン */

.office-list-item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 68px;
  padding: 18px 55px 18px 25px;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #eadfce;
  border-radius: 12px;
  color: #555;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
  text-decoration: none;
  box-shadow: 0 5px 18px rgba(80, 60, 40, 0.05);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease;
}

/* 一覧右側の矢印 */

.office-list-item::after {
  content: "→";
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  color: #eaa317;
  font-size: 18px;

  transition: right 0.3s ease;
}

/* マウスを乗せたとき */

.office-list-item:hover {
  transform: translateY(-3px);
  border-color: #eaa317;
  box-shadow: 0 10px 25px rgba(80, 60, 40, 0.09);
}

/* マウスを乗せたとき矢印を少し右へ */

.office-list-item:hover::after {
  right: 17px;
}

/* ==========================================================
各事業所カード
-------

各事業所の紹介エリアです。
========================================================== */

.office-intro {
  position: relative;
  margin-bottom: 125px;
  padding: 55px 50px 50px;

  background: #fff;

  border-radius: 18px;

  box-shadow: 0 10px 35px rgba(80, 60, 40, 0.07);

  scroll-margin-top: 120px;
}

/* 最後の事業所だけ下の余白をなくす */

.office-intro:last-child {
  margin-bottom: 0;
}

/* ==========================================================
事業所タイトル
-------

各カード上部の事業所名です。
========================================================== */

.office-title {
  position: relative;

  margin: 0 0 40px;

  padding-left: 18px;

  color: #333;

  font-size: 25px;
  font-weight: 600;

  line-height: 1.6;

  letter-spacing: 0.07em;
}

/* 左側のオレンジライン */

.office-title::before {
  content: "";

  position: absolute;

  left: 0;
  top: 6px;

  width: 4px;
  height: 72%;

  background: #eaa317;

  border-radius: 10px;
}

/* ==========================================================
PCでは改行しない
---------

HTML内の.sp-breakは
スマートフォンだけ改行させるために使用します。
========================================================== */

.sp-break {
  display: none;
}

/* ==========================================================
写真＋右側情報
-------

PCでは横並びです。

左：写真
右：所在地＋アクセス
========================================================== */

.office-intro-content {
  display: flex;
  align-items: stretch;

  gap: 55px;
}

/* ==========================================================
事業所写真
========================================================== */

.office-photo {
  position: relative;

  width: 47%;

  flex-shrink: 0;

  display: flex;
}

/* 写真の後ろにあるオレンジ枠 */

.office-photo::after {
  content: "";

  position: absolute;

  top: 12px;
  left: 12px;

  width: 100%;
  height: 100%;

  border: 2px solid #eaa317;

  border-radius: 14px;

  box-sizing: border-box;

  z-index: 0;
}

/* 実際の写真 */

.office-photo img {
  position: relative;

  z-index: 1;

  display: block;

  width: 100%;
  height: 100%;

  min-height: 400px;

  object-fit: cover;

  border-radius: 14px;

  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1);
}

/* ==========================================================
右側情報
========================================================== */

.office-info-shape {
  flex: 1;

  display: flex;
  align-items: stretch;
}

.office-info {
  width: 100%;

  display: flex;
  flex-direction: column;
}

/* ==========================================================
所在地
========================================================== */

.office-address {
  margin-bottom: 35px;
}

/* 「所在地」「アクセス」の見出し */

.office-address h3,
.office-map h3 {
  margin: 0 0 15px;

  color: #4370a9;

  font-size: 18px;
  font-weight: 600;

  letter-spacing: 0.08em;

  line-height: 1.5;
}

/* 住所 */

.office-address p {
  margin: 0;

  color: #555;

  font-size: 15px;

  line-height: 1.9;

  letter-spacing: 0.03em;
}

/* ==========================================================
電話番号・FAX
--------

【重要】

通常の事業所では、

TEL
FAX

の2行表示です。

ケアホーム柏の
ヘルパーセンター／ケアプランセンターだけは、

ヘルパーセンター
TEL：○○○

ケアプランセンター
TEL：○○○

FAX：○○○（共通）

という構造になっています。
========================================================== */

.office-address .office-contact {
  margin-top: 15px;

  color: #666;

  font-size: 14px;

  line-height: 1.8;
}

/* ==========================================================
各サービスの連絡先
========================================================== */

.office-contact-item {
  display: flex;

  flex-direction: column;

  margin-bottom: 13px;
}

/* サービス名 */

.office-service-name {
  margin-bottom: 2px;

  color: #4370a9;

  font-size: 14px;

  font-weight: 600;

  letter-spacing: 0.04em;
}

/* 電話番号 */

.office-tel {
  color: #666;

  font-size: 14px;

  letter-spacing: 0.03em;

  text-decoration: none;

  transition: color 0.2s ease;
}

/* PCで電話番号にマウスを乗せたとき */

.office-tel:hover {
  color: #eaa317;
}

/* 共通FAX */

.office-fax {
  margin-top: 3px;

  padding-top: 11px;

  border-top: 1px solid #e5e5e5;

  color: #666;

  font-size: 14px;

  letter-spacing: 0.03em;
}

/* 「共通」の文字 */

.fax-note {
  color: #888;

  font-size: 12px;
}

/* ==========================================================
Google Map
========================================================== */

.office-map {
  flex: 1;
}

/* Google Map本体 */

.office-map iframe {
  display: block;

  width: 100%;
  height: 220px;

  border: 0;

  border-radius: 10px;

  box-shadow: 0 5px 18px rgba(0, 0, 0, 0.08);
}

/* ==========================================================
詳細ボタン
========================================================== */

.office-detail-btn {
  display: flex;

  align-items: center;
  justify-content: center;

  width: 250px;
  min-height: 52px;

  margin: 45px auto 0;

  padding: 12px 25px;

  box-sizing: border-box;

  background: #eaa317;

  border-radius: 30px;

  color: #fff;

  font-size: 14px;
  font-weight: 600;

  letter-spacing: 0.06em;

  text-decoration: none;

  box-shadow: 0 6px 15px rgba(234, 163, 23, 0.2);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    background 0.3s ease;
}

/* マウスを乗せたとき */

.office-detail-btn:hover {
  background: #d9930e;

  transform: translateY(-3px);

  box-shadow: 0 10px 20px rgba(234, 163, 23, 0.25);
}

/* ==========================================================
スマートフォン
-------

768px以下で適用します。

【重要】

PC表示には影響しません。
========================================================== */

@media (max-width: 768px) {
  /* ========================================================
全体
======================================================== */

  html,
  body {
    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    overflow-x: hidden;
  }

  main {
    width: 100%;
    max-width: 100%;

    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box;
  }

  /* ========================================================
事業所紹介ページ
======================================================== */

  .office-page {
    width: 100%;
    max-width: 100%;

    margin: 0;

    padding: 80px 20px 80px;

    box-sizing: border-box;
  }

  /* ========================================================
ページ見出し
======================================================== */

  .office-page > h2 {
    width: 100%;

    margin: 0 0 55px;

    font-size: 28px;

    letter-spacing: 0.08em;

    line-height: 1.5;
  }

  .office-page > h2::before {
    margin-bottom: 8px;

    font-size: 11px;

    letter-spacing: 0.18em;
  }

  .office-page > h2::after {
    width: 42px;

    margin-top: 17px;
  }

  /* ========================================================
事業所一覧
--------------------------------------------------------
スマートフォンでは1列表示
======================================================== */

  .office-list {
    display: flex;

    flex-direction: column;

    gap: 12px;

    margin-bottom: 70px;
  }

  .office-list-item {
    width: 100%;

    min-height: 60px;

    padding: 15px 48px 15px 18px;

    border-radius: 10px;

    font-size: 14px;

    line-height: 1.6;
  }

  .office-list-item::after {
    right: 17px;

    font-size: 17px;
  }

  /* ========================================================
各事業所カード
--------------------------------------------------------
スマートフォンでは、


 ① 事業所名
 ② 写真
 ③ 所在地・連絡先・Map
 ④ 詳細ボタン

 の順番になります。
 ======================================================== */

  .office-intro {
    width: 100%;

    margin-bottom: 80px;

    padding: 32px 20px 30px;

    border-radius: 14px;

    box-sizing: border-box;

    scroll-margin-top: 100px;

    display: flex;

    flex-direction: column;
  }

  /* ========================================================
事業所タイトル
======================================================== */

  .office-title {
    width: 100%;

    margin: 0 0 30px;

    padding-left: 14px;

    font-size: 20px;

    line-height: 1.7;

    letter-spacing: 0.04em;

    box-sizing: border-box;

    order: 1;
  }

  .office-title::before {
    top: 5px;

    width: 4px;

    height: 72%;
  }

  /* ========================================================
スマートフォンだけ改行
======================================================== */

  .sp-break {
    display: inline;
  }

  /* ========================================================
写真＋情報
--------------------------------------------------------
スマートフォンでは縦並びにします。
======================================================== */

  .office-intro-content {
    width: 100%;

    display: flex;

    flex-direction: column;

    gap: 35px;

    box-sizing: border-box;

    order: 2;
  }

  /* ========================================================
写真
======================================================== */

  .office-photo {
    width: 100%;
    max-width: 100%;

    display: flex;

    box-sizing: border-box;
  }

  .office-photo::after {
    top: 9px;
    left: 9px;

    width: 100%;
    height: 100%;

    border-radius: 12px;
  }

  .office-photo img {
    width: 100%;
    max-width: 100%;

    height: 235px;

    min-height: 0;

    border-radius: 12px;

    box-sizing: border-box;
  }

  /* ========================================================
右側情報
--------------------------------------------------------
写真の下に表示します。
======================================================== */

  .office-info-shape {
    width: 100%;
    max-width: 100%;

    box-sizing: border-box;

    order: 3;
  }

  .office-info {
    width: 100%;
  }

  /* ========================================================
所在地
======================================================== */

  .office-address {
    margin-bottom: 30px;
  }

  .office-address h3,
  .office-map h3 {
    margin-bottom: 12px;

    font-size: 17px;

    letter-spacing: 0.06em;
  }

  .office-address p {
    font-size: 14px;

    line-height: 1.9;
  }

  /* ========================================================
電話番号・FAX
--------------------------------------------------------
スマートフォン用
======================================================== */

  .office-address .office-contact {
    margin-top: 13px;

    font-size: 13px;

    line-height: 1.8;
  }

  .office-contact-item {
    margin-bottom: 12px;
  }

  .office-service-name {
    margin-bottom: 2px;

    font-size: 13px;
  }

  .office-tel {
    display: inline-block;

    font-size: 13px;
  }

  .office-fax {
    margin-top: 4px;

    padding-top: 10px;

    font-size: 13px;
  }

  .fax-note {
    font-size: 11px;
  }

  /* ========================================================
Google Map
======================================================== */

  .office-map iframe {
    width: 100%;

    height: 230px;

    border-radius: 9px;

    box-sizing: border-box;
  }

  /* ========================================================
詳細ボタン
======================================================== */

  .office-detail-btn {
    width: 220px;

    min-height: 50px;

    margin: 35px auto 0;

    padding: 11px 20px;

    font-size: 13px;

    order: 4;
  }

  /* ========================================================
事業所一覧のスマートフォン用改行
======================================================== */

  .office-list-item .sp-break {
    display: inline;
  }
}
