@charset "utf-8";
@media (max-width: 967px) {
    header h1 {
        position: fixed;
        top: 0px;
        left: 20px;
        width: 200px;
        z-index: 12;
    }

    header.is-scroll {
        height: 75px;
        background-color: #fff;
    }

    header h1.active {
        background-image: url(../images/header-logo_white.png);
    }

    header.is-scroll nav ul {
        color: #fff;
    }

    header.is-scroll .nav-entry a {
        background: url(../images/entry-btn_off.svg) no-repeat center #fff;
        background-size: 45px 20px;
    }

    .parallax-bg {
        height: 0;
        padding-top: 93%;
        background-position: bottom left;
    }

    .mv-header {
        background: url(../images/mv-text_sp.png) no-repeat 20px 120px;
        background-attachment: fixed;
        background-size: 60%;
        width: 70%;
        height: 100%;
        z-index: 1;
        position: absolute;
        top: 0;
        left: 0;
    }

    .mv-image {
        background: url(../images/mv-img.png) no-repeat 120% 80px;
        background-attachment: fixed;
        background-size: 60%;
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
    }

    .sp-menu {
        position: relative;
    }

    .sp-menu-logo {
        width: 100px;
        margin-bottom: 40px;
        z-index: 10;
    }

    .sp-menu-logo p {
        color: #EF3E08;
        font-size: 12px;
        font-family: 'futura-pt', sans-serif;
        font-weight: 400;
        text-transform: uppercase;
    }

    /*メニューボタン　展開前*/
    .menu-btn {
        display: block;
        position: fixed;
        right: 20px;
        top: 20px;
        width: 42px;
        height: 42px;
        cursor: pointer;
        text-align: center;
        z-index: 11;
    }

    .menu-btn span {
        display: block;
        position: absolute;
        width: 30px;
        height: 2px;
        left: 6px;
        background: #fff;
        transition: 0.3s ease-in-out;
    }

    .is-scroll .menu-btn span {
        background: #000;
    }

    .menu-btn span:nth-of-type(1) {
        top: 10px;
    }

    .menu-btn span:nth-of-type(2) {
        top: 20px;
    }

    .menu-btn span:nth-of-type(3) {
        top: 30px;
    }

    /*メニューボタン　展開後*/
    .menu-btn.active span:nth-child(1) {
        top: 16px;
        left: 6px;
        background: #fff;
        transform: rotate(-45deg);
    }

    .menu-btn.active span:nth-child(2),
    .menu-btn.active span:nth-child(3) {
        top: 16px;
        background: #fff;
        transform: rotate(45deg);
    }

    /*スマホ用のメニュー*/
    .gnavi {
        position: fixed;
        top: 0;
        left: 100vw;
        color: #fff;
        background-color: rgba(3, 149, 211, 1);
        width: 100%;
        height: 100vh;
        opacity: 0;
        transition: left .3s ease, opacity .3s ease, visibility .3s ease;
        padding: 20px 5%;
        overflow-y: auto;
        z-index: 10;
    }

    .gnavi.active {
        opacity: 1;
        left: 0;
    }

    .gnavi ul {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding-right: 0;
        margin-top: 60px;
    }

    .gnavi ul li {
        width: 100%;
    }

    .gnavi ul li a {
        text-align: center;
        padding: 20px;
    }

    .gnavi ul li.nav-entry {
        margin-left: 0;
        margin-top: 20px;
    }

    .gnavi ul li.nav-entry a {
        width: 100%;
        padding: 10px;
        max-width: 300px;
        margin: 0 auto;
    }

    .sp-menu-a {
        display: block;
        margin-bottom: 20px;
    }

    .sp-menu-a:active,
    .sp-menu-a:hover {
        color: #EF3E08;
    }

    .sp-menu-a p {
        font-size: 18px;
        font-weight: 500;
    }

    .sp-menu-a p.en {
        font-size: 17px;
        text-transform: uppercase;
        font-style: italic;
    }

    .sp-menu-b {
        display: block;
        width: 150px;
        background-color: #000;
        color: #fff;
        text-align: center;
        padding: 10px 20px;
        margin-top: 10px;
        font-weight: 400;
    }

    .sp-menu-b span {
        display: block;
        font-size: 8px;
    }

    .pc-header {
        display: none;
    }

    .about {
        margin-top: 93%;
        padding: 80px 5px 40px;
    }

    .about-tit {
        font-size: 24px;
    }

    .about-txt {
        margin-top: 20px;
        font-size: 16px;
        line-height: 2.5;
    }

    .important {
        padding-top: 0;
    }

    .important-tit {
        font-size: 24px;
        padding: 40px 20px 20px;
    }

    .important-list {
        padding-bottom: 20px;
        background-size: 150px;
    }

    .important-list dt {
        padding: 20px 20px 0;
    }

    .important-list dd {
        padding: 10px 20px 20px;
    }

    .interview {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .interview-tit {
        font-size: 24px;
    }

    .swiper {
        max-width: 270px;
    }

    .swiper-button-prev,
    .swiper-button-next {
        width: 40px;
        height: 40px;
    }

    .mood {
        background-size: cover;
        -webkit-animation: bgroop2 80s linear infinite;
        animation: bgroop2 80s linear infinite;
    }

    .mood-wrapper {
        background-size: cover;
        -webkit-animation: bgroop 40s linear infinite;
        animation: bgroop 40s linear infinite;
    }

    .mood-wrapper::before {
        width: 90%;
        height: 100%;
        margin-left: -45%;
    }

    .mood-tit {
        font-size: 24px;
        padding: 40px 20px 20px;
    }

    .mood-list {
        width: auto;
        padding: 0 10%;
    }

    .mood-list li {
        font-size: 16px;
        padding-left: 2em;
        text-indent: -1.6em;
    }

    .mood-list li::before {
        width: 16px;
        height: 16px;
    }

    .benefit {
        padding: 0 20px;
    }

    .benefit-tit {
        font-size: 24px;
        padding: 40px 20px 20px;
    }

    .benefit-list li {
        width: 48%;
    }

    .benefit-list li:nth-of-type(n+4) {
        margin-top: 0;
    }

    .benefit-list li:nth-of-type(n+3) {
        margin-top: 40px;
    }

    .occupation-tit {
        font-size: 24px;
        padding: 40px 0 20px;
    }

    .occupation-tab-content {
        padding: 40px 20px 20px;
    }

    .service-wrapper {
        padding: 0 20px 40px;
    }

    .service-tit {
        font-size: 24px;
        padding: 40px 0 20px
    }

    .company {
        padding-bottom: 40px;
    }

    .company-tit {
        font-size: 24px;
        padding: 40px 0 20px;
    }

    .requirements {
        padding-top: 40px;
    }

    .requirements-wrapper {
        padding: 0 20px 40px;
    }

    .requirements-tit {
        font-size: 24px;
    }

    .requirements-header {
        padding: 20px 0 0;
    }

    .requirements-job {
        font-size: 18px;
    }

    .requirements-icon {
        width: 18px;
        height: 18px;
    }

    .requirements-body .requirements-body-item {
        display: block;
        padding: 30px 0 20px;
    }

    .requirements-body-item-content {
        margin-top: 10px;
    }

    .entry {
        padding: 40px 20px 40px;
    }

    .entry-tit {
        font-size: 24px;
    }

    .entry-lead {
        text-align: left;
    }

    .entry-form {
        padding: 20px;
        margin-top: 20px;
    }

    .entry-form .form-columns-2 {
        flex-direction: column;
        gap: 0;
    }

    .entry-form .form-columns-2 .hs-form-field {
        width: 100% !important;
    }

    .entry-form .hs-button,
    .entry-form input[type="submit"] {
        padding: 14px 20px;
    }

    .information {
        padding: 40px 0;
    }

    .information-wrapper {
        padding: 0 20px;
    }

    .information-tit {
        font-size: 24px;
    }

    .information-list {
        margin-top: 20px;
    }

    .information-item {
        display: block;
    }

    .information-item dd {
        margin-top: 5px;
    }

    footer {
        padding: 20px 10px 20px;
    }

    footer li {
        font-size: 10px;
    }

    footer ul li+li {
        margin-left: 10px;
        padding-left: 10px;
    }

    footer small {
        font-size: 8px;
        margin-top: 20px;
    }

    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

}