/* 介護B「しんらい」: 明朝見出し×ネイビー×細罫線。
 * 静かで品のある、情報の透明性で信頼を作る設計。 */
body.pat-ct {
  font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
  background: #fff;
  color: #25303d;
  line-height: 2.1;
  letter-spacing: .02em;
}

.pat-ct .site-header { border-bottom: 1px solid #d8dee6; }
.pat-ct .site-header__name { font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; }
.pat-ct .site-footer { background: #1b3a5c; }

/* ヒーロー: 静かに理念。写真は下に控えめに */
.ct-hero { border-bottom: 1px solid #d8dee6; }
.ct-hero__inner { max-width: 720px; margin: 0 auto; padding: 64px 24px 40px; text-align: center; }
.ct-hero__company { font-size: 12px; letter-spacing: .3em; color: #5d6b7a; }
.ct-hero__title {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 27px; line-height: 1.9; font-weight: 600;
  margin: 18px 0; color: #1b3a5c;
}
.ct-hero__sub { font-size: 14px; color: #5d6b7a; margin-bottom: 26px; }
.ct-hero__note { font-size: 12px; color: #8795a5; margin-top: 12px; }
.ct-hero__photo img { width: 100%; max-height: 360px; object-fit: cover; display: block; }

/* ボタン: 角ばった誠実さ */
.ct-btn {
  display: inline-block; padding: 15px 40px; text-decoration: none;
  font-weight: bold; font-size: 15px; letter-spacing: .08em;
}
.ct-btn--main { background: #1b3a5c; color: #fff; border: 1px solid #1b3a5c; }
.ct-btn--main:hover { background: #fff; color: #1b3a5c; }

/* セクション */
.ct-section { padding: 56px 24px; max-width: 760px; margin: 0 auto; }
.ct-section--tint { background: #f4f6f9; max-width: none; }
.ct-section--tint > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.ct-h2 {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 22px; color: #1b3a5c; text-align: center; margin-bottom: 32px;
  font-weight: 600;
}
.ct-h2__en {
  display: block; font-family: Georgia, serif; font-size: 11px; letter-spacing: .4em;
  color: #9aa9ba; margin-bottom: 6px;
}
.ct-note { text-align: center; font-size: 13px; color: #5d6b7a; margin: -20px 0 24px; }

/* 数字の実績 */
.ct-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid #d8dee6; border-left: 1px solid #d8dee6; }
.ct-fact { border-right: 1px solid #d8dee6; border-bottom: 1px solid #d8dee6; padding: 26px 14px; text-align: center; }
.ct-fact__value { font-family: Georgia, "Hiragino Mincho ProN", serif; font-size: 32px; color: #1b3a5c; line-height: 1.3; }
.ct-fact__label { font-size: 13px; font-weight: bold; margin-top: 6px; }
.ct-fact__note { font-size: 11px; color: #8795a5; margin-top: 4px; line-height: 1.6; }

/* 代表挨拶 */
.ct-message { display: grid; gap: 24px; }
.ct-message__photo { width: 180px; height: 180px; object-fit: cover; margin: 0 auto; }
.ct-message__text p { margin-bottom: 1.2em; font-size: 15px; }
.ct-message__sign { text-align: right; font-family: "Hiragino Mincho ProN", serif; font-size: 15px; }

/* 教育・キャリア */
.ct-reasons { display: grid; gap: 0; }
.ct-reason { display: flex; gap: 18px; padding: 22px 0; border-bottom: 1px solid #d8dee6; }
.ct-reason:first-child { border-top: 1px solid #d8dee6; }
.ct-reason__no { font-family: Georgia, serif; font-size: 26px; color: #9aa9ba; line-height: 1; }
.ct-reason__title { font-size: 16px; font-weight: bold; color: #1b3a5c; margin-bottom: 6px; }
.ct-reason__body { font-size: 14px; color: #41505f; }

/* 募集要項カード */
.ct-jobcard { background: #fff; border: 1px solid #d8dee6; margin-bottom: 22px; }
.ct-jobcard__head { padding: 18px 20px 0; }
.ct-jobcard__type {
  display: inline-block; border: 1px solid #1b3a5c; color: #1b3a5c;
  font-size: 11px; font-weight: bold; padding: 2px 12px; letter-spacing: .1em;
}
.ct-jobcard__title { font-family: "Hiragino Mincho ProN", serif; font-size: 19px; color: #1b3a5c; margin-top: 8px; }
.ct-jobtable { width: 100%; border-collapse: collapse; font-size: 14px; margin-top: 12px; }
.ct-jobtable th, .ct-jobtable td { border-top: 1px solid #e7ebf0; padding: 12px 20px; text-align: left; vertical-align: top; }
.ct-jobtable th { width: 7em; color: #5d6b7a; font-weight: normal; white-space: nowrap; }
.ct-jobcard__link { display: block; text-align: center; padding: 14px; background: #f4f6f9; color: #1b3a5c; font-weight: bold; font-size: 14px; text-decoration: none; }

/* 選考フロー */
.ct-steps { list-style: none; counter-reset: step; }
.ct-step { display: flex; gap: 16px; align-items: flex-start; padding: 16px 0; }
.ct-step__no {
  width: 34px; height: 34px; border-radius: 50%; background: #1b3a5c; color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: Georgia, serif; flex-shrink: 0; margin-top: 2px;
}
.ct-step__title { font-weight: bold; font-size: 15px; }
.ct-step__body { font-size: 13px; color: #5d6b7a; }
.ct-step + .ct-step { border-top: 1px dashed #d8dee6; }

/* FAQ */
.ct-faq { background: #fff; border: 1px solid #d8dee6; margin-bottom: 10px; padding: 0 18px; }
.ct-faq__q { padding: 15px 24px 15px 0; font-weight: bold; font-size: 14px; cursor: pointer; list-style: none; position: relative; }
.ct-faq__q::after { content: "＋"; position: absolute; right: 0; color: #1b3a5c; }
details[open] .ct-faq__q::after { content: "−"; }
.ct-faq__a { padding: 0 0 16px; font-size: 14px; color: #41505f; }

/* 会社概要 */
.pat-ct .company-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pat-ct .company-table th, .pat-ct .company-table td { border-bottom: 1px solid #d8dee6; padding: 12px 10px; text-align: left; vertical-align: top; }
.pat-ct .company-table th { color: #5d6b7a; font-weight: normal; white-space: nowrap; width: 7em; }
.ct-map { margin-top: 20px; }
.ct-map iframe { width: 100%; height: 280px; border: 0; display: block; }

/* 締め */
.ct-closing { background: #1b3a5c; color: #fff; text-align: center; padding: 60px 24px 70px; }
.ct-closing__lead { font-family: "Hiragino Mincho ProN", serif; font-size: 24px; margin-bottom: 14px; }
.ct-closing__note { font-size: 13px; color: #c2cedd; margin-bottom: 26px; }
.ct-closing .ct-btn--main { background: #fff; color: #1b3a5c; border-color: #fff; }
.ct-closing__tel { margin-top: 18px; font-size: 14px; }
.ct-closing__tel a { color: #fff; font-weight: bold; }

@media (min-width: 768px) {
  .ct-hero__title { font-size: 32px; }
  .ct-facts { grid-template-columns: repeat(4, 1fr); }
  .ct-message { grid-template-columns: 200px 1fr; align-items: start; }
  .ct-message__photo { width: 100%; height: auto; aspect-ratio: 1; }
}
