/*menu*/
@media(max-width:860px){
    header{
        overflow:visible ;
    }
    .head_area .head_btn_area{
        width:50px;
    }
    .header-navi-button{
        display:block;
        position: relative;
        width:100%;
        height:100%;
        cursor: pointer;
    }
    .header-navi-button .line{width:28px;height:2px;background:#fff;transition:all 0.2s cubic-bezier(0.05,0.05,0.31,0.97);-o-transition:all 0.2s cubic-bezier(0.05,0.05,0.31,0.97);-webkit-transition:all 0.2s cubic-bezier(0.05,0.05,0.31,0.97);transition:all 0.2s cubic-bezier(0.05,0.05,0.31,0.97);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute;top:0%;left:50%;-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}
    .header-navi-button .line-top{top:12px;}
    .header-navi-button .line-middle{top:21px;}
    .header-navi-button .line-bottom{top:30px;}
    .header-navi-button .line-text{height:auto;line-height:1;width:100%;display:block;background:none;top:40px;}
    .header-navi-button .line-text:before{content:'MENU';width:100%;display:block;font-family:bodoni-pt-variable,sans-serif;font-variation-settings:"opsz" 0,"wght" 600;font-feature-settings:"palt";letter-spacing:.04em;color:#fff;text-align:center;bottom:20px;display:block;width:100%;font-size:10px;height:0;line-height:1;}

    .header-navi-open .header-navi-button .line-top{-moz-transform:rotate(215deg);-ms-transform:rotate(215deg);-webkit-transform:rotate(215deg);transform:rotate(215deg);width: 30px;left: 25%;top: 20px;}
    .header-navi-open .header-navi-button .line-middle{opacity:0;}
    .header-navi-open .header-navi-button .line-bottom{-moz-transform:rotate(-215deg);-ms-transform:rotate(-215deg);-webkit-transform:rotate(-215deg);transform:rotate(-215deg);width: 30px;left: 25%;top: 20px;}

    .head_area .head_nav{
        height: calc(100vh - 80px);
        position: absolute;
        top: 80px;
        left: 0;
        width: 100%;
        background: var(--bg_color);
        flex-direction: column;
        z-index: -1;
        flex-wrap: nowrap;
        overflow-y: auto;
        justify-content: flex-start;
        opacity: .95;
        transform: translateY(-100%);
        visibility: hidden;
        transition: all .0s linear;
    }
    .head_area .head_nav li{
        border-top: 1px solid #000b;
    }

    .header-navi-open .head_area .head_nav{
        transform: translateY(0);
        visibility:visible;
        transition: all .3s ease-out;
    }

    .head_area .head_rec_area{
        width:auto;
        display:block;
        flex-grow: 1;
        position: relative;
        padding: 2px;
        padding-right: 30px;
    }
    .head_area .head_rec_area a{
        display: flex;
        height: 100%;
        justify-content: center;
        box-shadow: 0 0 3px #000;
        padding: 9px 0;
        border-radius: 5px;
        
        background: linear-gradient(45deg, #DAAF08 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #DAAF08 90% 100%);
        position: relative;

    }
    .head_area .head_rec_area a::after{
        content:'';
        display:block;
        position: absolute;
        top:1px;
        left:1px;
        right:1px;
        bottom:1px;
        background-color: var(--bg_color);
        background-image: linear-gradient(0deg,#fff2,#0005);
        border-radius: 5px;

    }
    .head_area .head_rec_area a img{
        display: block;
        height: 100%;
        position: relative;
        z-index: 1;
    }

    /*foot*/
    .foot_link{
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }
    .foot_link>div{
        padding-bottom: 1rem;
    }


    /*top*/
    .point_box .tx{
        left:-4vw;
    }
    .point_box.rev .tx{
        right:-4vw;
    }
    .recruit_mark{
        display:none;
    }
}

/*tablet*/
@media(max-width:768px){
    /*footer*/
    .foot_flex{
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }
    .foot_nav{
        display:none;
    }
    .foot_nav li{
        padding:0.2rem 1rem;
        width:auto;
    }
}

/*sp*/
@media(max-width:640px){
    .pc_none{
        display:initial;
    }
    .sp_none{
        display: none;
    }
    .sp_pad{
        padding:0 2vw;
    }
    h2{
        font-size: 4rem;
    }
    .head_area .head_nav li a{
        font-size: 1.1rem;
    }

    /*footer*/
    .foot_flex{
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding:7vw;
    }
    .foot_nav{
        display:none;
    }
    .foot_nav li{
        padding:0.2rem 1rem;
        width:auto;
    }
    .foot_flex .foot_mess{
        width:100%;
        padding:0;
    }
    .foot_flex .foot_mess span{
        font-size: 5vw;
    }
    .foot_link{
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }
    .foot_link>div{
        padding-bottom: 1rem;
    }

    .foot_link .btn{
        width:320px;
    }
    footer .copy{
        font-size: .9em;
    }

    /*mv*/
    .mv .cover{
        padding-left: 0;
        padding-bottom: 9vw;
    }
    .mv .cover .border_box::before{
        height: calc(100% - 25vw);
    }
    .mv .cover .border_box::after{
        width: calc(100% - 62vw);
    }
    .mv .cover .tx{
        font-size: 17vw;
    }

    /*main*/
    main{
        min-height:calc(100vh - 100vw);
    }

    /*top*/
    .point_box{
        padding:4rem 0rem;
    }
    .point_box .img{
        padding:0rem;
    }
    .point_box .heading{
        left:1rem;
        height:17vw;
    }
    .point_box .tx{
        position: relative;
        width:100%;
        left: 0!important;
        right:0!important;
        bottom: 0;
        background:none;
        color:#fff;
        padding: 1rem 2rem;
    }
    .point_box .tx >div{
        width:auto;
    }

    .news_flex{
        columns: 1;
        padding: 0 2vw;
    }
    .news_flex li{
        padding: 2vw;
    }
    .news_flex li a{
        display:block;
    }
    .news_flex li a img{
        width:100%;
        display:block;
    }
    .news_flex li>a .ct_icon {
        font-size: 16px;
    }
    .news_flex li>a .tx{
        font-size: 16px;
    }
}
@media(max-width:480px){
    h2{
        font-size: 3rem;
    }
    .foot_link .btn{
        width:300px;
    }
}