@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Noto+Serif+JP:wght@200..900&display=swap");
* {
  margin: 0;
  padding: 0;
  list-style: none;
  box-sizing: border-box;
  text-decoration: none;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
*::before, *::after {
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  box-sizing: border-box;
}

input, select, textarea {
  font-family: "Noto Sans CJK JP", "Noto Sans JP", sans-serif;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  font-feature-settings: "palt";
  touch-action: manipulation;
  resize: none;
}

html {
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

body {
  color: #333;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  /* font-family: "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "Noto Sans JP", "Noto Sans CJK JP", sans-serif; */
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased;
  -moz-text-size-adjust: none;
       text-size-adjust: none;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

img {
  display: block;
  -o-object-position: center;
     object-position: center;
}

#body_wrap {
  overflow: hidden;
}

main {
  padding-top: 120px;
}

a {
  color: #333;
}

.fax a {
  pointer-events: none;
}

@media (any-hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/*
------------------------------------
アニメーション関係
------------------------------------
*/
.common_hover_opa {
  transition: 0.4s;
}

@media (any-hover: hover) {
  .common_hover_opa:hover {
    opacity: 0.6;
  }
}
/*
------------------------------------
共通パーツ
------------------------------------
*/
.container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

.text_blue {
  color: #034e95;
}

.marker_yellow {
  background: linear-gradient(to top, #fff88b -10%, #fff88b 40%, transparent 40%, transparent 100%);
}

/*楕円形のボタン*/
.common_button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 400px;
  height: 66px;
  border-radius: 33px;
  font-weight: bold;
  line-height: 1.3;
  transition-duration: 0.4s;
  position: relative;
}
.common_button::after {
  content: "";
  width: 30px;
  height: 7px;
  transition-duration: 0.4s;
  position: absolute;
  right: 38px;
  bottom: 26px;
  background-position: right;
}
.common_button.white {
  color: #034e95;
  background-color: #fff;
  border: 2px solid #fff;
}
.common_button.white::after {
  background-image: url("../img/common/arrow_half_right_blue.png");
}
.common_button.blue {
  color: #fff;
  background-color: #034e95;
  border: 2px solid #034e95;
}
.common_button.blue::after {
  background-image: url("../img/common/arrow_half_right_white.png");
}

@media (any-hover: hover) {
  .common_button.white:hover {
    color: #fff;
    background-color: #034e95;
  }
  .common_button.white:hover::after {
    background-image: url("../img/common/arrow_half_right_white.png");
  }
  .common_button.blue:hover {
    color: #034e95;
    background-color: #fff;
  }
  .common_button.blue:hover::after {
    background-image: url("../img/common/arrow_half_right_blue.png");
  }
}
/*カスタムフィールドのファイルボタン（ステーション詳細）*/
.common_btn.btn_file {
  max-width: 580px;
  width: 100%;
  border-radius: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 100px auto 0 auto;
  padding: 30px;
  background: linear-gradient(to right, #034e95, #1866b0);
  transition-duration: 0.4s;
}
.common_btn.btn_file .btn_file_txt {
  font-size: 24px;
  color: #ffffff;
  font-weight: bold;
  padding-left: 55px;
  position: relative;
}
.common_btn.btn_file .btn_file_txt::before {
  position: absolute;
  content: "";
  background-image: url(../img/common/file_icon.png);
  width: 41px;
  height: 39px;
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}
.common_btn.btn_file .btn_file_txt .file_sp {
  display: none;
}
.common_btn.btn_file:hover {
  opacity: 0.8;
  transition-duration: 0.4s;
}

/*ハーフボーダー付きのセクションタイトル*/
.common_sec_title_half_bottom_border {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 34px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
.common_sec_title_half_bottom_border::after {
  content: "";
  width: 70px;
  height: 4px;
  background-color: #36a9df;
  margin-top: 36px;
}

/*対応症例関係ページ下部のテキスト*/
.common_case_bottom_text_area {
  margin-top: 100px;
  padding: 80px 0;
  position: relative;
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 2.29;
  text-align: center;
}
.common_case_bottom_text_area::before {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -1;
  background-color: #f9f9f9;
}

/*水色のカッコのデコレーション*/
.common_border_deco {
  position: absolute;
  z-index: 1;
}
.common_border_deco .border_deco_inner {
  position: relative;
  width: 50px;
  height: 50px;
}
.common_border_deco .border_deco_inner::before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #36a9df;
  position: absolute;
  left: 0;
}
.common_border_deco .border_deco_inner::after {
  content: "";
  width: 2px;
  height: 100%;
  background-color: #36a9df;
  position: absolute;
  top: 0;
}

.common_border_deco01 {
  top: 20px;
  left: 20px;
}
.common_border_deco01 .border_deco_inner::before {
  top: 16px;
}
.common_border_deco01 .border_deco_inner::after {
  left: 16px;
}

.common_border_deco02 {
  bottom: 20px;
  right: 20px;
}
.common_border_deco02 .border_deco_inner::before {
  bottom: 16px;
}
.common_border_deco02 .border_deco_inner::after {
  right: 16px;
}

/*サポート事例のモーダル*/
.js_support_modal_open {
  cursor: pointer;
}

.common_support_modal {
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: 100;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
}
.common_support_modal.show {
  opacity: 1;
  pointer-events: auto;
}
.common_support_modal .support_modal_block {
  width: 450px;
  position: relative;
  background-color: #fff;
}
.common_support_modal .support_modal_inner {
  overflow-y: scroll;
  max-height: 70vh;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.common_support_modal .support_modal_inner::-webkit-scrollbar {
  display: none;
}
.common_support_modal .support_modal_contents {
  padding: 32px 24px;
}
.common_support_modal .support_modal_close {
  position: absolute;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 35px;
  height: 35px;
  position: absolute;
  top: -45px;
  right: -45px;
}
.common_support_modal .support_modal_close .bar {
  width: 100%;
  height: 3px;
  background-color: #fff;
}
.common_support_modal .support_modal_close .bar01 {
  transform: translateY(2px) rotate(-45deg);
}
.common_support_modal .support_modal_close .bar02 {
  transform: translateY(-1px) rotate(45deg);
}
.common_support_modal ul li + li {
  margin-top: 16px;
}
.common_support_modal ul a {
  transition-duration: 0.4s;
  display: flex;
  align-items: flex-start;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
}
.common_support_modal ul a::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 8px;
  flex-shrink: 0;
  margin-top: 10px;
  background-color: #034e95;
}

@media (any-hover: hover) {
  .common_support_modal ul a:hover {
    opacity: 0.5;
  }
}
/*
------------------------------------
ヘッダー
------------------------------------
*/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
}
header .header_line01 {
  background-color: #fff;
}
header .header_line01 .header_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header .header_line01 .header_logo {
  display: flex;
  align-items: center;
  margin-left: 40px;
}
header .header_line01 .header_logo img {
  width: 361px;
}
header .header_line01 .header_logo .logo_text {
  margin-left: 20px;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1;
}
header .header_line01 .header_right {
  display: flex;
  align-items: center;
}
header .header_line01 ul {
  display: flex;
  align-items: center;
}
header .header_line01 ul li {
  margin-right: 60px;
}
header .header_line01 ul li a {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 1.14;
  text-align: center;
  color: #034e95;
  transition-duration: 0.4s;
  white-space: nowrap;
}
header .header_line01 ul li a::before {
  content: "";
  flex-shrink: 0;
  transition-duration: 0.4s;
}
header .header_line01 ul li a.medical::before {
  width: 23px;
  height: 27px;
  margin-right: 12px;
  background-image: url("../img/common/icon_medical_blue.png");
}
header .header_line01 ul li a.contact::before {
  width: 22px;
  height: 16px;
  margin-right: 9px;
  background-image: url("../img/common/icon_mail_blue.png");
}
header .header_line01 ul li a.form::before {
  width: 22px;
  height: 26px;
  margin-right: 13px;
  background-image: url("../img/common/icon_human_blue.png");
}
header .header_line01 .header_button_area {
  display: flex;
}
header .header_line01 .header_button_area a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 70px;
  position: relative;
}
header .header_line01 .header_button_area a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  transition-duration: 0.4s;
  opacity: 0;
}
header .header_line01 .header_button_area .line {
  width: 80px;
  background: #00b900;
}
header .header_line01 .header_button_area .line::before {
  background: linear-gradient(135deg, #00b900 0%, #44de44 50%, #7ef67e);
}
header .header_line01 .header_button_area .line p {
  position: relative;
  z-index: 2;
}
header .header_line01 .header_button_area .line img {
  width: 36px;
  position: relative;
  z-index: 2;
}
header .header_line01 .header_button_area .recruit {
  width: 160px;
  background: #36a9df;
  margin-left: 1px;
}
header .header_line01 .header_button_area .recruit::before {
  background: linear-gradient(135deg, #36a9df, #48b4e6, #6cc3ec);
}
header .header_line01 .header_button_area .recruit p {
  font-weight: bold;
  line-height: 1;
  color: #fff;
  position: relative;
  margin-right: 14px;
  position: relative;
  z-index: 2;
}
header .header_line01 .header_button_area .recruit p::after {
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("../img/common/arrow_top_right_white.png");
  position: absolute;
  top: 50%;
  right: -32px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
header .header_line02 {
  background-color: #034e95;
}
header .header_line02 .parent_menu {
  display: flex;
  justify-content: center;
}
header .header_line02 .parent_item {
  margin: 0 28px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
header .header_line02 .parent_link {
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #fff;
}
header .header_line02 a {
  transition-duration: 0.4s;
}
header .child_menu {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #fff;
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.4s;
  min-width: 220px;
  white-space: nowrap;
}
header .child_menu.show {
  opacity: 1;
  pointer-events: auto;
}
header .child_menu .child_item + .child_item {
  border-top: 1px solid #034e95;
}
header .child_menu .child_link {
  display: flex;
  align-items: center;
  padding: 20px;
  color: #034e95;
  font-weight: 500;
}
header .child_menu .child_link::before {
  content: "";
  width: 6.5px;
  height: 12px;
  background-image: url("../img/common/header_angle_right_blue.png");
  flex-shrink: 0;
  margin-right: 10px;
}

@media (any-hover: hover) {
  header .header_line01 ul li a:hover {
    color: #36a9df;
  }
  header .header_line01 ul li a.medical:hover::before {
    background-image: url("../img/common/icon_medical_light_blue.png");
  }
  header .header_line01 ul li a.contact:hover::before {
    background-image: url("../img/common/icon_mail_light_blue.png");
  }
  header .header_line01 ul li a.form:hover::before {
    background-image: url("../img/common/icon_human_light_blue.png");
  }
}
@media (any-hover: hover) {
  header .header_line01 .header_button_area a:hover::before {
    opacity: 1;
  }
  /* header .header_line01 .header_button_area .line:hover{
    background: linear-gradient(to bottom, #00b900, #44de44, #7ef67e);
  }
  header .header_line01 .header_button_area .recruit:hover{
    background: linear-gradient(to bottom, #36a9df, #48b4e6, #6cc3ec);
  } */
}
@media screen and (max-width: 1600px) {
  header .header_line01 .header_logo {
    margin-left: 24px;
  }
  header .header_line01 .header_logo img {
    width: 280px;
  }
  header .header_line01 .header_logo .logo_text {
    margin-left: 10px;
    font-size: 13px;
  }
  header .header_line01 ul li {
    margin-right: 24px;
  }
  header .header_line01 .header_button_area .line {
    width: 70px;
  }
  header .header_line01 .header_button_area .recruit {
    width: 130px;
  }
  header .header_line01 .header_button_area .recruit p::after {
    right: -24px;
  }
}
/*@media screen and (max-width:1600px){*/
@media (any-hover: hover) {
  header .header_line02 a:hover {
    opacity: 0.6;
  }
}
/*
------------------------------------
フッター
------------------------------------
*/
footer {
  padding: 80px 0;
  background-color: #003b73;
}
footer .footer_logo {
  width: 430px;
  display: block;
  margin: 0 auto;
}
footer .footer_logo img {
  width: 100%;
}
footer ul {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}
footer ul .slash {
  margin: 0 20px;
  width: 2px;
  height: 14px;
  background-color: #fff;
  opacity: 0.3;
}
footer ul li a {
  line-height: 1;
  color: #fff;
}
footer .copy {
  margin-top: 80px;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  color: #fff;
}

/*
------------------------------------
ページ下部のお問い合わせ
------------------------------------
*/
.common_contact_section {
  padding: 90px 0 100px;
  position: relative;
  overflow: hidden;
  background-image: url("../img/common/common_contact_section_bg.jpg");
}
.common_contact_section .back_title {
  width: 1443px;
  position: absolute;
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.common_contact_section .back_title img {
  width: 100%;
}
.common_contact_section .sec_title {
  font-size: 36px;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 1;
}
.common_contact_section .p01 {
  margin-top: 24px;
  font-size: 24px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}
.common_contact_section .flex {
  display: flex;
  justify-content: space-between;
  margin-top: 52px;
}
.common_contact_section .box {
  width: 580px;
  min-height: 334px;
  padding: 32px 12px 24px;
  border-radius: 20px;
  border: solid 2px #fff;
  color: #fff;
  transition-duration: 0.4s;
}
.common_contact_section .box .box_head {
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 20px;
}
.common_contact_section .box .box_head::before, .common_contact_section .box .box_head::after {
  content: "";
  width: 100px;
  height: 2px;
  border-radius: 1px;
  background-color: #fff;
  transition-duration: 0.4s;
}
.common_contact_section .box .tel_line {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 20px;
  margin-top: 60px;
}
.common_contact_section .box .tel_line::before {
  content: "";
  flex-shrink: 0;
  width: 45px;
  height: 45px;
  background-image: url("../img/common/icon_tel_white.png");
  margin-right: 18px;
  transition-duration: 0.4s;
}
.common_contact_section .box .tel_num {
  font-family: "Roboto", sans-serif;
  font-size: 50px;
  line-height: 1;
  letter-spacing: 0.06em;
}
.common_contact_section .box .tel_num .frame {
  position: relative;
}
.common_contact_section .box .tel_num .ruby {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  position: absolute;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.common_contact_section .box .button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 420px;
  height: 60px;
  margin: 50px auto 0;
  border-radius: 30px;
  background-color: #fff;
  transition-duration: 0.4s;
}
.common_contact_section .box .button p {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  color: #034e95;
  transition-duration: 0.4s;
  position: relative;
  margin-left: 44px;
}
.common_contact_section .box .button p::before {
  content: "";
  width: 30px;
  height: 20px;
  background-image: url("../img/common/icon_mail_blue.png");
  position: absolute;
  top: 50%;
  left: -48px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.common_contact_section .line_link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 800px;
  height: 100px;
  border-radius: 10px;
  box-shadow: 0 0 73.5px 5.5px rgba(0, 33, 65, 0.2);
  background-color: #00b900;
  margin: 60px auto 0;
}
.common_contact_section .line_link::before {
  content: "";
  width: 56px;
  height: 53px;
  background-image: url("../img/common/icon_line_white.png");
  flex-shrink: 0;
  margin-right: 20px;
}
.common_contact_section .line_link p {
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
}

@media (any-hover: hover) {
  .common_contact_section .box:hover {
    color: #034e95;
    background-color: #fff;
  }
  .common_contact_section .box:hover .box_head::before, .common_contact_section .box:hover .box_head::after {
    background-color: #034e95;
  }
  .common_contact_section .box:hover .tel_line::before {
    background-image: url("../img/common/icon_tel_blue.png");
  }
  .common_contact_section .box:hover .button {
    background-color: #034e95;
  }
  .common_contact_section .box:hover .button p {
    color: #fff;
  }
  .common_contact_section .box:hover .button p::before {
    background-image: url("../img/common/icon_mail_white.png");
  }
}
/*
------------------------------------
在籍スタッフのセクション
------------------------------------
*/
.common_staff_section {
  padding: 80px 0;
  background-color: #f9f9f9;
}
.common_staff_section .common_sec_title_half_bottom_border span {
  margin-top: 16px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}
.common_staff_section .common_sec_title_half_bottom_border::after {
  margin-top: 24px;
}
.common_staff_section .staff_area {
  padding: 60px;
  background-color: #fff;
  margin-top: 32px;
}
.common_staff_section .staff_list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.common_staff_section .staff_block {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 160px;
  padding: 12px 0;
  /* padding:30px 0; */
  background-color: #e9f1f8;
  font-weight: bold;
  text-align: center;
  color: #034e95;
  white-space: nowrap;
}
.common_staff_section .staff_block .staff_kind {
  font-weight: bold;
  line-height: 1;
}
.common_staff_section .staff_block .staff_num {
  margin-top: 12px;
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
}
.common_staff_section .staff_block .staff_num .staff_count {
  font-family: "Roboto", sans-serif;
  font-size: 60px;
  margin-right: 8px;
  font-weight: bold;
  letter-spacing: -0.05em;
}
.common_staff_section .staff_block.line01 {
  width: 350px;
}
.common_staff_section .staff_block.line01 .staff_kind {
  font-size: 28px;
}
.common_staff_section .staff_block.line02 {
  width: 260px;
}
.common_staff_section .staff_block.line02 .staff_kind {
  font-size: 26px;
}
.common_staff_section .staff_block.line03 {
  width: 206px;
}
.common_staff_section .staff_block.line03 .staff_kind {
  font-size: 22px;
}

/*
------------------------------------
トップページ
------------------------------------
*/
.top_section .sec_title_set {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.top_section .sec_title_set .en_title {
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.06em;
  color: #36a9df;
}
.top_section .sec_title_set .ja_title {
  font-size: 34px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #034e95;
  margin-top: 20px;
}

.top_mv_section .mv {
  width: 100%;
}

.top_about_section {
  padding-top: 100px;
  padding-bottom: 130px;
  position: relative;
}
.top_about_section .p01 {
  max-width: 795px;
  margin: 28px auto 0;
  line-height: 2;
  letter-spacing: 0.1em;
}
.top_about_section .about_list {
  margin-top: 72px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px 0;
}
.top_about_section .about_block {
  width: 580px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0px 7px 61.1px 3.9px rgba(236, 236, 236, 0.67);
}
.top_about_section .about_head {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 17px 12px;
  background-image: linear-gradient(to right, #034e95, #0a58a2, #1866b0);
  font-size: 28px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #fff;
}
.top_about_section .about_body {
  padding: 28px 40px;
  background-color: #fff;
}
.top_about_section .about_body ul li {
  display: flex;
  align-items: flex-start;
  font-size: 20px;
  font-weight: 500;
  line-height: 2.1;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
.top_about_section .about_body ul li::before {
  content: "";
  width: 15px;
  height: 16px;
  background-image: url("../img/common/icon_check_blue.png");
  flex-shrink: 0;
  margin-right: 6px;
  margin-top: 12px;
}
.top_about_section .arrow_block {
  position: absolute;
  width: 2px;
  height: 160px;
  bottom: -90px;
  left: 0;
  right: 0;
  margin: auto;
}
.top_about_section .arrow_block .arrow {
  position: relative;
  width: 2px;
  height: 100%;
  background-color: #034e95;
}
.top_about_section .arrow_block .arrow::after {
  content: "";
  width: 2px;
  height: 13px;
  background-color: #034e95;
  position: absolute;
  bottom: 0;
  left: 0;
  transform-origin: left bottom;
  transform: rotateZ(45deg);
}

.top_support_section {
  padding-top: 142px;
  padding-bottom: 120px;
  background-color: #e9f1f8;
}
.top_support_section .sec_title {
  font-size: 36px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  color: #034e95;
}
.top_support_section .support_list {
  margin-top: 60px;
}
.top_support_section .support_block {
  display: flex;
}
.top_support_section .support_block + .support_block {
  margin-top: 40px;
  flex-direction: row-reverse;
}
.top_support_section .support_block .support_thumb {
  width: 50%;
  min-height: 250px;
}
.top_support_section .support_block .support_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_support_section .support_block .support_text_area {
  width: 50%;
  padding: 60px 12px 32px;
  background-image: linear-gradient(to right, #034e95, #0a58a2, #1866b0);
}
.top_support_section .support_block .support_head {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.43;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}
.top_support_section .support_block .support_button {
  margin: 32px auto 0;
}

.top_policy_section {
  padding-top: 96px;
  padding-bottom: 100px;
  position: relative;
  overflow: hidden;
}
.top_policy_section .sec_title_set {
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
.top_policy_section .back_title {
  position: absolute;
  left: calc(50% - 130px);
  top: -6px;
  width: 1092px;
}
.top_policy_section .back_title img {
  width: 100%;
}
.top_policy_section .policy_list {
  margin-top: 70px;
  position: relative;
  z-index: 1;
}
.top_policy_section .policy_block {
  display: flex;
  align-items: flex-start;
}
.top_policy_section .policy_block + .policy_block {
  margin-top: 88px;
}
.top_policy_section .policy_block .policy_thumb {
  width: 660px;
  flex-shrink: 0;
}
.top_policy_section .policy_block .policy_thumb img {
  width: 100%;
}
.top_policy_section .policy_block .policy_text_area {
  width: 100%;
  padding-top: 40px;
}
.top_policy_section .policy_block .policy_en_title {
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.06em;
  color: #034e95;
}
.top_policy_section .policy_block .policy_catch {
  margin-top: 20px;
  white-space: nowrap;
}
.top_policy_section .policy_block .policy_catch span {
  font-size: 28px;
  font-weight: bold;
  line-height: 2.05;
  letter-spacing: 0.1em;
  color: #333839;
  background-color: #e9f1f8;
  padding: 4px 6px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.top_policy_section .policy_block .policy_text {
  margin-top: 16px;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #333839;
}
.top_policy_section .policy_block:nth-child(odd) .policy_thumb {
  margin-right: 50px;
}
.top_policy_section .policy_block:nth-child(even) {
  flex-direction: row-reverse;
}
.top_policy_section .policy_block:nth-child(even) .policy_thumb {
  margin-left: 50px;
}
.top_policy_section .sec_border {
  width: 100vw;
  height: 1px;
  background-color: #034e95;
  margin: 100px calc(50% - 50vw) 0;
}
.top_policy_section .button_flex {
  display: flex;
  justify-content: space-between;
  margin-top: 96px;
}
.top_policy_section .button_flex .button {
  width: 580px;
  height: 130px;
  border-radius: 3px;
  background-image: linear-gradient(to right, #034e95, #0a58a2, #1866b0);
  transition-duration: 0.4s;
  overflow: hidden;
  position: relative;
}
.top_policy_section .button_flex .button::before {
  content: "";
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  transition-duration: 0.3s;
  background-image: linear-gradient(to left, #034e95, #0a58a2, #1866b0);
}
.top_policy_section .button_flex .button .radi {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 4;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.top_policy_section .button_flex .button .radi::after {
  content: "";
  width: 30px;
  height: 7px;
  background-image: url("../img/common/arrow_half_right_blue.png");
  background-position: right;
}
.top_policy_section .button_flex .button .button_inner {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top_policy_section .button_flex .button p {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.1;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  position: relative;
}
.top_policy_section .button_flex .button p span {
  font-size: 18px;
}
.top_policy_section .button_flex .button p::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  z-index: 4;
}
.top_policy_section .button_flex .button.beginner p {
  margin-left: 32px;
}
.top_policy_section .button_flex .button.beginner p::before {
  width: 30px;
  height: 48px;
  background-image: url("../img/common/icon_beginner_white.png");
  left: -52px;
}
.top_policy_section .button_flex .button.medical p {
  margin-left: 50px;
}
.top_policy_section .button_flex .button.medical p::before {
  width: 36px;
  height: 43px;
  background-image: url("../img/common/icon_medical_white.png");
  left: -70px;
}

@media (any-hover: hover) {
  .top_policy_section .button_flex .button:hover::before {
    width: 100%;
  }
}
.top_area_section {
  border-top: 1px solid #034e95;
  padding-top: 96px;
  padding-bottom: 90px;
  overflow: hidden;
  position: relative;
  background-color: #e9f1f8;
}
.top_area_section::after {
  content: "";
  width: 480px;
  height: 438px;
  background-image: url("../img/top/top_area_map.png");
  position: absolute;
  right: 0;
  top: -96px;
}
.top_area_section .sec_title_set {
  position: relative;
  z-index: 1;
}
.top_area_section .p01 {
  max-width: 790px;
  margin: 28px auto 0;
  line-height: 2;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 1;
}
.top_area_section .area_list {
  display: flex;
  flex-wrap: wrap;
  /*justify-content: space-between;*/
  margin-top: 52px;
  gap: 12px;
}
.top_area_section .area_card {
  width: 190px;
  height: 58px;
  border-radius: 3px;
  border: solid 1px #034e95;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1.44px;
  color: #034e95;
  transition-duration: 0.4s;
  padding-right: 10px;
}
.top_area_section .area_card::before {
  content: "";
  width: 18px;
  height: 25px;
  flex-shrink: 0;
  background-image: url("../img/common/icon_map_blue.png");
  margin-right: 16px;
  transition-duration: 0.4s;
}

@media (any-hover: hover) {
  .top_area_section .area_card:hover {
    background-color: #034e95;
    color: #fff;
  }
  .top_area_section .area_card:hover::before {
    background-image: url("../img/common/icon_map_white.png");
  }
}
.top_diary_section {
  padding-top: 100px;
  position: relative;
}
.top_diary_section .back_title {
  position: absolute;
  left: -2px;
  top: 134px;
  width: 893px;
}
.top_diary_section .back_title img {
  width: 100%;
}
.top_diary_section .sec_title_set {
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
.top_diary_section .swiper_area {
  width: 100vw;
  margin: 48px calc(50% - 50vw) 0;
}
.top_diary_section .diary_button_flex {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.top_diary_section .diary_button_flex .diary_button {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #184986;
}
.top_diary_section .diary_button_flex .diary_button::after {
  content: "";
  width: 30px;
  height: 7px;
  background-image: url("../img/common/arrow_half_right_white.png");
  background-position: right;
}
.top_diary_section .diary_button_flex .diary_button_prev {
  margin-right: 20px;
}
.top_diary_section .diary_button_flex .diary_button_prev::after {
  transform: rotateY(180deg);
}
.top_diary_section .swiper_block {
  width: calc(50% + 600px);
  margin-top: 40px;
  margin-left: auto;
}
.top_diary_section .diary_slide {
  width: 440px;
  padding-right: 40px;
}
.top_diary_section .diary_card {
  display: block;
  width: 100%;
}
.top_diary_section .diary_card .diary_thumb {
  aspect-ratio: 1/0.67;
}
.top_diary_section .diary_card .diary_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
.top_diary_section .diary_card .diary_contents {
  margin-top: 12px;
}
.top_diary_section .diary_card .info_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top_diary_section .diary_card .diary_category {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 5px 14px;
  border-radius: 1px;
  background-color: #184986;
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.06em;
  color: #fff;
}
.top_diary_section .diary_card .diary_date {
  font-family: "Roboto", sans-serif;
  line-height: 1.3;
  color: #034e95;
}
.top_diary_section .diary_card .diary_title {
  line-height: 1.63;
  letter-spacing: 0.1em;
  color: #00151c;
  padding-bottom: 3px;
  border-bottom: 1px solid #184986;
  margin-top: 12px;
}
.top_diary_section .diary_card .author_flex {
  margin-top: 30px;
  display: flex;
  align-items: center;
}
.top_diary_section .diary_card .author_thumb {
  flex-shrink: 0;
  width: 56px;
  aspect-ratio: 1/1;
  margin-right: 16px;
}
.top_diary_section .diary_card .author_thumb img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top_diary_section .diary_card .author_job {
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #00151c;
}
.top_diary_section .diary_card .author_name {
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #00151c;
  margin-top: 4px;
}
.top_diary_section .diary_link_button {
  margin: 72px auto 0;
}

@media screen and (min-width: 1921px) {
  .top_diary_section .back_title {
    left: auto;
    right: calc(50% + 48px);
  }
}
/*@media screen and (min-width:1921px){*/
.top_link_section {
  padding-top: 100px;
  padding-bottom: 100px;
}
.top_link_section .link_button_flex {
  display: flex;
  justify-content: space-between;
}
.top_link_section .link_button {
  width: 580px;
  height: 160px;
  border-radius: 3px;
  position: relative;
  background-color: #034e95;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.top_link_section .link_button::before {
  content: "";
  width: 100%;
  height: 100%;
  transition-duration: 0.4s;
  position: absolute;
  top: 0;
  left: 0;
  filter: blur(4px);
}
.top_link_section .link_button.operate::before {
  background-image: url("../img/top/top_operation_bg.jpg");
}
.top_link_section .link_button.recruit::before {
  background-image: url("../img/top/top_recruit_bg.jpg");
}
.top_link_section .link_button .link_button_en_text {
  position: absolute;
  height: 59px;
  z-index: 1;
  top: -3px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.top_link_section .link_button .link_button_en_text img {
  height: 100%;
  width: auto;
}
.top_link_section .link_button .link_button_text {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.43;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  position: relative;
  z-index: 2;
}
.top_link_section .link_button .link_button_text span {
  font-size: 18px;
}
.top_link_section .link_button .radi {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  z-index: 3;
}
.top_link_section .link_button .radi::after {
  content: "";
  width: 30px;
  height: 7px;
  background-image: url("../img/common/arrow_half_right_blue.png");
  background-position: right;
}
.top_link_section .top_banner {
  display: block;
  width: 1110px;
  margin: 100px auto 0;
}
.top_link_section .top_banner img {
  width: 100%;
}

@media (any-hover: hover) {
  .top_link_section .link_button:hover::before {
    filter: blur(0);
  }
}
/*
------------------------------------
下層mv
------------------------------------
*/
.page_mv_section {
  position: relative;
  padding-top: 64px;
}
.page_mv_section::after {
  content: "";
  width: 100%;
  /* height:calc(100% - 240px); */
  height: 100%;
  background-color: #034e95;
  position: absolute;
  bottom: 240px;
  left: 0;
  z-index: -1;
}
.page_mv_section .page_title {
  font-size: 50px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}
.page_mv_section .mv_frame {
  margin-top: 24px;
  display: flex;
  justify-content: center;
}
.page_mv_section .mv {
  width: 1720px;
  height: 400px;
  flex-shrink: 0;
  max-width: 95vw;
}

/*
------------------------------------
対応症例について 一覧
------------------------------------
*/
.case_mv_section .mv {
  background-image: url("../img/case/case_mv.jpg");
}

.case_about_section {
  padding: 130px 0 100px;
}
.case_about_section .flex {
  display: flex;
  align-items: flex-start;
  margin-left: -30px;
}
.case_about_section .text_area {
  width: 100%;
}
.case_about_section .case_about_head {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.1em;
  padding-bottom: 30px;
  position: relative;
}
.case_about_section .case_about_head::after {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #034e95;
  position: absolute;
  left: 0;
  bottom: 0;
}
.case_about_section .case_about_text {
  margin-top: 32px;
  line-height: 2.25;
  letter-spacing: 0.1em;
}
.case_about_section .img_area {
  width: 600px;
  flex-shrink: 0;
  margin-left: 64px;
  box-shadow: 30px -30px 0 #e9f1f8;
}
.case_about_section .img_area img {
  width: 100%;
}

@media screen and (max-width: 1400px) {
  .case_about_section .flex {
    margin-left: 0;
  }
}
.case_contact_section {
  padding-bottom: 72px;
  background-image: url("../img/case/case_contact_bg.jpg");
}
.case_contact_section .contact_text_area {
  padding: 24px 0 86px;
  background-color: rgba(3, 78, 149, 0.84);
  color: #fff;
}
.case_contact_section .contact_head {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
.case_contact_section .contact_text {
  margin-top: 10px;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
}
.case_contact_section .white_box_flex {
  margin-top: -56px;
  display: flex;
  justify-content: center;
  gap: 0 4px;
  position: relative;
  z-index: 1;
}
.case_contact_section .box {
  background-color: #fff;
  width: 598px;
  min-height: 280px;
  /* padding-top:24px;
  padding-bottom: 24px; */
}
.case_contact_section .tel_box {
  padding-bottom: 80px;
  display: flex;
  align-items: flex-end;
  padding-left: 86px;
}
.case_contact_section .tel_num {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-size: 50px;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #034e95;
}
.case_contact_section .tel_num::before {
  content: "";
  width: 45px;
  height: 45px;
  background-image: url("../img/common/icon_tel_blue.png");
  flex-shrink: 0;
  margin-right: 16px;
}
.case_contact_section .tel_num .frame {
  position: relative;
}
.case_contact_section .tel_num .ruby {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  position: absolute;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.case_contact_section .tel_time {
  margin-top: 32px;
  text-align: center;
  font-size: 18px;
  line-height: 1;
  color: #034e95;
}
.case_contact_section .mail_box {
  display: flex;
  justify-content: center;
  align-items: center;
}
.case_contact_section .mail_button {
  width: 500px;
  height: 120px;
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 72px;
  transition-duration: 0.4s;
  background-color: #034e95;
  border: 2px solid #034e95;
  color: #fff;
}
.case_contact_section .mail_button::before {
  content: "";
  width: 50px;
  height: 34px;
  flex-shrink: 0;
  margin-right: 26px;
  background-image: url("../img/common/icon_mail_white.png");
  transition-duration: 0.4s;
}
.case_contact_section .mail_button::after {
  content: "";
  width: 12px;
  height: 12px;
  background-color: #fff;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  transition-duration: 0.4s;
  position: absolute;
  z-index: 1;
  bottom: 10px;
  right: 10px;
}
.case_contact_section .mail_button_text {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.case_contact_section .mail01 {
  font-size: 32px;
  font-weight: bold;
  line-height: 1;
}
.case_contact_section .mail02 {
  margin-top: 12px;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}

@media (any-hover: hover) {
  .case_contact_section .mail_button:hover {
    background-color: #fff;
    color: #034e95;
  }
  .case_contact_section .mail_button:hover:before {
    background-image: url("../img/common/icon_mail_blue.png");
  }
  .case_contact_section .mail_button:hover::after {
    background-color: #034e95;
  }
}
.case_list_section {
  padding-top: 100px;
}
.case_list_section .list_msg {
  margin-top: 56px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.4;
}
.case_list_section .case_list {
  margin-top: 56px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 100px 0;
}
.case_list_section .case_block {
  width: 570px;
}
.case_list_section .case_text_frame {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.case_list_section .case_text_frame::after {
  content: "";
  width: 109px;
  height: 145px;
  background-image: url("../img/case/case_arrow.png");
  margin-top: -1px;
}
.case_list_section .case_text_block {
  width: 100%;
  /* min-height: 242px; */
  border-radius: 10px;
  background-color: #e9f1f8;
  padding: 40px 30px;
}
.case_list_section .case_text_block ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 0;
}
.case_list_section .case_text_block li {
  width: 100%;
  padding-left: 15px;
  padding-right: 8px;
  font-size: 18px;
  line-height: 1.4;
  position: relative;
}
.case_list_section .case_text_block li.half {
  width: 50%;
}
.case_list_section .case_text_block li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #034e95;
  position: absolute;
  left: 0;
  top: 10px;
}
.case_list_section .case_button {
  height: 80px;
  margin-top: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #034e95;
  border: 2px solid #034e95;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  position: relative;
  transition-duration: 0.4s;
}
.case_list_section .case_button::after {
  content: "";
  width: 12px;
  height: 12px;
  background-color: #fff;
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  transition-duration: 0.4s;
  position: absolute;
  z-index: 1;
  bottom: 10px;
  right: 10px;
}

@media (any-hover: hover) {
  .case_list_section .case_button:hover {
    background-color: #fff;
    color: #034e95;
  }
  .case_list_section .case_button:hover::after {
    background-color: #034e95;
  }
}
/*
------------------------------------
対応症例について 詳細
------------------------------------
*/
.single_case_mv_section .mv {
  background-image: url("../img/case/case_mv.jpg");
}

.single_case_section {
  padding-top: 96px;
}
.single_case_section .case_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 36px;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
  color: #034e95;
}
.single_case_section .case_title::after {
  content: "";
  width: 70px;
  height: 4px;
  background-color: #36a9df;
  margin-top: 36px;
}
.single_case_section .case_guide {
  max-width: 1040px;
  margin: 50px auto 0;
  line-height: 2.25;
}
.single_case_section .case_guide p + p {
  margin-top: 10px;
}
.single_case_section .symptom_area {
  margin-top: 72px;
}
.single_case_section .symptom_box {
  /* display: flex;
  justify-content: center; */
  background-color: #f9f9f9;
  padding: 36px 100px 68px;
}
.single_case_section .symptom_box .symptom_head {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  color: #034e95;
}
.single_case_section .symptom_box ul {
  margin-top: 32px;
}
.single_case_section .symptom_box ul + ul {
  margin-top: 48px;
}
.single_case_section .symptom_box ul li {
  position: relative;
  padding-left: 26px;
  font-size: 20px;
  line-height: 1.4;
}
.single_case_section .symptom_box ul li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #034e95;
  position: absolute;
  left: 0;
  top: 11px;
}
.single_case_section .symptom_box ul li.head {
  padding-left: 0;
  font-weight: bold;
}
.single_case_section .symptom_box ul li.head::before {
  content: none;
}
.single_case_section .symptom_box ul li + li {
  margin-top: 20px;
}
.single_case_section .symptom_box ul.flex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 0;
}
.single_case_section .symptom_box ul.flex li {
  width: 50%;
  padding-right: 8px;
}
.single_case_section .symptom_box ul.flex li + li {
  margin-top: 0;
}
.single_case_section .symptom_box .symptom_remark {
  width: -moz-fit-content;
  width: fit-content;
  margin: 48px auto 0;
  /* max-width: 1050px; */
  line-height: 2.25;
}
.single_case_section .about_area {
  margin-top: 130px;
}
.single_case_section .about_area .about_flex {
  display: flex;
  align-items: center;
  margin-left: -15px;
}
.single_case_section .about_area .about_text_area {
  width: 100%;
}
.single_case_section .about_area .about_text {
  position: relative;
  font-size: 18px;
  line-height: 2.22;
  padding-top: 28px;
}
.single_case_section .about_area .about_text::before {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #034e95;
  position: absolute;
  top: 0;
  left: 0;
}
.single_case_section .about_area .about_img_area {
  width: 600px;
  flex-shrink: 0;
  margin-left: 64px;
  box-shadow: 30px -30px 0 #e9f1f8;
}
.single_case_section .about_area .about_img_area img {
  width: 100%;
}
.single_case_section .care_area {
  margin-top: 90px;
}
.single_case_section .care_area .care_box {
  padding: 36px 80px 56px;
  position: relative;
  background-color: #e9f1f8;
  display: flex;
  justify-content: center;
}
.single_case_section .care_area .care_head {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  color: #034e95;
}
.single_case_section .care_area .care_text {
  margin-top: 28px;
  font-size: 20px;
  line-height: 2.2;
}
.single_case_section .care_area .care_text p + p {
  margin-top: 10px;
}
.single_case_section .support_area {
  margin-top: 90px;
}
.single_case_section .support_area .support_head {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
.single_case_section .support_area .support_link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 640px;
  height: 180px;
  position: relative;
  margin: 40px auto 0;
  box-shadow: 0 0 21.9px 5.1px rgba(237, 237, 237, 0.42);
}
.single_case_section .support_area .support_link_text {
  padding: 8px 16px;
  min-width: 460px;
  background-color: #6dc1e9;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.67;
  color: #fff;
  text-align: center;
  margin-right: 5px;
  margin-bottom: 5px;
  box-shadow: 10px 13px 0 rgba(109, 193, 233, 0.4);
}
.single_case_section .support_area .support_banner {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
  top: 0;
  left: 0;
  background-image: url("../img/single_case/support_banner.jpg");
}

/*
------------------------------------
医療関係者の皆様へ
------------------------------------
*/
.medical_mv_section .mv {
  background-image: url("../img/medical/medical_mv.jpg");
}

.medical_section01 {
  padding-top: 72px;
}
.medical_section01 .p01 {
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 2.14;
  text-align: center;
}
.medical_section01 .link_area {
  margin-top: 80px;
  padding: 60px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 40px;
  position: relative;
}
.medical_section01 .link_area::before {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #e9f1f8;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -2;
}
.medical_section01 .link {
  width: 326px;
  height: 74px;
  background-color: #034e95;
  border: 2px solid #034e95;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition-duration: 0.4s;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
}
.medical_section01 .link::after {
  content: "";
  width: 18px;
  height: 10px;
  background-image: url("../img/common/angle_bottom_white.png");
  position: absolute;
  right: 36px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition-duration: 0.4s;
}

@media (any-hover: hover) {
  .medical_section01 .link:hover {
    background-color: #fff;
    color: #034e95;
  }
  .medical_section01 .link:hover::after {
    background-image: url("../img/common/angle_bottom_blue.png");
  }
}
.medical_strength_section {
  padding: 80px 0 94px;
}
.medical_strength_section .strength_flex {
  margin-top: 105px;
  display: flex;
  align-items: flex-start;
}
.medical_strength_section .text_area {
  width: 100%;
  padding-top: 32px;
}
.medical_strength_section .strength_head {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  position: relative;
  padding-bottom: 30px;
}
.medical_strength_section .strength_head::after {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #034e95;
  position: absolute;
  bottom: 0;
  left: 0;
}
.medical_strength_section .strength_text {
  margin-top: 30px;
  line-height: 2.25;
}
.medical_strength_section .img_area {
  width: 600px;
  flex-shrink: 0;
  margin-left: 64px;
  box-shadow: 30px -30px 0 #e9f1f8;
}
.medical_strength_section .img_area img {
  width: 100%;
}

.medical_area_section {
  padding-bottom: 100px;
}
.medical_area_section .area_view {
  padding: 67px 0 80px;
  position: relative;
}
.medical_area_section .area_view::before {
  content: "";
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-image: url("../img/medical/area_bg.jpg");
  background-size: cover;
}
.medical_area_section .area_view .area_text_block {
  width: 616px;
  min-height: 253px;
  background-color: #6dc1e9;
  position: relative;
  z-index: 1;
  padding: 44px 40px 48px;
  box-shadow: 16px 13px 0 rgba(109, 193, 233, 0.4);
  color: #fff;
}
.medical_area_section .area_view .area_text01 {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.3;
}
.medical_area_section .area_view .area_text02 {
  margin-top: 28px;
  line-height: 2;
}
.medical_area_section .area_list {
  margin-top: 60px;
}
.medical_area_section .area_block {
  padding: 50px 60px 56px;
  background-color: #e9f1f8;
}
.medical_area_section .area_block + .area_block {
  margin-top: 40px;
}
.medical_area_section .area_block a {
  transition-duration: 0.4s;
}
.medical_area_section .area_block .area_head {
  padding-bottom: 16px;
  border-bottom: 1px solid #034e95;
}
.medical_area_section .area_block .area_head a {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #034e95;
}
.medical_area_section .area_block .area_head a::before {
  content: "";
  width: 18px;
  height: 25px;
  background-image: url("../img/common/icon_map_blue.png");
  flex-shrink: 0;
  margin-right: 16px;
}
.medical_area_section .area_block .station_list {
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 24px 64px;
}
.medical_area_section .area_block .station_list a {
  font-size: 18px;
  line-height: 1.3;
}

@media (any-hover: hover) {
  .medical_area_section .area_block a:hover {
    opacity: 0.5;
  }
}
.medical_voice_section {
  padding: 100px 0;
  background-color: #e9f1f8;
}
.medical_voice_section .voice_list {
  margin-top: 48px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 80px 0;
}
.medical_voice_section .voice_item {
  width: 580px;
}
.medical_voice_section .voice_card {
  position: relative;
  display: block;
  min-height: 100%;
  padding: 40px 40px 32px;
  background-color: #fff;
}
.medical_voice_section .voice_card::before {
  content: "";
  width: 44px;
  height: 30px;
  background-image: url("../img/common/icon_quot_light_blue.png");
  position: absolute;
  z-index: 2;
  top: -14px;
  left: 48px;
}
.medical_voice_section .voice_card .voice_thumb {
  aspect-ratio: 1/0.44;
  position: relative;
}
.medical_voice_section .voice_card .voice_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.medical_voice_section .voice_card .voice_name {
  min-width: 220px;
  min-height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6px 12px;
  background-color: #034e95;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.3;
  color: #fff;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}
.medical_voice_section .voice_card .voice_text_area {
  margin-top: 24px;
}
.medical_voice_section .voice_card .voice_title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.83;
  color: #034e95;
}
.medical_voice_section .voice_card .voice_text {
  margin-top: 20px;
  line-height: 2.25;
}

/*
------------------------------------
運営会社Fusion株式会社について
------------------------------------
*/
.company_mv_section .mv {
  background-image: url("../img/company/company_mv.jpg");
}

.company_philosophy_section {
  padding-top: 100px;
}
.company_philosophy_section .p01 {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.94;
  text-align: center;
}
.company_philosophy_section .philosophy_box {
  padding: 40px 80px 44px;
  background-color: #e9f1f8;
  position: relative;
  margin-top: 50px;
}
.company_philosophy_section .philosophy_head {
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #034e95;
}
.company_philosophy_section .philosophy_list {
  width: -moz-fit-content;
  width: fit-content;
  margin: 40px auto 0;
}
.company_philosophy_section .philosophy_list li {
  font-size: 20px;
  line-height: 1.4;
  padding-left: 32px;
  position: relative;
}
.company_philosophy_section .philosophy_list li + li {
  margin-top: 20px;
}
.company_philosophy_section .philosophy_list li .num {
  position: absolute;
  left: 0;
  top: 0;
  font-size: 22px;
  font-weight: bold;
  color: #034e95;
}

.company_greeting_section {
  padding-top: 100px;
}
.company_greeting_section .greeting_flex {
  margin-top: 60px;
  display: flex;
  align-items: flex-start;
}
.company_greeting_section .text_area {
  width: 100%;
}
.company_greeting_section .message_head {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 170px;
  height: 34px;
  background-color: #36a9df;
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  line-height: 1;
  color: #fff;
}
.company_greeting_section .message_text {
  margin-top: 32px;
  font-size: 20px;
  line-height: 2;
}
.company_greeting_section .sign_flex {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 44px;
  text-align: right;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}
.company_greeting_section .sign_flex .sign_career {
  font-size: 18px;
  line-height: 1.67;
  color: #034e95;
}
.company_greeting_section .sign_flex .sign {
  font-size: 30px;
  line-height: 1;
  margin-left: 32px;
}
.company_greeting_section .sign_flex .sign img {
  width: 171px;
}
.company_greeting_section .img_area {
  width: 400px;
  flex-shrink: 0;
  margin-left: 100px;
}
.company_greeting_section .img_area img {
  width: 100%;
}

.company_outline_section {
  padding-top: 100px;
  padding-bottom: 96px;
}
.company_outline_section .outline_box {
  border: solid 4px #36a9df;
  padding: 80px 40px 80px;
}
.company_outline_section .outline_list {
  max-width: 800px;
  margin: 24px auto 0;
}
.company_outline_section .outline_item {
  display: flex;
}
.company_outline_section .outline_title {
  flex-shrink: 0;
  width: 200px;
  padding: 32px 0;
  position: relative;
  font-weight: bold;
  line-height: 1.5;
  color: #034e95;
  position: relative;
}
.company_outline_section .outline_title::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #36a9df;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
}
.company_outline_section .outline_contents {
  width: 100%;
  line-height: 1.5;
  padding: 32px 0;
  position: relative;
}
.company_outline_section .outline_contents::before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #9f9f9f;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
}

/*
------------------------------------
精神科訪問看護とは
------------------------------------
*/
.psychiatric_mv_section .mv {
  background-image: url("../img/psychiatric/psychiatric_mv.jpg");
}

.psychiatric_section01 {
  padding-top: 100px;
}
.psychiatric_section01 .sec_title {
  font-size: 34px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #034e95;
}
.psychiatric_section01 .text01 {
  max-width: 1030px;
  margin: 48px auto 0;
  line-height: 2.25;
}
.psychiatric_section01 .text01 p + p {
  margin-top: 10px;
}

.psychiatric_service_section {
  padding-top: 88px;
  padding-bottom: 100px;
}
.psychiatric_service_section .service_list {
  display: flex;
  flex-wrap: wrap;
  gap: 22px 12px;
  margin-top: 56px;
}
.psychiatric_service_section .service_item {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 54px;
  border-radius: 3px;
  background-color: #e9f1f8;
  padding: 0 8px;
  color: #034e95;
  /* width: 230px; */
  width: 392px;
}
.psychiatric_service_section .service_image_frame {
  margin-top: 50px;
  background-color: #f9f9f9;
  padding: 40px 225px 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 868px;
}
.psychiatric_service_section .service_image img {
  width: 762px;
}

/* .psychiatric_service_section .service_item01{
  width: 468px;
}
.psychiatric_service_section .service_item02{
  width: 402px;
}
.psychiatric_service_section .service_item03{
  width: 306px;
} */
.psychiatric_merit_section {
  padding: 80px 0;
  position: relative;
  background-color: #e9f1f8;
}
.psychiatric_merit_section .back_text {
  opacity: 0.3;
  -webkit-text-stroke: 1px #034e95;
  font-family: "Roboto", sans-serif;
  font-size: 300px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.06em;
  color: transparent;
  /* color: rgba(1, 89, 166, 0.3); */
  text-align: center;
  width: 100%;
  position: absolute;
  top: -40px;
  left: 0;
}
.psychiatric_merit_section .merit_box {
  padding: 80px 24px 96px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
  border: solid 4px #36a9df;
}
.psychiatric_merit_section .merit_box ul {
  margin-top: 50px;
}
.psychiatric_merit_section .merit_box ul li {
  padding-left: 18px;
  position: relative;
  font-size: 22px;
  line-height: 1.4;
}
.psychiatric_merit_section .merit_box ul li + li {
  margin-top: 26px;
}
.psychiatric_merit_section .merit_box ul li::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 12px;
  background-color: #034e95;
}

.psychiatric_case_section {
  padding: 100px 0;
}
.psychiatric_case_section .case_list {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.psychiatric_case_section .case_list li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 286px;
  height: 54px;
  background-color: #e9f1f8;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.3;
  color: #034e95;
}
.psychiatric_case_section .case_button {
  width: 800px;
  height: 100px;
  margin: 40px auto 0;
  box-shadow: 0 0 14.4px 1.6px #c9d6e4;
  border: solid 1px #034e95;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  color: #034e95;
  position: relative;
}
.psychiatric_case_section .case_button::after {
  content: "";
  width: 10px;
  height: 18px;
  background-image: url("../img/common/angle_right_blue.png");
  position: absolute;
  right: 40px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.psychiatric_case_section .link_list {
  margin-top: 100px;
  display: flex;
  justify-content: space-between;
}
.psychiatric_case_section .link {
  width: 380px;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  box-shadow: 0 0 21.9px 5.1px rgba(237, 237, 237, 0.42);
  position: relative;
  cursor: pointer;
}
.psychiatric_case_section .link .link_text {
  min-width: 250px;
  height: 44px;
  padding: 0 8px;
  background-color: #6dc1e9;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
  box-shadow: 6px 6px 0 rgba(109, 193, 233, 0.4);
  position: relative;
  z-index: 2;
}
.psychiatric_case_section .link .link_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.psychiatric_case_section .link .link_bg.rehabilitation {
  background-image: url("../img/psychiatric/link01.jpg");
}
.psychiatric_case_section .link .link_bg.support {
  background-image: url("../img/psychiatric/link02.jpg");
}
.psychiatric_case_section .link .link_bg.faq {
  background-image: url("../img/psychiatric/link03.jpg");
}

/*
------------------------------------
訪問リハビリ
------------------------------------
*/
.rehabilitation_mv_section .mv {
  background-image: url("../img/rehabilitation/rehabilitation_mv.jpg");
}

.rehabilitation_section01 {
  padding-top: 100px;
}
.rehabilitation_section01 .p01 {
  font-size: 28px;
  font-weight: bold;
  line-height: 2.14;
  text-align: center;
  color: #034e95;
}

.rehabilitation_case_section {
  position: relative;
  padding: 96px 0 120px;
}
.rehabilitation_case_section::before {
  content: "";
  width: 100%;
  height: calc(100% - 216px);
  background-color: #f9f9f9;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -2;
}
.rehabilitation_case_section .back_text {
  width: 1920px;
  position: absolute;
  z-index: -1;
  top: 48px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.rehabilitation_case_section .back_text img {
  width: 100%;
}
.rehabilitation_case_section .main_img img {
  width: 100%;
}
.rehabilitation_case_section .message_frame {
  margin-top: 60px;
  height: 175px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rehabilitation_case_section .message_frame .message {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.3;
}
.rehabilitation_case_section .case_list {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-right: 20px;
  gap: 80px 0;
}
.rehabilitation_case_section .case_block {
  width: 550px;
  box-shadow: 20px 20px 0 #e9f1f8;
  background-color: #fff;
  padding: 40px 40px 32px;
}
.rehabilitation_case_section .case_block .case_thumb img {
  width: 100%;
}
.rehabilitation_case_section .case_block .case_text_area {
  margin-top: 32px;
}
.rehabilitation_case_section .case_block .case_title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  color: #034e95;
  text-align: center;
}
.rehabilitation_case_section .case_block .case_text {
  margin-top: 24px;
  line-height: 2;
}

.rehabilitation_example_section {
  padding: 100px 0;
  background-color: #e9f1f8;
}
.rehabilitation_example_section .example_list {
  margin-top: 70px;
}
.rehabilitation_example_section .example_block {
  display: flex;
  align-items: flex-start;
  position: relative;
  padding: 60px;
  box-shadow: 0 0 29px 0 rgba(95, 111, 123, 0.1);
  background-color: #fff;
}
.rehabilitation_example_section .example_block + .example_block {
  margin-top: 90px;
}
.rehabilitation_example_section .example_block .example_num {
  font-family: "Roboto", sans-serif;
  font-size: 90px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #36a9df;
  position: absolute;
  z-index: 1;
  top: -46px;
}
.rehabilitation_example_section .example_block .example_thumb {
  width: 400px;
  flex-shrink: 0;
}
.rehabilitation_example_section .example_block .example_thumb img {
  width: 100%;
}
.rehabilitation_example_section .example_block .example_text_area {
  width: 100%;
}
.rehabilitation_example_section .example_block .example_title {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 210px;
  min-height: 40px;
  border-radius: 40px;
  background-color: #034e95;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 3px 40px 5px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  color: #fff;
}
.rehabilitation_example_section .example_block .example_text {
  margin-top: 16px;
  line-height: 2;
}
.rehabilitation_example_section .example_block .example_care_head {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  color: #034e95;
  margin-top: 20px;
}
.rehabilitation_example_section .example_block .example_care_head p {
  flex-shrink: 0;
  padding: 0 24px;
}
.rehabilitation_example_section .example_block .example_care_head::before, .rehabilitation_example_section .example_block .example_care_head::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #034e95;
}
.rehabilitation_example_section .example_block:nth-child(odd) .example_thumb {
  margin-right: 40px;
}
.rehabilitation_example_section .example_block:nth-child(odd) .example_num {
  left: -6px;
}
.rehabilitation_example_section .example_block:nth-child(even) {
  flex-direction: row-reverse;
}
.rehabilitation_example_section .example_block:nth-child(even) .example_thumb {
  margin-left: 40px;
}
.rehabilitation_example_section .example_block:nth-child(even) .example_num {
  right: -6px;
}

.rehabilitation_staff_section {
  padding: 96px 0 110px;
}
.rehabilitation_staff_section .flex {
  display: flex;
  align-items: center;
  margin-top: 64px;
}
.rehabilitation_staff_section .text_area {
  width: 100%;
  line-height: 2.38;
}
.rehabilitation_staff_section .text_area p + p {
  margin-top: 10px;
}
.rehabilitation_staff_section .img_area {
  flex-shrink: 0;
  position: relative;
  width: 400px;
  margin-left: 96px;
}
.rehabilitation_staff_section .img_area img {
  width: 100%;
}
.rehabilitation_staff_section .staff_name_box {
  position: absolute;
  right: -30px;
  bottom: -30px;
  z-index: 1;
  display: flex;
  align-items: center;
  background-color: #e9f1f8;
  min-width: 260px;
  min-height: 130px;
  padding-left: 50px;
}
.rehabilitation_staff_section .staff_job {
  font-size: 18px;
  line-height: 1.67;
  color: #034e95;
}
.rehabilitation_staff_section .staff_name {
  margin-top: 12px;
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
}

/*
------------------------------------
よくある質問
------------------------------------
*/
.faq_mv_section .mv {
  background-image: url("../img/faq/faq_mv.jpg");
}

.faq_section01 {
  padding-top: 80px;
}
.faq_section01 .faq_head {
  font-size: 28px;
  font-weight: bold;
  line-height: 1, 3;
  text-align: center;
  color: #034e95;
}
.faq_section01 .faq_text {
  margin-top: 44px;
  line-height: 2.25;
  text-align: center;
}
.faq_section01 .faq_link_area {
  margin-top: 68px;
  padding: 60px 0;
  background-color: #e9f1f8;
  position: relative;
}
.faq_section01 .faq_link_area::before {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #e9f1f8;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
.faq_section01 .faq_link_list {
  display: flex;
  justify-content: space-between;
}
.faq_section01 .faq_link {
  width: 230px;
  height: 70px;
  background-color: #034e95;
  border: 2px solid #034e95;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition-duration: 0.4s;
  font-weight: bold;
  line-height: 1.44;
  color: #fff;
  text-align: center;
  padding-right: 8px;
}
.faq_section01 .faq_link::after {
  content: "";
  width: 12px;
  height: 8px;
  background-image: url("../img/common/angle_bottom_white.png");
  position: absolute;
  right: 16px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition-duration: 0.4s;
}

@media (any-hover: hover) {
  .faq_section01 .faq_link:hover {
    color: #034e95;
    background-color: #fff;
  }
  .faq_section01 .faq_link:hover::after {
    background-image: url("../img/common/angle_bottom_blue.png");
  }
}
.faq_list_section {
  padding: 100px 0 120px;
}
.faq_list_section .faq_area + .faq_area {
  margin-top: 140px;
}
.faq_list_section .faq_head {
  padding-bottom: 12px;
  border-bottom: 1px solid #d1d1d1;
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
}
.faq_list_section .faq_head::before {
  content: "";
  width: 3px;
  height: 40px;
  background-color: #36a9df;
  flex-shrink: 0;
  margin-right: 24px;
}
.faq_list_section .faq_list {
  margin-top: 40px;
}
.faq_list_section .faq_block + .faq_block {
  margin-top: 60px;
}
.faq_list_section .faq_question {
  padding: 16px;
  background-color: #f9f9f9;
  display: flex;
  align-items: flex-start;
}
.faq_list_section .faq_question::before {
  content: "Q";
  width: 50px;
  height: 50px;
  background-color: #36a9df;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  margin-right: 16px;
  font-family: "Roboto", sans-serif;
  font-size: 22px;
  line-height: 1;
  color: #fff;
}
.faq_list_section .faq_question_text {
  font-size: 18px;
  padding-top: 9px;
  line-height: 1.5;
}
.faq_list_section .faq_answer {
  padding: 16px 0 0 16px;
  display: flex;
  align-items: flex-start;
}
.faq_list_section .faq_answer::before {
  content: "A";
  width: 50px;
  height: 50px;
  background-color: #e9f1f8;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  margin-right: 16px;
  font-family: "Roboto", sans-serif;
  font-size: 22px;
  line-height: 1;
  color: #333;
}
.faq_list_section .faq_answer_text {
  font-size: 18px;
  line-height: 2.22;
  padding-top: 6px;
}
.faq_list_section .faq_answer a {
  text-decoration: underline;
}

/*
------------------------------------
サポート事例
------------------------------------
*/
main.support_case_main {
  position: relative;
}
main.support_case_main::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #e9f1f8;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -5;
}

.support_case_mv_section .mv {
  background-image: url("../img/support_case/support_case_mv.jpg");
}

.support_case_section {
  padding-top: 88px;
}
.support_case_section .common_sec_title_half_bottom_border {
  color: #034e95;
}
.support_case_section .p01 {
  margin-top: 32px;
  line-height: 2.25;
  text-align: center;
}
.support_case_section .support_case_list {
  margin-top: 48px;
}
.support_case_section .support_case_block {
  padding: 44px 80px 64px;
  background-color: #fff;
  border: solid 4px #36a9df;
}
.support_case_section .support_case_block + .support_case_block {
  margin-top: 80px;
}
.support_case_section .support_case_block .support_case_head {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding-top: 20px;
  padding-left: 40px;
  padding-right: 56px;
  padding-bottom: 2px;
}
.support_case_section .support_case_block .common_border_deco01 {
  top: 0;
  left: 0;
}
.support_case_section .support_case_block .common_border_deco02 {
  bottom: 0;
  right: 0;
}
.support_case_section .support_case_block .support_case_thumb {
  width: 200px;
  aspect-ratio: 1/1;
  flex-shrink: 0;
  margin-right: 28px;
  border-radius: 50%;
}
.support_case_section .support_case_block .support_case_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.support_case_section .support_case_block .support_case_head_info {
  width: 100%;
  padding-top: 32px;
  padding-bottom: 32px;
}
.support_case_section .support_case_block .support_case_outline {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.75;
}
.support_case_section .support_case_block .info_flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 18px;
  line-height: 1.4;
  margin-top: 20px;
}
.support_case_section .support_case_block .support_case_body {
  margin-top: 60px;
}
.support_case_section .support_case_block .status_flex {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.support_case_section .support_case_block .status_flex::before {
  content: "";
  width: 108px;
  height: 65px;
  background-image: url("../img/support_case/arrow.png");
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 2;
}
.support_case_section .support_case_block .status_block {
  position: relative;
  width: 48.5%;
  padding: 80px 60px 32px;
  line-height: 2.25;
}
.support_case_section .support_case_block .status_block .status_head {
  width: 280px;
  height: 46px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.support_case_section .support_case_block .status_block.before {
  background-color: #ebebeb;
}
.support_case_section .support_case_block .status_block.before .status_head {
  background-color: #616161;
}
.support_case_section .support_case_block .status_block.after {
  background-color: #e1effa;
}
.support_case_section .support_case_block .status_block.after .status_head {
  background-image: linear-gradient(to top, #034e95, #0a58a2, #1866b0);
}
.support_case_section .support_case_block .support_case_img_list {
  margin-top: 40px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 24px;
}
.support_case_section .support_case_block .support_case_img_list li {
  width: 328px;
}
.support_case_section .support_case_block .support_case_img_list img {
  width: 100%;
}

/*
------------------------------------
初めての方へ
------------------------------------
*/
.first_mv_section .mv {
  background-image: url("../img/first/first_mv.jpg");
}

.first_section01 {
  padding-top: 64px;
}
.first_section01 .p01 {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.94;
  text-align: center;
}
.first_section01 .image_area {
  margin-top: 80px;
  position: relative;
  height: 600px;
}
.first_section01 .image_area::before {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #e9f1f8;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
.first_section01 .image_list {
  position: relative;
}
.first_section01 .image_list li {
  position: absolute;
}
.first_section01 .image_list li img {
  width: 100%;
}
.first_section01 .image_list .first01 {
  width: 275px;
  left: 50px;
  top: 8px;
}
.first_section01 .image_list .first02 {
  width: 200px;
  top: -36px;
  left: 372px;
}
.first_section01 .image_list .first03 {
  width: 256px;
  top: -8px;
  left: 600px;
}
.first_section01 .image_list .first04 {
  width: 238px;
  top: -38px;
  left: 910px;
}
.first_section01 .image_list .first05 {
  width: 201px;
  top: 327px;
  left: 108px;
}
.first_section01 .image_list .first06 {
  width: 256px;
  top: 199px;
  left: 352px;
}
.first_section01 .image_list .first07 {
  width: 196px;
  top: 272px;
  left: 682px;
}
.first_section01 .image_list .first08 {
  width: 210px;
  top: 236px;
  left: 937px;
}

.first_link_section {
  padding-top: 108px;
  padding-bottom: 100px;
}
.first_link_section .msg_box {
  padding: 45px 40px;
  background-image: url("../img/first/frist_msg.jpg");
  min-height: 400px;
}
.first_link_section .msg_text_box {
  max-width: 616px;
  min-height: 310px;
  background-color: #6dc1e9;
  padding: 24px 36px 28px;
  line-height: 2;
  color: #fff;
  box-shadow: 15px 15px 0 rgba(109, 193, 233, 0.4);
}
.first_link_section .banner_flex {
  display: flex;
  justify-content: space-between;
  margin-top: 100px;
}
.first_link_section .banner {
  position: relative;
  width: 580px;
  padding: 30px 56px 30px 20px;
}
.first_link_section .banner::after {
  content: "";
  width: 48px;
  height: 48px;
  background-image: url("../img/first/banner_radi.png");
  position: absolute;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.first_link_section .banner .banner_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
  top: 0;
  left: 0;
}
.first_link_section .banner .banner_text_box {
  padding: 16px;
  min-width: 280px;
  width: -moz-fit-content;
  width: fit-content;
  min-height: 90px;
  background-color: #fff;
}
.first_link_section .banner .en_title {
  font-family: "Roboto", sans-serif;
  letter-spacing: 1;
  color: #36a9df;
}
.first_link_section .banner .ja_title {
  margin-top: 3px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
}
.first_link_section .banner.family .banner_bg {
  background-image: url("../img/first/banner01.jpg");
}
.first_link_section .banner.family .banner_text_box {
  padding-left: 32px;
  padding-right: 32px;
}
.first_link_section .banner.flow .banner_bg {
  background-image: url("../img/first/banner02.jpg");
}
.first_link_section .banner.flow .banner_text_box {
  padding-left: 24px;
  padding-right: 24px;
}
.first_link_section .link_list {
  margin-top: 130px;
}
.first_link_section .link_block {
  display: flex;
  align-items: flex-start;
}
.first_link_section .link_block + .link_block {
  margin-top: 110px;
}
.first_link_section .link_block .link_thumb {
  flex-shrink: 0;
  width: 600px;
  aspect-ratio: 1/0.67;
}
.first_link_section .link_block .link_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.first_link_section .link_block .link_text_area {
  width: 100%;
  padding-top: 16px;
}
.first_link_section .link_block .link_head {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.29;
  color: #034e95;
  padding-bottom: 20px;
  position: relative;
}
.first_link_section .link_block .link_head::after {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #034e95;
  position: absolute;
  bottom: 0;
  left: 0;
}
.first_link_section .link_block .link_text {
  margin-top: 16px;
  line-height: 2.25;
}
.first_link_section .link_block .link_more {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}
.first_link_section .link_block .link_more a {
  display: flex;
  align-items: center;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #034e95;
}
.first_link_section .link_block .link_more a .radi {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid 1px #034e95;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  margin-left: 18px;
  transition-duration: 0.4s;
}
.first_link_section .link_block .link_more a .radi::after {
  content: "";
  width: 20px;
  height: 5px;
  background-image: url("../img/common/arrow_half_right_blue.png");
  transition-duration: 0.4s;
}
.first_link_section .link_block:nth-child(odd) .link_thumb {
  margin-right: 56px;
  box-shadow: -30px -30px 0 #e9f1f8;
}
.first_link_section .link_block:nth-child(even) {
  flex-direction: row-reverse;
}
.first_link_section .link_block:nth-child(even) .link_thumb {
  margin-left: 56px;
  box-shadow: 30px -30px 0 #e9f1f8;
}

@media (any-hover: hover) {
  .first_link_section .link_block .link_more a:hover .radi {
    background-color: #034e95;
  }
  .first_link_section .link_block .link_more a:hover .radi::after {
    background-image: url("../img/common/arrow_half_right_white.png");
  }
}
/*
------------------------------------
ご家族の皆様へ
------------------------------------
*/
.family_mv_section .mv {
  background-image: url("../img/family/family_mv.jpg");
}

.family_section01 {
  padding-top: 80px;
  padding-bottom: 80px;
}
.family_section01 .sec_head {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.94;
  text-align: center;
}
.family_section01 .flex {
  margin-top: 80px;
  display: flex;
  align-items: flex-start;
}
.family_section01 .text_area {
  width: 100%;
  padding-top: 72px;
}
.family_section01 .text_area p {
  position: relative;
  line-height: 2.25;
  padding-top: 32px;
}
.family_section01 .text_area p::before {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #034e95;
  position: absolute;
  top: 0;
  left: 0;
}
.family_section01 .img_area {
  width: 600px;
  flex-shrink: 0;
  margin-left: 64px;
  box-shadow: 30px -30px 0 #e9f1f8;
}
.family_section01 .img_area img {
  width: 100%;
}

.family_anchor_section {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #e9f1f8;
}
.family_anchor_section .anchor_list {
  margin-top: 60px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 20px 12px;
}
.family_anchor_section .anchor_list li {
  width: 230px;
}
.family_anchor_section .anchor {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 70px;
  background-color: #034e95;
  position: relative;
  padding: 10px 24px;
  border: 2px solid #034e95;
  font-weight: bold;
  line-height: 1.44;
  text-align: center;
  color: #fff;
  transition-duration: 0.4s;
}
.family_anchor_section .anchor::after {
  content: "";
  width: 16px;
  height: 9px;
  background-image: url("../img/common/angle_bottom_white.png");
  background-size: contain;
  position: absolute;
  right: 14px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition-duration: 0.4s;
}

@media (any-hover: hover) {
  .family_anchor_section .anchor:hover {
    background-color: #fff;
    color: #034e95;
  }
  .family_anchor_section .anchor:hover::after {
    background-image: url("../img/common/angle_bottom_blue.png");
  }
}
.family_change_section {
  padding-top: 100px;
}
.family_change_section .change_list {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
.family_change_section .change_block {
  background-color: #e9f1f8;
}
.family_change_section .change_head {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 80px;
  padding: 8px 4px;
  background-image: linear-gradient(to right, #034e95, #0a58a2, #1866b0);
  font-size: 18px;
  font-weight: bold;
  line-height: 1.56;
  text-align: center;
  color: #fff;
}
.family_change_section .change_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.family_change_section .change_body {
  line-height: 1.63;
  letter-spacing: 0.08em;
}
.family_change_section .change_body ul {
  margin-top: 16px;
}
.family_change_section .change_body li {
  position: relative;
  padding-left: 16px;
}
.family_change_section .change_body li::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #034e95;
  position: absolute;
  left: 0;
  top: 10px;
}
.family_change_section .action_list .change_block, .family_change_section .emotion_list .change_block, .family_change_section .thinking_list .change_block {
  width: 280px;
}
.family_change_section .action_list .change_body, .family_change_section .emotion_list .change_body, .family_change_section .thinking_list .change_body {
  padding: 20px 20px 12px;
}
.family_change_section .action_list .change_thumb, .family_change_section .emotion_list .change_thumb, .family_change_section .thinking_list .change_thumb {
  aspect-ratio: 1/0.67;
}
.family_change_section .physical_list .change_block, .family_change_section .social_list .change_block {
  width: 380px;
}
.family_change_section .physical_list .change_body, .family_change_section .social_list .change_body {
  padding: 30px 30px 20px;
}
.family_change_section .physical_list .change_thumb, .family_change_section .social_list .change_thumb {
  aspect-ratio: 1/0.625;
}
.family_change_section .drug_list .change_block, .family_change_section .looks_list .change_block, .family_change_section .communicate_list .change_block, .family_change_section .real_list .change_block, .family_change_section .stress_list .change_block {
  width: 580px;
}
.family_change_section .drug_list .change_body, .family_change_section .looks_list .change_body, .family_change_section .communicate_list .change_body, .family_change_section .real_list .change_body, .family_change_section .stress_list .change_body {
  padding: 30px 30px 20px;
}
.family_change_section .drug_list .change_thumb, .family_change_section .looks_list .change_thumb, .family_change_section .communicate_list .change_thumb, .family_change_section .real_list .change_thumb, .family_change_section .stress_list .change_thumb {
  aspect-ratio: 1/0.48;
}

.family_text_section {
  padding-top: 96px;
  padding-bottom: 72px;
}
.family_text_section p {
  font-family: "Noto Serif JP", serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.91;
  text-align: center;
}

.family_link_section {
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: #f9f9f9;
}
.family_link_section .link_guide {
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 2.29;
  text-align: center;
}
.family_link_section .link_list {
  margin-top: 56px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 30px 0;
}
.family_link_section .link {
  width: 380px;
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3px;
  box-shadow: 0 0 21.9px 5.1px rgba(237, 237, 237, 0.42);
  position: relative;
  cursor: pointer;
}
.family_link_section .link .link_bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.family_link_section .link .link_text {
  min-width: 250px;
  height: 44px;
  padding: 0 8px;
  background-color: #6dc1e9;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
  box-shadow: 6px 6px 0 rgba(109, 193, 233, 0.4);
  position: relative;
  z-index: 2;
}
.family_link_section .link .link_bg.psychiatric {
  background-image: url("../img/family/link01.jpg");
}
.family_link_section .link .link_bg.case {
  background-image: url("../img/family/link02.jpg");
}
.family_link_section .link .link_bg.faq {
  background-image: url("../img/family/link03.jpg");
}
.family_link_section .link .link_bg.flow {
  background-image: url("../img/family/link04.jpg");
}
.family_link_section .link .link_bg.system {
  background-image: url("../img/family/link05.jpg");
}
.family_link_section .link .link_bg.staff {
  background-image: url("../img/family/link06.jpg");
}

/*
------------------------------------
ご利用の流れと料金
------------------------------------
*/
.flow_mv_section .mv {
  background-image: url("../img/flow/flow_mv.jpg");
}

.flow_section01 {
  padding-top: 90px;
  padding-bottom: 100px;
}
.flow_section01 .link_area {
  margin-top: 60px;
  padding: 60px 0;
  position: relative;
}
.flow_section01 .link_area::before {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: #e9f1f8;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
.flow_section01 .link_flex {
  display: flex;
  justify-content: center;
  gap: 0 32px;
}
.flow_section01 .link_flex .link {
  width: 366px;
  height: 94px;
  position: relative;
  background-color: #034e95;
  border: 2px solid #034e95;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  font-style: 1.5;
  text-align: center;
  color: #fff;
  transition-duration: 0.4s;
}
.flow_section01 .link_flex .link::after {
  content: "";
  width: 18px;
  height: 10px;
  background-image: url("../img/common/angle_bottom_white.png");
  position: absolute;
  right: 28px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition-duration: 0.4s;
}
.flow_section01 .flow_box {
  padding: 56px 56px 56px 86px;
  border: solid 4px #36a9df;
  background-color: #fff;
}
.flow_section01 .flow_box01 {
  margin-top: 96px;
}
.flow_section01 .flow_box02 {
  margin-top: 80px;
}
.flow_section01 .flow_box .flow_head {
  text-align: center;
  font-size: 34px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  color: #034e95;
}
.flow_section01 .flow_list {
  margin-top: 56px;
}
.flow_section01 .flow_block {
  display: flex;
  align-items: center;
  position: relative;
  background-color: #e9f1f8;
}
.flow_section01 .flow_block + .flow_block {
  margin-top: 40px;
}
.flow_section01 .flow_block::before, .flow_section01 .flow_block::after {
  content: "";
  width: 4px;
  height: 100%;
  background-color: #034e95;
  position: absolute;
  left: -2px;
  z-index: 1;
}
.flow_section01 .flow_block::before {
  top: 50%;
}
.flow_section01 .flow_block::after {
  bottom: 50%;
}
.flow_section01 .flow_block:first-child::after, .flow_section01 .flow_block:last-child::before {
  content: none;
}
.flow_section01 .flow_block .flow_thumb {
  width: 294px;
  aspect-ratio: 1/0.795;
  flex-shrink: 0;
}
.flow_section01 .flow_block .flow_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.flow_section01 .flow_block .flow_text_area {
  width: 100%;
  padding: 24px 40px 24px 90px;
  position: relative;
}
.flow_section01 .flow_block .flow_title {
  font-size: 28px;
  font-weight: bold;
  line-height: 1.3;
}
.flow_section01 .flow_block .flow_text {
  margin-top: 16px;
  line-height: 2.25;
}
.flow_section01 .flow_block .flow_num {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  background-color: #034e95;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-size: 50px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #fff;
  position: absolute;
  z-index: 2;
  left: -45px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media (any-hover: hover) {
  .flow_section01 .link_flex .link:hover {
    color: #034e95;
    background-color: #fff;
  }
  .flow_section01 .link_flex .link:hover::after {
    background-image: url("../img/common/angle_bottom_blue.png");
  }
}
.flow_service_section {
  padding: 108px 0 100px;
  background-color: #e9f1f8;
}
.flow_service_section .service_list {
  margin-top: 60px;
  display: flex;
  justify-content: space-between;
}
.flow_service_section .service_block {
  width: 580px;
  background-color: #fff;
}
.flow_service_section .service_head {
  min-height: 70px;
  padding: 12px 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(to right, #034e95, #0a58a2, #1866b0);
  font-size: 28px;
  font-weight: bold;
  line-height: 1.3;
  color: #fff;
}
.flow_service_section .service_body {
  padding: 30px 40px 28px;
}
.flow_service_section .service_thumb {
  aspect-ratio: 1/0.48;
}
.flow_service_section .service_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.flow_service_section .service_text {
  margin-top: 24px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.3;
  display: flex;
  justify-content: center;
}

.flow_graph_section {
  padding-top: 108px;
  padding-bottom: 96px;
}
.flow_graph_section .graph_list {
  margin-top: 60px;
  display: flex;
  justify-content: space-between;
}
.flow_graph_section .graph_block {
  width: 580px;
  background-color: #e9f1f8;
}
.flow_graph_section .graph_head {
  min-height: 70px;
  padding: 12px 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(to right, #034e95, #0a58a2, #1866b0);
  font-size: 28px;
  font-weight: bold;
  line-height: 1.3;
  color: #fff;
}
.flow_graph_section .graph_body {
  padding: 30px 40px 28px;
}
.flow_graph_section .graph_frame {
  width: 263px;
  margin: 0 auto;
  position: relative;
}
.flow_graph_section .graph_frame img {
  width: 100%;
}
.flow_graph_section .graph_frame span {
  position: absolute;
  width: 142px;
  left: 170px;
  top: -8px;
}
.flow_graph_section .graph_text {
  margin-top: 24px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.3;
  display: flex;
  justify-content: center;
}
.flow_graph_section .graph_remark {
  margin-top: 56px;
  text-align: center;
}

.flow_guide_section {
  padding: 96px 0 100px;
  background-color: #f0f0f0;
}
.flow_guide_section .common_sec_title_half_bottom_border {
  text-align: center;
  line-height: 1.6;
}
.flow_guide_section .guide_head {
  width: 450px;
  min-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border-radius: 3px;
  background-color: #034e95;
  padding: 12px 16px;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.3;
  color: #fff;
  margin: 50px auto 0;
}
.flow_guide_section .guide_head p {
  position: relative;
  z-index: 1;
}
.flow_guide_section .guide_head::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 1px);
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 10px 0 10px;
  border-color: #034e95 transparent transparent transparent;
}
.flow_guide_section .guide_box {
  margin-top: 48px;
  padding: 60px 70px 78px;
  background-color: #fff;
}
.flow_guide_section .guide img {
  width: 100%;
}
.flow_guide_section .guide_remark_area {
  margin-top: 72px;
}
.flow_guide_section .guide_remark_head {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.3;
  padding-bottom: 16px;
  color: #034e95;
  border-bottom: 1px solid #034e95;
}
.flow_guide_section .guide_remark_list {
  margin-top: 16px;
}
.flow_guide_section .guide_remark_list li {
  line-height: 1.3;
  padding-left: 18px;
  position: relative;
}
.flow_guide_section .guide_remark_list li::before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #034e95;
  position: absolute;
  left: 0;
  top: 7px;
}
.flow_guide_section .guide_remark_list li + li {
  margin-top: 8px;
}
.flow_guide_section .guide_remark_text {
  margin-top: 32px;
  display: flex;
  justify-content: flex-end;
  font-size: 12px;
}

/*
------------------------------------
地域に密着したセノーテ訪問看護
------------------------------------
*/
.community_mv_section .mv {
  background-image: url("../img/community/community_mv.jpg");
}

.community_section01 {
  padding-top: 90px;
}
.community_section01 .p01 {
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 2.14;
  text-align: center;
}

.community_support_section {
  padding-top: 72px;
  padding-bottom: 100px;
}
.community_support_section .support_box {
  margin-top: 40px;
  padding: 60px 24px;
  background-color: #e9f1f8;
}
.community_support_section .support_box .support_frame {
  max-width: 811px;
  margin: 0 auto;
}
.community_support_section .support_box .support img {
  width: 100%;
}
.community_support_section .support_list {
  margin-top: 90px;
}
.community_support_section .support_block {
  display: flex;
  align-items: flex-start;
}
.community_support_section .support_block + .support_block {
  margin-top: 60px;
}
.community_support_section .support_block .support_thumb {
  width: 400px;
  aspect-ratio: 1/0.75;
  flex-shrink: 0;
  margin-right: 36px;
  box-shadow: -10px 10px 0 #e9f1f8;
}
.community_support_section .support_block .support_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.community_support_section .support_block .support_text_area {
  width: 100%;
  padding-top: 60px;
}
.community_support_section .support_block .support_head {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  color: #034e95;
  padding-bottom: 20px;
  border-bottom: 1px solid #034e95;
}
.community_support_section .support_block .support_text {
  margin-top: 16px;
  font-size: 18px;
  line-height: 2.11;
}
.community_support_section .support_msg_box {
  margin-top: 80px;
  background-color: #e9f1f8;
  position: relative;
  padding: 48px 56px 48px;
}
.community_support_section .support_msg_head {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.community_support_section .support_msg_text {
  line-height: 2;
  width: -moz-fit-content;
  width: fit-content;
  margin: 24px auto 0;
}
.community_support_section .support_remark {
  margin-top: 88px;
  font-size: 18px;
  line-height: 2.44;
  text-align: center;
}
.community_support_section .bgm_banner {
  display: flex;
  max-width: 700px;
  margin: 88px auto 0;
  box-shadow: 0 0 6.5px 0.5px #a9a9a9;
}
.community_support_section .bgm_banner .bgm_img {
  width: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.community_support_section .bgm_text_area {
  width: 50%;
  display: flex;
  align-items: center;
  position: relative;
  padding: 32px 36px;
  background-color: #034e95;
}
.community_support_section .bgm_text_area::after {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url("../img/common/icon_link_white.png");
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 1;
}
.community_support_section .bgm_text {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
}

/*
------------------------------------
充実の看護体制
------------------------------------
*/
.system_mv_section .mv {
  background-image: url("../img/system/system_mv.jpg");
}

.system_section01 {
  padding-top: 72px;
  padding-bottom: 100px;
}
.system_section01 .p01 {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.94;
  text-align: center;
}
.system_section01 .system_flex {
  display: flex;
  align-items: flex-start;
  margin-top: 80px;
}
.system_section01 .system_text_area {
  width: 100%;
  padding-top: 72px;
}
.system_section01 .system_text {
  padding-top: 28px;
  position: relative;
  line-height: 2.25;
}
.system_section01 .system_text::before {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #034e95;
  position: absolute;
  left: 0;
  top: 0;
}
.system_section01 .system_img_area {
  width: 600px;
  aspect-ratio: 1/0.67;
  flex-shrink: 0;
  margin-left: 64px;
  box-shadow: 30px -30px 0 #e9f1f8;
}
.system_section01 .system_img_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.system_manager_section {
  padding-top: 80px;
  padding-bottom: 96px;
}
.system_manager_section .manager_list {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 50px 44px;
  margin-top: 110px;
}
.system_manager_section .manager_block {
  width: 370px;
}
.system_manager_section .manager_thumb {
  aspect-ratio: 1/0.67;
  box-shadow: 10px 10px 0 #e9f1f8;
}
.system_manager_section .manager_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.system_manager_section .manager_text_area {
  margin-top: 24px;
}
.system_manager_section .manager_job {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: #034e95;
}
.system_manager_section .manager_job span {
  font-size: 16px;
}
.system_manager_section .manager_name {
  margin-top: 10px;
  font-size: 24px;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  line-height: 1.2;
}

/*
------------------------------------
訪問スタッフについて
------------------------------------
*/
.staff_mv_section .mv {
  background-image: url("../img/staff/staff_mv.jpg");
}

.staff_section01 {
  padding-top: 72px;
}
.staff_section01 .p01 {
  font-family: "Noto Serif JP", serif;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.94;
  text-align: center;
  color: #034e95;
}
.staff_section01 .p02 {
  max-width: 1020px;
  margin: 56px auto 0;
  line-height: 2.25;
}
.staff_section01 .about_list {
  margin-top: 72px;
  display: flex;
  justify-content: space-between;
  position: relative;
  padding-bottom: 100px;
}
.staff_section01 .about_list::after {
  content: "";
  width: 100vw;
  height: calc(100% - 90px);
  background-color: #e9f1f8;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -1;
}
.staff_section01 .about_list li {
  width: 380px;
}
.staff_section01 .about_list li img {
  width: 100%;
}

.staff_list_section {
  padding-top: 96px;
  padding-bottom: 96px;
}
.staff_list_section .staff_list {
  margin-top: 68px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 80px 53px;
}
.staff_list_section .staff_block {
  width: 260px;
}
.staff_list_section .staff_thumb {
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: relative;
  box-shadow: 10px 10px 0 #e9f1f8;
}
.staff_list_section .staff_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.staff_list_section .staff_head {
  margin-top: 36px;
  color: #034e95;
  padding-bottom: 12px;
  border-bottom: 1px solid #d8d8d8;
}
.staff_list_section .staff_job {
  display: flex;
  justify-content: center;
  line-height: 1.63;
}
.staff_list_section .staff_name {
  display: flex;
  justify-content: center;
  font-size: 24px;
  letter-spacing: 0.06em;
}
.staff_list_section .staff_text {
  margin-top: 16px;
  line-height: 2;
  padding: 0 4px;
}

/*
------------------------------------
サポートエリア一覧
------------------------------------
*/
.area_mv_section .mv {
  background-image: url("../img/area/area_mv.jpg");
}

.area_section01 {
  padding-top: 88px;
  padding-bottom: 140px;
}
.area_section01 .area_box {
  margin-top: 40px;
  padding: 40px 24px 44px;
  background-color: #e9f1f8;
  position: relative;
}
.area_section01 .area_head {
  font-family: "Noto Serif JP", serif;
  font-size: 44px;
  font-weight: 600;
  line-height: 1;
  text-align: center;
}
.area_section01 .area_text {
  line-height: 2;
  max-width: 780px;
  margin: 32px auto 0;
}
.area_section01 .map_area {
  padding-top: 224px;
}
.area_section01 .map_frame {
  position: relative;
  margin: 0 auto;
  max-width: 868px;
  min-width: 652px;
}
.area_section01 .map_frame .map {
  width: 100%;
}
.area_section01 .map_frame a {
  transition-duration: 0.4s;
}
.area_section01 .station_frame {
  position: absolute;
}
.area_section01 .station_block {
  padding: 28px 24px 24px;
  min-width: 310px;
  border-radius: 10px;
  border: solid 3px #134b8d;
  background-color: #eff8fc;
  position: relative;
}
.area_section01 .station_block::after {
  content: "";
  background-color: #134b8d;
  position: absolute;
}
.area_section01 .station_head {
  display: flex;
  justify-content: center;
}
.area_section01 .station_head a {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  color: #034e95;
}
.area_section01 .station_head a::before {
  content: "";
  width: 22px;
  height: 31px;
  background-image: url("../img/common/icon_map_blue.png");
  margin-right: 12px;
}
.area_section01 .station_list {
  margin-top: 20px;
}
.area_section01 .station_list li + li {
  margin-top: 8px;
}
.area_section01 .station_list li a {
  font-weight: bold;
  line-height: 1.3;
}
.area_section01 .station_frame.fukuoka {
  left: -173px;
  bottom: 455px;
}
.area_section01 .station_frame.fukuoka .station_block::after {
  width: 3px;
  height: 174px;
  top: calc(100% + 1px);
  left: 165px;
  transform-origin: top;
  transform: rotateZ(-31deg);
}
.area_section01 .station_frame.okinawa {
  left: 640px;
  top: calc(100% - 110px);
}
.area_section01 .station_frame.okinawa .station_block::after {
  content: none;
}
.area_section01 .station_frame.yamaguchi {
  left: -130px;
  top: 455px;
}
.area_section01 .station_frame.yamaguchi .station_block::after {
  width: 3px;
  height: 193px;
  bottom: calc(100% + 1px);
  left: 205px;
  transform-origin: bottom;
  transform: rotateZ(31deg);
}
.area_section01 .station_frame.hiroshima {
  left: 235px;
  bottom: 558px;
}
.area_section01 .station_frame.hiroshima .station_block::after {
  width: 3px;
  height: 173px;
  top: calc(100% + 1px);
  right: 197px;
  transform-origin: top;
  transform: rotateZ(31deg);
}
.area_section01 .station_frame.aichi {
  right: -72px;
  top: 289px;
}
.area_section01 .station_frame.aichi .station_block::after {
  width: 3px;
  height: 133px;
  bottom: 86px;
  right: calc(100% + 1px);
  transform-origin: bottom;
  transform: rotateZ(-29deg);
}
.area_section01 .station_frame.ehime {
  left: 269px;
  top: 414px;
}
.area_section01 .station_frame.ehime .station_block::after {
  width: 3px;
  height: 103px;
  bottom: calc(100% + 1px);
  right: 276px;
  transform-origin: bottom;
  transform: rotateZ(-31deg);
}
.area_section01 .station_frame.kanagawa {
  right: -166px;
  bottom: 558px;
}
.area_section01 .station_frame.kanagawa .station_block::after {
  width: 3px;
  height: 118px;
  top: calc(100% + 1px);
  right: 204px;
  transform-origin: top;
  transform: rotateZ(31deg);
}

@media (any-hover: hover) {
  .area_section01 .map_frame a:hover {
    opacity: 0.5;
  }
}
.area_region_section {
  padding-top: 96px;
  padding-bottom: 104px;
  background-color: #f9f9f9;
}
.area_region_section .region_list {
  margin-top: 60px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 24px 26px;
}
.area_region_section .region_list li {
  width: 280px;
}
.area_region_section .region_card {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-height: 80px;
  border: solid 1px #034e95;
  background-color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #034e95;
  transition-duration: 0.4s;
  padding: 4px 8px;
}
.area_region_section .region_card::after {
  content: "";
  width: 18px;
  height: 11px;
  background-image: url("../img/common/angle_right_blue.png");
  position: absolute;
  right: 24px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition-duration: 0.4s;
}

@media (any-hover: hover) {
  .area_region_section .region_card:hover {
    background-color: #034e95;
    color: #fff;
  }
  .area_region_section .region_card:hover::after {
    background-image: url("../img/common/angle_right_white.png");
  }
}
/*
------------------------------------
サポートエリア 
------------------------------------
*/
.area_list_info_section {
  padding-top: 96px;
  padding-bottom: 96px;
  background-color: #f9f9f9;
}
.area_list_info_section .info_area {
  margin-top: 60px;
  position: relative;
}
.area_list_info_section .info_frame {
  max-height: 392px;
  overflow-y: scroll;
  background-color: #fff;
  scrollbar-color: #36a9df #e2e2e2;
}
.area_list_info_section .info_frame::-webkit-scrollbar {
  background-color: #e2e2e2;
}
.area_list_info_section .info_frame::-webkit-scrollbar-thumb {
  background-color: #36a9df;
}
.area_list_info_section .info_list {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 0;
}
.area_list_info_section .info_list .info_line {
  border-bottom: 1px solid #d1d1d1;
}
.area_list_info_section .info_list .info_block {
  padding: 24px 0;
  display: flex;
  align-items: flex-start;
  transition-duration: 0.4s;
}
.area_list_info_section .info_list .info_date {
  flex-shrink: 0;
  min-width: 170px;
  padding-right: 8px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  color: #134b8d;
}
.area_list_info_section .info_list .info_title {
  width: 100%;
  font-weight: 500;
  line-height: 1.5;
  transform: translateY(-2px);
}
.area_list_info_section .info_remark {
  line-height: 2.25;
  text-align: center;
  margin: 20px auto 0;
}
.area_list_info_section .info_list_button_frame {
  position: absolute;
  right: 0;
  bottom: calc(100% + 32px);
}
.area_list_info_section .info_list_button {
  min-width: 180px;
  min-height: 40px;
  border-radius: 3px;
  border: solid 1px #134b8d;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #034e95;
  padding: 4px 8px;
  position: relative;
  transition-duration: 0.4s;
}
.area_list_info_section .info_list_button::after {
  content: "";
  width: 8px;
  height: 12px;
  background-image: url("../img/common/angle_right_blue.png");
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition-duration: 0.4s;
}

/* .area_list_info_section .info_frame::-webkit-scrollbar-track{
  background-color: #e2e2e2;
} */
@media (any-hover: hover) {
  .area_list_info_section .info_list .info_block:hover {
    opacity: 0.5;
  }
}
@media (any-hover: hover) {
  .area_list_info_section .info_list_button:hover {
    background-color: #134b8d;
    color: #fff;
  }
  .area_list_info_section .info_list_button:hover::after {
    background-image: url("../img/common/angle_right_white.png");
  }
}
.area_list_map_section {
  padding-top: 96px;
}
.area_list_map_section .map {
  width: 100%;
}

.area_list_feature_section {
  padding-top: 80px;
  padding-bottom: 100px;
}
.area_list_feature_section .feature_flex {
  margin-top: 88px;
  display: flex;
  align-items: flex-start;
}
.area_list_feature_section .feature_text_area {
  width: 100%;
}
.area_list_feature_section .feature_head {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  position: relative;
  padding-bottom: 28px;
}
.area_list_feature_section .feature_head::before {
  content: "";
  width: 70px;
  height: 1px;
  background-color: #034e95;
  position: absolute;
  left: 0;
  bottom: 0;
}
.area_list_feature_section .feature_text {
  margin-top: 24px;
  line-height: 2.25;
}
.area_list_feature_section .feature_img_area {
  width: 600px;
  flex-shrink: 0;
  margin-left: 60px;
  box-shadow: 30px -30px 0 #e9f1f8;
}
.area_list_feature_section .feature_img_area img {
  width: 100%;
}

.area_list_station_section {
  padding-top: 108px;
  padding-bottom: 108px;
  background-color: #e9f1f8;
}
.area_list_station_section .station_list .station_frame + .station_frame {
  margin-top: 80px;
}
.area_list_station_section .station_list .station_block {
  padding: 50px 60px 48px;
  background-color: #fff;
}
.area_list_station_section .station_list .station_name {
  display: flex;
  align-items: flex-start;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  color: #034e95;
  padding-bottom: 16px;
  border-bottom: 1px solid #034e95;
}
.area_list_station_section .station_list .station_name::before {
  content: "";
  width: 18px;
  height: 25px;
  background-image: url("../img/common/icon_map_blue.png");
  flex-shrink: 0;
  margin-right: 18px;
  transform: translateY(3px);
}
.area_list_station_section .station_list .station_flex {
  margin-top: 30px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.area_list_station_section .station_list .station_thumb {
  width: 456px;
  aspect-ratio: 1/0.526;
  flex-shrink: 0;
  margin-left: 32px;
}
.area_list_station_section .station_list .station_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.area_list_station_section .station_list .station_text_area {
  /* width: 100%; */
}
.area_list_station_section .station_list .station_address {
  font-size: 18px;
  line-height: 1.44;
}
.area_list_station_section .station_list .station_contact {
  margin-top: 24px;
}
.area_list_station_section .station_list .station_contact a, .area_list_station_section .station_list .station_contact span {
  display: inline-block;
  font-size: 18px;
  line-height: 1.44;
}
.area_list_station_section .station_list .station_support_box {
  margin-top: 40px;
  position: relative;
  border-radius: 3px;
  background-color: #f3f3f3;
  padding: 40px 40px 32px;
  min-width: 260px;
}
.area_list_station_section .station_list .station_support_head {
  width: 180px;
  height: 36px;
  border-radius: 18px;
  background-color: #134b8d;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  margin: auto;
}
.area_list_station_section .station_support_text {
  font-size: 18px;
  line-height: 1.44;
}
.area_list_station_section .station_button {
  width: 340px;
  height: 70px;
  background-color: #134b8d;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px auto 0;
  border: 2px solid #134b8d;
  position: relative;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  transition-duration: 0.4s;
}
.area_list_station_section .station_button::after {
  content: "";
  width: 10px;
  height: 18px;
  background-image: url("../img/common/angle_right_white.png");
  position: absolute;
  right: 24px;
  top: 0;
  bottom: 0;
  margin: auto;
  transition-duration: 0.4s;
}

@media (any-hover: hover) {
  .area_list_station_section .station_button:hover {
    color: #134b8d;
    background-color: #fff;
  }
  .area_list_station_section .station_button:hover::after {
    background-image: url("../img/common/angle_right_blue.png");
  }
}
/*
------------------------------------
サポートエリア 福岡
------------------------------------
*/
.area_list_fukuoka_mv_section .mv {
  background-image: url("../img/area/fukuoka/fukuoka_mv.jpg");
}

.area_list_fukuoka_map_section .map_frame {
  width: 1231px;
  margin-left: -60px;
}

/*
------------------------------------
サポートエリア 沖縄
------------------------------------
*/
.area_list_okinawa_mv_section .mv {
  background-image: url("../img/area/okinawa/okinawa_mv.jpg");
}

.area_list_okinawa_map_section .map_frame {
  width: 870px;
  margin: 0 auto;
}

/*
------------------------------------
サポートエリア 山口
------------------------------------
*/
.area_list_yamaguchi_mv_section .mv {
  background-image: url("../img/area/yamaguchi/yamaguchi_mv.jpg");
}

.area_list_yamaguchi_map_section .map_frame {
  width: 1071px;
  margin: 0 auto;
}

/*
------------------------------------
サポートエリア 広島
------------------------------------
*/
.area_list_hiroshima_mv_section .mv {
  background-image: url("../img/area/hiroshima/hiroshima_mv.jpg");
}

.area_list_hiroshima_map_section .map_frame {
  width: 971px;
  margin-left: 180px;
}

/*
------------------------------------
サポートエリア 愛知
------------------------------------
*/
.area_list_aichi_mv_section .mv {
  background-image: url("../img/area/aichi/aichi_mv.jpg");
}

.area_list_aichi_map_section .map_frame {
  width: 100%;
}

/*
------------------------------------
サポートエリア 愛媛
------------------------------------
*/
.area_list_ehime_mv_section .mv {
  background-image: url("../img/area/ehime/ehime_mv.jpg");
}

.area_list_ehime_map_section .map_frame {
  width: 917px;
  margin: 0 auto;
}

/*
------------------------------------
サポートエリア 神奈川
------------------------------------
*/
.area_list_kanagawa_mv_section .mv {
  background-image: url("../img/area/kanagawa/kanagawa_mv.jpg");
}

.area_list_kanagawa_map_section .map_frame {
  width: 1150px;
  margin-right: 50px;
}

/*
------------------------------------
ステーション
------------------------------------
*/
.station_section:last-child {
  padding-bottom: 100px;
}

.station_section01 .station_img_area {
  padding-top: 100px;
  position: relative;
}
.station_section01 .station_img_area::before {
  content: "";
  width: 100vw;
  height: calc(100% + 500px);
  background-color: #e9f1f8;
  position: absolute;
  bottom: 100px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: -11;
}
.station_section01 .station_img_flex {
  display: flex;
  justify-content: center;
  gap: 0 60px;
}
.station_section01 .station_img {
  width: 570px;
  aspect-ratio: 1/0.67;
}
.station_section01 .station_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.station_section01 .station_info {
  max-width: 1000px;
  margin: 48px auto 0;
  line-height: 2.25;
}

.station_area_section {
  padding-top: 124px;
}
.station_area_section .station_area_text_box {
  margin-top: 40px;
  padding: 24px 214px;
  background-color: #e9f1f8;
}
.station_area_section .station_area_text {
  font-size: 20px;
  line-height: 2;
  text-align: center;
}
.station_area_section .station_area_remark {
  margin-top: 16px;
  display: flex;
  justify-content: center;
  line-height: 2;
}
.station_area_section .station_area_img {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.station_area_section .station_area_img img {
  max-width: 80%;
}

.station_access_section {
  padding-top: 64px;
}
.station_access_section .station_map {
  height: 300px;
}
.station_access_section .station_map iframe {
  display: block;
  width: 100%;
  height: 100%;
}
.station_access_section .station_address {
  margin-top: 16px;
  line-height: 1.63;
}
.station_access_section .station_contact {
  margin-top: 10px;
}
.station_access_section .station_contact a, .station_access_section .station_contact span {
  display: inline-block;
  line-height: 1.63;
}

.station_staff_section {
  padding-top: 100px;
}
.station_staff_section .staff_box {
  padding: 0 40px 60px;
  background-color: #e9f1f8;
  position: relative;
}
.station_staff_section .staff_head {
  width: -moz-fit-content;
  width: fit-content;
  min-width: 400px;
  max-width: 90%;
  min-height: 60px;
  margin: 0 auto 0;
  padding: 8px 12px;
  background-color: #3069ac;
  font-size: 28px;
  line-height: 1.2;
  font-weight: bold;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.station_staff_section .staff_flex {
  margin-top: 48px;
  display: flex;
  align-items: flex-start;
}
.station_staff_section .staff_img {
  flex-shrink: 0;
  width: 440px;
  margin-right: 36px;
  aspect-ratio: 1/0.66;
}
.station_staff_section .staff_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.station_staff_section .staff_text_area {
  width: 100%;
}
.station_staff_section .staff_text {
  line-height: 2.25;
}
.station_staff_section .staff_name_flex {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 16px;
  margin-top: 32px;
}
.station_staff_section .staff_job {
  font-size: 18px;
  line-height: 1.67;
  color: #034e95;
}
.station_staff_section .staff_name {
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  line-height: 1.2;
}

.station_other_section {
  padding-top: 100px;
  padding-bottom: 100px;
  background-color: #f9f9f9;
}
.station_other_section .other_list {
  margin-top: 60px;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 24px 26px;
}
.station_other_section .other_list li {
  width: 280px;
}
.station_other_section .other_card {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 80px;
  padding: 12px 40px 12px 24px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  color: #034e95;
  background-color: #fff;
  border: solid 1px #034e95;
  transition-duration: 0.4s;
  position: relative;
}
.station_other_section .other_card::after {
  content: "";
  width: 10px;
  height: 18px;
  background-image: url("../img/common/angle_right_blue.png");
  transition-duration: 0.4s;
  position: absolute;
  right: 24px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media (any-hover: hover) {
  .station_other_section .other_card:hover {
    background-color: #034e95;
    color: #fff;
  }
  .station_other_section .other_card:hover::after {
    background-image: url("../img/common/angle_right_white.png");
  }
}
/*
------------------------------------
お問い合わせ共通
------------------------------------
*/
.contact_section01 {
  padding-top: 80px;
}
.contact_section01 .sec_head {
  font-family: "Noto Serif JP", serif;
  font-size: 34px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.contact_section01 .contact_text01 {
  line-height: 2.25;
  text-align: center;
  margin-top: 16px;
}
.contact_section01 .contact_remark_box {
  width: -moz-fit-content;
  width: fit-content;
  margin: 32px auto 0;
  border: 1px solid #ddd;
  padding: 24px;
}
.contact_section01 .contact_remark_box li {
  line-height: 2.25;
}
.contact_section01 .contact_remark_box a {
  text-decoration: underline;
  color: #034e95;
}
.contact_section01 .contact_text02 {
  line-height: 2.25;
  text-align: center;
  margin: 40px 0 0;
  color: #c20e1d;
  font-size: 22px;
  font-weight: bold;
}

.contact_form_section {
  padding-top: 40px;
}
.contact_form_section .common_form_area {
  max-width: 1000px;
  margin: 0 auto;
}

.common_form_area .form_line {
  display: flex;
  border-bottom: 1px solid #ddd;
}
.common_form_area .form_line:first-child {
  border-top: 1px solid #ddd;
}
.common_form_area .form_left {
  flex-shrink: 0;
  min-width: 260px;
  padding: 32px 24px;
  background-color: #e9f1f8;
}
.common_form_area .form_left label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
  padding-top: 6px;
  padding-bottom: 6px;
}
.common_form_area .form_left label::after {
  content: "必須";
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  height: 26px;
  line-height: 1;
  width: 44px;
  background-color: #c20e1d;
  border-radius: 5px;
  margin-left: 6px;
}
.common_form_area .form_left label.free::after {
  content: none;
}
.common_form_area .form_right {
  width: 100%;
  padding: 32px 24px;
}
.common_form_area .form_right input[type=text], .common_form_area .form_right input[type=tel], .common_form_area .form_right input[type=email] {
  border: 1px solid #ccc;
  padding: 0 16px;
  height: 40px;
  width: 100%;
  display: block;
}
.common_form_area .form_right select {
  border: 1px solid #ccc;
  padding: 0 16px;
  height: 40px;
  width: 100%;
  cursor: pointer;
  display: block;
}
.common_form_area .form_right textarea {
  border: 1px solid #ccc;
  padding: 16px;
  height: 200px;
  width: 100%;
  line-height: 1.5;
  display: block;
}
.common_form_area .form_right .select_frame {
  width: 300px;
  max-width: 100%;
}
.common_form_area .form_right .tel_frame {
  width: 400px;
  max-width: 100%;
}
.common_form_area .radio_area {
  padding-top: 4px;
}
.common_form_area .radio_area label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.common_form_area .radio_area label input {
  width: 13px;
  height: 13px;
  margin-right: 5px;
  margin-top: 4px;
}
.common_form_area .radio_area .wpcf7-list-item {
  margin: 0;
}
.common_form_area .radio_area .wpcf7-list-item + .wpcf7-list-item {
  margin-left: 24px;
}
.common_form_area .privacy_box {
  margin-top: 40px;
  border: 1px solid #ccc;
  height: 200px;
  overflow-y: scroll;
  padding: 30px 40px;
}
.common_form_area .privacy_box a {
  pointer-events: none !important;
}
.common_form_area .privacy_box .title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 25px;
}
.common_form_area .privacy_box p {
  font-size: 15px;
  line-height: 2;
  margin-bottom: 30px;
}
.common_form_area .privacy_box p + ul {
  margin-bottom: 30px;
}
.common_form_area .privacy_box p + ul li {
  font-size: 15px;
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 4px;
}
.common_form_area .privacy_box p + ul li:before {
  content: "・";
}
.common_form_area .privacy_box .title_02 {
  font-size: 16px;
  font-weight: 700;
  color: #034e95;
  border-left: 2px solid #034e95;
  padding-left: 15px;
  margin-bottom: 10px;
}
.common_form_area .agree_box {
  margin-top: 32px;
  background-color: #f5f5f5;
  padding: 24px 0;
  text-align: center;
}
.common_form_area .agree_box .must {
  display: inline-block;
  color: #fff;
  font-size: 13px;
  font-weight: bold;
  padding: 4px 0 5px;
  line-height: 1;
  width: 44px;
  background-color: #c20e1d;
  border-radius: 5px;
  text-align: center;
}
.common_form_area .agree_box label {
  cursor: pointer;
}
.common_form_area .agree_box input {
  display: inline-block;
}
.common_form_area .submit_frame {
  width: 400px;
  max-width: 100%;
  margin: 32px auto 0;
  position: relative;
}
.common_form_area .submit_frame .submit {
  height: 80px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #034e95;
  border: 2px solid #034e95;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  transition-duration: 0.4s;
  cursor: pointer;
}

@media (any-hover: hover) {
  .common_form_area .submit_frame .submit:hover {
    background-color: #fff;
    color: #034e95;
  }
}
.contact_tel_section {
  padding-top: 120px;
  padding-bottom: 80px;
}
.contact_tel_section .tel_block {
  border: 1px solid #034e95;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.contact_tel_section .tel_head {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #fff;
  text-align: center;
  font-size: 20px;
  background-color: #034e95;
  min-height: 60px;
  padding: 8px 24px;
}
.contact_tel_section .tel_body {
  padding: 64px 60px 40px;
}
.contact_tel_section .tel_num {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-size: 50px;
  line-height: 1;
  letter-spacing: 0.06em;
  color: #034e95;
  margin: 0 auto;
}
.contact_tel_section .tel_num::before {
  content: "";
  width: 45px;
  height: 45px;
  background-image: url("../img/common/icon_tel_blue.png");
  flex-shrink: 0;
  margin-right: 16px;
}
.contact_tel_section .tel_time {
  margin-top: 32px;
  text-align: center;
  font-size: 18px;
  line-height: 1;
  color: #034e95;
}
.contact_tel_section .tel_num .frame {
  position: relative;
}
.contact_tel_section .tel_num .ruby {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", sans-serif;
  position: absolute;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

/*
------------------------------------
完了画面
------------------------------------
*/
.contact_finish_section01 {
  padding-bottom: 120px;
}
.contact_finish_section01 .top_link {
  width: 400px;
  max-width: 100%;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #034e95;
  border: 2px solid #034e95;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  transition-duration: 0.4s;
  cursor: pointer;
  margin: 32px auto 0;
}

@media (any-hover: hover) {
  .contact_finish_section01 .top_link:hover {
    background-color: #fff;
    color: #034e95;
  }
}
/*
------------------------------------
ご利用者様専用フォーム
------------------------------------
*/
.contact_exist_mv_section .mv {
  background-image: url("../img/contact/contact_exist_mv.jpg");
}

/*
------------------------------------
新規顧客用フォーム
------------------------------------
*/
.contact_new_mv_section .mv {
  background-image: url("../img/contact/contact_new_mv.jpg");
}

/*
------------------------------------
セノーテ日記
------------------------------------
*/
.diary_mv_section .mv {
  background-image: url("../img/diary/diary_mv.jpg");
}

.diary_section01 {
  padding-top: 100px;
  padding-bottom: 120px;
}
.diary_section01 .selected_name {
  display: flex;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 24px;
}
.diary_section01 .diary_list {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 50px 30px;
}
.diary_section01 .diary_block {
  width: 380px;
}
.diary_section01 .diary_card {
  display: block;
}
.diary_section01 .diary_card .diary_thumb {
  aspect-ratio: 1/0.7;
}
.diary_section01 .diary_card .diary_thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}
.diary_section01 .diary_card .diary_body {
  padding-top: 16px;
}
.diary_section01 .diary_card .diary_info_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.diary_section01 .diary_card .diary_category {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 70px;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 1px;
  background-color: #184986;
  font-size: 14px;
  line-height: 1.3;
  color: #fff;
}
.diary_section01 .diary_card .diary_date {
  flex-shrink: 0;
  margin-left: 8px;
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  color: #034e95;
  padding-top: 2px;
}
.diary_section01 .diary_card .diary_title {
  margin-top: 16px;
  line-height: 1.63;
  color: #00151c;
  border-bottom: 1px solid #184986;
  padding-bottom: 6px;
}
.diary_section01 .diary_card .diary_visor_area {
  display: flex;
  align-items: flex-start;
  margin-top: 30px;
}
.diary_section01 .diary_card .diary_visor_pic {
  flex-shrink: 0;
  margin-right: 15px;
  width: 56px;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.diary_section01 .diary_card .diary_visor_pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.diary_section01 .diary_card .diary_visor_info {
  padding-top: 2px;
  width: 100%;
}
.diary_section01 .diary_card .diary_visor_job {
  font-size: 14px;
  line-height: 1.4;
  color: #00151c;
}
.diary_section01 .diary_card .diary_visor_name {
  margin-top: 4px;
  font-size: 20px;
  line-height: 1.3;
  color: #00151c;
}
.diary_section01 .common_pagination {
  margin-top: 96px;
}

/*ページネーション*/
.common_pagination {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  gap: 12px;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  letter-spacing: 0;
}
.common_pagination span.current {
  /*現在のページボタン*/
  min-width: 34px;
  height: 40px;
  border: solid 1px #184986;
  background-color: #184986;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 4px;
}
.common_pagination a.page-numbers {
  /*指定のページ移動ボタン*/
  min-width: 34px;
  height: 40px;
  border: solid 1px #184986;
  color: #184986;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 4px;
  transition-duration: 0.4s;
}
.common_pagination a.page-numbers.prev {
  margin-right: 28px;
}
.common_pagination a.page-numbers.next {
  margin-left: 28px;
}
.common_pagination a.page-numbers.next::after {
  /*next prevボタン*/
  content: "";
  width: 7px;
  height: 11px;
  background-size: contain;
  transition-duration: 0.4s;
}
.common_pagination a.page-numbers.prev::after {
  /*next prevボタン*/
  content: "";
  width: 7px;
  height: 11px;
  background-size: contain;
  transition-duration: 0.4s;
}
.common_pagination a.page-numbers.next::after {
  background-image: url("../img/common/page_next_blue.png");
}
.common_pagination a.page-numbers.prev::after {
  background-image: url("../img/common/page_prev_blue.png");
}

@media (any-hover: hover) {
  .common_pagination a.page-numbers:hover {
    background-color: #184986;
    color: #ffffff;
  }
  .common_pagination a.page-numbers.next:hover::after {
    background-image: url("../img/common/page_next_white.png");
  }
  .common_pagination a.page-numbers.prev:hover::after {
    background-image: url("../img/common/page_prev_white.png");
  }
}
/*
------------------------------------
セノーテ日記 詳細
------------------------------------
*/
.single_diary_mv_section .mv {
  background-image: url("../img/diary/diary_mv.jpg");
}

.single_diary_section01 {
  padding-top: 100px;
  padding-bottom: 120px;
}
.single_diary_section01 .flex {
  display: flex;
  align-items: flex-start;
}
.single_diary_section01 .diary_article {
  width: 100%;
}
.single_diary_section01 .diary_title {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
  padding-bottom: 20px;
  border-bottom: 1px solid #034e95;
}
.single_diary_section01 .diary_info_flex {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.single_diary_section01 .diary_date {
  font-family: "Roboto", sans-serif;
  font-weight: normal;
  line-height: 1;
  color: #034e95;
}
.single_diary_section01 .diary_category {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 70px;
  min-height: 22px;
  padding: 2px 8px;
  border-radius: 1px;
  background-color: #184986;
  font-size: 14px;
  line-height: 1.3;
  color: #fff;
}
.single_diary_section01 .common_single_block {
  margin-top: 40px;
}
.single_diary_section01 .side_column {
  width: 320px;
  flex-shrink: 0;
  margin-left: 60px;
}
.single_diary_section01 .visor_box {
  background-color: #e9f1f8;
  padding: 32px 12px;
}
.single_diary_section01 .visor_head {
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #184986;
}
.single_diary_section01 .visor_pic {
  width: 180px;
  aspect-ratio: 1/1;
  margin: 20px auto 0;
  border-radius: 50%;
}
.single_diary_section01 .visor_pic img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
.single_diary_section01 .visor_station {
  display: flex;
  justify-content: center;
  margin-top: 12px;
  line-height: 1.63;
}
.single_diary_section01 .visor_job {
  display: flex;
  justify-content: center;
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.63;
}
.single_diary_section01 .visor_name {
  display: flex;
  justify-content: center;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.08;
  margin-top: 2px;
}
.single_diary_section01 .category_area {
  margin-top: 56px;
}
.single_diary_section01 .category_head {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.2;
  color: #184986;
  padding-bottom: 12px;
  border-bottom: 1px solid #034e95;
}
.single_diary_section01 .category_list {
  margin-top: 28px;
}
.single_diary_section01 .category_list li + li {
  margin-top: 10px;
}
.single_diary_section01 .category_list li a {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 18px;
  line-height: 1.2;
}
.single_diary_section01 .category_list li a::after {
  content: "";
  width: 8px;
  height: 13px;
  background-image: url("../img/common/angle_right_blue.png");
  background-size: contain;
  flex-shrink: 0;
  margin-left: 6px;
  margin-top: 4px;
}
.single_diary_section01 .link_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  margin-top: 96px;
}
.single_diary_section01 .link_flex a {
  transition-duration: 0.4s;
}
.single_diary_section01 .link_flex .link_archive {
  width: 340px;
  height: 70px;
  border: solid 1px #184986;
  background-color: #134b8d;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.single_diary_section01 .link_flex .link {
  width: 340px;
}
.single_diary_section01 .link_flex .link a {
  width: 340px;
  height: 70px;
  border: solid 1px #184986;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #184986;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.single_diary_section01 .link_flex .link a::after {
  content: "";
  width: 10px;
  height: 18px;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
  background-size: contain;
}
.single_diary_section01 .link_flex .link_prev a::after {
  background-image: url("../img/common/page_prev_blue.png");
  left: 24px;
}
.single_diary_section01 .link_flex .link_next a::after {
  background-image: url("../img/common/page_next_blue.png");
  right: 24px;
}

@media (any-hover: hover) {
  .single_diary_section01 .link_flex a:hover {
    opacity: 0.5;
  }
}
.common_single_block {
  font-size: 18px;
  line-height: 2.11;
}
.common_single_block > *:first-child {
  margin-top: 0 !important;
}
.common_single_block .wp-block-column {
  margin-top: 24px;
}
.common_single_block .wp-block-image {
  margin-top: 48px;
}
.common_single_block .wp-block-image img {
  max-width: 100%;
}
.common_single_block h2 {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 32px;
}
.common_single_block h3 {
  font-size: 20px;
  margin-top: 24px;
  font-weight: bold;
  line-height: 1.5;
}
.common_single_block p {
  margin-top: 24px;
}

/*
------------------------------------
新着情報一覧
------------------------------------
*/
.info-fukuoka_mv_section .mv {
  background-image: url("../img/area/fukuoka/fukuoka_mv.jpg");
}

.info-okinawa_mv_section .mv {
  background-image: url("../img/area/okinawa/okinawa_mv.jpg");
}

.info-yamaguchi_mv_section .mv {
  background-image: url("../img/area/yamaguchi/yamaguchi_mv.jpg");
}

.info-hiroshima_mv_section .mv {
  background-image: url("../img/area/hiroshima/hiroshima_mv.jpg");
}

.info-aichi_mv_section .mv {
  background-image: url("../img/area/aichi/aichi_mv.jpg");
}

.info-ehime_mv_section .mv {
  background-image: url("../img/area/ehime/ehime_mv.jpg");
}

.info-kanagawa_mv_section .mv {
  background-image: url("../img/area/kanagawa/kanagawa_mv.jpg");
}

.info_section01 {
  padding-top: 100px;
  padding-bottom: 120px;
}
.info_section01 .info_list .info_line {
  border-bottom: 1px solid #d1d1d1;
}
.info_section01 .info_list .info_block {
  padding: 24px 48px;
  display: flex;
  align-items: flex-start;
}
.info_section01 .info_list .info_date {
  flex-shrink: 0;
  min-width: 170px;
  padding-right: 8px;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  color: #134b8d;
}
.info_section01 .info_list .info_title {
  width: 100%;
  font-weight: 500;
  line-height: 1.5;
  transform: translateY(-2px);
  transition-duration: 0.4s;
}
.info_section01 .common_pagination {
  margin-top: 56px;
}

@media (any-hover: hover) {
  .info_section01 .info_list .info_block:hover .info_title {
    color: #134b8d;
    text-decoration: underline;
  }
}
/*
------------------------------------
新着情報 詳細
------------------------------------
*/
.single_info_section01 {
  padding-top: 100px;
  padding-bottom: 120px;
}
.single_info_section01 .info_title {
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  text-align: left;
  border-bottom: 1px solid #034e95;
  padding-bottom: 20px;
}
.single_info_section01 .info_date {
  font-family: "Roboto", sans-serif;
  font-weight: normal;
  line-height: 1.63;
  color: #034e95;
  margin-top: 24px;
}
.single_info_section01 .common_single_block {
  margin-top: 40px;
}
.single_info_section01 .link_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  margin-top: 96px;
}
.single_info_section01 .link_flex a {
  transition-duration: 0.4s;
}
.single_info_section01 .link_flex .link_archive {
  width: 340px;
  height: 70px;
  border: solid 1px #184986;
  background-color: #134b8d;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.single_info_section01 .link_flex .link {
  width: 340px;
}
.single_info_section01 .link_flex .link a {
  width: 340px;
  height: 70px;
  border: solid 1px #184986;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #184986;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.single_info_section01 .link_flex .link a::after {
  content: "";
  width: 10px;
  height: 18px;
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
  background-size: contain;
}
.single_info_section01 .link_flex .link_prev a::after {
  background-image: url("../img/common/page_prev_blue.png");
  left: 24px;
}
.single_info_section01 .link_flex .link_next a::after {
  background-image: url("../img/common/page_next_blue.png");
  right: 24px;
}

@media (any-hover: hover) {
  .single_info_section01 .link_flex a:hover {
    opacity: 0.5;
  }
}
/*
------------------------------------
add privacy
------------------------------------
*/
.privacy_section {
  padding-top: 100px;
  padding-bottom: 100px;
}
.privacy_section .privacy_dl {
  margin-top: 60px;
}
.privacy_section .privacy_dl .privacy_dt {
  font-size: 22px;
  font-weight: 700;
  color: #034e95;
}
.privacy_section .privacy_dl .privacy_dd {
  margin-top: 25px;
}
.privacy_section .privacy_dl .privacy_dd .privacy_dd_text {
  font-size: 18px;
  line-height: 2;
}

/*
------------------------------------
404
------------------------------------
*/
.page404_section {
  padding-top: 100px;
  padding-bottom: 100px;
}
.page404_section .p01 {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  font-weight: bold;
  color: #034e95;
}
.page404_section .p02 {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.8;
  margin-top: 32px;
  font-size: 18px;
}/*# sourceMappingURL=style.css.map */