.sp_640,.sp_440,.sp_360{display:none!important}

@media screen and (min-width: 751px) {
    .sp{display:none!important;}
    .hamburger{display:none;position:fixed;z-index:101}
    .to_top img:hover{opacity:.8}
    .btn a:hover{
        color: #fff;
        opacity: 0.95;
        background: url('../images/ic-right.png') no-repeat right 26px center /7px #071b55 !important;
        text-decoration: none;
      }
      .company-info-list .map-btn a:hover{
        background: url('../images/ic-right.png') no-repeat right 15px center /7px #071b55 !important;
      }

}

@media screen and (min-width: 751px) and (max-width: 1500px){}

/* screen-min:750px */
@media screen and (max-width: 750px) {
    
    .sp_mb30 {
        margin-bottom: 30px !important;
    }
    
    /* root */
    img{max-width:100%; height: auto;}
    #wrapper,header,main,footer,.inner{width:100%!important;min-width:unset!important}
    .pc{display:none!important}
    .inner{padding:0 3%}

    h3{ font-size: 7vw;}

    /*  menu  */
    /*  button  */
    #head_submenu {
        visibility: hidden;
        transform: translateX(100%);
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        -ms-transform: translateX(100%);
    }

    #head_submenu.open {
        transform: translateX(0px);
        -webkit-transform: translateX(0px);
        -moz-transform: translateX(0px);
        -ms-transform: translateX(0px);
        visibility: visible;
    }

    /*  head submenu  */
    #head_submenu {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 997;
    }
    #head_submenu .head {
        position: fixed;
        width: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
        overflow-y: scroll;
        padding-top: 80px;
    }

    #head_submenu .head .close-button {
        position: absolute;
        right: 15px;
        top: 20px;
    }

    #head_submenu .head h1{
        position: absolute;
        left: 23px;
        top: 8px;
    }

    /*  animation  */
    #menu_button,
    #menu_button span,
    #head_submenu,
    #head_submenu #submenu_left ul li a,
    #head_submenu #submenu_right ul li a,
    #head_menu ul li a {
        transition: all .5s;
        -webkit-transition: all .5s;
        -moz-transition: all .5s;
        -ms-transition: all .5s;
    }

    #menu_button {
        display: block !important;
    }
    /*=====================================================
                          C U S T O M
    ======================================================*/

    /*============ Header ============*/
    header{ 
        padding: 0 3vw 0 0;
        height: 80px;
    }
    header .inner{ padding: 0 0;}
    .h_box{height:60px}
    .h_inner{padding: 0 10px;}

    /* header */
    header h1 img{ height: 65px; width: 204px;}
    h1{ padding: 0 0;}

    header .close-button {display: block;}
    header .close-button img {width: 40px;}
    header .menu {
        padding-top: 30px;
        height: 100%;
        flex-direction: column;
        justify-content: flex-start;
        background-color: #071b55;
        border-top: 3px solid #0096df;
    }
    header .menu li{ width: 80%;}
    header .menu li a{
        position: relative;
        display: block;
        padding: 22px 35px;
        text-align: center;
        font-weight: 600;
        font-size: 15px;
        color: #fff;
        border-bottom: 1px solid #fff;
      }
      header .menu li a::before{
        position: absolute;
        content: "";
        left: 0;
        top: 50%;transform: translateY(-50%);
        width: 10px;
        height: 20px;
        background: url(../images/ic-right03.png)no-repeat;
      }

    /*============ Main ============*/
    main{ padding-top: 80px;}

    /* main visual */
    #mainvisual{
        min-height: 580px;
        display: flex;
        padding: 40px 0 !important;
        align-items: center;
        justify-content: center;
        background: url("../images/mainvisual_bg01_sp.jpg") no-repeat center;
    }
    #mainvisual h2 { line-height: 2em;}
    #mainvisual .cap01{font-size: 4vw;}
    #mainvisual .cap02{ font-size: 4vw;}

    #mainvisual .cap02>span::before, #mainvisual .cap02>span::after {
        top: 50%;
        width: 13vw;
    }
    #mainvisual .cap02>span::before{ left: -16vw;}
    #mainvisual .cap02>span::after { right: -16vw;}
    #mainvisual h2 .txt01{ font-size: 6vw;}
    #mainvisual h2 .txt02{ font-size: 7vw;}
    #mainvisual .news-cal{ 
        margin: 40px auto 25px;
        line-height: normal; padding: 21px 20px;
    }
    #mainvisual .news-cal::before,
    #mainvisual .news-cal::after{
        border-top: 7.5vw solid transparent;
        border-bottom: 7.5vw solid transparent;
    }


    /* main visual */
    .mv_bg,.main_slider li.slide_item{height:420px}
    .mv_txt h2{font-size: 25px;}

    .slider_main{
        max-width: 250px;
        margin: 0 auto;
    }
    .slider_main li{ width: 100%; max-width: 250px;}
    .slick-prev, .slick-next{
        content: "";
        left: 50%; transform: translateX(-50%);
    }

    .slick-next{ 
        top: -20px;
        width: 35px;
        height: 20px;
    }
    .slick-next:before{
        opacity: 1;
        position: absolute;
        content: "";
        top: 0 ;left: 0;
        width: 35px;
        height: 20px;
        background: url(../images/ic_slide01.png)no-repeat;
    }
    .slick-prev{
        position: absolute;
        content: "";
        top: unset;
        bottom: -35px;
        width: 35px;
        height: 20px;
    }
    .slick-prev:before{
        opacity: 1;
        position: absolute;
        content: "";
        top: 0 ;left: 0;
        width: 35px;
        height: 20px;
        background: url(../images/ic_slide02.png)no-repeat;
    }

    /* logo slider */
    #logoslider{
        padding: 60px 0 80px;
    }
    /* sec01 */

    #sec01 .desc{
        padding: 0 0 2vw;
        font-size: 3vw;
        line-height: 1.8em;
    }
    /* #sec01 p.txt{
        text-align: left;
    } */

    #sec01 img{ max-width: 580px; width: 100%;}
    #sec01 .s1-02 h4{ margin-bottom: 45px; font-size: 5vw;}
    #sec01 .s1-02-ttl { 
        width: 80%;
        font-size: 3vw; padding-bottom: 0;background: unset; border: unset;
    }
    #sec01 .s1-02-ttl span{
        padding: 0.2vw 3vw 0.5vw;
        background: url(../images/sec01_bg_ttl.png)no-repeat;
        background-size: 100% 100%;
    }
    #sec01 .s1-02-ttl:before,
    #sec01 .s1-02-ttl:after{
        border: unset;
        background: unset;
    }
    .s1-02-boxin{ margin-top: -3.8vw; padding: 50px 30px 30px;}
    .s1-02-boxin .txt-content{ line-height: 1.5em; font-size: 20px;}

    
    /* sec02 */


    /* sec03 */


    /* sec04 */

    /* sec05 */
    #sec05{
        padding: 120px 0 50px;
        background-size: 70% auto;
    }
    /* box 1 */
    .s5-boxin.box1{
        width: 100%;
        max-width: 500px;
        gap: 3vw;
    }
    .sec05-item{ padding: 0 30px 0;}
    .s5-boxin .s5-content-ttl{ text-align: left;}
    .s5-boxin.box1 .s5-img{
        max-width: 200px;
    }
    .s5-boxin .s5-content {
        width: calc(100% - 200px);
    }

    /* box 2 */
    .sec05-item.item-s3{
        padding: 0 30px 45px;
    }
    
    .s5-boxin.box2{
        flex-direction: column;
    }
    .s5-boxin.box2 .s5-img{
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        gap: 3vw;
    }
    .s5-boxin.box2 .s5-img>p{
        max-width: 200px;
    }
    .s5-boxin.box2 .s5-img .txt{ 
        width: calc(100% - 200px);
        text-align: left;
    }

    .s5-boxin.box2 .s5-content{
        width: 100%;
    }
    /* box item-s2 */
    .s5-box2-col{flex-direction: column; gap: 5vw;}
    .s5-box2-col> .s5-box2-item { width: 100%;}
    .s5-box2-col .s5-boxin.box2{
        flex-direction: row;
        max-width: 500px;
        margin: 0 auto;
        gap: 3vw;
    }
    .s5-box2-col .s5-boxin.box2 .s5-img{
        width: 200px;
    }
    .s5-box2-col .s5-boxin.box2 .s5-content{
        width: calc(100% - 200px);
    }

    /* sec05 left right */
    #sec05 .inner-lg .sec05-item-wrap{
        box-sizing: border-box;
        flex-direction: column;
        gap: 30px;
    }
    #sec05 .inner-lg .sec05-item-wrap> div{
        width: 97vw;
        max-height: unset;
    }
    #sec05 .inner-lg .sec05-item-wrap .sec05-item{
        max-width: unset;
        margin-bottom: 20px;
    }
    .sec05-item-left .sec05-item{
        width: 100%;
        max-width: unset;
    }
    .sec05-item-left .sec05-item .s5-ttl, .sec05-item-right .sec05-item .s5-ttl{
        justify-content: space-between;
    }
    .sec05-item-left .sec05-item .s5-ttl, .sec05-item-right .sec05-item .s5-ttl{ margin-bottom: 0;}
    #sec05 .inner-lg .sec05-item-wrap .sec05-item h3.s5-content-ttl{
        padding-top: 30px;
    }
    .s5-boxin.box3{ gap: 20px; padding-top: 15px;}
    .s5-boxin.box3 .s5-content-ttl{
        padding-bottom: 15px;
        text-align: center;
    }
    .sec05-item-wrap .sec05-item-right{
        margin-right: 0; margin-left: auto;
    }

    /* sec06 */
    #sec06{
        padding: 65px 0 ;
    }
    .company-info-list{
        padding: 70px 5vw 60px;
    }
    .company-info-list li{
        padding: 10px 0 12px 20px;
    }
    .company-info-list .company-info-l{ max-width: 110px; font-size: 18px;}
    .company-info-list .company-info-r{
        width: calc(100% - 110px);
        padding-left: 15px;
        letter-spacing: normal;
    }
    .company-info-list .company-info-r.flex-02{ justify-content: space-between;}
    .company-info-list .company-info-r.flex-02 .map-btn{
        width: 100px;
        flex-shrink: 0;
    }
    .company-info-list .map-btn a{
        color: #fff;
        width: max-content;
        margin-left: 0;
        padding: 0 30px 0 35px;
        font-size: 16px;
        background: url('../images/ic-right.png') no-repeat right 12px center /5px #071b55;
    }
    .company-info-list .map-btn a span:before{
        height: 15px;
        width: 18px;
        top: 9px;
        left: -18px;
        background-size: contain;
    }
    
    /* sec07 */
    #sec07{ padding: 0 0 100px;}
    .accordion.open dd{ max-height: 500px;}
    .box_qa dd{
        transition-duration: 0.25s;
    }

    /* sec08 */

    /*============ Footer ============*/
    footer{ padding: 15px 0 0 ;}
    .ft_top{ padding: 40px 0 55px;}
    .ft_top .inner{flex-wrap: wrap;justify-content: center;}
    .ft_top > .ft_top_wrap{ gap: 30px;}
    .ft_info{
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
         padding: 0 0; 
    }
    .ft_top .ft_right{ padding-left: 0;}

    address{ padding-bottom: 90px;}

    /*   FOOTER BANNER */
    .sp_bnn_fixed.show{ display: flex;} 
    .sp_bnn_fixed {
        display: none;
        z-index: 110;
        position: fixed;
        bottom: 0;
        width: 100%;
    }
    .sp_bnn_fixed li{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 50%;
    }
    .sp_bnn_fixed li a{
        width: 100%;
        padding: 20px 15px;
        font-size: 20px;
        text-align: center;
        color: #fff;
        font-weight: bold;
        background-color: #071b55;
        text-decoration: none;
    }
    .sp_bnn_fixed li a span{
        padding: 0 30px;
       background: url('../images/ic-right.png') no-repeat right 0 center /8px #071b55
    }

    .sp_bnn_fixed li:first-child a{
         background:linear-gradient(to right, #0892de, #A568FF);   
    }
    .sp_bnn_fixed li:first-child a span{
        background: url('../images/ic-right.png') no-repeat right 0 center /8px
    }
    
    
    /* sp contact */
    /* to top */
    .to_top{width:60px;height:60px;right:10px ;}
    .to_top a img{bottom:0;position:absolute}
    .to_top::before{width:10px;height:10px;left:10px;top:10px}
    .to_top::after{width:10px;height:10px;left:10px;top:20px}
    /*============ END 750 ============ */
}

/* screen-max:640px */
@media screen and (max-width: 640px) {
    .sp_640 {display: block !important;}
    /* header */
    header{ height: 80px;}
    header h1 img{ height: 65px;}
    h1{ padding: 0 0;}
    main{ padding-top: 80px;}
    /* mainvisual */
    #mainvisual{ 
        min-height: unset;
        padding-bottom: 5vw;
    }
    #mainvisual .news-cal{
        max-width: 100%;
        padding: 3vw 3vw;
        margin: 2vw 2vw 3vw;
        background: url(../images/mainvisual_bg02.png)no-repeat;
        background-size: 100% 100%;

        font-size: 3.8vw;
    }
    #mainvisual .news-cal::before, #mainvisual .news-cal::after{
        border: unset;
    }
    #mainvisual .main-btn{ width: 100%;
    max-width: 350px;
    }
    #mainvisual .main-btn a{
        margin: 0 auto;
        max-width: 500px;
        width: 85%;
        font-size: 28px;
    }

    #logoslider{ padding: 35px 0 45px;}

    /* sec01 */

    /* sec03 */
    #sec03 h3{ font-size: 32px;}
    #sec03 .txt {
        font-size: 18px;
        line-height: 1.5em;
    }


    /* sec04 */


    /* sec05 */
    .sec05-item .s5-ttl {
        width: 90%;
        margin-top: -25px;
        min-height: 42px;
        background: url(../images/sec05_ttl_bg.png)no-repeat;
        background-size: 100% 100%;
        padding: 10px 30px;
        justify-content: space-evenly;
    }
    .sec05-item-left .sec05-item .s5-ttl, 
    .sec05-item-right .sec05-item .s5-ttl{
        justify-content: space-evenly;
    }
    .sec05-item .s5-ttl:before, .sec05-item .s5-ttl:after{
        background: unset;
        content: unset;
    }
    .sec05-item .s5-ttl span{ font-size: 3vw;}
    .sec05-item-left .sec05-item, .sec05-item-right .sec05-item{
        margin-bottom: 0;
    }
    .s5-boxin .s5-content-ttl{ font-size: 20px;}
    .s5-boxin.box2 .s5-img{ justify-content: center;}
    .s5-boxin.box2 .s5-img .txt{
        width: max-content;
    }

    /* sec07 */
    .box_qa dl{ margin-bottom: 0;}
    .accordion.open dd{ margin-bottom: 15px;}
    .box_qa dt{
        padding: 15px 55px 15px 20px;
    }
    .box_qa dt p ,
    .box_qa dd p {
        font-size: 20px
    }
    

    footer{padding-top: 30px;}
}

/* screen-max:550px */
@media screen and (max-width: 550px) {
    #menu_button{ width: 38px;}
    header h1 img{ width: 180px; height: auto}
    #head_submenu .head h1{ top: 15px;}
    #head_submenu .head{ padding-top: 76px;}
    header .close-button img { width: 35px;}

    #sec03 h3,h3.ttl{
        font-size: 6vw;
        padding-bottom: 18px;
    }
    h3:after{ width: 28px; }
    p{ font-size: 14px;}
    .btn a{ font-size: 16px;}
    .btn02 a span:before{
        width: 20px; 
        background-size: 18px 18px;
        background-position: center;
    }
    #mainvisual{ padding: 25px 0 30px;}
    #mainvisual h2 { line-height: 1.5em;}
    #mainvisual .cap01 { line-height: 1em;}
    #mainvisual .main-btn a span{ padding-left: 22px;}
    #mainvisual .main-btn a { font-size: 16px; padding: 5px 25px;}

    .slider_main,
    .slider_main li{ 
        max-width: 200px;
    }
    .slick-next,.slick-prev{width: 25px;}
    .slick-next:before,
    .slick-prev:before{
        width: 25px;
        height: 25px;
        background-size: contain;
    }

    #sec01 .desc{ font-size: 3.2vw;}
    #sec01 p.txt{ font-size: 14px;}
    #sec01 .s1-02 h4 { margin-bottom: 35px;}
    .s1-02-boxin{ padding: 25px 9vw 15px;}
    .s1-02-boxin .txt-content { font-size: 3.6vw; margin-bottom: 15px;}



    .sec05-item{ margin-bottom: 45px;}
    .sec05-item .s5-ttl span.time-ttl{
        background-size: 15px 15px;
    }
    .sec05-item .s5-ttl{
        margin-top: -16px;
        min-height: 30px;
        padding: 5px 10px;
    }
    .s5-boxin,
    .s5-boxin.box2{ align-items: flex-start; padding: 20px 0 30px;}
    .s5-boxin.box1 .s5-img{ width: 20%; min-width: 120px;}
    .s5-boxin .s5-content{ width: 80%;}
    .s5-boxin .s5-content-ttl{ font-size: 18px; margin-bottom: 15px; border-bottom-width: 2px ;}
    .s5-boxin .s5-content>p{ font-size: 14px;}
    .s5-boxin .s5-content>p.txt24{ font-size: 18px;}

    .s5-boxin, .s5-boxin.box2{ padding: 20px 0 0;}
    .s5-boxin.box2 .s5-img >p{width: 20%; min-width: 120px;}
    .s5-boxin.box2 .s5-img .txt>p{ font-size: 14px;}
    .s5-boxin.box2 .s5-img .txt>p.txt24{ font-size: 18px;}

    .btn.s5-btn a{ width: 150px; padding: 5px 4px; font-size: 14px; }
    .s5-btn a span{ 
        padding: 0 15px 0 20px;background-size: 15px 15px ;
    }
    .list-ttl02{padding-left:15px; background-size: 8px 8px; background-position-y:center ;}
    .bg-frame02{ font-size: 12px; padding: 10px 10px;}
    .sec05-item .s5-ttl span.time-ttl{ padding-left: 24px; line-height: 1.5em;}

    .sec05-item{ padding: 0 3vw 5vw;}
    .s5-box2-col{padding: 15px 15px 20px;}
    .s5-box2-col> .s5-box2-item .s5-content-ttl span:first-child{ font-size: 20px; margin-bottom: 5px; }
    .s5-box2-col> .s5-box2-item .s5-content-ttl span{ font-size: 16px;}
    .s5-box2-col .s5-boxin.box2{ margin-bottom: 15px;}
    .s5-box2-col .s5-boxin.box2 .s5-img{width: 20%; min-width: 120px;}
    .s5-box2-col .s5-boxin.box2 .s5-content{ width: 80%;}

    .sec05-item-left .sec05-item .s5-ttl, 
    .sec05-item-right .sec05-item .s5-ttl{
        max-width: 250px;
        padding: 8px 10px;
        margin-top: -24px;
    }
    #sec05 .inner-lg .sec05-item-wrap {gap: 15px;}
    #sec05 .inner-lg .sec05-item-wrap .sec05-item-left .sec05-item{ padding-left: 6vw;}
    #sec05 .inner-lg .sec05-item-wrap .sec05-item-right .sec05-item{ padding-right: 6vw;}
    #sec05 .inner-lg .sec05-item-wrap .sec05-item h3.s5-content-ttl{ padding-top: 15px;}

    #sec05 .main-btn a span{ padding-left: 22px;}
    #sec05 .main-btn a { max-width: 250px; width: 100%; font-size: 16px; padding: 5px 25px;}

    #sec06{ padding: 50px 0;}
    .company-info-list { margin-top: -60px; padding: 40px 3vw 45px;}
    .company-info-list li{ padding: 10px 0 10px 12px;}
    .company-info-list .company-info-l{ width: 25%; font-size: 16px;}
    .company-info-list .company-info-r.flex-02{ flex-direction: column; align-items: flex-start;}
    .company-info-list .company-info-r{ width: 75%; font-size: 14px;}
    .company-info-list .map-btn a span:before{
        height: 15px;
        width: 18px;
        top: 7px;
        left: -18px;
        background-size: contain;
    }
    .right{ font-size: 12px;}

    .box_qa dt{ padding: 2px 35px 5px 20px;}
    .box_qa dt p .ques,
    .box_qa dd p .ans{ font-size: 18px;}
    .box_qa dt p, .box_qa dd p,
    .box_qa dd p .ans-txt { font-size: 16px;}
    .box_qa dl dt:before{
        width: 2px;height: 15px;
        right: 26px;
         
    }
    .box_qa dl dt:after{
        height: 2px; width: 15px;
        right: 20px;
    }

    #sec07{ padding: 0 0 60px;}
    
    .ft_top{ padding: 40px 3vw 55px;}
    .ft_top .ft_right > dl >dt, .ft_top .ft_right > dl >dd {
        font-size: 14px;
    }
    .ft_top .ft_right{ padding-left: 5vw;}
    address{ padding: 10px 15px 50px;}

    .sp_bnn_fixed li a{ 
        padding: 5px 15px;
        font-size: 16px;
    }
    .sp_bnn_fixed li a span{
        padding: 0 15px;
        background: url('../images/ic-right.png') no-repeat right 0 top 8px /6px #071b55;
    }

    .to_top {
        width: 50px;
        height: 50px;
    }
    
}

/* screen-max:460px */
@media screen and (max-width: 440px) {
    .sp_440 {display: block !important;}
    .ft_bnn li{width: 100%;}
    .ft_bnn li:last-child{}

}

/* screen-max: 375px */
@media screen and (max-width: 375px) {
    .sp_360 {display: block !important;}
    p{ font-size: 13px;}

    #sec01 .s1-02 h4 {
        margin-bottom: 15px;
    }
    #sec03 .txt {
        font-size: 13px;
    }
    .s5-box2-col{
        padding: 15px 0 20px;
    }
    .sec05-item .s5-ttl{ margin-top: -16px;}
    .sec05-item.item-s2 .s5-ttl{ margin-top: -16px;}
    .sec05-item,
    .sec05-item-right, .sec05-item-left{ border-top-width: 2px ;}
    .sec05-item-left .sec05-item .s5-ttl, .sec05-item-right .sec05-item .s5-ttl { margin-top: -18px;}
    .s5-boxin .s5-content-ttl{ font-size: 16px;}
    .box_qa dt p .ques, .box_qa dd p .ans{ font-size: 16px;}
    .company-info-list .company-info-l{ font-size: 15px;}
    .box_qa dt p{ font-size: 14px;}
    .box_qa dd p{ padding: 15px 20px;}
    .box_qa dd p{ font-size: 14px;}
    #sec08 h4 {
        font-size: 14px;
    }
    address{ padding: 10px 15px 50px;font-size: 11px;}
}





@media screen and (max-width: 750px) {
  .block_contact .contact_info {
    width: 90%;
    padding: 220px 50px 40px;
    margin-top: -200px;
  }

    .block_contact {
        flex-direction: column;
        align-items: center;
    }

    .block_contact .img {
        width: 80%;
    }

    .block_contact .img img {
        position: static;
        transform: translateY(0);
        min-width: unset;
        width: 100%;

    }

    .block_contact .contact_info {
        width: 90%;
        padding: 220px 50px 40px;
        margin-top: -200px;
    }

    
    .f_contact {
        display: block;
    }
    
    .to_top {
        bottom: 104px;
    }

    .mb_sp_large {
        margin-bottom: 40px !important;
    }
    
    
}



@media screen and (max-width: 475px) {
    .block_contact .contact_info {
        margin-top: -25vw;
    }

    .block_contact .contact_info {
        padding: 120px 5vw 3vw;
    }
    
    .contact_info_list li {
        flex-direction: column;
        align-items: center;
    }

    .contact_info_list li p:first-child {
        margin-bottom: 10px;
    }

    .contact_info_list li p {
        text-align: center;
        font-size: 3.5vw;
    }

    .f_ttl{
        font-size: 20px;
    }
    .f_tit_sec,
    .f_contact li{
        font-size: 16px;
    }
    
}


@media screen and (max-width: 320px) {
    .block_contact .contact_info {
        padding: 100px 5vw 3vw;
    }
    
    .contact_info_list li p {
        font-size: 14px;
    }
    
    .f_ttl {
        font-size: 18px;
    }

    
    .f_tit_sec,
    .f_contact li {
        font-size: 14px;
    }

    .f_contact .phone::before,
    .f_contact .mail::before {
        width: 20px;
    }
    
}


@media screen and (min-width: 751px) {
    #logoslider {
        max-width: 1200px;
        margin: 30px auto;
    }
    
.slider_main .slick-prev {
    content: "";
    background: url("../images/ic_slide01_left.png") no-repeat center left;
    text-indent: -9999px;
    height: 36px;
    left: -30px;
    width: 22px;
}
.slider_main .slick-next {
    content: "";
    background: url("../images/ic_slide01_right.png") no-repeat center left;
    text-indent: -9999px;
    height: 36px;
    right: -30px;
    width: 22px;
}

    
}



@media screen and (min-width: 751px) {
    .mh626 {
        min-height: 626px;
        padding: 60px 20px !important;
    }
}


@media screen and (max-width: 1660px) {
    #sec07:after,#sec06:after,.dec02:after,.dec02:before,.dec06:after,.dec06:before,.dec04:after,.dec04:before,#sec02:before,#logoslider:after {
        display: none;
    }
}



@media screen and (max-width: 750px) {
    #mainvisual h2 {
        line-height: 40px;
        text-align: center
    }
    #mainvisual h2 .txt01,#mainvisual h2 .txt02 {
        font-size: 30px;
    }
    
    .mv_cap01 {
        font-size: 16px;
        margin: 0 auto;
        margin-bottom: 20px;
        line-height: 24px;
    }

    .mv_cap02 {
        font-size: 20px;
        padding-left: 88px;
        padding-right: 88px;
        margin: 10px auto;
        width: max-content;
    }
    .mv_cap02::after {
        width: 70px;
    }
    .mv_cap02:before {
content: "";
  height: 2px;
  width: 70px;
  background: #000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
    }
    
    #mainvisual .news-cal .first_cal,#mainvisual .news-cal .sec_cal {
        background: none;
    }
    
    #mainvisual .news-cal .first_cal:before {
        display: none
    }
    #mainvisual .news-cal .first_cal::after {
        display: none
    }
    #mainvisual .news-cal .sec_cal::after{
        display: none;
    }
    
    #mainvisual .news-cal {
        display: block;
        background: url("../images/main_sub_title.png") no-repeat center center;
        background-size: 100%;
        max-width: 450px;
        width: 100%;
        border: none;
        font-size: 18px;
        padding: 5px 0;
        margin: 0 auto 20px;
    }
    .sec_cal {
        margin: 0 auto;
        padding: 10px 0 10px 0;
    }
    
    .first_cal {
        padding: 5px 0 10px 0;
        margin: 0 auto;
    }
    
    #mainvisual .main-btn a {
        font-size: 18px;
    }
    
    .lp_bnr {
        margin: 50px auto 20px;
        padding: 4vw;
    }
    .lp_bnr_tit01 {
        font-size: 4vw;
        padding: .5vw 0;
        width: 100%;
        margin: 0 auto 3vw;
    }
    
    .lp_bnr_tit02 {
        font-size: 4vw;
        background: none;
        width: 100%;
        padding: 0;
    }
    
    .lp_bnr.fix_bg02{
        margin-top: 20px;
        margin-bottom: 0;
    }
    
    .lp_bnr_tit02 span{
        display: block;
        width: max-content;
        padding: .5vw 6vw;
        margin: 0 auto;
        background: rgba(29,19,87,.8);
    }
    
    .lp_bnr_tit02 span:first-child{
        margin-bottom: 2vw;
    }
    
    .lp_bnr_img li:last-child span {
        font-size: 6vw;
        margin-top: 3vw;
    }
    
    .brands_logo_slick li img{
        text-align: center;
        margin: 0 auto
    }
    
    .lp_bnr_img li:last-child {
        font-size: 3vw;
        line-height: 5vw
    }
    .lp_bnr_img li:first-child {
        margin-right: 5vw;
        width: 32vw
    }
    .lp_bnr_sup {
        width: 15vw;
        top:25vw;
        left: 2vw
    }
    .lp_bnr_img {
        margin-bottom: 5vw;
    }
    
    #logoslider {
        padding: 40px 3%;
        background: url("../images/vec_left.png") no-repeat top 30px left,url("../images/vec_right.png") no-repeat top 60px right;
        background-size: 60px;
    }
    
    #logoslider .brands {
        background: none
    }
    
    #sec01 {
        padding-top: 0;
        margin-top: 0;
        padding-bottom: 0;
    }
    
    .box01 {
        padding: 40px 15px;
    }
    
    .box01_ttl {
        width: 85%;
        margin-top: 0;
        font-size: 5vw;
        padding: 10px 20px;
        margin-bottom: 30px;
        position: absolute;
        top:-10px;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .box01 .bg_white {
        position: relative;
        padding-top: 15vw;
        padding-bottom: 15px;
    }
    
    .box01_desc span {
        display: block;
        background: #0096df;
        padding: 1vw;
        text-align: center;
        width: max-content;
        margin: 0 auto;
        line-height: 4vw;
        letter-spacing: 0;
        font-size: 2.8vw;
        margin-bottom: 2vw;
    }
    
    .box01_desc {
        background: none;
        margin-bottom: 0;
        padding: 0;
    }
    
    .medal-group {
        display: block;
        margin-top: 8vw;
        padding: 0 2vw;
    }
    .medal-group li {
        margin: 0 auto 10vw;
        width: 260px;
        height: 230px;
        min-height: auto;
        background-size: 100%;
        padding: 50px 0 40px 0;
    }
    
    .medal-group li:nth-child(2) {
      margin-top: 0;
        padding-top: 55px;
    }
    
    .medal-group li:nth-child(2) > .num span {
        font-size: 50px;
    }
    .medal-group li > .num {
        line-height: 25px;
    }
    
    .medal-group li > .num span{
        font-size: 60px;
    }
    .medal-group li:nth-child(2) > .num {
        line-height: 50px;
    }
    
    .box01_h4 {
        font-size: 6vw;
        margin: 0 auto 5vw;
    }
    .box01_h4::before {
        height: .5vw;
        right: -8vw;
        width: 6vw;
    }
    .box01_h4::after {
        height: .5vw;
        left: -8vw;
        width: 6vw;
    }
    
    .medal-group .medal-item:last-child {
        margin-bottom: 30px;
    }
    .medal-group .medal-item {
        margin-bottom: 5vw;
    }
    
    #sec02 {
        padding: 30px 0;
    }

    .sec02-wrap.flex_between {
        flex-wrap: wrap;
        padding: 0 15px;
    }
    
    
    .sec02-item {
        width: 100%;
        margin-top: 40px;
        padding: 20px 10px;
    }
    .sec02-item:first-child {
        margin-top: 0;
    }
    .sec02-item p {
        font-size: 13px;
    }
    
    #sec02:after {
        height: 80%;
        background: url("../images/vec05.png") no-repeat bottom right,#e5f5fc;
        background-size: 250px;
    }

    .sec02-item .it-content {
        padding: 0;
    }
    
    .sec02-item h4 {
        font-size: 18px;
    }
    
    #sec04 {
        padding: 30px 0;
    }

    .sec04-group .sec04-item {
        width: 100%;
    }
    
    .sec02-item .img:after {
        left: 10px;
        top: -18px;
        width: 48px;
        height: 48px;
    }
    .sec02-item p.img.center {
        position: unset
    }
    
    .sec02-item {
        position: relative
    }
    
    .sec04-item .s4-box-ttl {
        width: 80%;
        background-size: 100%;
    }
    .box_blue,.box_mgt {
        bottom: -4px;
        height: 150px;
        width: 290px;
    }
    .fixw_sp .box_blue{
        bottom: -4px;
        height: 178px;
    }
    .fixw_sp1 .box_mgt{
        bottom: -4px;
        height: 120px;
    }

    .sec04-item .s4-box-ttl,
    .sec04-item:nth-child(3n) .s4-box-ttl {
        font-size: 16px;
    }
    .s4-boxin > ul > li {
        font-size: 15px;
        line-height: 2em;
        padding-left: 34px;
    }
    .s4-boxin > ul > li,
    .sec04-item:nth-child(2n + 0) .s4-boxin > ul > li{
        background-position: left 0 top 8px;
    }
    .s4-boxin {
        padding: 40px 25px 20px 25px;
        margin-top: -25px;
    }
    .sec04-group .sec04-item:nth-child(2) .box_mgt {
        height: 185px;
    }
    .flex_between {
        justify-content: center;
    }
    .sec04-group {
        max-width: 290px;
        margin: 0 auto
    }
    
    #sec05{
        padding: 50px 0 20px;
        margin-top: 20px;
        background-position-y: 10px ;
    }

    .sc05_type01 dl {
        display: block;
    }
    .sc05_type01 dl.li50 dt, .sc05_type01 dl.li50 dd {
        width: 100%;
    }
    .sc05_type01 dl dd p:not(.tit_udl){
        font-size: 14px;
        line-height: 2em;
        letter-spacing: 0;
    }
    .tit_udl,
    .dec01 .tit_udl,
    .dec02 .tit_udl,
    .dec03 .tit_udl {
        font-size: 16px;
        line-height: 30px;
        text-align: center;
    }
    
    .sc05_img {
        width: 120px;
        margin-right: 15px;
        margin-bottom: 10px;
    }
    
    .sc05_txt {
        margin-bottom: 10px;
        min-width: 200px;
    }
    
    .sc05_txt01 {
        font-size: 13px;
        line-height: 20px;
        margin-bottom: 5px;
    }
    
    .sc05_txt02 {
        font-size: 20px;
    }
    .sc05_type01 dl dt {
        padding: 40px 15px 30px 15px;
        background-size: 180px;
    }
    
    .dec01 {
        padding: 36px 0 35px 0;
        background-size: 250px;
    }

    .sc05_time span:first-child:after,.sc05_time span:first-child:before,.sc05_time span:nth-child(2):after {
        display: none
    }
    
    .sc05_time span:first-child {
        width: 70%;
        background: none;
        text-align: center
    }
    
    .sc05_time span:nth-child(2) {
        width: 30%;
        background: none;
        padding-left: 0;
        padding-right: 10px;
    }
    
    .sc05_time {
        left: 50%;
        transform: translateX(-50%);
        width: 300px;
        border: none;
        background: url("../images/sc05_time_bg01.png") no-repeat center center;
        background-size: 100%;
    }
    
    .sc05_time span {
        font-size: 10px;
    }
    
    .sc05_type01 dl dd {
        padding: 20px !important;
    }
    
    .dec02 {
        padding: 45px 0 35px 0;
        background-size: 250px;
    }
    
    .sc05_type01 dl.li35 dt,.sc05_type01 dl.li35 dd {
        width: 100%
    }
    
    .dec03 {
       padding: 45px 0 35px 0;
       background-size: 250px;
    }
    
    .box_sc05.dec04 {
        padding: 60px 0 45px 0;
    }
    
    .box_sc05.dec04 .sc05_time,.box_sc05.dec05 .sc05_time,.box_sc05.dec06 .sc05_time {
        background: url("../images/sp_vec01.png") no-repeat bottom center;
        background-size: 100%;
        width: 240px;
        height: 32px;
    }
    .sc05_time.pos_rel span {
        width: 100%;
        border: none;
    }
    .sc05_time span b {
        background-position: left top 8px;
        background-size: 16px;
        padding-left: 20px;
        margin-right: 0;
    }
    
    .wrap_two {
        flex-wrap: wrap;
    }
    
    .wrap_two .sc05_type01 {
        width: 100%;
    }
    
    .wrap_two .sc05_type01:first-child{
        margin-bottom: 50px;
    }
    .wrap_two .sc05_type01 dl dd {
        padding: 20px;
    }
    
    .box_sc05.dec04 .wrap_two .sc05_time {
        background: none;
        width: 140px;
        top:-16px;
    }
    .box_sc05.dec04 .wrap_two .sc05_time span{
        width: 100%;
    }
    .box_sc05.dec04 .wrap_two .sc05_time span:after,.box_sc05.dec04 .wrap_two .sc05_time span:before{
        display: block;
    }
    .box_sc05.dec04 .wrap_two .sc05_time span:after {
        top: 3px;
          left: -13px;
          width: 22px;
          height: 22px;
    }
    .box_sc05.dec04 .wrap_two .sc05_time span:before {
        top: 3px;
          right: -13px;
          width: 22px;
          height: 22px;
    } 
    
    .dec05 {
        padding: 55px 0 35px 0;
    }
    
    .box_sc05.dec05 .wrap_two .sc05_time {
        background: none;
        width: 140px;
        top:-16px;
    }
    .box_sc05.dec05 .wrap_two .sc05_time span{
        width: 100%;
    }
    .box_sc05.dec05 .wrap_two .sc05_time span:after,.box_sc05.dec05 .wrap_two .sc05_time span:before{
        display: block;
    }
    .box_sc05.dec05 .wrap_two .sc05_time span:after {
        top: 3px;
          left: -13px;
          width: 22px;
          height: 22px;
    }
    .box_sc05.dec05 .wrap_two .sc05_time span:before {
        top: 3px;
          right: -13px;
          width: 22px;
          height: 22px;
    } 
    
    .sc05_img {
        margin-right: 10px;
    }
    
    .flx_style01 .sc05_txt {
        width: auto;
    }
    
    .box_sc05.dec05 .flx_style01 {
        justify-content: center
    }
    
    .dec06 {
        padding: 55px 0 45px 0;
    }
    
    .box_sc05.dec06 .wrap_two .sc05_time {
        background: none;
        width: 140px;
        top:-16px;
    }
    .box_sc05.dec06 .wrap_two .sc05_time span{
        width: 100%;
    }
    .box_sc05.dec06 .wrap_two .sc05_time span:after,.box_sc05.dec06 .wrap_two .sc05_time span:before{
        display: block;
    }
    .box_sc05.dec06 .wrap_two .sc05_time span:after {
        top: 3px;
          left: -13px;
          width: 22px;
          height: 22px;
    }
    .box_sc05.dec06 .wrap_two .sc05_time span:before {
        top: 3px;
          right: -13px;
          width: 22px;
          height: 22px;
    } 
    
    .sc05_type01 dl.dl_block dt .tit_udl02 {
        font-size: 18px;
    }
    
    .fix_mt_sp {
        padding: 50px 0 35px 0;
    }
    .sc05_type01 dl.dl_block dd ul {
        display: block;
    }
    .sc05_type01 dl.dl_block dd ul li {
        width: 100% !important;
    }
    
    .sc05_type01 dl.dl_block dd ul li:first-child {
        margin-right: 0;
        margin-bottom: 15px;
        text-align: center
    }
    
    .sc05_type01 dl.dl_block .tit_udl,.sc05_type01 dl.dl_block dt .tit_udl03{
        font-size: 15px;
        line-height: 26px;
    }

    .box_sc05.dec03.fix_bg03 .sc05_time.fix_timer_bg{
        top:-13px;
    }

    #sec05 .main-btn a {
        font-size: 18px;
        max-width: 440px;
        padding: 12px 10px;
    }
    
    #sec05 .main-btn.btn02.center {
        padding: 5px 20px 20px 20px;
    }
    
    #sec06 {
        background: url("../images/vec04.png") no-repeat left top,#e5f5fc;
        background-size: 240px;
    }

    #sec06 .ttl,
    #sec07 .ttl{
        font-size: 6vw;
    }

    .company-info-list + p{
        font-size: 12px;
    }
    
    #sec07 {
        padding-top: 30px;
    }
    
    .sc05_type01 dl.li35 dt .sc05_img {
        margin-bottom: 10px;
    }
    
    .fix_timer_bg.sc05_time {
        width: 290px;
        left: 50%;
        height: 27px;
        top:-13px;
    }
    
    .fix_timer_bg.sc05_time span:first-child {
        width: 70%;
    }
    .fix_timer_bg.sc05_time span:nth-child(2) {
        width: 30%;
    }
    
    
    .dec07 .sc05_type01 dl dt {
        gap: 5px;
        padding: 40px 10px;
        align-items: flex-start;
    }
    .dec07 .staff {
        text-align: center;
        width: 48%;
    }
    .dec07 .sc05_img {
        margin: 5px auto;
        width: 100%;
        max-width: 125px;
    }
    .dec07 .sc05_txt {
        min-width: unset;
        width: 100%;
        text-align: left;
    }
    .dec07  .sc05_txt01 {
        font-size: 12px;
    }
    
    .dec07 .fix_timer_bg1.sc05_time {
        width: 290px;
        left: 50%;
        height: 33px;
        top: -13px;
    }
    
    
    .fix_timer_bg1.sc05_time span:first-child {
        width: 90%;
        padding: 0 0 1px 0;
        flex-direction: column;
        line-height: 1.6em;
    }
    .fix_timer_bg1.sc05_time span:nth-child(2) {
        width: 33%;
        padding: 0 15px 1px 0;
    }
    .fix_timer_bg1.sc05_time {
        background: url(../images/vec_tit_bg_01_sp.png) no-repeat top left;
        background-size: 100%;
        z-index: 2;
    }

    .dec07 .fix_timer_bg1.sc05_time {
        top: -25px;
    }
 /* .dec07 .sc05_time span b {
    background-position: left top 1px;
} */

}



@media screen and (max-width: 500px) {
    .mv_cap01 {
        font-size: 3.5vw;
        margin: 0 auto 5vw;
    }
    
    #mainvisual h2 {
        text-align: center;
        margin-bottom: 4vw;
        line-height: 8vw;
    }
    
    #mainvisual h2 .txt01,#mainvisual h2 .txt02 {
        font-size: 6vw;
    }
    
    
    .mv_cap02 {
        font-size: 5vw;
        padding-left: 12vw;
        text-align: center;
        padding-right: 12vw;
    }
    .mv_cap02:after {
        width: 8vw;
        height: .5vw;
    }
    .mv_cap02:before {
        width: 8vw;
    content: "";
  height: .5vw;
  background: #000;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
    }
    
    #mainvisual .news-cal {
        display: block;
        background: url("../images/main_sub_title.png") no-repeat center center;
        background-size: 100%;
        max-width: 602px;
        width: 100%;
        border: none;
        padding: 1vw 5vw;
        margin: 3vw 0;
    }
    
    .first_cal,.sec_cal {
        width: 100%;
        font-size: 3.5vw;
        padding: 1vw 3vw 2vw;
    }
    
    #mainvisual .main-btn a {
        font-size: 4vw;
    }
    #mainvisual .main-btn a span{
        padding-left: 8vw;
    }
    
    /* .dec07 .sc05_time span b {
        background-position: left top 2px;
        background-size: 14px;
        padding-left: 20px;
        margin-right: 0;
    } */
    
    .fix_timer_bg1.sc05_time {
        background: url(../images/vec_tit_bg_01_sp.png) no-repeat top left;
        background-size: 100%;
        z-index: 2;
    }
    
}

@media screen and (max-width: 620px) {

    .wrap_two .sc05_type01 dl dt {
        display: block
    }
    
    .wrap_two .flx_style01 {
        width: 48%;
        margin-bottom: 0;
        display: block
    }
    
    .wrap_two .flx_style01 .sc05_img {
        width: 100%;
        margin-right: 0;
        text-align: center
    }
    
    .wrap_two .flx_style01 .sc05_txt{
        width: 100%
    }
    
    .box_sc05.dec05 .sc05_style01 {
         max-width: 300px;
        margin: 0 auto;
    }
    
    
    .box_sc05.dec04 .wrap_two .sc05_type01 dl dt {
        display: flex
    }
    
}


@media screen and (min-width: 401px) and (max-width: 750px){
    .fix_timer_bg.sc05_time {
        width: 335px;
        height: 32px;
    }
    .dec07 .fix_timer_bg1.sc05_time {
        width: 335px;
        height: 50px;
    }
}
@media screen and (max-width: 425px) {
.sc05_time span b {
    background-position: left top 6px;
}
/* .dec07 .sc05_time span b {
    background-position: left top 0px;
} */
}
@media screen and (max-width: 400px) {
    .dec07 .sc05_type01 dl dt {
        gap: 10px;
    }

    .dec07  .sc05_txt01 {
        font-size: 10px;
    }
    .fix_timer_bg1.sc05_time {
        background: url(../images/vec_tit_bg_01_sp.png) no-repeat top left;
        background-size: 100%;
        z-index: 2;
    }
    .dec07 .fix_timer_bg1.sc05_time {
        width: 290px;
        left: 50%;
        height: 45px;
        top: -13px;
    }
    .fix_timer_bg1.sc05_time span:first-child {
        width: 67%;
        line-height: 1.3em;
        text-align: left;
        padding-left: 10px;
    }
    .fix_timer_bg1.sc05_time span:nth-child(2) {
        width: 33%;
        padding: 0;
    }
    /* .dec07 .sc05_time span b {
        background-position: left top 0px;
    } */
    .dec07 .fix_timer_bg1.sc05_time {
  
        top: -21px;
    }

}







































