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

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

  /*
  ------------------------------------
  共通パーツ
  ------------------------------------
  */
  .container{
    max-width: 600px;
    margin:0 auto;
  }

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

  header{

  }

  header .header_innder{
    padding:20px 32px 0;
  }



  header .header_logo{
    width:250px;
  } 


  header .drawer_open_inner{
    width:70px;
    height:30px;
  }

  header .drawer_open .bar{
    width:56px;
    height:2px;
  }

  header .drawer_open.active .bar{
    height:4px;
  }

  header .drawer_open.active .bar01 {
    transform: translateY(12.8px) rotate(-45deg);
  }
  header .drawer_open.active .bar03 {
    transform: translateY(-12.8px) rotate(45deg);
  }


  #drawer_menu{

  }


  #drawer_menu .drawer_contents{
    padding-top: 100px;
    padding-bottom: 100px;

  }


  #drawer_menu .drawer_nav li + li{
    margin-top: 50px;
  }

  #drawer_menu .drawer_nav .ja_title{
    font-size: 24px;
  }

  #drawer_menu .drawer_nav .en_title{
    font-size: 15px;
    margin-top: 12px;
  }



  /*
  ------------------------------------
  フッター
  ------------------------------------
  */
  footer{
    padding-top: 60px;
    padding-bottom: 20px;
  }


  footer .footer_inner{
    max-width: 1920px;
    margin:0 auto;
    padding-left: 5%;
    padding-right: 5%;

  }

  footer .footer_flex{
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
  }

  footer .footer_logo{
    display: block;
    width: 220px;
    margin:0 auto;
  } 

  footer .footer_address{
    margin-top: 40px;
    font-size: 14px;
  }

  footer .footer_tel{
    margin-top: 8px;
    font-size: 14px;
  }


  footer .footer_right{
    padding-top: 60px;
    padding-right:0;
  }

  footer .footer_nav ul{
    display: flex;
    align-items: center;
    flex-direction: column;
  } 

  footer .footer_nav ul li{
    margin-left: 0;
    margin-top: 24px;
  }

  footer .footer_nav ul li a{
    font-size: 14px;
  }


  footer .privacy{
    margin-top: 56px;
    text-align: center;
    font-weight: 400;
    font-size: 12px;
    line-height: 1;

  }

  footer .copy{
    margin-top: 16px;
    font-size: 11px;

  } 
  /*
  ------------------------------------
  ページ最下部
  ------------------------------------
  */
  .common_bottom_section{
    padding-top:150px;
    position: relative;
  } 

  .common_bottom_section p{
    font-size: 56px;
  }

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

  body.top_body{
    
  }

  body.top_body .common_bread_section{
    display: none;
  }

  main.top_main{

  }

  .top_section{

  }

  .top_mv_section{
    height: 100vh;
    min-height: 600px;
    position: relative;
  }

  .top_mv_section .mv_slide_frame{
    height:100%;
    position: relative;
    overflow: hidden;
  }

  .top_mv_section .mv_slide_frame .mv_slide.scale img{
    transition-duration: 20s;
    scale:1.2;
  }

  .top_mv_section .text_roop_frame{
    width: auto;
    min-width: 100%;
    left:0;
    bottom:-60px;
  }

  .top_mv_section .text_roop_item{
    animation: text_loop 20s linear infinite;
  }

  @keyframes text_loop {
    0%{
      transform: translateX(100vw);
    }
    100%{
      transform: translateX(-100%);
    }
  }


  .top_mv_section .text01{
    font-size: 36px;
    letter-spacing: 0.1em;
    color: #fff;
    line-height: 1;
    text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  }

  .top_mv_section .text02{
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 200px;
    letter-spacing: 0.03em;
    line-height: 1;
    color: #cf200e;
  }


  .top_future_section{
    padding-top: 530px;
    padding-bottom: 10px;
    overflow: hidden;
  }

  .top_future_section .contents_frame{

  }

  .top_future_section .contents_frame::before{

  }

  .top_future_section .future_item{
    border-radius: 10px;
  } 

  .top_future_section .future_item01{
    width:267px;
    top:-130px;
    left:-410px;
    transform: translate(-200px, -100px);
  }

  .top_future_section .future_item02{
    width:184px;
    top:-340px;
    left:-15px;
    transform: translate(-100px, -150px);
  }
  .top_future_section .future_item03{
    width:380px;
    top:-310px;
    left:397px;
    transform: translate(100px, -150px);
  }
  .top_future_section .future_item04{
    width:111px;
    top:28px;
    left:874px;
    transform: translate(100px, 50px);
  }
  .top_future_section .future_item05{
    width:265px;
    top:227px;
    left:630px;
    transform: translate(200px, 100px);
  }
  .top_future_section .future_item06{
    width:147px;
    top:184px;
    left:358px;
    transform: translate(100px, 150px);
  }

  .top_future_section .future_item07{
    width:281px;
    top:184px;
    left:-15px;
    transform: translate(-200px, 50px);
  }

  .top_future_section .text01{
    display: flex;
    align-items: center;
    font-size: 50px;
  }

  .top_future_section .text01 img{
    width:326px;
    margin-left: 8px;
  }

  .top_future_section .text02{
    margin-top: 12px;
    font-family: 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 30px;
  }

  .top_future_section .message_text{
    margin-top: 372px;
    font-size: 18px;
    line-height: 1.4;
  }



  .top_philo_section{
    padding-top: 180px;
  }

  .top_philo_section .sec_title{
    font-size: 90px;
    white-space: nowrap;
  }

  .top_philo_section .philo_frame{
    display: flex;
    justify-content: flex-end;
    margin-top: 40px;
  } 

  .top_philo_section .philo_block{
    width:100%;
    padding:72px 56px;
    color:#fff;
  } 

  .top_philo_section .philo_block::before{
    width: 280px;
    height:280px;
    left:-250px;
    top:90px;
  }

  .top_philo_section .philo_block .philo_head{
    font-size: 30px;
    line-height: 1.3;
  }

  .top_philo_section .philo_block .philo_text{
    margin-top: 56px;
    font-size: 20px;
    line-height: 1.4;
  }

  .top_service_section{
    padding-top: 200px;
    padding-bottom: 200px;
  }

  .top_service_section .service_list{
    position: relative;
    flex-direction: column;
    height:auto;
    
  }

  .top_service_section .service_block{
    position: static;
    top:0;
    width:100%;
    display: block;
    height:auto;
    aspect-ratio: 1 / 0.46;
    transition-delay: 0.7s;
    z-index: 1;
  }

  .top_service_section .service_block .service_inner{
    position: relative;
    width:100%;
    height:100%;
    transition-duration: 0.7s;
    transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
  }

  .top_service_section .service_block01 .service_inner{
    background-image: url('../img/top/top_service01.jpg');
  }

  .top_service_section .service_block02 .service_inner{
    background-image: url('../img/top/top_service02.jpg');
    background-position: center;
  }


  .top_service_section .service_block .service_title{
    left:20px;
    bottom:20px;
  }

  .top_service_section .service_block .service_title01{
    font-size: 48px;
  }

  .top_service_section .service_block .service_title02{
    margin-top: 8px;
    font-size: 24px;
  }

  .top_news_section{
    padding-top: 48px;
    padding-bottom: 72px;
    
  }

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

  .top_news_section .flex .left{
    width:360px;
    flex-shrink: 0;
    padding-left: 0;
  }

  .top_news_section .sec_title .en_title{
    font-size: 60px;
  }

  .top_news_section .sec_title .ja_title{
    margin-top: 8px;
    font-size: 20px;
  }

  .top_news_section .flex .right{
    width: 100%;
    padding-top: 40px;
  }

  .top_news_section .news_list li + li{
    margin-top: 40px;
  } 

  .top_news_section .news_list .news_date{
    font-size: 20px;
  }  

  .top_news_section .news_list .news_title{
    margin-top: 10px;
    font-size: 20px;

  }


  /*
  ------------------------------------
  下層mv
  ------------------------------------
  */

  .page_mv_section{
    position: relative;
    height:450px;
  }

  .page_mv_section::before{
    width: calc(1213 / 1920 * 100vw);
    height:480px;
  }

  .page_mv_section .page_title_set{
    top:200px;
    left:40px;
  }

  .page_mv_section .page_title_set .en_title{
    font-size: 60px;

  }

  .page_mv_section .page_title_set .ja_title{
    font-size: 18px;
    margin-top: 12px;
  }

  /*
  ------------------------------------
  パンクズ
  ------------------------------------
  */

  .common_bread_section{
    position: absolute;
    z-index: 1;
    left:32px;
    bottom:60px;
  }

  .common_bread_section .bread_list{

    gap:8px;
    line-height: 1.2;
    letter-spacing: 0;
  }


  /*
  ------------------------------------
  会社案内
  ------------------------------------
  */

  body.company_body{
    
  }

  main.company_main{

  }

  .company_mv_section::before{
    background-image: url('../img/company/company_mv.jpg');
  }

  .company_section01{
    background-color: #F5F5F5;
  }

  .company_section01 .container{
    padding-top: 80px;
    padding-bottom: 120px;
  }

  .company_section01 .container::after{
    width:150px;
    height:150px;
    right:0;
    bottom:-75px;
  }

  .company_section01 .sec_title{
    font-size: 40px;
  }

  .company_section01 .p01{
    margin-top: 48px;
    font-size: 16px;
  }

  .company_greeting_section{
    padding-top: 380px;
  }

  .company_greeting_section .sec_title_set{
    position: relative;
    flex-direction: column-reverse;
    z-index: 2;
  }

  .company_greeting_section .sec_title_set .ja_title{
    font-size: 20px;
    margin-top: 6px;
  }

  .company_greeting_section .sec_title_set .en_title{
    font-size: 60px;
    margin-top: 0;
  }

  .company_greeting_section .greeting_frame{
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
  }

  .company_greeting_section .greeting_block{
    width:100%;
    padding:72px 0 64px 56px;
    position: relative;
  }

  .company_greeting_section .greeting_pic{
    position: absolute;
    width:280px;
    top:-370px;
    left:100px;
  }

  .company_greeting_section .greeting_text01{
    font-size: 18px;
    line-height: 1.5;
  }

  .company_greeting_section .greeting_text02{
    display: flex;
    justify-content: flex-end;
    margin-top: 32px;
    font-size: 18px;
    line-height: 1.5;
  }

  .company_overview_section{
    padding-top: 220px;
  }

  .company_overview_section .sec_title_set{
    flex-direction: column-reverse;
    align-items: flex-start;
  }

  .company_overview_section .sec_title_set .ja_title{
    font-size: 20px;
    margin-top: 6px;
  }

  .company_overview_section .sec_title_set .en_title{
    font-size: 60px;
    margin-top: 0;
  }

  .company_overview_section .overview_frame{
    display: flex;
    justify-content: flex-end;
    margin-top: 72px;
  }

  .company_overview_section .overview_list{
    width:100%;
  }

  .company_overview_section .overview_list li{
    padding:20px 0;
  }


  .company_overview_section .overview_list .overview_title{
    width:170px;
    font-size: 18px;
    text-align: center;
  }

  .company_overview_section .overview_list .overview_contents{
    font-size: 18px;
    line-height: 1.5;
    padding:0 40px;
  }

  /*
  ------------------------------------
  サービス
  ------------------------------------
  */

  body.service_body{
    
  }

  main.service_main{

  }

  .service_mv_section::before{
    background-image: url('../img/service/service_mv.jpg');
  }

  .service_section01{
    background-color: #F5F5F5;
  }

  .service_section01 .container{
    padding-top: 80px;
    padding-bottom: 120px;
    position: relative;
  }

  .service_section01 .container::after{
    width:150px;
    height:150px;
    bottom:-28px;
    z-index: 13;
  }

  .service_section01 .sec_title{
    font-size: 40px;
    text-align: left;
    line-height: 1.4;
  }

  .service_section01 .p01{
    margin-top: 48px;
    font-weight: bold;
    font-size: 16px;
    line-height: 1.4;
  }


  .service_section01 .service_slide{
    width: 300px;
  }

  .service_section01 .service_slide img{
    width: 100%;
    aspect-ratio: 1 / 0.72;
    object-fit: cover;
  }

  .service_info_section{
    padding-top: 160px;
  }

  .service_info_section .service_area{
    position: relative;
  }

  .service_info_section .service_num{
    font-size: 80px;
    margin-top: 20px;
  }

  .service_info_section .service_head_set{
    display: flex;
    flex-direction: column;
    margin-top: 24px;
  }

  .service_info_section .service_head_set .service_head01{
    font-size: 40px;

  }
  .service_info_section .service_head_set .service_head02{
    margin-top: 8px;
    font-size: 20px;
  }

  .service_info_section .service_frame{
    margin-top: 16px;
    display: flex;
  }

  .service_info_section .service_block{
    width:100%;
    position: relative;
    padding-top: 72px;
    padding-bottom: 80px;
  } 

  .service_info_section .service_title{
    font-size: 30px;
    line-height: 1.3;
  }

  .service_info_section .service_text{
    margin-top: 26px;
    font-size: 18px;
    line-height: 1.5;
  }

  .service_info_section .service_area01{
    padding-top:0;
  }

  .service_info_section .service_area01 .service_img01{
    position: static;
    width:540px;
    margin:0 auto;
  }

  .service_info_section .service_area01 .service_num{
    display: flex;
    justify-content: flex-start;
    padding-right: 0;
    padding-left: 100px;
  }

  .service_info_section .service_area01 .service_head_set{
    align-items: flex-end;
  }

  .service_info_section .service_area01 .service_frame{
    justify-content: flex-end;
  }

  .service_info_section .service_area01 .service_block{
    padding-left: 72px;
    padding-right: 0px;
  }

  .service_info_section .service_area01 .service_block::before{
    left:0;
  }

  .service_info_section .service_area02{
    padding-top:0;
    margin-top: 120px;
  }

  .service_info_section .service_area02 .service_img02{
    position: static;
    width:408px;
    right:0;
    top:0;
    margin:0 auto;
  }

  .service_info_section .service_area02 .service_num{
    display: flex;
    justify-content: flex-end;
    padding-left: 0;
    padding-right: 100px;
  }

  .service_info_section .service_area02 .service_head_set{
    align-items: flex-start;
  }

  .service_info_section .service_area02 .service_block{
    padding-right: 72px;
    padding-left: 0;
  }

  .service_info_section .service_area02 .service_block::before{
    right:0;
  }

  /*
  ------------------------------------
  プライバシーポリシー
  ------------------------------------
  */

  body.privacy_body{
    
  }

  main.privacy_main{

  }

  .privacy_mv_section::before{
    background-image: url('../img/privacy/privacy_mv.jpg');
  }

  .privacy_section01{
    background-color: #F5F5F5;
  }

  .privacy_section01 .container{
    padding-top: 80px;
    padding-bottom: 120px;
    position: relative;
  }

  .privacy_section01 .container::after{
    width:150px;
    height:150px;
    bottom:-75px;
    z-index: 13;
  }

  .privacy_section01 .p01{
    font-size: 14px;
    line-height: 2;
  }

  .privacy_section02{
    padding-top: 80px;
    letter-spacing: 0.1em;
    line-height: 2;
  }

  .privacy_section02 * + .privacy_head{
    margin-top: 28px;
  }

  .privacy_section02 .privacy_text{
    margin-top: 16px;
    font-size: 14px;
  }

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

  body.contact_body{
    
  }

  main.contact_main{

  }

  .contact_mv_section::before{
    background-image: url('../img/contact/contact_mv.jpg');
  }

  .contact_section01{
    background-color: #F5F5F5;
  }

  .contact_section01 .container{
    padding-top:80px;
    padding-bottom: 80px;
    position: relative;
  }

  .contact_section01 .container::after{
    width:150px;
    height:150px;
    right:0;
    bottom:-75px;
    z-index: 13;
  }

  .contact_section01 .p01{
    font-weight: bold;
    font-size: 18px;
    line-height: 1.4;
  }

  .contact_form_section{
    padding-top: 100px;
  }

  .contact_form_section .form_block{
    max-width: 750px;
    margin:0 auto;
  }

  .contact_form_section .form_line + .form_line{
    margin-top: 24px;
  }

  .contact_form_section .form_title{
    font-size: 18px;
    line-height: 1.2;
  }

  .contact_form_section .form_contents{
    margin-top: 12px;
  }

  .contact_form_section .form_contents input[type="text"],
  .contact_form_section .form_contents input[type="email"],
  .contact_form_section .form_contents input[type="tel"],
  .contact_form_section .form_contents input[type="number"],
  .contact_form_section .form_contents select,
  .contact_form_section .form_contents textarea{

    height:45px;
    padding:0 16px;
    font-size: 18px;
  }

  .contact_form_section .form_contents select{
    padding:0 16px;
  }

  .contact_form_section .form_contents textarea{
    height:175px;
    padding:16px;
  }

  .contact_form_section .privacy_area{
    margin-top: 36px;
    gap:0 16px
  }

  .contact_form_section .privacy_area input{
    width:18px;
    height:18px;
    margin-top: 2px;
  }

  .contact_form_section .submit_frame{
    margin-top: 48px;
  }

  .contact_form_section .submit_frame input{
    width: 198px;
    height: 49px;
    font-size: 18px;
  }

  /*
  ------------------------------------
  ニュース
  ------------------------------------
  */

  body.archive_news_body{
    
  }

  main.archive_news_main{

  }

  .archive_news_mv_section::before{
    background-image: url('../img/news/news_mv.jpg');
  }

  .archive_news_section01{
    height:160px;
  }

  .archive_news_section01::after{
    width: 150px;
    height:150px;
    background-image: url('../img/common/logo_gray.svg');
    left:auto;
    right:0;
    bottom:-75px;
  }

  .archive_news_section02{
    padding-top: 108px;
  }

  .archive_news_section02 .news_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap:30px 0;
  }

  .archive_news_section02 .news_item{
    width:280px;
  }

  .archive_news_section02 .news_card{
    padding:16px 12px;
    border-radius: 10px 10px 0 0;
  }

  .archive_news_section02 .news_card .news_body{
    padding-top: 10px;
  }

  .archive_news_section02 .news_card .news_date{
    font-size: 12px;
    line-height: 1;
  }

  .archive_news_section02 .news_card .news_title{
    margin-top: 10px;
    line-height: 1.3;
    min-height: 44px;
  }

  .archive_news_section02 .news_card .news_category{
    padding:5px 10px;
    margin-top: 12px;
    font-size: 12px;

  }


  .common_pagenation{
    gap:16px;
    margin-top: 48px;
  }


  .common_pagenation span.current{/*現在のページボタン*/
    width: 30px;
    height: 30px;
  }

  .common_pagenation a.page-numbers{/*指定のページ移動ボタン*/
    width: 30px;
    height: 30px;
    border:2px solid #d12a19;
  }


  /*
  ------------------------------------
  ニュース詳細
  ------------------------------------
  */

  body.single_news_body{
    
  }

  main.single_news_main{

  }

  .single_news_mv_section::before{
    background-image: url('../img/news/news_mv.jpg');
  }


  .single_news_section01{
    height:160px;
  }

  .single_news_section01::after{
    width: 150px;
    height:150px;
    background-image: url('../img/common/logo_gray.svg');
    left:auto;
    right:0;
    bottom:-75px;
  }

  .single_news_section02{
    padding-top: 80px;
  }

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

  .single_news_section02 .left{
    padding-top: 0;
    margin-top: 56px;
    width: 100%;
  }

  .single_news_section02 .news_title{
    font-size: 26px;
    line-height: 1.9;
  }

  .single_news_section02 .news_date{
    margin-top: 32px;  
  }

  .single_news_section02 .news_category_frame{
    margin-top: 24px;
    display: flex;
    justify-content: flex-start;
  }

  .single_news_section02 .news_category{
    font-size: 12px;
    line-height: 1.3;
    color: #fff;
    padding:5px 8px;
    background-color: #CF200E;
  }

  .single_news_section02 .right{
    flex-shrink: 0;
    width:100%;
    margin-left: 0;
  }

  .single_news_section02 .right img{
    width: 100%;
  }


  .single_news_section02 .common_single_frame{
    margin-top: 88px;
  }

  .common_single_frame h2{
    font-size: 22px;
    list-style: 1.4;
  }

  .common_single_frame p{
    line-height: 1.9;
  }

  .common_single_frame * + h2{
    margin-top: 40px;
  }

  .common_single_frame * + p{
    margin-top: 24px;
  }

  .common_single_frame .wp-block-image{
    margin-top: 32px;

  }

  .common_single_frame .wp-block-image img{
    max-width: 100%;
  }


  .single_news_section02 .link_flex{
    margin-top: 56px;
  }

  .single_news_section02 .link_flex .archive_link{
    width: 100px;
    height: 24px;
    font-size: 12px;
  }

  .single_news_section02 .link_flex .link{
    width: 30px;
  }

  .single_news_section02 .link_flex .link a{
    height: 30px;
  }

  .single_news_section02 .link_flex .link_prev a::after{
    border-width: 6.5px 14px 6.5px 0;
  }

  .single_news_section02 .link_flex .link_next a::after{
    border-width: 6.5px 0 6.5px 14px;
  }

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