@media screen and (min-width: 1371px){
    .br-show1370{ display: none; }
}
@media screen and (max-width: 1370px){
    .br-show1370{ display: inline-block; }
}
@media screen and (max-width: 1200px){
    .footerwrapInner .left { align-items: flex-start; flex-flow: column; position: relative; }
    .footerwrapInner .left .footer_logo{ margin: 0 0 40px 0;  }
    .footerwrapInner { align-items: flex-start; padding: 50px 0 30px; }
    .footerwrapInner .left .access p{ width: auto; }
    .footerwrapInner .left .access.flex { position: absolute; bottom: -50px; width: 100vw; }
    .foot_contact .wrapInner .right .tel_number{ font-size: 3.2rem; }
}
@media screen and (max-width: 1155px){
    .foot_contact .wrapInner .right .btn_black.to_form a{ font-size: 1.5rem; }
    .foot_contact .wrapInner .right .detail{ font-size: 1.2rem; }
    .foot_contact .wrapInner .right .mail_icon { margin-right: 10px; }
    .foot_contact .wrapInner .right .mail_icon img { width: 30px; }
    .foot_contact .wrapInner .right .tel_number{ font-size: 2.9rem; }
    .service02 .wrapInner .type01 .right p.txtwrap{ font-size: 1.3rem; }
    .wrap_rela::after{ height: 450px; }
    .message .wrap_rela{ padding-top: 288px; }
    .message .wrap_rela .underInner{ padding: 7% 8% 7%; }

    .js-fix { font-size: 1rem; }
}
@media screen and (min-width: 1061px){ .br-none1060{ display: block; } }
@media screen and (max-width: 1060px){ .br-none1060{ display: none; } }

@media screen and (max-width: 960px){
    .foot_contact .wrapInner{ flex-flow: column; width: 80%; }
    .foot_contact .wrapInner .left, .foot_contact .wrapInner .right { width: 100%; }
    .foot_contact .wrapInner .right .btn_black a{ max-width: 100%; }
    .foot_contact .wrapInner .right .btn_black.to_form a{ margin-bottom: 20px; }
    .foot_contact .wrapInner .right .rightInner{ margin-top: 60px; }
    .foot_contact .wrapInner .left .h2ttl h2{ font-size: 5rem; }
    .foot_contact .wrapInner .left .txtwrap { margin-top: 30px; }
}

@media screen and (min-width: 861px){
    .navInner{ display: none; }
    .sp_hide860{ display: block; }
    .sp_show860{ display: none; }
    #menu{ display: block; }

}
@media screen and (max-width: 860px){
    body { font-size: 1.3rem; } /* 15px */
    p  { font-size: 1.3rem; } /* 15px */
    li { font-size: 1.3rem; } /* 15px */
    #menu{ display: none; }
    .h2ttl h2{ font-size: 3rem; }
    .sp_hide860{ display: none; }
    .sp_show860{ display: block; }
    .nav_closedlogo.active{ opacity: 0; }
    .nav_openlogo.active{ opacity: 1!important; }
    .kasouHeader .headerwrapInner{ height: 70px; }
    .thankswrap .wrapInner .txtwrap{ font-size: 1.5rem; }

    /* menu trigger */
    .navInner { display: block; position: fixed; top: 0px; right: 0px; z-index: 5555 !important; height: 70px; width: 70px; background-color: #e72b5e; }
    .menu-trigger { width: 25px; height: 23px; line-height: inherit; cursor: pointer; position: relative; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 9999;}
    .menu-trigger.active { margin-left: 0px; position: relative; z-index: 999999;}
    .menu-trigger,
    .menu-trigger span { display: inline-block; transition:all .4s; box-sizing: border-box; }
    .menu-trigger span{ position: absolute; left: 0; width: 100%; height: 3px; background-color: #fff; }
    .menu-trigger span:nth-of-type(1){ top:0;}
    .menu-trigger span:nth-of-type(2){ top: 9.5px;}
    .menu-trigger span:nth-of-type(3){ bottom:0;}
    .menu-trigger:not(.active):hover span:nth-of-type(1){ top: 2px;}
    .menu-trigger:not(.active):hover span:nth-of-type(3){ bottom: 2px;}
    .menu-trigger.active span:nth-of-type(1){-webkit-transform:translateY(15px) rotate(-45deg);transform:translateY(15px) rotate(-45deg); background-color: #fff;}
    .menu-trigger.active span:nth-of-type(2){opacity:0}
    .menu-trigger.active span:nth-of-type(3){-webkit-transform:translateY(-5px) rotate(45deg);transform:translateY(-5px) rotate(45deg); background-color: #fff;}

    .kasouHeader .headerwrapInner{ transition:all .6s;
    -webkit-transition:all .6s;-moz-transition:all .6s;-ms-transition:all .6s;-o-transition:all .6s; }
    .kasouHeader .headerwrapInner.active{ background-color: transparent; transition:all .6s;
    -webkit-transition:all .6s;-moz-transition:all .6s;-ms-transition:all .6s;-o-transition:all .6s; }
    .gnavul{ flex-flow: column; margin: 35% 0 20%; }
    .headerwrapInner { display: block; }
    .headerwrap { padding: 10px 0; height: 40px; transition:all .6s;
    -webkit-transition:all .6s;-moz-transition:all .6s;-ms-transition:all .6s;-o-transition:all .6s; }
    .headerwrap.active{ height: 100vh; width: 100vw; background-color: #e72b5e; transition:all .6s;
    -webkit-transition:all .6s;-moz-transition:all .6s;-ms-transition:all .6s;-o-transition:all .6s;
        position: fixed; top: 0; left: 0;  z-index: 50; }
    #menu{ text-align: center; width: 100%; }
    .gnavwrap{ margin-right: 0; }
    .gnavwrap ul li:not(:last-child) { margin-right: 0; }
    .sns_wrap{ justify-content: center; margin-bottom: 10%; }
    .headlogo { position: fixed; left: 8%; top: -10px; }
    .gnavwrap ul li { padding: 15px 0; font-size: 18px; }
    .gnavwrap ul li a{ display: block; width: 100%; }

    /* header */
    .languagewrap.txc { display: inline-block; position: fixed; top: 0; right: 70px; width: 70px; height: 70px; z-index: 5555; }
    header{ height: 0; }
    .languagewrap p, .languagewrap .hide_language li{ font-size: 13px; font-weight: bold; }
    .languagewrap p .triangle img{ width: 10px; height: auto; }
    .headlogo img{ width: 100px; height: auto; }
    .headerwrapInner .logomenu { width: 100vw; position: fixed; z-index: 5555; }

    /* index */
    .ind_about .wrap .wrapInner .txtwrap p { font-size: 1.3rem; }
    .kasouPage .history .wrap .wrapInner .itemwrap.first-child::after{ display: none; }
    .ind_service .wrapInner { flex-flow: column-reverse; }
    .ind_service .wrap .wrapInner .left, .ind_service .wrap .wrapInner .right{ width: 100%; }
    .ind_service .wrap .wrapInner .left .leftInner { width: 85%; margin: 40px auto 70px; }
    .ind_service .btn_black a{ max-width: 100%; }
    .ind_recuit .wrap{ height: 500px; }
    .ind_recuit .wrapInner .right{ left: 0; }

    /* kasou */
    .kasouHeader .gnavwrap li a{ color: #fff; }
    .kasouPage .mainvisual{ height: 400px; }
    .kasouPage .mainvisual .mainvisualInner{ margin-top: 70px; }
    .kasouPage .history .wrap .wrapInner .itemwrap .line::before{ left: 64px; }
    .kasouPage .h1ttl h1{ font-size: 5rem; }
    .kasouPage .history .wrap .wrapInner .itemwrap .out_dl{ flex-flow: column; }
    .kasouPage .history .wrap .wrapInner .itemwrap .out_dl .bg_thingray, .kasouPage .history .wrap .wrapInner .itemwrap .out_dl dd{ width: 100%; margin: 0 auto; }
    .kasouPage .history .wrap .wrapInner .itemwrap .out_dl .bg_thingray, .kasouPage .history .wrap .wrapInner .itemwrap.h130 .out_dl .bg_thingray{ height: 80px; font-size: 18px; }
    .service02 .wrapInner .type01 div.flex{ flex-flow: column; }
    .service02 .wrapInner .type01 div.flex.link-box { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: flex;}
    .service02 .wrapInner .type01 div.flex.column-reverse{ flex-flow: column-reverse; }
    .service02 .wrapInner .type01 .left, .service02 .wrapInner .type01 .right { width: 100%; }
    .service02 .wrapInner .type01 .right div.flex { margin-top: 25px; flex-flow: row; }
    .service02 .wrapInner .type01 .left { margin-top: 30px; }
    .kasou_recruit .slide_wrap { margin-top: 110px; }
    .form_wrap dl{ flex-flow: column; }
    .form_wrap dl dt, .form_wrap dl dd{ width: 100%; }
    .form_wrap dl dt{ margin-bottom: 15px; }
    .checkwrap dt{ margin-bottom: 20px!important; }
    .kasou_contact .mainvisual .mainvisualInner .jpttl p{ font-size: 2.1rem; }
    input[type="submit"]{ font-size: 2.1rem; }
    .mgl60{ padding-left: 0; }
    .wrap_rela::after{ height: 350px; }
    .message .wrap_rela { padding-top: 188px; }
    .wrap_rela .top{ top: 35px; right: -30px; z-index: 40; line-height: 1; }
    .wrap_rela .top p:nth-child(1){ font-size: 1.8rem; margin-bottom: 10px; }
    .wrap_rela .top p:nth-child(2){ font-size: 6rem;  }x
    .message .wrap_rela .underInner::after{ width: 165px; height: 64px; bottom: -35px; }
    .kasouPage .history .wrap .wrapInner .itemwrap.first-child{ padding-top: 0;  }
    .kasouPage .history .wrap .wrapInner .itemwrap.last-child { padding-bottom: 0; border-bottom: none; }
    .kasouPage .history .wrap .wrapInner .jpttl{ border: none; }
    .foot_contact .wrapInner .right .btn_black.to_form a { font-size: 1.8rem; }
    .service02 .wrapInner .itemwrap:not(:first-child) { margin-top: 140px; }
    .service02 .wrapInner .type01 div.flex { margin-top: 60px; }
    .privcywrap .privcywrapInner{ padding: 25px 25px; }
    .privcywrap .privcywrapInner dl { margin-bottom: 20px; }
    .message .wrap_rela .underInner::after{ width: 150px; height: 67px; bottom: -45px; right: 6%; }
    .footerwrapInner { padding: 50px 0 60px; }

    .kasouPage .vision .wrap .wrapInner, .kasouPage .recruit .wrap .wrapInner, .kasouPage .company .wrap .wrapInner, .foot_contact .wrapInner, .footerwrapInner, .service02 .wrapInner, .w1100, .ind_about .wrapInner, .ind_recuit .wrapInner{ width: 85%; margin: 0 auto; }

}

/* hack
========================================================== */
@media screen and (min-width: 769px){
    .sp_hide { display: block; }
    .sp_show { display: none; }
    .sp_hide_block { display: block;}
    .sp_show_block { display: none;}
    .sp-br-none br, br.sp-br-none {display: block;}
}

@media screen and (max-width: 768px){
    .sp_hide { display: none; }
    .sp_show { display: block; }
    .sp_hide_block { display: none;}
    .sp_show_block { display: block;}
    .sp-br-none br, br.sp-br-none {display: none;}

    .service02 .wrapInner .itemwrap .ttl p{ font-size: 2.1rem; margin: 0 60px; }
    .footerwrapInner .left .access.flex{ flex-flow: column; }
    .footerwrapInner .left .footer_logo img { width: 120px; }
    .footerwrapInner .left .footer_logo{ margin-right: 50px; }
    .footerwrapInner .left .access.flex { bottom: -80px; }
    .footerwrapInner .left .access p:first-child { margin-right: 0; margin-bottom: 10px; }

}

@media screen and (max-width: 600px){
    .footerwrapInner .right ul li:not(:last-child){ display: none; }
}

@media screen and (min-width: 501px){
    .tel_number{ pointer-events: none; }
    .sp-br-show{ display: none; }
    .sp_hide500{ display: block; }
    .sp_show500{ display: none; }
    .sp_hideIn500{ display: inline-block; }
}

@media screen and (max-width: 500px){
    .sp_hide500, .sp_hideIn500{ display: none; }
    .sp_show500{ display: block; }
    .sp-br-show{ display: inline-block; }
    .mgt110 { margin-top: 60px; }
    .kasouPage .vision .wrap .wrapInner .jpttl { margin: 25px auto 30px; }
    .footerwrapInner .left .access.flex { bottom: -90px; width: 90vw; }
    .tel_number{ pointer-events: all!important; }
    .headlogo { left: 5%; }
    .ind_about .wrap{ height: 550px; }
    .foot_contact .wrapInner .right .tel_number{ width: 100%; }
    .foot_contact .wrapInner .right .tel_number { font-size: 2.5rem; line-height: 1; }
    .foot_contact .wrapInner .right .btn_black.to_form a { font-size: 1.3rem; }

    .foot_contact .wrapInner .right .btn_black a{ height: 100px; line-height: 100px!important; }
    .foot_contact .wrapInner .right .btn_black a p{ font-size: 1.5rem; }
    .foot_contact .wrapInner .right .detail{ margin: 25px auto 10px; }
    .kasouPage { margin-bottom: 100px; }
    .company.groupcompany { padding: 60px 0 80px; }

    .kasouPage .history .wrap .wrapInner .itemwrap .line::before { left: 60px; }
    .kasouPage .jpttl p { font-size: 2.6rem; line-height: 1.6; }
    .kasouPage.kasou_recruit .jpttl p { font-size: 2.5rem; line-height: 1.6; }
    .kasouPage .enttl h2 { font-size: 2.1rem; }
    .kasouPage .company .wrapInner .itemwrap dl{ flex-flow: column; border-top: none; }
    .kasouPage .company .wrapInner .itemwrap dl dt, .kasouPage .company .wrapInner .itemwrap dl dd{ width: 100%; }
    .kasouPage .company .wrapInner .itemwrap dl dd{ padding-left: 10px; padding-right: 10px; }
    .kasouPage .company .wrapInner .itemwrap dl dt{ padding: 15px 0; border-right: none; }
    .kasouPage .company .wrapInner .itemwrap dl dd{ padding: 15px 10PX; }

    .service02 .wrapInner .itemwrap .ttl p { font-size: 1.8rem; margin: 0 30px; }
    .kasouPage .enttl { font-size: 2.4rem; }
    .service02 .wrapInner .type01 div.flex { margin-top: 60px; }
    .service02 .wrapInner .itemwrap:not(:first-child) div.flex { margin-top: 40px; }
    .service02 .wrapInner .itemwrap .itemmainimg { margin-top: 30px; }
    .service02 .wrapInner .type01 .right .logowrap { margin-right: 30px; }
    .service02 .wrapInner .type01 .right p.link { font-size: 1rem; }
    .service02 .wrapInner .type01 .txtwrap::after { width: 40px; }
    .service02 .wrapInner .itemwrap:not(:first-child) { margin-top: 100px; }
    .kasou_recruit .flow .wrapInner { padding: 80px 0; }
    .privcywrap .privcywrapInner{ height: 150px; padding: 20px 15px; }
    input[type="submit"]{ font-size: 1.6rem; }
    .form_wrap dl dt .colored{ font-size: 1rem; }
    .wrap_rela::after { height: 250px; }
    .message .wrap_rela { padding-top: 118px; }
    .wrap_rela .top{ right: -20px; top: -15px; }
    .wrap_rela .top p:nth-child(1){ font-size: 1.3rem; margin-bottom: 7px; }
    .wrap_rela .top p:nth-child(2){ font-size: 3.5rem;  }
    .message.mgt110 { padding-top: 100px; }
    .message .wrap .wrapInner { padding-bottom: 80px; }
    .kasouPage .history .wrap .wrapInner { padding: 80px 0; }
    .message .wrap_rela .underInner { padding: 15% 10%; }
    .mainvisual .mainvisualInner p.copy { margin-top: -10%; line-height: 1.5; }
    .mv_scroll .line { height: 55px; margin-top: 10px; }
    .mainvisual .mainvisualInner p.copy { font-size: 3.9rem; }
    .thankswrap .h1ttl h1{ font-size: 3.5rem; }
    .thankswrap .wrapInner .txtwrap{ text-align: left; font-size: 1.4rem; }
    .thankswrap .wrapInner .txtwrap span { margin-top: 30px; }
    .message .wrap_rela .underInner{ width: 125%; margin-left: -12%; }
    .wrap_rela::after { background-position: top 40px right -100px; top: -132px; right: -12%; width: 150%; }
/*    .wrap_rela .top { color:  #0000008a; }*/
    .privcywrap .privcywrapInner dl dt { margin-bottom: 5px; }
    .form_wrap dl dd textarea{ padding: 20px; line-height: 1.8; }
    .kasouPage .company .wrapInner .itemwrap { margin-top: 30px; }
    .kasouPage .grupcommin { margin: 20px 0 30px; }
    .kasou_recruit .mainvisual .mainvisualInner{ background-position: 61%; }
    .kasouPage .company.recruit_detail .wrapInner .itemwrap dl dd { border-top: none; }
    .kasouPage .company.recruit_detail .wrapInner .itemwrap dl:first-child dt { border-top: none; }

}

@media screen and (max-width: 400px){
  .service02 .wrapInner .type01 div.flex.link-box { display: block;}
  .service02 .wrapInner .type01 div.flex.link-box .logowrap { width: 70%;}
}


