@charset "utf-8";

/*
Theme Name: 医療法人福和会 札幌立花病院
Description: 医療法人福和会 札幌立花病院のテーマ
Author:snow holding
Version:1.0
Text Domain:sapporo tachibana hospital
*/

:root {
  /* カラー */
  --txt_color: #363636;
  --base_01: #fffbf6;
  --base_02: #f0f4f9;
  --base_03: #fcedf5;
  --base_04: #fdf0e3;
  --main_color01: #fcdbed;
  --main_color02: #f3f3f3;
  --btn_01: #cd65a0;
  --accent01: #698cc8;
  --accent02: #ed8b22;
  --caution_color01: #e71313;
  --caution_color02: #fbff16;


  /* フォントの太さ */
  --fontweightbold: bold;
  --fontweightnormal: normal;


  /* フォントサイズ */
  --fontsize08: 0.8rem;
  --fontsize1: 1.0rem;
  --fontsize12: 1.2rem;
  --fontsize14: 1.4rem;
  --fontsize16: 1.6rem;
  --fontsize18: 1.8rem;
  --fontsize20: 2rem;
  --fontsize22: 2.2rem;
  --fontsize24: 2.4rem;
  --fontsize26: 2.6rem;
  --fontsize28: 2.8rem;
  --fontsize30: 3.0rem;
  --fontsize32: 3.2rem;
  --fontsize34: 3.4rem;
  --fontsize36: 3.6rem;
  --fontsize38: 3.8rem;
  --fontsize40: 4.0rem;
  --fontsize42: 4.2rem;


  /* シャドウ */
  --box_shadow1: 6px 6px rgb(0, 0, 0, 0.5);
  --box_shadow_blue: 0 5px 15px rgb(105, 140, 200, 0.4);
  --box_shadow_pink: 14px 14px rgb(205, 101, 160, 0.2);
  --box_shadow_black_blur: 10px 10px 10px rgb(0, 0, 0, 0.1);

  --text_shadow1: 2px 2px 0px rgba(255, 255, 255, 1);
  --text_shadow2: 1px 2px 3px rgba(255, 255, 255, 0.8);


  /* ホバー */
  --transition_time: 0.2s; // 変化の時間
  --hover_opacity: 0.8; // ホバー時の透明度


  /* border-width */
  --border_width1: 1px;
  --border_width2: 2px;
  --border_width3: 3px;
  --border_width4: 4px;

  /* letter-spacing */
  --letterspacing01: 0.1em;

  /* border-radius */
  --border_radius5: 5px;
  --border_radius10: 10px;
  --border_radius20: 20px;


  --easing: cubic-bezier(0.2, 1, 0.2, 1);
  --transition: 0.8s var(--easing);
  --color-base: #f8f8f8;
  --color-gray: #ddd;
  --color-theme: #f5695f;
  --color-theme-darken: #f12617;
  --box-shadow: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05),
    -0.8rem -0.8rem 1.2rem #fff;
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, 0.08),
    -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.05),
    inset -0.8rem -0.8rem 1.2rem #fff;
  --box-shadow-dark: 0.8rem 0.8rem 1.2rem rgba(0, 0, 0, 0.1),
    -0.8rem -0.8rem 1.2rem rgba(#fff, 0.2);


  /* フォント */
  --serif: 'Yu Mincho', YuMincho, 游明朝, 游明朝体, serif;
  --sans_serif: 'Yu Gothic', sans-serif;
  /* --sans_serif: Meiryo, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'MS PGothic', sans-serif; */
}

html {
  text-align: justify;
  font-family: var(--sans_serif);
  font-weight: normal;
  color: var(--txt_color);
  scroll-behavior: smooth;
}

body {
  background: url(../tachibana/assets/img/bg.svg);
  animation: loading 3s
}

@keyframes loading {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

a {
  color: var(--txt_color);
}

/* トップの波　ここから */
.custom-shape-divider-top-1749136301 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-top-1749136301 svg {
  position: relative;
  display: block;
  width: calc(134% + 1.3px);
  height: 21px;
}

.custom-shape-divider-top-1749136301 .shape-fill {
  fill: var(--base_01);
}

/* トップの波　ここまで */

/* ボトムの波　ここから */
.custom-shape-divider-bottom-1749136872 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}

.custom-shape-divider-bottom-1749136872 svg {
  position: relative;
  display: block;
  width: calc(134% + 1.3px);
  height: 21px;
}

.custom-shape-divider-bottom-1749136872 .shape-fill {
  fill: var(--base_01);
}

/* ボトムの波　ここまで */

/* 各ページ共通　ここから */
.p_sec {
  background-color: var(--base_02);
  margin: 60px 0;
  padding: 50px 0;
}

/* 各ページ共通　ここまで */

/* 各パーツ */
/* 見出し */
.pageh1 {
  display: flex;
  justify-content: center;
  color: var(--accent01);
}

.pageh2 {
  position: relative;
  /* display: inline-block; */
  margin-bottom: 50px;
  text-align: center;

  &:before {
    position: absolute;
    content: '';
    bottom: -12px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--accent01);
    border-radius: 2px;
  }
}

.pageh3 {
  border-bottom: var(--border_width3) solid var(--accent01);
  position: relative;
  margin-bottom: 20px;

  &:after {
    position: absolute;
    content: '';
    display: block;
    border-bottom: var(--border_width3) solid var(--btn_01);
    bottom: -2px;
    width: 20%;
  }
}

.pageh4 {
  border-bottom: var(--border_width2) dashed var(--accent01);
  margin-bottom: 10px;
}

.indexh2 {
  display: flex;
  justify-content: center;
  color: var(--accent01);
  margin-bottom: 30px;
}

.indexh3 {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}

.indexh4 {
  display: flex;
  justify-content: left;
  margin-bottom: 15px;
}






/* 余白 */
.inner0_20 {
  margin: 0 20px;

  @media(min-width:768px) {
    margin: 0 40px;
  }

  @media(min-width:1024px) {
    margin: 0 60px;
  }

  @media(min-width:1280px) {
    width: 1200px;
    margin: 0 auto;
  }
}

.in_inner {
  margin: 0 30px;

  @media(min-width:768px) {
    margin: 0 40px;
  }
}

.mblock10_0 {
  margin: 10px 0;
}

.mblock20_0 {
  margin: 20px 0;
}

.mblock30_0 {
  margin: 30px 0;
}

.mblock40_0 {
  margin: 40px 0;
}

.mblock50_0 {
  margin: 50px 0;
}

.mblock60_0 {
  margin: 60px 0;
}

.mblock70_0 {
  margin: 70px 0;
}

.mblock80_0 {
  margin: 80px 0;
}

.mblock90_0 {
  margin: 90px 0;
}

.mblock100_0 {
  margin: 100px 0;
}

.pblock10_0 {
  padding: 10px 0;
}

.pblock20_0 {
  padding: 20px 0;
}

.pblock30_0 {
  padding: 30px 0;
}

.pblock40_0 {
  padding: 40px 0;
}

.pblock50_0 {
  padding: 50px 0;
}

.pblock60_0 {
  padding: 60px 0;
}

.pblock70_0 {
  padding: 70px 0;
}

.pblock80_0 {
  padding: 80px 0;
}

.pblock90_0 {
  padding: 90px 0;
}

.pblock100_0 {
  padding: 100px 0;
}

/* ホバーした時薄くなる */
.hover_opacity {
  transition: var(--transition_time);

  &:hover {
    opacity: var(--hover_opacity);
  }
}

/* 注目　ここから */
.notice {
  font-size: var(--fontsize20);
  font-weight: var(--fontweightbold);
  color: var(--accent02);
}

/* 注目　ここまで */

/* 下線にマーカーを引く */
.marker_under {
  font-weight: var(--fontweightbold);
  font-size: var(--fontsize18);
  background: linear-gradient(transparent 70%, #ffe25b 0%);
  display: inline;
  padding: 0 1px 0px;
}

/* 下線ボーダー */
.border_yellow {
  border-bottom: var(--border_width4) solid var(--caution_color02);
}

/* 下線リンク */
.underline_link {
  text-decoration: underline;
  font-weight: var(--fontweightbold);
}

/* 文字を真ん中に */
.txt_center {
  text-align: center;
}

/* 文字を左寄せ */
.txt_left {
  text-align: left;
}

/* 文字を右寄せ */
.txt_right {
  text-align: right;
}

/* ※や注意の時の色 */
.caution {
  color: var(--caution_color01);
}

/* 文字の大きさ ここから */
.fontsize_big {
  font-size: var(--fontsize20);
}

.fontsize_bigger {
  font-size: var(--fontsize22);
}

.fontsize_bigest {
  font-size: var(--fontsize24);
}

/* 文字の大きさ ここまで */

/* 文字の太さ ここから */
.fontweight_bold {
  font-weight: var(--fontweightbold);
}

.fontweight_normal {
  font-weight: var(--fontweightnormal);
}

/* 文字の太さ ここまで */

.pc_only {
  @media(min-width:1024px) {
    display: none;
  }
}

/* アスタリスクのリスト　ここから */
.un_order_list_asterisk {
  text-indent: -1em;
  padding: 20px 20px 20px 3em;
  margin: 20px 0;
  background-color: white;
  border-radius: var(--border_radius10);
  font-size: var(--fontsize20);

  .asterisk {
    position: relative;
    margin: 5px 0;

    &:before {
      position: absolute;
      content: '*';
      color: var(--btn_01);
      font-size: var(--fontsize28);
    }
  }
}

/* アスタリスクのリスト　ここまで */

/* チェックボックスのリスト　ここから */
.un_order_list_checkbox {
  text-indent: -1em;
  padding: 20px 20px 20px 3em;
  margin: 20px 0;
  background-color: white;
  border-radius: var(--border_radius10);

  li {
    margin: 5px 0;
    font-size: var(--fontsize20);

    img {
      width: 25px;
      margin-right: 5px;
    }
  }
}

/* チェックボックスのリスト　ここまで */

/* リストに自動で番号を振る　ここから */
.list_number {
  counter-reset: listnum;
  /* カウンターをリセット */
  list-style: none;
  /* 標準のスタイルは消す */
  text-indent: -1em;
  padding-left: 1em;
  background-color: white;
  padding: 20px 20px 20px 2em;
  margin: 20px 0;
  border-radius: var(--border_radius10);
  font-size: var(--fontsize20);

  li {
    margin: 5px 0;
  }
}

.list_number li::before {
  counter-increment: listnum;
  /* counter-resetと同じ文字列 */
  content: counter(listnum) ".";
  /* 半角スペースを入れて""の中にピリオドを追加 */
  padding-right: 10px;
  color: var(--accent01);
  vertical-align: middle;
  font-size: var(--fontsize20);
  font-weight: var(--fontweightbold);
}

/* ボックスリストに自動で番号を振る　ここまで */

/*　数字振りリスト　*/
.number_block_unorder {
  font-size: var(--fontsize20);

  .list1 {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 50px;
    margin: 10px 0;

    &:before {
      position: absolute;
      content: "1";
      width: 30px;
      height: 30px;
      line-height: 30px;
      text-align: center;
      background-color: var(--accent01);
      color: white;
      left: 10px;
      font-size: var(--fontsize22);
      border-radius: var(--border_radius5);
    }
  }

  .list2 {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 50px;
    margin: 10px 0;

    &:before {
      position: absolute;
      content: "2";
      width: 30px;
      height: 30px;
      line-height: 30px;
      text-align: center;
      background-color: var(--accent01);
      color: white;
      left: 10px;
      font-size: var(--fontsize22);
      border-radius: var(--border_radius5);
    }
  }

  .list3 {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 50px;
    margin: 10px 0;

    &:before {
      position: absolute;
      content: "3";
      width: 30px;
      height: 30px;
      line-height: 30px;
      text-align: center;
      background-color: var(--accent01);
      color: white;
      left: 10px;
      font-size: var(--fontsize22);
      border-radius: var(--border_radius5);
    }
  }

  .list4 {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 50px;
    margin: 10px 0;

    &:before {
      position: absolute;
      content: "4";
      width: 30px;
      height: 30px;
      line-height: 30px;
      text-align: center;
      background-color: var(--accent01);
      color: white;
      left: 10px;
      font-size: var(--fontsize22);
      border-radius: var(--border_radius5);
    }
  }
}

/* dlリスト1　ここから */
.definition_list_1 {
  dt {
    margin-top: 1em;
    padding: 10px;
    color: #FFF;
    background-color: var(--accent01);
    border-radius: 5px 5px 0 0;
    font-size: var(--fontsize20);
    font-weight: var(--fontweightbold);
  }

  dd {
    padding: 8px;
    margin-left: 0;
    border-width: 0 1px 1px;
    border-style: none solid solid;
    border-color: var(--accent01);
    background-color: white;
    border-radius: 0 0 5px 5px;
  }
}

/* dlリスト1　ここまで */

/* サークルリスト　ここから */
.un_order_list_circle {
  background-color: white;
  margin: 20px 0;
  padding: 20px;
  border-radius: var(--border_radius10);

  li {
    position: relative;
    padding-left: 20px;
    margin: 2px 0;

    &:before {
      position: absolute;
      content: '';
      width: 15px;
      height: 15px;
      border-radius: 50px;
      background-color: var(--btn_01);
      top: 50%;
      transform: translateY(-50%);
      left: 0px;
    }
  }
}

/* サークルリスト　ここまで */
























/* 共通パーツ　ここから */
/* リスト　アスタリスク　ここから */
.asterisk::before {
  content: '＊';
  color: var(--btn_01);
  font-size: var(--fontsize20);
}

/* リスト　アスタリスク　ここまで */

/* タイムテーブル1　ここから */
.time_table1 {
  table {
    text-align: center;
    /* border: 1px solid var(--accent01); */

    .trfirst {
      th {
        color: white;
        background-color: var(--accent01);
        padding: 5px;
        border-right: 1px solid white;
      }

      .thfirst {
        width: 200px !important;
        border-radius: 5px 0 0 0;
      }

      .thlast {
        border-right: none;
        border-radius: 0 5px 0 0;
      }
    }

    .trlast {
      .tdfirst {
        border-radius: 0 0 0 5px;
      }

      .tdlast {
        border-radius: 0 0 5px 0;
      }
    }

    td {
      padding: 5px;
      background-color: var(--base_02);
      border: 1px solid var(--accent01) !important;
    }
  }

  .holiday {
    .holiday_box {
      background-color: var(--accent01);
      padding: 5px 10px;
      color: white;
      margin-right: 5px;
    }
  }
}

/* タイムテーブル1　ここまで */

/* タイムテーブル5　ここから */
.table_schedule_block {
  .table_schedule {
    .nowrap {
      white-space: nowrap;
    }

    th,
    td {
      border: 1px solid var(--accent01);
      padding: 8px;
      text-align: center;
    }

    th {
      background-color: var(--accent01);
      border-right: 1px solid white;
      color: white;
    }

    td {
      background-color: var(--base_02);
      border-top: 1px solid var(--accent01) !important;
      border-bottom: 1px solid var(--accent01) !important;
    }

    thead tr:first-child {
      th:first-child {
        /* border-top-left-radius: 8px; */
      }

      th:last-child {
        /* border-top-right-radius: 8px; */
        border-right: none;
      }
    }

    tbody tr:last-child {
      td:first-child {
        /* border-bottom-left-radius: 8px; */
      }

      td:last-child {
        /* border-bottom-right-radius: 8px; */
      }
    }
  }

  .holiday_box {
    background-color: var(--accent01);
    color: white;
    padding: 2px 5px;
    margin-right: 5px;
  }
}

/* タイムテーブル5　ここまで */

/* タイムテーブル2　ここから */
.time_table2 {
  border: 1px solid var(--accent01);
  border-radius: 5px;
  width: 100%;
}

.time_table2 th {
  background-color: var(--accent01);
  color: white;
  text-align: center;
  padding: 10px;
  white-space: nowrap;
}

.time_table2 .thfirst {
  border-bottom: 1px solid white;
  border-radius: 5px 0 0 0;
}

.time_table2 .tdfirst {
  border-bottom: 1px solid var(--accent01);
  border-radius: 0 5px 0 0;
}

.time_table2 .tdsecond {
  border-radius: 0 0 5px 0;
}

.time_table2 td {
  background-color: white;
  padding: 10px;
}

/* タイムテーブル2　ここまで */

/* 採用情報用テーブル　ここから */
.recruit_table {
  background-color: white;
  border: 1px solid var(--accent01);
  border-radius: 10px;

  th {
    padding: 10px;
    background-color: var(--accent01);
    color: white;
    text-align: center;
    border-bottom: 1px solid white;
    white-space: nowrap;
    width: 100px;
  }

  .thfirst {
    border-radius: 10px 0 0 0;
  }

  .thlast {
    border-bottom: none;
    border-radius: 0 0 0 10px;
  }

  td {
    padding: 10px;
    border-bottom: 1px solid var(--accent01);
  }

  .tdlast {
    border-bottom: none;
  }

}

.schedule {
  background: url(../tachibana/assets/img/flower_bg.svg);
  background-repeat: repeat;
  background-position: center;
  background-size: 70%;
  margin: 50px 0;
  border-radius: var(--border_radius10);

  .inner {
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: var(--border_radius10);
  }

  h2 {
    color: var(--accent02);
    margin-bottom: 50px;
    text-align: center;
    position: relative;

    &:before {
      position: absolute;
      content: 'Schedule';
      top: 30px;
      left: 50%;
      transform: translateX(-50%) rotate(-2deg);
      font-family: 'Monotype Corsiva';
      letter-spacing: 0.15em;
      font-size: var(--fontsize28);
      opacity: 0.3;
    }
  }

  .schedule_img {
    width: 300px;
    margin: 20px auto;
  }

  table {
    background-color: white;
    border: 1px solid var(--accent02);
    border-radius: 10px;

    th {
      padding: 10px;
      background-color: var(--accent02);
      color: white;
      text-align: center;
      border-bottom: 1px solid white;
      white-space: nowrap;
    }

    .thfirst {
      border-radius: 10px 0 0 0;
    }

    .thlast {
      border-bottom: none;
      border-radius: 0 0 0 10px;
    }

    td {
      padding: 10px;
      border-bottom: 1px solid var(--accent02);
    }

    .tdlast {
      border-bottom: none;
    }
  }
}

.staff_voice {
  background-color: white;
  border-radius: var(--border_radius10);

  h2 {
    color: var(--accent02);
    margin-bottom: 50px;
    text-align: center;
    position: relative;

    &:before {
      position: absolute;
      content: 'Staff-voice';
      top: 30px;
      left: 50%;
      transform: translateX(-50%) rotate(-2deg);
      font-family: 'Monotype Corsiva';
      letter-spacing: 0.15em;
      font-size: var(--fontsize28);
      opacity: 0.3;
    }
  }

  h3 {
    text-align: center;
    margin-top: -42px;

    span {
      padding: 0 30px;
      background-color: white;
    }
  }

  .staff_voice_columns {
    .left {
      border: var(--border_width2) solid var(--accent02);
      padding: 30px 30px 20px;
      margin: 60px 0 30px;
      border-radius: 10px;
      margin-top: 90px;
    }

    .right {
      width: 300px;
      margin: 20px auto;
    }
  }
}

/* 吹き出し　ここから */
.balloon {
  display: flex;
  justify-content: left;
  align-items: start;
  gap: 0 22px;
}

.balloon img {
  max-width: 70px;
  height: 100%;
  /* border: 3px solid var(--main_color01); */
  border-radius: 50%;
}

.balloon p {
  position: relative;
  max-width: 300px;
  margin: 3px 0 0;
  padding: .8em 1em;
  border-radius: 5px;
  background-color: var(--main_color01);
  color: var(--txt_color);
}

.balloon p::before {
  position: absolute;
  left: -15px;
  width: 15px;
  height: 30px;
  background-color: var(--main_color01);
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  content: '';
}

.balloon {
  .era {
    background: none;

    &:before {
      background: none;
    }
  }
}

/* 吹き出し　ここまで */
/* 採用情報用テーブル　ここまで */

/* ブログ用テーブル　ここから　*/
.blog_table {
  border: 1px solid var(--btn_01);
  margin: 30px 0;

  tr {
    th {
      padding: 5px;
      text-align: center;
      background-color: var(--base_03);
    }

    td {
      padding: 5px;
      text-align: center;

    }
  }
}

/* ブログ用テーブル　ここまで　*/



/* シンプルなボタン　ここから */
.simple_btn {
  background-color: var(--btn_01);
  color: white;
  padding: 15px;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  margin: 20px auto;
  font-weight: var(--fontweightbold);
}

/* シンプルなボタン　ここまで */

/* 矢印ボタン02　ここから */
.arrow_circle {
  position: relative;
  display: inline-block;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}

.arrow_circle::before,
.arrow_circle::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 14px;
  margin: auto;
  content: '';
  vertical-align: middle;
}

.arrow_02 {
  display: flex;
  justify-content: center;
  background: var(--btn_01);
  border-radius: 50px;
  padding: 20px 20px;
  margin: 30px 0;
  color: white;
  font-weight: var(--fontweightbold);
  font-size: var(--fontsize20);
  transition: all 0.2s;

  @media(min-width:768px) {
    width: 400px;
    margin: 30px auto;
  }
}

.arrow_02::before {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: white;
  transition: all 0.2s;
}

.arrow_02::after {
  right: 22px;
  width: 5px;
  height: 5px;
  border-top: 1px solid var(--btn_01);
  border-right: 1px solid var(--btn_01);
  transform: rotate(45deg);
  transition: all 0.2s;
}

.arrow_02:hover:before {
  right: 10px;
}

.arrow_02:hover:after {
  right: 18px;
}

.arrow_02:hover:hover {
  opacity: 0.8;
}

/* 矢印ボタン02　ここまで */

/* 線のボタン　ここから */
.btn_line {
  display: flex;
  justify-content: center;
  border: var(--border_width2) solid var(--btn_01);
  background-color: white;
  border-radius: 50px;
  padding: 10px 25px;
  margin: 15px 0;
  color: var(--btn_01);
  font-weight: var(--fontweightbold);
  transition: all 0.2s;

  @media(min-width:768px) {
    width: 400px;
    margin: 30px auto;
  }
}

/* 線のボタン　ここまで */

/* 電話ボタン　ここから */
.tel_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  background: var(--btn_01);
  border-radius: 10px;
  transition: all 0.2s;
  color: white;
  margin: 20px 0;
  font-size: 1.8rem;
  font-weight: var(--fontweightbold);
  transition: all 0.2s;

  &:hover {
    opacity: 0.8;
  }

  &.tel_btn_line {
    background: none;
    border: 2px solid var(--btn_01);
    color: var(--btn_01);
  }

  img {
    width: 30px;
    margin-right: 5px;
  }

  @media(min-width:768px) {
    max-width: 400px;
    margin: 20px auto;
  }
}

/* 電話ボタン　ここまで */
/* 共通パーツ　ここまで */

/* swiper0　ここから */
.l-inner {
  position: relative;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10rem;
}

/* .l-section {
  border-top: 1px solid #eee;
} */
/* .l-section .l-inner {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
 */
[class*='swiper']:focus {
  outline: none;
}

.slide-media,
.thumb-media {
  position: relative;
  overflow: hidden;
}

.slide-media img,
.thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.swiper-button-prev,
.swiper-button-next {
  display: grid;
  place-content: center;
  width: 6.4rem;
  height: 6.4rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
}

.swiper-button-prev::before,
.swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: '';
  border-radius: 50%;
  -webkit-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
}

.swiper-button-prev::after,
.swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: '';
  border: solid var(--color-gray);
  border-width: 3px 3px 0 0;
}

.swiper-button-prev::after {
  margin-left: 0.4rem;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}

.swiper-button-next::after {
  margin-right: 0.4rem;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

/* .mv01 {
  margin-bottom: 16rem;
} */
.mv01 .l-inner {
  padding-bottom: 0;
}

.mv01 .swiper-fade .swiper-slide {
  -webkit-transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, -webkit-transform !important;
  transition-property: opacity, transform !important;
  transition-property: opacity, transform, -webkit-transform !important;
  pointer-events: none;
}

.mv01 .swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.mv01 .swiper-pagination {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 3.2rem;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  margin: auto;
  display: none;
}

.mv01 .swiper-pagination-bullet {
  display: block;
  width: 3px;
  height: 4rem;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  background-color: rgba(255, 255, 255, 0.4);
}

.mv01 .swiper-pagination-bullet:not(:first-child) {
  margin-top: 0.8rem;
}

.mv01 .swiper-pagination-bullet-active {
  background-color: var(--color-theme);
}

.mv01 .slide-media {
  height: 650px;
}

.mv01 .slide-media img {
  -webkit-transition: 7s 1s ease-out;
  transition: 7s 1s ease-out;
}

.mv01 .slide-title {
  font-size: 4rem;
  font-weight: normal;
  line-height: 1.6;
  position: absolute;
  top: 30px;
  left: 30px;
  color: #fff;
  writing-mode: vertical-rl;
  line-height: 1.3;
  /* text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.9); */
}

.mv01 .swiper-slide[class*='-active'] .slide-media img {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.mv01 .swiper-slide[class*='-active'] .slide-title {
  -webkit-animation: mv01-fadeIn 2s 0.5s var(--easing) both;
  animation: mv01-fadeIn 2s 0.5s var(--easing) both;
}

@-webkit-keyframes mv01-fadeIn {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
    -webkit-filter: blur(300px);
    filter: blur(300px);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes mv01-fadeIn {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
    -webkit-filter: blur(300px);
    filter: blur(300px);
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@media only screen and (max-width: 1024px) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  .l-inner {
    padding: 0 4rem;
  }

  .pc {
    display: none !important;
  }

  /* .mv01 {
      margin-bottom: 8rem;
   } */
  .mv01 .slide-media {
    height: max(90vh, 70vw);
  }
}

@media only screen and (max-width: 599px) {

  /* html {
      font-size: 50%;
   } */
  .pc-tab {
    display: none !important;
  }

  .mv01 .slide-title {
    font-size: 2.8rem;
  }
}

@media only screen and (min-width: 1025px) {
  .tab-sp {
    display: none !important;
  }

  .swiper-button-prev::before,
  .swiper-button-next::before {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }

  .swiper-button-prev:hover::before,
  .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@media only screen and (min-width: 600px) {
  .sp {
    display: none !important;
  }
}

.mv01 {
  position: relative;
}

.mv01 .fv_recruit_noticeblock {
  position: absolute;
  content: '';
  bottom: 20px;
  right: 20px;
  z-index: 1;
}

.mv01 .fv_recruit_notice {
  position: relative;
  display: inline-block;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  outline-offset: 5px;
  outline: 2px solid var(--accent02);
  background: var(--accent02);
  color: white;
  margin: 0 5px;

  &.notice1 {
    background-color: var(--btn_01);
    outline: 2px solid var(--btn_01);
    width: 120px;
    height: 120px;
  }
}

.mv01 .fv_recruit_notice span {
  position: absolute;
  display: inline-block;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  font-size: 1.4rem;
}

@media(min-width:768px) {
  .mv01 .fv_recruit_notice {
    width: 130px;
    height: 130px;
    margin: 0 10px;

    &.notice1 {
      width: 150px;
      height: 150px;
    }
  }

  .mv01 .fv_recruit_notice span {
    font-size: 1.8rem;
  }
}

@media(min-width:1024px) {
  .mv01 .fv_recruit_notice {
    width: 150px;
    height: 150px;

    &.notice1 {
      width: 170px;
      height: 170px;
    }
  }

  .mv01 .fv_recruit_notice span {
    font-size: 2rem;
  }
}

/* swiper0　ここまで */
/* swiper1　ここから */
.card01 {
  background-color: var(--base_04);
  margin: 80px 0 0;
  padding: 50px 0 10px;
}

.card01 h2 {
  color: var(--accent02);
}

.card01 .swiper-area {
  position: relative;
}

.card01 .swiper-pagination {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.2rem 0.8rem;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3.2rem;
  text-align: center;
  display: none;
}

.card01 .swiper-pagination-bullet {
  width: 1.6rem;
  height: 3px;
  cursor: pointer;
  -webkit-transition: var(--transition);
  transition: var(--transition);
  vertical-align: top;
  background-color: var(--color-gray);
}

.card01 .swiper-pagination-bullet-active {
  width: 4rem;
  background-color: var(--color-theme);
}

.card01 .swiper-button-prev,
.card01 .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: -90px;
  bottom: 0;
  margin: auto;
}

.card01 .swiper-button-prev {
  right: calc(100% + 2.4rem);
}

.card01 .swiper-button-next {
  left: calc(100% + 2.4rem);
}

.card01 .slide-media {
  padding-top: 62.5%;
  border-radius: 10px;
}

.card01 .slide-media img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
  transform: translateY(-16px);
}

.card01 .slide-content {
  padding: 20px 0;
  text-align: center;
}

.card01 .slide-date {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  color: var(--color-theme);
}

.card01 .slide-title {
  /* line-height: 1.6; */
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  /* height: 3.2em; */
  /* margin-top: 1.6rem; */
  font-size: 1.8rem;
  line-height: 1.4;
}

.card01 .txtlink1 {
  color: var(--accent02);
  text-decoration: none;
}

.card01 .txtlink2 {
  color: var(--btn_01);
  text-decoration: none;
}

.card01 .txtlink3 {
  color: rgba(255, 72, 0, 0.8);
  text-decoration: none;
}

@media only screen and (max-width: 1024px) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  .l-inner {
    padding: 0 4rem;
  }

  .pc {
    display: none !important;
  }

  .card01 .swiper-button-prev::before,
  .card01 .swiper-button-next::before {
    background-color: rgba(0, 0, 0, 0.3);
    -webkit-box-shadow: var(--box-shadow-dark);
    box-shadow: var(--box-shadow-dark);
  }

  .card01 .swiper-button-prev::after,
  .card01 .swiper-button-next::after {
    border-color: #fff;
  }

  .card01 .swiper-button-prev {
    right: calc(100% - 3.2rem);
  }

  .card01 .swiper-button-next {
    left: calc(100% - 3.2rem);
  }
}

@media only screen and (max-width: 599px) {

  /* html {
      font-size: 50%;
   } */
  .pc-tab {
    display: none !important;
  }
}

@media only screen and (min-width: 1025px) {
  .tab-sp {
    display: none !important;
  }

  .swiper-button-prev::before,
  .swiper-button-next::before {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }

  .swiper-button-prev:hover::before,
  .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }

  .card01 .swiper {
    padding-top: 16px;
  }

  .card01 .slide {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }

  .card01 .slide img {
    -webkit-transition: var(--transition);
    transition: var(--transition);
  }

  .card01 .slide:hover {
    /* -webkit-transform: translateY(-16px);
      transform: translateY(-16px); */
    opacity: 0.8;
  }

  /* .card01 .slide:hover img {
      -webkit-transform: translateY(0);
      transform: translateY(0);
   } */
}

@media only screen and (min-width: 600px) {
  .sp {
    display: none !important;
  }
}

/* swiper1　ここまで */




/* Wordpressボタン　ここから */
body .is-layout-flex {
  margin: 20px 0;
}

/* Wordpressボタン　ここまで */
/* ページトップリンク　ここから */
/*リンクの形状*/
#page-top a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #9e9e9e;
  border-radius: 50%;
  width: 45px;
  height: 45px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s;

  @media (min-width: 1024px) {
    width: 55px;
    height: 55px;
  }
}

#page-top a:hover {
  opacity: 0.8;
}

#page-top a:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  width: 13px;
  height: 13px;
  border-left: 3px solid white;
  border-bottom: 3px solid white;
  transform: translate(-50%, -30%) rotate(135deg);
  z-index: 1;
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  bottom: 50px;
  z-index: 2;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);

  @media (min-width: 1024px) {
    bottom: 40px;
  }
}

/*　上に上がる動き　*/
#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*　下に下がる動き　*/
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 1;
    transform: translateY(100px);
  }
}

/* ページトップリンク　ここまで */

/* モバイルフッターメニューボタン　ここから */
/*メニューをページ下部に固定*/
#sp-fixed-menu {
  position: fixed;
  width: 100%;
  bottom: 0px;
  font-size: 0;
  opacity: 0.9;
  z-index: 3;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 95%;
  filter: drop-shadow(0px -2px 4px rgba(0, 0, 0, 0.2));
}

#sp-fixed-menu li {
  justify-content: center;
  align-items: center;
  width: 50%;
  padding: 0;
  margin: 0;
  font-size: 14px;
}

#sp-fixed-menu .tel_btn {
  background: var(--btn_01);
  border-radius: 5px 0 0 0;
  border-right: 2px solid #fff;
}

#sp-fixed-menu .tel_btn img,
#sp-fixed-menu .recruit_btn img {
  width: 20px;
  margin-right: 5px;
}

#sp-fixed-menu .recruit_btn {
  background: var(--accent02);
  border-radius: 0 5px 0 0;
}

/*ボタンを調整*/
#sp-fixed-menu li a {
  color: #fff;
  text-align: center;
  display: block;
  width: 100%;
  padding: 8px;
}

/* モバイルフッターメニューボタン　ここまで */

/* ハンバーガーメニュー　ここから */
.menu-toggle {
  cursor: pointer;
  /* Initially hidden */
  padding: 10px;
  position: fixed;
  top: 10px;
  right: 10px;
  /* background-color: var(--accent01); */
  border-radius: 5px;
  z-index: 5;
}

.menu-toggle span {
  display: block;
  width: 35px;
  height: 3px;
  margin: 7px 0;
  background-color: var(--btn_01);
  transition: 0.4s;
}

.menu-toggle.open span:nth-child(1) {
  transform: rotate(-45deg) translate(-6px, 6px);
  background-color: white;
}

.menu-toggle.open span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.open span:nth-child(3) {
  transform: rotate(45deg) translate(-8px, -8px);
  background-color: white;
}

.menu {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: -100%;
  /* Initially hidden off-screen */
  width: 250px;
  height: 100%;
  background-color: var(--btn_01);
  /* Blue background */
  border-left: 1px solid #ccc;
  transition: right 0.4s ease;
  z-index: 4;
  margin: 0;
  text-align: left;
  overflow-y: auto;
}

.menu img {
  width: 20px;
  margin-right: 5px;
}

.menu.open {
  right: 0;
  /* Slide in from the right */
}

.menu ul {
  list-style-type: none;
  padding: 0;
  padding-top: 60px;
  display: block;
  font-size: 1.4rem;
  background-color: var(--btn_01);
}

.menu li {
  border-bottom: 1px solid white;
  border-left: none;
  border-right: none !important;
  position: relative;
}

.menu a {
  display: block;
  padding: 5px;
  text-decoration: none;
  color: white;
}

.menu a:hover {
  background-color: var(--txt_color2);
}

.menu .tel_btn {
  background: none;
  font-size: 1.6rem;
  margin: 10px 0;
}

.submenu {
  display: none;
  padding-left: 20px;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.submenu li {
  border: none;
  margin: 2px 5px;
}

.accordion-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  margin-bottom: 5px;
}

.accordion-icon {
  font-size: 2rem;
  transition: transform 0.4s;
  color: white;
  position: absolute;
  top: -2px;
  right: 15px;
  padding: 0 10px 4px 10px;
  z-index: 1;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /* Dark overlay */
  z-index: 3;
  display: none;
  transition: opacity 0.4s;
}

.overlay.open {
  display: block;
  opacity: 1;
}

.accordion-toggle.active .accordion-icon {
  transform: rotate(0deg);
}

@media (min-width: 768px) {
  .menu-toggle {
    display: none;
    /* Hide on larger screens */
  }
}

@media (max-width: 769px) {
  .menu-toggle {
    display: block;
    /* Show on smaller screens */
  }
}

/* ハンバーガーメニュー　ここまで */

/*========= ナビゲーションドロップダウンメニュー ===============*/
/*==ナビゲーション全体の設定*/
nav {
  color: white;
  text-align: center;
}

/*ナビゲーションを横並びに*/
nav ul {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--base_02);
  font-size: 1.8rem;
}

/*2階層目以降は横並びにしない*/
nav ul ul {
  display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li {
  position: relative;
  margin: 10px;
}

/*ナビゲーションのリンク設定*/
nav ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: var(--txt_color);
  padding: 5px 15px;
  border-radius: 5px;
  transition: all 0.3s;
}

nav ul li .notice {
  color: var(--accent02);
}

nav ul li li a {
  padding: 10px;
}

nav ul li a:hover {
  opacity: 0.8;
}

nav ul .nolink:hover {
  opacity: 1;
}

nav img {
  width: 25px;
}

/*==矢印の設定*/
/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before {
  content: '';
  position: absolute;
  left: 1px;
  top: 13px;
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--accent01);
  border-right: 2px solid var(--accent01);
  transform: rotate(135deg);
}

/*3階層目を持つliの矢印の設定*/
nav ul ul li.has-child::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 17px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

/*== 2・3階層目の共通設定 */
/*下の階層を持っているulの指定*/
nav li.has-child ul {
  /*絶対配置で位置を指定*/
  position: absolute;
  left: 0;
  top: 52px;
  z-index: 4;
  /*形状を指定*/
  background: var(--accent01);
  width: 250px;
  /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
  /*アニメーション設定*/
  transition: all 0.3s;
  /* width: 500px; */
  /* display: flex; */
  /* flex-wrap: wrap; */
  border-radius: 5px;
}

nav li.has-child ul li {
  border-bottom: 1px solid white;
}

nav li.has-child ul li:last-of-type {
  border-bottom: none;
}

/*hoverしたら表示*/
nav li.has-child:hover>ul,
nav li.has-child ul li:hover>ul,
nav li.has-child:active>ul,
nav li.has-child ul li:active>ul {
  visibility: visible;
  opacity: 1;
}

/*ナビゲーションaタグの形状*/
nav li.has-child ul li a {
  color: white;
  padding: 5px;
}

nav li.has-child ul li:last-child a {
  border-bottom: none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active {
  opacity: 0.8;
}

/*==3階層目*/
/*3階層目の位置*/
nav li.has-child ul ul {
  top: 0;
  left: 182px;
  background: #66adf5;
}

nav li.has-child ul ul li a:hover,
nav li.has-child ul ul li a:active {
  background: #448ed3;
}

/*==768px以下の形状*/
@media (max-width: 768px) {
  nav {
    padding: 0;
  }

  nav ul {
    /* display: block; */
    display: none;
  }

  nav li.has-child ul,
  nav li.has-child ul ul {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    visibility: visible;
    /*JSで制御するため一旦表示*/
    opacity: 1;
    /*JSで制御するため一旦表示*/
    display: none;
    /*JSのslidetoggleで表示させるため非表示に*/
    transition: none;
    /*JSで制御するためCSSのアニメーションを切る*/
  }

  /*矢印の位置と向き*/
  nav ul li.has-child::before {
    left: 20px;
  }

  nav ul ul li.has-child::before {
    transform: rotate(135deg);
    left: 20px;
  }

  nav ul li.has-child.active::before {
    transform: rotate(-45deg);
  }

  #g-nav ul {
    display: block;
  }
}

/*========= ナビゲーションドロップダウンメニュー　ここまで ===============*/

/* ヘッダー　ここから */
header .columns {
  background: white;
  padding: 10px 10px 2px;
  display: flex;
}

header .columns .left h1 a {
  transition: all 0.2s;
}

header .columns .left h1 a:hover {
  opacity: 0.8;
}

header .columns .left h1 a img {
  width: 140px;
}

header .columns .right {
  margin-right: 55px;
  width: 100%;
}

header .right .right_columns {
  margin: 0 5px;
}

header .right .right_columns .right {
  margin-right: 0;
}

header .right .right_columns .columns {
  display: flex;
  justify-content: center;
}

header .right .right_columns .left {
  margin-bottom: 5px;
}

header .tel_btn {
  padding: 3px;
  margin: 0;
  border-radius: 5px;
  color: white;
  font-size: 1.3rem;
}

header .tel_btn span {
  color: white;
}

header .tel_btn img {
  width: 20px;
  margin-right: 5px;
}

header .right .right_columns .right .recruit_btn {
  background-color: var(--accent02);
  font-weight: var(--fontweightbold);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 3px;
  background: var(--accent02);
  border-radius: 5px;
  transition: all 0.2s;
}

header .right .right_columns .right .recruit_btn:hover {
  opacity: 0.8;
}

header .right .right_columns .recruit_btn {
  color: white;
  font-size: 1.3rem;
}

header .right .right_columns .right a img {
  width: 20px;
  margin-right: 5px;
}

header .right .right_columns .right p {
  text-align: center;
  font-size: 1.1rem;
  margin-top: 1px;
}

header nav .pc_nav {
  display: none;
}

.p_header_img {
  position: relative;
}

.p_header_img img {
  object-fit: cover;
  height: 350px;
  opacity: 0.8;
  /* filter: blur(3px); */
  border-radius: 0;
  clip-path: ellipse(120% 95% at 50% 3%);
}

.p_header_img_entry {
  padding: 10px;

  img {
    clip-path: none;
    border-radius: var(--border_radius10);
  }
}

.p_header_img h1 {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  background-color: rgba(255, 255, 255, 0.7);
  padding: 10px;
  border-radius: 10px;
  /* text-shadow: 3px 3px 1px rgba(255, 255, 255, 0.8); */
}

/* リクルートページのヘッダー　ここから */
.p_header_img.recruit {
  display: none;
}

.p_header_img .recruit_heading {
  text-align: center;
}

/* リクルートページのヘッダー　ここまで */

/* パンくずリスト　ここから */
.breadcrumb {
  padding: 0 20px;
}

/* パンくずリスト　ここまで */
/* ヘッダー　ここまで */

/* Topページ　ここから */
/* 40周年　ここから */
#index_anniversary {
  background-image: linear-gradient(rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.92)), url(../tachibana/assets/img/index_commitment_img2.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;

  h2 {
    font-size: var(--fontsize24);
  }
}

/* 40周年　ここまで */

/* ビデオ　ここから */
#video {
  background: url(../tachibana/assets/img/bg_01_img.webp);
  background-repeat: no-repeat;
  background-position: right;
  background-size: cover;
  background-color: rgba(255, 255, 255, 0.3);
  background-blend-mode: lighten;
  margin: 30px 20px;
  padding: 50px 0;
  border-radius: 10px;

  .inner {
    margin: 0 20px;

    .video1,
    .video2 {
      display: flex;
      flex-direction: column;
      margin: 0 auto 20px;
      /* aspect-ratio: 16 / 9; */
      max-width: 100%;

      video {
        width: 100%;
        height: auto;
      }
    }
  }
}

/* ビデオ　ここまで */

/* お知らせ　ここから */
#news {
  margin: 30px 20px;
  padding: 50px 0;
  background: white;
  border-radius: 10px;

  .inner {
    margin: 0 20px;

    .date_ttl {
      padding-bottom: 5px;
      border-bottom: 2px dashed var(--txt_color);

      .title {
        margin-top: 0;
      }
    }

    article {
      margin: 20px 0;
      padding-bottom: 5px;

      a {
        transition: all 0.2s;

        &:hover {
          opacity: 0.8;
        }
      }
    }
  }
}

/* お知らせ　ここまで */

/* 施設からのお知らせ　ここから */
#complex_news {
  margin: 30px 20px;
  padding: 50px 0;
  background: white;
  border-radius: 10px;

  /* display: none; */
  .inner {
    margin: 0 20px;

    article {
      padding-bottom: 5px;
      margin: 20px 0;
      border-bottom: 2px dashed var(--txt_color);

      a {
        transition: all 0.2s;

        &:hover {
          opacity: 0.8;
        }

        .ttl {
          .title {
            margin-top: 5px;
          }
        }
      }
    }
  }
}

/* 施設からのお知らせ　ここまで */

/* 人工呼吸器患者さまの受け入れ　ここから */
#index_ventilator {
  background: #ffebf6;
  background: radial-gradient(circle, rgba(255, 235, 246, 1) 0%, rgba(255, 255, 255, 1) 100%);
}

/* 人工呼吸器患者さまの受け入れ　ここまで */

/* Topのリクルート　ここから */
#index_recruit {
  background: url(../tachibana/assets/img/flower_bg.svg);
  background-repeat: repeat;
  background-size: 100%;
  background-position: center;
  background-color: rgba(255, 255, 255, 0.95);
  background-blend-mode: lighten;

  .img {
    margin: 30px auto;
    width: 300px;

    img {
      border-radius: 50%;
      width: 300px;
      height: 300px;
      object-fit: cover;
    }
  }
}

/* Topのリクルート　ここまで */

/* 患者さまのための病院を目指して　ここから */
#index_motto.stripe {
  background-image: repeating-linear-gradient(140deg, var(--base_03), var(--base_03) 10px, transparent 10px, transparent 20px);

  section {
    background-color: white;
    padding: 30px 0;
    margin: 0 30px;
    border-radius: var(--border_radius10);

    .index_motto_block {
      .video_block {
        max-width: 100%;

        video {
          /* aspect-ratio: 16 / 9; */
          width: 100%;
          height: auto;
        }
      }
    }
  }
}

/* 患者さまのための病院を目指して　ここまで */

/* 診療案内　ここから */
#index_medical_information {
  background: url(../tachibana/assets/img/wave_right.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

  .subject {
    position: relative;
    background-color: var(--accent01);
    padding: 10px;
    color: white;
    border-radius: 0 0 10px 10px;
    margin-top: -50px;
    font-size: var(--fontsize18);
  }
}

/* 診療案内　ここまで */

/* もの忘れ　ここから */
#index_forget.stripe {
  background-image: repeating-linear-gradient(140deg, white, white 10px, transparent 10px, transparent 20px);

  section {
    background-color: var(--base_03);
    padding: 40px 0;
    margin: 0 30px;
    border-radius: var(--border_radius10);

    .columns {
      .left {
        margin: 0 30px 0 0;
      }
    }
  }
}

/* もの忘れ　ここまで */

/* プラセンタ　ここから */
#index_placenta {
  img {
    object-fit: cover;
    height: 300px;
  }
}

/* プラセンタ　ここまで */

/* 当院のこだわり　ここから */
#index_commitment {
  background: url(../tachibana/assets/img/wave_left.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

  h2 {
    position: relative;

    &:before {
      position: absolute;
      content: '';
      background: url(../tachibana/assets/img/logo_only.svg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 150px;
      height: 130px;
      top: -60px;
      left: 0;
      opacity: 0.08;
    }
  }

  .index_commitment_block {
    h3 {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      margin-bottom: 30px;
      color: var(--accent01);

      img {
        width: 150px;
        margin-bottom: 10px;
      }
    }

    .right {
      img {
        box-shadow: var(--box_shadow_black_blur);
      }
    }
  }
}

/* 当院のこだわり　ここまで */

/* よくあるご質問　ここから */
#index_qa {
  background: url(../tachibana/assets/img/bg_bubbles.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;

  .cp_qa01 {
    border-top: 1px dotted var(--txt_color);
  }

  .cp_qa01 .cp_actab input {
    display: none;
  }

  /*質問テキスト*/
  .cp_qa01 .cp_actab {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 1px;
    color: var(--txt_color);

    .tel_btn {
      border: var(--border_width2) solid white;
    }

    .arrow_02 {
      border: var(--border_width2) solid white;
    }
  }

  .cp_qa01 .cp_actab label {
    font-weight: bold;
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 0 0 0;
    padding: 1em 2em 1em 1em;
    cursor: pointer;
    border-bottom: 1px dotted var(--txt_color);
  }

  .cp_qa01 .cp_actab .cp_actab-content p {
    margin: 1em;
  }

  .cp_qa01 .cp_actab label:hover {
    color: var(--btn_01);
  }

  .cp_qa01 .cp_actab input:checked~label {
    color: var(--btn_01);
  }

  /*答えテキスト*/
  .cp_qa01 .cp_actab .cp_actab-content {
    overflow: hidden;
    max-height: 0;
    color: #ffffff;
    background: rgba(205, 101, 160, 0.9);
    transition: max-height 0.5s ease;
  }

  .cp_qa01 .cp_actab input:checked~.cp_actab-content {
    max-height: 40em;
  }

  /*▼アイコン*/
  .cp_qa01 .cp_actab label::after {
    position: absolute;
    content: '';
    right: 10px;
    width: 15px;
    height: 10px;
    background: var(--txt_color);
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    transition: all 0.5s ease;
  }

  .cp_qa01 .cp_actab label:hover::after {
    background: var(--btn_01);
  }

  .cp_qa01 .cp_actab input[type=checkbox]:checked+label::after {
    transform: rotateX(180deg);
    background: var(--btn_01);
  }

  .tel_btn {
    margin: 20px;
  }
}

/* よくあるご質問　ここまで */

/* Topの病院概要　ここから */
#index_hospital_overview {
  background-color: white;

  .index_hospital_overview_block {
    table {

      tr {
        background-color: white;

        th {
          padding: 5px;
          border-top: 1px solid var(--accent01);
          border-bottom: 1px solid var(--accent01);
          text-align: center;
          width: 100px;
        }

        td {
          padding: 5px;
          border-top: 1px solid var(--btn_01);
          border-bottom: 1px solid var(--btn_01);
        }
      }
    }
  }
}

/* Topの病院概要　ここまで */

/* Topの予防健診　ここから */
#index_healthcheckups.dots {
  background-color: white;
  background-image: radial-gradient(circle, #fff6ed 5px, transparent 5px), radial-gradient(circle, #fdf1e4 5px, transparent 5px);
  background-position: 0 0, 30px 0;
  background-size: 60px 30px;
}

/* Topの予防健診　ここまで */

/* 複合施設のご案内　ここから */
#index_complex_information {
  background-color: var(--base_02);
  position: relative;

  img {
    margin-top: 20px;
  }
}

/* 複合施設のご案内　ここまで */
/* Topページ　ここまで */

/* フッター　ここから */
.copyright {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 500;
}

footer {
  margin: 100px 0 0;
  padding: 10px 0 60px;
  background: white;
  border-top: 2px solid var(--accent01);
}

footer .columns {
  margin: 0 10px;
}

footer .left {
  width: 300px;
  margin: 0 auto;
}

footer .left .logo_img {
  width: 300px;
  transition: all 0.2s;
}

footer .left .logo_img:hover {
  opacity: 0.8;
}

footer .right {
  display: flex;
  justify-content: center;
}

footer .right .tel_btn {
  display: flex;
  justify-content: center;
  padding: 10px;
  margin: 5px;
  background: var(--btn_01);
  color: white;
  border-radius: 5px;
  width: 50%;
  font-size: 1.3rem;
  transition: all 0.2s;
}

footer .right .recruit_btn {
  display: flex;
  justify-content: center;
  padding: 10px;
  margin: 5px;
  background: var(--accent02);
  color: white;
  border-radius: 5px;
  width: 50%;
  font-size: 1.3rem;
  font-weight: var(--fontweightbold);
  transition: all 0.2s;
}

footer .right .tel_btn:hover,
footer .right .recruit_btn:hover {
  opacity: 0.8;
}

footer .right .tel_btn img,
footer .right .recruit_btn img {
  width: 20px;
  margin-right: 5px;
}

footer .middle {
  background: var(--accent01);
  padding-bottom: 30px;
  color: white;
}

footer .middle .google_map .block {
  display: flex;
  justify-content: center;
}

footer .middle .block p {
  display: flex;
  justify-items: center;
  align-items: center;
}

footer .middle .block img {
  width: 50px;
  padding-right: 10px;
}

footer .footer_nav {
  margin: 30px 0 20px;
  font-weight: 500;
}

footer .footer_nav .list1,
footer .footer_nav .list2,
footer .footer_nav .list3,
footer .footer_nav .list4,
footer .footer_nav .list5 {
  margin: 20px 0;
}

footer ul {
  display: block;
  margin: 0;
  background-color: white;
}

footer ul li {
  margin: 10px 0;
}

footer ul li a {
  background: none;
  color: var(--txt_color);
  font-size: 1.5rem;
  padding: 0;
}

footer h5 {
  color: var(--txt_color);
  font-size: 1.5rem;
  margin: 10px 0;
  font-weight: 500;
}

footer h5 a {
  transition: all 0.3s;
}

footer h5 a:hover {
  opacity: 0.8;
}

/* フッター　ここまで */

/* エントリー　ここから */
#entry {
  background: rgb(252, 219, 237, 0.5);

  .pageh2_point_block {
    .pageh2_point {
      position: relative;
      padding: 0 1.5rem 0 1.5rem;
      margin-top: 0;
      display: inline-block;

      &:before {
        position: absolute;
        top: 0rem;
        height: 4.8rem;
        color: var(--btn_01);
        content: "";
        border-left: solid 4px;
        left: -20px;
        transform: rotate(-30deg);
      }

      &:after {
        position: absolute;
        top: 0rem;
        height: 4.8rem;
        color: var(--btn_01);
        content: "";
        border-right: solid 4px;
        right: -20px;
        transform: rotate(30deg);
      }
    }
  }

  .entry_columns {
    .bnr_block {
      position: relative;

      .mail_block {
        position: absolute;
        content: "";
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        background-color: white;
        opacity: 0.9;
        border-radius: var(--border_radius10);
        padding: 30px;

        img {
          width: 50px;
        }
      }

      .tel_block {
        position: absolute;
        content: "";
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        flex-direction: column;
        align-items: center;
        background-color: white;
        opacity: 0.9;
        border-radius: var(--border_radius10);
        padding: 10px;

        img {
          width: 50px;
        }
      }

      .bnr_img {
        object-fit: cover;
        height: 200px;
      }

      .paragraph {
        font-weight: var(--fontweightbold);
      }
    }
  }
}

/* エントリー　ここまで */

/* 応募フォーム　ここから */
#p_entry {
  background-color: white;
}

.p_entry_block {
  margin: 0 20px;
  padding: 40px 0;
  background: #f5ecf1;
  border-radius: var(--border_radius10);

  @media(min-width:1024px) {
    width: 1000px;
    margin: 0 auto;
  }

  .in_inner {
    margin: 0 30px;
  }
}


/* 応募フォーム　ここまで */

/* 病院概要　ここから */
#p_outline {
  .p_about {
    position: relative;

    &:before {
      position: absolute;
      content: '';
      background: url(../tachibana/assets/img/logo_only.svg);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center;
      width: 300px;
      height: 280px;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      opacity: 0.08;
    }
  }

  .p_overview {
    background-color: var(--base_02);
  }
}

.p_overview_table {
  border: 1px solid var(--accent01);
  border-radius: 5px;

  tr {

    th {
      background-color: var(--accent01);
      text-align: center;
      padding: 10px;
      border-bottom: 1px solid white;
      color: white;
      white-space: nowrap;
    }

    td {
      padding: 10px;
      background-color: white;
      border-bottom: 1px solid var(--accent01);
    }
  }

  .tr_first {
    .th_first {
      border-radius: 5px 0 0 0;
    }

    .td_first {
      border-radius: 0 5px 0 0;
    }
  }

  .tr_last {
    .th_last {
      border-bottom: none;
      border-radius: 0 0 0 5px;
    }

    .td_last {
      border-bottom: none;
      border-radius: 0 0 5px 0;
    }
  }
}

/* 病院概要　ここまで */

/* 基本方針　ここから */
#p_about {
  .p_policy {
    img {
      object-fit: cover;
      height: 250px;
    }
  }

  .p_greetings {
    background-color: var(--base_02);
  }

  .chairman_name {
    text-align: right;
  }
}

/* 基本方針　ここまで */

/* 施設案内　ここから */
#p_info {
  .p_point {
    background: url(../tachibana/assets/img/wave_right.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }

  .p_medical_consultation_room {
    background-color: var(--base_02);

    .time_table2 {
      .tdfirst {
        border-radius: 0 5px 0 0;
      }
    }
  }

  .p_hospital_atmosphere {
    background-color: white;
    position: relative;

    .columns {
      display: flex;
      justify-content: space-around;
      flex-wrap: wrap;

      .img {
        width: 150px;
        margin: 5px;

        img {
          width: 150px;
          box-shadow: var(--box_shadow_blue);
        }
      }
    }
  }
}

/* 施設案内　ここまで */

/* 入院案内　ここから */
#p_hospitalization {
  background-color: var(--base_02);


  .p_dermatology_rounds {
    background-color: var(--base_01);

    .points_block_columns1,
    .points_block_columns2,
    .points_block_columns3 {
      position: relative;

      .circle {
        position: absolute;
        content: '';
        display: inline-block;
        width: 70px;
        height: 70px;
        border-radius: 50%;
        background: var(--accent01);
        text-align: center;
        line-height: 70px;
        color: white;
        font-size: var(--fontsize24);
        top: -40px;
        left: 50%;
        transform: translateX(-50%);
      }
    }
  }
}

/* 入院案内　ここまで */

/* 外来案内　ここから */
#p_outpatient_information {
  .table_schedule_block {
    td {
      background-color: white;
    }
  }

  .p_flow {
    background-color: var(--base_02);
  }
}

/* 外来案内　ここまで */

/* リハビリテーション　ここから */
#p_rehabilitation {
  .columns {
    img {
      object-fit: cover;
      height: 250px;
    }
  }
}

/* リハビリテーション　ここまで */

/* アクセス　ここから */
#p_access {
  .free_bus_root_block {
    background-color: white;
    padding: 20px;
    border-radius: var(--border_radius10);

    .free_bus_root_block_unorder {
      li {
        margin: 5px 0;

        .logo_img {
          width: 25px;
          margin-right: 5px;
        }
      }
    }

    .arrow_02 {
      background-color: var(--accent01);
    }
  }

  .jr_bus_block {
    .jr_bus_block_columns {
      .going {
        color: white;
        padding: 5px 10px;
        border-radius: var(--border_radius5);
        background: #CD65A0;
        background: linear-gradient(137deg, rgba(205, 101, 160, 1) 0%, rgba(205, 101, 160, 1) 69%, rgba(105, 140, 200, 1) 100%);
      }

      .return {
        color: white;
        padding: 5px 10px;
        border-radius: var(--border_radius5);
        background: #698CC8;
        background: linear-gradient(137deg, rgba(105, 140, 200, 1) 0%, rgba(105, 140, 200, 1) 69%, rgba(205, 101, 160, 1) 100%);

      }

      .jr_bus_block_return {
        .btn_line {
          border-color: var(--accent01);
          color: var(--accent01);
        }
      }
    }
  }

  .bycar {
    .bycar_img_block {
      position: relative;

      .arrow_under {
        position: relative;
        display: inline-block;
        width: 62px;
        height: 33px;
        bottom: -10px;
        left: 50%;
        transform: translateX(-50%);
      }

      .arrow_under::before,
      .arrow_under::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: calc(50% - 2px);
        width: 4px;
        height: 25px;
        border-radius: 9999px;
        background-color: var(--accent01);
        transform-origin: 50% calc(100% - 2px);
      }

      .arrow_under::before {
        transform: rotate(45deg);
      }

      .arrow_under::after {
        transform: rotate(-45deg);
      }
    }
  }
}

/* アクセス　ここまで */

/* 面会　ここから */
#p_visitation {

  .p_online_meeting {
    background-color: var(--base_03);

    .p_flow {

      .time_table2 {
        .tdfirst {
          border-radius: 0 5px 0 0;
        }
      }
    }
  }
}

/* 面会　ここまで */

/* 筋ジストロフィー　ここから */
#p_muscular_dystrophy {
  background-color: var(--base_02);

  #type_classification {
    .type {
      table {
        border: 1px solid var(--btn_01);
        border-radius: 5px;
        background-color: white;
        text-align: center;

        tr:nth-of-type(2n+1) {
          background-color: var(--main_color02);
        }

        th {
          padding: 5px;
          background-color: var(--btn_01);
          color: white;
        }

        td {
          padding: 5px;
          border-bottom: 1px solid var(--btn_01);
        }

        .trlast {
          td {
            border-bottom: none;
          }
        }
      }
    }
  }

  #what_kind {
    table {
      border: 1px solid var(--btn_01);
      border-radius: 5px;
      background-color: white;

      th {
        background-color: var(--btn_01);
        color: white;
        padding: 5px;
        border-bottom: 1px solid white;
      }

      td {
        padding: 5px;
        text-align: right;
        border-bottom: 1px solid var(--btn_01);
      }

      .trlast {
        th {
          border-bottom: none;
        }

        td {
          border-bottom: none;
        }
      }
    }
  }

  .cause {
    table {
      border: 1px solid var(--btn_01);
      border-radius: 5px;
      background-color: white;
      text-align: center;

      tr:nth-of-type(2n+1) {
        background-color: var(--main_color02);
      }

      th {
        padding: 5px;
        background-color: var(--btn_01);
        color: white;
      }

      td {
        padding: 5px;
        border-bottom: 1px solid var(--btn_01);
      }

      .trlast {
        td {
          border-bottom: none;
        }
      }
    }
  }

  .symptoms {
    table {
      border: 1px solid var(--btn_01);
      border-radius: 5px;
      background-color: white;
      text-align: center;


      th {
        padding: 5px;
        background-color: var(--btn_01);
        color: white;
      }

      td {
        padding: 5px;
        border-bottom: 1px solid var(--btn_01);
        border-right: 1px solid var(--btn_01);
      }

      .tdlast {
        border-right: none;
      }

      .trfirst {
        td {
          border-right: 1px solid white;
          background-color: var(--btn_01);
          color: white;
        }
      }

      .trsecond {
        th {
          border-right: 1px solid white;
        }

        .thlast {
          border-right: none;
        }
      }

      .trlast {
        td {
          border-bottom: none;
        }
      }
    }
  }
}

/* 筋ジストロフィー　ここまで */

/* 認知症　ここから */
#p_forgetfulness {
  .simple_btn {
    img {
      width: 20px;
      margin-left: 5px;
    }

    @media(min-width:768px) {
      width: 400px;
      margin: 30px auto;
    }
  }

  .un_order_list_asterisk.new_orange_plan {
    background-color: #FFCFB9;
  }
}

#p_forgetfulness {
  table {
    border: 2px solid var(--btn_01);
    margin: 20px 0;
    text-align: center;
    border-radius: 5px;

    th {
      background: var(--btn_01);
      padding: 5px;
      color: white;
    }

    td {
      border-right: 2px solid var(--btn_01);
      border-bottom: 2px solid var(--btn_01);
      padding: 5px;
      background: white;
    }


    tr:last-of-type td:last-of-type {
      border-radius: 0 0 10px 0;
    }

    tr:first-of-type td:last-of-type {
      border-radius: 0 10px 0 0;
    }

    th:last-of-type {
      border-bottom: none;
    }

    tr:last-of-type td {
      border-bottom: none;
    }

    td:last-of-type {
      border-right: none;
    }
  }
}

/* 認知症　ここまで */

/* 多発性硬化症　ここから */
#p_multiple_sclerosis {
  background-color: var(--base_02);

  #p_multiple_sclerosis_about {
    table {
      border: 1px solid var(--btn_01);
      border-radius: 5px;
      background-color: white;
      text-align: center;

      th {
        padding: 5px;
        background-color: var(--btn_01);
        color: white;
      }

      td {
        padding: 5px;
        border-bottom: 1px solid var(--btn_01);
      }

      .trlast {
        td {
          border-bottom: none;
        }
      }
    }
  }
}

/* 多発性硬化症　ここまで */

/* パーキンソン病　ここから */
#p_parkinson_disease {
  background-color: var(--base_02);
}

/* パーキンソン病　ここまで */

/* 症状一覧 下層ページ　ここから */
#p_symptoms_list {
  img {
    object-fit: cover;
    height: 250px;
  }

  .un_order_list_symptoms {
    display: flex;
    flex-wrap: wrap;

    li {
      display: block;
      margin: 5px;

      .btn_line {
        display: inline-block;
        margin: 0;
      }
    }
  }
}

/* 症状一覧 下層ページ　ここまで */

/* 内科疾患　ここから */
#p_internalmedicine_symptoms {

  .list_of_diseases {
    ul {
      display: flex;
      flex-wrap: wrap;

      li {
        margin: 5px;

        .btn_line {
          margin: 0;
        }
      }
    }
  }
}

/* 内科疾患　ここまで */

/* 老年内科　ここから */
#p_geriatrics {
  background-color: var(--base_02);
}

/* 老年内科　ここまで */

/* 皮膚疾患　ここから */
#p_skin_diseases_symptoms {
  .p_skin_diseases_symptoms_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    li {
      width: calc(100% / 2.2);
      margin: 5px;

      a {
        margin: 0px;
      }
    }
  }
}

/* 皮膚疾患　ここまで */

/* 人工呼吸器　ここから */
#p_ventilator {
  .p_tracheotomy {
    .notice {
      margin-bottom: 30px;
    }
  }
}

/* 人工呼吸器　ここまで */

/* 料金表　ここから */
#p_price_list {
  .price_txt {
    margin: 0 0 20px;
  }

  .p_vaccine_table_block {
    table {
      border: 1px solid var(--accent01);
      background-color: white;
      border-radius: 5px;

      th {
        padding: 10px;
        background-color: var(--accent01);
        color: white;
      }

      .trfirst {
        .classfication {
          border-radius: 5px 0 0 0;
        }

        .price {
          border-radius: 0 5px 0 0;
        }
      }

      .price {
        text-align: right;
      }

      td {
        padding: 10px;
        border-bottom: 1px solid var(--accent01);
      }

      .trlast {
        td {
          border-bottom: none;
        }

        .classfication {
          border-radius: 0 0 0 5px;
        }

        .price {
          border-radius: 0 0 5px 0;
        }
      }

      tr:nth-of-type(2n+1) {
        background-color: var(--main_color02);
      }
    }
  }

  .p_document_fee_list_table_block {
    table {
      border: 1px solid var(--accent01);
      background-color: white;
      border-radius: 5px;

      th {
        padding: 10px;
        background-color: var(--accent01);
        color: white;
        border-bottom: 1px solid white;
      }

      td {
        text-align: right;
        padding: 5px;
        border-bottom: 1px solid var(--accent01);
        width: 100px;
      }

      .trfirst {
        .classfication {
          border-radius: 5px 0 0 0;
        }

        .price {
          border-radius: 0 5px 0 0;
        }

      }

      .trlast {
        .classfication {
          border-radius: 0 0 0 5px;
          border-bottom: none;
        }

        .price {
          border-radius: 0 0 5px 0;
          border-bottom: none;
        }
      }

      tr:nth-of-type(2n) {
        background-color: var(--main_color02);
      }
    }

    .table_block1 {

      .classfication,
      .price {
        border-bottom: none;
      }
    }
  }
}

/* 料金表　ここまで */

/* 医療関係者の方へ　ここから */
#p_medical_personnel {

  .bnr_columns {
    a {
      position: relative;

      span {
        position: absolute;
        content: '';
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        display: flex;
        justify-content: center;
        text-align: center;
        font-size: var(--fontsize28);
        color: var(--btn_01);
        font-weight: var(--fontweightbold);
        text-shadow: var(--text_shadow1);
      }

      img {
        object-fit: cover;
        height: 150px;
        border-radius: 0;
        filter: sepia(20%);
        transition: 0.3s ease-in-out;
        box-shadow: var(--box_shadow_black_blur);
        opacity: 0.4;
      }

      &:hover {
        img {
          filter: sepia(0);
        }
      }
    }
  }
}

/* 医療関係者の方へ　ここまで */

/* 下層のリクルートページ　ここから */
#p_recruit {
  background: url(../tachibana/assets/img/wave_right.svg);
  background-repeat: no-repeat;
  background-position: left -30px;
  background-size: cover;

  img {
    border-radius: 0;
  }

  .occupation {
    .occupation_inner {
      margin: 0 20px;

      .btn_columns {
        .arrow_02 {
          margin: 10px auto;
          padding: 5px 45px;
        }
      }

      .top_columns1 {
        .bnr_block {
          overflow: hidden;

          img {
            object-fit: cover;
            height: 150px;
            object-position: 0 -80px;

            &:hover {
              transform: scale(1.05);
            }
          }

          a {
            span {
              font-size: var(--fontsize18);
            }
          }
        }
      }

      .middle_columns {
        /* display: flex;
        flex-wrap: wrap;
        justify-content: center;

        .bnr_block {
          width: calc(100% / 2.3);
          margin: 5px;
        } */

        img {
          object-fit: cover;
          height: 100px;
          object-position: 0 -80px;
        }
      }

      .bnr_block {
        img {
          transition: all 0.3s;

          &:hover {
            opacity: 0.8;
          }
        }

      }
    }
  }

  .bnr_block {
    position: relative;
    margin: 30px 0;

    a {
      span {
        position: absolute;
        right: 0;
        bottom: 0;

        background-color: rgba(237, 139, 34, 0.8);
        text-align: right;
        width: 100%;
        padding: 2px 5px;
        color: white;
        font-weight: var(--fontweightbold);
      }

      .name3 {
        background-color: rgba(255, 72, 0, 0.8);
      }

      .doctor {
        background-color: rgba(105, 140, 200, 0.8);
      }
    }
  }

  .offer {
    margin: 50px 0;
    padding: 60px 0;
    background-color: var(--base_01);
    background-image: radial-gradient(#ffdcb7e6 1.5px, transparent 1.5px),
      radial-gradient(#ffdcb7e6 1.5px, var(--base_01) 1.5px);
    background-size: 30px 30px;
    background-position: 0 0, 15px 15px;
    overflow: hidden;

    h2 {
      span {
        position: relative;
        letter-spacing: 0.15em;
        font-size: var(--fontsize30);

        &:before {
          content: '●';
          position: absolute;
          color: var(--accent02);
          font-size: 1rem;
          top: -16px;
          left: 6px;
        }
      }
    }

    .columns {
      position: relative;

      .center {
        position: relative;
        z-index: 2;
        text-shadow: var(--text_shadow1);
      }

      .left {
        background: url(../tachibana/assets/img/recruit_offer_01_img.webp);
        width: 240px;
        height: 400px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        position: absolute;
        top: 10px;
        left: -50px;
        z-index: 1;
        opacity: 0.3;
      }

      .right {
        background: url(../tachibana/assets/img/recruit_offer_02_img.webp);
        width: 240px;
        height: 400px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        position: absolute;
        bottom: 10px;
        right: -50px;
        z-index: 1;
        opacity: 0.3;
      }
    }
  }

  .merit {
    background: url(../tachibana/assets/img/flower_bg.svg);
    background-repeat: repeat;
    background-position: center;
    background-size: 40%;

    .inner {
      background-color: rgba(255, 220, 183, 0.9);

    }

    h3 {
      position: relative;
    }

    h2 {
      letter-spacing: var(--letterspacing01);

      .fontsize_big {
        font-size: var(--fontsize32);
        color: var(--btn_01);
      }
    }

    .heading_point_01 {
      color: var(--btn_01);

      &:before {
        position: absolute;
        content: '';
        background: url(../tachibana/assets/img/recruit_point_01.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        width: 130px;
        height: 50px;
        top: -50px;
        left: -30px;
        transform: rotate(-5deg);
        opacity: 0.6;
      }
    }

    .heading_point_02 {
      color: var(--btn_01);

      &:before {
        position: absolute;
        content: '';
        background: url(../tachibana/assets/img/recruit_point_02.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        width: 130px;
        height: 50px;
        top: -50px;
        left: -30px;
        transform: rotate(-5deg);
        opacity: 0.6;
      }
    }

    .heading_point_03 {
      color: var(--btn_01);

      &:before {
        position: absolute;
        content: '';
        background: url(../tachibana/assets/img/recruit_point_03.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        width: 130px;
        height: 50px;
        top: -50px;
        left: -30px;
        transform: rotate(-5deg);
        opacity: 0.6;
      }
    }

    .heading_point_04 {
      color: var(--btn_01);

      &:before {
        position: absolute;
        content: '';
        background: url(../tachibana/assets/img/recruit_point_04.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        width: 130px;
        height: 50px;
        top: -50px;
        left: -30px;
        transform: rotate(-5deg);
        opacity: 0.6;
      }
    }

    .heading_point_05 {
      color: var(--btn_01);

      &:before {
        position: absolute;
        content: '';
        background: url(../tachibana/assets/img/recruit_point_05.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        width: 130px;
        height: 50px;
        top: -50px;
        left: -30px;
        transform: rotate(-5deg);
        opacity: 0.6;
      }
    }

    .columns {
      .merit_block {
        background-color: white;
        border-radius: var(--border_radius10);
        padding: 20px;
      }
    }
  }
}

/* 下層のリクルートページ　ここまで */

/* 看護師まとめページ　ここから */
#p_recruit_nurse_summary {
  background-color: var(--base_02);

  .arrow_02.notice {
    background-color: var(--accent02);
  }
}

/* 看護師まとめページ　ここまで */


/* 採用情報共通フォーマット　ここから */
#p_recruit_job_format {
  background-color: var(--base_02);

  .notice_block {
    background-color: var(--main_color01);
    padding: 30px;
    margin: 30px 0;
    border-radius: var(--border_radius10);
  }

  .points_block {
    ul {
      li {
        text-indent: -1em;
        padding-left: 1em;
        margin: 5px 0;

        img {
          width: 20px;
        }
      }
    }
  }
}

.p_recruit_grouphome_carehouse_caregiver {
  .balloon {
    .male_message {
      background-color: var(--base_02);

      &:before {
        background-color: var(--base_02);
      }
    }
  }
}

/* 採用情報共通フォーマット　ここまで */

/* 複合施設　ここから */
#p_care_complex {
  .p_care_complex_about_block {
    background: url(../tachibana/assets/img/wave_right.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-color: var(--base_02);

    .p_care_complex_about {
      img {
        object-fit: cover;
        height: 250px;
      }
    }
  }

  .p_event_scene {
    .columns {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;

      .img {
        width: calc(100% / 2.2);
        margin: 10px;

        img {
          border-radius: 54% 46% 56% 44% / 43% 52% 48% 57%;
        }
      }

      .img2,
      .img4,
      .img8 {
        img {
          border-radius: 39% 61% 37% 63% / 71% 33% 67% 29%;
        }
      }

      .img3,
      .img6 {
        img {
          border-radius: 63% 37% 59% 41% / 31% 33% 67% 69%;
        }
      }
    }
  }
}

/* 複合施設　ここまで */

/* グループホーム朝風　ここから */
#p_asakaze {
  .tel_btn {
    font-size: var(--fontsize22);
    margin: 20px auto 0;
  }

  .policy_block {
    .policy_title {
      background-color: var(--btn_01);
      color: white;
      padding: 5px;
      /* display: inline-block; */
    }

    .polcy_paragraph {
      font-family: var(--serif);
    }
  }

  .img_block {
    .columns {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;

      .img {
        width: calc(100% / 2.2);
        margin: 5px;

        img {
          object-fit: cover;
          height: 150px;
        }
      }
    }
  }

  .p_voice {

    .columns {
      display: flex;

      .left {
        width: 100%;

        .img {
          width: 100%;
          margin: 0;

          img {
            height: 200px;
          }
        }
      }
    }
  }

  .facility_overview_block {
    table {
      border: 1px solid var(--accent01);

      th {
        text-align: center;
        background-color: var(--accent01);
        color: white;
        padding: 5px;
        white-space: nowrap;
        border-bottom: 1px solid white;
      }

      td {
        padding: 5px;
        background-color: white;
        border-bottom: 1px solid var(--accent01);
      }

      .trlast {

        .thlast,
        .tdlast {
          border-bottom: none;
        }
      }
    }
  }
}

/* グループホーム朝風　ここまで */

/* グループホーム青空　ここから */
#p_aozora {
  .tel_btn {
    font-size: var(--fontsize22);
    margin: 20px auto 0;
  }

  .policy_block {
    .policy_title {
      background-color: var(--btn_01);
      color: white;
      padding: 5px;
      /* display: inline-block; */
    }

    .polcy_paragraph {
      font-family: var(--serif);
    }
  }

  .img_block {
    .columns {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;

      .img {
        width: calc(100% / 2.2);
        margin: 5px;

        img {
          object-fit: cover;
          height: 150px;
        }
      }
    }
  }

  .facility_overview_block {
    table {
      border: 1px solid var(--accent01);

      th {
        text-align: center;
        background-color: var(--accent01);
        color: white;
        padding: 5px;
        white-space: nowrap;
        border-bottom: 1px solid white;
      }

      td {
        padding: 5px;
        background-color: white;
        border-bottom: 1px solid var(--accent01);
      }

      .trlast {

        .thlast,
        .tdlast {
          border-bottom: none;
        }
      }
    }
  }
}

/* グループホーム青空　ここまで */

/* スカイラーク　ここから */
#p_skylark {
  .policy_block {
    .policy_title {
      background-color: var(--btn_01);
      color: white;
      padding: 5px;
      /* display: inline-block; */
    }

    .polcy_paragraph {
      font-family: var(--serif);
    }
  }

  .img_block {
    .columns {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;

      .img {
        width: calc(100% / 2.2);
        margin: 5px;

        img {
          object-fit: cover;
          height: 150px;
        }
      }
    }
  }

  .facility_overview_block {
    table {
      border: 1px solid var(--accent01);

      th {
        text-align: center;
        background-color: var(--accent01);
        color: white;
        padding: 5px;
        white-space: nowrap;
        border-bottom: 1px solid white;
      }

      td {
        padding: 5px;
        background-color: white;
        border-bottom: 1px solid var(--accent01);
      }

      .trlast {

        .thlast,
        .tdlast {
          border-bottom: none;
        }
      }
    }
  }
}

.flow_of_the_day {
  background: url(../tachibana/assets/img/bg_01_img.webp);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-blend-mode: lighten;
  background-color: rgb(233 241 255 / 89%);

  .inner {
    margin: 40px auto;
    max-width: 900px;
    padding: 60px 20px;
  }
}

.day_table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  border-radius: 12px;
  overflow: hidden;
}


.day_table th,
.day_table td {
  display: block;
  width: 100%;
  padding: 14px 16px;
  text-align: left;
  line-height: 1.6;
  border: none;
}

.day_table th {
  background: var(--base_02);
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  border-bottom: 1px solid #cbd5e0;
}

.day_table td {
  background: #fff;
  border-bottom: 2px solid var(--base_02);
  padding: 14px 16px 14px 40px;
}



/* スカイラーク　ここまで */

/* 内視鏡検査　ここから */
#p_endoscopy {
  .p_health_check {
    .time_table2 {
      th {
        width: 100px;
      }
    }
  }

  .p_endoscopy_choosing_reason {
    background-color: white;
  }

  .p_health_check {
    background-color: var(--base_03);
  }
}

/* 内視鏡検査　ここまで */

/* 医療関係者の方へ　ここから */
#medical_personnel .tel_btn img {
  width: 30px;
  margin-right: 5px;
}

/* 医療関係者の方へ　ここまで */

/* よくあるご質問　ここから */
.p_qa_block {
  border-bottom: 1px dotted var(--accent01);
}

.qa01 dt {
  position: relative;
  margin: 0 0 0.8em 30px;
  font-size: var(--fontsize18);
}

.qa01 dd {
  position: relative;
  margin: 0;
  padding: 0 0 10px 60px;

}

.qa01 dt::before,
.qa01 dd::before {
  position: absolute;
  margin: 0 0.5em 0 -30px;
  color: #ffffff;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  clip-path: circle(50% at 50% 50%);
}

.qa01 dt::before {
  content: '？';
  background: var(--btn_01);
}

.qa01 dd::before {
  position: absolute;
  content: '';
  background: var(--accent01);
  width: 20px;
  height: 2px;
  top: 35%;
  transform: translateY(-50%);
}

.qa01 dt::after,
.qa01 dd::after {
  position: absolute;
  top: 12px;
  width: 10px;
  height: 10px;
  content: '';
  clip-path: polygon(100% 53%, 0 0, 0 100%);
}

.qa01 dt::after {
  left: -10px;
  background: var(--btn_01);
}

.qa01 dd::after {
  left: 50px;
  /* background: #0097a7; */
}

/* よくあるご質問　ここまで */

/* プラセンタ　ここから */
#p_placenta {
  background-color: var(--base_02);

  .topmenu {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    text-align: center;

    li {
      display: flex;
      justify-content: center;
      width: calc(100% / 2.14);
      background-color: white;
      border: var(--border_width2) solid var(--btn_01);
      padding: 10px;
      margin: 5px;
      border-radius: 5px;
      transition: all 0.2s;

      &:hover {
        a {
          opacity: 0.8;
        }
      }
    }
  }

  .worries_block {
    .checkbox_ul {
      margin: 20px 0;

      img {
        width: 30px;
        margin-right: 5px;
      }
    }
  }

  .placenta_effect {
    .checkbox_ul {
      margin: 20px 0;

      img {
        width: 30px;
        margin-right: 5px;
      }
    }
  }

  .price_list {
    .price_list_table {
      border: 1px solid var(--accent01);

      th {
        padding: 10px;
        background-color: var(--accent01);
        color: white;
      }

      td {
        padding: 10px;
        text-align: right;
        background-color: white;
      }
    }
  }

  /* 流れ　ここから */
  .stepbar {
    margin: 0 auto;
    width: 80%;
  }

  .stepbar .stepbarwrap {
    margin: 2em 0;
    position: relative;
  }

  .stepbar .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
  }

  .stepbar .stepbarwrap .steptitle .stepcircle {
    display: inline-block;
    width: 3em;
    height: 3em;
    content: '';
    border-radius: 50%;
    background-color: var(--accent01);
    color: #fff;
    text-align: center;
    z-index: 2;
  }

  .stepbar .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.2em;
    font-size: 0.8em;
    font-weight: bold;
    position: relative;
    top: 0.9em;
  }

  .stepbar .stepbarwrap .steptitle .title {
    margin: 0.5em;
    font-weight: bold;
    font-size: 1.2em;
  }

  .stepbar .stepbarwrap .steptxt {
    padding-left: 3.9em;
  }


  .stepbar .stepbarwrap .stepline {
    width: 1px;
    height: calc(100% + 1em);
    background-color: var(--accent01);
    position: absolute;
    top: 1em;
    left: 1.5em;
    z-index: 1;
  }

  .stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
  }

  @media (max-width: 960px) {
    .stepbar {
      width: 90%;
    }
  }
}

/* 流れ　ここまで */
/* プラセンタ　ここまで */

/* エクソソーム点滴　ここから */
#p_exosome {
  background-color: var(--base_02);

  .topmenu {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    text-align: center;

    li {
      display: flex;
      justify-content: center;
      width: calc(100% / 2.14);
      background-color: white;
      border: var(--border_width2) solid var(--btn_01);
      padding: 10px;
      margin: 5px;
      border-radius: 5px;
      transition: all 0.2s;

      &:hover {
        a {
          opacity: 0.8;
        }
      }
    }
  }

  .p_exosome_effectul {
    display: flex;
    justify-content: center;

    li {
      position: relative;
      display: inline-block;
      width: 80px;
      height: 80px;
      border-radius: 50%;
      background-color: var(--accent01);
      color: white;
      margin: 5px;

      span {
        position: absolute;
        display: inline-block;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 80px;
        text-align: center;
        line-height: 1.3;
      }
    }
  }

  .conponent_analysis_table_block {
    .conponent_analysis_table {
      border: 1px solid var(--accent01);
      border-radius: 5px;

      tr {
        th {
          background-color: var(--accent01);
          padding: 10px;
          border-bottom: 1px solid white;
          color: white;
          white-space: nowrap;
        }

        td {
          padding: 10px;
          background-color: white;
          border-bottom: 1px solid var(--accent01);
          text-align: right;
        }
      }

      .trfirst {
        .thfirst {
          border-radius: 5px 0 0 0;
        }

        .tdfirst {
          border-radius: 0 5px 0 0;
        }
      }

      .trlast {
        .thlast {
          border-bottom: none;
          border-radius: 0 0 0 5px;
        }

        .tdlast {
          border-bottom: none;
          border-radius: 0 0 5px 0;
        }
      }
    }
  }

  .price_block {
    .columns {
      display: flex;
      justify-content: center;
      align-items: center;

      .left {
        margin-right: 20px;
      }
    }
  }

  .stepbar {
    margin: 0 auto;
    width: 80%;
  }

  .stepbar .stepbarwrap {
    margin: 2em 0;
    position: relative;
  }

  .stepbar .stepbarwrap .steptitle {
    display: inline-flex;
    align-items: center;
  }

  .stepbar .stepbarwrap .steptitle .stepcircle {
    display: inline-block;
    width: 3em;
    height: 3em;
    content: '';
    border-radius: 50%;
    background-color: var(--accent01);
    color: #fff;
    text-align: center;
    z-index: 2;
  }

  .stepbar .stepbarwrap .steptitle .stepcircle span {
    display: inline-block;
    line-height: 1.2em;
    font-size: 0.8em;
    font-weight: bold;
    position: relative;
    top: 0.9em;
  }

  .stepbar .stepbarwrap .steptitle .title {
    margin: 0.5em;
    font-weight: bold;
    font-size: 1.2em;
  }

  .stepbar .stepbarwrap .steptxt {
    padding-left: 3.9em;
  }

  .stepbar .stepbarwrap .stepline {
    width: 1px;
    height: calc(100% + 1em);
    background-color: var(--accent01);
    position: absolute;
    top: 1em;
    left: 1.5em;
    z-index: 1;
  }

  .stepbarwrap:last-of-type .stepline:last-of-type {
    display: none;
  }

  @media (max-width: 960px) {
    .stepbar {
      width: 90%;
    }
  }
}

/* エクソソーム点滴　ここまで */

/* 陰圧維持管理装置　ここから */
#p_bedsore {
  .bedsore_block_1 {
    background-color: white;
    padding: 30px;
    border-radius: var(--border_radius10);

    .columns {
      ul {
        background-color: var(--base_02);
      }

      .img {
        width: 220px;
        margin: 20px auto;
      }
    }
  }
}

/* 陰圧維持管理装置　ここまで */

/* アーカイブページ　ここから */
.archive_columns {
  background-color: var(--base_02);
  padding: 80px 0;

  #archive {
    margin: 0 20px;
    padding: 30px 0;
    background: white;
    border-radius: var(--border_radius10);

    .inner {
      margin: 0 20px;
    }

    article {
      margin: 20px 0;

      .ttl {
        padding-bottom: 10px;
        border-bottom: var(--border_width2) dashed var(--btn_01);
      }
    }
  }
}

/* アーカイブページ　ここまで */

/* シングルページ　ここから */
#single {
  margin: 0 20px;
  padding: 30px 0;
  background: white;
  border-radius: var(--border_radius10);

  .inner {
    margin: 0 20px;
  }

  img {
    max-width: 400px;
    margin: 10px 0;
  }

  h2 {
    margin-bottom: 20px;
  }

  h3 {
    margin-bottom: 20px;
  }

  h4 {
    margin-bottom: 10px;
  }

  .pdfemb-viewer {
    margin: 20px 0 30px;
  }

  .wp-block-list {
    margin: 20px 0;
  }

  article {
    margin: 20px 0;

    figure {
      margin-top: 10px;
    }

    .wp-block-group {
      margin: 40px 0;
    }

    h1 {
      margin: 20px 0;
    }
  }

}

.rehabili_study_session {
  img {
    max-width: 700px !important;
  }
}

/* シングルページ　ここまで */

/* サイドバー　ここから */
#sidebar {
  margin: 30px 0;

  aside {
    margin: 0 20px;
  }

  .title {
    margin-bottom: 20px;
  }

  li {
    margin: 10px 0;
  }
}

/* サイドバー　ここまで */

/* 応募フォーム　ここから */
.cform th {
  font-size: 1.8rem;
  width: 20%;
  /*変なところで改行される場合はここの数字を変更します。*/
  border-bottom: 2px solid var(--btn_01);
  padding: 40px 0 10px 15px;
}

.cform td {
  font-size: 1.6rem;
  border-bottom: 2px solid #fdc1e2;
  padding: 10px;
}

.cform {
  width: 100%;
  margin: auto;
}

.cform [type='submit'] {
  display: inline-block;
  font-size: 20px;
  padding: 10px 30px;
  text-decoration: none;
  background: #ff8f00;
  color: #fff;
  border-bottom: solid 4px #b17c00;
  border-radius: 3px;
}

.cform option,
.cform textarea,
.cform input[type='text'],
.cform input[type='email'],
.cform input[type='search'],
.cform input[type='url'] {
  width: 100%;
  padding: 8px;
  border: 1px solid var(--btn_01);
}

.required-srt {
  font-size: 8pt;
  padding: 5px;
  background: var(--btn_01);
  color: #fff;
  border-radius: 3px;
  margin-left: 10px;
  vertical-align: middle;
}

@media only screen and (max-width: 767px) {

  .cform th,
  .cform td {
    width: 100%;
    display: block;
    border-top: none;
  }
}

.submit-btn input {
  background: var(--btn_01);
  width: 250px;
  margin: 40px auto 0;
  display: block;
  border: 1px solid var(--btn_01);
  text-align: center;
  padding: 25px;
  border-radius: 50px;
  color: #fff;
  font-weight: 600;
  transition: all 0.4s ease;
}

.submit-btn input:hover {
  background: #fff;
  color: var(--txt_color);
  border: 2px solid var(--btn_01);
}

/* 応募フォーム　ここまで */
/* 応募完了　ここから */
.mw_wp_form.mw_wp_form_complete {
  margin: 50px 10px;
}

/* 応募完了　ここまで */
/* newアイコン　ここから */
.title.new::before {
  content: 'NEW';
  background-color: #e22121;
  border-radius: 3px;
  padding: 5px;
  margin-right: 5px;
  color: white;
  font-size: 1.2rem;
  font-weight: 500;
}

/* newアイコン　ここまで */

@media (min-width: 768px) {
  /* PCで電話番号リンクを無効に */

  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }


  #pagetop {
    bottom: 20px;
  }

  #sp-fixed-menu {
    display: none;
  }

  .openbtn {
    display: none;
  }

  /* header nav .pc_nav {
      display: flex;
      justify-content: left;
      align-items: center;
      flex-wrap: wrap;
      padding: 10px;
   }
   header nav .pc_nav li {
      padding: 2px 15px;
      margin: 5px;
      background: var(--btn_01);
      border-radius: 5px;
      transition: all 0.2s;
   }
   header nav .pc_nav li:hover {
      opacity: 0.8;
   }
   header nav .pc_nav li a {
      color: white;
      font-size: 1.4rem;
      display: flex;
      flex-direction: column;
      align-items: center;
   }
   header nav .pc_nav li a img {
      width: 25px;
   } */
  header .columns {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  header .columns .left h1 a img {
    width: 350px;
    margin-top: -20px;
  }

  header .columns .right {
    margin-right: 70px;
  }

  header .tel_btn {
    font-size: 2rem;
    width: 100%;
  }

  header .tel_btn img {
    width: 30px;
    margin-right: 10px;
  }

  header .right .right_columns .right .recruit_btn {
    font-size: 2rem;
  }

  header .right .right_columns {
    margin: 0 0 0 20px;
  }

  header .right .right_columns .right a img {
    width: 30px;
    margin-right: 10px;
  }







  footer {
    padding: 10px 0;
  }

  footer .columns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 10px;
  }

  footer .left {
    margin: 0 auto 0 0;
    width: 350px;
  }

  footer .left .logo_img {
    width: 350px;
  }

  footer .right {
    width: 100%;
    margin-left: 20px;
  }

  footer .right .recruit_btn {
    margin: 5px 0 5px 5px;
  }

  footer .middle {
    padding-bottom: 0;
  }

  footer .middle .google_map {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  footer .middle .google_map iframe {
    width: 70%;
  }

  footer .middle .google_map .block {
    width: 30%;
  }

  #p_symptoms_list {
    .un_order_list_symptoms {
      li {
        .btn_line {
          width: 100%;
        }
      }
    }
  }

  #p_skin_diseases_symptoms {
    .p_skin_diseases_symptoms_list {
      li {

        .btn_line {
          width: 100%;
        }
      }
    }
  }

  .mw_wp_form.mw_wp_form_complete {
    margin: 50px 30px;
  }



  #p_entry {
    .p_entry_block {
      margin: 0 40px;

      .in_inner {
        margin: 0 40px;
      }
    }
  }

  .cform th {
    padding: 30px 5px;
    width: 30%;
  }

  .submit-btn input {
    width: 300px;
  }


  .stepbar .stepbarwrap .steptitle .stepcircle {
    font-size: 2rem;
  }

  .stepbar .stepbarwrap .stepline {
    font-size: 1.8rem;
  }

  #index_qa {
    .tel_btn {
      margin: 20px auto;
    }
  }

  .day_table th,
  .day_table td {
    display: table-cell;
    vertical-align: top;
    padding: 16px 20px;
  }

  .day_table th {
    width: 25%;
    border-radius: 0;
    border-right: 1px solid var(--main_color02);
    border-bottom: 1px solid var(--main_color02);
  }

  .day_table td {
    border-bottom: 1px solid var(--main_color02);
    padding: 16px 20px 16px 40px;
  }

  .day_table tr:last-child th,
  .day_table tr:last-child td {
    border-bottom: none;
  }

  .day_table tr:nth-child(odd) td {
    background-color: #fafbfd;
  }
}


@media (min-width: 769px) {
  header .columns .right {
    margin-right: 0;
  }
}

@media (min-width: 1024px) {
  header .columns {
    padding: 10px 5% 8px;
  }

  header .right .right_columns {
    display: flex;
    flex-direction: row;
  }

  header .right .right_columns .left {
    margin: 0 15px 0 0;
    width: 50%;
  }

  header .tel_btn {
    padding: 10px;
    font-size: 2.2rem;
  }

  header .columns .right {
    width: 520px;
  }

  header .right .right_columns .right {
    width: 50%;
  }

  header .right .right_columns .right .recruit_btn {
    padding: 10px;
    font-size: 2.2rem;
  }

  header .right .right_columns .right p {
    font-size: 1.5rem;
  }

  footer .columns {
    margin: 10px 5%;
  }

  footer .right .tel_btn,
  footer .right .recruit_btn {
    font-size: 2.2rem;
  }

  footer .right .tel_btn img,
  footer .right .recruit_btn img {
    width: 30px;
  }

  footer .footer_nav nav {
    display: flex;
    justify-content: space-between;
  }

  footer .footer_nav .list1,
  footer .footer_nav .list2,
  footer .footer_nav .list3,
  footer .footer_nav .list4,
  footer .footer_nav .list5 {
    margin: 0;
  }

  footer h5 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  footer ul li a {
    align-items: flex-start;
  }

  footer .footer_nav .list2 ul,
  footer .footer_nav .list3 ul {
    margin-left: 15px;
  }

  footer .footer_nav li {
    margin: 5px 0;
  }

  footer .footer_nav .list3_1,
  footer .footer_nav .list4_1 {
    margin: 10px 0 5px;
  }

  #p_entry {
    .p_entry_block {
      width: 900px;
      margin: 0 auto;
    }
  }

  .mw_wp_form.mw_wp_form_complete {
    margin: 50px 10%;
  }

  #archive,
  #single {
    margin: 0;
    flex-grow: 1;
  }

  #sidebar {
    margin: 0 0 0 20px;
    width: 300px;

    aside {
      margin: 0;
      width: 300px;

    }
  }

  .archive_columns {
    display: flex;
    justify-content: space-between;
    padding: 80px 60px;
  }

  #p_exosome {
    .p_exosome_effect {
      .columns {
        display: flex;
        justify-content: center;
        align-items: center;
      }

      .columns {
        .left {
          margin: 0 30px 0 0;
        }
      }
    }

    .nk_ex_features_block {
      .nk_exo_img {
        width: 700px;
        margin: 20px auto;
      }

      .columns {
        display: flex;
        justify-content: center;
        align-items: center;

        .right {
          width: 400px;
          margin-left: 30px;

          .nk_exo_img {
            width: 400px;
          }
        }
      }
    }

    .price_block {
      .columns {
        .left {
          .nk_exo_img {
            width: 200px;
          }
        }

        .right {
          margin-left: 0;
        }
      }
    }
  }

  #index_anniversary {
    .columns {
      display: flex;
      justify-content: center;
      align-items: center;

      .left {
        margin-right: 30px;

        .img {
          width: 350px;
        }
      }
    }
  }

  .video_news_columns {
    display: flex;
    margin: 60px 20px 60px;

    .arrow_02 {
      max-width: 350px;
    }

    #video {
      margin: 0;
      width: 25%;
    }

    #news {
      margin: 0 20px;
      width: 37.5%;
    }

    #complex_news {
      margin: 0;
      width: 37.5%;
    }
  }

  #index_recruit {
    .columns {
      display: flex;
      align-items: center;

      .left {
        margin-right: 30px;

        .img {
          width: 400px;

          img {
            width: 400px;
            height: 400px;
          }
        }
      }
    }
  }

  #index_ventilator {
    .columns {
      display: flex;
      align-items: center;
      justify-content: center;

      .left {
        margin-right: 30px;

        img {
          width: 300px;
        }
      }

      .right {
        p {
          text-align: left;
        }
      }
    }
  }

  #index_motto {
    .columns {
      display: flex;
      align-items: center;

      .left {
        margin-right: 30px;

        .video_block {
          video {
            width: 500px !important;
          }
        }
      }
    }
  }

  #index_medical_information {
    .index_medical_information_block {
      display: flex;
      align-items: center;
      margin: 20px 0;

      .left {
        margin: 10px 30px 10px 0;

        .img {
          img {
            width: 300px;
          }
        }
      }
    }
  }

  #index_forget {
    .columns {
      display: flex;
      align-items: center;

      .left {
        margin: 10px 30px 10px 0;

        .img {
          img {
            width: 300px;
          }
        }
      }
    }
  }

  #index_placenta {
    .index_placenta_columns {
      display: flex;
      justify-content: center;

      .img {
        width: 350px;
        margin: 0 auto;

        img {
          width: 350px;
          height: 200px;
        }
      }

      .index_placenta_block {
        width: 50%;
        margin: -30px 20px 0 0;
      }

      .index_exosome_block {
        width: 50%;
        margin: 0;
      }
    }
  }

  #index_commitment {

    h2 {
      &:before {
        width: 400px;
        height: 330px;
        top: -190px;
        left: 10%;
        z-index: -1;
      }
    }

    .index_commitment_block {
      .index_commitment_columns1 {
        display: flex;
        align-items: center;

        h3 {
          flex-direction: row;
          margin-bottom: 0;
          text-align: left;

          img {
            margin: 0 10px 0 0;
          }
        }

        .right {
          margin: 30px;

          img {
            width: 500px;
          }
        }
      }

      .index_commitment_columns2 {
        display: flex;
        align-items: center;
        flex-direction: row-reverse;

        h3 {
          flex-direction: row;
          margin-bottom: 0;
          text-align: left;

          img {
            margin: 0 10px 0 0;
          }
        }

        .right {
          margin: 30px;

          img {
            width: 500px;
          }
        }
      }

      .index_commitment_columns3 {
        display: flex;
        align-items: center;

        h3 {
          flex-direction: row;
          margin-bottom: 0;
          text-align: left;

          img {
            margin: 0 10px 0 0;
          }
        }

        .right {
          margin: 30px;

          img {
            width: 500px;
          }
        }
      }
    }
  }

  #index_hospital_overview {
    .index_hospital_overview_block {
      .table_schedule_block {
        .table_schedule {
          .nowrap {
            width: 150px;
          }
        }
      }
    }
  }

  #index_healthcheckups {
    .columns {
      display: flex;
      align-items: center;
      justify-content: center;

      .left {
        margin-right: 30px;

        img {
          width: 300px;
        }
      }
    }
  }

  #index_complex_information {
    .columns {
      display: flex;
      align-items: center;

      .index_complex_information_block {
        margin: 20px;
      }
    }
  }

  #p_outline {
    .p_about {
      &:before {
        width: 500px;
        height: 460px;
      }
    }
  }

  #p_about {
    .columns {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;

      .img_block {
        width: calc(100% / 3.3);
        margin: 10px;
      }
    }
  }

  #p_info {
    .p_point_columns1 {
      display: flex;
      align-items: center;

      .right {
        margin-left: 30px;

        .img {
          img {
            width: 500px;
          }
        }
      }
    }

    .p_point_columns2 {
      display: flex;
      align-items: center;
      flex-direction: row-reverse;

      .right {
        margin-right: 30px;

        .img {
          img {
            width: 500px;
          }
        }
      }
    }

    .p_point_columns3 {
      display: flex;
      align-items: center;

      .right {
        margin-left: 30px;

        .img {
          img {
            width: 500px;
          }
        }
      }
    }

    .p_medical_consultation_room {
      .p_medical_consultation_room_columns {
        display: flex;
        align-items: center;

        .right {
          margin-left: 30px;

          img {
            width: 300px;
          }
        }
      }
    }

    .p_hospital_atmosphere {
      .columns {
        justify-content: center;

        .img {
          width: 300px;
          margin: 20px;

          img {
            width: 300px;
          }
        }
      }
    }
  }

  #p_outpatient_information {
    .p_flow {
      .btn_link_columns {
        display: flex;
        align-items: center;
        justify-content: center;

        .btn_link_block {
          margin: 10px;
        }
      }

      .p_flow_block {
        .columns {
          display: flex;
          align-items: center;
          justify-content: space-between;

          .right {
            margin: 0 0 0 30px;

            img {
              width: 300px;
            }
          }
        }
      }
    }
  }

  #p_hospitalization {
    .columns {
      display: flex;
      align-items: center;
      justify-content: space-between;

      .right {
        margin: 0 0 0 30px;

        img {
          width: 400px;
        }
      }
    }

    .p_dermatology_rounds {
      .points_block {
        .columns {
          align-items: flex-start;

          .points_block_columns1,
          .points_block_columns2,
          .points_block_columns3 {
            width: calc(100% / 3);
            margin: 10px;
          }
        }
      }

      .skin_diseases {
        .img {
          margin: 0;

          img {
            width: 300px;
          }
        }
      }
    }
  }

  #p_visitation {
    .img_news_block {

      .columns {
        display: flex;
        gap: 20px;

        .img {
          width: calc(100% / 2);
        }
      }
    }

    .p_friend_registration {
      .qr_block_columns {
        display: flex;
        align-items: center;
        justify-content: center;

        .qr_block {
          margin: 20px;

          .img {
            img {
              width: 300px;
            }
          }
        }
      }
    }

    .p_start {
      .columns {
        display: flex;
        align-items: center;
        justify-content: space-between;

        .right {
          margin-left: 30px;

          img {
            width: 300px;
          }
        }
      }
    }
  }

  #p_ventilator {
    .p_acceptance_system {
      .columns {
        display: flex;
        align-items: center;

        .right {
          margin-left: 30px;

          img {
            width: 300px;
          }
        }
      }
    }

    .p_points {
      .columns {
        display: flex;

        .columns1,
        .columns2,
        .columns3 {
          width: calc(100% / 3);
          margin: 10px;
        }
      }
    }

    .btn_link_columns_block {
      .btn_link_columns {
        display: flex;
        justify-content: center;

        .btn_link_block {
          margin: 10px;
        }
      }
    }
  }

  #p_endoscopy {
    .p_endoscopy_choosing_reason {
      .columns {
        display: flex;
        align-items: center;
        justify-content: space-between;

        .right {
          margin-left: 30px;
        }
      }

      img {
        width: 300px;
      }
    }

    .p_endoscopy_choosing_reason {
      .tel_btn_block {
        img {
          width: 30px;
        }
      }
    }

    .p_medical_equipment {
      .columns {
        display: flex;
        align-items: center;
        justify-content: space-between;

        .left {
          margin-right: 30px;
        }
      }

      img {
        width: 300px;
      }
    }
  }

  #p_geriatrics {
    .columns {
      display: flex;
      align-items: center;
      justify-content: space-between;

      .right {
        margin-left: 30px;
      }
    }
  }

  #p_symptoms_list {
    .columns {
      display: flex;
      align-items: center;
      justify-content: space-between;

      img {
        width: 300px;
        margin: 0 30px 0 0;
      }
    }
  }

  #p_care_complex {
    .p_care_complex_about_block {
      .p_care_complex_about {
        .right {
          display: flex;

          .img {
            width: calc(100% / 4);
            margin: 10px;

            img {
              height: 200px;
            }
          }

          .img2,
          .img4 {
            margin-top: 30px;
          }
        }
      }
    }

    .p_event_scene {
      .columns {
        .img {
          width: calc(100% / 3.3);
          margin: 10px;
        }
      }
    }
  }

  #p_asakaze {
    .img_block {
      .columns {
        .img {
          width: calc(100% / 3.5);
          margin: 10px;
        }
      }
    }

    .p_voice {
      .columns {
        flex-wrap: nowrap;

        .left {
          width: 50%;
          margin-right: 30px;

          img {
            height: 300px !important;
          }
        }

        .right {
          width: 50%;

          .un_order_list_asterisk {
            margin: 0;
          }
        }
      }
    }
  }

  #p_aozora {
    .img_block {
      .columns {
        .img {
          width: calc(100% / 3.5);
          margin: 10px;
        }
      }
    }
  }


  #p_skylark {
    .img_block {
      .columns {
        .img {
          width: calc(100% / 3.5);
          margin: 10px;
        }
      }
    }
  }

  #p_rehabilitation {
    .columns {
      display: flex;
      align-items: center;

      .left {
        margin: 0 30px 0 0;

        img {
          width: 350px;
        }
      }
    }
  }

  #p_recruit {
    .occupation {
      .occupation_inner {
        margin: 0;

        .btn_columns {
          display: flex;
          justify-content: center;

          .arrow_02 {
            margin: 10px;
          }
        }

        .top_columns1 {
          display: flex;
          justify-content: space-between;

          .bnr_block {
            width: calc(100% / 3.2);
            margin: 10px;

            img {
              height: 250px;
              object-position: 0;
            }
          }
        }

        .middle_columns {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;

          .bnr_block {
            width: calc(100% / 4.5);
            margin: 10px;

            img {
              height: 170px;
              object-position: 0;
            }
          }
        }
      }
    }
  }

  #p_price_list {
    .p_document_fee_list_table_block {
      table {
        td {
          width: 200px;
        }
      }
    }
  }


  #p_muscular_dystrophy {
    #p_muscular_dystrophy_about {
      .img {
        width: 800px;
        margin: 20px auto;
      }
    }

    .cause {
      .img {
        width: 800px;
        margin: 20px auto;
      }
    }
  }

  #p_multiple_sclerosis {
    #myelin_about {
      .img {
        width: 800px;
        margin: 20px auto;
      }
    }

    #leap_conduction {
      .img {
        width: 800px;
        margin: 20px auto;
      }
    }

    #patient_count {
      .img {
        width: 800px;
        margin: 20px auto;
      }
    }

    #cause {
      .columns {
        display: flex;
        align-items: center;

        .left {
          margin: 0 30px 0 0;

          .img {
            width: 400px;
          }
        }
      }
    }

    #symptoms {
      .columns {
        display: flex;
        align-items: center;

        .left {
          margin: 0 30px 0 0;

          .img {
            width: 400px;
          }
        }
      }
    }

    #inspection_method {
      .columns {
        display: flex;
        align-items: center;
        justify-content: space-between;

        .left {
          margin: 20px 30px 20px 0;

          .img {
            width: 300px;
          }
        }
      }
    }
  }

  #p_recruit_nurse_summary {
    .columns {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;

      .arrow_02 {
        margin: 10px;
      }
    }
  }

  #p_access {
    .bybus {
      .inner_columns {
        display: flex;
        align-items: flex-start;

        .googlemap {
          margin-top: 0;
          width: calc(100% / 2);
        }

        .right {
          margin-left: 30px;
          width: calc(100% / 2);
        }
      }

      .for_those_coming_by_bus {
        .columns {
          margin-top: 0;
          display: flex;

          .left {
            margin-right: 30px;
            width: calc(100% / 2);
          }

          .right {
            width: calc(100% / 2);
          }
        }
      }
    }
  }


  #entry {
    .entry_columns {
      display: flex;
      align-items: center;
      justify-content: center;

      .bnr_block {
        margin: 10px;
        width: 300px;
      }
    }
  }

  #p_forgetfulness {
    .columns {
      display: flex;
      align-items: center;
      justify-content: space-between;

      img {
        width: 300px;
        margin: 0 30px;
      }
    }

    .p_if_dementia {
      .grouphome_columns {
        display: flex;
        justify-content: center;

        .left {
          width: 400px;
          margin-right: 30px;
        }

        .right {
          width: 400px;

        }
      }
    }

    .medicineprice_table_columns {
      display: flex;
      justify-content: center;

      .left {
        margin: 20px;
      }

      .right {
        margin: 20px;
      }
    }
  }

  #p_medical_personnel {
    .bnr_columns {
      display: flex;
      justify-content: center;

      .bnr_block {
        width: calc(100% / 3);
        margin: 0 10px;

        a {
          span {
            font-size: var(--fontsize20);
          }
        }
      }
    }
  }


  #p_internalmedicine_symptoms {
    .columns {
      display: flex;
      align-items: center;

      .left {
        margin: 0 30px 0 0;

        img {
          width: 300px;
        }
      }

      .right {
        flex-grow: 1;
      }
    }

    .list_of_diseases {
      .btn_line {
        width: 100%;
      }
    }
  }

  .schedule {
    .schedule_columns {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .schedule_img {
      margin: 0 0 0 50px;
    }
  }

  .staff_voice {
    .staff_voice_columns {
      display: flex;
      align-items: center;
      justify-content: center;

      .left {
        margin: 30px 30px 30px 0;
      }
    }

    .right {

      .staff_voice_img {

        img {
          width: 300px;
        }
      }
    }
  }

  .balloon p {
    max-width: 700px;
  }

  .p_recruit_bathing_transportation_assistance {
    .img_columns {
      display: flex;
      justify-content: center;
      align-items: center;

      .right {
        margin-left: 30px;

        img {
          width: 300px;
        }
      }
    }
  }


  #p_placenta {
    .worries_block {
      .columns {
        display: flex;
        justify-content: center;
        align-items: center;

        .right {
          width: 400px;
          margin-left: 30px;
        }
      }
    }

    .about_placenta_block {
      .columns {
        display: flex;
        justify-content: center;
        align-items: center;

        .right {
          width: 400px;
          margin-left: 30px;
        }
      }
    }

    .placenta_effect {
      .columns {
        display: flex;
        justify-content: center;
        align-items: center;

        .right {
          width: 400px;
          margin-left: 30px;
        }
      }
    }
  }

  #p_skin_diseases_symptoms {
    .p_skin_diseases_symptoms_list {
      li {
        width: calc(100% / 3.3);
      }
    }
  }

  #p_bedsore {
    .bedsore_block_1 {
      .columns {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 30px;
      }
    }

    .bedsore_block_3 {
      .img {
        width: 550px;
        margin: 20px auto;
      }
    }

    .bedsore_block_4 {
      .columns {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 30px;

        .img {
          width: 300px;
        }
      }
    }

    .bedsore_block_5 {
      .columns {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 30px;

        .img {
          width: 400px;
        }
      }
    }

    .bedsore_block_6 {
      .columns {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 30px;

        .img {
          width: 300px;
        }
      }
    }
  }

  footer .footer_nav .inner {
    margin: 0 5%;
  }
}

@media (min-width: 1280px) {
  #index_hospital_overview {
    .index_hospital_overview_block {
      .columns {
        display: flex;
        align-items: center;
      }

      .index_hospital_overview_table {
        width: 40%;
        margin-right: 30px;
      }

      .table_schedule_block {
        width: 60%;

      }
    }
  }

  header .columns .center p {
    font-size: 2rem;
  }

  header .columns .center a {
    width: 350px;
    font-size: 3rem;
  }

  header .right .columns .left {
    width: 210px;
  }

  header .right .columns .left span {
    font-size: 2.2rem;
  }

  header .right .columns .right {
    width: 210px;
  }

  header .right .columns .right span {
    font-size: 2.2rem;
  }

  header .right .columns .right p {
    font-size: 2.2rem;
  }

  footer .right {
    width: 520px;
  }

  footer .right .tel_btn {
    width: 350px;
  }

  footer .right .tel_btn a span {
    font-size: 1.8rem;
  }

  footer .right img {
    width: 30px;
  }

  footer .right .recruit_btn {
    width: 350px;
  }

  footer .right .recruit_btn a {
    padding: 4px 0;
  }

  footer .footer_nav .inner {
    margin: 0 auto;
    width: 1000px;
  }

  #p_access {
    .bycar {
      .bycar_img_block {
        .root_img {
          margin: 0 auto;
          width: 700px;

          img {
            width: 700px;
          }
        }
      }
    }
  }

  #recruit #entry .columns .block {
    padding: 10px;
  }

  .mw_wp_form.mw_wp_form_complete {
    margin: 50px 15%;
  }
}