@media screen and (min-width:768px){
  .sp_only{
    display: none!important;
  }
}/*@media screen and (min-width:768px){*/

@media screen and (max-width:767px){
  .sp_hide{
    display: none!important;
  }

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


  .container{
    width: 88%;
    max-width: 400px;
    margin:0 auto;
  }

  /*セクションのタイトルセット*/
  .common_sec_title .en_title{
    font-size: 14px;
    letter-spacing: -0.06em;
  }

  .common_sec_title .ja_title{
    font-size: 24px;
    margin-top: 8px;
  }


  /*バナー部分*/
  .common_banner_area{
    margin-top: 28px;
  }

  .common_banner_area .banner_text{
    display: flex;
    justify-content: center;
  }

  .common_banner_area .banner_text img{
    width:252px;
  }

  .common_banner_area .banner{
    width: 280px;
    margin:8px auto 0;
  }

  /*
  ------------------------------------
  ヘッダー
  ------------------------------------
  */

  #drawer_menu .drawer_menu_frame{
    width:100vw;
  }

  /*
  ------------------------------------
  フッター
  ------------------------------------
  */
  footer{

  }


  footer .footer_area01{
    padding:32px 0 40px;
  }

  footer .footer_flex01{
    display: flex;
    align-items:center;
    flex-direction: column-reverse;
  }


  footer .footer_logo{
    width: 120px;
  }

  footer .footer_nav{
    margin: 64px auto 0;
  }

  footer .parent_menu{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    
  }

  footer .parent_item{
    width: 100%;
  }

  footer .parent_item + .parent_item{
    margin-left: 0;
    margin-top: 24px;
    
  } 

  footer .parent_link{
    width: 100%;
  }
  

  footer .parent_link .en_title{
    font-size: 16px;
    line-height: 1.2;
    width: 140px;
  }

  footer .parent_link .ja_title{
    margin-top: 0;
    font-size: 14px;
    margin-left: 0;
    line-height: 1.2;
  }

  footer .footer_border{
    margin-top: 40px;
  } 

  footer .footer_flex02{
    margin-top: 48px;
  }

  footer .footer_adress01{
    font-size: 16px;
    text-align: center;
  }

  footer .footer_adress02{
    margin-top: 16px;
    font-size: 14px;
  }

  footer .map_link{
    height: 34px;
    border-radius: 17px;
    margin-top: 32px;
  }


  footer .footer_right02{
    margin-top: 40px;
  }

  footer .banner_link img{
    width: 265px;
    margin:10px auto 0;
  }

  footer .insta_link{
    margin-left: 0;
    display: block;
    margin: 16px auto 0;

  }
  footer .insta_link img{
    width: 35px;
    margin:16px auto 0;
  }

  footer .footer_area02{
    padding:12px 0;
  }

  footer .footer_copy{
    font-size: 11px;
  }
  /*
  ------------------------------------
  トップページ
  ------------------------------------
  */

  body.top_body{
    
  }

  main.top_main{

  }

  .top_mv_section{
    padding-top: 96px;
  }

  .top_mv_section .container{
    width:95% ;
  }

  
  .top_mv_section .mv_head img{
    width:270px;
    max-width: 100%;
  }
  
  .top_mv_section .mv_text{

    font-size: 20px;
    line-height: 1.8;
    white-space: nowrap;
    width: fit-content;
  } 
  
  .top_mv_section .mv_text span{
    padding:6px 8px;
  }
  
  .top_mv_section .mv_link{
    margin-top: 40px;
    width: 256px;
    height:68px;
    border-radius: 40px;
    letter-spacing: 0.12em;
  }
  
  
  .top_mv_section .mv_flex{
    line-height: 1;
    font-size: 20px;
    margin-top: 96px;
  }

  
  .top_mv_section .mv_flex .scroll::after{
    width:13px;
    height:16px;
    margin-left: 8px;
  }
  
  .top_mv_section .mv_img{
    margin-top: 32px;
  }
  
  
  .top_mv_section .present_head{
    margin-top: 40px;
  }
  
  .top_mv_section .present_head img{
    width:300px;
  }
  
  
  .top_mv_section .present_flex{
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    align-items:center;
    padding-left: 0;
  }
  
  .top_mv_section .present_flex img{
    height:auto;
    width:240px;
  }
  
  .top_mv_section .present_flex .border{
    display: none;
  }

  .top_mv_section .present_item02{
    margin-top: 24px;
  }
  
  
  .top_mv_section .conslut_link{
    margin:32px auto 0;
    height:45px;
    padding:0 38px;
    font-size:16px;  
  }
  
  
  .top_mv_section .conslut_link span::before{
    width:15px;
    height: 17px;
    left:-24px;
  }
  .top_mv_section .conslut_link span::after{
    width:8px;
    height:15px;
    right:-24px;
  }

  .top_partner_section{
    padding-top: 56px;
  }

  .top_partner_section .partner_slide_area{
    border-top:1px solid #000;
    border-bottom:1px solid #000;
    padding-top: 6px;
    padding-bottom: 6px;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }


  .top_partner_section .partner_slide{
    height:27px;
    padding:0 5px;
  } 


  .top_work_section{
    padding-top: 32px;
  } 

  .top_work_section .sec_title{
    font-weight: bold;
    font-size: 24px;
    line-height: 1.4;
  }

  .top_work_section .work_flex{
    margin-top: 32px;
    white-space: nowrap;
  }
  

  .top_work_section .work_flex .work_center{
    width:1px;
    margin:0 12px;
  }


  .top_work_section .work_p01{
    font-size: 14px;
    letter-spacing: 0.1em;
  }

  .top_work_section .work_p01::after{
    font-size: 10px;
    top:-4px;
    right:-16px;
  }

  .top_work_section .work_p02{
    margin-top: 8px;
    font-size: 13px;
    letter-spacing: 0;
  }

  .top_work_section .work_p02 span{
    font-size: 18px;
  }

  .top_work_section .work_p03{
    font-size: 12px;
    letter-spacing: 0.1em;
    margin-top: 12px;
    text-align: center;
    color:rgba(0,0,0,0.3);
  }


  .top_work_section .work_slide_area{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    margin-top: 48px;
  }

  .top_work_section .work_slide{
    width:285px;
    padding:0 5px;
  }

  .top_work_section .work_card{
    min-height:330px;
    border-radius: 5px;
    border: 2px solid #000;
    padding:24px 24px 12px;
  }


  .top_work_section .work_card .work_title{
    min-width: 168px;
    padding:3px 8px;
    line-height: 1.2;
    letter-spacing: 0.08em;
    font-size: 14px;
  }

  .top_work_section .work_card .work_text{
    margin-top: 16px;
    font-size: 14px;
  }

  .top_work_section .work_img_area{
    margin-top: 24px;
  }

  .top_work_section .work_img_area img{
    height:70px;
  }

  .top_work_section .work_button_area{
    max-width: 290px;
    margin: 40px auto 0;
  }

  .top_work_section .work_button{
    width: 46px;
    height: 30px;
    border-radius: 20.5px;
  }

  .top_work_section .work_button::after{
    width:18px;
    height:12px;
  }

  .top_work_section .work_button_prev::after{
    margin-right: 10px;
  }
  .top_work_section .work_button_next::after{
    margin-left: 10px;
  }

  .top_work_section .work_border{
    margin-top: 32px;
  }

  .top_work_section .work_border::before,
  .top_work_section .work_border::after{
    margin-top: 6px;
  }

  .top_about_section{
    padding-top: 50px;
  }

  .top_about_section .about_flex{
    padding:0 20px;
    margin-top: 24px;
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
  }

  .top_about_section .about_flex::after{
    content:none;
  }

  .top_about_section .about_flex .about_img{
    width:100%;
    margin-right: 0;
  }

  .top_about_section .about_text_area{
    padding:0;
    margin-top: 24px;
  } 

  .top_about_section .about_head{
    font-size: 15px;
    white-space: nowrap;
    line-height: 1.8;
    text-align: center;
  }

  .top_about_section .about_text{
    margin-top: 20px;
    padding:0 20px;
    line-height: 1.5;
    font-weight: 400;
  }

  .top_info_section{
    padding-top: 64px;
  } 

  .top_info_section .info_list{
    display: block;
    margin-top: 24px;
    padding-bottom: 0;
    padding:0 20px;
  }

  .top_info_section .info_block{
    min-width:100%;
    /* width: 31%; */
  }

  .top_info_section .info_block .info_head{
    justify-content: flex-start;
    height:46px;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 1.2;
    padding:0 30px;
    margin-top: 24px;
  }

  .top_info_section .info_block .info_head::after{
    width: 12px;
    height:7px;
    right:12px;
    background-size: contain;
  }


  .top_info_section .info_contents{
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .top_info_section .point_list{
    display: flex;
    justify-content: flex-start;
    
  }

  .top_info_section .point_block{
    width: 298px;
    min-height: 290px;
    border: 2px solid #000;
    padding:64px 20px 12px;
  }

  .top_info_section .point_block + .point_block{
    margin-left: 20px;
  }

  .top_info_section .point_block .point_num{
    min-width:140px;
    padding-top: 8px;
    padding-bottom: 8px;
    padding-left: 20px;
    font-size: 14px;
    clip-path: polygon(0 0, 100% 0%, calc(100% - 28px) 100%, 0% 100%);
  }

  .top_info_section .point_block .point_num span{
    font-size:19px;
    padding-left: 2px;
  }

  .top_info_section .point_block .point_head{

    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 1.7;
  }

  .top_info_section .point_block .point_text{
    margin-top: 20px;
    line-height: 1.5;
    font-size: 14px;
  }

  .top_info_section .info_border{
    max-width: 932px;
    margin:24px auto 0;
    padding:0 20px;
  }


  .top_service_section{
    padding-top: 64px;
  }

  .top_service_section .service_list{
    margin-top: 20px;
  }

  .top_service_section .service_block{
    padding:0 20px;
  }

  .top_service_section .service_block + .service_block{
    margin-top: 64px;
  }

  .top_service_section .service_block .service_text_area{
    padding-bottom: 0;
    margin-top: 32px;
  }

  .top_service_section .service_block .service_head{
    display: flex;
    align-items: center;
  }

  .top_service_section .service_block .service_en{
    font-size: 14px;
    padding-bottom: 3px;
    border-bottom:1px solid #000;

  }

  .top_service_section .service_block .service_num{
    margin-left: 5px;
    font-size: 20px;
    -webkit-text-stroke: 1px #000;
  }

  .top_service_section .service_block .service_title{
    margin-top: 16px;
    font-size: 20px;
  }

  .top_service_section .service_block .service_text{
    margin-top: 16px;
    letter-spacing: 0.08em;
    line-height: 1.5;
    font-size: 14px;
  }


  .top_service_section .service_block:nth-child(odd)::before{
    height:calc(100% + 64px);
    right:calc(50% - 80px);
  }

  .top_function_section{
    padding-top: 96px;
  }

  .top_function_section .common_sec_title .ja_title {
    font-size: 22px;
    margin-top: 8px;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }

  .top_function_section .function_area{
    margin-top: 48px;
    min-height: 540px;
    position: relative;

  }

  .top_function_section .function_area::before{
    content:'';
    width:106px;
    height:100px;
    background-color: #fff;
    position: absolute;
    left:-2px;
    bottom:472px;
    z-index: 2;
  }

  .top_function_section .function_area .function_inner{
    overflow-x: scroll;
    padding-left: 108px;
  }

  .top_function_section .function_area .function_img{
    display: none;
  }

  .top_function_section .function_area .function_head{
    position: absolute;
    left:0;
    bottom:0;
    width:104px;
    z-index: 3;
  }

  .top_function_section .function_area .function_body{
    width:630px;
  }


  .top_voice_section{
    padding-top: 64px;
  }

  .top_voice_section .gal_area{
    max-width: 1000px;
    margin: 24px auto 0;
  }

  .top_voice_section .gal_main_slide_list{
    position: relative;
    height:210px;
  }

  .top_voice_section .gal_guide_list{
    bottom:8px;
  }
  
  .top_voice_section .gal_thumb_list{
    margin-top:8px;
  }

  .top_voice_section .gal_thumb{
    width: 18.5%;
  }
  
  .top_voice_section .gal_text_area{
    max-width: 530px;
    padding:0 10px;
    margin:24px auto 0;
    letter-spacing: 0.06em;
    font-size: 14px;
    line-height: 1.5;
    position: relative;
    height:140px;
    overflow: hidden;
    min-height: 60px;
  }

  .top_voice_section .gal_text_area.active{
    height:auto;
  }

  .top_voice_section .gal_text_more{
    position: absolute;
    z-index: 2;
    cursor: pointer;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0.06em;
    line-height: 1;
    background: linear-gradient(to top, #fff 0%, rgba(255, 255, 255, 0.7) 100%);
    font-size: 14px;
  }

  .top_voice_section .gal_text_more::after {
    content: '';
    width: 8px;
    height: 8px;
    flex-shrink: 0;
    background-image: url('../img/common/icon_plus_black.svg');
    margin-left: 8px;
}
  
  .top_voice_section .gal_pagenation{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 32px;
  }
  
  
  .top_voice_section .gal_pagenation .gal_num{
    width: 30px;
    height:30px;
    margin:0 6px;
    font-size: 14px;
  }
  
  
  .top_voice_section .gal_pagenation .gal_nav{
    font-size: 14px;
  }
  
  .top_voice_section .gal_pagenation .gal_nav.gal_next{
    margin-left: 0;
  }
  
  .top_voice_section .gal_pagenation .gal_nav.gal_next::after{
    width: 8px;
    height:16px;
    margin-left: 12px;
  }
  
  .top_voice_section .gal_pagenation .gal_nav.gal_prev{
    margin-right: 0;
  }
  
  .top_voice_section .gal_pagenation .gal_nav.gal_prev::before{
    width: 8px;
    height:16px;
    margin-right: 12px;
  }

  .top_voice_section .voice_list{
    margin:64px auto 0; 
  }

  .top_voice_section .voice_block{

  }

  .top_voice_section .voice_block + .voice_block{
    margin-top: 48px;
  }

  .top_voice_section .voice_head{
    display: flex;
    align-items: flex-start;
    border-bottom:1px solid #E3E5E4;
    padding-bottom: 3px;
  }

  .top_voice_section .voice_img{
    width:100px;
    margin-right:5px;
    
  }


  .top_voice_section .voice_info_area{
    padding-bottom: 0;
    border-bottom:none;
    padding-top: 10px;
  }

  .top_voice_section .voice_cat{
    min-width: 120px;
    padding:4px 8px;
    border-radius: 100px;
    font-size: 13px;
    line-height: 1.3;
  }

  .top_voice_section .voice_title{
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.3;
  }

  .top_voice_section .voice_name{
    margin-top: 16px;
    font-size: 12px;
    font-weight: normal;
  }

  .top_voice_section .voice_body{
    margin-top: 16px;
    max-height: 120px;
  }

  .top_voice_section .voice_text{
    line-height: 1.5;
    font-size: 14px;
    letter-spacing: 0.06em;
  }

  .top_voice_section .voice_more{
    height:40px;
    font-size: 14px;
  }

  .top_voice_section .voice_more::after{
    width:12px;
    height:12px;
    margin-left: 8px;
  }

  .top_faq_section{
    padding-top: 56px;
  }

  .top_faq_section .faq_list{
    margin:24px auto 0;
  }


  .top_faq_section .faq_question{
    padding:16px 40px 16px 32px;
    font-size: 14px;
    line-height: 1.6;
  }

  .top_faq_section .faq_question::before{
    font-size: 14px;
    left:6px;
    top: 18px;
  }

  .top_faq_section .faq_question::after{
    width:15px;
    height:15px;
    right:0;
    top:20px;
  }

  .top_faq_section .faq_answer{
    margin-top: 8px;
    padding-bottom: 24px;
    padding-left: 32px;
    padding-right: 16px;
    line-height: 1.7;
    font-size: 14px;
  }

  .top_faq_section .faq_answer::before{
    font-size: 14px;
    left:6px;
    top: 2px;
  }

  .top_message_section{
    padding-top: 64px;
    padding-bottom: 72px;
  }

  .top_message_section .message_frame{
    padding:64px 0 56px;
    position: relative;
  }

  .top_message_section .message_frame::before{
    content:'';
    width:100vw;
    height:100%;
    background-color:#E3E5E4 ;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: -2;
  }

  .top_message_section .message_head01{
    font-size: 40px;
  }


  .top_message_section .message_head02{
    margin:4px auto 0;
    font-size: 23px;
    letter-spacing: 0.23em;
  }

  .top_message_section .message_head02 img{
    width:24px;
    top:6px;
    left:-10px;
  }

  .top_message_section .message_head03{
    margin-top: 24px;
    letter-spacing: 0.25em;
    font-size: 14px;
  }

  .top_message_section .message_head03 strong{
    font-size: 14px;
  }

  .top_message_section .message_border{
    margin-top: 16px;
    border-top: 2px dashed #000;
  }

  .top_message_section .message_text{
    margin-top: 12px;
    letter-spacing: 0.25em;
    line-height: 1.5;
    font-weight: normal;
  }

  .top_message_section .message_mv{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    height:220px;
    background-image: url('../img/top/message_mv_sp.jpg');
  }



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


  body.contact_body{
    
  }

  main.contact_main{

  }

  .contact_section{
    position: relative;
  }

  .contact_mv_section{
    padding-top: 108px;
    
  }

  .contact_mv_section .page_title .en_title{
    font-size: 26px;
    letter-spacing: -0.06em;
  }

  .contact_mv_section .page_title .ja_title{
    margin-left: 6px;
    width:105px;
  }

  .contact_mv_section .contact_text{
    margin-top: 12px;
    letter-spacing: 0.05em;
    line-height: 1.5;
    font-size: 14px;
  }

  .contact_section01{
    padding-top: 40px;
    padding-bottom: 56px;
  }

  .contact_section01 .form_area{
    padding: 24px 16px 0;
  }


  .contact_section01 .form_line{
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }

  .contact_section01 .form_line + .form_line{
    margin-top: 20px;
  }

  .contact_section01 .form_line .form_title{
    font-size: 14px;
    letter-spacing: 0.06em;
    line-height: 1.2;
  }

  .contact_section01 .form_line .form_title::after{
    content:'必須';
    width: 45px;
    height: 27px;
    font-size: 13px;
    margin-left: 8px;
  }


  .contact_section01 .form_line .form_right{
    width: 100%;
    margin-top: 20px;
  }


  .contact_section01 .form_line .wpcf7-checkbox{
    padding-bottom: 0;
  }

  .contact_section01 .form_line .wpcf7-checkbox .wpcf7-list-item{
    font-size: 14px;
    letter-spacing: 0.08em;
  }

  .contact_section01 .form_line .wpcf7-checkbox .wpcf7-list-item input{
    width:24px;
    height:24px;
    margin-right: 12px;
  }

  .contact_section01 .form_line .wpcf7-checkbox .wpcf7-list-item + .wpcf7-list-item{
    margin-top: 16px;
  }
  .contact_section01 .form_line .input_frame{
    margin-top: 0;
  }

  .contact_section01 .form_line .input_frame input{
    height:40px;
    padding:0 12px;
    font-size:14px;
  }

  .contact_section01 .form_line .select_frame{
    position: relative;
    margin-top: 0;
  }

  .contact_section01 .form_line .select_frame::after{
    border-width: 10px 8px 0 8px;
    right:16px;

  }

  .contact_section01 .form_line .select_frame select{
    height:40px;
    padding:0 48px 0 12px;
    font-size: 14px;
    letter-spacing: 0.06em;
  }

  .contact_section01 .form_line .text_frame textarea{
    height:170px;
    padding:16px;
    font-size: 14px;
  }

  .contact_section01 .submit_area{
    margin-top: 48px;
  }

  .contact_section01 .submit_area input{
    width: 137px;
    height: 50px;
    border-radius: 5px;
    font-size: 14px;
  }
  
}/*@media screen and (max-width:767px){*/