@charset "UTF-8";
/*============================================================================================
      Header
=============================================================================================*/
/*    Navigation
=====================================================*/
.w_Header{
      position: fixed;
      top: 0;
      left: 0;
      z-index: 9999;
}
.header_nav{
      padding: 20px;
}
.header_nav_lst{
      margin-right: 20px;
}
.header_nav_lst_itm + .header_nav_lst_itm{
      margin-left: 20px;
}
.header_nav_lst_itm_inr{
      padding: 15px 25px 15px 60px;
      border-radius: 28px;
}
.header_nav_lst_itm_search a{
      background-color: #fff;
      border: 1px solid #7ECFF4;
      transition: color .2s, backGround .2s;
}
.header_nav_lst_itm_search a::before{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 25px ;
      bottom: 0;
      margin: auto;
      width: 25px;
      height: 25px;
      background: url(../img/common/search.svg) no-repeat;
      background-size: contain;
      background-position: center;
}
.header_nav_lst_itm_search a:hover{
      color: #fff;
      background-color: #7ECFF4;
}
.header_nav_lst_itm_search a:hover::before{
      background: url(../img/common/search_wh.svg) no-repeat;
      background-size: contain;
      background-position: center;
}
.header_nav_lst_itm_cct a{
      background-color: #7ECFF4;
      border: 1px solid #7ECFF4;
      transition: color .2s, backGround .2s;
}
.header_nav_lst_itm_cct a::before{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 25px ;
      bottom: 0;
      margin: auto;
      width: 25px;
      height: 25px;
      background: url(../img/common/mail.svg) no-repeat;
      background-size: contain;
      background-position: center;
}
.header_nav_lst_itm_cct a:hover{
      background-color: #fff;
      color: #7ECFF4;
}
.header_nav_lst_itm_cct a:hover::before{
      background: url(../img/common/mail_bl.svg) no-repeat;
      background-size: contain;
      background-position: center;
}
.header_hamb_lst_cont{
      position: fixed;
      top: 0;
      left: 0;
      height: 120vh;
      width: 100vw;
      background-color: #fff;
      z-index: 999;
      padding: 4vw;
      padding-bottom: 24vh;
}
.header_hamb_lst_cont::before{
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      height: 100%;
      max-height: 600px;
      width: 100%;
      background: url(../img/common/header_bg.jpg) no-repeat;
      background-size: cover;
      background-position: bottom;
      z-index: -1;
}
.header_hamb_lst{
      max-width: 500px;
}
.header_hamb_lst_itm a::before {
      content: '';
      position: relative;
      left: -4px;
      top: -2px;
      font-size: 15px;
  }
.header_hamb_lst_btn_cont{
      margin-right: 0;
      max-width: 255px;
}
.header_nav_lst_sp{
      display: none;
}
@media (max-width: 896px){
      /* .header_nav_lst_itm_inr{
            font-size: 1.5rem;
            padding: 10px 20px 10px 55px;
            border-radius: 28px;
      }
      .header_nav_lst_itm_cct a::before{
            width: 20px;
            height: 20px;
      } */
}
@media (max-width: 576px){
      .header_hamb_lst{
            padding-top: 50px;
      }
      .header_nav_lst_pc{
            display: none;
      }
      .header_nav_lst_sp{
            position: fixed;
            bottom: 0;
            display: flex;
            width: 100%;
            margin-right: 0;
            padding: 10px;
            background-color: #4FBDBB;
      }
      .header_nav_lst_itm{
            width: 48.5%;
      }
      .header_nav_lst_itm + .header_nav_lst_itm{
            margin-left: 3%;
      }
      .header_nav_lst_itm_inr{
            margin-right: 0;
            border-radius: 10px;
            height: 100%;
            font-size: 1.5rem;
            padding: 10px 20px 10px 55px;
      }
      .header_nav_lst_itm_search_btn_inr_btm::before{
            background: url(../img/common/search.svg) no-repeat !important;
            background-size: contain;
            background-position: center;
      }
      .header_nav_lst_itm_search_btn_inr_btm:hover::before{
            background: url(../img/common/search.svg) no-repeat;
            background-size: contain;
            background-position: center;
      }
      .header_nav_lst_itm_search_btn_inr_btm:hover{
            background-color: #fff !important;
            color: #7ECFF4 !important;
      }

      .header_nav_lst_itm_cct_btn_inr_btm::before{
            background: url(../img/common/mail.svg) no-repeat !important;
            background-size: contain !important;
            background-position: center !important;
      }
      .header_nav_lst_itm_cct_btn_inr_btm:hover::before{
            background: url(../img/common/mail.svg) no-repeat !important;
            background-size: contain !important;
            background-position: center !important;
      }
      .header_nav_lst_itm_cct_btn_inr_btm:hover{
            background-color: #7ECFF4 !important;
            color: #fff !important;
      }
}
/*============================================================================================
      Footer
=============================================================================================*/
.footer_cont{
      max-width: 270px;
      margin: auto;
}
.footer_copy{
      background-color: #008037;
      padding: 7px;
      font-size: 1.2rem;
      margin-top: 120px;
      text-align: center;
      color: #fff;
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .footer_copy{
            margin-bottom: 94px;
      }
}
/*============================================================================================
      Contents
=============================================================================================*/
/*    MV
=====================================================*/
.top_mv_sec{
      height: 100vh;
      width: 100%;
      background: url(../img/common/mv.jpg) no-repeat;
      background-size: cover;
      background-position: center;
}
.top_mv_cont{
      height: 100%;
}
.top_mv_txtarea{
      /* position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto; */
}
.top_mv_logo{
      width: 100%;
      max-width: 330px;
}
.top_mv_txt span{
      display: inline;
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .top_mv_txt span{
            display: none;
      }
}
/*    ABOUT
=====================================================*/
.top_about_txt_img{
      width: 100%;
      max-width: 100px;
      margin: auto;
}
.top_about_txt{
      width: 100%;
      max-width: 840px;
      margin: auto;
}
@media (max-width: 896px){}
@media (max-width: 576px){}
/*    recommend
=====================================================*/
.top_recommend_sec{
      background: url(../img/common/top_recommend_bg.jpg) no-repeat;
      background-size: cover;
      background-position: bottom;
}
.top_recommend_lst{
      width: 100%;
      max-width: 840px;
      margin: auto;
}
.top_recommend_lst_itm{
      padding: 20px;
      background-color: #fff;
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .top_recommend_sec{
            background: url(../img/common/top_recommend_bg_sp.jpg) no-repeat;
            background-size: contain;
            background-position: bottom;
      }
      .top_recommend_lst_img{
            width: 100%;
            max-width: 300px;
            margin: auto;
      }
}
/*    merit
=====================================================*/
.top_merit_sec{}
.top_merit_txt_img{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      height: 96%;
      width: 20vw;
      background: url(../img/common/top_merit_txt_img.svg) no-repeat;
      background-position: left;
      background-size: contain;
}
.top_merit_btn_cont{
      position: relative;
      z-index: 1;
}
.top_merit_lst{
      position: relative;
      width: 100%;
      max-width: 840px;
      margin: auto;
      z-index: 1;
}
.top_merit_lst_itm{
      background-color: #fff;
      border-radius: 20px;
      padding: 20px;
      box-shadow: 0 3px 6px #00000020;
}
.top_merit_lst_txt{
      font-weight: 500;
}
.top_merit_btn{
      transition: transform .2s;
}
.top_merit_btn:hover{
      opacity: 1;
      transform: translateY(0px);
}
.top_merit_btn_hidden{
      background-color: #fff;
      color: #4FBDBB;
}
.top_merit_btn_hidden:hover{
      transform: translateY(-5px);
}
.top_merit_lst_hidden{
      display: none;
}
@media (max-width: 896px){
      .top_merit_txt_img{
            display: none !important;
      }
}
@media (max-width: 576px){}
/*    flow
=====================================================*/
.top_flow_sec{
      overflow: hidden;
}
.top_flow_lst_cont::before{
      content: "";
      display: block;
      position: absolute;
      top: -1px;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw;
      height: 1px;
      background-color: #7ECFF4;
}
.top_flow_lst_cont_employee::after{
      content: "";
      display: block;
      position: absolute;
      bottom: 0px;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw;
      height: 1px;
      background-color: #7ECFF4;
}
.top_flow_lst + .top_flow_lst .top_flow_lst_img::before{
      content: "";
      display: block;
      position: absolute;
      width: 17px;
      height: 40px;
      top: 0;
      bottom: 0;
      left: -12%;
      margin: auto;
      background: url(../img/common/flow_tri.svg) no-repeat;
      background-size: contain;
      background-position: center;
}
.top_flow_lst_cont_ttl{
      font-size: 2.6rem;
}
.top_flow_lst_cont_ttl::before{
      content: "・・";
      position: absolute;
      bottom: 25px;
      left: 0;
      font-size: 2.6rem;
      color: #008037;
}
.top_flow_lst_cont_ttl_employee::before{
      content: "・・・";
      position: absolute;
      bottom: 25px;
      left: 0;
      font-size: 2.6rem;
      color: #008037;
}
.top_flow_lst_txt{
      font-weight: 500;
}
@media (max-width: 896px){
      .top_flow_lst + .top_flow_lst .top_flow_lst_img::before{
            display: none;
      }
}
@media (max-width: 576px){
      .top_flow_lst.l_clm4_md_2{
            width: 100%;
            margin-right: 0;
            max-width: 375px;
            margin: auto;
      }
      .top_flow_lst + .top_flow_lst{
            margin-top: 15%;
      }
      .top_flow_lst + .top_flow_lst .top_flow_lst_img::before{
            content: "";
            display: block;
            position: absolute;
            width: 17px;
            height: 40px;
            top: -12%;
            bottom: initial;
            left: 0;
            right: 0;
            margin: auto;
            background: url(../img/common/flow_tri.svg) no-repeat;
            background-size: contain;
            background-position: center;
            transform: rotate(90deg);
      }
      .top_flow_lst_cont_ttl::before{
            bottom: initial;
            transform: translateY(-50%);
      }
      .top_flow_lst_cont_ttl_employee::before{
            bottom: initial;
            transform: translateY(-50%);
      }
}
/*    media
=====================================================*/
.top_media_lst_itm{
      padding: 30px;
      box-shadow: 0 3px 6px #00000020;
      border-radius: 20px;
      max-height: 150px;
}
.top_media_lst_itm img{
      height: 100%;
      object-fit: contain;
      object-position: center;
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .top_media_lst_itm.l_clm3{
            width: 47.5%;
            margin: 0;
            height: 100px;
            padding: 5.4vw;
      }
      .top_media_lst_itm:nth-child(2n){
            margin-left: 5%;
      }
      .top_media_lst_itm:nth-child(n+3){
            margin-top: 5%;
      }
}
/*    faq
=====================================================*/
.top_faq_lst{
      max-width: 840px;
      margin: auto;
}
.top_faq_lst_div{
      border-radius: 20px;
      background-color: #fff;
      padding: 30px;
      cursor: pointer;
}
.top_faq_lst_div + .top_faq_lst_div{
      margin-top: 20px;
}
.top_faq_lst_dt{
      /* cursor: pointer; */
}
.top_faq_lst_num{
      display: inline-flex !important;
      width: 50px;
      height: 50px;
      border-radius: 50%;
      font-size: 2.6rem;
      background-color: #008037;
}
.top_faq_lst_ttl{
      padding: 0 40px;
      width: calc(100% - 100px);
}
.top_faq_lst_answer{
      display: none;
}
.top_faq_lst_line{
      position: absolute;
      display: inline-block;
      width: 45px;
      height: 45px;
      top: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      border-radius: 50%;
}
.top_faq_lst_line::before{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      height: 3px;
      width: 20px;
      background-color: #008037;
      border-radius: 2px;
}
.top_faq_lst_line::after{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      margin: auto;
      height: 3px;
      width: 20px;
      background-color: #008037;
      border-radius: 2px;
      transform: rotate(90deg);
      transition: transform .2s;
}
.top_faq_lst_line.open::after{
      transform: rotate(0deg);
}
.top_faq_lst_answer{
      padding: 30px;
      border-radius: 5px;
      padding-top: 60px;
}
.top_faq_lst_answer::before{
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 30px;
      background-color: #fff;
      border-top-left-radius: 5px;
      border-top-right-radius: 5px;
}
@media (max-width: 896px){
}
@media (max-width: 576px){
      .top_faq_lst_div{
            padding: 4vw;
      }
      .top_faq_lst_ttl{
            padding: 0 4vw;
            width: calc(100% - 75px);
            font-size: 1.8rem;
      }
      .top_faq_lst_num {
            width: 40px;
            height: 40px;
            font-size: 2rem;
            background-color: #008037;
      }
      .top_faq_lst_line{
            width: 35px;
            height: 35px;
      }
}
/*    contact
=====================================================*/
.top_cct_btn_cont{
      position: relative;
      z-index: 1;
}
.top_cct_btn_hidden{
      background-color: #fff;
      color: #4FBDBB;
}
.top_cct_lst_hidden{
      display: none;
}

.top_cct_lst_cont{
      border-radius: 20px;
      border: 3px solid #008037;
      margin-top: -30px;
}
.top_cct_btn{
      position: relative;
      transition: transform .2s;
}
.top_cct_btn:hover{
      opacity: 1;
      transform: translateY(-5px);
}
.top_cct_lst{
      max-width: 840px;
      margin: auto;
      padding: 80px 0;
}
@media (max-width: 896px){}
@media (max-width: 576px){
      .top_cct_btn_cont{
            padding: 0 20px;
      }
      .top_cct_btn span{
            font-size: 1.4rem;
            text-align: center;
      }
}

@media (max-width: 896px){
      .top_cct_lst {
            padding: 60px 0;
      }
}

.top_contact_form_btn:hover{
      opacity: .7;
}
.top_contact_form_btn{
      background: #00b900;
      padding: 29px 0 21px;
      border-radius: 50px;
      box-shadow: 0px 4px 0px 0px rgba(12, 151, 12, 1);
      text-decoration: none;
      width: 92%;
      max-width: 750px;
      transition: opacity .2s;
}
.top_contact_form_btn span {
      width: 100px;
      display: inline-block;
      background: #fff;
      border-radius: 20px;
      color: #00b900;
      padding: 5px;
      margin: 0 20px;
      font-weight: bold;
}
.line_qr{
      max-width: 150px;
}
@media (max-width: 576px){
      .top_contact_form_btn{
            border-radius: 20px;
      }
}
