@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@300;400&family=Noto+Sans+JP:wght@400;500;700&family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
/* --------------------------------
求人LP 共通
※ カンプは横750px。common/_common.scss の html { font-size: min(100vw/75, 10px) } により
   カンプ1px = 0.1rem でそのまま起こせる。
----------------------------------- */
/* カンプのゴシックは Noto Sans JP（共通CSSの指定は Zen Kaku Gothic New のため上書き） */
body {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

#main {
  background-color: #fff;
  overflow: hidden;
  /* カンプと同じく約物を詰める */
  font-feature-settings: "palt" 1;
}

/* 共通リセット（ress）で a のアウトラインが消えているため、キーボード操作用に戻す */
a:focus-visible,
button:focus-visible {
  outline: 0.4rem solid #0c8260;
  outline-offset: 0.3rem;
}

/* LINE CTAボタン（FV下・ページ末尾・追従で共用） */
.c-cta {
  display: block;
  width: 64.5rem;
  margin-inline: auto;
}
.c-cta img {
  width: 100%;
}
@media (hover: hover) {
  .c-cta:hover {
    opacity: 0.85;
  }
}

/* 画面下に追従するLINEボタン。表示制御は asset/js/recruit.js */
.c-float-cta {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 500;
  width: 64.5rem;
  margin: 0 auto max(1rem, env(safe-area-inset-bottom));
  opacity: 0;
  visibility: hidden;
  transform: translateY(1rem);
  pointer-events: none;
  transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
}
.c-float-cta img {
  width: 100%;
}
.c-float-cta.is-show {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
  .c-float-cta {
    transition: none;
  }
}

/* 追従CTAの表示開始位置マーカー（見た目なし） */
.js-float-trigger {
  position: absolute;
  top: 92.1rem;
  left: 0;
  width: 1px;
  height: 1px;
}

/* 縦書き（キャッチ用） */
.c-vertical {
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho B1", serif;
  font-feature-settings: "pkna";
}

/* Webフォント版のしっぽり明朝には palt（プロポーショナル字形）が無く、
   読点・句点が全角のまま組まれてカンプより広くなる。
   カンプ（palt有効）に合わせ、読点を囲んでうしろを半角分詰める */
.u-palt {
  /* margin ではなく letter-spacing を使う。
     display:table の幅計算に負のマージンが反映されないため */
  letter-spacing: -0.5em;
}

/* --------------------------------
FV（fv@2x.webp 1枚 + LINEボタンを重ねる）
----------------------------------- */
.s-fv {
  position: relative;
  /* 画像下部の白地にボタンを重ねる（画像の下端から66px） */
}
.s-fv__visual {
  margin: 0;
  line-height: 0;
}
.s-fv__visual img {
  width: 100%;
}
.s-fv__cta {
  position: absolute;
  right: 0;
  bottom: 6.6rem;
  left: 0;
}

/* --------------------------------
悩み訴求
背景 trouble-bg.webp（750 x 3938）に、カンプと同じ位置でテキストを重ねる。
画像側に「でも、毎日の仕事に追われるうちに、」「☑」「点線」「そんなモヤモヤ〜」等が
焼き込まれているため、各テキストは絶対配置で画像に合わせる。
----------------------------------- */
.s-trouble {
  position: relative;
  height: 393.8rem;
  background: url("../../img/plan/trouble-bg.webp") no-repeat top center;
  background-size: 100% auto;
  /* 吹き出し（しっぽは背景画像側にある） */
  /* 写真に重なるため、1行ずつ白地を敷く。
     カンプ指定: しっぽり明朝 Medium / 36pt / 行送り50pt / トラッキング70。
     ただしWebフォント版にはpaltも行末のぶら下げも無く、指定どおりだと
     2行目が画面からはみ出して折り返す。カンプの実測（白地の幅670px /
     行の高さ66px）に合うよう、字送りをマイナスにして詰めている */
  /* チェックリスト（背景画像の☑と行位置を合わせる） */
}
.s-trouble__title, .s-trouble__lead, .s-trouble__note, .s-trouble__msg, .s-trouble__list, .s-trouble__bubble {
  position: absolute;
  margin: 0;
}
.s-trouble__title {
  top: 6.6rem;
  left: 0;
  width: 100%;
  font-family: "Shippori Mincho B1", serif;
  font-size: 5.2rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  color: #000;
}
.s-trouble__title-accent {
  color: #e0716f;
}
.s-trouble__lead {
  top: 26.6rem;
  left: 0;
  width: 100%;
  font-family: "Shippori Mincho B1", serif;
  font-size: 3.5rem;
  line-height: 1.65;
  text-align: center;
  color: #000;
}
.s-trouble__bubble {
  padding: 1.7rem 4.5rem;
  /* カンプは角丸12px・高さ79px。ピル型にしない */
  border-radius: 1.2rem;
  background-color: #fff;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #12976c;
}
.s-trouble__bubble--01 {
  top: 39.5rem;
  left: 19.8rem;
}
.s-trouble__bubble--02 {
  top: 49.6rem;
  left: 6.7rem;
}
.s-trouble__note {
  top: 77.9rem;
  left: 8rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.3888888889;
  letter-spacing: -0.05em;
  color: #000;
  /* 1行ずつ白地を敷く。中の .u-palt まで拾わないよう直下に限定する */
}
.s-trouble__note > span {
  display: table;
  padding: 0.8rem 2rem;
  background-color: #fff;
  /* 1行で組む（.u-palt の字送り調整で折り返し判定がずれるため明示） */
  white-space: nowrap;
}
.s-trouble__note > span + span {
  margin-top: 1.2rem;
}
.s-trouble__list {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  list-style: none;
}
.s-trouble__item {
  position: absolute;
  left: 7.8rem;
  width: 66rem;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.7;
  color: #000;
}
.s-trouble__item:nth-child(1) {
  top: 138.9rem;
}
.s-trouble__item:nth-child(2) {
  top: 153rem;
}
.s-trouble__item:nth-child(3) {
  top: 166.9rem;
}
.s-trouble__item:nth-child(4) {
  top: 180.6rem;
}
.s-trouble__item:nth-child(5) {
  top: 194.7rem;
}
.s-trouble__item:nth-child(6) {
  top: 209rem;
}
.s-trouble__mark {
  background-color: #fff;
  color: #5c9e90;
}
.s-trouble__msg {
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 3.2rem;
  line-height: 1.7;
  color: #000;
}
.s-trouble__msg--01 {
  top: 260.7rem;
}
.s-trouble__msg--02 {
  top: 280.4rem;
}
.s-trouble__msg--03 {
  top: 351.8rem;
}

/* --------------------------------
理念
背景 mission-bg.webp（750 x 3200）。白カード・写真・引用符は画像に焼き込み済みのため、
本文カードは同じ位置・同じ幅の白ボックスを重ねて文字量の増減に耐えられるようにする。
----------------------------------- */
.s-mission {
  position: relative;
  height: 320rem;
  background: url("../../img/plan/mission-bg.webp") no-repeat top center;
  background-size: 100% auto;
  /* 「患者様を」だけ白、それ以外は黄色（カンプ #fffb8d）。
     引用符は背景画像に焼き込まれているため、字送りでカンプの位置に合わせる */
  /* 白い縦帯は背景画像側。文字サイズ・位置は帯に合わせる */
}
.s-mission__card {
  position: absolute;
  top: 33.3rem;
  left: 3.1rem;
  width: 68.9rem;
  min-height: 168.8rem;
  padding: 2.6rem 2rem 3rem;
  background-color: #fff;
  font-size: 3rem;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #000;
}
.s-mission__card p + p {
  margin-top: 5rem;
}
.s-mission__card strong {
  font-weight: 700;
  color: #0c8260;
}
.s-mission__lead, .s-mission__catch {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 0;
  text-align: center;
  color: #fff;
}
.s-mission__lead {
  top: 213rem;
  font-size: 3rem;
  line-height: 1.8;
}
.s-mission__catch {
  top: 226.5rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 5.4rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.05em;
}
.s-mission__catch-accent {
  letter-spacing: 0.13em;
  color: #fffb8e;
}
.s-mission__vertical {
  position: absolute;
  margin: 0;
  padding: 2.4rem 1rem;
  writing-mode: vertical-rl;
  font-family: "Shippori Mincho B1", serif;
  font-size: 4.4rem;
  line-height: 1;
  letter-spacing: 0.08em;
  color: #0f1d38;
  /* 13文字あるため、帯の下端に収まるよう字送りを詰める */
}
.s-mission__vertical--01 {
  top: 247.5rem;
  right: 3.2rem;
  color: #19a278;
}
.s-mission__vertical--02 {
  top: 250.6rem;
  right: 12.1rem;
  letter-spacing: 0.03em;
}

/* --------------------------------
5つの魅力（背景 point-bg.webp の緑グラデーション上に白カードを並べる）
----------------------------------- */
.s-point {
  padding: 3.3rem 0 7rem;
  background: url("../../img/plan/point-bg.webp") no-repeat top center;
  background-size: 100% 100%;
  /* 背景は左から右へ明るくなるグラデーション（カンプのレイヤー効果） */
  /* 金額（例: 484万円）はカンプでは緑の太字 */
}
.s-point__title {
  width: 44.1rem;
  margin: 0 auto;
}
.s-point__list {
  margin: 6.7rem 0 0;
  padding: 0;
  list-style: none;
}
.s-point__item + .s-point__item {
  margin-top: 4.7rem;
}
.s-point__card {
  overflow: hidden;
  padding-bottom: 5rem;
  background-color: #fff;
}
.s-point__item--right .s-point__card {
  margin-left: 4rem;
  border-radius: 3rem 0 0 3rem;
}
.s-point__item--left .s-point__card {
  margin-right: 4rem;
  border-radius: 0 3rem 3rem 0;
}
.s-point__image {
  width: 100%;
}
.s-point__body {
  padding: 3.4rem 3rem 0 2rem;
}
.s-point__item--left .s-point__body {
  padding: 3.4rem 2rem 0 3rem;
}
.s-point__heading {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-size: 5.2rem;
  font-weight: 500;
  line-height: 1.15;
  color: #0c8260;
}
.s-point__band {
  display: table;
  margin: 1.6rem 0 0;
  padding: 0.6rem 1.4rem;
  background-color: #1ba17a;
  background-image: linear-gradient(90deg, #129a74 0%, #129a74 32%, #28b89b 100%);
  font-family: "Shippori Mincho B1", serif;
  font-size: 3.8rem;
  line-height: 1.13;
  color: #fff;
  /* カンプは1行ずつ独立した帯（行間に5pxの隙間） */
}
.s-point__band--multi {
  display: block;
  padding: 0;
  background: none;
  /* POINT05の帯だけカンプでは小さい */
  font-size: 3.4rem;
  line-height: 1.5;
}
.s-point__band--multi span {
  display: table;
  padding: 0.2rem 1.4rem;
  background-color: #1ba17a;
  background-image: linear-gradient(90deg, #129a74 0%, #129a74 32%, #28b89b 100%);
}
.s-point__band--multi span + span {
  margin-top: 0.5rem;
}
.s-point__text {
  margin: 4rem 0 0;
  font-size: 3rem;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #000;
}
.s-point__text strong {
  font-weight: 700;
  color: #0c8260;
}
.s-point__check, .s-point__dot {
  margin: 3rem 0 0;
  padding: 2.6rem 3rem;
  border-radius: 2rem;
  background-color: #d9efe5;
  list-style: none;
  font-size: 3rem;
  line-height: 1.5;
  color: #000;
}
.s-point__check li + li, .s-point__dot li + li {
  margin-top: 1.4rem;
}
.s-point__check li {
  padding-left: 3.6rem;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%230c8260' stroke-width='3' d='M3 12l6 6L21 5'/%3E%3C/svg%3E") no-repeat left 0.4rem top 0.6rem;
  background-size: 2.6rem 2.6rem;
}
.s-point__box {
  margin: 3rem 0 0;
  padding: 2.4rem 3rem 3rem;
  border-radius: 2rem;
  background-color: #d9efe5;
}
.s-point__box-title {
  margin: 0 0 1.6rem;
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  color: #0c8260;
}
.s-point__box .s-point__dot, .s-point__box .s-point__check {
  margin: 0;
  padding: 0;
  background: none;
}
.s-point__dot li {
  padding-left: 3rem;
  position: relative;
}
.s-point__dot li::before {
  content: "";
  position: absolute;
  top: 1.4rem;
  left: 0.4rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background-color: #0c8260;
}
.s-point__salary {
  margin: 0;
  font-size: 3rem;
  line-height: 1.6;
  color: #000;
}
.s-point__salary-row {
  position: relative;
  padding-left: 3rem;
}
.s-point__salary-row + .s-point__salary-row {
  margin-top: 2rem;
}
.s-point__salary-row::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  left: 0.4rem;
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background-color: #0c8260;
}
.s-point__salary-row dt {
  font-weight: 400;
}
.s-point__salary-row dd {
  margin: 0 0 0 2.4rem;
}
.s-point__salary-row strong {
  font-size: 4.5rem;
  font-weight: 700;
}
.s-point__salary-amount {
  font-weight: 700;
  color: #0c8260;
}

/* --------------------------------
1日の流れ
----------------------------------- */
/* 白い角丸ブロックの上端の位置（セクション上端から）と角丸の半径。
   ミントの帯はこの2つの合計まで伸ばす必要がある。
   足りないと角丸のカーブが途中で切られて左右に段差が出る */
.s-flow {
  /* ミントの帯にFLOWを載せ、白い角丸ブロックの角がミントの上に見える（カンプ） */
  padding-top: 2.7rem;
  background: linear-gradient(to bottom, #def2ea 0 21.2rem, #fff 21.2rem);
  /* 下マージンを負値にすると FLOW が白い箱に重なる（カンプはその状態） */
  /* 早番 / 遅番 */
  /* 時間のピルは白地に帯と同じ色の文字（カンプ） */
  /* 遅番（ピンク） */
}
.s-flow__head {
  position: relative;
  padding: 7rem 2.5rem 6rem;
  border-radius: 8.3rem 8.3rem 0 0;
  background-color: #fff;
  text-align: center;
}
.s-flow__en {
  position: relative;
  z-index: 1;
  margin: 0 0 1.7rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 8.5rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
  color: #139a72;
}
.s-flow__title {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-size: 7.3rem;
  font-weight: 500;
  line-height: 1.3;
  color: #000;
}
.s-flow__title-sub {
  display: table;
  margin: 0 auto 1.4rem;
  padding: 0.7rem 2.4rem;
  background-color: #1ba17a;
  background-image: linear-gradient(90deg, #129a74 0%, #129a74 32%, #28b89b 100%);
  /* カンプはこの帯だけゴシック体 */
  font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 3.5rem;
  color: #fff;
}
.s-flow__lead {
  margin: 3.6rem 0 0;
  font-size: 3rem;
  line-height: 1.85;
  letter-spacing: 0.06em;
  /* PSD のトラッキング60 */
  text-align: left;
  color: #000;
}
.s-flow__lead strong {
  font-weight: 700;
  color: #0c8260;
}
.s-flow__shift-title {
  margin: 0;
  padding: 1.2rem 2rem 1.8rem;
  background-color: #1ba17a;
  font-family: "Shippori Mincho B1", serif;
  font-size: 5rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-indent: 0.03em;
  /* letter-spacing の分だけ右に寄るのを戻す */
  text-align: center;
  color: #fff;
}
.s-flow__shift-time {
  display: table;
  margin: 1.2rem auto 0;
  padding: 0.3rem 2.7rem;
  border-radius: 999px;
  background-color: #fff;
  font-family: "Shippori Mincho B1", serif;
  font-size: 2.8rem;
  font-weight: 400;
  color: #1ba17a;
}
.s-flow__photo {
  width: 100%;
}
.s-flow__steps {
  position: relative;
  /* うっすらチェック柄。支給画像 bg01.webp（16px方眼・罫線 #f5f5f5・影付き）と
     同じ見た目をCSSで再現している。画像を敷くとカードの高さ(1708px)が
     画像の高さ(1580px)を超えて継ぎ目が出るため */
  width: 69rem;
  margin: -11.3rem auto 0;
  padding: 3rem 2.4rem 4rem;
  background-color: #fff;
  background-image: linear-gradient(#f5f5f5 1px, transparent 1px), linear-gradient(90deg, #f5f5f5 1px, transparent 1px);
  background-size: 1.6rem 1.6rem;
  /* 共通CSSが background-repeat: no-repeat を当てているので明示的に戻す */
  background-repeat: repeat;
  box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.06);
  list-style: none;
}
.s-flow__step + .s-flow__step {
  margin-top: 9rem;
  position: relative;
  /* 前のステップとの間の点（支給画像。5pxの点が5個・ピッチ10px）。
     90pxの間隔の中央に置く */
}
.s-flow__step + .s-flow__step::before {
  content: "";
  position: absolute;
  top: -6.7rem;
  left: 50%;
  width: 0.5rem;
  height: 4.5rem;
  transform: translateX(-50%);
  background: url("../../img/plan/dots@2x.webp") no-repeat center;
  background-size: 100% auto;
}
.s-flow__step-head {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin: 0 0 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #cfe5dc;
}
.s-flow__step-time {
  min-width: 22.6rem;
  padding: 0.4rem 1rem;
  background-color: #1ba17a;
  font-family: "Shippori Mincho B1", serif;
  font-size: 3.6rem;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
.s-flow__step-label {
  font-family: "Shippori Mincho B1", serif;
  font-size: 4rem;
  color: #1ba17a;
  /* 文字数の多い「施術・カルテ・症例相談」だけカンプの指定が違う
     （しっぽり明朝 Regular / 38pt / 行送り56pt / トラッキング60）。
     ただしWebフォント版のしっぽり明朝にはpalt（プロポーショナル字形）が無く、
     「・」が全角のままで1行に収まらないため、字送りはカンプの実測幅
     （386px）に合わせて詰めている */
}
.s-flow__step-label--long {
  font-size: 3.8rem;
  line-height: 1.4736842105;
  letter-spacing: -0.055em;
}
.s-flow__step-text {
  margin: 1.4rem 0 0;
  font-size: 3.1rem;
  line-height: 1.68;
  color: #000;
}
.s-flow__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.2rem 1.6rem;
  margin: 1.6rem 0;
  padding: 0;
  list-style: none;
}
.s-flow__tags li {
  padding: 0.4rem 1.6rem;
  background-color: #dcefe9;
  font-size: 2.8rem;
  line-height: 1.5;
  color: #000;
}
.s-flow__times {
  margin: 3rem 0;
  font-size: 3.6rem;
}
.s-flow__times-row {
  display: flex;
  align-items: center;
  gap: 2rem;
}
.s-flow__times-row + .s-flow__times-row {
  margin-top: 1rem;
}
.s-flow__times-row dt {
  min-width: 22.6rem;
  padding: 0.4rem 1rem;
  background-color: #e77477;
  font-family: "Shippori Mincho B1", serif;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
.s-flow__times-row dd {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-size: 4rem;
  color: #e77477;
}
.s-flow__shift--late .s-flow__shift-title {
  background-color: #e77477;
}
.s-flow__shift--late .s-flow__shift-time {
  color: #e77477;
}
.s-flow__shift--late {
  margin-top: 9rem;
}

/* --------------------------------
スタッフの声
----------------------------------- */
.s-voice {
  padding: 7rem 0 9rem;
  background: linear-gradient(180deg, #f2faec 0%, #daf4d7 45%, #eef8e8 100%);
  /* カンプのドロップシャドウ: 乗算 黒9% / 角度120° / 距離11px / サイズ9px */
  /* プロフィール側はカンプに合わせて中央ぞろえ */
  /* 写真はカード上端より少し上に出して、カンプと同じ収まりにする */
  /* 本文はACF（WYSIWYG）出力。pタグが自動で付く前提 */
}
.s-voice__title {
  margin: 0 0 6rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 6.8rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  color: #0c8260;
}
.s-voice__title-sub {
  position: relative;
  display: table;
  margin: 0 auto 1.6rem;
  padding: 0.6rem 3rem;
  border-radius: 999px;
  background-color: #fff;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "Noto Sans JP", "Source Han Sans JP", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 3rem;
  font-weight: 500;
  color: #0c8260;
  /* カンプの吹き出しのしっぽ */
}
.s-voice__title-sub::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 2.1rem 1.6rem 0;
  border-color: #fff transparent transparent;
}
.s-voice__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.s-voice__item + .s-voice__item {
  margin-top: 7rem;
}
.s-voice__card {
  padding: 2rem 3rem 4.4rem;
  background-color: #fff;
  box-shadow: 0.55rem 0.95rem 0.9rem rgba(0, 0, 0, 0.09);
}
.s-voice__item--right .s-voice__card {
  margin-left: 4rem;
  border-radius: 3rem 0 0 3rem;
}
.s-voice__item--left .s-voice__card {
  margin-right: 4rem;
  border-radius: 0 3rem 3rem 0;
}
.s-voice__head {
  display: flex;
  align-items: flex-start;
  gap: 4rem;
}
.s-voice__profile {
  flex: 1 1 auto;
  text-align: center;
}
.s-voice__label {
  margin: 0 0 2.4rem;
}
.s-voice__label img {
  width: 18rem;
  height: auto;
  margin-inline: auto;
}
.s-voice__item--left .s-voice__label img {
  width: 19.8rem;
}
.s-voice__name {
  margin: 0;
  font-family: "Shippori Mincho B1", serif;
  font-size: 4.4rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #000;
}
.s-voice__job {
  display: table;
  margin: 2rem auto 0;
  padding: 0.2rem 1.9rem;
  background-color: #1ba17a;
  font-family: "Shippori Mincho B1", serif;
  font-size: 3.4rem;
  line-height: 1.18;
  letter-spacing: 0.1em;
  color: #fff;
}
.s-voice__year {
  margin: 2rem 0 0;
  font-size: 3rem;
  font-weight: 700;
  color: #1ba17a;
}
.s-voice__photo {
  flex: 0 0 auto;
  width: 37rem;
  margin-top: -5.5rem;
  border-radius: 1.6rem;
}
.s-voice__body {
  font-size: 3rem;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #000;
}
.s-voice__body p {
  margin: 2.6rem 0 0;
}
.s-voice__body strong {
  font-weight: 700;
  color: #1ba17a;
}

/* --------------------------------
インタビュー動画（yt-lite＝クリックで初めてiframeを挿入する軽量埋め込み）
----------------------------------- */
.s-movie {
  padding: 6rem 3rem 8rem;
  background-color: #eef8e6;
  /* 「＼文字だけでは伝えきれない／」は飾り罫込みの画像 */
  /* interview.01〜03 はカンプでは丸ゴシック（Zen Maru Gothic） */
  /* yt-lite（page-d/_sec08.scss と同等。このページ専用CSSにも持たせる） */
}
.s-movie__title {
  margin: 0 0 4rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 4.5rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  color: #000;
}
.s-movie__title-sub {
  display: block;
  width: 44.8rem;
  margin: 0 auto 1rem;
}
.s-movie__title-band {
  display: table;
  margin: 0 auto 1rem;
  padding: 0.4rem 2.4rem;
  background-color: #1ba17a;
  font-family: "Zen Kaku Gothic New", "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "Noto Sans JP", "Source Han Sans JP", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  font-size: 3rem;
  font-weight: 500;
  color: #fff;
}
.s-movie__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.s-movie__item + .s-movie__item {
  margin-top: 5rem;
}
.s-movie__label {
  display: table;
  margin: 0 auto 1.8rem;
  padding: 0.1rem 1.8rem;
  border-radius: 999px;
  background-color: #28b19d;
  font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Noto Sans JP", sans-serif;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
}
.s-movie .yt-lite {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  background: #000 center/cover no-repeat;
  cursor: pointer;
}
.s-movie .yt-lite::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--thumb);
  background-size: cover;
  background-position: center;
}
.s-movie .yt-lite iframe {
  position: relative;
  width: 100%;
  height: 100%;
  border: 0;
}
.s-movie .yt-play {
  position: absolute;
  inset: 0;
  width: 9.6rem;
  height: 6.8rem;
  margin: auto;
  padding: 0;
  border: 0;
  border-radius: 1.6rem;
  background: rgba(0, 0, 0, 0.6);
  cursor: pointer;
}
.s-movie .yt-play::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 1.4rem 0 1.4rem 2.4rem;
  border-color: transparent transparent transparent #fff;
}
.s-movie .yt-play:focus-visible {
  outline: 0.4rem solid #fff;
  outline-offset: 0.4rem;
}

/* --------------------------------
募集要項
----------------------------------- */
.s-requirement {
  padding: 7rem 0 8rem;
  background-color: #fff;
}
.s-requirement__title {
  margin: 0 0 4rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 5.4rem;
  font-weight: 500;
  text-align: center;
  color: #000;
}
.s-requirement__list {
  margin: 0 3rem;
  background-color: #f6f6f6;
  font-size: 3rem;
  line-height: 1.7;
  color: #000;
}
.s-requirement__list dt {
  padding: 0.5rem 2rem;
  background-color: #0c8260;
  font-weight: 500;
  color: #fff;
}
.s-requirement__list dd {
  margin: 0;
  padding: 1.6rem 2rem 2.4rem;
}
.s-requirement__list dd p + p {
  margin-top: 2.6rem;
}
.s-requirement__salary {
  margin: 2.6rem 1.5rem 0;
  /* 罫線は「入社◯年目」の下だけ（カンプ） */
}
.s-requirement__salary dt {
  padding: 0 0 0.6rem;
  border-bottom: 1px solid #000;
  background-color: transparent;
  color: #000;
}
.s-requirement__salary dd {
  margin: 0;
  padding: 1rem 0 0;
}
.s-requirement__salary dt + dt,
.s-requirement__salary dd + dt {
  margin-top: 2.6rem;
}

/* --------------------------------
店舗情報
----------------------------------- */
.s-info {
  padding: 8rem 3rem 9rem;
  /* 支給の背景画像。足りない分は下端の色で埋める */
  background: url("../../img/plan/bg02.webp") no-repeat top center #fcf7f1;
  background-size: 100% auto;
  /* 上だけ角丸12px（カンプのレイヤー設定） */
}
.s-info__title {
  margin: 0;
  padding-bottom: 2rem;
  border-bottom: 1px solid #b9b9b9;
  font-family: "Shippori Mincho B1", serif;
  font-size: 4.6rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  color: #000;
}
.s-info__title-sub {
  display: block;
  font-size: 3.2rem;
}
.s-info__lead {
  margin: 3.4rem 0 0;
  font-size: 3rem;
  line-height: 1.85;
  text-align: center;
  color: #000;
}
.s-info__en {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin: 6rem 0 3rem;
  /* カンプは Futura PT。Adobe Fonts が無い環境は Jost* で代替 */
  font-family: "futura-pt", "Jost", "Century Gothic", "Questrial", "Trebuchet MS", sans-serif;
  font-size: 3.4rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: #1abda0;
}
.s-info__en::before, .s-info__en::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background-color: #1abda0;
}
.s-info__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.s-info__shop + .s-info__shop {
  margin-top: 5rem;
}
.s-info__name {
  margin: 0 0 2rem;
  padding: 0.9rem 2rem;
  border-radius: 1.2rem 1.2rem 0 0;
  background-color: #28b19d;
  font-size: 2.9rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-align: center;
  color: #fff;
}
.s-info__photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.s-info__photos img {
  width: 100%;
  aspect-ratio: 345/201;
  object-fit: cover;
}
.s-info__map {
  margin-top: 2.2rem;
  aspect-ratio: 700/380;
}
.s-info__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.s-info__address {
  margin: 2rem 0 0;
  font-size: 3rem;
  font-style: normal;
  line-height: 1.7;
  color: #000;
}

/* --------------------------------
院内見学のご案内
----------------------------------- */
.s-visit {
  /* 「まずは」の丸が前セクションに重なるので、負マージンを外に逃がさない */
  display: flow-root;
  position: relative;
  padding: 0 3rem 8rem;
  background: url("../../img/plan/visit-bg@2x.webp") no-repeat top center #fcf7f1;
  background-size: 100% auto;
  /* 背景画像の斜め線より上（左上の三角形）は白で塗られているため、
     前セクションと同じ色をかぶせる。斜線は 左端64px → 右端0px の直線 */
  /* 「まずは」は正円。上端がセクションの外（前の背景）に出る */
}
.s-visit::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6.4rem;
  background-color: #fcf7f1;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
.s-visit__title {
  position: relative;
  z-index: 1;
  margin: -3.5rem 0 4rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 4.6rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  color: #000;
}
.s-visit__title-sub {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.8rem;
  height: 13.8rem;
  margin: 0 auto 3.3rem;
  border-radius: 50%;
  background-color: #fff;
  font-size: 4rem;
  line-height: 1;
}
.s-visit__card {
  padding: 3.4rem 2.6rem 4rem;
  background-color: #fff;
  font-size: 3rem;
  line-height: 1.75;
  color: #000;
}
.s-visit__card p + p {
  margin-top: 4rem;
}

/* --------------------------------
ラストCTA
----------------------------------- */
.s-lastcta {
  padding: 6rem 0 7rem;
  background-color: #fff;
  /* 帯は写真の上端より少し上から始まり、文字は帯の上端近くから始まる（カンプ） */
}
.s-lastcta__visual {
  position: relative;
  width: 69rem;
  margin: 0 auto;
}
.s-lastcta__visual img {
  width: 100%;
}
.s-lastcta__vertical {
  position: absolute;
  margin: 0;
  padding: 1.6rem 1rem;
  background-color: #2bb193;
  writing-mode: vertical-rl;
  white-space: nowrap;
  font-family: "Shippori Mincho B1", serif;
  font-size: 4rem;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
}
.s-lastcta__vertical--01 {
  top: -3.8rem;
  right: 3.8rem;
}
.s-lastcta__vertical--02 {
  top: 4.7rem;
  right: 10.9rem;
}
.s-lastcta__catch {
  margin: 5rem 0 3.6rem;
  font-family: "Shippori Mincho B1", serif;
  font-size: 4.4rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  color: #000;
}
.s-lastcta__marker {
  background: linear-gradient(transparent 60%, #fffb8e 60%);
}
