@charset "UTF-8";

@media only screen and (min-width: 1600px){
    html{font-size:12.5px}
}

@media only screen and (max-width: 1023px){
    html{
        font-size:1.67vw;
        line-height:1.5
    }
}

a{
    color:#000;
    text-decoration:underline
}

html.notouch a:hover{text-decoration:none}

.pc-hidden{display:none !important}

@media only screen and (max-width: 1023px){
    .tbsp-hidden{display:none !important}
}

@media only screen and (max-width: 1023px){
    .sp-hidden{display:none !important}
    .pc-hidden{display:block !important}
    br.pc-hidden{display:inline-block !important}
}

html.dropdown-open .overlay{
    opacity:1;visibility:visible;-webkit-transition:0.3s cubic-bezier(0.645, 0.045, 0.355, 1);transition:0.3s cubic-bezier(0.645, 0.045, 0.355, 1)
}

html.dropdown-open .header__inner{
    border-radius:12px 12px 0 0
}

@media only screen and (max-width: 768px){
    .overlay{background:rgba(255,255,255,0.8)}
    html.dropdown-open .overlay{opacity:0;visibility:hidden}
    html.dropdown-open .header__inner{border-radius:0.6rem}
    html.menu-open .overlay{opacity:1;visibility:visible}
}

.header{
    position:absolute;
    top:30px;left:0;
    z-index:200;
    width:100%
}

.header__inner{
    margin:0 60px;
    background:#ffffff;
    position:relative;
    border-radius:24px;
    -webkit-box-shadow:0 0.5rem 3rem rgba(0,0,0,0.05);
    box-shadow:0 0.5rem 3rem rgba(0,0,0,0.05);
    -webkit-transition:.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition:.3s cubic-bezier(0.645, 0.045, 0.355, 1)
}

.header__logo{
    position:absolute;
    top:54%;
    left:40px;
    -webkit-transform:translateY(-55%);
    transform:translateY(-55%);z-index:2
}

.header__logo a{
    -webkit-transition:none !important;
    transition:none !important;
    display:block;
    overflow:hidden;
    text-indent:-5260px;
    width:224px;
    height:45px;
    background:url(../img/logo.png) no-repeat center center;
    background-size:contain
}

.header__menu{display:none}

.header .h-mainNav{
    position:relative;
    z-index:1
}

.header .h-mainNav__list{
    display:table;
    margin-left:auto;
    margin-right:40px
}

.header .h-mainNav__list>li{
    display:table-cell;
    vertical-align:top
}

.header .h-mainNav__list li.c-btn{
    vertical-align:middle
}

.header .h-mainNav__list>li .label{
    display:block;padding:0 15px;
    font-size:14px;
    font-weight:700;
    text-decoration:none
}

.header .h-mainNav__list>li .label span{
    -webkit-transition:0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition:0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
    padding:40px 0;display:block;
    position:relative
}

.header .h-mainNav__list>li .label span:after{
    -webkit-transition:.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition:.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    background:#f97709
}

.header .h-mainNav__list>li .label span:before,.header .h-mainNav__list>li .label span:after{
    content:'';position:absolute;
    bottom:0;
    width:0;
    right:0;
    height:1px
}

html.notouch .header .h-mainNav__list>li .label span:hover:after,html.notouch .header .h-mainNav__list>li .label span:hover:before{
    left:0;
    right:auto;
    width:100%
}

.header .h-mainNav__list>li .label span:before,.header .h-mainNav__list>li .label span:after{
    -webkit-transition:0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition:0.25s cubic-bezier(0.645, 0.045, 0.355, 1);
    height:4px}

.header .h-mainNav__list>li .dropdown{
    position:absolute;
    opacity:0;
    visibility:hidden;
    top:100%;
    left:0;z-index:1;
    width:100%;
    border-radius:0 0 15px 15px;
    overflow:hidden;
    -webkit-box-shadow:0 0.5rem 3rem rgba(0,0,0,0.05);
    box-shadow:0 0.5rem 3rem rgba(0,0,0,0.05);
    -webkit-transition:0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
    transition:0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s
}

.header .h-mainNav__list>li .dropdown__bg{
    padding:60px 0 30px;
    -webkit-box-shadow:0 0.5rem 2rem rgba(0,0,0,0.05) inset;
    box-shadow:0 0.5rem 2rem rgba(0,0,0,0.05) inset;
    background:#f97709
}

.header .h-mainNav__list>li .dropdown__inner{
    max-width:1080px;
    margin:0 auto;
    padding-right:20px;
    padding-left:20px
}

@media only screen and (min-width: 1600px){
    .header .h-mainNav__list>li .dropdown__inner{max-width:1400px}
}

.header .h-mainNav__list>li .dropdown__list{
    display:table;
    margin:0 auto;
    width:100%
}

.header .h-mainNav__list>li .dropdown__list .item{
    display:table-cell;
    vertical-align:top;
    width:25%
}

.header .h-mainNav__list>li .dropdown__list .item a{
    display:block;
    position:relative;
    text-decoration:none;
    padding-bottom:35px;
    border-bottom:1px solid #663300;
    position:relative
}

.header .h-mainNav__list>li .dropdown__list .item a:after{
    -webkit-transition:.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition:.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    background:#f97709
}

.header .h-mainNav__list>li .dropdown__list .item a:before,.header .h-mainNav__list>li .dropdown__list .item a:after{
    content:'';
    position:absolute;
    bottom:0;
    width:0;
    right:0;
    height:1px
}

html.notouch .header .h-mainNav__list>li .dropdown__list .item a:hover:after,html.notouch .header .h-mainNav__list>li .dropdown__list .item a:hover:before{
    left:0;right:auto;width:100%
}

.header .h-mainNav__list>li .dropdown__list .item a:after{
    bottom:-1px;
    background:#ffffff
}

.header .h-mainNav__list>li .dropdown__list .item__img{
    margin-bottom:20px;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    overflow:hidden;
    position:relative;
    z-index:0;
    -webkit-box-shadow:0px 5px 5px -5px rgba(0,0,0,0.1);
    box-shadow:0px 5px 5px -5px rgba(0,0,0,0.1)
}

.header .h-mainNav__list>li .dropdown__list .item__img.is-show{background-color:#ffffff}

.header .h-mainNav__list>li .dropdown__list .item__img.is-show img{
    opacity:1;
    -webkit-transform:scale(1.001);
    transform:scale(1.001)
}

.header .h-mainNav__list>li .dropdown__list .item__img img{
    opacity:0;
    -webkit-transition:0.4s cubic-bezier(0.215, 0.61, 0.355, 1);transition:0.4s cubic-bezier(0.215, 0.61, 0.355, 1);-webkit-transform:scale(1.1);transform:scale(1.1)
}

.header .h-mainNav__list>li .dropdown__list .item__ttl{
    color:#ffffff;
    line-height:1;
    font-weight:700;
    font-size:14px
}

.header .h-mainNav__list>li .dropdown__btn{
    padding-top:30px;
    text-align:center
}

.header .h-mainNav__list>li .dropdown__btn .mod-txtBtn{
    font-weight:700;
    color:#ffffff;
    font-size:14px
}

.header .h-mainNav__list>li.is-open .dropdown{
    -webkit-transition:0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    transition:0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    opacity:1;
    visibility:visible;
    z-index:2;
    pointer-events:auto
}

.header .h-mainNav__list>li.is-open .label span,html.notouch .header .h-mainNav__list>li .label:hover span{color:#f97709}

.header .h-mainNav__list>li.is-open .label span:after,.header .h-mainNav__list>li.is-open .label span:before,html.notouch .header .h-mainNav__list>li .label:hover span:after,html.notouch .header .h-mainNav__list>li .label:hover span:before{left:0;right:auto;width:100%}

.header.is-fixed{position:fixed;top:0}

.header.is-fixed .header__inner{
    margin:0;
    border-radius:0;
}

.header.is-fixed .c-btn a{
    padding:10px 40px;
}

.header.is-fixed .h-mainNav__list>li .label span{padding:20px 0}

@media only screen and (max-width: 1023px){
    .header{top:1rem;
        height:7rem;
        -webkit-transition:.3s cubic-bezier(0.645, 0.045, 0.355, 1);
        transition:.3s cubic-bezier(0.645, 0.045, 0.355, 1)
    }
    
    .header__inner{
        margin:0 0.75rem;
        -webkit-box-shadow:0 0.3rem 1.2rem rgba(0,0,0,0.05);
        box-shadow:0 0.3rem 1.2rem rgba(0,0,0,0.05);
        border-radius:1.5rem;
        overflow:hidden;
        height:7rem;
        -webkit-overflow-scrolling:touch
    }
    
    .header__inner:before{    
        position:absolute;   
        content:"";   
        display:block;    
        width:100%;   
        height:1px;   
        background-color:#000;
        top:7rem;left:0;opacity:0;    
        -webkit-transition:0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
        transition:0.2s cubic-bezier(0.645, 0.045, 0.355, 1)
    }
    
    .header__logo{
        top:0;left:0;
        -webkit-transform:translateY(0);
        transform:translateY(0);
        width:100%;height:7rem
    }
    
    .header__logo a{
        background:url(../img/logo_02.png) no-repeat center center;
        background-size:contain;
        position:absolute;
        top:1.7rem;
        left:2.6rem;
        width:22.4375rem;
        height:3.75rem
        /*width:11.8rem;
        height:2.4rem*/
    }
    
    .header__menu{
        display:block;
        z-index:3;
        text-decoration:none;
        position:absolute;
        width:7rem;
        height:7rem;
        top:0;
        right:0;
        -webkit-transition:none !important;
        transition:none !important
    }
    
    .header__menu .lines{
        display:block;
        overflow:hidden;
        text-indent:-5260px;
        position:relative;
        width:7rem;
        height:7rem
    }
    
    .header__menu .line-1,.header__menu .line-2{
        -webkit-transition:all .3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
        transition:all .3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
        display:block;
        position:absolute;top:50%;
        left:50%;
        margin-left:-0.9rem;
        width:1.8rem;
        height:3px;
        background:#2d3c46
    }
    
    .header__menu .line-1{margin-top:-0.5rem}
    
    .header__menu .line-2{margin-top:0.5rem}
    
    .header__nav{
        -webkit-box-sizing:border-box;
        box-sizing:border-box;
        position:relative;
        z-index:1;height:100%;padding-top:7rem
    }
    
    .header .h-mainNav{
        position:relative;
        z-index:1;padding:0 2rem
    }
    
    .header .h-mainNav__list{
        display:block;
        margin-left:auto;
        margin-right:0
    }
    
    .header .h-mainNav__list>li{
        display:block;
        /*border-bottom:1px solid rgba(1,103,107,0.8);*/
        border-bottom:1px solid #663300;
        display:table;
        width:100%
    }

    .header .h-mainNav__list li.c-btn {
        border:none
    }

    /*.header.is-fixed .c-btn a {
        padding: 0.8rem;
    }*/
    
    .header .h-mainNav__list>li.company .label span:before{content:"ABOUT"}
    
    .header .h-mainNav__list>li.service .label span:before{content:"BUSINESS"}
    
    .header .h-mainNav__list>li.news .label span:before{content:"NEWS"}
    
    .header .h-mainNav__list>li.recruit .label span:before{content:"COMPANY"}
    
    /*.header .h-mainNav__list>li.contact .label span:before{content:"CONTACT"}*/
    
    .header .h-mainNav__list>li .label{
        width:50%;
        display:table-cell;
        vertical-align:top;
        padding:2.5rem 0;
        font-size:1.3rem
    }
    
    .header .h-mainNav__list>li .label span{
        font-size:.9rem;
        color:#ffffff;
        padding:0;
        display:block
    }
    
    .header .h-mainNav__list>li .label span:before{
        position:static;
        display:block;
        line-height:1.2;
        font-size:1.8rem;
        height:auto;
        font-weight:700
    }
    
    .header .h-mainNav__list>li .label span:after{display:none}
    
    body.top .header .h-mainNav__list>li.top>.label span{color:#ffffff}
    
    body.company .header .h-mainNav__list>li.company>.label span{color:#ffffff}
    
    body.service .header .h-mainNav__list>li.service>.label span{color:#ffffff}
    
    body.news .header .h-mainNav__list>li.news>.label span{color:#ffffff}
    
    body.recruit .header .h-mainNav__list>li.recruit>.label span{color:#ffffff}
    
    body.contact .header .h-mainNav__list>li.contact>.label span{color:#ffffff}
    
    .header .h-mainNav__list>li .dropdown{
        padding:4.5rem 0;width:50%;
        display:table-cell !important;
        height:auto !important;
        position:static;
        border-radius:0;
        overflow:hidden;
        -webkit-box-shadow:none;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        pointer-events:auto
    }
    
    .header .h-mainNav__list>li .dropdown__bg{
        padding:0;
        -webkit-box-shadow:none;
        box-shadow:none;
        background:none
    }
    
    .header .h-mainNav__list>li .dropdown__inner{
        padding-right:0;
        padding-left:0
    }
    
    .header .h-mainNav__list>li .dropdown__list{display:block}
    
    .header .h-mainNav__list>li .dropdown__list .item{display:block;width:auto}
    
    .header .h-mainNav__list>li .dropdown__list .item+.item{margin-top:2rem}
    
    .header .h-mainNav__list>li .dropdown__list .item a{
        padding-bottom:0;
        border-bottom:none
    }
    
    .header .h-mainNav__list>li .dropdown__list .item a:after,.header .h-mainNav__list>li .dropdown__list .item a:before{display:none}
    
    .header .h-mainNav__list>li .dropdown__list .item__img{display:none}
    
    .header .h-mainNav__list>li .dropdown__list .item__ttl{
        font-size:1.3rem;
        color:#ffffff;
        line-height:1;
        font-weight:400
    }
    
    .header .h-mainNav__list>li .dropdown__btn{display:none}
    .header .h-mainNav__list>li.is-open .dropdown{z-index:2}
    .header .h-mainNav__list>li.is-open .label span,html.notouch .header .h-mainNav__list>li .label:hover span{color:#ffffff}

    .header .h-foot{
        padding:4rem 2rem;
        position:relative
    }
    
    .header .h-foot__sns ul{
        text-align:left
    }
    
    .header .h-foot__sns ul li{display:inline-block}

    .header .h-foot__sns ul li a{
        display:block;
        width:3rem;
        height:3rem;
        border-radius:50%;
        text-decoration:none;
        position:relative;
        background:rgba(45,60,70,0.5)
    }

    .header .h-foot__sns ul li a.icon:before{
        display:block;
        color:#ffffff;
        font-size:1.1rem;
        position:absolute;
        top:50%;left:50%;
        -webkit-transform:translate(-50%, -50%);
        transform:translate(-50%, -50%)
    }

    .header .h-foot__sns ul li a.icon.facebook:before{
        content:'\e901';
        font-family:'icomoon' !important;
        speak:none;
        font-style:normal !important;
        font-weight:normal !important;
        font-variant:normal;
        text-transform:none;
        line-height:1;
        text-decoration:none !important;
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale
    }
        
    .header .h-foot__sns ul li a span{display:none}

    .header .h-foot__copyright {
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        top: 50%;
        font-size: 1rem;
        color: #ffffff;
        font-family: "din-2014";
        font-weight: 400;
        text-align: center;
    }
        
    .header.is-fixed{position:fixed;top:0}
    
    .header.is-fixed .header__inner{margin:0;border-radius:0}
    
    .header.is-fixed .h-mainNav__list>li .label span{padding:0}
    
    html.menu-open .header.is-fixed{height:100% !important}
    
    html.menu-open .header.is-fixed .header__inner{height:100% !important}
    
    html.menu-open .header__inner{
        height:calc(100% - 2rem);
        background-color:#f97709;
        opacity: 0.9;
        overflow:auto
    }
        
    html.menu-open .header__inner:before{
        -webkit-transition:0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;
        transition:0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0.1s;opacity:1
    }
        
    html.menu-open .header__logo a{
        background:url(../img/logo_03.png) no-repeat center center;
        background-size:contain;
        opacity: 0.6;
    }
        
    html.menu-open .header__menu .line-1,html.menu-open .header__menu .line-2{
        margin-top:0;
        background-color:#000
    }
}

/*#wrapper{position:relative}
    

#wrapper img{
    width:100%;
    max-width:100%;
    height:auto;
    min-height:auto
}*/
    
.content{position:relative;z-index:2}

.content__head{
    position:relative;
    margin-top:30rem;
    padding-bottom:12rem;
    max-width:1280px;
    margin-right:auto;
    margin-left:auto;
    padding-right:2.75rem;
    padding-left:2.75rem
}

@media only screen and (min-width: 1600px){
    .content__head{
        max-width:1600px;
        padding-right:80px;
        padding-left:80px
    }
}

.content__head .head__inner{padding:0 2.5%}

.content__head .head__ttl{margin-bottom:2rem}

.content__head .head__ttl .jp{
    font-size:1.2rem;
    font-weight:700;
    line-height:1;
    display:block;
    margin-bottom:0.5rem;
    letter-spacing:0.04em
}

.content__head .head__ttl .en{
    font-size:5.4rem;
    font-weight:700;
    font-family:"cresta";
    line-height:1;
    letter-spacing:0.04em
}

.content__head .head__lead{
    font-size:1.6rem;
    letter-spacing:0.04em
}

.content__kv{
    padding-top:7rem;
    position:relative;
    z-index:3
}

.content__kv:before{
    content:"";
    display:block;
    position:absolute;
    z-index:-1;right:0;
    top:0;height:90%;
    width:50%;
    background:#027e7e
}

.content__kv .kv__inner{
    position:relative;
    margin-left:11%;
    padding-bottom:24.305555%
}

.content__kv .kv__img{
    position:absolute;
    left:0;bottom:0
}

.content__kv .kv__img .easingImg__inner{
    -webkit-transform:scale(1.1);
    transform:scale(1.1)
}

.content__kv .kv.is-show .easingImg__inner{
    -webkit-transform:scale(1);
    transform:scale(1)
}

@media only screen and (max-width: 1023px){
    .content__head{
        margin-top:14rem;
        padding-bottom:4.5rem
    }
    .content__head .head__inner{padding:0}
}

@media only screen and (max-width: 667px){
    .header .h-mainNav__list>li .label span:before{
        font-size:18px;
    }
    .header .h-mainNav__list>li .label span {
        font-size: 12px;
    }
}

@media only screen and (max-width: 480px){
    .header .h-mainNav__list>li .label span:before{
        font-size:14px;
    }
    .header .h-mainNav__list>li .label span {
        font-size: 9px;
    }
}

.c-btn a{
    -webkit-transition:all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
    transition:all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
    position:relative;
    background:#f97709;
    text-decoration:none;
    color:#fff;
    font-weight:bold;
    text-align:center;
}

li.c-btn a{
    display:inline;  
}

@media screen and (max-width: 1023px){
    li.c-btn a{
        display:block;
        margin: 2rem auto;
        padding: 1.4667vw;
        width: 70%;
    }
    
    .c-btn a{
        display:block;
        border-radius:1.9999vw;
        /*height:14.6667vw;*/
        /*line-height:50px;*/
        /*padding:0 6.6667vw;*/
        background-color:#fff;
        color:#f97709;
        font-size:1.75rem;
    }
    
    .c-btn a:before,.c-btn a:after{
        right:2.9333vw;
        /*top:0;*/
    }
    
    /*.c-btn a:before{
        content:"";
        position:absolute;
        font-family:'myfont', sans-serif;
        font-weight:normal;
        color:#fff;-webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
        font-size:6vw;
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
    }*/
    
    .c-btn a:after{
        font-family:"Font Awesome 5 Free";
        content:'\f0a9';
        font-weight:900;
        /*content:"";*/
        position:absolute;
        color:#f97709;
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
        /*font-size:1.75rem;*/
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
    }
    
    .c-btn a:hover{
        border:solid 2px #fff;
        background-color:#f97709;
        color: #fff;
    }
    
    .c-btn a:hover:after{color:#fff;}
}

@media screen and (min-width: 1024px){
    .c-btn a{
        position:relative;
        display:inline-block;
        min-width:344px;
        border-radius:14px;
        height:60px;
        /*line-height:56px;*/
        padding:13px 40px;
        border:solid 2px #f97709;
        font-size:14px;
        min-width:200px;
        width:100%;
        margin-left:22px;
    }
    .c-btn a:before,.c-btn a:after{
        -webkit-transition:all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
        transition:all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
        right:20px;top:calc(50% - 14px);
        -webkit-transform-origin:50% 50%;
        transform-origin:50% 50%
    }
    .c-btn a:after{
        font-family:"Font Awesome 5 Free";
        content:'\f0a9';
        font-weight:900;
        position:absolute;
        color:#fff;
        right:12px;
        /*top:calc(50% - 23px);*/
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
        font-size:15px;
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale
    }
    .c-btn a:hover{
        background-color:#fff;
        color:#f97709
    }
    /*.c-btn a:hover:before{color:#f97709}*/
    .c-btn a:hover:after{color:#f97709}
    .c-btn--t-lt a{padding-left:40px;text-align:left}
    .c-btn--blank a span:after{
        -webkit-transition:all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
        transition:all 400ms cubic-bezier(0.07, 0.76, 0.44, 1);
        padding-left:8px;
        content:"";
        position:absolute;
        font-family:'myfont', sans-serif;
        font-weight:normal;
        color:rgba(255,255,255,0.3);
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale;
        font-size:13px;
        -webkit-font-smoothing:antialiased;
        -moz-osx-font-smoothing:grayscale
    }
    
    /*.c-btn--blank a:hover span:after{color:rgba(252,92,101,0.3)}*/
}