@charset "UTF-8";

#container {
  padding-top: 80px;
  padding-bottom: 100px;
}

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

  スクロールフェードイン（下からふわっと）

==================================================================*/
.fadein {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}
.fadein.is-visible {
  opacity: 1;
  transform: translateY(0);
}
/* 印刷時はフェードイン前の要素も表示する */
@media print {
  .fadein {
    opacity: 1 !important;
    transform: none !important;
  }
}

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

  メインビジュアル

==================================================================*/
.top_mainvisual {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

/* 背景（青空イラスト） */
.mv_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.mv_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* 無限ループスライド */
.mv_loop_slider {
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  height: 711px;
  z-index: 2;
  overflow: hidden;
}
.mv_loop_track {
  display: flex;
  width: max-content;
  height: 711px;
  will-change: transform;
  animation: mvLoopScroll 40s linear infinite;
}
.mv_loop_track img {
  display: block;
  flex-shrink: 0;
  height: 711px;
  width: auto;
}
@keyframes mvLoopScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* 前景レイヤー（バナー＋キャッチコピー） */
.mv_foreground {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  pointer-events: none;
}
.mv_foreground_inner {
  position: relative;
  width: 1300px;
  height: 100%;
  margin: 0 auto;
}

/* 新卒積極採用中バナー */
.mv_btn {
  position: absolute;
  left: 0;
  top: 530px;
  pointer-events: auto;
}
/* キャッチコピー */
.mv_catch {
  position: absolute;
  top: 668px;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
}
.mv_catch img {
  height: auto;
}

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

  当院で働く3つの魅力 .sec_feature

==================================================================*/
.sec_feature {
  position: relative;
}

/* --- H2タイトル部分 --- */
.sec_feature_header {
  position: relative;
  width: 100%;
  margin-top: -25px;
  overflow: visible;
  z-index: 5;
}

/* 背景（人物含む幅100%画像） */
.sec_feature_header_bg {
  width: 100%;
  height: 405px;
}
.sec_feature_header_bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* タイトル画像の配置 */
.sec_feature_header_inner {
  position: absolute;
  top: -40px;
  left: -42px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec_feature_tit {
  text-align: center;
}
.sec_feature_tit img {
  height: auto;
}

/* --- feature各ブロック共通（背景幅100%） --- */
.feature_block {
  position: relative;
  width: 100%;
  padding: 80px 0 100px;
}

/* 白い半透明ボックス */
.feature_bg_box {
  position: relative;
  border: 3px solid #fff;
  border-radius: 30px;
  background-color: rgba(255, 255, 255, 0.6);
  max-width: 1620px;
  margin: 0 auto;
  padding: 50px calc((100% - 1280px) / 4) 77px;
}

/* 装飾（葉・木）— 白ボックスより前、コンテンツより後ろ */
.feature_deco {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}
.feature_deco img {
  display: block;
}
.feature_deco_right {
  top: 0;
  right: 0;
}
.feature_deco_left {
  bottom: 0;
  left: 0;
}

/* Feature03 装飾（個別調整用） */
.feature03 .feature_deco_right {
  top: auto;
  right: 0;
  bottom: 0;
}
.feature03 .feature_deco_left {
  bottom: 0;
  left: 0;
}

.feature_content_wrap {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}

/* feature01 背景 */
.feature01 {
  background: url(../images/feature_01_bg.jpg) no-repeat center center / cover;
}

/* feature01 右上の男性写真 */
.feature01_right_img {
  position: absolute;
  right: -70px;
  top: -12px;
  z-index: 5;
}

/* ========== H3タイトルエリア ========== */
.feature_h3_area {
  display: flex;
  align-items: flex-start;
  gap: 34px;
  margin-top: -65px;
  margin-bottom: 27px;
}

.feature_number {
  flex-shrink: 0;
}

.feature_h3_text {
  padding-top: 57px;
}

.feature_h3 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 42px;
  font-weight: bold;
  line-height: 1.3;
  text-shadow:
    -2px -2px 0 #fff,
     2px -2px 0 #fff,
    -2px  2px 0 #fff,
     2px  2px 0 #fff,
     0   -2px 0 #fff,
     0    2px 0 #fff,
    -2px  0   0 #fff,
     2px  0   0 #fff;
  margin-bottom: 5px;
}
.feature01_h3 {
  color: #222;
  letter-spacing: 0.075em;
}
.feature_h3_accent {
  color: #1eaf51;
}

.feature_h3_line {
  display: block;
  height: auto;
  padding-top: 8px;
}
/* ========== H4タイトルエリア ========== */
.feature_h4_area {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 32px;
  margin-bottom: 29px;
  left: -21px;
}

.feature_h4_icon {
  flex-shrink: 0;
  margin-top: 3px;
}

.feature_h4_text_group {
  flex: 1;
  min-width: 0;
}

.feature_h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: bold;
  color: rgb(123, 71, 15);
  line-height: 1.3;
  margin-bottom: 14px;
  padding-top: 11px;
  letter-spacing: 0.075em;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff, 0 -2px 0 #fff, 0 2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
}

.feature_h4_sub {
  font-size: 20px;
  font-weight: bold;
  color: rgb(123, 71, 15);
  letter-spacing: 0.075em;
}

.feature_h4_line {
  position: relative;
  display: block;
  height: auto;
  left: -27px;
}

/* ========== サブセクション ========== */
.feature_sub {
  margin-bottom: 61px;
}
.feature_sub:last-child {
  margin-bottom: 0;
}

/* ========== 2カラムレイアウト ========== */
.feature_2col {
  display: flex;
  align-items: flex-start;
  gap: 7px;
}

.feature_2col_img {
  position: relative;
  flex-shrink: 0;
  left: -70px;
  margin-right: -70px;
  padding-top: 66px;
}
.feature_2col_img img {
  width: 100%;
  height: auto;
}

.feature_2col_text {
  flex: 1;
  min-width: 0;
}

/* 左右反転レイアウト */
.feature_2col.is_reverse {
  flex-direction: row;
}
.feature_2col.is_reverse .feature_2col_text {
  order: 1;
  z-index: 3;
}
.feature_2col.is_reverse .feature_2col_img {
  order: 2;
  margin-left: -70px;
  left: -40px;
  top: 39px;
}
.feature_sub_reverse .feature_h4_area {
  left: 0;
}

/* 人物が吹き出しに被るスタイル */
.feature_2col_img.is_overlap {
  position: relative;
  z-index: 2;
  margin-left: -40px;
}

/* ========== 吹き出し ========== */
.feature_balloon {
  position: relative;
  border: 2px solid #cae7f1;
  border-radius: 10px;
  padding: 17px 28px;
  background: #fff;
  margin-bottom: 17px;
}
.feature_balloon:last-child {
  margin-bottom: 0;
}

/* 吹き出し三角（左向き） */
.feature_balloon::before, .feature_balloon::after {
  content: "";
  position: absolute;
  top: 41px;
}
.feature_balloon::before {
  left: -14px;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 14px solid #cae7f1;
}
.feature_balloon::after {
  left: -11px;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 14px solid #fff;
}

/* 反転時：三角を右向きに */
.is_reverse .feature_balloon::before {
  left: auto;
  right: -14px;
  border-right: none;
  border-left: 14px solid #cae7f1;
}
.is_reverse .feature_balloon::after {
  left: auto;
  right: -11px;
  border-right: none;
  border-left: 14px solid #fff;
}

/* 各色の吹き出し */
.balloon_blue {
  border-color: #cae7f1;
}
.balloon_blue::before {
  border-right-color: #cae7f1;
}
.is_reverse .balloon_blue::before {
  border-right-color: transparent;
  border-left-color: #cae7f1;
}

.balloon_green {
  border-color: #d4ebc8;
}
.balloon_green::before {
  border-right-color: #d4ebc8;
}
.is_reverse .balloon_green::before {
  border-right-color: transparent;
  border-left-color: #d4ebc8;
}

.balloon_orange {
  border-color: #f0dfd2;
}
.balloon_orange::before {
  border-right-color: #f0dfd2;
}
.is_reverse .balloon_orange::before {
  border-right-color: transparent;
  border-left-color: #f0dfd2;
}

/* 吹き出し内テキスト */
.feature_balloon_tit {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 9px;
  letter-spacing: 0.075em;
}
.feature_balloon_tit.color_blue {
  color: #0288dd !important;
}
.feature_balloon_tit.color_green {
  color: rgb(53, 174, 25) !important;
}
.feature_balloon_tit.color_orange {
  color: rgb(223, 103, 31) !important;
}

.feature_balloon_txt {
  font-size: 17px;
  font-family: "HiraKakuPro", "Hiragino Kaku Gothic ProN", sans-serif;
  color: #222;
  line-height: 1.6;
  margin-bottom: 0;
  letter-spacing: 0.04em;
}

/* feature02 背景（後で差し替え） */
.feature02 {
  background: url(../images/feature_02_bg.jpg) no-repeat center center / cover;
}
.feature02 .feature_bg_box {
  padding: 50px calc((100% - 1280px) / 4) 112px;
}
/* feature02 右上の写真 */
.feature02_right_img {
  position: absolute;
  right: -120px;
  top: -53px;
  z-index: 5;
}

/* feature02 H3 */
.feature02_h3 {
  color: #222;
  letter-spacing: 0.075em;
}

/* feature02 2カラム画像の位置調整 */
.feature02 .feature_2col_img {
  left: -21px;
  margin-right: 0;
  padding-top: 38px;
}
.feature02 .feature_2col.is_reverse .feature_2col_img {
  margin-left: -138px;
  left: 23px;
  top: -26px;
}
.feature02 .feature_sub_normal {
  margin-bottom: 61px;
}
.feature02 .feature_sub_reverse {
  margin-bottom: 33px;
}

/* feature02特有：学ぶ・成長・評価 */
.feature02_under {
  position: relative;
  text-align: center;
  margin-top: 0px;
  padding: 0 20px;
}

.feature02_under_img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.feature02_under_img img {
  display: block;
}
.feature02_under_img_left {
  left: -70px;
  top: 115px;
}
.feature02_under_img_right {
  right: -100px;
  top: 104px;
}

.feature02_under_top_deco {
  display: block;
  margin: 0 auto 18px;
  height: auto;
}

.feature02_under_tit_row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

.feature02_under_dot {
  width: 332px;
  flex-shrink: 0;
  overflow: hidden;
}
.feature02_under_dot img {
  display: block;
  width: 100%;
  height: auto;
}

.feature02_under_tit {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: bold;
  color: rgb(123, 71, 15);
  line-height: 1.4;
  white-space: nowrap;
  letter-spacing: 0.075em;
}

.feature02_under_accent {
  color: #f07614;
}
.feature02_under_sub {
  display: block;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  font-weight: bold;
  color: #333;
  background: linear-gradient(transparent 40%, #ffe970 40%);
  display: inline-block;
  padding: 0 59px;
  margin-top: 15px;
  letter-spacing: 0.075em;
}
/*==================================================================

  feature03 データでわかる！

==================================================================*/
/* feature03 背景 */
.feature03 {
  background: url(../images/feature_03_bg.jpg) no-repeat center center / cover;
}
.feature03 .feature_bg_box {
  padding: 50px calc((100% - 1280px) / 4) 77px;
}

/* feature03 人物写真 */
.feature03_left_img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.feature03_right_img {
  position: absolute;
  right: -272px;
  top: -29px;
  z-index: 5;
}

/* feature03 H3（中央揃え・縦並び、番号はボックス上にはみ出す） */
.feature03_h3_area {
  text-align: center;
  margin-top: -62px;
  margin-bottom: 64px;
}
.feature03_h3_area .feature_number {
  margin-bottom: 23px;
}
.feature03_h3 {
  color: #222;
  text-align: center;
  letter-spacing: 0.075em;
}
.feature03_pink {
  color: #e7657d;
}
.feature03_orange {
  color: #f5832f;
}

/* ========== データグリッド ========== */
.feature03_data_row {
  display: flex;
  gap: 70px;
  margin-bottom: 47px;
}
.feature03_data_col {
  flex: 1;
  text-align: center;
}

/* ラベル（ピル型） */
.feature03_label {
  display: block;
  padding: 2px 20px;
  border-radius: 30px;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
  letter-spacing: 0.075em;
}
.label_orange { background: #f47d24; }
.label_yellow { background: #eda712; }
.label_pink { background: #e7657d; }

/* グラフ画像 */
.feature03_graph {
  margin-bottom: 10px;
}
.feature03_graph img {
  max-width: 100%;
  height: auto;
}
.feature03_graph_desc {
  font-size: 16px;
  font-family: "HiraKakuPro", "Hiragino Kaku Gothic ProN", sans-serif;
  color: #222;
  line-height: 2;
  text-align: left;
  padding-top: 7px;
  letter-spacing: 0.05em;
}

/* ========== 数値エリア ========== */
.feature03_num_area {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 42px 0 0;
}
.feature03_num_deco {
  height: auto;
  flex-shrink: 0;
}
.feature03_big_num {
  font-family: "Oswald", sans-serif;
  font-size: 70px;
  font-weight: 500;
  line-height: 1;
  display: flex;
  align-items: baseline;
}
.num_pink { color: #e7657d; }
.num_orange { color: #f47d24; }
.num_yellow { color: #eda712; }

.feature03_unit {
  font-size: 36px;
  font-weight: 400;
}
.feature03_unit_ja {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #772d3b;
  margin-left: 4px;
}
.feature03_prefix {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: inherit;
  margin-right: 4px;
}

/* 数値の説明テキスト */
.feature03_num_desc {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: bold;
  color: #5c2f1e;
  line-height: 1.889;
  text-align: center;
  padding-top: 33px;
}
.feature03_marker {
  background: linear-gradient(transparent 30%, #ffe970 30%);
}
.feature03_num_sub {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #5c2f1e;
  line-height: 1.5;
  text-align: center;
  padding-top: 22px;
  letter-spacing: 0;
}

/* ========== 福利厚生一覧 ========== */
.feature03_welfare {
  position: relative;
  margin-top: 61px;
}

/* 福利厚生 タイトル */
.feature03_welfare_header {
  text-align: center;
  margin-bottom: 39px;
}
.feature03_welfare_icon {
  display: block;
  margin: 0 auto 10px;
}
.feature03_welfare_tit {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 42px;
  font-weight: bold;
  color: #222;
  letter-spacing: 0.075em;
}
.feature03_welfare_accent {
  color: #f5832f;
}
.feature03_welfare_line {
  display: block;
  margin: 0px auto 0;
  height: auto;
}

/* 福利厚生 人物写真（タイトル横） */
.feature03_human {
  position: absolute;
  z-index: 5;
}
.feature03_human img {
  display: block;
}
.feature03_human_left {
  left: 180px;
  top: -50px;
  z-index: -1;
}
.feature03_human_right {
  right: 93px;
  top: -70px;
  z-index: -1;
}

/* 福利厚生 バナー上段（3列） */
.feature03_welfare_top {
  position: relative;
  display: flex;
  gap: 20px;
  margin-bottom: 32px;
  z-index: 3;
}
.feature03_welfare_top img {
  flex: 1;
  width: 0;
  height: auto;
}

/* 福利厚生 バナー下段（5列） */
.feature03_welfare_bottom {
  display: flex;
  gap: 15px;
  justify-content: center;
}
.feature03_welfare_bottom img {
  flex: 1;
  width: 0;
  height: auto;
}

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

  2026年秋 院内アップデート .sec_update

==================================================================*/
.sec_update {
  background: url(../images/update_bg.jpg) no-repeat center center / cover;
  padding: 56px 0 108px;
}

.update_inner {
  margin: 0 auto;
}

/* 白3px縁取り共通 */
.update_outline {
  text-shadow:
    -3px -3px 0 #fff,
     3px -3px 0 #fff,
    -3px  3px 0 #fff,
     3px  3px 0 #fff,
     0   -3px 0 #fff,
     0    3px 0 #fff,
    -3px  0   0 #fff,
     3px  0   0 #fff;
}

/* タイトル */
.update_header {
  text-align: center;
  margin-bottom: 59px;
}
.update_icon {
  display: block;
  margin: 0 auto 10px;
}
.update_tit {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 42px;
  font-weight: bold;
  color: #222;
  letter-spacing: 0.075em;
  text-shadow:
    -3px -3px 0 #fff,
     3px -3px 0 #fff,
    -3px  3px 0 #fff,
     3px  3px 0 #fff,
     0   -3px 0 #fff,
     0    3px 0 #fff,
    -3px  0   0 #fff,
     3px  0   0 #fff;
}
.update_accent {
  color: #3dae3b;
}
.update_tit_line {
  display: block;
  margin: 0px auto 0;
  height: auto;
}

/* 2カラム */
.update_2col {
  display: flex;
  gap: 40px;
  width: calc(100% - 200px);
  min-width: 1280px;
  margin: 0 auto;
}
.update_col {
  flex: 1;
  text-align: center;
}
.update_img {
  margin-bottom: 37px;
}
.update_img img {
  height: auto;
}

/* サブテキスト */
.update_sub {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #5c2f1e;
  line-height: 1.1;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 23px;
  text-shadow: -3px -3px 0 #fff,
 3px -3px 0 #fff,
-3px  3px 0 #fff,
 3px  3px 0 #fff,
 0   -3px 0 #fff,
 0    3px 0 #fff,
-3px  0   0 #fff,
 3px  0   0 #fff;
}

/* 施設名 */
.update_name {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 33px;
  font-weight: bold;
  /* color: #3b8f21; */
  color:#e57419;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-shadow: -3px -3px 0 #fff,
   3px -3px 0 #fff,
  -3px  3px 0 #fff,
   3px  3px 0 #fff,
   0   -3px 0 #fff,
   0    3px 0 #fff,
  -3px  0   0 #fff,
   3px  0   0 #fff;
}
.update_line_l,
.update_line_r {
  flex-shrink: 0;
  height: auto;
}

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

  お問い合わせ（医院見学） .sec_contact

==================================================================*/
.sec_contact {
  background: url(../images/contact_bg.jpg) no-repeat center center / cover;
  padding: 78px 0 65px;
}

.contact_inner {
  display: flex;
  justify-content: flex-end;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
}

.contact_box {
  position: relative;
  width: 644px;
  border: 3px solid #fff;
  border-radius: 30px;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 36px 50px 45px;
  text-align: center;
}

/* 医院見学OK */
.contact_sub_img {
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
}

/* タイトル */
.contact_tit {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: bold;
  color: #0d6bb4;
  letter-spacing: 0.075em;
  margin-top: 15px;
  text-shadow:
    -3px -3px 0 #fff,
     3px -3px 0 #fff,
    -3px  3px 0 #fff,
     3px  3px 0 #fff,
     0   -3px 0 #fff,
     0    3px 0 #fff,
    -3px  0   0 #fff,
     3px  0   0 #fff;
}
.contact_tit_line {
  display: block;
  margin: 0px auto 0;
  height: auto;
}

/* 説明文 */
.contact_desc {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: bold;
  color: #333;
  line-height: 1.889;
  text-align: center;
  margin-top: 15px;
  letter-spacing: 0.1em;
}

/* ボタン */
.contact_btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background: #08b6de;
  border: 3px solid #fff;
  border-radius: 50px;
  padding: 15px 40px;
  margin-top: 17px;
  text-decoration: none;
  letter-spacing: 0.075em;
  width: 93%;
  justify-content: center;
}
.contact_btn.line{
  background: rgb(65 198 119);
}
.contact_btn:hover {
  color: #fff;
}
.contact_btn_arrow {
  height: auto;
  transition: transform 0.3s ease;
}
.contact_btn:hover .contact_btn_arrow {
  transform: translateX(5px);
}
/* リンク先準備中（クリック不可） （リンク先#の場合）*/
.contact_box a.contact_btn[href="#"]{
  pointer-events: none;
  position:relative;
}
.contact_box a.contact_btn[href="#"]:before{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 50px;
  content: "準備中";        
}

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

  写真スライダー .sec_slide

==================================================================*/
.sec_slide {
  padding: 48px 0 23px;
  overflow: hidden;
}
.slide_wrap .slick-slide {
  margin: 0 7.5px;
}
.slide_wrap .slick-list {
  margin: 0 -7.5px;
}
.slide_wrap .slick-slide img {
  display: block;
  height: 300px;
  width: auto;
}

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

  働くスタッフの声・院長メッセージ .sec_message

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

/* --- 写真スライダー2 --- */
.sec_slide02 {
  padding-top: 20px;
  padding-bottom: 20px;
}

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

  1日の流れ・設備のご紹介 .sec_day

==================================================================*/
.sec_day {
  position: relative;
  padding-top: 31px;
}
.sec_day_body {
  background: url(../images/day_bg.jpg) no-repeat center top / cover;
}
.sec_day_header {
  position: relative;
  width: 100%;
  overflow: visible;
  z-index: 5;
}
.sec_day_header_bg {
  width: 100%;
  height: 412px;
}
.sec_day_header_bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.sec_day_header_inner {
  position: absolute;
  top: 21px;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec_day_tit {
  text-align: center;
}
.sec_day_tit img {
  height: auto;
}

/* --- 1日の流れ --- */
.day_flow {
  position: relative;
  padding: 90px 0 45px;
}
.day_flow_inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
}
.day_flow_top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 30px;
}
.day_flow_bottom {
  display: flex;
  justify-content: center;
  gap: 40px;
}
.day_flow_card {
  background: rgba(255, 255, 255, 0.702);
  border-radius: 10px;
  overflow: hidden;
}
.day_flow_top .day_flow_card {
  width: 400px;
}
.day_flow_bottom .day_flow_card {
  width: 530px;
}
.day_flow_card_img {
  width: 100%;
}
.day_flow_card_img img {
  width: 100%;
  height: auto;
  display: block;
}
.day_flow_card_text {
  padding: 21px 28px 28px;
}
.day_flow_top .day_flow_card_text {
  height: 220px;
}
.day_flow_card_head {
  display: flex;
  align-items: baseline;
  gap: 12px;
  justify-content: center;
  height: 50px;
}
.day_flow_card_time {
  font-family: 'Oswald', sans-serif;
  font-size: 22px;
  color: #0d98d5;
  font-weight: 500;
  line-height: 1;
}
.day_flow_card_tit {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 21px;
  color: #222;
  font-weight: 700;
  line-height: 1.5;
}
.day_flow_card02 .day_flow_card_tit,
.day_flow_card03 .day_flow_card_tit,
.day_flow_card04 .day_flow_card_tit,
.day_flow_card05 .day_flow_card_tit {
  font-size: 26px;
  line-height: 1.538;
}
.day_flow_card_desc {
    font-size: 17px;
    font-family: "hiragino-kaku-gothic-pron", sans-serif;
    font-weight: 300;
    font-style: normal;
    color: #222;
    line-height: 1.765;
    letter-spacing: 0.025em;
}

/* --- スタッフの働きやすさを支える最新設備紹介 --- */
.day_facility {
  position: relative;
  padding: 30px 0 120px;
}
.day_facility_inner {
  max-width: 1620px;
  min-width: 1280px;
  margin: 0 auto;
  padding: 0;
}
.day_facility_header {
  text-align: center;
  margin-bottom: 44px;
}
.day_facility_icon {
  margin-bottom: 12px;
}
.day_facility_icon img {
  width: auto;
  height: auto;
}
.day_facility_titwrap {
  display: inline-block;
}
.day_facility_tit {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 39px;
  font-weight: 700;
  color: #222;
  line-height: 1.4;
  -webkit-text-stroke: 3px #fff;
  paint-order: stroke fill;
  margin-bottom: 16px;
  padding-top: 15px;
  letter-spacing: 0.1em;
}
.day_facility_tit .green {
  color: #3dae3b;
}
.day_facility_line {
  width: 100%;
  height: 3px;
  background: #f5c31d;
  box-shadow: 0 0 0 2px #fff;
}
.day_facility_list {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.day_facility_card {
  flex: 1;
  text-align: center;
}
.day_facility_card_img {
  margin-bottom: 13px;
}
.day_facility_card_img img {
  width: 100%;
  height: auto;
  display: block;
}
.day_facility_card_tit {
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #068736;
  line-height: 1.4;
  margin-bottom: 13px;
}
.day_facility_card_desc {
  font-size: 17px;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #222;
  line-height: 1.85;
  text-align: left;
}

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

  募集要項 .sec_recruit

==================================================================*/
.sec_recruit {
  position: relative;
  padding-top: 0px;
  margin-top: -27px;
}
.sec_recruit_header {
  position: relative;
  width: 100%;
  overflow: visible;
  z-index: 5;
}
.sec_recruit_header_bg {
  width: 100%;
  height: 470px;
}
.sec_recruit_header_bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.sec_recruit_header_inner {
  position: absolute;
  top: -6px;
  left: -7px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec_recruit_tit {
  text-align: center;
}
.sec_recruit_tit img {
  height: auto;
}

/* --- body / inner --- */
.sec_recruit_body {
  padding: 68px 0 0px;
}
.recruit_acc_list {
  position: relative;
  isolation: isolate;
  padding-top: 33px;
  padding-bottom: 100px;
}
.recruit_acc_list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: max(98.5vw, 1280px);
  background: url(../images/recruit_bg.jpg) no-repeat bottom center / auto;
  z-index: -1;
}
.sec_recruit_inner {
  max-width: 1280px;
  min-width: 1280px;
  margin: 0 auto;
}

/* --- タブ切り替え --- */
.recruit_tabs {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin-bottom: 73px;
}
.recruit_tab {
  width: 100%;
  height: 80px;
  border: none;
  border-radius: 50px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
/* 歯科衛生士（緑） */
.recruit_tab_dh {
  background: #c5e4be;
  border: 2px solid#44a734;
}
.recruit_tab_dh.is-active {
  background: #44a734;
}
/* 歯科助手兼受付（青） */
.recruit_tab_da {
  background: #cbe3f2;
  border: 2px solid #54a2d4;
}
.recruit_tab_da.is-active {
  background: #45a3d0;
}

/* --- パネル --- */
.recruit_panel {
  display: none;
}
.recruit_panel.is-active {
  display: block;
}
.recruit_panel_tit {
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-size: 31px;
  font-weight: 700;
  color: #000;
  margin-bottom: 45px;
}
.recruit_panel_tit_icon {
  display: inline-flex;
  align-items: center;
}
.recruit_panel_tit_icon img {
  height: auto;
  display: block;
}

/* --- アコーディオン --- */
.recruit_acc {
  width: 1145px;
  margin: 0 auto 32px;
}
.recruit_acc_head {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro', sans-serif;
  font-size: 23px;
  font-weight: 700;
  color: #000;
  cursor: pointer;
  list-style: none;
  padding: 12px 40px 12px 0;
  margin-bottom: 14px;
}
.recruit_acc_head::-webkit-details-marker {
  display: none;
}
.recruit_acc_head::after {
  content: "";
  position: absolute;
  right: 8px;
  top: 50%;
  width: 16px;
  height: 16px;
  background:
    linear-gradient(#222, #222) center / 16px 2px no-repeat,
    linear-gradient(#222, #222) center / 2px 16px no-repeat;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
.recruit_acc[open] .recruit_acc_head::after {
  background:
    linear-gradient(#222, #222) center / 16px 2px no-repeat;
}
.recruit_acc_dot {
  display: inline-block;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #44a734;
  flex-shrink: 0;
}

/* --- テーブル --- */
.recruit_table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e3f4df;
}
.recruit_table th, .recruit_table td {
  padding: 13px 35px;
  border: 1px solid #e3f4df;
  font-size: 17px;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #000;
  line-height: 1.88;
  text-align: left;
  vertical-align: top;
  letter-spacing: 0em;
}
.recruit_table th {
  width: 250px;
  font-weight: 400;
  white-space: nowrap;
}
/* THの色を交互に（歯科衛生士：緑） */
#recruit_panel_dh .recruit_table tbody tr:nth-child(odd) th {
  background: #d8edd4;
}
#recruit_panel_dh .recruit_table tbody tr:nth-child(even) th {
  background: #c5e4be;
}
/* THの色を交互に（歯科助手兼受付：青） */
#recruit_panel_da .recruit_table tbody tr:nth-child(odd) th {
  background: #cbe3f2;
}
#recruit_panel_da .recruit_table tbody tr:nth-child(even) th {
  background: #b3d6e8;
}

/* --- ドット付きリスト（給与の内訳など） --- */
.recruit_dotlist {
  list-style: none;
  padding: 0;
  margin: 8px 0 0;
}
.recruit_dotlist li {
  position: relative;
  padding: 0px 0 24px 36px;
  border-bottom: 1px solid #d3d6da;
}
.recruit_dotlist li:last-child {
  border-bottom: none;
}
.recruit_dotlist li::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 18px;
  width: 10px;
  height: 9px;
  border-radius: 50%;
  background: #f08c8c;
}

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

  新卒採用強化中 .sec_kyoka

==================================================================*/
.sec_kyoka {
  position: relative;
  text-align: center;
  padding: 42px 0 88px;
  background: url(../images/kyoka_bg.jpg) no-repeat center center / cover;
}

/* 左右の人物 */
.kyoka_human_left,
.kyoka_human_right {
  position: absolute;
  z-index: 5;
  pointer-events: none;
}
.kyoka_human_left img,
.kyoka_human_right img {
  display: block;
  width: 100%;
  height: auto;
}
.kyoka_human_left {
  right: calc(50% + 187px);
  top: -355px;
}
.kyoka_human_right {
  left: calc(50% + 250px);
  top: -340px;
}

/* 左右の写真 */
.kyoka_side_img {
  position: absolute;
  z-index: 6;
  pointer-events: none;
}
.kyoka_side_img img {
  display: block;
  width: 100%;
  height: auto;
}
.kyoka_side_img_left {
  left: 0;
  top: 18%;
  transform: translateY(-50%);
}
.kyoka_side_img_right {
  right: 0;
  top: 19%;
  transform: translateY(-50%);
}

/* クローバーアイコン */
.kyoka_clover {
  margin-bottom: 12px;
}

/* タイトル「新卒採用 強化中！」 */
.kyoka_tit {
  font-size: 42px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #3dae3b;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
  padding-top: 12px;
  letter-spacing: 0.1em;
  -webkit-text-stroke: 3px #fff;
  paint-order: stroke fill;
}

/* 黄色い線（白縁取り付き） */
.kyoka_tit_line {
  margin-bottom: 28px;
  display: inline-block;
  padding: 1px;
  background: #fff;
  border-radius: 4px;
}
.kyoka_tit_line img {
  display: block;
  width: 480px;
}

/* 緑ボーダーのボックス */
.kyoka_box {
  position: relative;
  max-width: 1620px;
  min-width: 1280px;
  margin: 0 auto;
  border: 3px solid #a8daa4;
  border-radius: 30px;
  padding: 0 0 13px;
  background: repeating-linear-gradient(
  90deg,
  #e0ebdf 0px,
  #e0ebdf 4px,
  rgba(255, 255, 255, 0.6) 4px,
  rgba(255, 255, 255, 0.6) 6px
);
}
.kyoka_box_inner {
  position: relative;
  z-index: 6;
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 0;
}

/* 旗アイコン（ボックスから上にはみ出す） */
.kyoka_flag {
  margin-top: -94px;
  margin-bottom: 16px;
}

/* H3 */
.kyoka_h3 {
  font-size: 40px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #187b40;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 8px;
  -webkit-text-stroke: 3px #fff;
  paint-order: stroke fill;
  letter-spacing: 0.1em;
}

/* サブタイトル */
.kyoka_sub {
  font-size: 28px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #222;
  font-weight: bold;
  line-height: 1.75;
  margin-bottom: 10px;
  -webkit-text-stroke: 3px #fff;
  paint-order: stroke fill;
  letter-spacing: 0.075em;
}
.kyoka_sub_red {
  color: #eb5a76;
}
.kyoka_sub_green {
  color: #2ca90a;
}
.kyoka_sub_orange {
  color: #e57419;
}

/* 黄色丸ドットライン */
.kyoka_dot_line {
  margin-bottom: -2px;
}

/* 説明文 */
.kyoka_desc {
  font-size: 20px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #222;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 42px;
  -webkit-text-stroke: 3px #fff;
  paint-order: stroke fill;
}
.kyoka_desc_green {
  color: #2ca90a;
}

/* 4カラム */
.kyoka_4col {
  display: flex;
  gap: 30px;
  justify-content: space-between;
  margin-bottom: 45px;
  text-align: center;
}
.kyoka_4col_item {
  flex: 1;
  max-width: 280px;
}
.kyoka_4col_img {
  margin-bottom: 16px;
}
.kyoka_4col_img img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
.kyoka_4col_h4 {
  font-size: 22px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  line-height: 1.591;
  margin-bottom: 9px;
}
.kyoka_4col_h4_green { color: #068736; }
.kyoka_4col_h4_blue { color: #0189bc; }
.kyoka_4col_h4_pink { color: #d65870; }
.kyoka_4col_h4_orange { color: #e57419; }

.kyoka_4col_txt {
  font-size: 17px;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #222;
  line-height: 2.059;
  text-align: left;
  letter-spacing: 0.025em;
}

/* 集合写真 */
.kyoka_under_img {
  margin-bottom: 33px;
}
.kyoka_under_img img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}

/* メッセージ */
.kyoka_message {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 55px;
}
.kyoka_message_line_l,
.kyoka_message_line_r {
  flex-shrink: 0;
}
.kyoka_message_text {
  text-align: center;
}
.kyoka_message_text p {
  font-size: 20px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #138022;
  font-weight: bold;
  line-height: 2;
}
.kyoka_message_marker {
  background: linear-gradient(transparent 0%, #fff 0%);
  padding: 0px 8px;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

/* --- セクション全体 --- */
.sec_message {
  position: relative;
  overflow: hidden;
}

/* セクション装飾 */
.sec_message_deco {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.sec_message_deco img {
  display: block;
}
.sec_message_deco_left {
  left: 0;
  top: 486px;
}
.sec_message_deco_right {
  right: 0;
  top: 59%;
  transform: translateY(-50%);
}

/* --- H2タイトルエリア（feature と同構造） --- */
.sec_message_header {
  position: relative;
  width: 100%;
  overflow: visible;
  z-index: 5;
}
.sec_message_header_bg {
  width: 100%;
  height: 427px;
}
.sec_message_header_bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.sec_message_header_inner {
  position: absolute;
  top: 25px;
  left: 0px;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sec_message_tit {
  text-align: center;
}
.sec_message_tit img {
  height: auto;
}

/* --- 働くスタッフの声 --- */
.staff_voice {
  position: relative;
  padding: 120px 0 130px;
  background: url(../images/staff_bg.jpg) no-repeat 50% 0px / auto;
}
.staff_voice_inner {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}

/* H3タイトル */
.staff_voice_h3_area {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 38px;
  margin-top: -40px;
}
.staff_voice_icon {
  flex-shrink: 0;
  margin-top: -28px;
  margin-left: -40px;
}
.staff_voice_h3 {
  font-size: 32px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #222;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: 12px;
  border-bottom: 3px solid #f5c31d;
  letter-spacing: 0.1em;
}
.staff_voice_h3_accent {
  color: #268ed7;
}
.staff_voice_h3_bold {
  color: #268ed7;
  font-weight: 900;
}

/* 右側グループ写真（.staff_voice基準で右上にはみ出す） */
.staff_voice_right_img {
  position: absolute;
  right: 0;
  top: 33px;
  z-index: 1;
}

/* スタッフ声カード */
.staff_voice_item {
  display: flex;
  gap: 102px;
  margin-bottom: 18px;
  position: relative;
  z-index: 2;
}
.staff_voice_item:last-child {
  margin-bottom: 0;
}
.staff_voice_item_img {
  flex-shrink: 0;
  width: 337px;
}
.staff_voice_item_img img {
  width: 100%;
  height: auto;
}
.staff_voice_item_text {
  flex: 1;
  max-width: 714px;
}

/* スタッフ1 個別調整 */
.staff_voice_item01 {
  gap: 102px;
}
.staff_voice_item01 .staff_voice_item_img {
  width: 337px;
}
.staff_voice_item01 .staff_voice_item_text {
  padding-top: 9px;
}

/* スタッフ2 個別調整 */
.staff_voice_item02 {
  gap: 53px;
}
.staff_voice_item02 .staff_voice_item_img {
  width: 387px;
}
.staff_voice_item02 .staff_voice_item_text {
  padding-top: 18px;
}

/* スタッフ名 */
.staff_voice_name {
  font-size: 28px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #268ed7;
  font-weight: bold;
  line-height: 1.5;
}
.staff_voice_job {
  color: #268ed7;
  font-size: 28px;
}
.staff_voice_line {
  display: block;
  margin: 14px 0 26px;
}

/* 院長ってどんな人？ */
.staff_voice_q {
  font-size: 25px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #5c2f1e;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 16px;
}

/* 回答リスト */
.staff_voice_list {
  list-style: none;
  padding: 0;
}
.staff_voice_list li {
  font-size: 17px;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #222;
  line-height: 2.059;
  padding-left: 24px;
  position: relative;
  margin-bottom: 24px;
  letter-spacing: 0em;
}
.staff_voice_list li:last-child {
  margin-bottom: 0;
}
.staff_voice_list li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #6bbbe6;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 14px;
}

/* --- 院長メッセージ --- */
.doctor_message {
  position: relative;
  padding: 14px 0 93px;
  background: url(../images/doctor_bg.png) no-repeat 50% 42px / auto;
}
.doctor_message_inner {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0;
}

.doctor_message_list {
  list-style: none;
  padding: 0;
}
.doctor_message_list li {
  font-size: 17px;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #222;
  line-height: 2.059;
  padding-left: 24px;
  position: relative;
  margin-bottom: 24px;
  letter-spacing: 0em;
}
.doctor_message_list li::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #1a840c;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 14px;
}

.doctor_message_list02 {
  display:flex;
  flex-wrap: wrap;
  gap: 5px 20px;
  list-style: none;
  padding: 0;
  margin-bottom: 24px;
}
.doctor_message_list02 li {
  width: calc(100% / 2 - 111px);
  font-size: 17px;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 600;
  font-style: normal;
  color: #222;
  line-height: 2.059;
  position: relative;
  letter-spacing: 0em;
}
.marker{
  background: linear-gradient(transparent 0, transparent 70%, rgba(255,207,3, 0.5) 50% );
}

/* H3タイトル */
.doctor_message_h3_area {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 43px;
}
.doctor_message_icon {
  flex-shrink: 0;
}
.doctor_message_h3 {
  font-size: 32px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #222;
  font-weight: bold;
  letter-spacing: 0.075em;
  line-height: 1.5;
  padding-bottom: 12px;
  border-bottom: 3px solid #f5c31d;
}
.doctor_message_h3_accent {
  color: #3f9a33;
}

/* コンテンツ2カラム */
.doctor_message_content {
  display: flex;
  gap: 28px;
  align-items: flex-start;
}
.doctor_message_text {
  flex: 1;
}
.doctor_message_catch {
  font-size: 32px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #1a840c;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 24px;
}
.doctor_message_body p {
  font-size: 17px;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  color: #222;
  line-height: 2.059;
  margin-bottom: 25px;
  letter-spacing: 0em;
}
.doctor_message_body p:last-child {
  margin-bottom: 0;
}

/* 右側：写真・肩書き */
.doctor_message_img_area {
  flex-shrink: 0;
  text-align: right;
}
.doctor_message_img {
  margin-bottom: 18px;
}
.doctor_message_img img {
  width: 100%;
  height: auto;
}
.doctor_message_clinic {
  font-size: 16px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #1a840c;
  font-weight: bold;
  line-height: 1.375;
}
.doctor_message_name {
  font-size: 16px;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #1a840c;
  font-weight: bold;
  line-height: 1.375;
  margin-top: 10px;
  text-align: center;
}
.doctor_message_name_label {
  font-size: 16px;
}
.doctor_message_name_value {
  font-size: 28px;
}

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

  .top_info

==================================================================*/
/* ↓↓↓見た目確認用↓↓↓ */
.top_info:not(.top_info2){
  background: #f3f3f3;
}
.top_info:not(.top_info2) .top_info_flex{
  padding: 64px 0;
}
/* ↑↑↑見た目確認用↑↑↑ */

.top_info_flex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_info_item{
  width: 49%;
}

/********************************
  .top_news お知らせ
*********************************/
/* 旧仕様 */
.top_news_frame{
  padding:35px 33px;
  border:15px solid #F0F0F0;
}
.top_news_headline{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_info .top_news .top_news_frame{
  border: none;
  padding: 0;
  background: #fff;
  padding: 20px 12px;
}

/* お知らせの高さ */
.top_info .top_news .scroll_area{
  height: 285px;
  overflow-y: scroll;
}
.top_info .top_news ul{
  padding-right: 24px;
}

.news_list li{
  margin-bottom: 10px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.news_list li span{
  margin-right: 5px;
}
.news_list li em{
  margin-right: 5px;
  display:inline-block;
  min-width:75px;
  padding:1px 6px;
  font-style: normal;
  text-align:center;
}

/*スクロールバーの横幅指定*/
.scroll_area::-webkit-scrollbar {
  width: 5px;
}
/*スクロールバーの背景色・角丸指定*/
.scroll_area::-webkit-scrollbar-track {
  border-radius: 10px;
  background: #fff;
}
/*スクロールバーの色・角丸指定*/
.scroll_area::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #ccc;
}

/********************************
  .top_sche 診療時間
*********************************/
.top_sche .sub_info_note li{
  color: var(--main-color);
  text-align: center;
  padding: 10px 5px;
  border: 1px solid var(--main-color);
  margin-bottom: 12px;
}
/* 補足リスト */
.top_sche .sub_info_note li:last-child{
  margin-bottom: 0;
}
.top_info2 .top_sche{
  border-radius: 10px;
  padding: 12px;
  background-color: rgba(192,171,154,0.3);
}
/* 診療科目、お問い合わせリスト */
.top_sche_note {
  margin-top: 10px;
}
.top_sche_note dl{
  display: flex;
  margin-bottom: 12px;
}
.top_sche_note dl:last-child{
  margin-bottom: 0;
}
.top_sche_note dl dt{
  width: 25%;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-weight: bold;
  padding: 16px 5px;
  background: #C0AB9A;
  border-radius: 10px;
  margin-right: 2%;
}
.top_sche_note dl dd{
  width: 73%;
  display: flex;
  align-items: center;
  padding: 10px;
  background: #fff;
  border-radius: 10px;
}
.top_sche_note dl dd a{
  color: inherit;
}
.top_sche_note dl dd a:hover{
  color: inherit;
}

/********************************
  .top_access アクセス
*********************************/
.top_info2 .top_access{
  border-radius: 10px;
  background-color: rgba(192,171,154,0.3);
}
.top_access{
  padding: 12px;
}
.top_access .map{
  position: relative;
}
.top_access .map .btn01{
  position: absolute;
  top: auto;
  right: 0;
  bottom: 0;
  margin-bottom: 0;
}
.top_access .map img{
  width: 100%;
  /* 下記はサンプル画像が正方形のため調整用に記載しています */
  height: 320px;
  object-fit: cover;
  object-position: center;
}
.top_access p{
  margin-top: 10px;
}

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

  .top_doctor

==================================================================*/
.top_doctor_flex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_doctor_flex .text{
  position:relative;
  width:70%;
}
.top_doctor_name{
  color:var(--main-color);
  line-height: 1.4;
  font-weight:bold;
}
.top_doctor_name span{
  font-size: 30px;
}
.top_doctor_img{
  width: 28%;
}
.top_doctor_img img{
  width: 100%;
}
.top_doctor .btn01{
  float:right;
  width:240px;
}
.top_doctor .btn01 a{
  display:block;
}

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

  .top_medical

==================================================================*/
.top_medical .text p{
  text-align:center;
}
.top_medical_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_medical_list a{
  display:block;
  width:22%;
  margin-bottom:20px;
  text-align:center;
}
.top_medical_list a img{
  width: 100%;
}
.top_medical_list dl{
  width:100%;
}
.top_medical_list dl dt{
  margin-bottom:7px;
}
.top_medical_list dl dd{
  font-weight:bold;
}
/*==================================================================

  .top_medical2

==================================================================*/
.top_medical2 .text p{
  text-align:center;
}
.top_medical2_list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top_medical2_list a{
  display:block;
  width: 120px;
  margin-right: 17.14px;
  margin-bottom:20px;
  text-align:center;
}
.top_medical2_list a:last-child{
  margin-right:0;
}
.top_medical2_list dl{
  width:100%;
}
.top_medical2_list dl dt{
  margin-bottom:7px;
}
.top_medical2_list img{
  width:100%;
}
.top_medical2_list dl dd{
  font-weight:bold;
}
/*==================================================================

  .top_medical3

==================================================================*/
.top_medical3 .text p{
  text-align:center;
}
.top_medical3_list ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top_medical3_list li{
  width: 120px;
  margin-right: 17.14px;
  margin-bottom:20px;
  text-align:center;
}
.top_medical3_list li:last-child{
  margin-right:0;
}
.top_medical3_list img{
  width:100%;
}
/*==================================================================

  .top_medical4

==================================================================*/
.top_medical4{
  padding-top:80px;
}
.top_medical4_list{
  width:980px;
  margin:0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_medical4_list dl{
  position:relative;
  width: 270px;
  text-align:center;
  margin-bottom: 30px;
}
.top_medical4_list a{
  position:absolute;
  height:100%;
  width:100%;
  top:0;
  left:0;
}
.top_medical4_list dt img{
  width:100%;
  border-radius:100%;
}

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

  .loop_slide

==================================================================*/
.loop_slide_wrap .slick-slider div{
 transition: none;
}
.loop_slide_wrap .slick-list{
  overflow: hidden!important;
}
.loop_slide_wrap .slick-initialized .slick-slide{
  height: auto;
}
.loop_slide_wrap .slick-initialized .slick-slide img{
  width: 400px;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.loop_slide_wrap .slick-initialized .slick-slide:focus{
  outline: none;
}


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

  タブレット〜小画面（feature02 写真縮小）

==================================================================================================================*/
@media screen and (max-width:1850px) {
  .kyoka_side_img_left {
    width: 380px;
}
  .kyoka_side_img_right {
    width: 340px;
}
  .staff_voice_right_img {
    width: 280px;
  }
}

@media screen and (max-width:1900px) {
  .feature03_left_img img {
    height: auto;
  }
  .feature03_right_img {
    right: 0;
    top: -60px;
    width: 240px;
}
  .feature03_left_img {
    width: 400px;
}
}
@media screen and (max-width:1600px) {
  .feature01_right_img {
    right: 0;
    width: 310px;
}
  .feature01_right_img img {
    height: auto;
  }
  .feature02_right_img {
    right: 0;
    width: 430px;
}
.feature02_right_img img {
  height: auto;
}
}
@media screen and (max-width:1550px) {
  .feature02_under_img img {
    width: 220px;
    height: auto;
  }
  .feature02_under_img_left {
    left: 0;
  }
  .feature02_under_img_right {
    right: 0;
  }
}
@media screen and (max-width:1400px) {
  .feature_2col.is_reverse .feature_2col_img {
    margin-right: 0;
    left: 0;
  }
  .feature02 .feature_2col.is_reverse .feature_2col_img {
    margin-left: -70px;
    left: 0;
  }
}

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

  スマホ

==================================================================================================================*/
@media screen and (max-width:640px) {
  #wrapper, html, body{
    min-height:500px;
  }

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

    メインビジュアル（スマホ）

  ==================================================================*/
  .top_mainvisual {
    position: relative;
    height: 500px;
    margin-top: 150px;
  }

  .top_mainvisual .inner {
    width: auto;
  }

  .mv_bg {
    height: 100%;
  }
  .mv_bg img {
    object-position: center top;
  }

  .mv_loop_slider {
    top: 0;
    height: 500px;
  }
  .mv_loop_track,
  .mv_loop_track img {
    height: 500px;
  }

  .mv_foreground_inner {
    width: 100%;
    padding: 0;
  }

  /* 新卒採用バナー → 左下に小さく */
  .mv_btn {
    top: auto;
    bottom: 16px;
    left: 12px;
    transform: none;
    width: 130px;
  }
  .mv_btn img {
    width: 100%;
    height: auto;
  }

  /* キャッチコピー → やや上の中央 */
  .mv_catch {
    top: 40px;
    bottom: auto;
    left: 0;
    right: 0;
    padding: 0 16px;
    text-align: center;
    transform: none;
    z-index: 4;
  }
  .mv_catch img {
    width: auto;
    max-width: 90%;
    height: auto;
  }

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

    .top_info（スマホ）

  ==================================================================*/
  .news_list li a {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .top_info_item {
    width: 100%;
    margin-top: 40px;
  }
  
  .top_info_item:first-child {
    margin-top: 0;
  }
  
  .top_info .top_news .scroll_area {
    height: 200px;
  }

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

    .top_doctor（スマホ）

  ==================================================================*/
  .top_doctor_flex {
    flex-direction: column-reverse;
  }

  .top_doctor .text {
    width: auto;
  }

  .top_doctor_img {
    width: auto;
    margin-bottom: 15px;
  }

  .top_doctor_img p {
    text-align: center;
  }

  .top_doctor_img p img {
    width: 60%;
    margin: 0 auto 15px;
    display: block;
  }

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

    .top_medical2（スマホ）

  ==================================================================*/
  .top_medical2_list a {
    width: 46%;
    margin-right: 8%;
  }

  .top_medical2_list a:nth-child(even) {
    margin-right: 0;
  }
  /*==================================================================

    .top_medical3（スマホ）

  ==================================================================*/
  .top_medical3_list li {
    width: 46%;
    margin-right: 8%;
  }

  .top_medical3_list li:nth-child(even) {
    margin-right: 0;
  }
  /*==================================================================

    .top_medical4（スマホ）

  ==================================================================*/
  .top_medical4_list {
    width: auto;
    margin: 0 8%;
  }

  .top_medical4_list dl {
    width: 45%;
    margin-right: 0;
  }
}

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

  当院で働く3つの魅力 .sec_feature（スマホ）

==================================================================================================================*/
@media screen and (max-width:640px) {
  /* ========== H2タイトル部分（SP用背景画像に差し替え） ========== */
  .sec_feature {
    padding-top: 0;
  }
  .sec_feature_header {
    margin-top: 0;
    overflow: visible;
    padding: 16px 0;
  }
  .sec_feature_header_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
  .sec_feature_header_bg img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
  .sec_feature_header_inner {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    height: auto;
    /* padding: 0 16px; */
    padding: 0 65px;
    z-index: 1;
  }
  .sec_feature_tit img {
    max-width: 400px;
    width: 90%;
    height: auto;
  }

  /* ========== feature_block パディング縮小 ========== */
  .feature_block {
    padding: 40px 0;
}

  /* ========== feature_bg_box 共通 ========== */
  .feature_bg_box,
  .feature02 .feature_bg_box,
  .feature03 .feature_bg_box {
    /* padding: 30px 16px 36px; */
    padding: 30px 16px 200px;
    border-radius: 16px;
    border-width: 2px;
    max-width: calc(100% - 10px);
  }
.feature_content_wrap{
  position:static;
}
  /* 装飾（葉・木） */
  .feature_deco {
    display: none;
  }

  /* 右側・左側の装飾人物写真（非表示） */
  .feature01_right_img,
  .feature02_right_img,
  .feature02_under_img,
  .feature02_under_img_left,
  .feature02_under_img_right,
  .feature03_left_img,
  .feature03_right_img {
    /* display: none !important; */
  }

  .feature01_right_img{
    width: 48%;
    inset: auto 0 0;
    margin: 0 auto 10px;
  }
.feature02_right_img{
  width: 70%;
  right: 0px;
  top: -80px;
  z-index: 0;
}
.feature02_under_img_left{
  width: 50%;
  top: auto;
  bottom: -200px;
  left: -20px;
}
.feature02_under_img_right{
        width: 60%;
        right: -10px;
        top: auto;
        bottom: -253px;
}
.feature03_left_img{
  width: 60%;
}
.feature03_right_img {
        width: 50%;
        inset: auto 0 0;
        margin: 0 auto 5px;
}

  /* ========== H3タイトルエリア ========== */
  .feature_h3_area {
    display: block;
    gap: 0;
    margin-top: 0;
    margin-bottom: 20px;
    text-align: center;
  }
  .feature_number {
    display: block;
    margin: 0 auto 10px;
    position: relative;
    z-index: 2;
  }
  .feature_number img {
    height: 56px;
    width: auto;
  }
  .feature_h3_text {
    padding-top: 0;
  }
  .feature_h3 {
    font-size: 22px;
    text-shadow:
      -1px -1px 0 #fff,
       1px -1px 0 #fff,
      -1px  1px 0 #fff,
       1px  1px 0 #fff,
       0   -1px 0 #fff,
       0    1px 0 #fff,
      -1px  0   0 #fff,
       1px  0   0 #fff;
    position:relative;
    z-index:2;
  }
  .feature_h3_line {
    padding-top: 4px;
    margin-left: auto;
    margin-right: auto;
    max-width: 200px;
    width: 80%;
    height: auto;
  }
  .feature_h3_line img {
    max-width: 200px;
    width: 80%;
    height: auto;
  }

  /* ========== H4タイトルエリア ========== */
  .feature_h4_area {
    display: block;
    gap: 0;
    margin-bottom: 14px;
    left: 0;
    text-align: center;
    order: 1;
  }
  .feature_h4_icon {
    display: block;
    margin: 0 auto 6px;
  }
  .feature_h4_icon img {
    height: 40px;
    width: auto;
  }
  .feature_h4 {
    font-size: 18px;
    padding-top: 0;
    margin-bottom: 4px;
    line-height: 1.4;
  }
  .feature_h4_sub {
    font-size: 14px;
  }
  .feature_h4_line {
    left: 0;
    text-align: center;
  }
  .feature_h4_line img {
    max-width: 180px;
    width: auto;
    height: auto;
  }

  /* ========== サブセクション ========== */
  .feature_sub {
    margin-bottom: 30px;
  }

  /* ========== 2カラム → 縦積み ========== */
  /* .feature_2col {
    /display: flex;
    flex-direction: column-reverse; 
  }
  .feature_2col.is_reverse {
    display: block;
  } */

  .feature_2col,
  .feature_2col.is_reverse{
    display:grid;
    position:relative;
  }
  .feature_2col_img,
  .feature_2col.is_reverse .feature_2col_img,
  .feature02 .feature_2col_img,
  .feature02 .feature_2col.is_reverse .feature_2col_img {
    left: 0;
    top: 0;
    margin: 16px auto 0;
    padding-top: 0;
    max-width: 70%;
    text-align: center;
    order: 2;
    position: absolute;
    inset: 120px 0 0;
    margin: 0 auto;
  }
    .feature_2col.is_reverse .feature_2col_img{
      inset: 150px 0 0;
    }
  .feature_2col.is_reverse .feature_2col_img,
  .feature02 .feature_2col.is_reverse .feature_2col_img {
    margin: 0 auto 16px;
  }
  .feature_2col_img img {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  .feature_2col_img.is_overlap {
    margin-left: auto;
  }
  .feature_2col_text {
    width: 100%;
    display:contents;
  }

  /* ========== 吹き出し ========== */
  .feature_balloon {
    padding: 14px 16px;
    border-radius: 8px;
    margin-bottom: /*12*/20px;
    order: 3;
  }

  .feature_balloon::before,
  .feature_balloon::after {
    /* display: none; */
    left:auto;
    right: 50px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
  }
  .feature_balloon::before{
    top: -24px;
    border-bottom: 14px solid #cae7f1;
  }
  .feature_balloon::after{
    top: -20px;
    border-bottom: 14px solid #fff;
  }

.is_reverse .feature_balloon::before,
.is_reverse .feature_balloon::after{
    right: auto;
    left: 50px;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
}

.balloon_green::before{
  border-bottom-color: #d4ebc8;
}
.balloon_orange::before{
  border-bottom-color: #f0dfd2;
}
  .feature_balloon_tit {
    font-size: 16px;
    margin-bottom: 6px;
    line-height: 1.4;
  }
  .feature_balloon_txt {
    font-size: 14px;
    line-height: 1.7;
  }
.feature_balloon_box{
  order:3;
  margin-top: 150px;
  z-index: 3;
}
  .balloon_blue {
}
/* .balloon_green {
  margin-top: 77px;
  grid-row: 3;
}
.balloon_orange {
  grid-row: 4;
} */

  /* ========== feature02_under ========== */
  .feature02_under {
    padding: 0;
    margin-top: 20px;
  }
  .feature02_under_top_deco {
    max-width: 60px;
    margin: 0 auto 10px;
  }
  .feature02_under_tit_row {
    display: block;
    gap: 0;
    margin-bottom: 10px;
  }
  .feature02_under_dot {
    display: none;
  }
  .feature02_under_tit {
    font-size: 18px;
    white-space: normal;
    line-height: 1.4;
  }
  .feature02_under_sub {
    font-size: 14px;
    display: inline;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    padding: 0 10px;
    line-height: 2.2;
  }

  /* ========== feature03 ========== */
  .feature03_h3_area {
    margin-top: -20px;
    margin-bottom: 24px;
  }
  .feature03_h3_area .feature_number {
    margin-bottom: 10px;
  }

  .feature03_data_row {
    display: block;
    gap: 0;
    margin-bottom: 24px;
  }
  .feature03_data_col {
    margin-bottom: 24px;
  }
  .feature03_data_col:last-child {
    margin-bottom: 0;
  }
  .feature03_label {
    font-size: 15px;
    padding: 2px 16px;
    margin-bottom: 12px;
  }
  .feature03_graph_desc {
    font-size: 14px;
    line-height: 1.8;
  }
.feature03_graph{
  margin-top: 0!important;
}
  /* 数値エリア */
  .feature03_num_area {
    gap: 4px;
    margin: 20px 0 0;
  }
  .feature03_num_deco {
    height: 36px;
  }
  .feature03_big_num {
    font-size: 44px;
  }
  .feature03_unit {
    font-size: 22px;
  }
  .feature03_unit_ja {
    font-size: 14px;
  }
  .feature03_prefix {
    font-size: 14px;
  }
  .feature03_num_desc {
    font-size: 14px;
    padding-top: 14px;
    line-height: 1.7;
  }
  .feature03_num_sub {
    font-size: 14px;
    padding-top: 10px;
  }

  /* 福利厚生 */
  .feature03_welfare {
    margin-top: 30px;
  }
  .feature03_welfare_header {
    position: relative;
    margin-bottom: 20px;
  }
  .feature03_welfare_icon {
    height: 36px;
    width: auto;
  }
  .feature03_welfare_tit {
    font-size: 22px;
    text-shadow:
      -1px -1px 0 #fff,
       1px -1px 0 #fff,
      -1px  1px 0 #fff,
       1px  1px 0 #fff,
       0   -1px 0 #fff,
       0    1px 0 #fff,
      -1px  0   0 #fff,
       1px  0   0 #fff;
  }
  .feature03_welfare_line img {
    max-width: 180px;
    width: auto;
    height: auto;
  }

  /* 人物画像（SPでは非表示） */
  .feature03_human,
  .feature03_human_left,
  .feature03_human_right {
    display: none;
  }

  /* 福利厚生バナー */
  .feature03_welfare_top {
    display: block;
    margin-bottom: 10px;
  }
  .feature03_welfare_top img {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }
  .feature03_welfare_top img:last-child {
    margin-bottom: 0;
  }
  .feature03_welfare_bottom {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .feature03_welfare_bottom img:nth-of-type(-n+2){
    flex: 0 0 calc(50% - 4px);
    width: calc(50% - 4px);
  }

}

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

  2026年秋 院内アップデート .sec_update（スマホ）

==================================================================================================================*/
@media screen and (max-width:640px) {
  .sec_update {
    padding: 36px 16px 40px;
}

  /* タイトル */
  .update_header {
    margin-bottom: 28px;
  }
  .update_icon {
    height: 40px;
    width: auto;
    margin: 0 auto 8px;
  }
  .update_tit {
    font-size: 22px;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-shadow:
      -1px -1px 0 #fff,
       1px -1px 0 #fff,
      -1px  1px 0 #fff,
       1px  1px 0 #fff,
       0   -1px 0 #fff,
       0    1px 0 #fff,
      -1px  0   0 #fff,
       1px  0   0 #fff;
  }
  .update_tit_line {
    max-width: 200px;
    width: 80%;
    height: auto;
  }

  /* 2カラム → 縦積み */
  .update_2col {
    flex-direction: column;
    gap: 32px;
    width: 100%;
    min-width: 0;
  }
  .update_img {
    margin-bottom: 16px;
  }
  .update_img img {
    width: 100%;
  }

  /* サブテキスト */
  .update_sub {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 12px;
    text-shadow:
      -1px -1px 0 #fff,
       1px -1px 0 #fff,
      -1px  1px 0 #fff,
       1px  1px 0 #fff,
       0   -1px 0 #fff,
       0    1px 0 #fff,
      -1px  0   0 #fff,
       1px  0   0 #fff;
  }

  /* 施設名 */
  .update_name {
    font-size: 18px;
    line-height: 1.4;
    gap: 6px;
    text-shadow:
      -1px -1px 0 #fff,
       1px -1px 0 #fff,
      -1px  1px 0 #fff,
       1px  1px 0 #fff,
       0   -1px 0 #fff,
       0    1px 0 #fff,
      -1px  0   0 #fff,
       1px  0   0 #fff;
  }
  .update_line_l,
  .update_line_r {
    display: none;
  }
}

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

  お問い合わせ（医院見学） .sec_contact（スマホ）

==================================================================================================================*/
@media screen and (max-width:640px) {
  .sec_contact {
    padding: 50px 16px 40px;
}

  .contact_inner {
    display: block;
    max-width: none;
  }

  .contact_box {
    width: auto;
    padding: 30px 20px 28px;
    border-radius: 20px;
    border-width: 2px;
  }

  /* 医院見学OK バッジ */
  .contact_sub_img {
    top: -18px;
    width: 140px;
    height: auto;
  }

  /* タイトル */
  .contact_tit {
    font-size: 22px;
    line-height: 1.4;
    margin-top: 12px;
    letter-spacing: 0.05em;
    text-shadow:
      -1px -1px 0 #fff,
       1px -1px 0 #fff,
      -1px  1px 0 #fff,
       1px  1px 0 #fff,
       0   -1px 0 #fff,
       0    1px 0 #fff,
      -1px  0   0 #fff,
       1px  0   0 #fff;
  }
  .contact_tit_line {
    max-width: 200px;
    width: 80%;
    height: auto;
  }

  /* 説明文 */
  .contact_desc {
    font-size: 14px;
    line-height: 1.8;
    margin-top: 14px;
  }

  /* ボタン */
  .contact_btn {
    font-size: 15px;
    padding: 12px 16px;
    margin-top: 18px;
    width: 100%;
    gap: 6px;
    border-width: 2px;
  }
  .contact_btn_arrow {
    width: 16px;
    height: auto;
  }
}

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

  写真スライダー .sec_slide（スマホ）

==================================================================================================================*/
@media screen and (max-width:640px) {
  .sec_slide {
    padding: 30px 0 30px;
}
  .slide_wrap .slick-slide {
    margin: 0 6px;
  }
  .slide_wrap .slick-list {
    margin: 0 -6px;
  }
  .slide_wrap .slick-slide img {
    height: 240px;
  }

  .sec_slide02 {
    padding-top: 30px;
    padding-bottom: 30px;
}
}

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

  働くスタッフの声・院長メッセージ .sec_message（スマホ）

==================================================================================================================*/
@media screen and (max-width:640px) {
  /* ========== H2タイトル部分（SP用背景画像に差し替え） ========== */
  .sec_message_header {
    overflow: visible;
    padding: 16px 0;
  }
  .sec_message_header_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
  .sec_message_header_bg img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
  .sec_message_header_inner {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    height: auto;
    padding: 0 16px;
    z-index: 1;
  }
  .sec_message_tit img {
    max-width: 400px;
    width: 90%;
    height: auto;
  }

  /* セクション装飾は非表示 */
  .sec_message_deco {
    display: none;
  }

  /* ========== 働くスタッフの声 ========== */
  .staff_voice {
    padding: 36px 16px 40px;
    background: url(../images/staff_bg.jpg) repeat-y center top / 100% auto;
  }
  .staff_voice_inner {
    max-width: none;
    padding: 0;
  }
  .staff_voice_right_img {
    display: none;
  }

  /* H3タイトル */
  .staff_voice_h3_area {
    display: block;
    gap: 0;
    margin-top: 0;
    margin-bottom: 24px;
    text-align: center;
  }
  .staff_voice_icon {
    display: block;
    margin: 0 auto 8px;
    height: 36px;
    width: auto;
  }
  .staff_voice_h3 {
    font-size: 18px;
    line-height: 1.5;
    padding-bottom: 10px;
    border-bottom-width: 2px;
    text-align: center;
    letter-spacing: 0.05em;
  }

  /* スタッフ声カード（縦積み） */
  .staff_voice_item,
  .staff_voice_item01,
  .staff_voice_item02 {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
  }
  .staff_voice_item:last-child,
  .staff_voice_item01:last-child,
  .staff_voice_item02:last-child {
    margin-bottom: 0;
  }
  .staff_voice_item_img,
  .staff_voice_item01 .staff_voice_item_img,
  .staff_voice_item02 .staff_voice_item_img {
    width: 70%;
    margin: 0 auto;
  }
  .staff_voice_item_text,
  .staff_voice_item01 .staff_voice_item_text,
  .staff_voice_item02 .staff_voice_item_text {
    max-width: none;
    padding-top: 0;
  }
  .staff_voice_name {
    font-size: 18px;
    text-align: center;
  }
  .staff_voice_job {
    font-size: 18px;
  }
  .staff_voice_line {
    margin: 8px auto 14px;
    max-width: 200px;
    width: 80%;
    height: auto;
  }
  .staff_voice_q {
    font-size: 17px;
    margin-bottom: 10px;
  }
  .staff_voice_list li {
    font-size: 14px;
    line-height: 1.8;
    padding-left: 18px;
    margin-bottom: 14px;
  }
  .staff_voice_list li::before {
    width: 8px;
    height: 8px;
    top: 9px;
  }

  /* ========== 院長メッセージ ========== */
  .doctor_message {
    padding: 30px 16px 40px;
    background: url(../images/staff_bg.jpg) repeat-y center top / 100% auto;
  }
  .doctor_message_inner {
    max-width: none;
  }
  .doctor_message_list li {
    font-size: 14px;
    line-height: 1.8;
    padding-left: 18px;
    margin-bottom: 14px;
  }
  .doctor_message li::before {
    width: 8px;
    height: 8px;
    top: 9px;
  }
  .doctor_message_list02{
    flex-direction: column;
  }
  .doctor_message_list02 li{
    font-size: 14px;
    width: 100%;
  }
  /* H3タイトル */
  .doctor_message_h3_area {
    display: block;
    gap: 0;
    margin-bottom: 22px;
    text-align: center;
  }
  .doctor_message_icon {
    display: block;
    margin: 0 auto 8px;
    height: 36px;
    width: auto;
  }
  .doctor_message_h3 {
    font-size: 20px;
    line-height: 1.5;
    padding-bottom: 10px;
    border-bottom-width: 2px;
    text-align: center;
  }

  /* コンテンツ2カラム → 縦積み（写真を上） */
  .doctor_message_content {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
  }
  .doctor_message_text {
    width: 100%;
  }
  .doctor_message_catch {
    font-size: 22px;
    margin-bottom: 14px;
    text-align: center;
  }
  .doctor_message_body p {
    font-size: 14px;
    line-height: 1.9;
    margin-bottom: 16px;
  }

  /* 右側：写真・肩書き → 中央寄せ */
  .doctor_message_img_area {
    width: 100%;
    text-align: center;
  }
  .doctor_message_img {
    max-width: 70%;
    margin: 0 auto 12px;
  }
  .doctor_message_img img {
    display: block;
    margin: 0 auto;
  }
  .doctor_message_clinic {
    font-size: 14px;
    text-align: center;
  }
  .doctor_message_name {
    font-size: 14px;
    margin-top: 6px;
  }
  .doctor_message_name_label {
    font-size: 14px;
  }
  .doctor_message_name_value {
    font-size: 22px;
  }
}

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

  新卒採用強化中 .sec_kyoka（スマホ）

==================================================================================================================*/
@media screen and (max-width:640px) {
  .sec_kyoka {
    padding: 40px 16px;
}

  /* 左右の人物・写真は非表示 */
  .kyoka_human_left,
  .kyoka_human_right,
  .kyoka_side_img,
  .kyoka_side_img_left,
  .kyoka_side_img_right {
    display: none !important;
  }

  /* クローバーアイコン */
  .kyoka_clover {
    margin-bottom: 8px;
  }
  .kyoka_clover img {
    height: 40px;
    width: auto;
  }

  /* タイトル「新卒採用 強化中！」 */
  .kyoka_tit {
    font-size: 26px;
    line-height: 1.4;
    padding-top: 8px;
    margin-bottom: 8px;
    letter-spacing: 0.05em;
    -webkit-text-stroke: 1px #fff;
  }

  /* 黄色い線 */
  .kyoka_tit_line {
    margin-bottom: 22px;
  }
  .kyoka_tit_line img {
    width: 220px;
    max-width: 100%;
    height: auto;
  }

  /* 緑ボーダーのボックス */
  .kyoka_box {
    max-width: 100%;
    min-width: 0;
    border-width: 2px;
    border-radius: 16px;
    padding: 0 0 8px;
  }
  .kyoka_box_inner {
    max-width: none;
    padding: 36px 16px 30px;
  }

  /* 旗アイコン */
  .kyoka_flag {
    margin-top: -56px;
    margin-bottom: 10px;
  }
  .kyoka_flag img {
    height: 50px;
    width: auto;
  }

  /* H3 */
  .kyoka_h3 {
    font-size: 22px;
    line-height: 1.5;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
    -webkit-text-stroke: 1px #fff;
  }

  /* サブタイトル */
  .kyoka_sub {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
    -webkit-text-stroke: 1px #fff;
  }

  /* 黄色丸ドットライン */
  .kyoka_dot_line {
    margin-bottom: 4px;
  }
  .kyoka_dot_line img {
    max-width: 200px;
    width: 70%;
    height: auto;
  }

  /* 説明文 */
  .kyoka_desc {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 28px;
    -webkit-text-stroke: 1px #fff;
  }

  /* 4カラム → 2カラム */
  .kyoka_4col {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 12px;
    margin-bottom: 28px;
  }
  .kyoka_4col_item {
    flex: 0 0 calc(50% - 6px);
    max-width: calc(50% - 6px);
  }
  .kyoka_4col_img {
    margin-bottom: 10px;
  }
  .kyoka_4col_img img {
    border-radius: 8px;
  }
  .kyoka_4col_h4 {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 6px;
  }
  .kyoka_4col_txt {
    font-size: 13px;
    line-height: 1.8;
  }

  /* 集合写真 */
  .kyoka_under_img {
    margin-bottom: 24px;
  }
  .kyoka_under_img img {
    border-radius: 10px;
  }

  /* メッセージ */
  .kyoka_message {
    display: block;
    gap: 0;
  }
  .kyoka_message_line_l,
  .kyoka_message_line_r {
    display: none;
  }
  .kyoka_message_text p {
    font-size: 14px;
    line-height: 1.9;
  }
  .kyoka_message_marker {
    padding: 0 4px;
  }
}

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

  1日の流れ・設備のご紹介 .sec_day（スマホ）

==================================================================================================================*/
@media screen and (max-width:640px) {
  .sec_day {
    padding-top: 0;
  }

  /* ========== H2タイトル部分（SP用背景画像に差し替え） ========== */
  .sec_day_header {
    overflow: visible;
    padding: 16px 0;
  }
  .sec_day_header_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
  .sec_day_header_bg img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
  .sec_day_header_inner {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    height: auto;
    padding: 0 16px;
    z-index: 1;
  }
  .sec_day_tit img {
    max-width: 400px;
    width: 90%;
    height: auto;
  }

  .sec_day_body {
    background: url(../images/day_bg.jpg) no-repeat center top / cover;
  }

  /* ========== 1日の流れ ========== */
  .day_flow {
    padding: 30px 16px 30px;
  }
  .day_flow_inner {
    max-width: none;
  }
  .day_flow_top,
  .day_flow_bottom {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 18px;
  }
  .day_flow_bottom {
    margin-bottom: 0;
  }
  .day_flow_top .day_flow_card,
  .day_flow_bottom .day_flow_card {
    width: 100%;
  }
  .day_flow_card {
    border-radius: 8px;
  }
  .day_flow_card_text {
    padding: 14px 16px 18px;
  }
  .day_flow_top .day_flow_card_text {
    height: auto;
  }
  .day_flow_card_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    height: auto;
    margin-bottom: 8px;
  }
  .day_flow_card_time {
    font-size: 18px;
  }
  .day_flow_card_tit {
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
  }
  .day_flow_card02 .day_flow_card_tit,
  .day_flow_card03 .day_flow_card_tit,
  .day_flow_card04 .day_flow_card_tit,
  .day_flow_card05 .day_flow_card_tit {
    font-size: 18px;
    line-height: 1.5;
  }
  .day_flow_card_desc {
    font-size: 14px;
    line-height: 1.8;
  }

  /* ========== 最新設備紹介 ========== */
  .day_facility {
    padding: 20px 16px 40px;
}
  .day_facility_inner {
    max-width: none;
    min-width: 0;
  }
  .day_facility_header {
    margin-bottom: 26px;
  }
  .day_facility_icon {
    margin-bottom: 8px;
  }
  .day_facility_icon img {
    height: 36px;
    width: auto;
  }
  .day_facility_titwrap {
    display: block;
  }
  .day_facility_tit {
    font-size: 20px;
    line-height: 1.5;
    padding-top: 0;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
    -webkit-text-stroke: 1px #fff;
  }
  .day_facility_line {
    width: 80%;
    max-width: 240px;
    margin: 0 auto;
    height: 2px;
  }

  /* 5カラム → 2カラム */
  .day_facility_list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 12px;
  }
  .day_facility_card {
    flex: 0 0 calc(50% - 6px);
    max-width: calc(50% - 6px);
  }
  .day_facility_card_img {
    margin-bottom: 8px;
  }
  .day_facility_card_tit {
    font-size: 15px;
    line-height: 1.5;
    margin-bottom: 8px;
  }
  .day_facility_card_desc {
    font-size: 13px;
    line-height: 1.8;
  }
}

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

  募集要項 .sec_recruit（スマホ）

==================================================================================================================*/
@media screen and (max-width:640px) {
  .sec_recruit {
    margin-top: 0;
  }

  /* ========== H2タイトル部分（SP用背景画像に差し替え） ========== */
  .sec_recruit_header {
    overflow: visible;
    padding: 16px 0;
  }
  .sec_recruit_header_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
  }
  .sec_recruit_header_bg img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
  .sec_recruit_header_inner {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    height: auto;
    padding: 0 16px;
    z-index: 1;
  }
  .sec_recruit_tit img {
    max-width: 400px;
    width: 90%;
    height: auto;
  }

  /* ========== body / inner ========== */
  .sec_recruit_body {
    padding: 30px 16px 0;
  }
  .recruit_acc_list {
    padding-top: 20px;
    padding-bottom: 1px;
}
  .recruit_acc_list::before {
    width: 100vw;
    background-size: cover;
  }
  .sec_recruit_inner {
    max-width: none;
    min-width: 0;
  }

  /* ========== タブ切り替え ========== */
  .recruit_tabs {
    gap: 10px;
    margin-bottom: 30px;
  }
  .recruit_tab {
    height: 52px;
    font-size: 15px;
    border-radius: 30px;
  }

  /* ========== パネルタイトル ========== */
  .recruit_panel_tit {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 20px;
    margin-bottom: 24px;
  }
  .recruit_panel_tit_icon img {
    height: 28px;
    width: auto;
  }

  /* ========== アコーディオン ========== */
  .recruit_acc {
    width: 100%;
    margin: 0 0 20px;
  }
  .recruit_acc_head {
    font-size: 16px;
    padding: 10px 32px 10px 0;
    margin-bottom: 10px;
    line-height: 1.5;
  }
  .recruit_acc_head::after {
    width: 12px;
    height: 12px;
    right: 6px;
    background:
      linear-gradient(#222, #222) center / 12px 2px no-repeat,
      linear-gradient(#222, #222) center / 2px 12px no-repeat;
  }
  .recruit_acc[open] .recruit_acc_head::after {
    background:
      linear-gradient(#222, #222) center / 12px 2px no-repeat;
  }
  .recruit_acc_dot {
    width: 8px;
    height: 8px;
  }

  /* ========== テーブル → カード形式（縦積み） ========== */
  .recruit_table,
  .recruit_table tbody,
  .recruit_table tr,
  .recruit_table th,
  .recruit_table td {
    display: block;
    width: 100%;
  }
  .recruit_table {
    border: 1px solid #e3f4df;
  }
  .recruit_table tr {
    border-bottom: 1px solid #e3f4df;
  }
  .recruit_table tr:last-child {
    border-bottom: none;
  }
  .recruit_table th {
    width: 100%;
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 700;
    white-space: normal;
    border: none;
    border-bottom: 1px solid #e3f4df;
  }
  .recruit_table td {
    padding: 12px 14px 14px;
    font-size: 14px;
    line-height: 1.8;
    border: none;
    background: #fff;
  }

  /* ドット付きリスト（給与の内訳など） */
  .recruit_dotlist li {
    padding: 0 0 14px 22px;
    font-size: 14px;
    line-height: 1.7;
    margin-top: 8px;
  }
  .recruit_dotlist li::before {
    left: 8px;
    top: 10px;
    width: 8px;
    height: 8px;
  }
}
