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

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

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

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


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

  /*セクションのタイトルセット*/
  .common_sec_title{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .common_sec_title .en_title{
    font-size: 18px;
    letter-spacing: -0.06em;
  }

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


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

  .common_banner_area .banner{
    margin:0 auto;
  }

  /*
  ------------------------------------
  ヘッダー
  ------------------------------------
  */
  header{
    pointer-events: none;
    background-color: transparent;
  }

  header a{
    pointer-events: auto;
  }

  header .header_inner{
    max-width: 1200px;
    margin:0 auto;
    padding:10px 12px 0;
  }


  header .header_logo{
    display: block;
    pointer-events: auto;
    width:68px;
    border-radius: 50%;
  }

  header .header_logo img{
    width:100%;
    border-radius: 50%;
  }

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

  header .header_nav{
    display: none;
  }

  header .button_list{
    display: none;
  }

  header .drawer_open{
    width: 152px;
    height: 53px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid #000;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
    display: flex;
    align-items: center;
    padding-left: 30px;
    pointer-events: auto;
    cursor: pointer;
  }

  header .drawer_open .drawer_open_text{
    width:64px;
    font-weight: bold;
    font-size: 14px;
  }

  header .drawer_open .drawer_open_inner{
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  header .drawer_open .bar{
    width:22px;
    height:2px;
    background-color: #000;
    transition-duration: 0.4s;
  }

  header .drawer_open .bar02{
    width:18px;
    margin:5px 0;
  }

  header .drawer_open.active .bar01 {
    transform: translateY(1px) rotate(-45deg);
  }
  header .drawer_open.active .bar02 {
    display: none;
  }
  header .drawer_open.active .bar03 {
    transform: translateY(-1px) rotate(45deg);
  }

  #drawer_menu_bg{
    position: fixed;
    width: 100%;
    height:100vh;
    top:0;
    left:0;
    z-index:15;
    opacity: 0;
    pointer-events: none;
    transition-duration: 0.7s;
    background-color: rgba(0,0,0,0.6);
  }

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

  #drawer_menu{
    position: fixed;
    top:0;
    right:0;
    z-index:20;
    opacity: 0;
    pointer-events: none;
    transition-duration: 0.7s;
  }

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

  #drawer_menu .drawer_menu_frame{
    width:360px;
    height: calc(100vh ); 
    height: calc(var(--vh2, 1vh) * 100);
    background-color: #fff;
    padding-top: 90px;
  }

  #drawer_menu .drawer_menu_inner{
    padding:0 32px;
    height:100%;
    overflow-y: scroll;
  }

  #drawer_menu .drawer_menu_contents{
    padding-bottom: 48px;
  }

  #drawer_menu .parent_item + .parent_item{
    border-top: 1px solid #707070;
  } 

  #drawer_menu .parent_link{
    display: block;
    padding:16px 0;
  }
  
  #drawer_menu .parent_link .ja_title{
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 1.2;
    font-feature-settings: 'palt';
  }

  #drawer_menu .parent_link .en_title{
    margin-top: 4px;
    font-weight: normal;
    font-size: 12px;
    letter-spacing: -0.06em;
    color: #6f6f6f;
  }

  #drawer_menu .button_list{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 24px;
  }

  #drawer_menu .button{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 229px;
    height: 52px;
    border-radius: 4px;
    border: 1px solid #707070;
    font-weight: bold;
    letter-spacing: 0.14em;
    line-height: 1;
  }

  #drawer_menu .button + .button{
    margin-top: 24px;
  }

  #drawer_menu .button.consult::after{
    content:'';
    width:11px;
    height:11px;
    background-image: url('../img/common/icon_consult02_black.svg');
    margin-left: 8px;
  }

  #drawer_menu .drawer_border{
    margin-top: 32px;
    height:1px;
    background-color: #707070;
  }

  #drawer_menu .insta_link{
    display: block;
    width: fit-content;
    margin:32px auto 0;
  }

  #drawer_menu .insta_link p{
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 1;
  }

  #drawer_menu .insta_link img{
    width:35px;
    margin:12px auto 0;
  }
  /*
  ------------------------------------
  フッター
  ------------------------------------
  */

  footer{

  }


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

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


  footer .footer_logo{
    width: 160px;
    margin:0 auto;
  }

  footer .footer_left01{
    display: none;
  }


  footer .footer_nav{
    width: fit-content;
    margin: 64px auto 0;
  }

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


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

  footer .parent_link{
    display: flex;
    flex-direction: row;
    align-items: center;
    width: fit-content;
  }

  footer .parent_link .en_title{
    font-size: 30px;
    line-height: 1.2;
  }

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

  footer .footer_border{
    border-top: 1px solid #000000;
    margin-top: 48px;
  } 

  footer .footer_flex02{
    margin-top: 48px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
  }

  footer .footer_left02{
    padding-top: 0;
    display: flex;
    align-items: center;
    flex-direction: column;
  }

  footer .footer_adress01{
    font-weight: bold;
    font-size: 30px;
    letter-spacing: 0.03em;
    line-height: 1;
  }

  footer .footer_adress02{
    margin-top: 16px;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.08em;
    line-height: 1;
  }

  footer .map_link{
    height: 34px;
    border-radius: 17px;
    padding-left:12px;
    padding-right:16px;
    margin-left: 0;
    margin-top: 40px;
  }


  footer .footer_right02{
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 64px;
  }

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

  body.top_body header.active{
    background-color:transparent;
  }

  main.top_main{

  }


  .top_mv_section{
    padding-top: 96px;
  }
  
  .top_mv_section .mv_head{
  
  }
  
  .top_mv_section .mv_head img{
    /* width:100%; */
  }
  
  .top_mv_section .mv_text{
    font-size: 36px;
    line-height: 1.5;
  } 
  
  .top_mv_section .mv_text span{
    padding:6px 8px;
  }
  
  .top_mv_section .mv_link{
    margin-top: 56px;
    width: 221px;
    height: 51px;
    letter-spacing: 0.12em;
  }
  
  
  .top_mv_section .mv_flex{
    line-height: 1;
    margin-top: 150px;
  }
  
  
  .top_mv_section .mv_flex .scroll::after{
    width:10px;
    height:11px;
    margin-left: 6px;
  }
  
  .top_mv_section .mv_img{
    margin-top: 40px;
  }
  
  
  .top_mv_section .present_head{
    margin-top: 44px;
  }
  
  .top_mv_section .present_head img{
    width:620px;
  }
  
  
  .top_mv_section .present_flex{
    margin-top: 56px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-left: 0;
  }
  
  .top_mv_section .present_flex img{
    height:240px;
  }
  
  .top_mv_section .present_flex .border{
    width:1px;
    height:178px;
    background-color: #000;
    margin:0 32px 16px;
  }
  
  
  .top_mv_section .conslut_link{
    margin:48px auto 0;
    height:72px;
    padding:0 116px;
    font-size: 30px;  
  }
  
  
  .top_mv_section .conslut_link span::before{
    width:24px;
    height:27px;
    left:-44px;
  }
  .top_mv_section .conslut_link span::after{
    width:13px;
    height:23px;
    right:-66px;
  }


  .top_partner_section{
    padding-top: 96px;
  }

  .top_partner_section .partner_slide_area{
    border-top:2px solid #000;
    border-bottom:2px solid #000;
    padding-top: 16px;
    padding-bottom: 16px;
  }


  .top_partner_section .partner_slide{
    height:42px;
    padding:0 10px;
  } 


  .top_work_section{
    padding-top: 80px;
  } 

  .top_work_section .sec_title{
    font-weight: bold;
    font-size: 50px;
    line-height: 1.2;
  }

  .top_work_section .work_flex{
    margin-top: 80px;
  }

  .top_work_section .work_flex .work_center{
    width:3px;
    margin:0 40px;
  }


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

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

  .top_work_section .work_p02{
    margin-top: 12px;
    font-size: 19px;
  }

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

  .top_work_section .work_p03{
    font-size: 12px;
    letter-spacing: 0.1em;
    margin-top: 12px;
  }

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

  .top_work_section .work_swiper{
    pointer-events: auto;
  }

  .top_work_section .work_slide{
    width:370px;
    padding:0 10px;
  }

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


  .top_work_section .work_card .work_title{
    min-width: 201px;
    padding:6px 8px;
    line-height: 1.2;
    letter-spacing: 0.08em;
  }

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

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

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

  .top_work_section .work_button_area{
    max-width: 600px;
    margin: 60px auto 0;
  }

  .top_work_section .work_button{
    width: 62px;
    height: 41px;
    border-radius: 20.5px;
  }

  .top_work_section .work_button::after{
    width:25px;
    height:16px;
  }

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

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

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

  .top_about_section{
    padding-top: 120px;
  }

  .top_about_section .about_flex{
    margin-top: 56px;
    display: flex;
    position: relative;
  }

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

  .top_about_section .about_flex .about_img{
    width:260px;
    margin-right: 32px;
  }

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

  .top_about_section .about_head{
    font-size: 24px;
    line-height: 1.8;
  }

  .top_about_section .about_text{
    margin-top: 40px;
    line-height: 1.5;
  }

  .top_info_section{
    padding-top: 120px;
  } 

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

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

  .top_info_section .info_block .info_head{
    
    height:54px;
    font-size: 18px;
    letter-spacing: 0.08em;
    line-height: 1.2;
    padding:0 48px;
    margin-top: 24px;
  }

  .top_info_section .info_block .info_head::after{
    width: 14px;
    height:8px;
    right:16px;
  }


  .top_info_section .info_contents{
    width:100%;
    padding-top: 30px;
    border-top:none;
    position: static;
    padding-bottom: 30px;
    overflow-y: scroll;
  }

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

  .top_info_section .point_block{
    width: 376px;
    flex-shrink: 0;
    min-height: 464px;
    border: 2px solid #000;
    padding:132px 32px 24px;
  }

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

  .top_info_section .point_block .point_num{
    min-width:170px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 24px;
    font-size: 17px;
    clip-path: polygon(0 0, 100% 0%, calc(100% - 35px) 100%, 0% 100%);
  }

  .top_info_section .point_block .point_num span{
    font-size: 23px;
    padding-left: 4px;
  }

  .top_info_section .point_block .point_head{

    font-size: 22px;
    letter-spacing: 0.08em;
    line-height: 1.5;
  }

  .top_info_section .point_block .point_text{
    margin-top: 28px;
    line-height: 2;
  }

  .top_info_section .info_border{
    max-width: 932px;
    margin:40px auto 0;
  }


  .top_service_section{
    padding-top: 120px;
  }

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

  .top_service_section .service_block{
    display: flex;
    align-items: center;
    flex-direction: column;
    position: relative;
    width: 100%;
    max-width: 600px;
    margin:0 auto;
  }

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

  .top_service_section .service_block .service_img{
    width:100%;
  }


  .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: 20px;
    padding-bottom: 2px;
    border-bottom:2px solid #000;

  }

  .top_service_section .service_block .service_num{
    margin-left: 8px;
    font-size: 40px;
    -webkit-text-stroke: 2px #000;
  }

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

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


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

  .top_service_section .service_block:nth-child(odd) .service_img{
    margin-right: 0;
  }
  .top_service_section .service_block:nth-child(odd) .service_text_area{
    padding-right: 0;
  }


  .top_service_section .service_block:nth-child(even){
    flex-direction: column;
  }
  .top_service_section .service_block:nth-child(even) .service_img{
    margin-left: 0;
  }

  .top_function_section{
    padding-top: 120px;
  }

  .top_function_section .function_area{
    margin-top: 64px;
  }


  .top_voice_section{
    padding-top: 160px;
  }

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

  .top_voice_section .voice_block{

  }

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

  .top_voice_section .voice_head{
    display: flex;
    align-items: flex-start;
  }

  .top_voice_section .voice_img{
    width:146px;
    margin-right: 12px;
  }


  .top_voice_section .voice_info_area{
    padding-bottom: 8px;
    border-bottom:1px solid #E3E5E4;
    padding-top: 10px;
  }

  .top_voice_section .voice_cat{
    min-width: 207px;
    padding:4px 16px;
    border-radius: 100px;
    font-size: 18px;
    line-height: 1.2;
  }

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

  .top_voice_section .voice_name{
    margin-top: 16px;
  }

  .top_voice_section .voice_body{
    margin-top: 32px;
    max-height: 240px;
  }

  .top_voice_section .voice_text{
    line-height: 1.5;
    letter-spacing: 0.06em;
  }

  .top_voice_section .voice_more{
    height:60px;
  }

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

  .top_faq_section{
    padding-top: 120px;
  }

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


  .top_faq_section .faq_question{
    padding:24px 96px 24px 64px;
    font-size: 18px;
    line-height: 1.3;
  }

  .top_faq_section .faq_question::before{

    font-size: 40px;
    left:12px;
    top: 14px;
  }

  .top_faq_section .faq_question::after{
    width:30px;
    height:30px;
    right:24px;
    top:22px;
  }

  .top_faq_section .faq_answer{
    margin-top: 40px;
    padding-bottom: 40px;
    padding-left: 64px;
    padding-right: 48px;
    line-height: 1.7;
  }

  .top_faq_section .faq_answer::before{
    font-size: 40px;
    left:12px;
    top: -10px;
  }

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

  .top_message_section .message_frame{
    padding:160px 24px;
  }

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


  .top_message_section .message_head02{
    margin:16px auto 0;
    font-size: 50px;
    letter-spacing: 0.26em;
  }

  .top_message_section .message_head02 img{
    width:36px;
    top:16px;
    left:-12px;
  }

  .top_message_section .message_head03{
    margin-top: 16px;
    letter-spacing: 0.25em;
  }

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

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

  .top_message_section .message_mv{
    height:441px;
    background-image: url('../img/top/message_mv.jpg');
  }



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


  body.contact_body{
    
  }

  main.contact_main{

  }

  .contact_section{
    position: relative;
  }

  .contact_mv_section{
    padding-top: 210px;
    
  }


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

  .contact_mv_section .page_title .ja_title{
    margin-left: 40px;
    width:187px;
  }

  .contact_mv_section .contact_text{
    margin-top: 40px;
    letter-spacing: 0.05em;
    line-height: 1.7;

  }

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

  .contact_section01 .form_area{
    padding-top: 72px;
  }


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

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

  .contact_section01 .form_line .form_title{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-right: 0;
    width:100%;
    font-size: 22px;
    letter-spacing: 0.06em;
    line-height: 1.2;
  }

  .contact_section01 .form_line .form_title::after{
    content:'必須';
    width: 60px;
    height: 30px;
    font-size: 16px;
    margin-left: 24px;
  }

  .contact_section01 .form_line .form_title.free::after{
    content:none;
  }

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


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

  .contact_section01 .form_line .wpcf7-checkbox .wpcf7-list-item{
    margin-left: 0;
    cursor: pointer;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.08em;
  }

  .contact_section01 .form_line .wpcf7-checkbox .wpcf7-list-item label{
    display: flex;
    align-items: center;
    cursor: pointer;
  }

  .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: 24px;
  }
  .contact_section01 .form_line .input_frame{
    margin-top: 0;
  }

  .contact_section01 .form_line .input_frame input{
    height:60px;
    padding:0 16px;
    font-size: 22px;
  }



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

  .contact_section01 .form_line .select_frame::after{
    border-width: 14px 8px 0 8px;
    right:24px;

  }

  .contact_section01 .form_line .select_frame select{
    height:60px;
    padding:0 60px 0 16px;
    font-size: 22px;
    letter-spacing: 0.06em;
  }

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

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

  .contact_section01 .submit_area input{
    width: 137px;
    height: 65px;
    border-radius: 5px;
    font-size: 20px;
  }

  
}/*@media screen and (max-width:1200px){*/