@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');

@font-face {
  font-family: 'bananaslip plus';
  src: url('../font/bananaslipplus.otf') format('opentype');
}

.first_hide{
  display: none!important;
}

*{
  margin:0;
  padding:0;
  list-style: none;
  box-sizing: border-box;
  text-decoration: none;
  background-size: cover;
  background-position: center;
}

*::before,
*::after{
  background-size: cover;
  background-position: center;
  box-sizing: border-box;
  font-family: 'Zen Kaku Gothic New', sans-serif;
}

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

body{
  color:#222;
  font-size: 16px;
  font-weight: 500;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  -webkit-font-smoothing: antialiased;
  -ms-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  position: relative;
}

body::before{
  content:"";
  width:100%;
  height:100%;
  background-color: #3EB9DA;
  position: fixed;
  top:0;
  left:0;
  z-index:-10;
}

body.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

main{
  overflow: hidden;
}

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


/*
----------------------------------------------------
共通パーツ
----------------------------------------------------
*/

.container{
  width:940px;
  max-width: 100%;
  margin:0 auto;
}


.common_hover_opa{
  transition: 0.4s;
}

.common_hover_opa:hover{
  opacity: 0.7;
}

/*
----------------------------------------------------
アニメーション
----------------------------------------------------
*/

.anime_fade_show{
  opacity:0;
  transform:translateY(50px);
}

.animation_active .anime_fade_show,
.anime_fade_show.animation_active{
  opacity:1;
  transition-duration: 1s;
  transform:translateY(0);
}


/*
----------------------------------------------------
共通パーツ　ページネーション
----------------------------------------------------
*/

.common_pagenation{
  display: flex;
  justify-content: center;
  align-items: center;
  color:#fff;
}

.common_pagenation span.current{/*現在のページボタン*/
  min-width: 20px;
  height: 25px;
  padding:0 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  border:1px solid #fff;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #3EB9DA;
  background-color: #fff;
  margin:0 4px;
}

.common_pagenation a.page-numbers{/*指定のページ移動ボタン*/
  min-width: 20px;
  height: 25px;
  padding:0 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  border:1px solid #fff;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
  margin:0 4px;
}

.common_pagenation a.page-numbers.next,
.common_pagenation a.page-numbers.prev{/*next prevボタン*/
  display: none;
}

@media(min-width:1025px){
  .common_pagenation a.page-numbers:hover{
    color: #3EB9DA;
    background-color: #fff;
  }
}


.common_movie_popup{
  position: fixed;
  z-index: 1000;
  top:0;
  left:0;
  width:100%;
  height:100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0,0,0,0.6);
  transition-duration: 0.7s;
  opacity: 0;
  pointer-events: none;
}

.common_movie_popup.show{
  opacity: 1;
  pointer-events: auto;
}

.common_movie_popup .movie_frame{
  width:700px;
  max-width: 85%;
  aspect-ratio:1/0.5625 ;
  position: relative;
}

.common_movie_popup .movie_frame video{
  display: block;
  width:100%;
  height:100%;
  
  object-fit: contain;
}

.common_movie_popup .movie_close{
  cursor: pointer;
  color:#fff;
  position: absolute;
  bottom:calc(100% + 6px);
  left:calc(100% + 6px);
}

.common_movie_popup .movie_close img{
  width:24px;
}
/*
----------------------------------------------------
共通セクション　ヘッダー
----------------------------------------------------
*/

.header{
  position: fixed;
  width:100%;
  top:0;
  left:0;
  z-index:100;
  pointer-events: none;
}


.header.common_header{
  
}

.header.top_header{
  position: absolute;
  width:100%;
  top:0;
  left:0;
  z-index:100;
}


.header .header_flex{
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header .header_left{
  padding-left: 32px;
}

.header .header_logo{
  display: block;
  pointer-events: auto;
}

.header .header_logo img{
  width:285px;
}

.header .header_right{
  display: flex;
  align-items: center;
}

.header .header_nav{
  padding:0 40px;
  border-radius: 100px;
  margin-right: 64px;
  pointer-events: auto;
  transition-duration: 0.4s;
}

.header .header_nav.vanish{
  opacity: 0;
  pointer-events: none;
}

.header .header_nav.vanish.active{
  opacity: 1;
  pointer-events: auto;
}


.header .parent_list{
  display: flex;
  align-items: center;
}

.header .parent_item{
  
  margin-right: 40px;
}

.header .parent_item:last-child{
  margin-right: 0;
}

.header .parent_item.has_child{
  position: relative;
  pointer-events: auto;
  cursor: default;
}

.header .parent_link{
  font-weight: bold;
  font-size: 17px;
  line-height:1;
  color: #fff;
  transition-duration: 0.4s;
}

.header .parent_item.has_child .parent_link{
  display: flex;
  align-items: center;
}

.header .parent_item.has_child .parent_link::after{
  content:"";
  width:4px;
  height:7px;
  background-image: url('../img/common/angle_right_white.svg');
  margin-left: 10px;
}

.header .header_nav.active{
  background-color: #fff;
}

.header .header_nav.active .parent_item{
  padding:20px 0;
}

.header .header_nav.active .parent_link{
  color: #2dc4dd;
}

.header .header_nav.active .parent_item.has_child .parent_link::after{
  background-image: url('../img/common/angle_right_blue.svg');
}

.header .child_menu_frame{
  position: absolute;
  top:100%;
  left:-16px;
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.4s;
  padding-top: 20px;
}

.header .child_menu_frame.show{
  opacity: 1;
  pointer-events: auto;
}

.header .child_list{
  padding:20px 24px;
  background-color: #fff;
}

.header .child_item{
  margin-bottom: 20px;
}

.header .child_item:last-child{
  margin-bottom: 0;
}

.header .child_link{
  display: block;
  white-space: nowrap;
  
}

.header .child_link .child01{
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #2dc4dd;
}

.header .child_link .child01::after{
  content:"";
  width:4px;
  height:7px;
  background-image: url('../img/common/angle_right_blue.svg');
  margin-left: 10px;
  transition-duration: 0.4s;
}

@media(min-width:1025px){
  .header .child_link:hover .child01::after{
    transform: translateX(5px);
  }
}

.header .child_link .child02{
  font-weight: bold;
  font-size: 14px;
  line-height:1.5;
  margin-top: 8px;
  color: #576669;
  
}

.header .entry_link{
  pointer-events: auto;
  width: 180px;
  height: 95px;
  border-radius: 0px 0px 0px 29.25px;
  background: #fb7813;
  display: flex;
  flex-direction: column;
  align-items: center;
  color:#fff;
  font-weight: bold;
  line-height: 1;
  padding-top: 24px;
}

.header .entry_link .entry01{
  font-size: 24px;
}

.header .entry_link .entry02{
  font-size: 14px;
  margin-top: 6px;
}


@media(max-width:1200px){
  .header .header_nav{
    padding:0 24px;
    margin-right: 40px;
  }
  .header .parent_item{
    margin-right: 24px;
  }
  
  .header .parent_item:last-child{
    margin-right: 0;
  }
  
  .header .parent_link{
    font-weight: bold;
    font-size: 14px;
    line-height:1;
    color: #fff;
    transition-duration: 0.4s;
  }
}

/*
----------------------------------------------------
共通セクション　フッター
----------------------------------------------------
*/

footer{
  padding:64px 0 24px;
  background-color: #3EB9DA;
}

footer .footer_inner{
  max-width:1280px;
  padding:0 40px;
  margin:0 auto;
}

footer .footer_flex{
  display: flex;
  justify-content: space-between;
}

footer .footer_name a{
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  color: #fff;
}

footer .footer_adress{
  margin-top: 24px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1.3;
  color: #fff;
}

footer .tel_flex{
  margin-top: 12px;
  display: flex;
}

footer .tel_flex .tel{
  font-weight: bold;
  font-size: 14px;
  line-height: 1.3;
  color: #fff;
  pointer-events: none;
}

footer .tel_flex .fax{
  font-weight: bold;
  font-size: 14px;
  line-height: 1.3;
  color: #fff;
  margin-left: 32px;
}

footer .tel_flex .fax a{
  font-weight: bold;
  font-size: 14px;
  line-height: 1.3;
  color: #fff;
  pointer-events: none;
}

footer .footer_link_button{
  width: 240px;
  height: 32px;
  border-radius: 16px;
  border: 1px solid #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 17px;
  line-height:1;
  color: #fff;
  position: relative;
  transition-duration: 0.4s;
} 

footer .footer_link_button::before{
  content:"";
  width:3px;
  height:5px;
  background-image: url('../img/common/angle_right_white.svg');
  position: absolute;
  left:24px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

@media(min-width:1025px){
  footer .footer_link_button:hover{
    background-color: #fff;
    color: #3EB9DA;
  }
  footer .footer_link_button:hover::before{
    background-image: url('../img/common/angle_right_blue.svg');
  }
}


footer .footer_link_button01{
  padding-left: 12px;
}

footer .footer_link_button02{
  margin-top: 20px;
}

footer .footer_copy{
  display: flex;
  justify-content: center;
  margin-top: 96px;
  font-weight: bold;
  font-size: 11px;
  line-height: 1.4;
  color:#fff;
}

/*
----------------------------------------------------
共通セクション　ページ下部のお問い合わせや採用について
----------------------------------------------------
*/

.common_link_section{
  position: relative;
  padding:80px 0 88px;
}

.common_link_section::before{
  content:"";
  width:100%;
  height:100%;
  background-color: #F7F7EE;
  position: absolute;
  top:0;
  left:0;
  z-index:-5;
}

.common_link_section .flex{
  display: flex;
  justify-content: center;
  align-items: center;
}

.common_link_section .flex .border{
  width:1px;
  height:360px;
  background-color: #3EB9DA;
  margin:0 140px;
  flex-shrink: 0;
}

.common_link_section .link_title{
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 54px;
  line-height: 1;
  text-align: center;
}

.common_link_section .link_text_frame{
  margin-top: 16px;
  min-height: 80px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.common_link_section .link_text{
  
  font-weight: bold;
  font-size: 17px;
  line-height: 1.6;
  
}

.common_link_section .link_button{
  width: 360px;
  height: 96px;
  border-radius: 48px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin:32px auto 0;
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  color: #fff;
}

.common_link_section .contact_link_block .link_title{
  color: #3eb9da;
}
.common_link_section .contact_link_block .link_text span{
  color: #3eb9da;
}
.common_link_section .contact_link_block .link_button{
  background-color: #3eb9da;
}


.common_link_section .entry_link_block .link_title{
  color: #FB7813;
}
.common_link_section .entry_link_block .link_text span{
  color: #FB7813;
}
.common_link_section .entry_link_block .link_button{
  background-color: #FB7813;
}



/*
----------------------------------------------------
共通セクション　下層ページのmv部分
----------------------------------------------------
*/

.page_mv_section{
  position: relative;
  padding:210px 0 80px;
  min-height: 445px;
}

.page_mv_section .page_title{
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 48px;
  line-height: 1;
  text-align: center;
  color: #fff;
  position: relative;
  padding-bottom: 24px;
}

.page_mv_section .page_title::after{
  content:"";
  width:198px;
  border-bottom:5px dotted #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.page_mv_section .page_text{
  margin-top: 16px;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-align: center;
  color: #fff;
}

.page_mv_section .page_mv_item{
  position: absolute;
}

.page_mv_section .page_mv_item01{
  width:49px;
  top:174px;
  right:calc(50% + 473px);
}
.page_mv_section .page_mv_item02{
  width:67px;
  top:210px;
  right:calc(50% + 388px);
}
.page_mv_section .page_mv_item03{
  width:115px;
  top:372px;
  right:calc(50% + 560px);
}
.page_mv_section .page_mv_item04{
  width:129px;
  top:320px;
  right:calc(50% + 300px);
}
.page_mv_section .page_mv_item05{
  width:117px;
  top:363px;
  left:calc(50% + 317px);
}
.page_mv_section .page_mv_item06{
  width:125px;
  top:261px;
  left:calc(50% + 512px);
}
.page_mv_section .page_mv_item07{
  width:104px;
  top:386px;
  left:calc(50% + 578px);
}


/*
----------------------------------------------------
トップページ
----------------------------------------------------
*/

body.top_body{
  
}

body.top_body::before{
  content:none;
}

body.top_body .header{
  opacity: 0;
}


body.top_body .header.show{
  opacity: 1;
  transition-duration:2s;
  transition-delay:5.5s;
}

body.top_body .header.active{
  opacity: 1;
  transition-duration:0s;
  transition-delay:0s;
}



main.top_main{
  /* overflow: visible; */
}

.top_mv_section{
  position: relative;
}

.top_mv_section .mv_bg{
  height:100vh;
  height: calc(var(--vh2, 1vh) * 100);
  min-height:720px;
  background-image: url('../img/top/mv_bg.jpg');
  opacity: 0;
  transition-duration: 1.5s;
  transition-delay: 0.5s;
}

.top_mv_section .mv_human{
  /* width:400px; */
  height:34.4%;
  position: absolute;
  left:0;
  right:0;
  /* bottom:100px; */
  bottom:11.1%;
  margin:auto;
  opacity: 0;
  transition-duration: 1.5s;
  transition-delay: 1.5s;
}

.top_mv_section .title_set{
  position: absolute;
  bottom:54.4%;
  left:0;
  right:0;
  margin:auto;
  font-family: "bananaslip plus";
  color:#fff;
  text-align: center;
  opacity: 0;
  transition-duration:1.5s;
  transition-delay:2.5s;
}

.top_mv_section .mv_bg.show,
.top_mv_section .mv_human.show,
.top_mv_section .title_set.show,
.top_mv_section .mv_bg.active,
.top_mv_section .mv_human.active,
.top_mv_section .title_set.active{
  opacity: 1;
}


.top_mv_section .title_set p{
  font-size: 17px;
  line-height: 1;
}

.top_mv_section .title_set h2{
  font-size: 72px;
  line-height: 1.2;
  margin-top: 8px;
}

.top_section01{
  min-height:100vh;
  padding:40px 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.top_section01::before{
  content:"";
  width:100%;
  height:100%;
  background-image: url('../img/top/top_sec01_bg.jpg');
  position: absolute;
  top:0;
  left:0;
  z-index:-5;
}

.top_section01 .flex{
  display: flex;
  justify-content: space-between;
}

.top_section01 .img_area{
  width:50%;
  display: flex;
  justify-content: flex-end;
  padding-right: 24px;
}

.top_section01 .img_area img{
  width:585px;
  transition-delay: 0.3s;
}

.top_section01 .text_area{
  margin-top: -40px;
}

.top_section01 .sec_title{
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 32px;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fff;
  transition-delay: 0.7s;
}

.top_section01 .p01{
  margin-top: 24px;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #fff;
  transition-delay: 1.1s;
}

.top_section01 .deco{
  width:475px;
  position: absolute;
  z-index:-1;
  bottom:21.1%;
  left:calc(50% + 185px);
  transition-delay: 0.7s;
}

.top_section02{
  min-height:100vh;
  padding:40px 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.top_section02::before{
  content:"";
  width:100%;
  height:100%;
  background-image: url('../img/top/top_sec02_bg.jpg');
  background-position: bottom;
  position: absolute;
  top:0;
  left:0;
  z-index:-5;
}

.top_section02 .flex{
  display: flex;
  justify-content: space-between;
}

.top_section02 .flex .text_area{
  padding-top: 96px;
}

.top_section02 .sec_title{
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 32px;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fff;
  transition-delay: 0.7s;
}

.top_section02 .p01{
  margin-top: 24px;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #fff;
  transition-delay: 1.1s;
}

.top_section02 .img_area{

}

.top_section02 .img_area img{
  width:330px;
  transition-delay: 0.3s;
}

.top_section03{
  padding:240px 0 270px;
  position: relative;
  overflow: hidden;
}

.top_section03::before{
  content:"";
  width:100%;
  height:100%;
  background-color:#F7F7EE ;
  position: absolute;
  top:0;
  left:0;
  z-index:-10;
}

.top_section03 .flex{
  width:1140px;
  max-width:100%;
  padding:0 20px;
  display: flex;
  justify-content: flex-end;
  margin:0 auto;
}

.top_section03 .text_area{
  width:50%;
  min-width:500px;
}

.top_section03 .text_area .sec_title{
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 46px;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fb7813;
  transition-delay: 0.7s;
}

.top_section03 .text_area p{
  margin-top: 24px;
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #222;
  transition-delay: 1.1s;
  
}

@media (min-width: 1025px) {
  .top_section03 .text_area  {
    white-space: nowrap;
  }
}


.top_section03 .bg{
  width:1410px;
  position: absolute;
  z-index:-1;
  bottom:0;
  right:calc(50% - 610px);
  transition-delay: 0.3s;
}

.top_section04{
  padding:200px 0;
  position: relative;
  overflow: hidden;
}

.top_section04::before{
  content:"";
  width:100%;
  height:calc(100% + 10px);
  background-color:#F7F7EE ;
  position: absolute;
  bottom:0;
  left:0;
  z-index:-10;
}

.top_section04 .sec_title{
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 64px;
  letter-spacing: -0.05em;
  line-height: 1;
  text-align: center;
  color: #fb7813;
}

.swiper_interview_block{
  position: relative;
  margin-top: 96px;
  overflow: hidden;
}

.swiper_interview_block .swiper-slide{
  width:700px;
  padding:0 64px;
}

.swiper_interview_block .interview_card{
  display: block;
  position: relative;
  padding-bottom: 80px;
}


.swiper_interview_block .interview_card .thumb_frame{
  width:100%;
  height:347px;
  background-image: url('../img/interview/intervew_card_bg.png');
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding:30px;
}

.swiper_interview_block .interview_card .intervew_img{
  width:100%;
}

.swiper_interview_block .interview_card .text_set{
  width:100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.swiper_interview_block .interview_card .interview_card_num{
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 23px;
  letter-spacing: -0.05em;
  line-height: 1;
  color: #fb7813;
}

.swiper_interview_block .interview_card .interview_card_title{
  font-weight: bold;
  font-size: 30px;
  line-height: 1.2;
  color: #fff;
  min-width:245px;
  padding:2px 12px;
  margin-top: 12px;
  background-color:#fb7813;
  display: flex;
  justify-content: center;
}

.swiper_interview_block .interview_card .interview_card_text{
  margin-top: 12px;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.3;
  color: #000;
}

.swiper_interview_block .interview_card .human01,
.swiper_interview_block .interview_card .human02{
  position: absolute;
  bottom:-80px;
}

.swiper_interview_block .interview_card .human01{
  left:0;
}

.swiper_interview_block .interview_card .human02{
  right:0;
}

.swiper_interview_block .play_button{
  display: flex;
  justify-content: center;
  align-items: center;
  /* margin:78px auto 0; */
  margin: 0 auto;
  width: 230px;
  height: 56px;
  border-radius: 28px;
  background: #fb7813;
  position:relative;
  z-index: 10;
  padding-right: 16px;
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 26px;
  line-height: 1;
  color: #fff;
  padding-bottom: 6px;
  cursor: pointer;
} 

.swiper_interview_block .play_button::after{
  content:"";
  width:20px;
  height:20px;
  background-image: url('../img/common/radi_triangle_orange.svg');
  position: absolute;
  top:0;
  bottom:0;
  right:24px;
  margin:auto;
  transition-duration: 0.4s;
}

@media(min-width:1025px){
  .swiper_interview_block .play_button:hover::after{
    transform: translateX(5px);
  }
}

.swiper_interview_block .interview_card01 .human01{
  width:125px;
}
.swiper_interview_block .interview_card01 .human02{
  width:122px;
}

.swiper_interview_block .interview_card02 .human01{
  width:125px;
}
.swiper_interview_block .interview_card02 .human02{
  width:122px;
}

.swiper_interview_block .interview_card03 .human01{
  width:125px;
}
.swiper_interview_block .interview_card03 .human02{
  width:122px;
}

.swiper_interview_block .swiper_interview_button{
  width:56px;
  border-radius: 50%;
  cursor: pointer;
  top:150px;
  position: absolute;
  z-index: 10;
}

.swiper_interview_block .swiper_interview_prev{
  right:calc(50% + 320px);
}

.swiper_interview_block .swiper_interview_next{
  left:calc(50% + 320px);
}


.swiper_interview_block .swiper_interview_pagination{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 56px;
}

.swiper_interview_block .swiper_interview_pagination .swiper-pagination-bullet{
  width:16px;
  height:16px;
  margin:0 20px;
  border-radius: 50%;
  opacity:1;
  background:#B3B3B3;
  transition-duration: 0.4s;
  cursor: pointer;
}

.swiper_interview_block .swiper_interview_pagination .swiper-pagination-bullet-active{
  opacity:1;
  background-color: #93C072;
}

@media(min-width:1025px){
  .swiper_interview_block .swiper_interview_pagination .swiper-pagination-bullet:hover{
    opacity:1;
    background-color: #93C072;
  }
}

.top_section05{
  padding:80px 0;
  position: relative;
  min-height: 900px;
}



.top_section05 .sec_title{
  width: fit-content;
  margin:0 auto;
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 54px;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fb7813;
  padding:0 10px 20px;
  border-bottom:5px dotted #B3B3B3;
}

.top_section05 .flex{
  width:1140px;
  max-width: 100%;
  margin:40px auto 0;
  padding:0 20px;
  display: flex;
  justify-content: flex-end;
}


.top_section05 .map_block{
  position: absolute;
  width:600px;
  bottom:0;
  left:0;
  z-index: -1;
}

.top_section05 .map_block .map_inner{
  position: relative;
}

.top_section05 .map_block .facility_point{
  width:16px;
  height:16px;
  border-radius: 50%;
  transition-duration: 0.3s;
  position: absolute;
  display: block;
  background-color: #2EADB2;
  
}

.top_section05 .map_block .facility_point.active{
  transform: scale(2);
  background-color: #FB7813;
}

.top_section05 .map_block .facility_point[data_facility_point="orange"]{
  bottom:10.4%;
  left:41.7%;
}
.top_section05 .map_block .facility_point[data_facility_point="green"]{
  
  left:44.2%;
  bottom:37.8%;
}
.top_section05 .map_block .facility_point[data_facility_point="green02"]{
  left:36%;
  bottom:16%;
}

.top_section05 .map_block img{
  width:100%;
}

.top_section05 .facility_link{
  width: 230px;
  height: 56px;
  border-radius: 28px;
  background-color: #fb7813;
  display: flex;
  align-items: center;
  padding-left: 48px;
  margin:48px auto 0;
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 26px;
  line-height: 1;
  color: #fff;
  position: relative;
}

.top_section05 .facility_link::after{
  content:"";
  width:6px;
  height:10px;
  background-image: url("../img/common/angle_right_white.svg");
  position: absolute;
  right:32px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
}

@media(min-width:1025px){
  .top_section05 .facility_link:hover::after{
    transform: translateX(8px);
  }
}

.top_section05 .swiper_facility_block{
  position: relative;
  width:455px;
}

.top_section05 .swiper_facility_button{
  width:56px;
  border-radius: 50%;
  cursor: pointer;
  top:150px;
  position: absolute;
  z-index: 10;
  /* display: none; */
}

.top_section05 .swiper_facility_prev{
  left:-28px;
}

.top_section05 .swiper_facility_next{
  right:-28px;
}


.top_section05 .facility_slide{
/* .top_section05 .swiper-slide{ */
  width:455px;
  /* padding:0 10px; */
}

.top_section05 .swiper_facility_pagination{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 24px;
}

.top_section05 .swiper_facility_pagination .swiper-pagination-bullet,
.top_section05 .swiper_facility_pagination .facility_bullet{
  width:16px;
  height:16px;
  margin:0 20px;
  border-radius: 50%;
  opacity:1;
  background:#B3B3B3;
  transition-duration: 0.4s;
  cursor: pointer;
  
}

.top_section05 .swiper_facility_pagination .swiper-pagination-bullet-active,
.top_section05 .swiper_facility_pagination .facility_bullet.active{
  opacity:1;
  background-color: #93C072;
  pointer-events: none;
}

@media(min-width:1025px){
  .top_section05 .swiper_facility_pagination .swiper-pagination-bullet:hover,
  .top_section05 .swiper_facility_pagination .facility_bullet:hover{
    opacity:1;
    background-color: #93C072;
  }
}

.top_section05 .facility_frame{
  position: relative;
  min-height:480px;
}

.top_section05 .facility_card{
  position: absolute;
  top:0;
  left:0;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.7s;
}

.top_section05 .facility_card.show{
  pointer-events: auto;
  opacity: 1;
}

.top_section05 .facility_card .facility_name{
  display: flex;
  justify-content: center;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  color: #fb7813;
  white-space: nowrap;
}

.top_section05 .facility_card .facility_name span{
  flex-shrink: 0;
  margin-right: 12px;
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 17px;
  line-height: 1;
  color: #fb7813;
  margin-top: 10px;
}

.top_section05 .facility_card .facility_text{
  margin-top: 24px;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.7;
}

.top_section05 .facility_card .facility_thumb{
  margin-top: 16px;
  height:260px;
  border-radius: 36px;
  overflow: hidden;
}

.top_section05 .facility_card .facility_thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
}

.top_section05 .facility_card01 .facility_thumb img{
  object-position: 0 20%;
}

/*
----------------------------------------------------
施設紹介
----------------------------------------------------
*/

body.facility_body{
  
}

main.facility_main{

}

.facility_section01{
  padding:60px 0 100px;
}

.facility_section01 .facility_block{
  width:1040px;
  max-width:90%;
  margin:80px auto 0;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
}

.facility_section01 .facility_block:first-child{
  margin-top: 0;

}

.facility_section01 .facility_head{
  padding:72px 5% 56px 9%;
  min-height:470px;
}

.facility_section01 .facility_head .facility_head_flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.facility_section01 .facility_head .facility_left{
  width:50%;
  display: flex;
  /* justify-content: center;
  
  padding-right: 16px; */
}

.facility_section01 .facility_head .facility_left img{
  width:340px;
  border-radius: 22px;
}


.facility_section01 .facility_head .facility_right{
  width:50%;
}

.facility_section01 .facility_head .facility_name{
  font-weight: bold;
  font-size: 24px;
  line-height: 1.3;
  color: #fb7813;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.facility_section01 .facility_head .facility_name span{
  margin-right: 12px;
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 17px;
  line-height: 1.3;
  color: #fb7813;
}

.facility_section01 .facility_head .facility_adress{
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.3;
  margin-top:8px;
}

.facility_section01 .facility_head .tel_flex{
  display: flex;
  margin-top: 6px;
}

.facility_section01 .facility_head .tel_flex .tel{
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #222;
  pointer-events: none;
}

.facility_section01 .facility_head .tel_flex .fax{
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #222;
  margin-left: 36px;
}

.facility_section01 .facility_head .tel_flex .fax a{
  color: #222;
  pointer-events: none;
}

.facility_section01 .facility_head .google_map{
  margin-top: 12px;
  
}

.facility_section01 .facility_head .google_map a{
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #090909;
  display: flex;
  align-items: center;
  width:fit-content;
}

.facility_section01 .facility_head .google_map a::before{
  content:"";
  width:20px;
  height:20px;
  border-radius: 50%;
  background-image: url('../img/common/radi_angle_blue.svg');
  margin-right: 8px;
}

.facility_section01 .facility_head .facility_text{
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 64px;
}

.facility_section01 .facility_head .coming{
  font-weight: bold;
  font-size: 24px;
  line-height: 1;
  color: #fb7813;
  margin-top: 110px;
  padding-left: 100px;
}

.facility_section01 .facility_body{
  padding:0 9% 80px;
  display: none;
}

.facility_section01 .facility_body .outline_head{
  font-weight: bold;
  font-size: 17px;
  line-height: 1.3;
  color: #fb7813;

}

.facility_section01 .facility_body .outline_list{
  margin-top: 12px;

}

.facility_section01 .facility_body .outline_list li{
  display: flex;
  margin-top: 3px;
}


.facility_section01 .facility_body .outline_list .outline_left{
  min-width:80px;
  padding-right: 10px;
  flex-shrink: 0;
  font-weight: bold;
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2;
}

.facility_section01 .facility_body .outline_list .outline_right{
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 2;
}

.facility_section01 .facility_body .facility_img_list{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 56px;
}

.facility_section01 .facility_body .facility_img_list li{
  width:31.5%;
}

.facility_section01 .facility_body .facility_img_list li img{
  width:100%;
  border-radius: 22px;
}

.facility_section01 .facility_body .facility_img_list .js_img_pop_switch{
  pointer-events: none;
}

.facility_section01 .facility_switch{
  height:56px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #FB7813;
}

.facility_section01 .facility_switch p{
  position: relative;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #fff;
}

.facility_section01 .facility_switch p::after{
  content:"";
  width:10px;
  height:10px;
  background-image: url('../img/common/plus_white.svg');
  position: absolute;
  left:calc(100% + 24px);
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.facility_section01 .facility_switch.active p::after{
  width:10px;
  height:2px;
  background-image: url('../img/common/minus_white.svg');
}

.facility_section01 .js_facility_img_pop{
  position: fixed;
  width:100%;
  height:100vh;
  height: calc(var(--vh2, 1vh) * 100);
  background-color: rgba(0,0,0,0.6);
  z-index: 200;
  top:0;
  left:0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition-duration: 0.5s;
  opacity: 0;
  pointer-events: none;
}

.facility_section01 .js_facility_img_pop.show{
  pointer-events: auto;
  opacity: 1;
}

.facility_section01 .js_facility_img_pop img{
  width:700px;
  max-width:80%;
  max-height:80vh;

}


/*
----------------------------------------------------
働き方を知る
----------------------------------------------------
*/

body.job_body{
  
}

main.job_main{

}

.job_section .interview_head_set .en_title{
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 72px;
  letter-spacing: -0.05em;
  line-height: 1;
  color:#3EB9DA;
  -webkit-text-stroke: 1px #FFF;
  text-stroke: 1px #FFF;
}


.job_section .interview_head_set .ja_title{
  font-family: "bananaslip plus";
  font-weight: normal;
  font-size: 36px;
  letter-spacing: -0.05em;
  line-height: 1;
  color: #fff;
  text-align: left;
  margin-top: 12px;
}

.job_section01{
  padding:48px 0 100px;
}

.job_section01 .swiper_interview_area{
  width: 100vw;
  margin: 96px calc(50% - 50vw) 0;
}

.job_section01 .swiper_interview_block .swiper_interview_pagination .swiper-pagination-bullet{
  background:#fff;
}

.job_section01 .swiper_interview_block .swiper_interview_pagination .swiper-pagination-bullet-active{
  background-color: #FB7813;
}

@media(min-width:1025px){
  .job_section01 .swiper_interview_block .swiper_interview_pagination .swiper-pagination-bullet:hover{
    background-color: #FB7813;
  }
  
}

.job_section02{
  padding:100px 0 230px;
}

.job_section02 .interview_head_set .ja_title{
  margin-top: 20px;
}

.job_section02 .message_list{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.job_section02 .message_card{
  margin-top: 64px;
  position: relative;
  width:246px;
  height:332px;
  background-image: url('../img/job/message_card_bg.png');
  background-size:contain;
  background-position: top;
  background-repeat: no-repeat;
  border-radius: 24px;
  overflow: hidden;
  margin-right: 100px;
  cursor: zoom-in;
  transition-duration: 0.4s;
}

@media(min-width:1025px){
  .job_section02 .message_card:hover{
    opacity: 0.7;
  }

}

.job_section02 .message_card:nth-child(3n){
  margin-right: 0;
}

.job_section02 .message_card .message_human{
  width:100%;
}

.job_section02 .message_card .message_text_area{
  position: absolute;
  bottom:0;
  left:0;
  z-index:1;
  width:100%;
  height:140px;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  background-image: url('../img/job/message_card_text_bg.png');
  padding:32px 0 12px;
}

.job_section02 .message_card .message_text_up{
  width:140px;
}

.job_section02 .message_card .message_name{
  font-weight: 900;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  color: #fff;

}

.job_section02 .message_card .message_career{
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  color: #fff;
}

.job_section02 .message_card .message_text_down{
  width:100%;
  padding:0 4px;
}

.job_section02 .message_card .message_job{
  font-weight: 900;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  color: #fff;
}


main.job_main .message_pop{
  position: fixed;
  width:100%;
  height:100vh;
  height: calc(var(--vh2, 1vh) * 100);
  background-color: rgba(0,0,0,0.6);
  z-index: 200;
  top:0;
  left:0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition-duration: 0.5s;
  opacity: 0;
  pointer-events: none;

}

main.job_main .message_pop.show{
  opacity: 1;
  pointer-events: auto;
}

main.job_main .message_pop_frame{
  position: relative;
  
}

main.job_main .message_pop_frame .message_pop_close_icon{
  position: absolute;
  cursor: pointer;
  width:20px;
  top:-32px;
  right:-32px;
}

main.job_main .message_pop_inner{
  width:685px;
  height:950px;
  max-height:75vh;
  overflow-y: scroll;
}

main.job_main .message_pop_contents{
  position: relative;
  background-image: url('../img/job/message_pop_bg.png');
  background-position: top;
  /* background-size: contain; */
  padding-top: 260px;
}

main.job_main .message_pop_contents .message_human{
  position: absolute;
  width:246px;
  top:24px;
  left:32px;
  z-index: 1;
}

main.job_main .message_pop_contents .message_pop_head{
  position: absolute;
  height:260px;
  width:100%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  top:0;
  right:0;
  padding-top: 32px;
  padding-right: 56px;
  z-index: 2
}

main.job_main .message_pop_head_text{
  text-align: center;

}

main.job_main .message_pop_head_text span{
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: #fc7812;
  background-color: #fff;

  padding:0 16px;
}

main.job_main .message_pop_head_text span.no_padding{
  padding:0;
}

main.job_main .message_pop_body{
  padding:20px 0 48px;
  background-image: url('../img/job/message_pop_text_bg02.png');
  background-size: contain;
  background-position: top;
  background-repeat: no-repeat;
  position: relative;
  z-index: 3;
}

main.job_main .message_pop_body::before{
  content:"";
  width:100%;
  height:calc(100% - 180px);
  background-color:#FB7813 ;
  position: absolute;
  bottom:0;
  left:0;
  z-index:4;
}

main.job_main .message_pop_body .message_pop_info_area{
  width:300px;
  padding:0 12px;
  text-align: center;
  color:#fff;
  position: relative;
  z-index: 5;
}


main.job_main .message_pop_body .message_name{
  font-weight: 900;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  color: #fff;

}

main.job_main .message_pop_body .message_career{
  font-weight: 900;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  color: #fff;
}

main.job_main .message_pop_body .message_job{
  font-weight: 900;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  margin-top: 12px;
}

main.job_main .message_pop_body .message_pop_text_area{
  margin-top: 64px;
  padding:0 72px;
  position: relative;
  z-index: 5;
}

main.job_main .message_pop_body .message_pop_text_head{
  font-weight: 900;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.2;
  color: #fff;
}

main.job_main .message_pop_body .message_pop_text{
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
  color: #fff;
  margin-top: 16px;
}

main.job_main .message_pop_body .message_pop_text + .message_pop_text_head{
  margin-top: 48px;
}

main.job_main .message_pop_body .message_pop_close_button{
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 5;
  margin: 56px auto 0;
  width: 365px;
  height: 56px;
  border-radius: 28px;
  border: 1px solid #fff;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
  cursor: pointer;
}

main.job_main .message_pop_body .message_pop_close_button::after{
  content:"";
  width:9px;
  height:9px;
  background-image: url('../img/common/close_white.svg');
  position: absolute;
  right:40px;
  top:0;
  bottom:0;
  margin:auto;
  transition-duration: 0.4s;
  
}

@media(min-width:1025px){
  main.job_main .message_pop_body .message_pop_close_button:hover{
    background-color: #fff;
    color:#FB7813;
  }
  main.job_main .message_pop_body .message_pop_close_button:hover::after{
    background-image: url('../img/common/close_orange.svg');
  }
}

/*
----------------------------------------------------
鳴光荘
----------------------------------------------------
*/

body.meikousou_body{
  
}

main.meikousou_main{

}

.meikousou_section01{
  padding:80px 0 72px;
}

.meikousou_section01 .flex{
  max-width:1140px;
  padding:0 20px;
  margin:0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.meikousou_section01 .flex .thumb{
  width:50%;
}

.meikousou_section01 .flex .thumb img{
  width:100%;
}

.meikousou_section01 .flex .text_area{
  width:50%;
  padding-left: 72px;
  padding-left: 6.5%;
}

.meikousou_section01 .flex .text_area p{
  font-size: 20px;
  letter-spacing: 0.08em;
  line-height: 1.75;
  color: #fff;
}

.meikousou_section01 .flex .text_area p+p{
  margin-top: 32px;
}

.meikousou_section02{
  padding:72px 0 930px;
  position: relative;
  overflow: hidden;
}

.meikousou_section02 .main_head{
  display: flex;
  justify-content: center;
}

.meikousou_section02 .main_head img{
  width:645px;
}


.meikousou_section02 .about_frame{
  position: relative;
}

.meikousou_section02 .sub_head{
  position: absolute;
}

.meikousou_section02 .sub_head img{
  width:100%;
}

.meikousou_section02 .about_block{
  background-color: #FC7812;
  min-width:calc(50% + 108px);
  height:452px;
  display: flex;
  align-items: center;
  padding-right: 40px;
}

.meikousou_section02 .about_block .about_contents{
  height:100%;
  position: relative;
  display: flex;
  align-items: center;
}

.meikousou_section02 .about_block .about_head_text{
  font-size: 22px;
  letter-spacing: 0.08em;
  line-height: 1.6;
  color: #fff;
}

.meikousou_section02 .about_block .about_text{
  margin-top: 40px;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 1.8;
  color: #fff;
}



.meikousou_section02 .about_frame01{
  margin-top: 190px;
  display: flex;
  justify-content: flex-end;
}

.meikousou_section02 .about_frame01 .sub_head01{
  position: absolute;
  width:615px;
  top:-190px;
  right:calc(50% + 40px);
}


.meikousou_section02 .about_frame01 .about_block01{
  padding-left: 256px;
}

.meikousou_section02 .about_frame01 .about_block01 .meikousou_human01{
  width:130px;
  position: absolute;
  left:-208px;
  bottom:-56px;
}

.meikousou_section02 .about_frame01 .icon01{
  position: absolute;
  width:175px;
  top:80px;
  right:calc(50% + 295px);
}

.meikousou_section02 .about_frame01 .icon02{
  position: absolute;
  width:127px;
  top:300px;
  right:calc(50% + 440px);
}


.meikousou_section02 .about_frame02{
  margin-top: 190px;
  display: flex;
}

.meikousou_section02 .about_frame02 .about_block02{
  padding-right: 72px;
  padding-left: 210px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.meikousou_section02 .about_frame02 .sub_head02{
  position: absolute;
  width:637px;
  top:-160px;
  left:calc(50% - 120px);
}


.meikousou_section02 .about_frame02 .about_block02 .meikousou_human02{
  width:146px;
  position: absolute;
  left:-196px;
  bottom:-36px;
}

.meikousou_section02 .about_frame02 .icon01{
  position: absolute;
  width:100px;
  top:238px;
  left:calc(50% + 300px);
}

.meikousou_section02 .about_frame02 .icon02{
  position: absolute;
  width:218px;
  top:372px;
  left:calc(50% + 60px);
}


.meikousou_section02 .about_frame03{
  margin-top: 240px;
  display: flex;
  justify-content: flex-end;
}

.meikousou_section02 .about_frame03 .about_block03{
  padding-left: 256px;
}

.meikousou_section02 .about_frame03 .sub_head03{
  position: absolute;
  width:615px;
  top:-180px;
  right:calc(50% + 36px);
}


.meikousou_section02 .about_frame03 .about_block03 .meikousou_human03{
  width:160px;
  position: absolute;
  left:-230px;
  bottom:-36px;
}

.meikousou_section02 .about_frame03 .icon01{
  position: absolute;
  width:174px;
  bottom:-273px;
  left:calc(50% - 35px);
}

.meikousou_section02 .about_frame03 .icon02{
  position: absolute;
  width:90px;
  bottom:-100px;
  right:calc(50% + 230px);
}

.meikousou_section02 .about_frame03 .icon03{
  position: absolute;
  width:148px;
  bottom:-380px;
  right:calc(50% + 56px);
}

.meikousou_section02 .meikousou_welcome{
  width:495px;
  position: absolute;
  bottom:-245px;
  left:0;
  right:0;
  margin:auto;
}

.meikousou_section02 .meikousou_wave01{
  position: absolute;
  top:-115px;
  right:calc(50% - 165px);
  z-index:-1;
  width:2207px;
}

.meikousou_section02 .meikousou_wave02{
  position: absolute;
  top: 1028px;
  left: calc(50% - 472px);
  z-index: -1;
  width: 2207px;
}

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

body.faq_body{
  
}

main.faq_main{

}

.faq_section{
  padding:64px 0 0;
}

.faq_section .faq_container{
  max-width:720px;
  margin:0 auto;
}

.faq_section .faq_head{
  font-weight: bold;
  font-size: 20px;
  line-height: 1.3;
  text-align: left;
  color: #fff;
}

.faq_section .faq_list_frame{
  margin-top: 20px;
}

.faq_section .faq_list{
  display: flex;
  flex-wrap: wrap;
}

.faq_section .faq_card{
  margin-top: 16px;
  margin-right: 18px;
  width:227px;
  height:325px;
  position:relative;
  border-radius: 20px;
  overflow: hidden;
  cursor: pointer;
  transition-duration: 0.4s;
}

.faq_section .faq_card:nth-child(3n){
  margin-right: 0;
}


.faq_section .faq_card .faq_front,
.faq_section .faq_card .faq_back{
  width:100%;
  height:100%;
  top:0;
  left:0;
  position: absolute;
  transition-duration: 0.4s;
  backface-visibility: hidden;
  border-radius: 20px;
}

.faq_section .faq_card .card_inner{
  width:100%;
  height:100%;
  position: relative;
  padding:64px 0;
}

.faq_section .faq_card .card_inner::after{
  content:"";
  width:24px;
  height:24px;
  position: absolute;
  right:24px;
  bottom:26px;
}

.faq_section .faq_card .faq_num{
  height:54px;
  width:195px;
  position: absolute;
  top:0;
  left:0;
  right:0;
  margin:auto;
  padding-top: 20px;
  font-weight: bold;
  font-size: 20px;
  line-height: 1;
}

.faq_section .faq_card .faq_text_inner{
  max-height:100%;
  transition-delay: 0.1s;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.faq_section .faq_card .faq_text_inner::-webkit-scrollbar {  
  display: none; 
}

.faq_section .faq_card .faq_text{
  max-width: 195px;
  margin:0 auto;
}


.faq_section .faq_card .faq_front{
  background-image: url('../img/faq/faq_card.svg');
  z-index: 1;
}

.faq_section .faq_card .faq_front .card_inner::after{
  background-image: url('../img/faq/faq_plus.svg');
}

.faq_section .faq_card .faq_front .faq_num{
  color:#fff;
  border-bottom: 1px solid #fff;
}

.faq_section .faq_card .faq_front .faq_text{
  font-weight: bold;
  font-size: 17px;
  line-height: 1.5;
  color: #fff;
}

.faq_section .faq_card .faq_front .faq_text_inner{
  pointer-events: auto;
  opacity: 1;
}

.faq_section .faq_card.active .faq_front{
  transform: rotateY(180deg);
}

.faq_section .faq_card.active .faq_front .faq_text_inner{
  pointer-events: none;
  opacity: 0;
}


.faq_section .faq_card .faq_back{
  background-color:#fff;
  transform: rotateY(-180deg);
}

.faq_section .faq_card .faq_back .card_inner::after{
  background-image: url('../img/faq/faq_minus.svg');
}

.faq_section .faq_card .faq_back .faq_num{
  color:#FF8727;
  border-bottom: 1px solid #FF8727;
}

.faq_section .faq_card .faq_back .faq_text{
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  color: #000;
}

.faq_section .faq_card .faq_back .faq_text_inner{
  pointer-events: none;
  opacity: 0;
}

.faq_section .faq_card.active .faq_back{
  transform: rotateY(0);
  z-index: 2;
}

.faq_section .faq_card.active .faq_back .faq_text_inner{
  pointer-events: auto;
  opacity: 1;
}


.faq_section05{
  padding-bottom: 216px;
}


/*
----------------------------------------------------
ブログ一覧
----------------------------------------------------
*/
body.blog_body{
  
}

main.blog_main{

}

.blog_section01{
  padding-bottom: 140px;
}

.blog_section01 .blog_container{
  max-width:1140px;
  padding:0 20px;
  margin:0 auto;
}

.blog_section01 .blog_list{
  display: flex;
  flex-wrap: wrap;
}

.blog_section01 .blog_list li{
  width:29.5%;
  margin-bottom: 80px;
  margin-right: 5.6%;
}

.blog_section01 .blog_list li:nth-child(3n){
  margin-right: 0;
}

.blog_section01 .blog_list .blog_card{
  display: block;
  color: #000;
}


.blog_section01 .blog_card .thumb{
  aspect-ratio: 1/0.61;
  max-height: 200px;
  overflow: hidden;
}

.blog_section01 .blog_card .thumb img{
  width:100%;
  height:100%;
  object-fit: cover;
  transition-duration: 0.4s;
}

@media(min-width:1025px){
  .blog_section01 .blog_card:hover .thumb img{
    transform: scale(1.1);
  }
}

.blog_section01 .blog_card .thumb .def_thumb{
  width:100%;
  height:100%;
  background-color: #fff;
}

.blog_section01 .blog_card .date{
  margin-top: 16px;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.08em;
  
  line-height: 1;
}

.blog_section01 .blog_card .blog_title{
  font-weight: 500;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 1.3;
  margin-top: 8px;
}

.blog_section01 .no_post{
  color:#fff;
  margin-top: 24px;
  text-align: center;
}

/*
----------------------------------------------------
ブログ一詳細
----------------------------------------------------
*/
body.blog_sinlge_body{
  
}

main.blog_sinlge_main{

}


.blog_sinlge_section01{
  padding:230px 0;
}

.blog_sinlge_section01 .blog_single_frame .date{
  font-weight: 500;
  font-size: 17px;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #fff;
}

.blog_sinlge_section01 .blog_single_frame .blog_title{
  font-weight: 500;
  font-size: 24px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-align: left;
  color: #fff;
  padding-bottom: 24px;
  border-bottom:1px solid #fff;
  margin-top: 8px;
}


.blog_sinlge_section01 .link_flex{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 100px;
}

.blog_sinlge_section01 .link_flex .archive_link{
  width: 365px;
  height: 56px;
  border-radius: 28px;
  border: 1px solid #fff;
  margin:0 64px;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
  display: flex;
  justify-content: center;
  align-items: center;
}

.blog_sinlge_section01 .link_flex .link a{
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #fff;
  display: flex;
  align-items: center;
}

.blog_sinlge_section01 .link_flex .link_prev a::before{
  content:"";
  width:32px;
  height:32px;
  border-radius: 50%;
  background-image: url('../img/common/swiper_prev.svg');
  margin-right: 12px;
  transition-duration: 0.4s;
}
.blog_sinlge_section01 .link_flex .link_next a::after{
  content:"";
  width:32px;
  height:32px;
  border-radius: 50%;
  background-image: url('../img/common/swiper_next.svg');
  margin-left: 12px;
  transition-duration: 0.4s;
}

@media(min-width:1025px){
  .blog_sinlge_section01 .link_flex .archive_link:hover{
    background-color: #fff;
    color:#3EB9DA;
  }

  .blog_sinlge_section01 .link_flex .link_prev a:hover::before{
    transform: translateX(-8px);
  }

  .blog_sinlge_section01 .link_flex .link_next a:hover::after{
    transform: translateX(8px);
  }
}


.common_single_block{

}

.common_single_block h2{
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  margin:24px 0;
}

.common_single_block h3{
  font-size: 18px;
  font-weight: bold;
  line-height: 1.4;
  margin:24px 0;
}

.common_single_block p{
  font-size: 14px;
  line-height: 1.75;
  color:#fff;
  margin:32px 0;
}

.common_single_block figure{
  margin-top: 32px;
  margin-bottom: 32px;
}

/*
----------------------------------------------------
お知らせ
----------------------------------------------------
*/

body.news_body{
  
}

main.news_main{

}

.news_section01{
  padding:40px 0 112px;
}

.news_section01 .news_list .news_block{
  padding:24px 40px 40px;
  background-color: #fff;
  border-radius: 20px;
  width:680px;
  margin:32px auto 0;
}

.news_section01 .news_list .news_block:first-child{
  margin-top: 0;
}

.news_section01 .news_block .news_title{
  font-weight: 700;
  font-size: 20px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  color: #000;

}

.news_section01 .news_block .news_flex{
  margin-top: 40px;
  display: flex;
  align-items: center;
}

.news_section01 .news_block .news_thumb{
  width:50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding-left: 24px;
}

.news_section01 .news_block .news_thumb img{
  width:170px;
}

.news_section01 .news_block .news_text{
  width:100%;
  font-size: 14px;
  letter-spacing: 0.08em;
  line-height: 1.75;
}

.news_section01 .common_pagenation{
  margin-top: 80px;
}


/*
----------------------------------------------------
情報公開
----------------------------------------------------
*/

body.information_body{
  
}

main.information_main{

}

main.information_main .page_mv_section{
  min-height: auto;
  padding:210px 0 60px;
}

.information_section01{
  padding:60px 0 240px;
}

.information_section01 .pdf_list{
  display: flex;
  flex-wrap: wrap;
  gap:40px 38px;
  max-width: 768px;
  margin:0 auto;
}

.information_section01 .pdf_list .pdf_link{
  width: 230px;
  height: 60px;
  border-radius: 30px;
  background: #fb7813;
  display: flex;
  justify-content: center;
  align-items: center;
}

.information_section01 .pdf_list .pdf_link.no_pdf{
  /* background-color: #555555; */
  background-color: #777;
  opacity: 0.7;
}

.information_section01 .pdf_list .pdf_link .pdf_title{
  font-weight: 700;
  font-size: 17px;
  line-height: 1.2;
  text-align: center;
  color: #fff;
}

.information_section01 .pdf_list .pdf_link .pdf_title span{
  font-size: 14px;
  font-weight: 700;
}

.information_section01 .info_list{
  margin-top: 96px;
}

.information_section01 .info_list .info_block{
  margin-top: 88px;
}

.information_section01 .info_list .info_block:first-child{
  margin-top: 0;
}

.information_section01 .info_block .info_year{
  font-weight: bold;
  font-size: 30px;
  color: #fff;
  line-height: 1;
  text-align: center;
}

.information_section01 .info_block .white_box{
  padding:56px 86px 40px;
  background-color: #fff;
  border-radius: 35px;
  margin-top: 16px;
}

.information_section01 .info_block .finance_text{
  display: flex;
  align-items: center;
  margin:40px 0 20px;
}

.information_section01 .info_block .finance_text p{
  flex-shrink: 0;
  margin-right: 16px;
  font-weight: 700;
  font-size: 20px;
  line-height: 1;
  
  flex-shrink: 0;
}

.information_section01 .info_block .finance_text::after{
  content:"";
  width:100%;
  height:1px;
  background-color: #222222;
}



.information_section01 .info_pagenation{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 80px;
}

.information_section01 .info_pagenation span.current{/*現在のページボタン*/
  font-size: 22px;
  color:#FC7812;
  transition-duration: 0.4s;
  font-weight: bold;
  line-height: 1;
  margin:0 10px;
  position: relative;
}

.information_section01 .info_pagenation span.current::after{
  content:"";
  width:18px;
  height:2px;
  background-color:#FC7812;
  position: absolute;
  bottom:-8px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.information_section01 .info_pagenation a.page-numbers{/*指定のページ移動ボタン*/
  font-size: 22px;
  color:#fff;
  transition-duration: 0.4s;
  font-weight: bold;
  line-height: 1;
  margin:0 10px;
}

.information_section01 .info_pagenation a.page-numbers.next,
.information_section01 .info_pagenation a.page-numbers.prev{/*next prevボタン*/
  display: none;
}

@media(min-width:1025px){
  .information_section01 .info_pagenation a.page-numbers:hover{
    color:#FC7812;
  }
}


.information_list_section{
  padding-top: 120px;
  padding-bottom: 280px;
}

.information_list_section .info_list{
  max-width: 796px;
  margin:0 auto;
}

.information_list_section .info_block + .info_block{
  margin-top: 180px;
}

.information_list_section .info_head{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap:16px 20px;
  font-weight: bold;
  font-size: 30px;
  line-height: 1.3;
  color: #fff;
  padding-bottom: 24px;
  border-bottom:1px solid #fff;
}

.information_list_section .info_head span{
  font-size: 17px;
  font-weight: bold;
}

.information_list_section .item_list{
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap:24px 54px;
  margin-top: 32px;
}

.information_list_section .item_list li{
  width:229px;
}

.information_list_section .item_link{
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  border-radius: 100px;
  padding:8px 12px;
  background-color: #fff;
  font-weight: bold;
  font-size: 17px;
  line-height: 1.3;
  color: #fa7915;

}
/*
----------------------------------------------------
お問い合わせ
----------------------------------------------------
*/

body.contact_body{
  
}

main.contact_main{

}

main.contact_main .page_mv_section{
  min-height: auto;
  padding:210px 0 50px;
}

.contact_section01{
  padding:60px 0 180px;
  position: relative;
}

.contact_section01::after{
  content:"";
  width:1280px;
  max-width:95%;
  height:1px;
  background-color: #fff;
  position: absolute;
  bottom:0;
  left:0;
  right:0;
  margin:auto;
}

.contact_section01 .contact_container{
  max-width:740px;
  margin:0 auto;
}

.contact_section01 .tel_text{
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.04em;
  line-height: 1.5;
  color: #fff;
}

.contact_section01 .tel_text::before{
  content: '';
  width:35px;
  height:32px;
  background-image:url('../img/contact/contact_icon01.svg');
  margin-right: 8px;
}

.contact_section01 .facility_link{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 230px;
  height: 56px;
  border-radius: 28px;
  background-color: #fff;
  font-weight: bold;
  font-size: 17px;
  line-height: 1;
  color: #fc7812;
  margin-top: 32px;
}

.contact_section01 .facility_link::after{
  content:"";
  width:5.6px;
  height:9.4px;
  background-image: url('../img/common/angle_right_orange.svg');
  margin-left: 20px;
  transition-duration: 0.4s;
  
}

@media(min-width:1025px){
  .contact_section01 .facility_link:hover::after{
    transform: translateX(8px);
  }
}

.contact_section01 .sec_border{
  height:1px;
  background-color: #fff;
  margin-top: 48px;
}

.contact_section01 .contact_text01{
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 17px;
  letter-spacing: 0.04em;
  line-height: 1.5;
  color: #fff;
  margin-top: 64px;
}

.contact_section01 .contact_text01::before{
  content:"";
  width:30.5px;
  height:23.5px;
  background-image:url('../img/contact/contact_icon02.svg');
  margin-right: 8px;
}

.contact_section01 .contact_text02{
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.04em;
  line-height: 2;
  color: #fff;
  margin-top: 16px;
}

.common_contact_frame{
  margin-top: 24px;
}

.common_contact_frame .white_box{
  background-color: #fff;
  padding:48px 32px 72px;
}

.common_contact_frame .form_line{
  margin-top: 36px;
}

.common_contact_frame .form_line:first-child{
  margin-top: 0;
}

.common_contact_frame .form_line .form_label{
  display: flex;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.3;
  white-space: nowrap;
}

.common_contact_frame .form_line .form_label.must::after{
  content:"※必須";
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
  color: #b45858;
  margin-left: 8px;
}

.common_contact_frame .form_line .input_area{
  margin-top: 12px;
}

.common_contact_frame .form_line .text_input{
  border:none;
  background: none;
  display: block;
  width:100%;
  height:40px;
  background-color: #F4F4F4;
  padding:0 12px;
  font-weight: 500;
  font-size: 15px;
}

.common_contact_frame .form_line select{
  border:none;
  background: none;
  display: block;
  width:100%;
  height:35px;
  background-color: #F4F4F4;
  padding:0 12px;
  font-weight: 500;
  font-size: 15px;
}

.common_contact_frame .form_line .adress_flex{
  display: flex;
}

.common_contact_frame .form_line .adress_block01{
  width:135px;
}

.common_contact_frame .form_line .adress_block01 .form_label span{
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  padding-top: 2px;
  white-space: nowrap;
  color: #646464;
  margin-left: 8px;
}

.common_contact_frame .form_line .adress_block02{
  width:135px;
  margin-left: 40px;
}

.common_contact_frame .form_line .birth_flex{
  display: flex;
  flex-wrap: wrap;
}

.common_contact_frame .form_line .birth_flex .unit{
  margin-left: 12px;
  font-size: 17px;
  line-height:1;
  color: #303339;
}

.common_contact_frame .form_line .birth_flex .year_frame{
  display: flex;
  align-items: center;
}

.common_contact_frame .form_line .birth_flex .year_block{
  width:154px;
}

.common_contact_frame .form_line .birth_flex .birth_right{
  display: flex;
  align-items: center;
  margin-left: 32px;
}

.common_contact_frame .form_line .birth_flex .month_frame{
  display: flex;
  align-items: center;
}

.common_contact_frame .form_line .birth_flex .month_block{
  width:95px;
}

.common_contact_frame .form_line .birth_flex .day_frame{
  display: flex;
  align-items: center;
  margin-left: 24px;
}

.common_contact_frame .form_line .birth_flex .day_block{
  width:95px;
}

.common_contact_frame .form_line .facility_list{
  display: flex;
  flex-wrap: wrap;
}

.common_contact_frame .form_line .facility_list .mwform-checkbox-field{
  min-width:320px;
  padding-right: 24px;
  margin-top: 16px;
  font-size: 15px;
  font-weight: 500;
  color:#646464;
}
.common_contact_frame .form_line .facility_list label{
  cursor: pointer;
  font-weight: 500;
}

.common_contact_frame .mw_wp_form .facility_list  .horizontal-item + .horizontal-item{
  margin-left: 0;
}

.common_contact_frame .form_line .division_list{
  display: flex;
  flex-wrap: wrap;
}

.common_contact_frame .form_line .division_list .mwform-radio-field{
  font-size: 15px;
  font-weight: 500;
  color:#646464;
  padding-right: 40px;
}
.common_contact_frame .form_line .division_list label{
  cursor: pointer;
  font-weight: 500;
}

.common_contact_frame .form_line textarea{
  border:none;
  background: none;
  display: block;
  width:100%;
  height:180px;
  background-color: #F4F4F4;
  padding:16px;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
}

.common_contact_frame .privacy_area{
  margin-top: 60px;
}

.common_contact_frame .privacy_area .privacy_head{
  font-weight: bold;
  font-size: 13px;
  line-height: 1.3;
  color: #fff;
}

.common_contact_frame .privacy_area .privacy_box{
  height:120px;
  overflow-y: scroll;
  border:1px solid #fff;
  margin-top: 16px;
}

.common_contact_frame .privacy_area .privacy_box::-webkit-scrollbar {
  width: 8px;
}
.common_contact_frame .privacy_area .privacy_box::-webkit-scrollbar-track {
  background-color: #fff;
}
.common_contact_frame .privacy_area .privacy_box::-webkit-scrollbar-thumb {
  background-color: #FB7911;
}


.common_contact_frame .privacy_area .privacy_text{
  padding:12px;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.5;
  color: #fff;

}

.common_contact_frame .privacy_area .privacy_text p+p{
  margin-top: 12px;
}

.common_contact_frame .privacy_area .privacy_check{
  margin-top: 24px;

}

.common_contact_frame .privacy_area .privacy_check label{
  font-weight: 500;
  font-size: 15px;
  letter-spacing: 0.04em;
  line-height: 1.2;
  color: #fff;
  
}


.common_contact_frame .submit_area{
  display: flex;
  justify-content: center;
  margin-top: 120px;
}

.common_contact_frame .submit_frame input{
  border:none;
  background: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 180px;
  height: 36px;
  border-radius: 18px;
  background: #fc7812;
  font-weight: bold;
  font-size: 12px;
  line-height: 1;
  color: #fff;
  transition-duration: 0.4s;
  cursor: pointer;
}

@media(min-width:1025px){
  .common_contact_frame .submit_frame input:hover{
    color:#fc7812;
    background-color: #fff;
  }
}

.common_contact_frame .finish_text{
  text-align: center;
  line-height: 1.5;
  color:#fff;
  font-size: 17px;
}

.common_contact_frame .error{
  display: block;
  width:100%;
  margin-top: 6px;
}


/*
----------------------------------------------------
エントリー
----------------------------------------------------
*/

body.entry_body{
  
}

main.entry_main{

}

main.entry_main .page_mv_section{
  min-height: auto;
  padding:210px 0 50px;
}
/*
----------------------------------------------------
プライバシーポリシー
----------------------------------------------------
*/

body.privacy_body{
  
}

main.privacy_main{

}

main.privacy_main .page_mv_section{
  min-height: auto;
  padding:210px 0 50px;
}

.privacy_section01{
  padding:60px 0 250px;
}

.privacy_section01 .privacy_frame p{

  font-size: 14px;
  line-height:1.7;
  color: #fff;
}

.privacy_section01 .privacy_frame p+p{
  margin-top: 24px;
}