@media only screen and (max-width: 1123px) {
    .u-inner {
        padding: 0 20px;
    }
    .company-profile-wrap03 > dl > dt {
        background-color: #FFF;
        padding: 5px 5px 5px 12px;
        width: 246px;
    }
    .company-profile-wrap03 > dl > dd {
        padding: 5px 10px;
        width: calc(100% - 246px);
    }
    .company-profile-wrap03 > dl > dd > dl {
        padding: 8px 0;
    }
    .company-profile-wrap03 > dl > dd > dl > dt {
        line-height: 1;
        margin-bottom: 4px;
        padding: 0;
        width: 100%;
    }
    .company-profile-wrap03 > dl > dd > dl > dd {
        line-height: 1;
    }
    .company-profile-wrap03 > dl > dd > dl + dl {
        border-top: 1px solid #FFF;
    }
    .vis-hidden {
        display: none;
    }
    .company-profile-wrap03::after {
        left: 119px;
    }
}

@media only screen and (max-width: 999px) {
    .g-nav {
        opacity: 0;
        pointer-events: none;
    }
    .btn-spmenu {
        opacity: 1;
        pointer-events: all;
    }
    .g-hd {
        position: absolute;
        z-index: 102;
    }
    .main-visual {
        position: absolute;
    }
    .chapter-wrap {
        font-size: 21px;
    }
    [data-scroll="start"] .chapter-wrap {
        animation: chapter-scroll2 42s linear infinite;
    }
    .g-nav {
        background-color: rgba(0,56,114,.95);
        width: 100%;
    }
    .g-menu-wrap {
        align-items: center;
        justify-content: center;
        padding: 0;
    }
    .g-contact {
        height: auto;
        position: relative;
        right: auto;
        top: auto;
        width: auto;
    }
    .g-contact a {
        background: transparent;
        font-size: 20px;
    }
    .g-menu a {
        background: transparent;
        height: auto;
        padding: 0;
        transform: skewX(0) translateX(0);
        width: auto;
    }
    .g-menu a > div {
        align-items: center;
        transform: skewX(0);
    }
    .g-recruit a > div .en01 {
        display: none;
    }
    .g-menu li {
        margin-top: 20px;
    }
    .g-menu a b {
        font-size: 20px;
        margin-bottom: 0;
    }
    .g-menu li.g-recruit {
        margin-top: 20px;
    }
    .g-menu a small {
        margin-top: 4px;
    }
    .scrolled .main-visual::after {
        opacity: 0;
    }
    .res-list {
        margin-top: 0;
    }
    .company-profile-wrap03 > dl > dd > dl > dt.vis-hidden + dd {
        margin-top: -5px;
    }
}

@media only screen and (max-width: 767px) {
    .chapter-wrap {
        font-size: 16px;
    }
    .top-msg-area {
        height: calc(12px + 238 * (100vw - 2px) / 136);
    }
    .pt-box {
        width: calc((100% - 2px) / 2);
    }
    .pt-box02 {
        left: auto;
        right: 0;
    }
    .pt-box03 {
        left: auto;
        right: 0;
        top: calc(4px + 36 * (100vw - 2px) / 136);
    }
    .pt-box04 {
        height: calc(2px + 72 * (100vw - 2px) / 136);
        right: 0;
        top: calc(4px + 94 * (100vw - 2px) / 136);
    }
    .pt-box05 {
        bottom: auto;
        top: calc(4px + 94 * (100vw - 2px) / 136);
    }
    .pt-box06 {
        left: 0;
        bottom: calc(6px + 72 * (100vw - 2px) / 136);
    }
    .pt-hg03 {
        height: calc(-2px + 58 * (100vw - 2px) / 136);
    }
    .pt-hg04 {
        height: calc(2px + 72 * (100vw - 2px) / 136);
    }
    .pt-box07 {
        height: calc(2px + 72 * (100vw - 2px) / 136);
        left: 0;
        right: auto;
    }
    .pt-box08 {
        bottom: calc(4px + 36 * (100vw - 2px) / 136);
        right: 0;
        top: auto;
    }
    .pt-box09 {
        bottom: 2px;
        right: 0;
        top: auto;
    }
    .chapter p {
        opacity: 1;
    }
    [data-scroll="start"] .chapter-wrap {
        animation: chapter-scroll3 42s linear infinite;
    }
    .top-msg-overlay .chapter p + p {
        margin-top: 1.5em;
    }
    .hdr-top-company .jp {
        font-size: 25px;
    }
    .hdr-top-company .en {
        font-size: 19px;
    }
    .company-profile-wrap03::before,
    .company-profile-wrap03::after {
        display: none;
    }
    .company-profile-wrap03 > dl > dt {
        background-color: #003872;
        color: #FFF;
        font-weight: 700;
        line-height: 1;
        padding: 8px 8px 8px;
        width: 100%;
    }
    .company-profile-wrap03 > dl {
        flex-wrap: wrap;
    }
    .company-profile-wrap02 {
        padding: 0;
    }
    .company-profile-wrap01 {
        padding: 8px;
    }
    .u-inner {
        padding: 0 15px;
    }
    .hdr-top-company {
        height: 90px;
        margin-bottom: 20px;
    }
    .company-profile-wrap03 > dl > dd {
        width: 100%;
    }
    .company-profile-wrap03 > dl > dd > dl > dd {
        width: 100%;
    }
    .company-profile-wrap03 > dl > dd > dl > dd + dd {
        margin-top: 4px;
    }
    .g-logo a {
        width: 180px;
    }
    .g-logo {
        left: 14px;
        top: 14px;
    }
    .company-profile-wrap03 > dl > dd > dl > dt + dd {
        width: 100%;
        align-items: center;
        display: flex;
        flex-direction: row-reverse;
        justify-content: flex-end;
        margin-top: 5px;
    }
    .company-profile-wrap03 > dl > dd > dl > dd + dd {
        margin-top: 0;
    }
    .i-map {
        top: 0;
        margin-left: 6px;
        margin-right: 0;
    }
    .company-profile-wrap03 > dl > dd > dl > dt {
        font-weight: 700;
        margin-bottom: 0;
    }
}
@media only screen and (max-width: 479px) {
    .chapter-wrap {
        font-size: 13px;
    }
    [data-scroll="start"] .chapter-wrap {
        animation: chapter-scroll4 42s linear infinite;
    }
    .hdr-top-company .jp {
        font-size: 22px;
    }
    .hdr-top-company {
        height: 70px;
    }
    .btn-spmenu {
        height: 54px;
        width: 54px;
    }
    .btn-spmenu::before {
        top: 11px;
        width: 32px;
    }
    .btn-spmenu::after {
        bottom: 11px;
        width: 32px;
    }
    .g-contact a {
        font-size: 18px;
    }
    .g-menu a b {
        font-size: 18px;
    }
    .g-menu li {
        margin-top: 16px;
    }
    .g-contact a {
        line-height: 1;
    }
}