@charset "utf-8";

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

    #home #main-img h1 span {
        font-size: 2.2rem;
    }

    #home .recruit-box .info dt,
    #home .recruit-box .info dd {
        padding: 20px;
    }

    #home .faq-box .faq h3 {
        margin-bottom: 30px;
    }

}

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

    #single .works-box .flex {
        padding: 40px;
        flex-direction: column;
    }

    #single .works-box .list {
        width: 100%;
        text-align: center;
        margin-bottom: 30px;
    }

    #single .works-box .list ul {
        display: inline-block;
        margin: 0 auto;
        text-align: left;
    }

    #single .works-box .read {
        width: 100%;
    }

    #single .attraction-box .point {
        margin-bottom: 40px;
    }

    #single .attraction-box .point::before {
        display: block;
        position: relative;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50vw;
    }

    #single .attraction-box .point:nth-child(even)::before {
        right: 0;
    }

    #single .attraction-box .point:nth-child(odd)::before {
        left: 0;
    }

    #single .attraction-box .point:nth-child(even) .txt,
    #single .attraction-box .point:nth-child(odd) .txt {
        margin: 0 20px;
    }

    #single .attraction-box .merit-list {
        justify-content: center;
    }

    #single .attraction-box .merit-list li {
        padding: 0 10px 20px;
    }

    #single .attraction-box .merit-list li span.flex {
        border-width: 4px;
    }

    .ttl-02 .bg {
        left: 20px;
    }

    #single .career-box .career .en-01 {
        font-size: 2.4rem;
    }

    #single .flow-box .flow-list figure {
        width: 160px;
        height: 160px;
        border-width: 4px;
    }

}

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

    #wrapper > header {
        height: 50px;
    }

    #wrapper > header .flex {
        height: 50px;
    }

    #identity {
        padding-left: 20px;
    }

    #identity img {
        max-height: 30px;
        width: auto;
    }

    #wrapper > header h1 {
        padding-left: 20px;
    }

    #head-tel {
        padding: 0 15px;
        margin: 0 0 0 auto;
    }

    #head-tel a {
        -js-display: flex;
        display: -ms-flex;
        display: -webkit-flex;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: #f5f5f5;
    }

    #menu-btn > div {
        width: 50px;
        height: 50px;
    }

    #g-nav .logo {
        padding: 10px 20px;
    }

    #g-nav .logo img {
        max-height: 30px;
        width: auto;
    }

    #g-nav ul {
        margin-top: 10px;
        padding: 0 20px;
    }

    #g-nav ul ul {
        margin: 0 0 10px;
    }

    #g-nav li {
        margin: 0;
    }

    #g-nav ul a {
        padding: 10px 0;
    }

    #g-nav ul a {
        padding: 5px 0;
    }

    #g-nav li a::after {
        display: none;
    }

    #nav-btn {
        padding: 20px;
        flex-direction: column;
    }

    #nav-btn .tel-btn {
        margin: 0 0 15px;
    }

    #head-tel .num,
    #head-tel .note {
        display: none;
    }

    #contact-btn {
        right: 20px;
        bottom: 20px;
    }

    #contact-btn a {
        width: 120px;
        height: 120px;
        padding: 10px;
    }

    footer .logo img {
        max-height: 30px;
        width: auto;
    }

    footer .bottom-menu li {
        padding: 0 10px;
    }

    #home #wrapper > header {
        padding-right: 50px;
    }

    #home #main-img .right {
        margin-left: 30%;
    }

    #home .info-box {
        padding: 40px 0;
    }

    #home .recruit-box {
        padding: 40px 0 10px;
    }

    #home .recruit-box .job {
        padding: 20px;
        margin-bottom: 30px;
    }

    #home .recruit-box .job .main {
        flex-direction: column;
    }

    #home .recruit-box .main figure {
        width: 100%;
        padding: 0;
        margin-bottom: 10px;
        text-align: center;
    }

    #home .recruit-box .main .txt {
        width: 100%;
    }

    #home .recruit-box .main .ttl .line {
        display: none;
        /*
        width: 1px;
        height: 20px;
        left: 50%;
        top: -10px;
        */
    }

    #home .recruit-box .info {
        margin: 20px 0;
    }

    #home .recruit-box .info dt {
        width: 35%;
    }

    #home .recruit-box .info dd {
        width: 65%;
    }

    #home .faq-box .faq {
        padding: 20px;
        margin-bottom: 30px;
    }

    #home .map iframe {
        height: 300px;
    }

    #single #wrapper > header {
        padding-right: 50px;
    }

    #single .info-box {
        padding: 40px 0;
    }

    #single .works-box {
        padding: 40px;
    }

    #single .works-box .ttl {
        padding: 80px 20px 120px;
    }

    #single .attraction-box .point .txt {
        padding: 40px;
    }

    #single .attraction-box .point .en-01 {
        left: 40px;
        font-size: 8rem;
    }

    #single .attraction-box .merit-list {
        max-width: 700px;
        margin: 0 auto 40px;
    }

    .ttl-02 {
        margin-bottom: 80px;
    }

    .ttl-02 .ttl {
        width: 35%;
    }

    .ttl-02 .txt {
        width: 65%;
    }

    .ttl-02 .bg {
        font-size: 10rem;
        top: 40px;
    }

    #single .message-box {
        padding: 100px 0 60px;
    }

    #single .message-box .wrap {
        padding: 40px;
    }

    #single .message-box .flex > figure {
        width: 100%;
        text-align: center;
        padding-right: 0;
    }

    #single .message-box .flex > .txt {
        width: 100%;
    }

    .slick_container .slick-prev {
        left: calc( 10% - 25px );
    }

    .slick_container .slick-next {
        right: calc( 10% - 25px );
    }

    #single .interview-box #tabs figure {
        display: none;
    }

    #single .interview-box #tabs figure + .txt {
        width: 100%;
    }

    #single .interview-box .tab-contents {
        padding: 20px;
    }

    #single .interview-box .tab-contents figure {
        float: none;
        text-align: center;
        padding: 0;
        margin-bottom: 20px;
    }

    #single .career-box {
        padding: 40px 0 10px;
    }

    #single .career-box .career > div {
        width: calc( 50% - 3px );
        padding: 30px 20px !important;
        margin: 20px 0;
    }

    #single .flow-box .flow-list {
        justify-content: flex-start;
    }

    #single .flow-box .col-5 .step {
        width: calc( 100% / 3 );
        margin-bottom: 20px;
    }

    #single .flow-box .col-5 .step:nth-child(3n) .arrow {
        display: none;
    }

    #single .flow-box .flow-list figure {
        margin: 0 auto 20px;
    }

    #single .entry-box {
        padding: 40px 0;
    }

    #single .profile-box {
        padding: 40px 0;
    }

    #single .other-box .job {
        width: calc( ( 100% - 40px ) / 3 );
    }

    #single .other-box .job .txt {
        padding: 20px;
    }

    #single .other-box .job .view-btn {
        display: block;
        padding: 10px;
    }

    footer .wrap {
        padding: 30px 20px;
    }

    #single footer .copyright {
        padding-bottom: 250px;
    }

}

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


    html[lang="ja"] #wpadminbar {
        display: none;
    }

    body {
        font-size: 1.4rem;
    }

    .pc-none {
        display: block;
    }

    .sp-none {
        display: none;
    }

    .btn-01 a {
        padding: 15px;
    }

    #wrapper > header {
        position: relative;
        overflow: hidden;
        z-index: 9999;
    }

    #wrapper > header h1 {
        position: absolute;
        left: -9999px;
        top: 0;
    }

    #g-nav ul a {
        font-size: 1.6rem;
    }

    #nav-btn a {
        font-size: 1.6rem;
    }

    #home #main-img {
        height: 250px;
    }

    #home #main-img .right {
        margin-left: 0;
    }

    #home #main-img .en-01 {
        font-size: 1.5rem;
        padding: 5px 10px;
    }

    #home #main-img h1 span {
        font-size: 1.6rem;
        padding: 5px 10px;
    }

    #home #main-img .txt {
        position: absolute;
        top: auto;
        bottom: 20px;
        transform: translate( 0 );
    }

    #contact-btn {
        left: 0;
        right: 0;
        bottom: 0;
    }

    #contact-btn ul {
        -js-display: flex;
        display: -ms-flex;
        display: -webkit-flex;
        display: flex;
        border-top: solid 1px rgba( 255, 255, 255, .5 );
    }

    #contact-btn li {
        width: 50%;
        margin: 0;
    }

    #contact-btn li.only {
        width: 100%;
    }

    #contact-btn a {
        width: 100%;
        height: auto;
        border: none;
        border-radius: 0;
        text-align: center;
        padding: 4px;
        transform: scale( 1 ) !important;
    }

    #contact-btn a img {
        width: 80px;
        height: 40px;
    }

    .ttl-01 {
        font-size: 1.4rem;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }

    .ttl-01 .en-01 {
        font-size: 3rem;
    }

    .ttl-02 {
        flex-direction: column;
        margin-bottom: 20px;
    }

    .ttl-02 .ttl {
        width: 100%;
        font-size: 1.6rem;
        margin-bottom: 10px;
    }

    .ttl-02 .ttl .en-01 {
        font-size: 3rem;
    }

    .ttl-02 .txt {
        width: 100%;
    }

    .ttl-02 .bg {
        font-size: 5rem;
        top: 10px;
        left: 10px;
        bottom: auto;
        left: auto;
    }

    .ttl-03 {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }

    .ttl-03 span:nth-child(1) {
        margin-right: 10px;
    }

    .ttl-03 span:nth-child(2) {
        margin-left: 10px;
    }

    dl.table {
        flex-direction: column;
    }

    dl.table dt {
        width: 100%;
        padding: 15px 0 5px;
    }

    dl.table dd {
        width: 100%;
        border: none;
        padding: 0 0 15px;
    }

    footer .wrap {
        flex-direction: column;
        justify-content: center;
        padding: 30px 20px 20px;
    }

    footer .logo {
        margin: 0 0 20px;
        padding: 0;
    }

    footer .bottom-menu .flex {
        justify-content: center;
    }

    #home .info-box {
        padding: 30px 0;
    }

    #home .recruit-box {
        padding: 30px 0 10px;
    }

    #home .recruit-box .ttl-01 {
        margin-bottom: 0;
    }

    #home .recruit-box > .wrap {
        padding: 0;
    }

    #home .recruit-box .job {
        padding: 20px 20px 10px;
        margin-bottom: 20px;
    }

    #home .recruit-box .main.img {
        display: block;
    }

    #home .recruit-box .main .ttl {
        padding: 10px 20px;
        margin-bottom: 15px;
    }

    #home .recruit-box .main h2 {
        font-size: 1.8rem;
    }

    #home .recruit-box .main .update {
        font-size: 1.1rem;
        padding: 0 15px;
        margin: 5px 0;
    }

    #home .recruit-box .main .photo {
        padding-right: 0;
        text-align: center;
    }

    #home .recruit-box .info {
        margin: 15px 0;
    }

    #home .recruit-box .info dt,
    #home .recruit-box .info dd {
        padding: 10px 15px;
    }

    #home .recruit-box .info dt {
        border-left: solid 1px #e5e5e5;
    }

    #home .recruit-box .info dd {
        border-right: solid 1px #e5e5e5;
    }

    #home .recruit-box .btn-set {
        flex-direction: column;
    }

    #home .recruit-box .btn-set > p {
        width: 100%;
        margin-bottom: 15px;
    }

    #home .faq-box {
        padding: 0;
    }

    #home .faq-box .wrap {
        padding: 0;
    }

    #home .faq-box .ttl-01 {
        margin-bottom: 0;
    }

    #home .faq-box .faq {
        margin-bottom: 20px;
    }

    #home .faq-box .faq h3 {
        font-size: 1.6rem;
        padding: 10px 10px 10px 50px;
        margin-bottom: 15px;
        position: relative;
    }

    #home .faq-box .faq h3 .q {
        width: 30px;
        height: 30px;
        font-size: 1.8rem;
        padding: 1px;
        position: absolute;
        left: 12px;
        top: 8px;
    }

    #home .faq-box .faq h4 {
        font-size: 1.8rem;
        margin-bottom: 15px;
    }

    #home .map {
        margin: 0;
    }

    #home .company .logo {
        width: 120px;
        height: 120px;
    }

    #home .company .logo img {
        max-width: 80px;
        max-height: 80px;
    }

    #home .company {
        padding: 0 20px 30px;
    }

    #single .info-box {
        padding: 20px 0;
    }

    #single .info-box h2 {
        font-size: 1.8rem;
        margin-bottom: 15px;
    }

    #single .works-box {
        padding: 0;
    }

    #single .works-box .ttl {
        padding: 60px 20px 90px;
        font-size: 1.4rem;
    }

    #single .works-box .ttl .en-01 {
        font-size: 3rem;
    }

    #single .works-box .flex {
        padding: 20px;
    }

    #single .works-box .list {
        padding: 20px;
        margin-bottom: 20px;
    }

    #single .works-box .read h3 {
        font-size: 1.8rem;
        margin-bottom: 15px;
    }

    #single .attraction-box {
        padding: 40px 0 0;
    }

    #single .attraction-box .point .txt {
        padding: 20px;
    }

    #single .attraction-box .point:nth-child(even) .txt,
    #single .attraction-box .point:nth-child(odd) .txt {
        margin-top: -30px;
        position: relative;
        z-index: 99;
    }

    #single .attraction-box .point .en-01 {
        position: relative;
        left: 0;
        right: 0;
        font-size: 3rem;
        text-align: center;
        line-height: 1.2;
        margin-bottom: 15px;
        transform: translateY( 0 );
    }

    #single .attraction-box .point {
        margin-bottom: 30px;
    }

    #single .attraction-box .point h3 {
        font-size: 1.6rem;
        margin-bottom: 15px;
    }

    #single .attraction-box .merit-list {
        font-size: 1.6rem;
        line-height: 1.6;
        margin: 0 auto;
        padding-bottom: 20px;
        justify-content: flex-start;
    }

    #single .attraction-box .merit-list li {
        width: 50%;
        padding: 0 0 10px;
    }

    #single .attraction-box .merit-list li span.flex {
        width: 40vw;
        height: 40vw;
        margin: 0 auto;
    }

    #single .concept {
        padding: 30px 0 20px;
    }

    #single .concept-list .flex {
        justify-content: space-between;
    }

    #single .concept-list li {
        width: calc( 50% - 10px );
        padding: 0;
        margin-bottom: 20px;
        font-size: 1.6rem;
    }

    #single .concept-list li img {
        max-width: 100px;
    }

    #single .message-box {
        padding: 80px 0 40px;
    }

    #single .message-box .wrap {
        padding: 40px 20px;
    }

    #single .message-box .flex > figure img {
        max-width: 240px;
    }

    #single .message-box .txt h3 {
        font-size: 1.8rem;
        margin: 0 0 15px;
    }

    #single .message-box .txt .name {
        margin-top: 20px;
        font-size: 1.4rem;
    }

    #single .event-box .slider {
        margin-top: 30px;
        margin-bottom: 40px;
    }

    .slick_container .slick-prev:before,
    .slick_container .slick-next:before {
        width: 40px;
        height: 40px;
        padding: 9px;
        font-size: 1.8rem;
    }

    #single .event-box .slider figcaption {
        padding: 10px;
        font-size: 1.4rem;
    }

    #single .interview-box {
        padding: 30px 0;
    }

    #single .interview-box #tabs li {
        width: calc( 50% - 4px );
        margin-top: 8px;
    }

    #single .interview-box #tabs li:nth-child(even) {
        margin-right: 0;
    }

    #single .interview-box #tabs .name {
        font-size: 1.6rem;
    }

    #single .interview-box .tab-contents figure {
        margin-bottom: 10px;
    }

    #single .interview-box .tab-contents h3 {
        font-size: 1.8rem;
        margin-bottom: 15px;
    }

    #single .interview-box .tab-contents dt {
        font-size: 1.6rem;
        padding-left: 10px;
    }

    #single .interview-box .tab-contents dt > span {
        width: 1px;
        height: auto;
        top: 0;
        bottom: 0;
    }

    #single .interview-box .tab-contents dd {
        margin-bottom: 20px;
    }

    #single .schedule-box {
        padding: 30px 0;
    }

    #single .schedule-box .schedule-list ul {
        padding-left: 80px;
    }

    #single .schedule-box .schedule-list li {
        padding: 20px;
    }

    #single .schedule-box .schedule-list li::after {
        left: -100px;
        right: -20px;
    }

    #single .schedule-box .schedule-list .time {
        width: 60px;
        left: -80px;
        top: 37px;
    }

    #single .schedule-box .schedule-list li h3 {
        margin-bottom: 10px;
    }

    #single .schedule-box .schedule-list li h3 .circle {
        top: 37px;
    }

    #single .career-box .career {
        margin-top: 20px;
        flex-direction: column;
    }

    #single .career-box .career > div {
        width: 100%;
        margin: 15px 0;
    }

    #single .career-box .career dt {
        padding: 5px;
        margin-bottom: 15px;
    }

    #single .requirement-box {
        padding: 20px 0;
    }

    #single .flow-box {
        padding: 20px 0;
        margin-bottom: 0;
    }

    #single .flow-box .flow-list {
        margin-top: 30px;
    }

    #single .flow-box .step {
        width: 100% !important;
        margin: 0;
    }

    #single .flow-box .flow-list .icon .arrow {
        display: none;
    }

    #single .flow-box .flow-list dt {
        margin-bottom: 10px;
        -js-display: flex;
        display: -ms-flex;
        display: -webkit-flex;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #single .flow-box .flow-list .icon {
        margin: 0;
    }

    #single .flow-box .flow-list figure {
        width: 30vw;
        height: 30vw;
        margin: 0 5px 0 0;
    }

    #single .flow-box .flow-list figure img {
        transform: scale( .8 );
    }

    #single .flow-box .flow-list .ttl {
        width: 30vw;
        margin: 0 0 0 5px;
        white-space: nowrap;
    }

    /*
    #single .flow-box .flow-list dt .under-line {
        left: 0;
        transform: translateX( 0 );
    }
    */

    #single .flow-box .flow-list dt .jp {
        font-size: 1.8rem;
    }

    #single .flow-box .flow-list dd {
        font-size: 1.2rem;
    }

    #single .flow-box .flow-list dd .arrow {
        display: block;
        text-align: center;
        margin: 5px 0;
        font-size: 1.6rem;
    }

    #single .entry-box {
        padding: 30px 0 10px;
    }

    #single .entry-box .notice {
        padding: 20px;
    }

    #single .entry-box .form-group {
        flex-direction: column;
        padding: 20px 0;
    }

    #single .entry-box .form-group > label,
    #single .entry-box .form-group > .jobboard-form-attachment {
        width: 100%;
        margin-bottom: 15px;
        padding: 0;
    }

    #single .sjb-page .sjb-detail .jobpost-form .required {
        position: relative;
        right: 0;
        margin-left: 15px;
    }

    #single .entry-box .form-group > input,
    #single .entry-box .form-group > textarea,
    #single .sjb-page .sjb-detail .jobpost-form .file {
        width: 100% !important;
    }

    #single .sjb-page .sjb-detail .jobpost-form .file div,
    #single .sjb-page .sjb-detail .jobpost-form .file:hover div {
        font-size: 1.4rem;
        padding: 7px 10px;
    }

    #single .sjb-page .jobboard-form-attachment label,
    #single .sjb-page .jobboard-form-attachment label + div {
        width: 100%;
    }

    #single #req-box {
        right: 0;
        left: 0;
        bottom: 0;
    }

    #single #req-box .txt {
        display: none;
    }

    #single #req-box .req-num {
        padding: 7px;
        font-size: 1.6rem;
    }

    #single .pp-box {
        margin: 20px 0;
        padding: 20px;
    }

    #single .profile-box {
        padding: 30px 0;
    }

    #single .profile-box .ttl-01 {
        margin-bottom: 0;
    }

    #single .other-box {
        padding: 10px 0;
    }

    #single .other-box .job-list {
        flex-direction: column;
    }

    #single .other-box .job {
        width: 100%;
        margin-bottom: 20px;
    }

    #single .other-box .job .txt {
        padding: 10px 20px;
    }

    #single .other-box .job h4 {
        font-size: 1.8rem;
    }

    #single .other-box .job .view-btn {
        margin: 15px auto 10px;
    }

    #single footer .copyright {
        padding-bottom: 70px;
    }

    #thanks .read {
        padding: 30px 0;
    }

    #thanks .btn-01 {
        margin-top: 20px;
    }

}