@charset "UTF-8";

/* ------------------------------------------------------------------------------------------------------------ */

@media screen and (min-width: 1241px) {
    .p_topMv__inner {
        width: 100%;
        max-width: 100%;
    }

    .mv {
        padding: 0 15px 0 17px;
    }

    .mv__scroll {
        bottom: 21%;
        right: 4%;
    }

    .topslider__controls {
        border-top-left-radius: 20px;
        padding: 10px 6% 20px 0;
        padding: 1% 5.3% 1.3% 0;
        gap: 30px;
        z-index: 10;
        transform: scale(120%);
    }
}

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

    .contentsInner,
    .footer__inner {
        padding-left: 20px;
        padding-right: 20px;
        max-width: 100%;
    }

    .p_topBusiness__inner {
        margin-left: 20px;
        margin-right: 20px;
    }

    .topBack {
        right: 10px;
    }
}

/* ------------------------------------------------------------------------------------------------------------ */

@media screen and (max-width: 1080px) {
    /*tablet*/

    .main {
        padding-bottom: 122px;
    }

    .header__inner {
        gap: 20px;
    }

    .header__navMenu>li>a,
    .header__navMenu>li>button {
        font-size: 13px;
        padding: 16px 18px;
    }




    .header__inner {
        padding: 12px 20px 10px;
    }

    .header__logo {
        padding: 0;
    }

    .header__logo img {
        height: 36px;
    }

    .header__nav {
        position: fixed;
        top: 0;
        left: -100vw;
        max-width: 100vw;
        width: 100vw;
        height: 100vh;
        background-color: rgba(255, 255, 255, 0.98);
        box-shadow: -2px 0 8px rgba(0, 0, 0, 0.2);
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transition: left 0.4s ease;
        z-index: 100;
        overflow-y: auto;
        margin: -20px -20px auto;
        padding: 0 20px;
        padding: 120px 20px 20px;
        display: block;
    }

    .header.is_open .header__nav {
        left: 0;
    }

    .header__navMenu {
        list-style: none;
        text-align: center;
        flex-direction: column;
        width: 100%;
    }

    .header__navMenu li {
        margin-bottom: 25px;
        border-bottom: 1px solid #e0e0e0;
    }

    .header__navMenu>li>a,
    .header__navMenu>li>button {
        text-decoration: none;
        color: #333;
        font-weight: 700;
        font-size: 20px;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 16px 20px;
        border-bottom: none;
        text-align: left;
        width: 100%;
    }

    .nav__sub {
        display: block;
        font-size: 14px;
        font-weight: 400;
        margin-top: 5px;
    }

    .header__search {
        margin-left: 0;
        width: 100%;
        justify-content: center;
    }

    .header__search input[type="search"] {
        width: calc(100% - 34px - 8px);
    }

    .subMenu {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        transform: none !important;
        display: none;
    }

    .parentMenu.is-open .subMenu {
        display: block;
    }

    .subMenu::before,
    .subMenu::after {
        display: none;
    }

    .header__navMenu>.parentMenu {
        display: block;
    }

    ul.subMenu {
        border: none;
        text-align: left;
        box-shadow: none;
        padding: 8px 0px 20px 32px;
    }

    .subMenu li a {
        font-size: 17px;
    }


    .footer__main {
        gap: 0px;
    }

    .footer__nav {
        gap: 40px;
    }
}

/* ------------------------------------------------------------------------------------------------------------ */

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

    /*iPadMini*/
    body {
        font-size: 16px;
    }

    .menu_open_btn {
        display: block;
    }

    .u_only_pc {
        display: none;
    }

    .u_only_sp {
        display: block;
    }

    .topBack {
        right: -20px;
    }

    .section__label {
        font-size: 20px;
        font-weight: 500;
        margin: 40px auto 12px;
    }

    .section__title {
        font-size: 32px;
        margin-bottom: 32px;
    }

    .section__subtitle {
        font-size: 20px;
    }

    .section__text {
        font-size: 22px;
        line-height: 1.5;
        margin-bottom: 32px;
    }

    .pageTitle {
        margin: 24px auto 48px;
    }

    .pageTitle__main {
        font-size: 27px;
        line-height: 1.4;
    }

    .c_title1 {
        font-size: 20px;
    }


    .footer__logo {
        width: 100%;
        text-align: center;
        margin-bottom: 64px;
    }

    .footer__logo img {
        max-width: 311px;
    }

    .footer {
        padding: 64px 32px;
    }

    .footer__main {
        margin-bottom: 40px;
        flex-direction: column;
    }

    .footer__logo h2 {
        font-size: 20px;
    }

    .navList__title {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .navList__title~.navList__title {
        margin-top: 32px;
    }

    .footer__nav {
        flex-direction: column;
        gap: 20px;
    }

    .footer__list {
        gap: 20px;
    }

    .footer__links {
        gap: 16px;
    }

    .footer__links li {
        width: 100%;
    }

    .footer__links li a {
        font-size: 15px;
    }

    .copyright {
        flex-direction: column;
        flex-direction: column-reverse;
        gap: 20px;
        padding: 20px;
        font-size: 11px;
        text-align: center;
    }

    /* top --------------------------------------------------------------------------------------- */

    .mv__scroll {
        width: 40px;
        right: 10px;
        bottom: 90px;
    }

    .topslider__controls {
        position: relative;
        justify-content: center;
    }

    .topslider__paging {
        font-size: 22px;
        font-weight: 500;
    }

    .topslider__current {
        font-weight: bold;
        margin: 0;
    }

    .p_topSection {
        margin-bottom: 10px;
    }

    .p_topBusiness {
        margin-top: 48px;
    }

    .p_topBusiness__inner {
        margin-left: auto;
        margin-right: auto;
    }

    .p_topBusiness__content {
        position: relative;
        width: 100%;
    }

    .p_topBusiness__visual {
        flex-direction: column;
    }

    .p_topBusiness__image {
        width: 100%;
        height: auto;
    }

    .p_topBusiness__links {
        position: static;
        margin: 32px auto 64px;
        transform: none;
        gap: 0;
        width: 100%;
    }

    .section__text {
        font-size: 22px;
        line-height: 1.5;
        margin-bottom: 32px;
    }

    .p_topFindJobs__image {
        margin: auto;
    }

    .p_topFindJobs__item {
        display: flex;
        flex-direction: column;
        flex-flow: column-reverse;
        margin: 36px auto 48px;
    }

    .p_topFindJobs__btn {
        margin: 32px auto 48px;
        margin: 1px auto 1px;
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
    }

    .p_topFindJobs__btn .c_btn {
        width: 500px;
        max-width: 100%;
    }

    .c_contactBar {
        margin-bottom: 80px;
    }

    .c_contactBar__inner {
        gap: 20px;
    }

    .c_contactBar__items {
        justify-content: center;
        gap: 20px;
    }

    .c_contactBar__item {
        flex-direction: column;
    }


    /* pages --------------------------------------------------------------------------------------- */
    .btn__noIcon {
        padding: 20px 55px 20px 45px;
    }

    .c_box {
        padding: 32px;
    }

    .c_box__title {
        font-size: 18px;
        line-height: 1.6;
        margin-bottom: 24px;
    }

    .p_about__inner {
        display: block;
    }

    .p_topBusiness__visual,
    .p_about__inner>* {
        width: auto;
    }

    .p_about__image {
        width: 100%;
        margin-bottom: 12px;
    }
    .p_about__image img {
        width: 100%;
    }

    .sitemap {
        flex-direction: column;
    }

    .sitemap__list {
        width: 100%;
    }

    .c_dlList dl {
        display: block;
    }

    .c_cols {
        display: block;
    }

    .c_col__2>* {
        width: 100%;
        margin-bottom: 48px;
    }

    .c_lead {
        margin-bottom: 24px;
    }

    .anchorList {
        gap: 2px;
        margin: 32px auto 16px;
    }

    .anchorList>* {
        margin: 0 4px;
        display: flex;
    }

    .anchorList>* a {
        display: flex;
        justify-content: center;
        font-size: 15px;
        align-items: center;
        width: 100%;
        padding: 12px 4px;
    }

}

/* ------------------------------------------------------------------------------------------------------------ */

@media screen and (max-width: 414px) {
    /*iPhone 414*/
    .topslider__controls {
        padding: 15px 5px 10px 45px;
    }
}

/* ------------------------------------------------------------------------------------------------------------ */

@media screen and (max-width: 375px) {
    /*iPhone 375*/
}

/* ------------------------------------------------------------------------------------------------------------ */

@media screen and (max-width: 330px) {
    /*mobile mini*/

}