@charset "UTF-8";
@media screen and (min-width: 768px) {
  .sp_only {
    display: none !important;
  }
}
/*@media screen and (min-width:768px){*/
@media screen and (max-width: 767px) {
  .sp_hide {
    display: none !important;
  }
  main {
    padding-top: 55px;
  }
  /*
  ------------------------------------
  アニメーション関係
  ------------------------------------
  */
  /*
  ------------------------------------
  共通パーツ
  ------------------------------------
  */
  .container {
    width: 92%;
    max-width: 450px;
    margin: 0 auto;
    padding: 0;
  }
  /*楕円形のボタン*/
  .common_button {
    width: 400px;
    max-width: 100%;
    height: 60px;
    border-radius: 33px;
  }
  .common_button::after {
    width: 22.5px;
    height: 5px;
    right: 20px;
    bottom: 26px;
  }
  /*カスタムフィールドのファイルボタン（ステーション詳細）*/
  .common_btn.btn_file {
    margin: 80px auto 0 auto;
    padding: 20px;
  }
  .common_btn.btn_file .btn_file_txt {
    font-size: 18px;
    padding-left: 40px;
    position: relative;
    text-align: center;
  }
  .common_btn.btn_file .btn_file_txt::before {
    position: absolute;
    content: "";
    background-image: url(../img/common/file_icon.png);
    width: 28px;
    height: 26px;
    background-repeat: no-repeat;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
  }
  .common_btn.btn_file .btn_file_txt .file_sp {
    display: block;
  }
  /*ハーフボーダー付きのセクションタイトル*/
  .common_sec_title_half_bottom_border {
    font-size: 24px;
    line-height: 1.5;
    text-align: center;
  }
  .common_sec_title_half_bottom_border::after {
    width: 70px;
    height: 2px;
    margin-top: 24px;
  }
  /*対応症例関係ページ下部のテキスト*/
  .common_case_bottom_text_area {
    margin-top: 80px;
    padding: 40px 0;
    font-size: 18px;
    line-height: 2;
  }
  /*水色のカッコのデコレーション*/
  .common_border_deco {
    position: absolute;
    z-index: 1;
  }
  .common_border_deco .border_deco_inner {
    width: 40px;
    height: 40px;
  }
  .common_border_deco .border_deco_inner::before {
    height: 1px;
  }
  .common_border_deco .border_deco_inner::after {
    width: 1px;
  }
  .common_border_deco01 {
    top: 10px;
    left: 10px;
  }
  .common_border_deco01 .border_deco_inner::before {
    top: 10px;
  }
  .common_border_deco01 .border_deco_inner::after {
    left: 10px;
  }
  .common_border_deco02 {
    bottom: 10px;
    right: 10px;
  }
  .common_border_deco02 .border_deco_inner::before {
    bottom: 10px;
  }
  .common_border_deco02 .border_deco_inner::after {
    right: 10px;
  }
  /*サポート事例のモーダル*/
  .common_support_modal .support_modal_block {
    width: 330px;
  }
  .common_support_modal .support_modal_contents {
    padding: 32px 24px;
  }
  .common_support_modal .support_modal_close {
    width: 35px;
    height: 35px;
    top: -45px;
    right: 0;
  }
  .common_support_modal .support_modal_close .bar {
    height: 3px;
  }
  .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 {
    font-size: 16px;
  }
  .common_support_modal ul a::before {
    width: 6px;
    height: 6px;
    margin-right: 6px;
    margin-top: 9px;
  }
  /*
  ------------------------------------
  ヘッダー
  ------------------------------------
  */
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 20;
  }
  header .header_line01 .header_logo {
    margin-left: 12px;
  }
  header .header_line01 .header_logo img {
    width: 49.3333333333vw;
    max-width: 230px;
  }
  header .header_line01 .header_logo .logo_text {
    margin-left: 3px;
    font-size: 10px;
    transform: scale(0.9);
    transform-origin: left;
    letter-spacing: 0;
    font-feature-settings: "palt";
  }
  header .header_line01 .header_right {
    display: none;
  }
  header .drawer_menu_open {
    width: 55px;
    height: 55px;
  }
  header .drawer_menu_inner {
    width: 27px;
    height: 21px;
  }
  header .drawer_menu_open .bar {
    height: 1px;
  }
  header .drawer_menu_open.active .bar1 {
    transform: translateY(9.8px) rotate(-45deg);
  }
  header .drawer_menu_open.active .bar3 {
    transform: translateY(-9.8px) rotate(45deg);
  }
  header .header_line02 {
    display: none;
  }
  #drawer_menu .drawer_frame {
    padding: 70px 15px 60px;
  }
  #drawer_menu .parent_link {
    padding: 24px 0;
    font-size: 14px;
  }
  #drawer_menu .link_flex {
    margin-top: 30px;
  }
  #drawer_menu .link_flex .link {
    width: 49%;
    height: 45px;
    font-size: 12px;
  }
  #drawer_menu .link_flex .link.form:before {
    width: 20px;
    height: 23.5px;
    margin-right: 12px;
  }
  #drawer_menu .link_flex .link.medical:before {
    width: 20px;
    height: 24px;
    margin-right: 12px;
  }
  #drawer_menu .button_list {
    margin-top: 16px;
  }
  #drawer_menu .button_list li {
    max-width: 100%;
  }
  #drawer_menu .button_list li + li {
    margin-top: 10px;
  }
  #drawer_menu .recruit_banner {
    width: 290px;
    height: 80px;
    border-radius: 3px;
    position: relative;
    background-color: #034e95;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    margin: 36px auto 0;
  }
  /*
  ------------------------------------
  ページ下部固定メニュー
  ------------------------------------
  */
  #fix_bottom_menu {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 12;
    display: flex;
  }
  #fix_bottom_menu .button {
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }
  #fix_bottom_menu .tel {
    width: 100%;
    background-color: #36a9df;
    font-weight: bold;
    line-height: 1;
    color: #fff;
  }
  #fix_bottom_menu .tel::before {
    content: "";
    width: 23px;
    height: 23px;
    background-image: url("../img/common/icon_tel_white.png");
    flex-shrink: 0;
    margin-right: 10px;
  }
  #fix_bottom_menu .button.contact, #fix_bottom_menu .button.line {
    flex-shrink: 0;
    width: 55px;
  }
  #fix_bottom_menu .button.contact {
    background-color: #034e95;
  }
  #fix_bottom_menu .button.contact img {
    width: 22px;
  }
  #fix_bottom_menu .button.line {
    background-color: #00b900;
  }
  #fix_bottom_menu .button.line img {
    width: 25px;
  }
  /*
  ------------------------------------
  モーダル
  ------------------------------------
  */
  .common_modal {
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    height: 100vh;
    height: 100svh;
    overflow-y: auto;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 100;
    padding: 80px 0;
    transition-duration: 0.7s;
  }
  .common_modal.show {
    opacity: 1;
    pointer-events: auto;
  }
  .common_modal .modal_inner {
    min-height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .common_modal .modal_frame {
    position: relative;
    width: 345px;
    background-color: #fff;
    padding: 32px 20px 40px;
  }
  .common_modal .modal_close {
    position: absolute;
    cursor: pointer;
    right: 0;
    bottom: calc(100% + 10px);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .common_modal .modal_close img {
    width: 20px;
  }
  .common_modal .modal_head {
    display: flex;
    align-items: center;
    flex-direction: column;
    font-size: 23px;
    font-weight: bold;
    line-height: 1.53;
    color: #034e95;
  }
  .common_modal .modal_head::after {
    content: "";
    width: 40px;
    height: 3px;
    background-color: #36a9df;
    margin-top: 12px;
  }
  .common_modal .modal_text {
    margin-top: 10px;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.79;
    letter-spacing: 0.08em;
    text-align: center;
    color: #333839;
  }
  .common_modal .modal_text .time {
    display: block;
    text-align: center;
    font-weight: 500;
    font-size: 13px;
    margin-top: 6px;
  }
  .common_modal .modal_guide {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.79;
    text-align: center;
    color: #034e95;
  }
  .common_modal .modal_guide_tel {
    margin-top: 20px;
  }
  .common_modal .modal_guide_tel img {
    width: 252px;
  }
  .common_modal .modal_guide_contact {
    margin-top: 32px;
  }
  .common_modal .modal_guide_contact img {
    width: 192px;
  }
  .common_modal .modal_button_list {
    margin-top: 12px;
  }
  .common_modal .modal_button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-radius: 3px;
  }
  .common_modal .modal_button img {
    width: 100%;
  }
  .common_modal .modal_button + .modal_button {
    margin-top: 15px;
  }
  .common_modal .modal_button_contact {
    font-size: 21px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 0.04em;
    text-align: center;
    color: #fff;
    height: 65px;
  }
  .common_modal .modal_button_contact::after {
    content: "";
    width: 30px;
    height: 6px;
    background-image: url("../img/common/arrow_half_right_white.png");
    background-position: right;
    position: absolute;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto;
    transform: translateY(5px);
  }
  .common_modal .modal_button_contact01 {
    background-color: #36a9df;
  }
  .common_modal .modal_button_contact02 {
    background-color: #034e95;
  }
  /*
  ------------------------------------
  フッター
  ------------------------------------
  */
  footer {
    padding: 60px 0 80px;
  }
  footer .footer_logo {
    width: 300px;
    max-width: 90%;
    display: block;
    margin: 0 auto;
  }
  footer ul {
    margin-top: 32px;
  }
  footer ul .slash {
    margin: 0 12px;
    width: 2px;
    height: 14px;
  }
  footer ul li a {
    line-height: 1;
    color: #fff;
    font-size: 14px;
  }
  footer .copy {
    margin-top: 60px;
    font-size: 10px;
  }
  /*
  ------------------------------------
  ページ下部のお問い合わせ
  ------------------------------------
  */
  .common_contact_section {
    padding: 70px 0 80px;
  }
  .common_contact_section .back_title {
    width: 340px;
    top: -4px;
  }
  .common_contact_section .sec_title {
    font-size: 18px;
  }
  .common_contact_section .p01 {
    margin-top: 16px;
    font-size: 14px;
  }
  .common_contact_section .flex {
    margin-top: 40px;
  }
  .common_contact_section .box {
    width: 100%;
    min-height: auto;
    padding: 32px 12px;
    border-radius: 20px;
  }
  .common_contact_section .box + .box {
    margin-top: 32px;
  }
  .common_contact_section .box .box_head {
    font-size: 20px;
    gap: 0 16px;
    white-space: nowrap;
  }
  .common_contact_section .box .box_head::before, .common_contact_section .box .box_head::after {
    width: 50px;
    height: 2px;
  }
  .common_contact_section .box .tel_line {
    margin-right: 0;
    justify-content: center;
    margin-top: 40px;
  }
  .common_contact_section .box .tel_line::before {
    width: 24px;
    height: 24px;
    margin-right: 12px;
  }
  .common_contact_section .box .tel_num {
    font-size: 32px;
  }
  .common_contact_section .box .tel_num .ruby {
    font-size: 14px;
    top: -18px;
  }
  .common_contact_section .box .button {
    width: 90%;
    height: 50px;
    margin: 32px auto 0;
    border-radius: 30px;
  }
  .common_contact_section .box .button p {
    font-size: 16px;
    margin-left: 36px;
  }
  .common_contact_section .box .button p::before {
    width: 24px;
    height: 16px;
    left: -38px;
  }
  .common_contact_section .line_link {
    width: 100%;
    height: auto;
    padding: 20px 12px;
    margin: 60px auto 0;
  }
  .common_contact_section .line_link::before {
    width: 45px;
    height: 43px;
    -o-object-fit: contain;
       object-fit: contain;
    margin-right: 16px;
  }
  .common_contact_section .line_link p {
    font-size: 20px;
    line-height: 1.2;
  }
  /*
  ------------------------------------
  在籍スタッフのセクション
  ------------------------------------
  */
  .common_staff_section {
    padding: 80px 0 80px;
  }
  .common_staff_section .common_sec_title_half_bottom_border span {
    margin-top: 12px;
    font-size: 14px;
  }
  .common_staff_section .common_sec_title_half_bottom_border::after {
    margin-top: 20px;
  }
  .common_staff_section .staff_area {
    padding: 32px 12px;
    margin-top: 32px;
  }
  .common_staff_section .staff_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px 0;
  }
  .common_staff_section .staff_block {
    min-height: 120px;
    padding: 16px 0;
  }
  .common_staff_section .staff_block .staff_num {
    margin-top: 12px;
    font-size: 24px;
  }
  .common_staff_section .staff_block .staff_num .staff_count {
    font-size: 50px;
    margin-right: 8px;
  }
  .common_staff_section .staff_block.line01, .common_staff_section .staff_block.line02, .common_staff_section .staff_block.line03 {
    width: 49%;
  }
  .common_staff_section .staff_block.line01 .staff_kind, .common_staff_section .staff_block.line02 .staff_kind, .common_staff_section .staff_block.line03 .staff_kind {
    font-size: 15px;
  }
  /*
  ------------------------------------
  トップページ
  ------------------------------------
  */
  .top_section .sec_title_set .en_title {
    font-size: 16px;
  }
  .top_section .sec_title_set .ja_title {
    font-size: 24px;
    margin-top: 16px;
    text-align: center;
  }
  .top_mv_section .mv {
    width: 100%;
  }
  .top_about_section {
    padding-top: 80px;
    padding-bottom: 100px;
  }
  .top_about_section .p01 {
    margin: 28px auto 0;
  }
  .top_about_section .about_list {
    margin-top: 40px;
    flex-direction: column;
    align-items: center;
    gap: 40px 0;
  }
  .top_about_section .about_block {
    width: 580px;
    max-width: 100%;
  }
  .top_about_section .about_head {
    padding: 12px 12px;
    font-size: 20px;
    line-height: 1.3;
  }
  .top_about_section .about_body {
    padding: 16px 24px;
  }
  .top_about_section .about_body ul li {
    font-size: 16px;
    line-height: 1.5;
  }
  .top_about_section .about_body ul li + li {
    margin-top: 8px;
  }
  .top_about_section .about_body ul li::before {
    width: 12px;
    height: 13px;
    margin-right: 6px;
    margin-top: 6px;
  }
  .top_about_section .arrow_block {
    width: 2px;
    height: 120px;
    bottom: -70px;
  }
  .top_about_section .arrow_block .arrow {
    width: 2px;
  }
  .top_about_section .arrow_block .arrow::after {
    width: 2px;
    height: 13px;
  }
  .top_support_section {
    padding-top: 100px;
    padding-bottom: 80px;
  }
  .top_support_section .sec_title {
    font-size: 22px;
    line-height: 1.5;
  }
  .top_support_section .support_list {
    margin-top: 48px;
  }
  .top_support_section .support_block {
    display: flex;
  }
  .top_support_section .support_block + .support_block {
    margin-top: 32px;
    flex-direction: row;
  }
  .top_support_section .support_block .support_thumb {
    width: 50%;
    min-height: auto;
  }
  .top_support_section .support_block .support_thumb img {
    -o-object-position: left;
       object-position: left;
  }
  .top_support_section .support_block .support_text_area {
    width: 50%;
    padding: 40px 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .top_support_section .support_block .support_head {
    font-size: 15px;
    line-height: 1.33;
  }
  .top_support_section .support_block .support_button {
    margin: 16px auto 0;
    max-width: 100%;
    width: 150px;
    height: 23px;
    font-size: 11px;
  }
  .top_support_section .support_block .support_button::after {
    width: 15px;
    height: 3.5px;
    right: 10px;
    bottom: 6px;
  }
  .top_policy_section {
    padding-top: 80px;
    padding-bottom: 64px;
    position: relative;
    overflow: hidden;
  }
  .top_policy_section .sec_title_set {
    align-items: flex-start;
    position: relative;
    z-index: 1;
  }
  .top_policy_section .sec_title_set .ja_title {
    text-align: left;
  }
  .top_policy_section .back_title {
    top: -6px;
    width: 400px;
  }
  .top_policy_section .policy_list {
    margin-top: 56px;
    position: relative;
    z-index: 1;
  }
  .top_policy_section .policy_block {
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  .top_policy_section .policy_block + .policy_block {
    margin-top: 48px;
  }
  .top_policy_section .policy_block .policy_text_area {
    width: 100%;
    padding-top: 24px;
  }
  .top_policy_section .policy_block .policy_en_title {
    font-size: 18px;
  }
  .top_policy_section .policy_block .policy_catch {
    margin-top: 16px;
    white-space: nowrap;
  }
  .top_policy_section .policy_block .policy_catch span {
    font-size: 20px;
    line-height: 2.2;
    padding: 3px 6px;
  }
  .top_policy_section .policy_block .policy_text {
    margin-top: 16px;
  }
  .top_policy_section .sec_border {
    margin: 56px calc(50% - 50vw) 0;
  }
  .top_policy_section .button_flex {
    flex-direction: column;
    align-items: center;
    margin-top: 64px;
  }
  .top_policy_section .button_flex .button {
    width: 580px;
    height: 100px;
  }
  .top_policy_section .button_flex .button + .button {
    margin-top: 32px;
  }
  .top_policy_section .button_flex .button .radi {
    width: 30px;
    height: 30px;
    right: 15px;
  }
  .top_policy_section .button_flex .button .radi::after {
    width: 15px;
    height: 3.5px;
  }
  .top_policy_section .button_flex .button p {
    font-size: 20px;
  }
  .top_policy_section .button_flex .button p span {
    font-size: 14px;
  }
  .top_policy_section .button_flex .button.beginner p {
    margin-left: 20px;
  }
  .top_policy_section .button_flex .button.beginner p::before {
    width: 24px;
    height: 40px;
    left: -40px;
  }
  .top_policy_section .button_flex .button.medical p {
    margin-left: 32px;
  }
  .top_policy_section .button_flex .button.medical p::before {
    width: 30px;
    height: 36px;
    left: -56px;
  }
  .top_area_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .top_area_section::after {
    width: 240px;
    height: 216px;
    top: -50px;
  }
  .top_area_section .sec_title_set {
    position: relative;
    z-index: 1;
  }
  .top_area_section .p01 {
    max-width: 790px;
    margin: 28px auto 0;
  }
  .top_area_section .area_list {
    width: 100%;
    max-width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 40px auto 0;
    gap: 16px 0;
  }
  .top_area_section .area_list li {
    width: 48%;
  }
  .top_area_section .area_card {
    width: 100%;
    height: 58px;
    font-size: 18px;
    padding-right: 10px;
  }
  .top_area_section .area_card::before {
    width: 18px;
    height: 25px;
    margin-right: 16px;
  }
  .top_diary_section {
    padding-top: 80px;
    position: relative;
  }
  .top_diary_section .back_title {
    left: -2px;
    top: 100px;
    width: 300px;
  }
  .top_diary_section .swiper_area {
    margin: 40px calc(50% - 50vw) 0;
  }
  .top_diary_section .diary_button_flex {
    max-width: 450px;
    width: 92%;
  }
  .top_diary_section .diary_button_flex .diary_button {
    width: 40px;
    height: 40px;
  }
  .top_diary_section .diary_button_flex .diary_button::after {
    width: 15px;
    height: 3.5px;
  }
  .top_diary_section .diary_button_flex .diary_button_prev {
    margin-right: 20px;
  }
  .top_diary_section .swiper_block {
    width: calc(50% + 160px);
    margin-top: 32px;
  }
  .top_diary_section .diary_slide {
    width: 440px;
    width: 280px;
    padding-right: 24px;
  }
  .top_diary_section .diary_card .diary_thumb img {
    border-radius: 10px;
  }
  .top_diary_section .diary_card .diary_contents {
    margin-top: 12px;
  }
  .top_diary_section .diary_card .diary_category {
    padding: 3px 8px;
    font-size: 12px;
  }
  .top_diary_section .diary_card .diary_date {
    line-height: 1.3;
    font-size: 14px;
  }
  .top_diary_section .diary_card .diary_title {
    padding-bottom: 2px;
    margin-top: 12px;
    font-size: 14px;
  }
  .top_diary_section .diary_card .author_flex {
    margin-top: 20px;
  }
  .top_diary_section .diary_card .author_thumb {
    width: 40px;
    margin-right: 12px;
  }
  .top_diary_section .diary_card .author_job {
    font-size: 13px;
    line-height: 1.3;
  }
  .top_diary_section .diary_card .author_name {
    font-size: 16px;
    line-height: 1.3;
    margin-top: 4px;
  }
  .top_diary_section .diary_link_button {
    margin: 48px auto 0;
  }
  .top_link_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .top_link_section .link_button_flex {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
  }
  .top_link_section .link_button {
    width: 580px;
    max-width: 80%;
    height: 80px;
  }
  .top_link_section .link_button + .link_button {
    margin-top: 24px;
  }
  .top_link_section .link_button .link_button_en_text {
    height: 30px;
    top: -1px;
  }
  .top_link_section .link_button .link_button_text {
    font-size: 14px;
    line-height: 1.43;
  }
  .top_link_section .link_button .link_button_text span {
    font-size: 12px;
  }
  .top_link_section .link_button .radi {
    width: 30px;
    height: 30px;
    right: 10px;
  }
  .top_link_section .link_button .radi::after {
    width: 15px;
    height: 3.5px;
  }
  .top_link_section .top_banner {
    width: 1110px;
    max-width: 100%;
    margin: 60px auto 0;
  }
  .top_link_section .top_banner img {
    width: 100%;
  }
  /*
  ------------------------------------
  下層mv
  ------------------------------------
  */
  .page_mv_section {
    padding-top: 64px;
  }
  .page_mv_section::after {
    bottom: 120px;
  }
  .page_mv_section .page_title {
    font-size: 26px;
  }
  .page_mv_section .mv_frame {
    margin-top: 24px;
  }
  .page_mv_section .mv {
    height: 200px;
    max-width: 95vw;
  }
  /*
  ------------------------------------
  対応症例について 一覧
  ------------------------------------
  */
  .case_mv_section .mv {
    background-image: url("../img/case/case_mv.jpg");
  }
  .case_about_section {
    padding: 80px 0 80px;
  }
  .case_about_section .flex {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    margin-left: 0;
  }
  .case_about_section .text_area {
    width: 100%;
    margin-top: 32px;
  }
  .case_about_section .case_about_head {
    font-size: 18px;
    padding-bottom: 30px;
  }
  .case_about_section .case_about_head::after {
    width: 70px;
  }
  .case_about_section .case_about_text {
    margin-top: 32px;
    line-height: 2;
  }
  .case_about_section .img_area {
    box-shadow: 15px -15px 0 #e9f1f8;
  }
  .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;
  }
  .case_contact_section .contact_head {
    font-size: 24px;
  }
  .case_contact_section .contact_text {
    margin-top: 10px;
    font-size: 15px;
    text-align: center;
    line-height: 1.5;
    display: flex;
    justify-content: center;
    white-space: nowrap;
  }
  .case_contact_section .white_box_flex {
    margin: -56px auto 0;
    width: 92%;
    max-width: 450px;
    gap: 32px 0;
  }
  .case_contact_section .box {
    width: 100%;
    min-height: auto;
  }
  .case_contact_section .tel_box {
    padding: 40px 16px;
    display: flex;
    align-items: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .case_contact_section .tel_num {
    font-size: 36px;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
  .case_contact_section .tel_num::before {
    width: 30px;
    height: 30px;
    margin-right: 10px;
  }
  .case_contact_section .tel_num .ruby {
    font-size: 14px;
    top: -16px;
  }
  .case_contact_section .tel_time {
    margin-top: 16px;
    font-size: 15px;
  }
  .case_contact_section .mail_box {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 24px 16px;
  }
  .case_contact_section .mail_button {
    width: 100%;
    height: 80px;
    padding-left: 0;
    justify-content: center;
  }
  .case_contact_section .mail_button::before {
    width: 40px;
    height: 28px;
    margin-right: 12px;
  }
  .case_contact_section .mail_button::after {
    width: 8px;
    height: 8px;
    bottom: 5px;
    right: 5px;
  }
  .case_contact_section .mail01 {
    font-size: 24px;
  }
  .case_contact_section .mail02 {
    margin-top: 8px;
    font-size: 15px;
  }
  .case_list_section {
    padding-top: 80px;
  }
  .case_list_section .list_msg {
    margin-top: 32px;
    font-size: 24px;
    line-height: 1.5;
  }
  .case_list_section .case_list {
    margin-top: 56px;
    gap: 70px 0;
  }
  .case_list_section .case_block {
    width: 100%;
  }
  .case_list_section .case_text_frame::after {
    width: 55px;
    height: 72px;
  }
  .case_list_section .case_text_block {
    padding: 24px 16px;
  }
  .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: 12px;
    padding-right: 8px;
    font-size: 16px;
  }
  .case_list_section .case_text_block li.half {
    width: 100%;
  }
  .case_list_section .case_text_block li::before {
    width: 6px;
    height: 6px;
    top: 10px;
  }
  .case_list_section .case_button {
    height: 60px;
    margin-top: 8px;
    font-size: 20px;
  }
  .case_list_section .case_button::after {
    width: 10px;
    height: 10px;
    bottom: 6px;
    right: 6px;
  }
  /*
  ------------------------------------
  対応症例について 詳細
  ------------------------------------
  */
  .single_case_mv_section .mv {
    background-image: url("../img/case/case_mv.jpg");
  }
  .single_case_section {
    padding-top: 96px;
  }
  .single_case_section .case_title {
    font-size: 24px;
  }
  .single_case_section .case_title::after {
    width: 70px;
    height: 2px;
    margin-top: 24px;
  }
  .single_case_section .case_guide {
    margin: 32px auto 0;
    line-height: 2;
  }
  .single_case_section .case_guide p + p {
    margin-top: 10px;
  }
  .single_case_section .symptom_area {
    margin-top: 56px;
  }
  .single_case_section .symptom_box {
    padding: 24px 16px 40px;
  }
  .single_case_section .symptom_box .symptom_head {
    font-size: 20px;
  }
  .single_case_section .symptom_box ul {
    margin-top: 24px;
  }
  .single_case_section .symptom_box ul + ul {
    margin-top: 40px;
  }
  .single_case_section .symptom_box ul li {
    padding-left: 18px;
    font-size: 16px;
    line-height: 1.5;
  }
  .single_case_section .symptom_box ul li::before {
    width: 8px;
    height: 8px;
    top: 8px;
  }
  .single_case_section .symptom_box ul li + li {
    margin-top: 20px;
  }
  .single_case_section .symptom_box ul.flex {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
  }
  .single_case_section .symptom_box ul.flex li {
    width: 100%;
    padding-right: 0;
  }
  .single_case_section .symptom_box ul.flex li + li {
    margin-top: 20px;
  }
  .single_case_section .symptom_box .symptom_remark {
    margin: 40px auto 0;
    line-height: 2;
  }
  .single_case_section .about_area {
    margin-top: 100px;
  }
  .single_case_section .about_area .about_text_area {
    width: 100%;
    margin-top: 40px;
  }
  .single_case_section .about_area .about_text {
    font-size: 16px;
    line-height: 2;
    padding-top: 20px;
  }
  .single_case_section .about_area .about_text::before {
    width: 70px;
    height: 1px;
  }
  .single_case_section .about_area .about_img_area {
    box-shadow: 15px -15px 0 #e9f1f8;
  }
  .single_case_section .care_area {
    margin-top: 64px;
  }
  .single_case_section .care_area .care_box {
    padding: 24px 32px 40px;
  }
  .single_case_section .care_area .care_head {
    font-size: 20px;
  }
  .single_case_section .care_area .care_text {
    margin-top: 20px;
    font-size: 16px;
    line-height: 2;
  }
  .single_case_section .care_area .care_text p + p {
    margin-top: 10px;
  }
  .single_case_section .support_area {
    margin-top: 80px;
  }
  .single_case_section .support_area .support_head {
    font-size: 20px;
    line-height: 1.75;
  }
  .single_case_section .support_area .support_link {
    height: 150px;
    margin: 40px auto 0;
  }
  .single_case_section .support_area .support_link_text {
    padding: 8px 16px;
    min-width: auto;
    font-size: 16px;
    line-height: 1.67;
    margin-right: 5px;
    margin-bottom: 5px;
    box-shadow: 6px 8px 0 rgba(109, 193, 233, 0.4);
  }
  /*
  ------------------------------------
  医療関係者の皆様へ
  ------------------------------------
  */
  .medical_mv_section .mv {
    background-image: url("../img/medical/medical_mv.jpg");
  }
  .medical_section01 {
    padding-top: 72px;
  }
  .medical_section01 .p01 {
    font-size: 18px;
    line-height: 2;
  }
  .medical_section01 .link_area {
    margin-top: 64px;
    padding: 60px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 32px 0;
  }
  .medical_section01 .link {
    width: 100%;
    height: 74px;
    font-size: 18px;
  }
  .medical_section01 .link::after {
    width: 18px;
    height: 10px;
    right: 36px;
  }
  .medical_strength_section {
    padding: 80px 0 80px;
  }
  .medical_strength_section .strength_flex {
    margin-top: 72px;
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
  }
  .medical_strength_section .text_area {
    width: 100%;
    padding-top: 32px;
  }
  .medical_strength_section .strength_head {
    font-size: 20px;
    padding-bottom: 20px;
    line-height: 1.5;
  }
  .medical_strength_section .strength_head::after {
    width: 70px;
    height: 1px;
  }
  .medical_strength_section .strength_text {
    margin-top: 20px;
    line-height: 2;
  }
  .medical_strength_section .img_area {
    width: 100%;
    margin-left: 0;
    box-shadow: 15px -15px 0 #e9f1f8;
  }
  .medical_area_section {
    padding-bottom: 80px;
  }
  .medical_area_section .area_view {
    padding: 40px 0 50px;
  }
  .medical_area_section .area_view .area_text_block {
    max-width: 100%;
    min-height: auto;
    margin: 0 auto;
    padding: 32px 24px 40px;
    box-shadow: 16px 13px 0 rgba(109, 193, 233, 0.4);
  }
  .medical_area_section .area_view .area_text01 {
    font-size: 20px;
  }
  .medical_area_section .area_view .area_text02 {
    margin-top: 16px;
    line-height: 2;
  }
  .medical_area_section .area_list {
    margin-top: 48px;
  }
  .medical_area_section .area_block {
    padding: 32px 16px 40px;
  }
  .medical_area_section .area_block + .area_block {
    margin-top: 40px;
  }
  .medical_area_section .area_block .area_head {
    padding-bottom: 16px;
  }
  .medical_area_section .area_block .area_head a {
    font-size: 20px;
  }
  .medical_area_section .area_block .area_head a::before {
    width: 15px;
    height: 22px;
    margin-right: 10px;
  }
  .medical_area_section .area_block .station_list {
    margin-top: 24px;
    gap: 16px 0;
    flex-direction: column;
  }
  .medical_area_section .area_block .station_list a {
    font-size: 15px;
    line-height: 1.3;
  }
  .medical_voice_section {
    padding: 80px 0;
  }
  .medical_voice_section .voice_list {
    margin-top: 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px 0;
  }
  .medical_voice_section .voice_item {
    width: 100%;
  }
  .medical_voice_section .voice_card {
    padding: 32px 24px 24px;
  }
  .medical_voice_section .voice_card::before {
    width: 44px;
    height: 30px;
    top: -14px;
    left: 24px;
  }
  .medical_voice_section .voice_card .voice_name {
    min-width: 160px;
    min-height: 30px;
    padding: 4px 8px;
    font-size: 16px;
  }
  .medical_voice_section .voice_card .voice_text_area {
    margin-top: 16px;
  }
  .medical_voice_section .voice_card .voice_title {
    font-size: 20px;
  }
  .medical_voice_section .voice_card .voice_text {
    margin-top: 16px;
    line-height: 2;
  }
  /*
  ------------------------------------
  運営会社Fusion株式会社について
  ------------------------------------
  */
  .company_mv_section .mv {
    background-image: url("../img/company/company_mv.jpg");
  }
  .company_philosophy_section {
    padding-top: 80px;
  }
  .company_philosophy_section .p01 {
    font-size: 22px;
    line-height: 1.94;
    margin-top: 32px;
  }
  .company_philosophy_section .philosophy_box {
    padding: 48px 32px;
    margin-top: 50px;
  }
  .company_philosophy_section .philosophy_head {
    font-size: 20px;
    line-height: 1.5;
    white-space-collapse: nowrap;
  }
  .company_philosophy_section .philosophy_list {
    margin: 24px auto 0;
  }
  .company_philosophy_section .philosophy_list li {
    font-size: 16px;
    line-height: 1.5;
    padding-left: 24px;
  }
  .company_philosophy_section .philosophy_list li + li {
    margin-top: 20px;
  }
  .company_philosophy_section .philosophy_list li .num {
    font-size: 18px;
  }
  .company_greeting_section {
    padding-top: 80px;
  }
  .company_greeting_section .greeting_flex {
    margin-top: 50px;
  }
  .company_greeting_section .text_area {
    width: 100%;
  }
  .company_greeting_section .message_head {
    width: 170px;
    height: 34px;
    font-size: 20px;
  }
  .company_greeting_section .message_text {
    margin-top: 24px;
    font-size: 16px;
    line-height: 2;
  }
  .company_greeting_section .sign_flex {
    margin-top: 24px;
    width: 100%;
    flex-direction: column;
    align-items: flex-end;
  }
  .company_greeting_section .sign_flex .sign_career {
    font-size: 18px;
    line-height: 1.67;
  }
  .company_greeting_section .sign_flex .sign {
    font-size: 30px;
    line-height: 1;
    margin-left: 0;
    margin-top: 16px;
  }
  .company_greeting_section .img_area {
    width: 100%;
    flex-shrink: 0;
    margin-left: 0;
    margin-top: 32px;
  }
  .company_outline_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .company_outline_section .outline_box {
    border: solid 2px #36a9df;
    padding: 40px 24px;
  }
  .company_outline_section .outline_list {
    max-width: 800px;
    margin: 24px auto 0;
    font-size: 14px;
  }
  .company_outline_section .outline_item {
    display: flex;
  }
  .company_outline_section .outline_title {
    width: 120px;
    padding: 24px 0;
  }
  .company_outline_section .outline_title::before {
    height: 1px;
  }
  .company_outline_section .outline_contents {
    padding: 24px 0;
  }
  .company_outline_section .outline_contents::before {
    height: 1px;
  }
  /*
  ------------------------------------
  精神科訪問看護とは
  ------------------------------------
  */
  .psychiatric_mv_section .mv {
    background-image: url("../img/psychiatric/psychiatric_mv.jpg");
  }
  .psychiatric_section01 {
    padding-top: 80px;
  }
  .psychiatric_section01 .sec_title {
    font-size: 24px;
    line-height: 1.5;
  }
  .psychiatric_section01 .text01 {
    margin: 32px auto 0;
    line-height: 2;
  }
  .psychiatric_section01 .text01 p + p {
    margin-top: 10px;
  }
  .psychiatric_service_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .psychiatric_service_section .service_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 22px 0;
    margin-top: 40px;
  }
  .psychiatric_service_section .service_item {
    height: auto;
    min-height: 56px;
    border-radius: 3px;
    padding: 4px 4px;
    width: 49%;
    font-size: 15px;
    text-align: center;
  }
  .psychiatric_service_section .service_item01, .psychiatric_service_section .service_item02, .psychiatric_service_section .service_item03 {
    width: 49%;
  }
  .psychiatric_service_section .service_image_frame {
    margin-top: 50px;
    padding: 24px 24px 32px;
    min-height: auto;
  }
  .psychiatric_service_section .service_image {
    width: 100%;
  }
  .psychiatric_service_section .service_image img {
    width: 100%;
  }
  .psychiatric_merit_section {
    padding: 80px 0;
  }
  .psychiatric_merit_section .back_text {
    font-size: 120px;
    text-align: center;
    top: -12px;
    display: flex;
    justify-content: center;
  }
  .psychiatric_merit_section .merit_box {
    padding: 32px 24px 40px;
    border: solid 2px #36a9df;
  }
  .psychiatric_merit_section .merit_box ul {
    margin-top: 32px;
  }
  .psychiatric_merit_section .merit_box ul li {
    padding-left: 14px;
    font-size: 16px;
    line-height: 1.5;
  }
  .psychiatric_merit_section .merit_box ul li + li {
    margin-top: 20px;
  }
  .psychiatric_merit_section .merit_box ul li::before {
    width: 6px;
    height: 6px;
    top: 9px;
  }
  .psychiatric_case_section {
    padding: 80px 0;
  }
  .psychiatric_case_section .case_list {
    margin-top: 40px;
    gap: 18px 0;
  }
  .psychiatric_case_section .case_list li {
    width: 49%;
    height: auto;
    min-height: 54px;
    font-size: 14px;
    line-height: 1.5;
  }
  .psychiatric_case_section .case_button {
    width: 100%;
    min-height: 80px;
    height: auto;
    margin: 32px auto 0;
    font-size: 18px;
  }
  .psychiatric_case_section .case_button::after {
    width: 10px;
    height: 18px;
    right: 16px;
  }
  .psychiatric_case_section .link_list {
    margin-top: 60px;
    gap: 24px 0;
  }
  .psychiatric_case_section .link_list li {
    width: 100%;
  }
  .psychiatric_case_section .link {
    width: 100%;
    max-width: 100%;
    height: 150px;
  }
  .psychiatric_case_section .link .link_text {
    min-width: 220px;
    height: 36px;
    padding: 0 8px;
    font-size: 20px;
    box-shadow: 6px 6px 0 rgba(109, 193, 233, 0.4);
  }
  /*
  ------------------------------------
  訪問リハビリ
  ------------------------------------
  */
  .rehabilitation_mv_section .mv {
    background-image: url("../img/rehabilitation/rehabilitation_mv.jpg");
  }
  .rehabilitation_section01 {
    padding-top: 80px;
  }
  .rehabilitation_section01 .p01 {
    font-size: 20px;
    line-height: 1.5;
  }
  .rehabilitation_case_section {
    padding: 80px 0 80px;
  }
  .rehabilitation_case_section::before {
    content: "";
    width: 100%;
    height: calc(100% - 120px);
  }
  .rehabilitation_case_section .message_frame {
    margin-top: 40px;
    height: auto;
    text-align: center;
    padding: 32px 0;
  }
  .rehabilitation_case_section .message_frame .message {
    font-size: 24px;
    line-height: 1.5;
  }
  .rehabilitation_case_section .case_list {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-right: 0;
    gap: 80px 0;
  }
  .rehabilitation_case_section .case_block {
    width: 100%;
    padding: 24px 16px;
  }
  .rehabilitation_case_section .case_block .case_text_area {
    margin-top: 24px;
  }
  .rehabilitation_case_section .case_block .case_title {
    font-size: 20px;
    line-height: 1.5;
    white-space: nowrap;
    display: flex;
    justify-content: center;
  }
  .rehabilitation_case_section .case_block .case_text {
    margin-top: 16px;
    line-height: 2;
  }
  .rehabilitation_example_section {
    padding: 80px 0;
  }
  .rehabilitation_example_section .example_list {
    margin-top: 70px;
  }
  .rehabilitation_example_section .example_block {
    display: flex;
    align-items: center;
    flex-direction: column;
    position: relative;
    padding: 32px 24px;
  }
  .rehabilitation_example_section .example_block + .example_block {
    margin-top: 64px;
  }
  .rehabilitation_example_section .example_block .example_num {
    font-size: 60px;
    top: -24px;
  }
  .rehabilitation_example_section .example_block .example_thumb {
    width: 100%;
    flex-shrink: 0;
  }
  .rehabilitation_example_section .example_block .example_text_area {
    width: 100%;
    margin-top: 24px;
  }
  .rehabilitation_example_section .example_block .example_title {
    min-width: 180px;
    min-height: 40px;
    border-radius: 40px;
    padding: 3px 16px 5px;
    font-size: 18px;
  }
  .rehabilitation_example_section .example_block .example_text {
    margin-top: 16px;
    line-height: 2;
  }
  .rehabilitation_example_section .example_block .example_care_head {
    font-size: 18px;
    margin-top: 12px;
  }
  .rehabilitation_example_section .example_block .example_care_head p {
    padding: 0 24px;
  }
  .rehabilitation_example_section .example_block:nth-child(odd) .example_thumb {
    margin-right: 0;
  }
  .rehabilitation_example_section .example_block:nth-child(odd) .example_num {
    left: -6px;
  }
  .rehabilitation_example_section .example_block:nth-child(even) {
    flex-direction: column;
  }
  .rehabilitation_example_section .example_block:nth-child(even) .example_thumb {
    margin-left: 0;
  }
  .rehabilitation_example_section .example_block:nth-child(even) .example_num {
    right: -6px;
  }
  .rehabilitation_staff_section {
    padding: 80px 0;
  }
  .rehabilitation_staff_section .flex {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-top: 40px;
  }
  .rehabilitation_staff_section .text_area {
    line-height: 2;
  }
  .rehabilitation_staff_section .text_area p + p {
    margin-top: 10px;
  }
  .rehabilitation_staff_section .img_area {
    flex-shrink: 0;
    width: 100%;
    margin-left: 0;
    margin-top: 40px;
  }
  .rehabilitation_staff_section .staff_name_box {
    right: -24px;
    bottom: -24px;
    min-width: 210px;
    min-height: 100px;
    padding-left: 40px;
  }
  .rehabilitation_staff_section .staff_job {
    font-size: 16px;
    line-height: 1.67;
  }
  .rehabilitation_staff_section .staff_name {
    margin-top: 10px;
    font-size: 24px;
    line-height: 1;
  }
  /*
  ------------------------------------
  よくある質問
  ------------------------------------
  */
  .faq_mv_section .mv {
    background-image: url("../img/faq/faq_mv.jpg");
    background-position: right;
  }
  .faq_section01 {
    padding-top: 80px;
  }
  .faq_section01 .faq_head {
    font-size: 20px;
    line-height: 1.5;
  }
  .faq_section01 .faq_text {
    margin-top: 32px;
    line-height: 2;
  }
  .faq_section01 .faq_link_area {
    margin-top: 60px;
    padding: 60px 0;
  }
  .faq_section01 .faq_link_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px 0;
  }
  .faq_section01 .faq_link_list li {
    width: 100%;
  }
  .faq_section01 .faq_link {
    width: 100%;
    height: 70px;
    line-height: 1.44;
    padding-right: 8px;
  }
  .faq_section01 .faq_link::after {
    width: 12px;
    height: 8px;
    right: 16px;
  }
  .faq_list_section {
    padding: 80px 0;
  }
  .faq_list_section .faq_area + .faq_area {
    margin-top: 100px;
  }
  .faq_list_section .faq_head {
    padding-bottom: 12px;
    font-size: 20px;
    line-height: 1.2;
  }
  .faq_list_section .faq_head::before {
    width: 2px;
    height: 30px;
    margin-right: 16px;
  }
  .faq_list_section .faq_list, .faq_list_section .faq_block + .faq_block {
    margin-top: 40px;
  }
  .faq_list_section .faq_question {
    padding: 12px;
  }
  .faq_list_section .faq_question::before {
    width: 40px;
    height: 40px;
    margin-right: 10px;
    font-size: 20px;
  }
  .faq_list_section .faq_question_text {
    font-size: 16px;
    padding-top: 8px;
    line-height: 1.75;
  }
  .faq_list_section .faq_answer {
    padding: 12px 0 0 12px;
  }
  .faq_list_section .faq_answer::before {
    width: 40px;
    height: 40px;
    margin-right: 10px;
    font-size: 20px;
  }
  .faq_list_section .faq_answer_text {
    font-size: 16px;
    padding-top: 6px;
    line-height: 1.75;
  }
  /*
  ------------------------------------
  サポート事例
  ------------------------------------
  */
  .support_case_mv_section .mv {
    background-image: url("../img/support_case/support_case_mv.jpg");
  }
  .support_case_section {
    padding-top: 80px;
  }
  .support_case_section .p01 {
    margin-top: 32px;
    line-height: 2;
  }
  .support_case_section .support_case_list {
    margin-top: 48px;
  }
  .support_case_section .support_case_block {
    padding: 32px 16px 40px;
    border: solid 2px #36a9df;
  }
  .support_case_section .support_case_block + .support_case_block {
    margin-top: 64px;
  }
  .support_case_section .support_case_block .support_case_head {
    padding-top: 20px;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    flex-direction: column;
    align-items: center;
  }
  .support_case_section .support_case_block .support_case_thumb {
    width: 200px;
    margin-right: 0;
  }
  .support_case_section .support_case_block .support_case_head_info {
    width: 100%;
    margin-top: 24px;
    padding-top: 0;
    padding-bottom: 32px;
  }
  .support_case_section .support_case_block .support_case_outline {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.75;
  }
  .support_case_section .support_case_block .info_flex {
    gap: 16px;
    font-size: 15px;
    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;
    flex-direction: column;
    align-items: center;
  }
  .support_case_section .support_case_block .status_flex::before {
    width: 108px;
    height: 65px;
    transform: rotateZ(90deg);
    left: auto;
    right: calc(50% + 30px);
  }
  .support_case_section .support_case_block .status_block {
    width: 100%;
    padding: 64px 16px 32px;
    line-height: 2;
  }
  .support_case_section .support_case_block .status_block .status_head {
    width: 100%;
    height: 46px;
    font-size: 20px;
  }
  .support_case_section .support_case_block .status_block.after {
    background-color: #e1effa;
    margin-top: 48px;
  }
  .support_case_section .support_case_block .support_case_img_list {
    margin-top: 32px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px 0;
  }
  .support_case_section .support_case_block .support_case_img_list li {
    width: 100%;
  }
  /*
  ------------------------------------
  初めての方へ
  ------------------------------------
  */
  .first_mv_section .mv {
    background-image: url("../img/first/first_mv.jpg");
  }
  .first_section01 {
    padding-top: 64px;
  }
  .first_section01 .p01 {
    font-size: 17px;
    line-height: 2;
    text-align: center;
    white-space: nowrap;
  }
  .first_section01 .image_area {
    margin-top: 56px;
    padding: 24px 0 40px;
  }
  .first_section01 .image_list {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
  }
  .first_section01 .image_list li {
    position: static;
  }
  .first_section01 .image_list .first01 {
    width: 275px;
    margin-right: 50px;
  }
  .first_section01 .image_list .first02 {
    width: 200px;
    margin-top: 32px;
    margin-left: 90px;
  }
  .first_section01 .image_list .first03 {
    width: 256px;
    margin-top: 40px;
    margin-right: 60px;
  }
  .first_section01 .image_list .first04 {
    width: 238px;
    margin-top: 40px;
    margin-left: 10px;
  }
  .first_section01 .image_list .first05 {
    width: 201px;
    margin-top: 56px;
    margin-right: 90px;
  }
  .first_section01 .image_list .first06 {
    width: 256px;
    margin-top: 32px;
    margin-left: 40px;
  }
  .first_section01 .image_list .first07 {
    width: 196px;
    margin-top: 48px;
    margin-right: 106px;
  }
  .first_section01 .image_list .first08 {
    width: 210px;
    margin-right: 24px;
    margin-left: 100px;
  }
  .first_link_section {
    padding-top: 80px;
    padding-bottom: 80;
  }
  .first_link_section .msg_box {
    padding: 32px 24px;
    background-position: right;
  }
  .first_link_section .msg_text_box {
    max-width: 100%;
    padding: 24px 16px 28px;
    font-size: 14px;
    line-height: 2;
    background-color: rgba(109, 193, 233, 0.8);
  }
  .first_link_section .banner_flex {
    gap: 32px 0;
    margin-top: 60px;
  }
  .first_link_section .banner {
    width: 100%;
    padding: 24px 48px 24px 16px;
  }
  .first_link_section .banner::after {
    width: 40px;
    height: 40px;
    right: 16px;
  }
  .first_link_section .banner .banner_text_box {
    padding: 16px;
    min-width: 220px;
    min-height: auto;
  }
  .first_link_section .banner .ja_title {
    margin-top: 3px;
    font-size: 18px;
    line-height: 1.3;
  }
  .first_link_section .banner.family .banner_text_box, .first_link_section .banner.flow .banner_text_box {
    padding-left: 24px;
    padding-right: 24px;
  }
  .first_link_section .link_list {
    margin-top: 96px;
  }
  .first_link_section .link_block {
    display: flex;
    align-items: center;
    max-width: 600px;
    margin: 0 auto;
  }
  .first_link_section .link_block + .link_block {
    margin-top: 80px;
  }
  .first_link_section .link_block .link_thumb {
    width: 100%;
    max-width: 100%;
  }
  .first_link_section .link_block .link_text_area {
    padding-top: 0;
    margin-top: 24px;
  }
  .first_link_section .link_block .link_head {
    font-size: 20px;
    padding-bottom: 16px;
  }
  .first_link_section .link_block .link_head::after {
    width: 70px;
    height: 1px;
  }
  .first_link_section .link_block .link_text {
    margin-top: 16px;
    line-height: 1.75;
  }
  .first_link_section .link_block .link_more {
    margin-top: 24px;
  }
  .first_link_section .link_block .link_more a .radi {
    width: 32px;
    height: 32px;
    margin-left: 16px;
  }
  .first_link_section .link_block .link_more a .radi::after {
    width: 16px;
    height: 4px;
  }
  .first_link_section .link_block:nth-child(odd) {
    flex-direction: column;
  }
  .first_link_section .link_block:nth-child(odd) .link_thumb {
    margin-right: 0;
    box-shadow: -15px -15px 0 #e9f1f8;
  }
  .first_link_section .link_block:nth-child(even) {
    flex-direction: column;
  }
  .first_link_section .link_block:nth-child(even) .link_thumb {
    margin-left: 0;
    box-shadow: 15px -15px 0 #e9f1f8;
  }
  /*
  ------------------------------------
  ご家族の皆様へ
  ------------------------------------
  */
  .family_mv_section .mv {
    background-image: url("../img/family/family_mv.jpg");
  }
  .family_section01 {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .family_section01 .sec_head {
    font-size: 24px;
    line-height: 1.94;
  }
  .family_section01 .flex {
    margin-top: 80px;
    margin-left: 0;
  }
  .family_section01 .text_area {
    margin-top: 40px;
  }
  .family_section01 .text_area p {
    position: relative;
    line-height: 1.75;
    padding-top: 32px;
  }
  .family_section01 .text_area p::before {
    width: 70px;
  }
  .family_section01 .img_area {
    box-shadow: 15px -15px 0 #e9f1f8;
  }
  .family_anchor_section {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .family_anchor_section .anchor_list {
    margin-top: 60px;
    gap: 20px 0;
    justify-content: space-between;
  }
  .family_anchor_section .anchor_list li {
    width: 49%;
  }
  .family_anchor_section .anchor {
    min-height: 60px;
    padding: 10px 24px;
    line-height: 1.44;
    font-size: 13px;
    white-space: nowrap;
  }
  .family_anchor_section .anchor::after {
    width: 12px;
    height: 7px;
    right: 6px;
  }
  .family_change_section {
    padding-top: 64px;
  }
  .family_change_section .change_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 32px 0;
    margin-top: 50px;
  }
  .family_change_section .change_head {
    min-height: 80px;
    padding: 8px 4px;
    font-size: 18px;
    line-height: 1.56;
  }
  .family_change_section .change_body {
    line-height: 1.63;
  }
  .family_change_section .change_body ul {
    margin-top: 16px;
  }
  .family_change_section .change_body li {
    padding-left: 16px;
  }
  .family_change_section .change_body li::before {
    width: 8px;
    height: 8px;
    top: 10px;
  }
  .family_change_section .action_list .change_block, .family_change_section .emotion_list .change_block, .family_change_section .thinking_list .change_block {
    width: 100%;
  }
  .family_change_section .action_list .change_body, .family_change_section .emotion_list .change_body, .family_change_section .thinking_list .change_body {
    padding: 30px 30px 20px;
  }
  .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.48;
  }
  .family_change_section .physical_list .change_block, .family_change_section .social_list .change_block {
    width: 100%;
  }
  .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.48;
  }
  .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: 100%;
  }
  .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: 64px;
    padding-bottom: 64px;
  }
  .family_text_section p {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.75;
  }
  .family_link_section {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .family_link_section .link_guide {
    font-size: 18px;
    line-height: 1.75;
  }
  .family_link_section .link_list {
    margin-top: 56px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    gap: 24px 0;
  }
  .family_link_section .link_list li {
    width: 100%;
  }
  .family_link_section .link {
    aspect-ratio: 1/0.4;
    border-radius: 3px;
  }
  .family_link_section .link .link_text {
    min-width: 250px;
    height: 44px;
    padding: 0 8px;
    font-size: 24px;
    line-height: 1.2;
  }
  /*
  ------------------------------------
  ご利用の流れと料金
  ------------------------------------
  */
  .flow_mv_section .mv {
    background-image: url("../img/flow/flow_mv.jpg");
  }
  .flow_section01 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .flow_section01 .common_sec_title_half_bottom_border {
    text-align: center;
    font-size: 22px;
    white-space: nowrap;
  }
  .flow_section01 .link_area {
    margin-top: 40px;
    padding: 40px 0;
    position: relative;
  }
  .flow_section01 .link_flex {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 32px 0;
  }
  .flow_section01 .link_flex .link {
    width: 100%;
    height: auto;
    min-height: 80px;
    font-size: 16px;
  }
  .flow_section01 .link_flex .link::after {
    width: 18px;
    height: 10px;
    right: 20px;
  }
  .flow_section01 .flow_box {
    padding: 24px 16px;
    border: solid 2px #36a9df;
  }
  .flow_section01 .flow_box01, .flow_section01 .flow_box02 {
    margin-top: 64px;
  }
  .flow_section01 .flow_box .flow_head {
    font-size: 20px;
    line-height: 1.3;
  }
  .flow_section01 .flow_list {
    margin-top: 40px;
  }
  .flow_section01 .flow_block {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    padding-top: 0;
  }
  .flow_section01 .flow_block + .flow_block {
    margin-top: 40px;
  }
  .flow_section01 .flow_block::before, .flow_section01 .flow_block::after {
    width: 2px;
    left: -1px;
    z-index: 1;
  }
  .flow_section01 .flow_block .flow_thumb {
    width: 100%;
    max-width: 100%;
  }
  .flow_section01 .flow_block .flow_text_area {
    width: 100%;
    padding: 24px 16px 32px 40px;
    position: static;
  }
  .flow_section01 .flow_block .flow_title {
    font-size: 20px;
    line-height: 1.3;
  }
  .flow_section01 .flow_block .flow_text {
    margin-top: 16px;
    line-height: 1.75;
  }
  .flow_section01 .flow_block .flow_num {
    width: 50px;
    height: 50px;
    font-size: 24px;
    left: -25px;
  }
  .flow_service_section {
    padding: 80px 0;
  }
  .flow_service_section .service_list {
    margin-top: 48px;
    gap: 48px 0;
  }
  .flow_service_section .service_block {
    width: 100%;
  }
  .flow_service_section .service_head {
    min-height: 60px;
    padding: 12px 24px;
    font-size: 20px;
    line-height: 1.3;
  }
  .flow_service_section .service_body {
    padding: 20px 16px 24px;
  }
  .flow_service_section .service_text {
    margin-top: 16px;
    font-size: 17px;
  }
  .flow_graph_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .flow_graph_section .graph_list {
    margin-top: 48px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    gap: 48px 0;
  }
  .flow_graph_section .graph_block {
    width: 100%;
  }
  .flow_graph_section .graph_head {
    min-height: 60px;
    padding: 12px 24px;
    font-size: 20px;
    line-height: 1.3;
  }
  .flow_graph_section .graph_body {
    padding: 30px 40px 28px;
  }
  .flow_graph_section .graph_frame {
    width: 200px;
  }
  .flow_graph_section .graph_frame span {
    width: 100px;
    left: 120px;
    top: -6px;
  }
  .flow_graph_section .graph_text {
    margin-top: 16px;
    font-size: 17px;
  }
  .flow_graph_section .graph_remark {
    margin-top: 40px;
    text-align: center;
  }
  .flow_guide_section {
    padding: 80px 0;
  }
  .flow_guide_section .common_sec_title_half_bottom_border {
    text-align: center;
    line-height: 1.6;
  }
  .flow_guide_section .guide_head {
    width: 100%;
    min-height: 50px;
    padding: 8px 12px;
    font-size: 18px;
    margin: 40px auto 0;
  }
  .flow_guide_section .guide_head::after {
    top: calc(100% - 1px);
    border-width: 12px 10px 0 10px;
  }
  .flow_guide_section .guide_box {
    margin-top: 40px;
    padding: 24px 16px 40px;
  }
  .flow_guide_section .guide_remark_area {
    margin-top: 48px;
  }
  .flow_guide_section .guide_remark_head {
    font-size: 18px;
    padding-bottom: 12px;
  }
  .flow_guide_section .guide_remark_list {
    margin-top: 12px;
  }
  .flow_guide_section .guide_remark_list li {
    line-height: 1.3;
    padding-left: 14px;
    font-size: 14px;
  }
  .flow_guide_section .guide_remark_list li::before {
    width: 7px;
    height: 7px;
    top: 6px;
  }
  .flow_guide_section .guide_remark_list li + li {
    margin-top: 12px;
  }
  .flow_guide_section .guide_remark_text {
    margin-top: 32px;
    font-size: 12px;
  }
  /*
  ------------------------------------
  地域に密着したセノーテ訪問看護
  ------------------------------------
  */
  .community_mv_section .mv {
    background-image: url("../img/community/community_mv.jpg");
  }
  .community_section01 {
    padding-top: 80px;
  }
  .community_section01 .p01 {
    font-size: 18px;
    line-height: 2;
  }
  .community_support_section {
    padding-top: 72px;
    padding-bottom: 80px;
  }
  .community_support_section .support_box {
    margin-top: 40px;
    padding: 24px 16px;
  }
  .community_support_section .support_list {
    margin-top: 64px;
  }
  .community_support_section .support_block + .support_block {
    margin-top: 60px;
  }
  .community_support_section .support_block .support_thumb {
    width: 100%;
    margin-right: 0;
    box-shadow: -10px 10px 0 #e9f1f8;
  }
  .community_support_section .support_block .support_text_area {
    padding-top: 32px;
  }
  .community_support_section .support_block .support_head {
    font-size: 24px;
    padding-bottom: 12px;
  }
  .community_support_section .support_block .support_text {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.75;
  }
  .community_support_section .support_msg_box {
    margin-top: 64px;
    padding: 48px 32px 40px;
  }
  .community_support_section .support_msg_head {
    font-size: 22px;
    white-space: nowrap;
  }
  .community_support_section .support_remark {
    margin-top: 56px;
    font-size: 14px;
    line-height: 2;
  }
  .community_support_section .bgm_banner {
    margin: 56px auto 0;
    flex-direction: column;
  }
  .community_support_section .bgm_banner .bgm_img {
    width: 100%;
  }
  .community_support_section .bgm_text_area {
    width: 100%;
    padding: 16px 24px;
  }
  .community_support_section .bgm_text_area::after {
    width: 16px;
    height: 16px;
    right: 8px;
    bottom: 8px;
  }
  .community_support_section .bgm_text {
    font-size: 18px;
  }
  /*
  ------------------------------------
  充実の看護体制
  ------------------------------------
  */
  .system_mv_section .mv {
    background-image: url("../img/system/system_mv.jpg");
  }
  .system_section01 {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .system_section01 .p01 {
    font-size: 24px;
    line-height: 1.94;
  }
  .system_section01 .system_flex {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin-top: 64px;
  }
  .system_section01 .system_text_area {
    width: 100%;
    padding-top: 32px;
  }
  .system_section01 .system_text {
    padding-top: 20px;
    line-height: 2;
  }
  .system_section01 .system_text::before {
    width: 70px;
    height: 1px;
  }
  .system_section01 .system_img_area {
    width: 600px;
    max-width: 100%;
    margin-left: 0;
    box-shadow: 20px -20px 0 #e9f1f8;
  }
  .system_manager_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .system_manager_section .common_sec_title_half_bottom_border {
    text-align: center;
  }
  .system_manager_section .manager_list {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 50px 0;
    margin-top: 64px;
  }
  .system_manager_section .manager_block {
    width: 100%;
  }
  .system_manager_section .manager_text_area {
    margin-top: 24px;
  }
  .system_manager_section .manager_job {
    font-size: 17px;
    line-height: 1.5;
  }
  .system_manager_section .manager_job span {
    font-size: 15px;
  }
  .system_manager_section .manager_name {
    margin-top: 10px;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
  }
  /*
  ------------------------------------
  訪問スタッフについて
  ------------------------------------
  */
  .staff_mv_section .mv {
    background-image: url("../img/staff/staff_mv.jpg");
  }
  .staff_section01 {
    padding-top: 60px;
    padding-bottom: 0;
  }
  .staff_section01 .p01 {
    font-size: 20px;
    line-height: 1.94;
  }
  .staff_section01 .p02 {
    max-width: 1020px;
    margin: 32px auto 0;
    line-height: 2;
  }
  .staff_section01 .about_list {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
    position: relative;
    flex-direction: column;
    padding-bottom: 32px;
    gap: 32px 0;
  }
  .staff_section01 .about_list::after {
    height: calc(100% - 90px);
  }
  .staff_section01 .about_list li {
    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;
    justify-content: space-between;
    gap: 64px 0;
  }
  .staff_list_section .staff_block {
    width: 100%;
  }
  .staff_list_section .staff_thumb {
    box-shadow: 10px 10px 0 #e9f1f8;
    max-width: 260px;
    margin: 0 auto;
  }
  .staff_list_section .staff_head {
    margin-top: 36px;
    padding-bottom: 12px;
  }
  .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;
  }
  .staff_list_section .staff_text {
    margin-top: 16px;
    line-height: 2;
    padding: 0;
  }
  /*
  ------------------------------------
  サポートエリア一覧
  ------------------------------------
  */
  .area_mv_section .mv {
    background-image: url("../img/area/area_mv.jpg");
  }
  .area_section01 {
    padding-top: 80px;
    padding-bottom: 60px;
  }
  .area_section01 .common_sec_title_half_bottom_border {
    text-align: center;
    font-size: 22px;
    white-space: nowrap;
  }
  .area_section01 .area_box {
    margin-top: 40px;
    padding: 40px 32px 32px;
  }
  .area_section01 .area_head {
    font-size: 26px;
  }
  .area_section01 .area_text {
    line-height: 1.75;
    max-width: 780px;
    margin: 32px auto 0;
  }
  .area_section01 .map_area {
    padding-top: 224px;
    padding-bottom: 160px;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    overflow-y: scroll;
    padding-left: 120px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    position: relative;
  }
  .area_section01 .map_area::-webkit-scrollbar {
    display: none;
  }
  .area_section01 .map_frame {
    position: relative;
    margin: 0 auto;
    width: 520.8px;
    min-width: 391.2px;
  }
  .area_section01 .map_frame .map {
    width: 100%;
  }
  .area_region_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .area_region_section .common_sec_title_half_bottom_border {
    font-size: 21px;
  }
  .area_region_section .region_list {
    margin-top: 48px;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column;
    gap: 24px 0;
  }
  .area_region_section .region_list li {
    width: 100%;
  }
  .area_region_section .region_card {
    min-height: 80px;
    font-size: 18px;
    padding: 4px 8px;
  }
  .area_region_section .region_card::after {
    width: 18px;
    height: 11px;
    right: 24px;
  }
  /*
  ------------------------------------
  サポートエリア 
  ------------------------------------
  */
  .area_list_info_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .area_list_info_section .info_area {
    margin-top: 48px;
    position: relative;
  }
  .area_list_info_section .info_frame {
    max-height: 300px;
  }
  .area_list_info_section .info_list {
    max-width: 800px;
    margin: 0 auto;
    padding: 24px;
  }
  .area_list_info_section .info_list .info_block {
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .area_list_info_section .info_list .info_date {
    min-width: 170px;
    padding-right: 0;
  }
  .area_list_info_section .info_list .info_title {
    transform: translateY(0);
    margin-top: 8px;
  }
  .area_list_info_section .info_remark {
    line-height: 1.75;
    margin: 24px auto 0;
    text-align: left;
  }
  .area_list_info_section .info_list_button_frame {
    position: static;
    margin: 24px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .area_list_info_section .info_list_button {
    min-width: 180px;
    min-height: 40px;
    border-radius: 3px;
    padding: 4px 8px;
  }
  .area_list_info_section .info_list_button::after {
    width: 8px;
    height: 12px;
    right: 18px;
  }
  .area_list_map_section {
    padding-top: 80px;
  }
  .area_list_map_section .map_area {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .area_list_map_section .map_area::-webkit-scrollbar {
    display: none;
  }
  .area_list_map_section .map {
    width: 100%;
  }
  .area_list_feature_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .area_list_feature_section .feature_flex {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    max-width: 600px;
    margin: 64px auto 0;
  }
  .area_list_feature_section .feature_text_area {
    width: 100%;
    margin-top: 24px;
  }
  .area_list_feature_section .feature_head {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.3;
    padding-bottom: 20px;
  }
  .area_list_feature_section .feature_head::before {
    width: 70px;
    height: 1px;
  }
  .area_list_feature_section .feature_text {
    margin-top: 20px;
    line-height: 1.75;
  }
  .area_list_feature_section .feature_img_area {
    box-shadow: 15px -15px 0 #e9f1f8;
  }
  .area_list_station_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .area_list_station_section .station_list .station_frame + .station_frame {
    margin-top: 64px;
  }
  .area_list_station_section .station_list .station_block {
    padding: 24px 16px 32px;
  }
  .area_list_station_section .station_list .station_name {
    display: flex;
    font-size: 20px;
    padding-bottom: 12px;
  }
  .area_list_station_section .station_list .station_name::before {
    width: 18px;
    height: 25px;
    margin-right: 12px;
    transform: translateY(1px);
  }
  .area_list_station_section .station_list .station_flex {
    margin-top: 24px;
  }
  .area_list_station_section .station_list .station_thumb {
    width: 100%;
    flex-shrink: 0;
    margin-left: 0;
    max-width: 100%;
  }
  .area_list_station_section .station_list .station_text_area {
    width: 100%;
    margin-top: 24px;
  }
  .area_list_station_section .station_list .station_address {
    font-size: 16px;
    line-height: 1.44;
  }
  .area_list_station_section .station_list .station_contact {
    margin-top: 16px;
  }
  .area_list_station_section .station_list .station_contact a {
    display: block;
    font-size: 16px;
    line-height: 1.75;
  }
  .area_list_station_section .station_list .station_contact span {
    display: block;
    font-size: 16px;
    line-height: 1.75;
    display: none;
  }
  .area_list_station_section .station_list .station_contact span.fax {
    display: block;
  }
  .area_list_station_section .station_list .station_support_box {
    margin-top: 40px;
    padding: 32px 16px 32px;
    min-width: 260px;
  }
  .area_list_station_section .station_list .station_support_head {
    width: 160px;
    height: 30px;
    border-radius: 15px;
    font-size: 15px;
    top: -15px;
  }
  .area_list_station_section .station_support_text {
    font-size: 16px;
    line-height: 1.44;
  }
  .area_list_station_section .station_button {
    width: 100%;
    max-width: 100%;
    height: 60px;
    margin: 30px auto 0;
    border: 2px solid #134b8d;
    font-size: 16px;
  }
  .area_list_station_section .station_button::after {
    width: 8px;
    height: 16px;
    right: 20px;
  }
  /*
  ------------------------------------
  サポートエリア 福岡
  ------------------------------------
  */
  .area_list_fukuoka_mv_section .mv {
    background-image: url("../img/area/fukuoka/fukuoka_mv.jpg");
  }
  .area_list_fukuoka_map_section .map_area {
    padding-left: 24px;
    padding-right: 24px;
  }
  .area_list_fukuoka_map_section .map_frame {
    width: 720px;
    margin-left: 0;
  }
  /*
  ------------------------------------
  サポートエリア 沖縄
  ------------------------------------
  */
  .area_list_okinawa_mv_section .mv {
    background-image: url("../img/area/okinawa/okinawa_mv.jpg");
  }
  .area_list_okinawa_map_section .map_frame {
    width: 100%;
    width: 350px;
    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: 720px;
  }
  /*
  ------------------------------------
  サポートエリア 広島
  ------------------------------------
  */
  .area_list_hiroshima_mv_section .mv {
    background-image: url("../img/area/hiroshima/hiroshima_mv.jpg");
  }
  .area_list_hiroshima_map_section .map_frame {
    width: 720px;
  }
  /*
  ------------------------------------
  サポートエリア 愛知
  ------------------------------------
  */
  .area_list_aichi_mv_section .mv {
    background-image: url("../img/area/aichi/aichi_mv.jpg");
  }
  .area_list_aichi_map_section .map_frame {
    width: 720px;
  }
  /*
  ------------------------------------
  サポートエリア 愛媛
  ------------------------------------
  */
  .area_list_ehime_mv_section .mv {
    background-image: url("../img/area/ehime/ehime_mv.jpg");
  }
  .area_list_ehime_map_section .map_frame {
    width: 720px;
  }
  /*
  ------------------------------------
  サポートエリア 神奈川
  ------------------------------------
  */
  .area_list_kanagawa_mv_section .mv {
    background-image: url("../img/area/kanagawa/kanagawa_mv.jpg");
  }
  .area_list_kanagawa_map_section .map_frame {
    width: 720px;
  }
  /*
  ------------------------------------
  ステーション
  ------------------------------------
  */
  .station_section:last-child {
    padding-bottom: 80px;
  }
  .station_section01 .station_img_area {
    padding-top: 80px;
  }
  .station_section01 .station_img_area::before {
    height: calc(100% + 500px);
    bottom: 100px;
  }
  .station_section01 .station_img_flex {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 32px 0;
  }
  .station_section01 .station_img {
    width: 100%;
  }
  .station_section01 .station_info {
    max-width: 1000px;
    margin: 32px auto 0;
    line-height: 1.75;
  }
  .station_area_section {
    padding-top: 80px;
  }
  .station_area_section .station_area_text_box {
    margin-top: 32px;
    padding: 24px 16px;
  }
  .station_area_section .station_area_text {
    font-size: 16px;
    line-height: 1.75;
    text-align: center;
  }
  .station_area_section .station_area_remark {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.75;
  }
  .station_area_section .station_area_img {
    margin-top: 32px;
  }
  .station_area_section .station_area_img img {
    max-width: 100%;
  }
  .station_access_section {
    padding-top: 64px;
  }
  .station_access_section .station_map {
    height: 200px;
  }
  .station_access_section .station_address {
    margin-top: 16px;
    line-height: 1.63;
  }
  .station_access_section .station_contact {
    margin-top: 10px;
    font-size: 15px;
  }
  .station_access_section .station_contact a, .station_access_section .station_contact span {
    line-height: 1.63;
  }
  .station_staff_section {
    padding-top: 80px;
  }
  .station_staff_section .staff_box {
    padding: 0 16px 40px;
  }
  .station_staff_section .staff_head {
    min-width: auto;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 90%;
    min-height: auto;
    padding: 8px 20px;
    font-size: 20px;
  }
  .station_staff_section .staff_flex {
    margin-top: 32px;
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  .station_staff_section .staff_img {
    width: 100%;
    margin-right: 0;
  }
  .station_staff_section .staff_text_area {
    width: 100%;
    margin-top: 24px;
  }
  .station_staff_section .staff_text {
    line-height: 1.75;
  }
  .station_staff_section .staff_name_flex {
    gap: 8px 12px;
    margin-top: 24px;
  }
  .station_staff_section .staff_job {
    font-size: 15px;
    line-height: 1.67;
    padding-top: 2px;
  }
  .station_staff_section .staff_name {
    font-size: 24px;
  }
  .station_other_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .station_other_section .other_list {
    margin-top: 40px;
    display: flex;
    flex-direction: column;
    gap: 24px 0;
  }
  .station_other_section .other_list li {
    width: 100%;
  }
  .station_other_section .other_card {
    min-height: 80px;
    padding: 12px 40px 12px 24px;
    font-size: 18px;
  }
  .station_other_section .other_card::after {
    width: 10px;
    height: 18px;
    right: 24px;
  }
  /*
  ------------------------------------
  お問い合わせ共通
  ------------------------------------
  */
  .contact_section01 {
    padding-top: 60px;
  }
  .contact_section01 .sec_head {
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
  }
  .contact_section01 .contact_text01 {
    line-height: 1.75;
    margin-top: 16px;
  }
  .contact_section01 .contact_remark_box {
    margin: 32px auto 0;
    padding: 24px 12px;
  }
  .contact_section01 .contact_remark_box li {
    line-height: 1.6;
  }
  .contact_section01 .contact_text02 {
    line-height: 1.55;
    text-align: center;
    margin: 36px 0 0;
    color: #c20e1d;
    font-size: 20px;
    font-weight: bold;
  }
  .contact_form_section {
    padding-top: 40px;
  }
  .contact_form_section .common_form_area {
    max-width: 1000px;
  }
  .common_form_area .form_line {
    display: flex;
    flex-direction: column;
  }
  .common_form_area .form_left {
    flex-shrink: 0;
    min-width: 100%;
    padding: 16px 24px;
  }
  .common_form_area .form_left label {
    justify-content: space-between;
    padding-top: 0;
    padding-bottom: 0;
  }
  .common_form_area .form_left label::after {
    font-size: 13px;
    height: 26px;
    width: 44px;
    border-radius: 5px;
    margin-left: 6px;
  }
  .common_form_area .form_right {
    width: 100%;
    padding: 24px 0;
  }
  .common_form_area .form_right input[type=text], .common_form_area .form_right input[type=tel], .common_form_area .form_right input[type=email] {
    height: 40px;
  }
  .common_form_area .form_right select {
    height: 40px;
  }
  .common_form_area .form_right textarea {
    padding: 16px;
    height: 200px;
  }
  .common_form_area .form_right .select_frame {
    width: 300px;
    max-width: 100%;
  }
  .common_form_area .form_right .tel_frame {
    width: 100%;
  }
  .common_form_area .radio_area {
    padding-top: 0;
  }
  .common_form_area .radio_area .wpcf7-form-control-wrap .wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 16px 24px;
  }
  .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: 0;
  }
  .common_form_area .privacy_box {
    margin-top: 40px;
    height: 200px;
    padding: 16px;
  }
  .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 .title_02 {
    font-size: 16px;
    border-left: 2px solid #034e95;
    padding-left: 15px;
    margin-bottom: 10px;
  }
  .common_form_area .agree_box {
    margin-top: 32px;
    padding: 24px 0;
  }
  .common_form_area .submit_frame {
    max-width: 100%;
    margin: 32px auto 0;
  }
  .common_form_area .submit_frame .submit {
    height: 80px;
    border: 2px solid #034e95;
    font-size: 20px;
  }
  .contact_tel_section {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .contact_tel_section .tel_block {
    width: 100%;
    max-width: 400px;
  }
  .contact_tel_section .tel_head {
    font-size: 18px;
    min-height: 60px;
    padding: 8px 4px;
  }
  .contact_tel_section .tel_body {
    padding: 64px 12px 40px;
  }
  .contact_tel_section .tel_num {
    font-size: 36px;
  }
  .contact_tel_section .tel_num::before {
    width: 30px;
    height: 30px;
    margin-right: 10px;
  }
  .contact_tel_section .tel_time {
    margin-top: 16px;
    font-size: 15px;
  }
  .contact_tel_section .tel_num .ruby {
    font-size: 14px;
    top: -16px;
  }
  /*
  ------------------------------------
  完了画面
  ------------------------------------
  */
  .contact_finish_section01 {
    padding-bottom: 120px;
  }
  .contact_finish_section01 .top_link {
    height: 80px;
    border: 2px solid #034e95;
    font-size: 20px;
    margin: 32px auto 0;
  }
  /*
  ------------------------------------
  ご利用者様専用フォーム
  ------------------------------------
  */
  .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: 80px;
    padding-bottom: 100px;
  }
  .diary_section01 .selected_name {
    font-size: 20px;
    margin-bottom: 24px;
  }
  .diary_section01 .diary_list {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column;
    gap: 50px 0;
  }
  .diary_section01 .diary_block {
    width: 100%;
  }
  .diary_section01 .diary_card .diary_body {
    padding-top: 16px;
  }
  .diary_section01 .diary_card .diary_category {
    min-width: 70px;
    min-height: 22px;
    padding: 2px 8px;
  }
  .diary_section01 .diary_card .diary_title {
    margin-top: 16px;
    line-height: 1.63;
    padding-bottom: 6px;
  }
  .diary_section01 .diary_card .diary_visor_area {
    margin-top: 30px;
  }
  .diary_section01 .diary_card .diary_visor_pic {
    flex-shrink: 0;
    margin-right: 15px;
    width: 56px;
  }
  .diary_section01 .diary_card .diary_visor_job {
    font-size: 14px;
  }
  .diary_section01 .diary_card .diary_visor_name {
    margin-top: 4px;
    font-size: 20px;
  }
  .diary_section01 .common_pagination {
    margin-top: 96px;
  }
  /*ページネーション*/
  .common_pagination {
    gap: 12px;
  }
  .common_pagination span.current {
    /*現在のページボタン*/
    min-width: 34px;
    height: 40px;
    padding: 0 4px;
  }
  .common_pagination a.page-numbers {
    /*指定のページ移動ボタン*/
    min-width: 34px;
    height: 40px;
    padding: 0 4px;
    transition-duration: 0.4s;
  }
  /*
  ------------------------------------
  セノーテ日記 詳細
  ------------------------------------
  */
  .single_diary_mv_section .mv {
    background-image: url("../img/diary/diary_mv.jpg");
  }
  .single_diary_section01 {
    padding-top: 80px;
    padding-bottom: 100px;
  }
  .single_diary_section01 .flex {
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  .single_diary_section01 .diary_article {
    width: 100%;
  }
  .single_diary_section01 .diary_title {
    font-size: 26px;
    line-height: 1.5;
    padding-bottom: 12px;
  }
  .single_diary_section01 .diary_info_flex {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
  }
  .single_diary_section01 .diary_date {
    line-height: 1;
  }
  .single_diary_section01 .diary_category {
    min-width: 70px;
    min-height: 22px;
    padding: 2px 8px;
    font-size: 14px;
    line-height: 1.3;
  }
  .single_diary_section01 .common_single_block {
    margin-top: 40px;
  }
  .single_diary_section01 .side_column {
    width: 320px;
    flex-shrink: 0;
    margin-left: 0;
    margin-top: 56px;
  }
  .single_diary_section01 .visor_box {
    padding: 32px 12px;
  }
  .single_diary_section01 .visor_head {
    font-size: 20px;
    line-height: 1;
  }
  .single_diary_section01 .visor_pic {
    width: 180px;
    margin: 20px auto 0;
  }
  .single_diary_section01 .visor_station {
    margin-top: 12px;
    line-height: 1.63;
  }
  .single_diary_section01 .visor_job {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.63;
  }
  .single_diary_section01 .visor_name {
    font-size: 24px;
    line-height: 1.08;
    margin-top: 2px;
  }
  .single_diary_section01 .category_area {
    margin-top: 56px;
  }
  .single_diary_section01 .category_head {
    font-size: 20px;
    line-height: 1.2;
    padding-bottom: 12px;
  }
  .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 {
    width: 8px;
    height: 13px;
    margin-top: 4px;
  }
  .single_diary_section01 .link_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px 0;
    margin-top: 96px;
  }
  .single_diary_section01 .link_flex .link_archive {
    width: 100%;
    height: 70px;
    font-size: 18px;
    order: 2;
  }
  .single_diary_section01 .link_flex .link {
    width: 48%;
  }
  .single_diary_section01 .link_flex .link a {
    width: 100%;
    height: 70px;
    font-size: 18px;
  }
  .single_diary_section01 .link_flex .link a::after {
    width: 10px;
    height: 18px;
  }
  .single_diary_section01 .link_flex .link_prev a {
    padding-left: 24px;
  }
  .single_diary_section01 .link_flex .link_prev a::after {
    background-image: url("../img/common/page_prev_blue.png");
    left: 16px;
  }
  .single_diary_section01 .link_flex .link_next a {
    padding-right: 24px;
  }
  .single_diary_section01 .link_flex .link_next a::after {
    background-image: url("../img/common/page_next_blue.png");
    right: 16px;
  }
  .common_single_block {
    font-size: 16px;
    line-height: 1.75;
  }
  .common_single_block .wp-block-image {
    margin-top: 48px;
  }
  .common_single_block h2 {
    font-size: 20px;
    line-height: 1.5;
    margin-top: 32px;
  }
  .common_single_block h3 {
    font-size: 18px;
    margin-top: 24px;
    line-height: 1.5;
  }
  .common_single_block p {
    margin-top: 24px;
  }
  /*
  ------------------------------------
  新着情報一覧
  ------------------------------------
  */
  .info_section01 {
    padding-top: 80px;
    padding-bottom: 100px;
  }
  .info_section01 .info_list .info_block {
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .info_section01 .info_list .info_date {
    min-width: 170px;
    padding-right: 0;
  }
  .info_section01 .info_list .info_title {
    transform: translateY(0);
    margin-top: 8px;
  }
  /*
  ------------------------------------
  新着情報 詳細
  ------------------------------------
  */
  .single_info_section01 {
    padding-top: 80px;
    padding-bottom: 100px;
  }
  .single_info_section01 .info_title {
    font-size: 26px;
    line-height: 1.5;
    padding-bottom: 12px;
  }
  .single_info_section01 .info_date {
    line-height: 1.63;
    margin-top: 24px;
  }
  .single_info_section01 .common_single_block {
    margin-top: 40px;
  }
  .single_info_section01 .link_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px 0;
    margin-top: 96px;
  }
  .single_info_section01 .link_flex .link_archive {
    width: 100%;
    height: 70px;
    font-size: 18px;
    order: 2;
  }
  .single_info_section01 .link_flex .link {
    width: 48%;
  }
  .single_info_section01 .link_flex .link a {
    width: 100%;
    height: 70px;
    font-size: 18px;
  }
  .single_info_section01 .link_flex .link a::after {
    width: 10px;
    height: 18px;
  }
  .single_info_section01 .link_flex .link_prev a {
    padding-left: 24px;
  }
  .single_info_section01 .link_flex .link_prev a::after {
    background-image: url("../img/common/page_prev_blue.png");
    left: 16px;
  }
  .single_info_section01 .link_flex .link_next a {
    padding-right: 24px;
  }
  .single_info_section01 .link_flex .link_next a::after {
    background-image: url("../img/common/page_next_blue.png");
    right: 16px;
  }
  /*
  ------------------------------------
  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: 20px;
    font-weight: 700;
  }
  .privacy_section .privacy_dl .privacy_dd {
    margin-top: 15px;
  }
  .privacy_section .privacy_dl .privacy_dd .privacy_dd_text {
    font-size: 16px;
    line-height: 2;
  }
  /*
  ------------------------------------
  404
  ------------------------------------
  */
  .page404_section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .page404_section .p01 {
    font-size: 32px;
  }
  .page404_section .p02 {
    line-height: 1.75;
    margin-top: 32px;
    font-size: 16px;
  }
}
/*@media screen and (max-width:767px){*//*# sourceMappingURL=style-sp.css.map */