@charset "UTF-8";
/* CSS Document */
/*!
base
------------------------------
*/
.m_table{
  width: 100%;
  font-size: 16px;
}

.m_table tr, .m_table li{
  border-bottom: 1px solid #E0E0E0;
}

.m_table td{
  color: #909294;
}

.m_table td, .m_table th{
  padding: 16px;
}

.m_table th{
  text-align: left;
}

.m_table li{
  padding-left: 20px;
  text-indent: -20px;
  padding: 16px 0px 16px 20px;
}

.m_table li:last-of-type{
  padding-bottom: 0px;
  border: transparent;
}

.m_table li::before{
  content: ' ■';
}

.m_map_btn{
  text-decoration: underline;
}

.m_map_btn::after{
  content: url(../img/location_on.svg);
  width: 18px;
  height: 18px;
  padding-left: 3px;
}

.m_hyphen{
  padding-left: 0;
}

.m_hyphen::before{
  display: none;
}

.m_wrap_map div{
  width: 100%;
  height: 680px;
}

.m_wrap_sample .m_right30{
  width: 167px;
}

.m_wrap_sample .btn{
  width: 260px;
  margin: 0;
}

.m_wrap_sample .btn small{
  font-size: 12px;
}

.m_wrap_sample .p_r_4{
  border-right: 1px solid #E0E0E0;
}

/*privacy_policy*/
.m_list_dot li{
  list-style: disc;
}

.m_list_dot{
  padding-left: 16px;
}

.m_prpr_table th{
  width: 0%;
  border: 1px solid #E0E0E0;
  white-space: nowrap;
}

.m_prpr_table td{
  padding: 24px;
  width: 50%;
  vertical-align: middle;
  border: 1px solid #E0E0E0;
}

.m_prpr_table td ul{
  width: 445px;
}

/*award*/
.m_award_cont.heading01::after{
  width: 20px;
}

.m_award_cont li{
  position: relative;
}

.m_award_cont li::before{
  content: '';
  position: absolute;
  top: 30px;
  left: 11px;
  transform: translateX(-50%);
  height: 100%;
  width: 1px;
  background-color: #00205B66;
}

.m_award_cont li:last-of-type:before{
  display: none;
}

.m_award_cont .main_catch_en{
  position: relative;
}

.m_award_cont .main_catch_en::before{
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #00205B;
  top: 50%;
  transform: translateY(-50%);
  left: -32px;
}

.m_award_cont ul .m_l_6{
  min-width: 457px;
  width: 457px;
}

/*-----------------------------------
LUKA LP
------------------------------------*/
.m_luka_wrap{
  font-size: 16px;
}

.m_luka_blu{
  color: #232D4C;
}

.m_luka_mv{
  background-image: url(../img/luka_lp/luka_mv_bg.jpg);
  background-size: 160%;
  background-position: 60% 0;
  background-repeat: no-repeat;
  height: 480px;
}

.m_font_min{
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}

.m_luka_mv .p_b_3{
  width: 210px;
}

.m_luka_mv .ai_center{
  width: 530px;
}

.m_luka_mv .p_r_10{
  backdrop-filter: blur(5px);
}

.m_luka_mv .p_relative{
  max-width: 560px;
  margin-bottom: -180px !important;
}

span[data-ruby] {
  position: relative;
}

span[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -0.6em;
  left: 35%;
  transform: translateY(-50%);
  right: 0;
  margin: auto;
  font-size: 15px;
}

.m_luka_moonup{
  width: 180px;
}

.m_line_bg .m_l_8{
  max-width: 540px;
}

.m_line_bg{
  background-image: url(../img/luka_lp/line_bg.png);
  background-size: 100%;
  background-position: 0% 50%;
  background-repeat: no-repeat;
}

.sec_luka02{
  position: relative;
}

.sec_luka02 .m_auto{
  max-width: 460px;
}

.sec_luka02.m_line_bg{
  background-image: url(../img/luka_lp/lline_bg02.png);
}

.sec_luka03{
  background-color: #F7F8FA;
  padding-bottom: 60px;
  position: relative;
}

.sec_luka03 .m_font_min span.d_block{
  font-size: 40px;
}

.sec_luka03::before{
  content: '';
  width: 300px;
  height: 60px;
  background-color: #ffffff;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translateX(-50%);
}

.sec_luka03 button{
  border: none;
  background-color: transparent;
}

.sec_luka03 button:hover{
  cursor: pointer;
}

.sec_luka04 .uline{
  text-underline-offset: 6px;
  text-decoration: underline 1px;
}

.sec_luka04 .m_t_6{
  max-width: 860px;
  margin: 48px auto 0;
}

.sec_luka04 li{
  width: 180px;
  height: 180px;
  background-image: url(../img/luka_lp/circle.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  position: relative;
}

.sec_luka04 li p{
  position: absolute;
  width: 100%;
  top: 54%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sec_luka04 li span{
  font-size: 70px;
  margin-top: -16px;
  display: inline-block;
  background-color: #ffffff;
  position: relative;
  z-index: 0;
  padding: 0 16px 16px 8px;
}

.sec_luka05{
  background-color: #F7F8FA;
}

.sec_luka05 .m_img_wrap{
  max-width: 700px;
}

.sec_luka06 .splide__track li{
  border: 1px solid #796C45;
  border-radius: 20px 0 20px 0;
  max-width: 320px;
  width: 31%;
}

.sec_luka06 .splide__track li.m_card02{
  max-width: 380px;
}

.sec_luka06 .splide__track li.m_card02{
  border: 1px solid #00205B;
}

.m_card01 .m_img_wrap,
.m_card03 .m_img_wrap{
  height: 200px;
}

.m_card02 .m_img_wrap{
  height: 280px;
}

.sec_luka06 .splide__slide img{
  height: 100%;
  width: auto;
}

.m_card03 .m_img_wrap{
  max-width: 64px;
}

.sec_luka06 .m_img_wrap{
  margin: 0 auto;
}

.sec_luka06 .splide__track li .btn{
  width: 280px;
}

.sec_luka06 .ppl_b:after{
  border-top: solid 2px #796C45;
  border-right: solid 2px #796C45;
}

.sec_luka06 .m_card02 .ppl_b:after{
  border-top: solid 2px #00205b;
  border-right: solid 2px #00205b;
}

/*LUKAアコーディオン*/
.m_luka_acd span{
  width: 24px;
  height: 24px;
}

.m_luka_acd span::before,
.m_luka_acd span::after{
  content: '';
  background-color: #00205B;
  width: 10px;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.m_luka_acd span::after{
  transform: rotate(90deg) translate(-50%, -50%);
  transform-origin: top left;
  transition: .5s;
}

.m_luka_acd.open span::after{
  transform: rotate(180deg) translate(-50%, -50%);
  transition: .5s;
}

/*20240412*/
.sec_luka03 .content_mt{
  display: none;
  max-height: none !important;
  overflow: auto !important;
}

.sec_luka03 .title_mt{
  position: relative;
  padding: 0;
  cursor: pointer;
}

.sec_luka03 .title_mt::before, .sec_luka03 .title_mt::after{
  content: '';
  width: 10px;
  height: 2px;
  background-color: #00205B;
  position: absolute;
  right: -20px;
}

.sec_luka03 .title_mt::after{
  transform: rotate(90deg);
  transition: .3s;
}

.sec_luka03 .title_mt.active::after{
  transform: rotate(180deg);
}

.sec_luka03 .content_mt{
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.sec_luka03 .content_mt::-webkit-scrollbar {
  display:none;
 }


@media  (max-width: 767px) {
  .m_table td, .m_table th{
    display: block;  
  }

  .m_table td{
    padding: 0;
    padding-top: 16px;
  }

  .m_table th{
    padding: 8px 0;
  }

  .m_map_btn{
  display: block;
  padding-left: 20px;
  }

  .m_wrap_map div{
    height: 250px;
  }

  .m_wrap_sample .p_r_4{
    border-right: transparent;
  }  

  .m_wrap_sample .btn{
    width: 100%;
  }

  .m_wrap_sample .m_right30{
    width: 118px;
  } 

  .m_prpr_table{
    overflow-x: scroll;
  }

  .m_award_cont ul .m_l_6 {
    min-width: 100%;
    max-width: 100%;
  }

  /*-----------------------------------
LUKA LP
------------------------------------*/
  .m_luka_wrap{
    font-size: 14px;
  }

  .m_luka_mv .m_r_10{
    width: 100%;
    margin-top: -80px;
  }

  .m_luka_mv .p_b_3{
    width: 160px;
  }

  .m_luka_mv .heading03{
    font-size: 30px !important;
  }

  .m_luka_mv{
    height: 600px;
    background-size: cover;
  }

  .m_luka_moonup{
    width: 120px;
  }

  .m_line_bg .font30{
    font-size: 24px !important;
  }

  .sec_luka02 {
    margin-bottom: 150px;
  }

  .sec_luka02 .font30{
    font-size: 24px !important;
  }

  .sec_luka03{
    padding-bottom: 0px;
  }

  .sec_luka03::before {
    width: 180px;
    height: 36px;
  }

  .sec_luka03 .font32{
    font-size: 19px !important;
  }

  .sec_luka03 .m_font_min span.d_block{
    font-size: 26px !important;
  }

  .m_luka_acd_container{
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .sec_luka04 .font30{
    font-size: 22px !important;
  }

  .sec_luka04 ul{
    max-width: 340px;
  }

  .sec_luka04 li{
    width: 150px;
    height: 150px;
  }

  .sec_luka04 li span {
    font-size: 56px;
    margin-top: -8px;
  }

  .sec_luka05 .font30{
    font-size: 20px !important;
  }

  .sec_luka06 .font30{
    font-size: 22px !important;
  }

}

@media  (max-width: 834px) {
  .d_block_834{
    display: block !important;
  }

  .d_block_834 .jc_center{
    padding-top: calc(60vh + -50px) !important;
    width: 100%;
  } 

  .d_none_834{
    display: none !important;
  }

  .m_luka_mv{
    height: 60vh;
    background-image: url(../img/luka_lp/luka_mv_sp.jpg);
    background-position: 50%;
    background-size: cover;
    margin: 0px calc(50% - 50vw) 240px !important;
  }

  .sec_luka03 .title_mt {
    font-size: 16px;
  }
}

@media  (max-width: 960px) {
  .m_c_reverse_960{
    flex-direction: column-reverse;
  }

  .m_auto_960{
    margin: 0 auto !important;
  }

  .m_luka_mv .p_relative {
    max-width: 460px;
  }

  .m_l_8.m_auto_960{
    margin-bottom: 80px !important;
  }

  .sec_luka01 .m_img_wrap.m_auto_960{
    max-width: 400px;
    margin-top: 64px !important;
  }

  .m_line_bg{
    background-size: 150%;
    background-position: 0% 40%;
  }

    /*スライダーページネーション*/
    .sec_luka06{
      padding-bottom: 56px;
    }

    .m_splide .splide__pagination{
      bottom: -4em;
    }
  
    .m_splide .splide__pagination__page{
      opacity: 1;
    }
  
    .m_splide .splide__arrow{
      display: block;
      opacity: 1;
    }
  
    .m_splide .splide__arrow:disabled{
      opacity: .7;
    }
  
    .m_splide .splide__arrow{
      top: auto;
      bottom: -4.2rem;
      transform: translateY(-50%);
      background-color: transparent;
    }
  
    .m_splide .splide__arrow--next {
      right: 6em;
    }
  
    .m_splide .splide__arrow--prev {
      left: 6em;
    }
  
    .m_splide .splide__arrow svg{
      fill: #00205B;
    }
  
    .m_splide .splide__pagination__page.is-active{
      background: #00205B;
    }

    .m_jc_fs_960{
      justify-content: flex-start !important;
    }
  
    .sec_luka06 .splide__track li .btn {
      width: 250px;
    }
  
    .m_luka_wrap .page_wrap_cont_parts{
      width: 100%;
    } 
    
    .sec_luka06 .splide__track li,
    .sec_luka06 .splide__track li.m_card02{
      max-width: 100%;
    }
}

@media  (max-width: 450px) {
  .m_luka_mv{
    margin-bottom: 260px !important;
  }

  .m_line_bg {
    background-position: 20% 30%;
    background-size: 300%;
  }

  .sec_luka06 .splide__track li .btn {
    width: 230px;
  }
  
  .m_card02 .m_img_wrap {
    height: 220px;
  }

  .m_card01 .m_img_wrap,
  .m_card03 .m_img_wrap {
    height: 160px;
  }
}