@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;
  text-size-adjust: none;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
}

img{
  display: block;
  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_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: 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');
}

@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');
  }
}

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%);
}


@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){*/

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;
}

@media(any-hover:hover){
  header .header_line02 a:hover{
    opacity: 0.6;
  }
}


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;

}

/*
------------------------------------
フッター
------------------------------------
*/

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%);
  
}

@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_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;
}

/*
------------------------------------
在籍スタッフのセクション
------------------------------------
*/

.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;
}
/*
------------------------------------
トップページ
------------------------------------
*/

body.top_body{
  
}

main.top_main{

}

.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%;
  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){

}

.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);
}

@media(any-hover:hover){
  .top_policy_section .button_flex .button:hover::before{
    width: 100%;
  }
}

.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;
}

.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%;
}

@media screen and (min-width:1921px){
  .top_diary_section .back_title{
    left:auto;
    right:calc(50% + 48px);
  }
}/*@media screen and (min-width:1921px){*/

.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%;
  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%;
  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;
}

.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);
}

@media(any-hover:hover){
  .top_link_section .link_button:hover::before{
    filter: blur(0);
  }
}

.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%;
}

/*
------------------------------------
下層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;

}


/*
------------------------------------
対応症例について 一覧
------------------------------------
*/

body.case_body{
  
}
main.case_main{

}

.case_mv_section .mv{
  background-image: url('../img/case/case_mv.jpg');
}

.case_section{

}


.case_about_section{
  padding: 130px 0 100px;
  
}

.case_about_section .flex{
  display: flex;
  align-items: flex-start;
  margin-left: -30px;
}


@media screen and (max-width:1400px){
  .case_about_section .flex{
    margin-left:0;
  }
}


.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%;
}

.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: 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;
  }
}


/*
------------------------------------
対応症例について 詳細
------------------------------------
*/


body.single_case_body{
  
}
main.single_case_main{

}

.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: 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%;
  object-fit: cover;
  z-index: -1;
  top:0;
  left:0;
  background-image: url('../img/single_case/support_banner.jpg');
}

/*
------------------------------------
医療関係者の皆様へ
------------------------------------
*/

body.medical_body{
  
}
main.medical_main{

}

.medical_mv_section .mv{
  background-image: url('../img/medical/medical_mv.jpg');
}

.medical_section{

}

.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;
}
@media(any-hover:hover){
  .medical_area_section .area_block a:hover{
    opacity: 0.5;
  }
}


.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: 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;
  
}

.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%;
  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株式会社について
------------------------------------
*/

body.company_body{
  
}
main.company_main{

}

.company_mv_section .mv{
  background-image: url('../img/company/company_mv.jpg');
}

.company_section{

}

.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: 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;
}

/*
------------------------------------
精神科訪問看護とは
------------------------------------
*/

body.psychiatric_body{
  
}
main.psychiatric_main{

}

.psychiatric_mv_section .mv{
  background-image: url('../img/psychiatric/psychiatric_mv.jpg');
}

.psychiatric_section{

}

.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_item01{
  width: 468px;
}
.psychiatric_service_section .service_item02{
  width: 402px;
}
.psychiatric_service_section .service_item03{
  width: 306px;
} */


.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_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');
}

/*
------------------------------------
訪問リハビリ
------------------------------------
*/

body.rehabilitation_body{
  
}
main.rehabilitation_main{

}

.rehabilitation_mv_section .mv{
  background-image: url('../img/rehabilitation/rehabilitation_mv.jpg');
}

.rehabilitation_section{

}

.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: 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){

}
.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;
}

/*
------------------------------------
よくある質問
------------------------------------
*/

body.faq_body{
  
}
main.faq_main{

}

.faq_mv_section .mv{
  background-image: url('../img/faq/faq_mv.jpg');
}

.faq_section{

}

.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;
}

/*
------------------------------------
サポート事例
------------------------------------
*/

body.support_case_body{
  
}
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%;
  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%;
}

/*
------------------------------------
初めての方へ
------------------------------------
*/

body.first_body{
  
}
main.first_main{

}

.first_mv_section .mv{
  background-image: url('../img/first/first_mv.jpg');
}

.first_section{

}

.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:calc(960px - 360px);
}
.first_section01 .image_list .first04{
  width:238px;
  top:-38px;
  left:calc(1270px - 360px);
}
.first_section01 .image_list .first05{
  width:201px;
  top:327px;
  left:calc(468px - 360px);
}
.first_section01 .image_list .first06{
  width:256px;
  top:199px;
  left:calc(712px - 360px);
}
.first_section01 .image_list .first07{
  width:196px;
  top:272px;
  left:calc(1042px - 360px);
}
.first_section01 .image_list .first08{
  width:210px;
  top:236px;
  left:calc(1297px - 360px);
}


.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: 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%;
  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;
}

@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');
  }
}


.first_link_section .link_block:nth-child(odd){

}
.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;
}

/*
------------------------------------
ご家族の皆様へ
------------------------------------
*/

body.family_body{
  
}
main.family_main{

}

.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%;
  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');
}
/*
------------------------------------
ご利用の流れと料金
------------------------------------
*/

body.flow_body{
  
}
main.flow_main{

}

.flow_mv_section .mv{
  background-image: url('../img/flow/flow_mv.jpg');
}

.flow_section{

}

.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;
}

@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_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{
  content:none;
}
.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%;
  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;
}


.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%;
  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;
}

/*
------------------------------------
地域に密着したセノーテ訪問看護
------------------------------------
*/

body.community_body{
  
}
main.community_main{

}

.community_mv_section .mv{
  background-image: url('../img/community/community_mv.jpg');
}

.community_section{

}

.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%;
  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: 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%;
  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;
}

/*
------------------------------------
充実の看護体制
------------------------------------
*/

body.system_body{
  
}
main.system_main{

}

.system_mv_section .mv{
  background-image: url('../img/system/system_mv.jpg');
}

.system_section{

}

.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%;
  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%;
  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;
}

/*
------------------------------------
訪問スタッフについて
------------------------------------
*/

body.staff_body{
  
}
main.staff_main{

}

.staff_mv_section .mv{
  background-image: url('../img/staff/staff_mv.jpg');
}

.staff_section{

}

.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%;
  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;
}


/*
------------------------------------
サポートエリア一覧
------------------------------------
*/

body.area_body{
  
}
main.area_main{

}

.area_mv_section .mv{
  background-image: url('../img/area/area_mv.jpg');
}

.area_section{

}

.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;
}
@media(any-hover:hover){
  .area_section01 .map_frame a:hover{
    opacity: 0.5;
  }
}


.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);
}


.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');
  }
}


/*
------------------------------------
サポートエリア 
------------------------------------
*/

body.area_list_body{
  
}
main.area_list_main{

}

.area_list_section{

}

.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-track{
  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;
}

@media(any-hover:hover){
  .area_list_info_section .info_list .info_block:hover{
    opacity: 0.5;
  }
}

.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;
}

@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{

}

.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%;
  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');
  }
}

/*
------------------------------------
サポートエリア 福岡
------------------------------------
*/

body.area_list_fukuoka_body{
  
}
main.area_list_fukuoka_main{

}
.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;
}

/*
------------------------------------
サポートエリア 沖縄
------------------------------------
*/

body.area_list_okinawa_body{
  
}
main.area_list_okinawa_main{

}
.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;
}

/*
------------------------------------
サポートエリア 山口
------------------------------------
*/

body.area_list_yamaguchi_body{
  
}
main.area_list_yamaguchi_main{

}
.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;
}

/*
------------------------------------
サポートエリア 広島
------------------------------------
*/

body.area_list_hiroshima_body{
  
}
main.area_list_hiroshima_main{

}
.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;
}

/*
------------------------------------
サポートエリア 愛知
------------------------------------
*/

body.area_list_aichi_body{
  
}
main.area_list_aichi_main{

}

.area_list_aichi_mv_section .mv{
  background-image: url('../img/area/aichi/aichi_mv.jpg');
}

.area_list_aichi_map_section .map_frame{
  width: 100%;
}

/*
------------------------------------
サポートエリア 愛媛
------------------------------------
*/

body.area_list_ehime_body{
  
}
main.area_list_ehime_main{

}

.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;
}

/*
------------------------------------
サポートエリア 神奈川
------------------------------------
*/

body.area_list_kanagawa_body{
  
}
main.area_list_kanagawa_main{

}
.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;
}



/*
------------------------------------
ステーション
------------------------------------
*/

body.station_body{
  
}
main.station_main{

}

.station_section{

}

.station_section:last-child{
  padding-bottom: 100px;
}

.station_section01{

}

.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%;
  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: 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%;
  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");
  }
}

/*
------------------------------------
お問い合わせ共通
------------------------------------
*/

body.contact_body{
  
}
main.contact_main{

}


.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: 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_form_section{
  padding-top: 80px;
} 


.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: 10px;
}

.common_form_area .privacy_box p {
  font-size: 15px;
  line-height: 2.0;
  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: 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: 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;
  }
}

/*
------------------------------------
ご利用者様専用フォーム
------------------------------------
*/

body.contact_exist_body{
  
}
main.contact_exist_main{

}

.contact_exist_mv_section .mv{
  background-image: url('../img/contact/contact_exist_mv.jpg');
}

/*
------------------------------------
新規顧客用フォーム
------------------------------------
*/

body.contact_new_body{
  
}
main.contact_new_main{

}

.contact_new_mv_section .mv{
  background-image: url('../img/contact/contact_new_mv.jpg');
}


/*
------------------------------------
セノーテ日記
------------------------------------
*/

body.diary_body{
  
}
main.diary_main{

}

.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%;
  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%;
  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: 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,
.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');
  }
}

/*
------------------------------------
セノーテ日記 詳細
------------------------------------
*/

body.single_diary_body{
  
}
main.single_diary_main{

}

.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%;
  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;
}
@media(any-hover:hover){
  .single_diary_section01 .link_flex a:hover{
    opacity: 0.5;
  }
}

.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;
}

.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;
}


/*
------------------------------------
新着情報一覧
------------------------------------
*/

body.info_body{
  
}
main.info_main{

}

.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;
}

@media(any-hover:hover){
  .info_section01 .info_list .info_block:hover .info_title{
    color:#134b8d;
    text-decoration: underline;
  }
}

.info_section01 .common_pagination{
  margin-top: 56px;
}


/*
------------------------------------
新着情報 詳細
------------------------------------
*/

.single_info_section01{
  padding-top: 100px;
  padding-bottom: 120px;
}

.single_info_section01 .info_article{

}

.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;
}
@media(any-hover:hover){
  .single_info_section01 .link_flex a:hover{
    opacity: 0.5;
  }
}

.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;
}


/*
------------------------------------
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
------------------------------------
*/

body.page404_body{
  
}
main.page404_main{

}

.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;
}