  @charset "UTF-8";@font-face {
    font-family: "icomoon";
    src: url("/recruit/assets/font/icomoon.eot?b2kqhg");
    src: url("/recruit/assets/font/icomoon.eot?b2kqhg#iefix") format("embedded-opentype"),url("/recruit/assets/font/icomoon.ttf?b2kqhg") format("truetype"),url("/recruit/assets/font/icomoon.woff?b2kqhg") format("woff"),url("/recruit/assets/font/icomoon.svg?b2kqhg") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

::selection {
    color: #fff;
    background: #005BAC;
}

html {
    margin: 0;
    padding: 0;
    overflow-y: scroll;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-print-color-adjust: exact;
}

@media only screen and (max-width: 768px) {
    html {
        overflow-y:auto;
    }
}

body {
    margin: 0;
    padding: 0;
    min-width: 960px;
    color: #333333;
    font-family: YakuHanJPs_Noto,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-weight: 500;
    background-color: #fff;
    overflow-x: auto;
}

@media only screen and (max-width: 768px) {
    body {
        min-width:initial;
    }
}

.wrapper {
    position: relative;
    width: 100%;
    word-break: break-word;
    overflow: hidden;
    z-index: 1;
}

@media only screen and (min-width: 769px) {
    .is-pc {
        display:block;
    }

    .is-sp {
        display: none;
    }
}

@media only screen and (max-width: 768px) {
    .is-pc {
        display:none;
    }

    .is-sp {
        display: block;
    }
}

a {
    color: #333333;
}

p {
    font-size: 16px;
    text-align: justify;
    letter-spacing: 0.05em;
    line-height: 2.37em;
}

@media only screen and (max-width: 768px) {
    p {
        font-size:14px;
        line-height: 2.2em;
    }
}

figure {
    overflow: hidden;
}

figure img {
    display: block;
    max-width: 100%;
    width: 100%;
    height: auto;
}

.slick-slide {
    outline: none;
}

.slick-slide a {
    outline: none;
}

.js-indicate-ready.js-indicate-fadein {
    opacity: 0;
    transform: translateY(40px);
    transition-property: opacity,transform;
}

.js-indicate-ready.js-indicate-rtmask {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transform: translateX(100%);
    transition-property: transform;
    will-change: transform;
}

.js-indicate-ready.js-indicate-rtmask span {
    display: inline-block;
    transform: translateX(-110%);
    transition-property: transform;
    will-change: transform;
}

.js-indicate-ready.js-indicate-ltmask {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transform: translateX(-100%);
    transition-property: transform;
    will-change: transform;
}

.js-indicate-ready.js-indicate-ltmask span {
    display: inline-block;
    transform: translateX(110%);
    transition-property: transform;
    will-change: transform;
}

.js-indicate-ready.js-indicate-slidein {
    display: inline-block;
    overflow: hidden;
    transform: translateX(-100%);
    transition-property: transform;
}

.js-indicate-ready.js-indicate-slidein span {
    display: inline-block;
    transform: translateX(110%);
    transition-property: transform;
}

.js-indicate-ready.js-indicate-rtslide {
    opacity: 0;
    transform: translateX(80px);
    transition-property: opacity,transform;
}

.js-indicate-ready.js-indicate-ltslide {
    opacity: 0;
    transform: translateX(-80px);
    transition-property: opacity,transform;
}

.js-indicate-start.js-indicate-fadein {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.65s;
    transition-timing-function: cubic-bezier(0.37,0,0.63,1),cubic-bezier(0.33,1,0.68,1);
}

.js-indicate-start.js-indicate-ltmask,.js-indicate-start.js-indicate-rtmask {
    transform: translateX(0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.js-indicate-start.js-indicate-ltmask span,.js-indicate-start.js-indicate-rtmask span {
    transform: translateX(0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.js-indicate-start.js-indicate-slidein {
    transform: translateX(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.js-indicate-start.js-indicate-slidein span {
    display: inline-block;
    transform: translateX(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.js-indicate-start.js-indicate-ltslide,.js-indicate-start.js-indicate-rtslide {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.37,0,0.63,1),cubic-bezier(0.33,1,0.68,1);
}

@keyframes loading {
    25% {
        transform: scale(0.85) rotate(90deg);
    }

    50% {
        transform: scale(1) rotate(180deg);
    }

    75% {
        transform: scale(0.85) rotate(270deg);
    }

    to {
        transform: scale(1) rotate(360deg);
    }
}

@keyframes updown {
    50% {
        transform: translateY(3px);
    }
}

@keyframes blink {
    50% {
        opacity: 0.5;
    }
}

@keyframes scroll {
    0% {
        transform: translateY(-100%);
    }

    30% {
        transform: translateY(0);
    }

    60%,to {
        transform: translateY(100%);
    }
}

.l-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    min-width: 960px;
    height: 85px;
    z-index: 10;
}

.l-header__logo a {
    display: block;
    position: relative;
    font-size: 0;
    z-index: 1;
}

.l-header__logo a:after,.l-header__logo a:before {
    display: block;
    content: "";
    position: absolute;
    z-index: 1;
}

.l-header__logo a:before {
    top: 24px;
    left: 42px;
    width: 200px;
    height: 40px;
    background-image: url(/recruit/assets/img/common/sitelogo_horizontal_blue.svg);
    background-repeat: no-repeat;
    background-size: 200px 40px;
}

.l-header__logo a:after {
    top: 30px;
    left: 42px;
    width: 100px;
    height: 75px;
    background-image: url(/recruit/assets/img/common/sitelogo_vertical_blue.svg);
    background-repeat: no-repeat;
    background-size: 100px 75px;
    visibility: hidden;
    opacity: 0;
}

.l-header__entry {
    display: flex;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.l-header__button {
    width: 85px;
}

.l-header__button a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 85px;
    color: #fff;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    text-align: center;
    font-weight: 700;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
}

.l-header__button a:before {
    margin-bottom: 8px;
    font-size: 16px;
}

.l-header__button a small {
    display: block;
    margin-bottom: 3px;
    font-family: YakuHanJPs_Noto,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-size: 9px;
    text-align: center;
    letter-spacing: -0.05em;
}

.l-header__button--graduates a {
    background-color: #FD8902;
}

.l-header__button--graduates a:before {
    display: inline-block;
    font-family: "icomoon"!important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.l-header__button--internship a {
    background-color: #005BAC;
}

.l-header__button--internship a:before {
    display: inline-block;
    font-family: "icomoon"!important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.l-header__menu {
    display: none;
}

.current--home .l-header {
    z-index: 5;
}

@media only screen and (min-width: 769px) {
    .l-header__button a {
        position:relative;
        overflow: hidden;
        z-index: 1;
    }

    .l-header__button a:before {
        transition-property: transform;
        transition-duration: 0.35s;
    }

    .l-header__button a:after {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        left: -10px;
        right: -10px;
        background-color: rgba(255,255,255,0.25);
        transform: scaleX(0) skewX(-10deg);
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.35s;
        transition-timing-function: cubic-bezier(0.65,0,0.35,1);
    }

    .l-header__button a:hover:before {
        transform: translateY(-2px);
        transition-timing-function: cubic-bezier(0.34,1.56,0.64,1);
    }

    .l-header__button a:hover:after {
        transform: scaleX(1) skewX(-10deg);
        transform-origin: left;
        transition-timing-function: cubic-bezier(0.33,1,0.68,1);
    }

    .l-header {
        transition-property: height,background-color,box-shadow;
        transition-duration: 0.5s;
    }

    .is-compact .l-header {
        background-color: rgba(255,255,255,0.95);
        box-shadow: 0 0 16px rgba(0,25,54,0.16);
    }

    .current--home .l-header {
        height: 104px;
        background-color: transparent;
    }

    .current--home .l-header__logo a:after,.current--home .l-header__logo a:before {
        transition-property: visibility,opacity;
        transition-duration: 0.5s;
    }

    .current--home .l-header__logo a:before {
        visibility: hidden;
        opacity: 0;
    }

    .current--home .l-header__logo a:after {
        background-image: url(/recruit/assets/img/common/sitelogo_vertical_white.svg);
        visibility: visible;
        opacity: 1;
    }

    .current--home .l-header__button {
        width: 104px;
        transition-property: width;
        transition-duration: 0.5s;
    }

    .current--home .l-header__button a {
        height: 104px;
        font-size: 20px;
        transition-property: height,font-size;
        transition-duration: 0.5s;
    }

    .current--home .l-header__button a:before {
        margin-bottom: 10px;
        font-size: 19px;
        transition-property: margin-bottom,font-size,transform;
        transition-duration: 0.5s;
    }

    .current--home .l-header__button a small {
        margin-bottom: 4px;
        font-size: 10px;
        transition-property: margin-bottom,font-size;
        transition-duration: 0.5s;
    }

    .is-compact.current--home .l-header {
        height: 85px;
        background-color: #fff;
    }

    .is-compact.current--home .l-header__logo a:before {
        visibility: visible;
        opacity: 1;
    }

    .is-compact.current--home .l-header__logo a:after {
        visibility: hidden;
        opacity: 0;
    }

    .is-compact.current--home .l-header__button {
        width: 85px;
    }

    .is-compact.current--home .l-header__button a {
        height: 85px;
        font-size: 16px;
    }

    .is-compact.current--home .l-header__button a:before {
        margin-bottom: 8px;
        font-size: 16px;
    }

    .is-compact.current--home .l-header__button a small {
        margin-bottom: 3px;
        font-size: 9px;
    }
}

@media only screen and (max-width: 768px) {
    .l-header {
        min-width:initial;
        height: 65px;
    }

    .l-header__logo a:before {
        top: 17px;
        left: 18px;
        width: 168px;
        height: 32px;
        background-size: 168px 32px;
    }

    .l-header__logo a:after {
        top: 22px;
        left: 18px;
        width: 75px;
        height: 58px;
        background-size: 75px 58px;
        visibility: visible;
        opacity: 1;
    }

    .l-header__entry {
        right: 75px;
        box-shadow: 0 0 16px rgba(0,25,54,0.16);
    }

    .l-header__button {
        margin-left: 2px;
        width: 66px;
    }

    .l-header__button:first-child {
        margin-left: 0;
    }

    .l-header__button a {
        height: 65px;
        font-size: 12px;
    }

    .l-header__button a:before {
        margin-bottom: 4px;
        font-size: 16px;
    }

    .l-header__button a small {
        display: flex;
        align-items: center;
        margin-bottom: 2px;
        height: 2em;
        font-size: 9px;
        text-align: center;
        line-height: 1em;
    }

    .l-header__button--graduates a {
        background-color: #FD8902;
    }

    .l-header__button--graduates a:before {
        display: inline-block;
        font-family: "icomoon"!important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
    }

    .l-header__button--internship a {
        background-color: #005BAC;
    }

    .l-header__button--internship a:before {
        display: inline-block;
        font-family: "icomoon"!important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
    }

    .l-header__menu {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        color: #333333;
        z-index: 1;
    }

    .l-header {
        transition-property: background-color,box-shadow;
        transition-duration: 0.5s;
    }

    .l-header__logo a:after,.l-header__logo a:before {
        transition-property: visibility,opacity,transform;
        transition-duration: 0s,0.5s,0.5s;
    }

    .l-header__logo a:before {
        visibility: hidden;
        opacity: 0;
        transform: translateY(5px);
        transition-delay: 0.5s,0s,0s;
    }

    .l-header__logo a:after {
        transition-delay: 0s;
    }

    .l-header__entry {
        transition-property: box-shadow;
        transition-duration: 0.25s;
        transition-delay: 0.3s;
    }

    .l-header__button {
        transition-property: visibility,transform;
        transition-duration: 0s,0.5s;
        transition-timing-function: cubic-bezier(0.33,1,0.68,1);
    }

    .l-header__button--graduates {
        transition-delay: 0s;
    }

    .l-header__button--internship {
        transition-delay: 0s,0.05s;
    }

    .l-header__menu {
        transition-property: color,background-color;
        transition-duration: 0.5s;
    }

    .is-compact .l-header {
        background-color: rgba(255,255,255,0.95);
        box-shadow: 0 0 16px rgba(0,25,54,0.16);
        transition-delay: 0s,0s,0.25s;
    }

    .is-compact .l-header__logo a:before {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        transition-delay: 0s;
    }

    .is-compact .l-header__logo a:after {
        visibility: hidden;
        opacity: 0;
        transform: translateY(-5px);
        transition-delay: 0.5s,0s;
    }

    .is-compact .l-header__entry {
        box-shadow: 0 0 0 rgba(0,25,54,0);
        transition-delay: 0s;
    }

    .is-compact .l-header__button {
        visibility: hidden;
        transform: translateY(-100%);
        transition-delay: 0.5s,0s;
        transition-timing-function: cubic-bezier(0.65,0,0.35,1);
    }

    .is-compact .l-header__button--graduates {
        transition-delay: 0.5s,0s;
    }

    .is-compact .l-header__button--internship {
        transition-delay: 0.55s,0.05s;
    }

    .is-compact .l-header__menu {
        color: #fff;
        background-color: #005BAC;
    }

    .current--home .l-header {
        background-color: transparent;
    }

    .current--home .l-header__logo a:after {
        background-image: url(/recruit/assets/img/common/sitelogo_vertical_white.svg);
    }

    .current--home .l-header .c-menu {
        color: #fff;
    }

    .is-compact.current--home .l-header {
        background-color: #fff;
    }
}

.l-footer {
    position: relative;
    padding: 0 0 52px;
    background-image: url(/recruit/assets/img/common/footer_bg.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #005BAC;
    z-index: 1;
}

.l-footer__outer {
    margin: 0 40px;
}

.l-footer__inner {
    margin: auto;
    max-width: 1132px;
}

.l-footer__title {
    position: relative;
    top: -68px;
    margin-bottom: -5px;
    color: #fff;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 100px;
    font-weight: 700;
    font-style: italic;
    text-indent: 0.05em;
    line-height: normal;
    z-index: 1;
}

.l-footer__column {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 89px;
    padding-top: 33px;
    border-top: 1px solid rgba(255,255,255,0.25);
}

.l-footer__logo a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 280px;
    height: 64px;
    border-radius: 2px;
    background-color: #fff;
}

.l-footer__logo img {
    display: block;
    margin-top: 3px;
    width: 223px;
    height: auto;
}

.l-footer__copyright {
    color: #fff;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.05em;
}

@media only screen and (max-width: 768px) {
    .l-footer {
        padding:0 0 77px;
    }

    .l-footer__outer {
        margin: 0 24px;
    }

    .l-footer__inner {
        max-width: initial;
    }

    .l-footer__title {
        top: -36px;
        font-size: 56px;
    }

    .l-footer__column {
        display: block;
        margin-top: 47px;
        padding-top: 26px;
    }

    .l-footer__logo a {
        margin: auto;
    }

    .l-footer__copyright {
        margin-top: 29px;
        text-align: center;
        text-indent: 0.05em;
    }
}

@media only screen and (min-width: 769px) {
    .l-nav {
        position:fixed;
        top: 0;
        left: 0;
        right: 0;
        min-width: 960px;
        pointer-events: none;
        z-index: 10;
    }

    .l-nav__outer {
        margin-right: 210px;
    }

    .l-nav__entry,.l-nav__label,.l-nav__logo {
        display: none;
    }

    .l-nav__list {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        height: 85px;
    }

    .l-nav__item {
        margin-left: 31px;
    }

    .l-nav__item:first-child {
        margin-left: 0;
    }

    .l-nav__item a {
        display: block;
        position: relative;
        color: currentcolor;
        font-size: 16px;
        font-weight: 500;
        letter-spacing: 0.05em;
        pointer-events: auto;
        z-index: 1;
        transition-property: color;
        transition-duration: 0.25s;
    }

    .l-nav__item a:before {
        display: block;
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: -8px;
        height: 1px;
        background-color: currentcolor;
        z-index: 1;
        transform: scaleX(0);
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.25s;
    }

    .l-nav__item a:hover {
        color: #005BAC;
    }

    .l-nav__item a:hover:before {
        transform: scaleX(1);
        transform-origin: left;
    }

    .l-nav__item a span {
        display: block;
    }

    .l-nav__item a span _::-webkit-full-page-media,.l-nav__item a span _:future,:root .l-nav__item a span {
        margin-right: -0.2em;
    }

    .l-nav__close {
        display: none;
    }

    .current--company .l-nav__item--company a,.current--description .l-nav__item--description a,.current--job .l-nav__item--job a,.current--people .l-nav__item--people a {
        color: #005BAC;
    }

    .current--company .l-nav__item--company a:before,.current--description .l-nav__item--description a:before,.current--job .l-nav__item--job a:before,.current--people .l-nav__item--people a:before {
        transform: scaleX(1);
    }

    .current--home .l-nav {
        color: #fff;
        z-index: 5;
        transition-property: right,color;
        transition-duration: 0.5s;
    }

    .current--home .l-nav__outer {
        margin-right: 250px;
        transition-property: margin-right;
        transition-duration: 0.5s;
    }

    .current--home .l-nav__list {
        margin-right: 40px;
        height: 104px;
        transition-property: height;
        transition-duration: 0.5s;
        margin-right: 0px;
    }

    .current--home .l-nav__item a:hover {
        color: currentcolor;
    }

    .is-compact.current--home .l-nav {
        color: #333333;
    }

    .is-compact.current--home .l-nav__outer {
        margin-right: 210px;
    }

    .is-compact.current--home .l-nav__list {
        height: 85px;
    }

    .is-compact.current--home .l-nav__item a:hover {
        color: #005BAC;
    }
}

@media only screen and (max-width: 768px) {
    .l-nav {
        position:fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10;
    }

    .l-nav__outer {
        width: 100%;
        height: 100%;
        overflow: auto;
    }

    .l-nav__inner {
        padding: 66px 0 60px;
        min-height: 100%;
        border: 5px solid #DBE3ED;
        background-color: rgba(255,255,255,0.95);
        box-sizing: border-box;
    }

    .l-nav__logo {
        margin: auto;
        width: 125px;
    }

    .l-nav__logo a {
        display: block;
        width: 125px;
        height: 150px;
        text-indent: 100%;
        white-space: nowrap;
        background-image: url(/recruit/assets/img/common/sitelogo_vertical_blue.svg);
        background-repeat: no-repeat;
        background-size: 125px,150px;
        overflow: hidden;
    }

    .l-nav__label {
        margin-top: 57px;
        color: #005BAC;
        text-align: center;
    }

    .l-nav__label span {
        display: inline-block;
        font-family: "Roboto Condensed",sans-serif;
        font-size: 16px;
        font-weight: 700;
        text-indent: 0.1em;
        letter-spacing: 0.1em;
    }

    .l-nav__label span:after,.l-nav__label span:before {
        display: inline-block;
        content: "";
        margin: -2px 5px 0;
        width: 20px;
        height: 1px;
        vertical-align: middle;
        background-color: rgba(29,92,166,0.25);
    }

    .l-nav__list {
        text-align: center;
    }

    .l-nav__item {
        margin-top: 22px;
    }

    .l-nav__item a {
        font-size: 18px;
        font-weight: 500;
        text-indent: 0.05em;
        letter-spacing: 0.05em;
    }

    .l-nav__entry {
        display: flex;
        margin: 37px 18px 0;
        box-shadow: 0 0 16px rgba(0,25,54,0.16);
    }

    .l-nav__button {
        width: 50%;
    }

    .l-nav__button:only-child {
        background: red;
        width: 100%;
    }

    .l-nav__button a {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 16px 0 14px;
        height: 100%;
        color: #fff;
        font-family: "Roboto Condensed",sans-serif;
        font-size: 24px;
        font-weight: 700;
        text-align: center;
        text-indent: 0.1em;
        letter-spacing: 0.1em;
    }

    .l-nav__button a small {
        display: block;
        margin-bottom: 2px;
        font-family: YakuHanJPs_Noto,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
        font-size: 12px;
        letter-spacing: 0;
    }

    .l-nav__button a:before {
        margin-bottom: 8px;
        font-size: 18px;
    }

    .l-nav__button--graduates a {
        background-color: #FD8902;
    }

    .l-nav__button--graduates a:before {
        display: inline-block;
        font-family: "icomoon"!important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
    }

    .l-nav__button--internship a {
        background-color: #005BAC;
    }

    .l-nav__button--internship a:before {
        display: inline-block;
        font-family: "icomoon"!important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
    }

    .l-nav__close {
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
    }

    .js-nav {
        visibility: hidden;
    }

    .js-nav .l-nav__outer {
        opacity: 0;
        transform: scale(0.95);
    }

    .js-nav .c-close__bar span:first-child {
        transform: scaleX(0);
        transform-origin: right;
    }

    .js-nav .c-close__bar span:nth-child(2) {
        transform: scaleY(0);
        transform-origin: bottom;
    }

    .js-nav-ready {
        transition-property: visibility;
        transition-duration: 0s;
        transition-delay: 0.35s;
    }

    .js-nav-ready .l-nav__outer {
        transition-property: opacity,transform;
        transition-duration: 0.35s,0s;
        transition-delay: 0s,0.35s;
    }

    .js-nav-ready .c-close__bar span {
        transition-property: transform;
        transition-duration: 0.25s;
    }

    .js-nav-ready .c-close__bar span:first-child {
        transition-delay: 0.35s;
    }

    .js-nav-ready .c-close__bar span:nth-child(2) {
        transition-delay: 0.35s;
    }

    .js-nav-open {
        visibility: visible;
        transition-delay: 0s;
    }

    .js-nav-open .l-nav__outer {
        opacity: 1;
        transform: scale(1);
        transition-duration: 0.35s;
        transition-delay: 0s;
        transition-timing-function: cubic-bezier(0.33,1,0.68,1);
    }

    .js-nav-open .c-close__bar span:first-child {
        transform: scaleX(1);
        transform-origin: left;
        transition-delay: 0.35s;
    }

    .js-nav-open .c-close__bar span:nth-child(2) {
        transform: scaleY(1);
        transform-origin: top;
        transition-delay: 0.45s;
    }
}

.l-breadcrumb {
    position: absolute;
    top: 134px;
    left: 0;
    right: 0;
    z-index: 2;
}

.l-breadcrumb__outer {
    margin: 0 40px;
}

.l-breadcrumb__inner {
    margin: auto;
    max-width: 1132px;
}

.l-breadcrumb__list {
    font-size: 0;
}

.l-breadcrumb__list:before {
    content: "";
    display: inline-block;
    font-family: "icomoon"!important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    margin: -3px 8px 0 0;
    color: #005BAC;
    font-size: 12px;
    vertical-align: middle;
}

.l-breadcrumb__item {
    display: inline-block;
    vertical-align: middle;
}

.l-breadcrumb__item:after {
    display: inline-block;
    content: "";
    margin: 0 7px 0 5px;
    width: 8px;
    height: 8px;
    background-image: url(/recruit/assets/img/common/breadcrumb_arrow.svg);
    background-repeat: no-repeat;
    background-size: 8px 8px;
}

.l-breadcrumb__item:last-child:after {
    display: none;
}

.l-breadcrumb__item a {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.025em;
}

@media only screen and (min-width: 769px) {
    .l-breadcrumb__item a:hover {
        text-decoration:underline;
        opacity: 0.7;
    }
}

@media only screen and (max-width: 768px) {
    .l-breadcrumb {
        display:none;
    }
}

.l-appeal {
    position: relative;
    z-index: 1;
}

.l-appeal__outer {
    position: absolute;
    top: 0;
    left: 40px;
    right: 40px;
    bottom: 0;
    z-index: 1;
}

.l-appeal__inner {
    display: flex;
    align-items: center;
    margin: auto;
    max-width: 1132px;
    height: 100%;
}

.l-appeal__copy {
    width: 925px;
}

.l-appeal__copy img {
    display: block;
    width: 100%;
    height: auto;
}

@media only screen and (max-width: 768px) {
    .l-appeal__outer {
        left:24px;
        right: 24px;
    }

    .l-appeal__inner {
        max-width: initial;
    }

    .l-appeal__copy {
        margin-top: -10px;
        width: 194px;
    }
}

.l-cover {
    position: relative;
    margin-top: 110px;
    color: #005BAC;
    z-index: 1;
}

.l-cover--civil {
    color: #348808;
}

.l-cover--building {
    color: #0076DB;
}

.l-cover--administration {
    color: #ED5223;
}

.l-cover__outer {
    position: relative;
    margin: 0 40px;
    z-index: 2;
}

.l-cover__inner {
    display: flex;
    align-items: center;
    margin: auto;
    max-width: 1132px;
    height: 327px;
}

.l-cover__image {
    position: absolute;
    top: 0;
    left: 50%;
    right: 0;
    bottom: 0;
    margin-left: -496px;
    overflow: hidden;
    z-index: 1;
}

.l-cover__image span {
    display: block;
    width: 100%;
    height: 100%;
}

.l-cover__label {
    position: relative;
    padding-top: 0;
    color: currentcolor;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 64px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.05em;
    z-index: 1;
}

.l-cover__title {
    margin-top: 6px;
    color: #333333;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.2em;
}

@media only screen and (max-width: 768px) {
    .l-cover {
        margin-top:86px;
    }

    .l-cover__outer {
        margin: 0 24px;
        z-index: 2;
    }

    .l-cover__inner {
        max-width: initial;
        height: 180px;
    }

    .l-cover__image {
        left: 55px;
        margin-left: 0;
    }

    .l-cover__label {
        font-size: 38px;
    }

    .l-cover__title {
        margin-top: -1px;
        font-size: 16px;
    }
}

.l-cover.js-indicate-ready .l-cover__label {
    display: inline-block;
    overflow: hidden;
    transform: translateX(100%);
    transition-property: transform;
}

.l-cover.js-indicate-ready .l-cover__label span {
    display: inline-block;
    transform: translateX(-150%);
    transition-property: transform;
}

.l-cover.js-indicate-ready .l-cover__title {
    display: inline-block;
    overflow: hidden;
}

.l-cover.js-indicate-ready .l-cover__title span {
    display: inline-block;
    transform: translateX(110%);
    transition-property: transform;
}

.l-cover.js-indicate-ready .l-cover__image {
    opacity: 0;
    transform: translateX(80px);
    transition-property: opacity,transform;
}

.l-cover.js-indicate-start .l-cover__label {
    transform: translateX(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.l-cover.js-indicate-start .l-cover__label span {
    transform: translateX(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.l-cover.js-indicate-start .l-cover__title span {
    transform: translate(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.l-cover.js-indicate-start .l-cover__image {
    opacity: 1;
    transform: translateX(0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.33,1,0.68,1);
}

.l-container__outer {
    margin: 0 40px;
}

.l-container__inner {
    margin: auto;
    padding: 100px 0;
    max-width: 1132px;
}

@media only screen and (max-width: 768px) {
    .l-container__outer {
        margin:0 24px;
    }

    .l-container__inner {
        padding: 60px 0 80px;
        max-width: initial;
    }
}

.l-people {
    position: relative;
    z-index: 1;
}

.l-people__outer {
    margin: 0 40px;
}

.l-people__inner {
    margin: auto;
    padding-bottom: 180px;
    max-width: 1132px;
}

.l-people__base {
    position: absolute;
    top: 332px;
    left: 0;
    right: 50%;
    bottom: 0;
    margin-right: -446px;
    background-image: url(/recruit/assets/img/people/index_bg.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}

.l-people__list {
    display: flex;
    flex-wrap: wrap;
    margin: -90px 0 0 -100px;
}

.l-people__item {
    margin: 90px 0 0 100px;
    width: calc(33.33% - 100px);
}

@media only screen and (min-width: 769px) {
    .l-people__item:nth-child(3n+1) {
        margin-top:90px;
    }

    .l-people__item:nth-child(3n+2) {
        margin-top: 126px;
    }

    .l-people__item:nth-child(3n+3) {
        margin-top: 162px;
    }
}

@media only screen and (max-width: 768px) {
    .l-people__outer {
        margin:0 24px;
    }

    .l-people__inner {
        padding-bottom: 96px;
        max-width: initial;
    }

    .l-people__base {
        top: 138px;
        right: 24px;
        margin-right: 0;
    }

    .l-people__list {
        display: block;
        margin: -60px 0 0;
    }

    .l-people__item {
        margin: 60px 0 0;
        width: auto;
    }

    .l-people__item:nth-child(3n+1) {
        margin-left: 20px;
        margin-right: 24px;
    }

    .l-people__item:nth-child(3n+2) {
        margin-right: 24px;
    }

    .l-people__item:nth-child(3n+3) {
        margin-right: 24px;
    }
}

.l-peoplecover {
    position: relative;
    margin-top: 110px;
    color: #005BAC;
    overflow: hidden;
    z-index: 1;
}

.l-peoplecover__outer {
    margin: 0 40px;
}

.l-peoplecover__inner {
    position: relative;
    margin: auto;
    max-width: 1132px;
    height: 600px;
    z-index: 1;
}

.l-peoplecover__base {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    left: 50%;
    margin-left: 13px;
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: cover;
}

.l-peoplecover__keyword {
    position: absolute;
    top: -15px;
    right: -115px;
    width: 270px;
    z-index: 1;
}

.l-peoplecover__keyword img {
    display: block;
    width: 100%;
    height: auto;
}

.l-peoplecover__image {
    position: absolute;
    left: 50%;
    bottom: -10px;
    margin-left: 13px;
    width: 670px;
    z-index: 1;
}

.l-peoplecover__label {
    padding-top: 110px;
    color: currentcolor;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 64px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.05em;
}

.l-peoplecover__title {
    margin-top: 6px;
    color: #333333;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.2em;
}

.l-peoplecover__subject {
    position: relative;
    margin-top: 80px;
    margin-top: 40px;
    padding-left: 70px;
    color: #333333;
    font-family: YakuHanMPs,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.7em;
    z-index: 1;
}

.l-peoplecover__subject:before {
    display: block;
    content: "";
    position: absolute;
    top: 35px;
    left: 0;
    width: 45px;
    height: 1px;
    background-color: #005BAC;
    z-index: 1;
}

.l-peoplecover__info {
    margin: 22px 0 0 70px;
    color: #333333;
}

.l-peoplecover__job {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
}

.l-peoplecover__name {
    margin-top: 18px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
}

.l-peoplecover__date {
    margin-top: 33px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
}

@media only screen and (min-width: 769px) {
    .l-peoplecover--civil-kiden .l-peoplecover__base,.l-peoplecover--civil .l-peoplecover__base {
        background-image:url(/recruit/assets/img/people/detail_base_civil.png);
    }

    .l-peoplecover--building-setsubi .l-peoplecover__base,.l-peoplecover--building .l-peoplecover__base {
        background-image: url(/recruit/assets/img/people/detail_base_building.png);
    }

    .l-peoplecover--administration .l-peoplecover__base {
        background-image: url(/recruit/assets/img/people/detail_base_administration.png);
    }
}

@media only screen and (max-width: 768px) {
    .l-peoplecover {
        margin-top:130px;
    }

    .l-peoplecover__outer {
        margin: 0 24px;
    }

    .l-peoplecover__inner {
        max-width: initial;
        height: auto;
    }

    .l-peoplecover__base {
        display: none;
    }

    .l-peoplecover__keyword {
        top: 4px;
        right: 0;
        width: 40%;
    }

    .l-peoplecover__main {
        position: relative;
        margin-right: -24px;
        padding-top: 13px;
        background-position: left bottom;
        background-repeat: no-repeat;
        background-size: cover;
        z-index: 1;
    }

    .l-peoplecover__image {
        position: relative;
        left: auto;
        bottom: auto;
        margin: 0;
        width: auto;
        z-index: 2;
    }

    .l-peoplecover__label {
        padding-top: 40px;
        font-size: 38px;
    }

    .l-peoplecover__title {
        margin-top: -1px;
        font-size: 16px;
    }

    .l-peoplecover__subject {
        margin: 25px 0 0 24px;
        padding: 0;
        font-size: 20px;
    }

    .l-peoplecover__subject:before {
        top: 17px;
        left: -48px;
        width: 26px;
    }

    .l-peoplecover__info {
        margin: 25px 0 0 24px;
    }

    .l-peoplecover__job {
        font-size: 14px;
    }

    .l-peoplecover__name {
        margin-top: 10px;
        font-size: 16px;
    }

    .l-peoplecover__date {
        margin-top: 15px;
        font-size: 14px;
        line-height: 1.5em;
    }

    .l-peoplecover--civil-kiden .l-peoplecover__main,.l-peoplecover--civil .l-peoplecover__main {
        background-image: url(/recruit/assets/img/people/detail_base_civil.png);
    }

    .l-peoplecover--building-setsubi .l-peoplecover__main,.l-peoplecover--building .l-peoplecover__main {
        background-image: url(/recruit/assets/img/people/detail_base_building.png);
    }

    .l-peoplecover--administration .l-peoplecover__main {
        background-image: url(/recruit/assets/img/people/detail_base_administration.png);
    }
}

.l-peoplecover.js-indicate-ready .l-peoplecover__image,.l-peoplecover.js-indicate-ready .l-peoplecover__keyword {
    opacity: 0;
    transform: scale(1.05) translateX(10%);
    transform-origin: left bottom;
    transition-property: opacity,transform;
}

.l-peoplecover.js-indicate-ready .l-peoplecover__label {
    display: inline-block;
    overflow: hidden;
    transform: translateX(100%);
    transition-property: transform;
}

.l-peoplecover.js-indicate-ready .l-peoplecover__label span {
    display: inline-block;
    transform: translateX(-150%);
    transition-property: transform;
}

.l-peoplecover.js-indicate-ready .l-peoplecover__title {
    display: inline-block;
    overflow: hidden;
}

.l-peoplecover.js-indicate-ready .l-peoplecover__title span {
    display: inline-block;
    transform: translateX(110%);
    transition-property: transform;
}

.l-peoplecover.js-indicate-ready .l-peoplecover__subject {
    opacity: 0;
    transform: translateY(25px);
    transition-property: opacity,transform;
}

.l-peoplecover.js-indicate-ready .l-peoplecover__subject:before {
    transform: scaleX(0);
    transform-origin: right;
    transition-property: transform;
}

.l-peoplecover.js-indicate-ready .l-peoplecover__info {
    opacity: 0;
    transform: translateY(25px);
    transition-property: opacity,transform;
}

.l-peoplecover.js-indicate-start .l-peoplecover__image,.l-peoplecover.js-indicate-start .l-peoplecover__keyword {
    opacity: 1;
    transform: scale(1) translateX(0);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.33,1,0.68,1);
}

.l-peoplecover.js-indicate-start .l-peoplecover__label {
    transform: translateX(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.l-peoplecover.js-indicate-start .l-peoplecover__label span {
    transform: translateX(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.l-peoplecover.js-indicate-start .l-peoplecover__title span {
    transform: translate(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.l-peoplecover.js-indicate-start .l-peoplecover__subject {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.65s;
    transition-delay: 0.25s;
    transition-timing-function: cubic-bezier(0.37,0,0.63,1),cubic-bezier(0.33,1,0.68,1);
}

.l-peoplecover.js-indicate-start .l-peoplecover__subject:before {
    transform: scaleX(1);
    transition-duration: 0.65s;
    transition-delay: 0.35s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.l-peoplecover.js-indicate-start .l-peoplecover__info {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.65s;
    transition-delay: 0.25s;
    transition-timing-function: cubic-bezier(0.37,0,0.63,1),cubic-bezier(0.33,1,0.68,1);
}

.l-intro {
    position: relative;
    height: 100vh;
    background-color: #005BAC;
    overflow: hidden;
    z-index: 2;
}

.l-intro__header {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin-top: -12.8%;
    text-align: center;
    z-index: 2;
}

.l-intro__title {
    position: relative;
    margin: auto;
    width: 38.79%;
    overflow: hidden;
    z-index: 1;
}

.l-intro__title span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}

.l-intro__title span:first-child {
    position: static;
}

.l-intro__title span img {
    display: block;
    width: 100%;
    height: auto;
}

.l-intro__copy {
    margin-top: 1.1%;
    color: #fff;
    font-size: 1.5vw;
    text-indent: 0.2em;
    letter-spacing: 0.2em;
    line-height: 1.75em;
}

.l-intro__list {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.l-intro__list--pc {
    display: flex;
}

.l-intro__list--pc .l-intro__item {
    width: 33.3%;
}

.l-intro__list--sp {
    display: none;
}

.l-intro__item {
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}

.l-intro__item:first-child {
    background-image: url(/recruit/assets/img/home/intro_image01.jpg?2025);
}

.l-intro__item:nth-child(2) {
    background-image: url(/recruit/assets/img/home/intro_image02.jpg?2025);
}

.l-intro__item:nth-child(3) {
    background-image: url(/recruit/assets/img/home/intro_image03.jpg?2025);
}

.l-intro__item:nth-child(4) {
    background-image: url(/recruit/assets/img/home/intro_image04.jpg);
}

.l-intro__scroll {
    position: absolute;
    right: 34px;
    bottom: 100px;
    width: 9px;
    padding-bottom: 70px;
    z-index: 2;
}

.l-intro__scroll img {
    display: block;
    width: 100%;
    height: auto;
}

.l-intro__scroll span {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 1px;
    height: 50px;
    overflow: hidden;
    z-index: 1;
}

.l-intro__scroll span:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background-color: #fff;
}

@media only screen and (max-width: 768px) {
    .l-intro__header {
        top:auto;
        bottom: 6%;
        text-align: left;
    }

    .l-intro__title {
        margin: 0 17% 0 5.2%;
        width: auto;
    }

    .l-intro__copy {
        margin: 3% 6.5% 0;
        font-size: 3.6vw;
        text-indent: 0;
        line-height: 2.1em;
    }

    .l-intro__list {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
        display: block;
    }

    .l-intro__list--pc {
        display: none;
    }

    .l-intro__list--sp {
        display: block;
    }

    .l-intro__item {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1;
        width: auto;
    }

    .l-intro__scroll {
        right: 15px;
        bottom: 20px;
        padding-bottom: 60px;
    }
}

.js-intro-ready .l-intro__title {
    transform: scale(1.25);
    transition-property: transform;
    will-change: transform;
}

.js-intro-ready .l-intro__title span {
    display: block;
    overflow: hidden;
}

.js-intro-ready .l-intro__title span:first-child {
    transform: translateX(-100%);
    transition-property: transform;
    will-change: transform;
}

.js-intro-ready .l-intro__title span:first-child img {
    transform: translateX(100%);
    transition-property: transform;
    will-change: transform;
}

.js-intro-ready .l-intro__title span:nth-child(2) {
    opacity: 0;
    transition-property: opacity;
}

.js-intro-ready .l-intro__title span:nth-child(3) {
    transform: translateX(-60%);
    transition-property: transform;
    will-change: transform;
}

.js-intro-ready .l-intro__title span:nth-child(3) img {
    transform: translateX(60%);
    transition-property: transform;
    will-change: transform;
}

.js-intro-ready .l-intro__copy {
    opacity: 0;
    transform: translateY(50%);
    transition-property: opacity,transform;
    will-change: opacity,transform;
}

.js-intro-ready .l-intro__scroll img {
    opacity: 0;
    transform: translateY(60px);
    transition-property: opacity,transform;
    will-change: opacity,transform;
}

.js-intro-ready .l-intro__scroll span {
    transform: scaleY(0);
    transform-origin: bottom;
    transition-property: transform;
    will-change: transform;
}

.js-intro-ready .l-intro__list--pc .l-intro__item {
    opacity: 0;
    transition-duration: opacity,transform;
    will-change: opacity,transform;
}

.js-intro-ready .l-intro__list--pc .l-intro__item:nth-child(odd) {
    transform: translateY(-25%);
}

.js-intro-ready .l-intro__list--pc .l-intro__item:nth-child(2n) {
    transform: translateY(25%);
}

.js-intro-ready .l-intro__list--sp .l-intro__item {
    opacity: 0;
}

.js-intro-start .l-intro__title {
    transform: scale(1);
    transition-duration: 2s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.js-intro-start .l-intro__title span:first-child {
    transform: translateX(0);
    transition-duration: 1.25s;
    transition-delay: 1.65s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.js-intro-start .l-intro__title span:first-child img {
    transform: translateX(0);
    transition-duration: 1.25s;
    transition-delay: 1.65s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.js-intro-start .l-intro__title span:nth-child(2) {
    opacity: 1;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.js-intro-start .l-intro__title span:nth-child(3) {
    transform: translateX(0);
    transition-duration: 1s;
    transition-delay: 0.5s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.js-intro-start .l-intro__title span:nth-child(3) img {
    transform: translateX(0);
    transition-duration: 1s;
    transition-delay: 0.5s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.js-intro-start .l-intro__copy {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.85s;
    transition-delay: 1.65s;
    transition-timing-function: cubic-bezier(0.37,0,0.63,1),cubic-bezier(0.33,1,0.68,1);
}

.js-intro-start .l-intro__scroll img {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.85s;
    transition-delay: 2s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.js-intro-start .l-intro__scroll span {
    transform: scaleY(1);
    transform-origin: bottom;
    transition-duration: 0.85s;
    transition-delay: 2s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.js-intro-start .l-intro__list--pc .l-intro__item:nth-child(2n),.js-intro-start .l-intro__list--pc .l-intro__item:nth-child(odd) {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 1.65s;
    transition-timing-function: cubic-bezier(0.16,1,0.3,1);
}

.js-intro-start .l-intro__list--pc .l-intro__item:first-child {
    transition-delay: 0.95s;
}

.js-intro-start .l-intro__list--pc .l-intro__item:nth-child(2) {
    transition-delay: 1.1s;
}

.js-intro-start .l-intro__list--pc .l-intro__item:nth-child(3) {
    transition-delay: 1.25s;
}

.js-intro-start .l-intro__list--pc .l-intro__item:nth-child(4) {
    transition-delay: 1.4s;
}

.js-intro-start .l-intro__list--sp .l-intro__item {
    opacity: 0;
    transition-property: opacity,transform;
    transition-duration: 1s,0s;
    transition-delay: 0s,5s;
}

.js-intro-start .l-intro__list--sp .l-intro__item.is-active {
    opacity: 1;
    transform: scale(1.05);
    transition-duration: 1s,5s;
    transition-delay: 0s;
}

.js-intro-end .l-intro__scroll {
    animation-name: blink;
    animation-duration: 2.5s;
    animation-iteration-count: infinite;
}

.js-intro-end .l-intro__scroll span:before {
    transform: translateY(-100%);
    animation-name: scroll;
    animation-duration: 2.5s;
    animation-iteration-count: infinite;
}

.l-spirits {
    position: relative;
    z-index: 1;
}

.l-spirits__outer {
    margin: 0 40px;
}

.l-spirits__inner {
    margin: auto;
    padding: 120px 0 70px;
    max-width: 1132px;
}

.l-spirits__base {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 900px;
    background-image: url(/recruit/assets/img/home/spirits_base.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: auto 100%;
    z-index: -1;
}

.l-spirits__label {
    color: #005BAC;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 32px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.05em;
    line-height: 1;
}

.l-spirits__header {
    display: flex;
    align-items: center;
    margin-top: 35px;
}

.l-spirits__title {
    margin-right: 46px;
    width: 656px;
}

.l-spirits__title img {
    display: block;
    width: 100%;
    height: auto;
}

.l-spirits__infinite {
    position: relative;
    width: 54px;
    z-index: 1;
}

.l-spirits__infinite:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 74px;
    right: -50vw;
    margin-top: -1.5px;
    height: 3px;
    background-color: #005BAC;
}

.l-spirits__infinite img {
    display: block;
    width: 100%;
    height: auto;
}

.l-spirits__summary {
    margin: 60px 0 0 490px;
}

.l-spirits__summary p {
    font-family: YakuHanMPs,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 2.1em;
}

.l-spirits__button {
    margin-top: 40px;
}

@media only screen and (max-width: 768px) {
    .l-spirits__outer {
        margin:0 24px;
    }

    .l-spirits__inner {
        padding: 70px 0;
        max-width: initial;
    }

    .l-spirits__base {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        height: auto;
        background-position: left bottom;
        background-size: 100% auto;
    }

    .l-spirits__label {
        font-size: 22px;
    }

    .l-spirits__header {
        display: block;
        margin-top: 15px;
    }

    .l-spirits__title {
        margin-right: 0;
        max-width: 300px;
        width: auto;
    }

    .l-spirits__infinite {
        margin: 20px 0 0 40px;
        width: 30px;
    }

    .l-spirits__infinite:before {
        left: 40px;
        right: -100vw;
        margin-top: -1px;
        height: 2px;
    }

    .l-spirits__summary {
        margin: 30px 0 0;
    }

    .l-spirits__summary p {
        font-size: 14px;
        line-height: 2em;
    }

    .l-spirits__button {
        margin-top: 35px;
    }
}

.l-spirits__header.js-indicate-ready .l-spirits__infinite:before {
    transform: scaleX(0);
    transform-origin: left;
    transition-property: transform;
}

.l-spirits__header.js-indicate-start .l-spirits__infinite:before {
    transform: scaleX(1);
    transition-duration: 0.5s;
    transition-delay: 0.35s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.l-aboutnav {
    position: relative;
    z-index: 2;
}

.l-aboutnav:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    bottom: 140px;
    background-color: rgba(0,118,219,0.05);
}

.l-aboutnav__outer {
    margin: 0 40px;
}

.l-aboutnav__inner {
    margin: auto;
    padding-top: 60px;
    max-width: 1132px;
}

.l-aboutnav__title {
    color: #005BAC;
}

.l-aboutnav__title .c-navtitle__title {
    color: #333333;
}

.l-aboutnav__list {
    display: flex;
    margin-left: -50px;
    margin-top: 50px;
}

.l-aboutnav__item {
    margin-left: 50px;
    width: calc(33.33% - 50px);
}

.l-aboutnav__item a {
    display: block;
    position: relative;
    color: #005BAC;
    z-index: 1;
}

.l-aboutnav__header {
    display: flex;
    align-items: flex-end;
}

.l-aboutnav__no {
    position: relative;
    margin-right: 10px;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 46px;
    font-weight: 700;
    white-space: nowrap;
    letter-spacing: 0.05em;
    line-height: 1;
    z-index: 1;
}

.l-aboutnav__no:before {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    bottom: -45px;
    width: 1px;
    height: 35px;
    background-color: currentcolor;
    z-index: 1;
}

.l-aboutnav__title {
    margin-bottom: 7px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
}

.l-aboutnav__image {
    margin-top: 25px;
    border-radius: 2px;
    box-shadow: 0 0 16px rgba(31,33,38,0.16);
    overflow: hidden;
}

.l-aboutnav__label {
    position: absolute;
    right: 0;
    bottom: 20px;
    padding-right: 50px;
    z-index: 1;
}

.l-aboutnav__label:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -1px;
    width: 30px;
    height: 1px;
    background-color: #fff;
    z-index: 1;
}

.l-aboutnav__label span {
    display: block;
    color: #fff;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    letter-spacing: 0.1em;
}

@media only screen and (min-width: 769px) {
    .l-aboutnav__item a:hover .l-aboutnav__image img {
        transform:scale(1.03);
    }

    .l-aboutnav__item a:hover .l-aboutnav__label:before {
        transform: scaleX(0);
    }

    .l-aboutnav__item a:hover .l-aboutnav__label span {
        transform: translateX(30px);
    }

    .l-aboutnav__image img {
        transition-property: transform;
        transition-duration: 0.5s;
        will-change: transform;
    }

    .l-aboutnav__label:before {
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }

    .l-aboutnav__label span {
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }
}

@media only screen and (max-width: 768px) {
    .l-aboutnav {
        margin-top:-105px;
    }

    .l-aboutnav:before {
        bottom: 70px;
    }

    .l-aboutnav__outer {
        margin: 0 24px;
    }

    .l-aboutnav__inner {
        padding-top: 120px;
        max-width: initial;
    }

    .l-aboutnav__list {
        display: block;
        margin: 0;
    }

    .l-aboutnav__item {
        margin: 25px 0 0;
        width: auto;
    }

    .l-aboutnav__header {
        align-items: center;
    }

    .l-aboutnav__no {
        font-size: 36px;
    }

    .l-aboutnav__no:before {
        bottom: -30px;
        height: 28px;
    }

    .l-aboutnav__title {
        margin-bottom: 3px;
        font-size: 16px;
    }

    .l-aboutnav__image {
        margin-top: 15px;
    }

    .l-aboutnav__label {
        bottom: 10px;
        padding-right: 40px;
    }

    .l-aboutnav__label span {
        font-size: 14px;
    }
}

.l-jobsnav {
    position: relative;
    margin-top: 130px;
    z-index: 2;
}

.l-jobsnav:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    top: auto;
    height: 280px;
    background-color: #F2F6FB;
}

.l-jobsnav__outer {
    margin: 0 40px;
}

.l-jobsnav__inner {
    margin: auto;
    max-width: 1132px;
}

.l-jobsnav__column {
    display: flex;
}

.l-jobsnav__col {
    width: 50%;
}

.l-jobsnav__panel {
    position: relative;
    padding: 130px 0 0;
    min-height: 575px;
    color: #fff;
    z-index: 1;
}

.l-jobsnav__panel:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    left: -50vw;
    background-image: url(/recruit/assets/img/home/jobs_bg.png);
    background-position: right top;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #005BAC;
}

.l-jobsnav__panel p {
    margin-top: 30px;
    max-width: 320px;
    font-family: YakuHanMPs,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 2.25em;
}

.l-jobsnav__list {
    position: relative;
    margin: -16px 0 0 -150px;
    padding-top: 60px;
    z-index: 2;
}

.l-jobsnav__item {
    margin-top: 16px;
}

.l-jobsnav__item a {
    display: block;
    position: relative;
    color: #fff;
    border-left: 10px solid #005BAC;
    box-shadow: 0 3px 16px rgba(0,0,0,0.16);
    z-index: 1;
}

.l-jobsnav__keyword {
    position: absolute;
    top: 0;
    right: 0;
    width: 125px;
    z-index: 1;
}

.l-jobsnav__keyword img {
    display: block;
    width: 100%;
    height: auto;
}

.l-jobsnav__header {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 26px;
}

.l-jobsnav__label {
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    letter-spacing: 0.1em;
    opacity: 0.5;
}

.l-jobsnav__subject {
    margin-top: 5px;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.15em;
}

.l-jobsnav__caption {
    margin: 5px 0;
    font-size: .9em;
}

.l-jobsnav__more {
    position: absolute;
    right: 0;
    bottom: 16px;
    padding-right: 40px;
    z-index: 1;
}

.l-jobsnav__more:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -1px;
    width: 30px;
    height: 1px;
    background-color: #fff;
    z-index: 1;
}

.l-jobsnav__more span {
    display: block;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    letter-spacing: 0.1em;
}

.l-jobsnav__item--civil a {
    border-color: #348808;
}

.l-jobsnav__item--building a {
    border-color: #0076DB;
}

.l-jobsnav__item--administration a {
    border-color: #ED5223;
}

@media only screen and (min-width: 769px) {
    .l-jobsnav__item a:hover .l-jobsnav__image img {
        transform:scale(1.03);
    }

    .l-jobsnav__item a:hover .l-jobsnav__more:before {
        transform: scaleX(0);
    }

    .l-jobsnav__item a:hover .l-jobsnav__more span {
        transform: translateX(30px);
    }

    .l-jobsnav__image img {
        transition-property: transform;
        transition-duration: 0.5s;
        will-change: transform;
    }

    .l-jobsnav__more:before {
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }

    .l-jobsnav__more span {
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }
}

@media only screen and (max-width: 768px) {
    .l-jobsnav {
        margin-top:80px;
    }

    .l-jobsnav:before {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        top: 155px;
        height: auto;
        background-color: #F2F6FB;
    }

    .l-jobsnav__outer {
        margin: 0 24px;
    }

    .l-jobsnav__inner {
        max-width: initial;
    }

    .l-jobsnav__column {
        display: block;
    }

    .l-jobsnav__col {
        width: auto;
    }

    .l-jobsnav__panel {
        padding: 60px 0 140px;
        min-height: initial;
    }

    .l-jobsnav__panel:before {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        left: -24px;
    }

    .l-jobsnav__panel p {
        margin: 25px 60px 0 0;
        max-width: initial;
        font-size: 14px;
        line-height: 2em;
    }

    .l-jobsnav__list {
        margin: -100px -24px 0 0;
        padding-top: 0;
    }

    .l-jobsnav__item {
        margin-top: 16px;
    }

    .l-jobsnav__keyword {
        width: 26.21%;
    }

    .l-jobsnav__header {
        padding: 0 26px;
    }

    .l-jobsnav__label {
        font-size: 14px;
    }

    .l-jobsnav__subject {
        margin-top: 1px;
        font-size: 22px;
    }

    .l-jobsnav__more {
        bottom: 10px;
        padding-right: 40px;
    }

    .l-jobsnav__more span {
        font-size: 14px;
    }
}

.l-peoplenav {
    position: relative;
    z-index: 1;
}

.l-peoplenav:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-color: #F2F6FB;
}

.l-peoplenav__outer {
    margin: 0 40px;
}

.l-peoplenav__inner {
    margin: auto;
    padding: 110px 0 90px;
    max-width: 1132px;
}

.l-peoplenav__title {
    color: #005BAC;
}

.l-peoplenav__title .c-navtitle__title {
    color: #333333;
}

.l-peoplenav__button {
    margin-top: 60px;
}

.l-peoplenav__button .c-button {
    margin: auto;
}

.l-peoplenav__slider {
    position: relative;
    margin-top: -25px;
    z-index: 1;
}

.l-peoplenav__list {
    margin: 0 -432px;
}

.l-peoplenav__item {
    margin: 0 35px;
    width: 330px;
}

.l-peoplenav__item .c-people {
    padding-top: 20px;
}

.l-peoplenav__control {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    color: #005BAC;
    z-index: 1;
}

.l-peoplenav__no {
    display: flex;
    align-items: center;
    color: currentcolor;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-indent: 0.05em;
    letter-spacing: 0.05em;
}

.l-peoplenav__no div:first-child {
    position: relative;
    z-index: 1;
}

.l-peoplenav__no div:first-child:after {
    display: inline-block;
    content: "";
    margin: -3px 10px 0;
    width: 16px;
    height: 1px;
    vertical-align: middle;
    background-color: currentcolor;
}

.l-peoplenav__arrow {
    display: flex;
    margin-left: 35px;
}

.l-peoplenav__arrow div {
    position: relative;
    width: 54px;
    height: 54px;
    border: 1px solid currentcolor;
    background-color: currentcolor;
    cursor: pointer;
    z-index: 1;
}

.l-peoplenav__arrow div:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -9px 0 0 -9px;
    width: 18px;
    height: 18px;
    background-image: url(/recruit/assets/img/common/icon_slidearrow.svg);
    background-repeat: no-repeat;
    background-size: 36px 36px;
    z-index: 1;
}

.l-peoplenav__arrow div:first-child:before {
    background-position: 0 0;
}

.l-peoplenav__arrow div:last-child {
    margin-left: 12px;
}

.l-peoplenav__arrow div:last-child:before {
    background-position: -18px 0;
}

@media only screen and (min-width: 769px) {
    .l-peoplenav__arrow div {
        transition-property:background-color;
        transition-duration: 0.35s;
    }

    .l-peoplenav__arrow div:before {
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }

    .l-peoplenav__arrow div:hover {
        background-color: #fff;
    }

    .l-peoplenav__arrow div:hover:first-child:before {
        background-position: 0 -18px;
        transform: translateX(-3px);
    }

    .l-peoplenav__arrow div:hover:last-child {
        margin-left: 12px;
    }

    .l-peoplenav__arrow div:hover:last-child:before {
        background-position: -18px -18px;
        transform: translateX(3px);
    }
}

@media only screen and (max-width: 768px) {
    .l-peoplenav__outer {
        margin:0 24px;
    }

    .l-peoplenav__inner {
        padding: 140px 0 80px;
        max-width: initial;
    }

    .l-peoplenav__button {
        margin-top: 50px;
    }

    .l-peoplenav__slider {
        margin-top: 50px;
    }

    .l-peoplenav__list {
        margin: 0 -24px;
    }

    .l-peoplenav__item {
        margin: 0;
        padding: 0 26px;
        width: auto;
    }

    .l-peoplenav__item .c-people {
        padding-top: 15px;
    }

    .l-peoplenav__no {
        font-size: 16px;
    }

    .l-peoplenav__no div:first-child:after {
        margin: -3px 10px 0;
        width: 13px;
    }

    .l-peoplenav__arrow {
        margin-left: 20px;
    }

    .l-peoplenav__arrow div {
        width: 44px;
        height: 44px;
    }

    .l-peoplenav__arrow div:before {
        margin: -7px 0 0 -7px;
        width: 14px;
        height: 14px;
        background-size: 28px 28px;
    }

    .l-peoplenav__arrow div:first-child:before {
        background-position: 0 0;
    }

    .l-peoplenav__arrow div:last-child {
        margin-left: 10px;
    }

    .l-peoplenav__arrow div:last-child:before {
        background-position: -14px 0;
    }
}

.l-recruitnav__outer {
    margin: 0 40px;
}

.l-recruitnav__inner {
    margin: auto;
    padding: 100px 0;
    max-width: 1132px;
}

.l-recruitnav__title {
    color: #005BAC;
}

.l-recruitnav__title .c-navtitle__title {
    color: #333333;
}

@media only screen and (max-width: 768px) {
    .l-recruitnav__outer {
        margin:0 24px;
    }

    .l-recruitnav__inner {
        padding: 80px 0;
        max-width: initial;
    }
}

.c-menu {
    width: 65px;
    height: 65px;
    cursor: pointer;
}

.c-menu__bar {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin: auto;
    padding-top: 17px;
    width: 30px;
}

.c-menu__bar span {
    display: block;
    margin-top: 4px;
    width: 16px;
    height: 2px;
    border-radius: 1px;
    background-color: currentcolor;
}

.c-menu__bar span:first-child {
    margin-top: 0;
}

.c-menu__bar span:nth-child(2) {
    width: 12px;
}

.c-menu__bar span:nth-child(3) {
    width: 8px;
}

.c-menu__label {
    margin-top: 8px;
    color: currentcolor;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    text-indent: 0.2em;
    letter-spacing: 0.2em;
}

.js-menu-ready .c-menu__bar span {
    transition-property: width;
    transition-duration: 0.35s;
    transition-delay: 0.25s;
    transition-timing-function: cubic-bezier(0.33,1,0.68,1);
}

.js-menu-ready .c-menu__bar span:first-child {
    transition-delay: 0.35s;
}

.js-menu-ready .c-menu__bar span:nth-child(2) {
    transition-delay: 0.3s;
}

.js-menu-ready .c-menu__bar span:nth-child(3) {
    transition-delay: 0.25s;
}

.js-menu-open .c-menu__bar span:first-child,.js-menu-open .c-menu__bar span:nth-child(2),.js-menu-open .c-menu__bar span:nth-child(3) {
    width: 30px;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.js-menu-open .c-menu__bar span:first-child {
    transition-delay: 0s;
}

.js-menu-open .c-menu__bar span:nth-child(2) {
    transition-delay: 0.05s;
}

.js-menu-open .c-menu__bar span:nth-child(3) {
    transition-delay: 0.1s;
}

.c-close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 65px;
    height: 65px;
    cursor: pointer;
}

.c-close__bar {
    position: relative;
    width: 20px;
    height: 20px;
    z-index: 1;
    transform: rotate(45deg);
}

.c-close__bar span {
    display: block;
    position: absolute;
    background-color: #333333;
    border-radius: 2px;
    z-index: 1;
}

.c-close__bar span:first-child {
    top: 50%;
    margin-top: -1.5px;
    width: 100%;
    height: 3px;
}

.c-close__bar span:nth-child(2) {
    left: 50%;
    margin-left: -1.5px;
    width: 3px;
    height: 100%;
}

.c-actionbutton {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    padding-right: 40px;
    height: 85px;
    color: #fff;
    line-height: normal;
    border: 2px solid #005BAC;
    border-radius: 2px;
    background-color: #005BAC;
    box-shadow: 0 0 16px rgba(29,54,121,0.16);
    box-sizing: border-box;
    overflow: hidden;
    z-index: 1;
}

.c-actionbutton:after {
    position: absolute;
    top: 50%;
    right: 22px;
    margin-top: -7px;
    font-size: 14px;
    content: "";
    display: inline-block;
    font-family: "icomoon"!important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.c-actionbutton__fiscal {
    font-size: 20px;
    width: 4.5em;
    text-align: left;
}

.c-actionbutton__label {
    display: block;
    font-family: YakuHanJPs_Noto,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
}

.c-actionbutton__entry {
    margin-bottom: 0;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 28px;
    font-weight: 700;
    font-style: italic;
    text-indent: 0.2em;
    letter-spacing: 0.2em;
}

.c-actionbutton__mypage {
    margin-bottom: 2px;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-indent: 0.2em;
    letter-spacing: 0.2em;
}

.c-actionbutton--reverse {
    background-color: #FD8902;
}

@media only screen and (min-width: 769px) {
    .c-actionbutton {
        transition-property:color,box-shadow,transform;
        transition-duration: 0.35s;
        will-change: transform;
    }

    .c-actionbutton:before {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        left: -10px;
        right: -10px;
        background-color: #fff;
        transform: scaleX(0) skewX(-10deg);
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.35s;
        transition-timing-function: cubic-bezier(0.65,0,0.35,1);
    }

    .c-actionbutton:hover {
        color: #005BAC;
        box-shadow: 0 3px 13px rgba(29,54,121,0.16);
        transform: translateY(-3px);
    }

    .c-actionbutton:hover:before {
        transform: scaleX(1) skewX(-10deg);
        transform-origin: left;
        transition-timing-function: cubic-bezier(0.33,1,0.68,1);
    }
}

@media only screen and (max-width: 768px) {
    .c-actionbutton {
        height:75px;
    }

    .c-actionbutton:after {
        right: 14px;
    }

    .c-actionbutton__label {
        font-size: 12px;
    }

    .c-actionbutton__entry {
        margin-bottom: -2px;
        font-size: 24px;
    }

    .c-actionbutton__mypage {
        margin-bottom: 0px;
        font-size: 18px;
    }
}

.c-button {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 280px;
    width: 100%;
    height: 68px;
    color: #005BAC;
    border: 1px solid #005BAC;
    box-sizing: border-box;
}

.c-button__label {
    color: currentcolor;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 18px;
    font-weight: 400;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
}

@media only screen and (min-width: 769px) {
    .c-button {
        position:relative;
        overflow: hidden;
        z-index: 1;
        transition-property: color,transform;
        transition-duration: 0.35s,0.25s;
    }

    .c-button:before {
        display: block;
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: -1;
        left: -10px;
        right: -10px;
        background-color: #005BAC;
        transform: scaleX(0) skewX(-10deg);
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.35s;
        transition-timing-function: cubic-bezier(0.65,0,0.35,1);
    }

    .c-button:hover {
        color: #fff;
        transform: translateY(-3px);
    }

    .c-button:hover:before {
        transform: scaleX(1) skewX(-10deg);
        transform-origin: left;
        transition-timing-function: cubic-bezier(0.33,1,0.68,1);
    }
}

@media only screen and (max-width: 768px) {
    .c-button {
        margin:auto;
        height: 66px;
    }
}

.c-navigation {
    position: relative;
    margin-top: 100px;
    z-index: 1;
}

.c-navigation:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 188px;
    right: 0;
    margin-top: -1px;
    height: 1px;
    background-color: rgba(0,91,172,0.25);
}

.c-navigation__label {
    color: #005BAC;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

@media only screen and (max-width: 768px) {
    .c-navigation {
        margin-top:80px;
    }
}

.c-navigation.js-indicate-ready:before {
    transform: scaleX(0);
    transform-origin: left;
    transition-property: transform;
}

.c-navigation.js-indicate-start:before {
    transform: scaleX(1);
    transition-duration: 0.85s;
    transition-delay: 0.35s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.c-readcopy {
    position: relative;
    padding: 0 120px;
    z-index: 1;
}

.c-readcopy>:first-child {
    margin-top: 0;
    padding-top: 0;
}

.c-readcopy>:first-child:before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    width: 65px;
    height: 1px;
    background-color: #005BAC;
    z-index: 1;
}

.c-readcopy h2 {
    font-family: YakuHanMPs,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;
    font-size: 34px;
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.5em;
}

.c-readcopy h2:before {
    display: block;
    content: "";
    margin-top: calc((1 - 1.5) * .5em);
}

.c-readcopy h2:after {
    display: block;
    content: "";
    margin-bottom: calc((1 - 1.5) * .5em);
}

.c-readcopy h2:before {
    top: 35px;
}

.c-readcopy p {
    margin-top: 40px;
}

.c-readcopy p:before {
    display: block;
    content: "";
    margin-top: calc((1 - 2.3) * .5em);
}

.c-readcopy p:after {
    display: block;
    content: "";
    margin-bottom: calc((1 - 2.3) * .5em);
}

.c-readcopy p:before {
    top: 29px;
}

.c-readcopy dl {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin-top: 50px;
    padding-top: 28px;
    z-index: 1;
}

.c-readcopy dl:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: #E2E2E2;
    z-index: 1;
}

.c-readcopy dd,.c-readcopy dt {
    margin-top: 20px;
}

.c-readcopy dt {
    width: 170px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.2em;
    line-height: 2.3em;
}

.c-readcopy dd {
    width: calc(100% - 170px);
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 2.3em;
}

.c-readcopy em {
    font-family: YakuHanMPs,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;
    font-size: 28px;
    font-weight: 600;
    font-style: normal;
    letter-spacing: 0.2em;
}

.c-readcopy--civil>:first-child:before {
    background-color: #348808;
}

.c-readcopy--building>:first-child:before {
    background-color: #0076DB;
}

.c-readcopy--administration>:first-child:before {
    background-color: #ED5223;
}

@media only screen and (max-width: 768px) {
    .c-readcopy {
        margin:0 0 0 -24px;
        padding: 0 0 0 48px;
    }

    .c-readcopy>:first-child:before {
        width: 26px;
    }

    .c-readcopy h2 {
        font-size: 20px;
        line-height: 1.9em;
    }

    .c-readcopy h2:before {
        display: block;
        content: "";
        margin-top: calc((1 - 1.9) * .5em);
    }

    .c-readcopy h2:after {
        display: block;
        content: "";
        margin-bottom: calc((1 - 1.9) * .5em);
    }

    .c-readcopy h2:before {
        top: 24px;
    }

    .c-readcopy p {
        margin-top: 25px;
    }

    .c-readcopy p:before {
        top: 26px;
    }

    .c-readcopy dl {
        display: block;
        margin-top: 55px;
        padding-top: 25px;
    }

    .c-readcopy dl:before {
        left: -24px;
    }

    .c-readcopy dt {
        margin-top: 20px;
        width: auto;
        font-size: 18px;
        line-height: 2.2em;
    }

    .c-readcopy dd {
        margin-top: 5px;
        width: auto;
        font-size: 14px;
        line-height: 2.2em;
    }

    .c-readcopy em {
        font-size: 20px;
    }
}

.c-readcopy.js-indicate-ready>:first-child:before {
    transform: scaleX(0);
    transform-origin: right;
    transition-property: transform;
}

.c-readcopy.js-indicate-start>:first-child:before {
    transform: scaleX(1);
    transition-duration: 0.65s;
    transition-delay: 0.35s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.c-keyword {
    position: absolute;
    left: 0;
    right: 0;
    margin-top: -45px;
    pointer-events: none;
    z-index: 2;
}

.c-keyword__inner {
    display: flex;
    justify-content: flex-end;
    margin: auto;
    max-width: 1366px;
}

.c-keyword__image img {
    display: block;
    width: 100%;
    height: auto;
}

.c-keyword--future .c-keyword__image {
    width: 480px;
}

.c-keyword--job {
    margin-top: -65px;
}

.c-keyword--job .c-keyword__image {
    width: 267px;
    opacity: 0.6;
}

@media only screen and (max-width: 768px) {
    .c-keyword__inner {
        max-width:initial;
    }

    .c-keyword--future .c-keyword__image {
        width: 204px;
    }

    .c-keyword--job {
        margin-top: -30px;
    }

    .c-keyword--job .c-keyword__image {
        width: 110px;
    }
}

.c-people a {
    display: block;
    position: relative;
    padding-bottom: 170px;
    z-index: 1;
}

.c-people a:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    top: 47px;
    bottom: 32px;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 2px;
    z-index: 1;
}

.c-people__keyword {
    position: absolute;
    top: 25px;
    right: -10px;
    width: 268px;
    width: 78%;
    z-index: 1;
}

.c-people__keyword img {
    display: block;
    width: 100%;
    height: auto;
}

.c-people__image {
    position: relative;
    margin: 0 0 -20px;
    overflow: visible;
    z-index: 1;
}

.c-people__image img {
    display: block;
    width: 100%;
    height: auto;
}

.c-people__plate {
    position: absolute;
    left: 40px;
    right: -33px;
    bottom: 0;
    padding: 30px 30px 64px;
    min-height: 182px;
    background-color: #fff;
    z-index: 1;
}

.c-people__subject {
    color: #005BAC;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.075em;
    line-height: 1.3em;
}

.c-people__name {
    margin-top: 20px;
    font-size: 0;
    line-height: normal;
}

.c-people__name span {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.025em;
}

.c-people__name span:first-child:after {
    display: inline-block;
    content: "";
    margin: 0 20px;
    width: 1px;
    height: 16px;
    vertical-align: middle;
    background-color: #005BAC;
    transform: skewX(-45deg);
}

.c-people__label {
    position: absolute;
    right: 0;
    bottom: 25px;
    padding-right: 28px;
    z-index: 1;
}

.c-people__label:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 13px;
    height: 1px;
    background-color: #005BAC;
    z-index: 1;
}

.c-people__label span {
    display: block;
    color: #005BAC;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 14px;
    letter-spacing: 0.1em;
}

.c-people--civil-kiden a:before,.c-people--civil a:before {
    background-image: url(/recruit/assets/img/people/index_base_civil.png);
}

.c-people--building-setsubi a:before,.c-people--building a:before {
    background-image: url(/recruit/assets/img/people/index_base_building.png);
}

.c-people--administration a:before {
    background-image: url(/recruit/assets/img/people/index_base_administration.png);
}

@media only screen and (min-width: 769px) {
    .c-people a:hover .c-people__image {
        transform:scale(1.03);
    }

    .c-people a:hover .c-people__plate {
        transform: translateY(-3px);
    }

    .c-people a:hover .c-people__label:before {
        transform: scaleX(0);
    }

    .c-people a:hover .c-people__label span {
        transform: translateX(13px);
    }

    .c-people__image {
        transition-property: transform;
        transition-duration: 0.5s;
        will-change: transform;
    }

    .c-people__plate {
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }

    .c-people__label:before {
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }

    .c-people__label span {
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }
}

@media only screen and (max-width: 768px) {
    .c-people a {
        padding-bottom:155px;
        width: auto;
        height: auto;
    }

    .c-people a:before {
        top: 35px;
        bottom: 25px;
    }

    .c-people__keyword {
        top: 20px;
        right: -8px;
        width: 80%;
    }

    .c-people__image {
        margin: 0 0 -10px;
    }

    .c-people__plate {
        left: 35px;
        right: -24px;
        padding: 30px 24px 60px;
        min-height: 170px;
    }

    .c-people__subject {
        font-size: 16px;
    }

    .c-people__name {
        margin-top: 20px;
    }

    .c-people__name span {
        font-size: 14px;
        line-height: 1.5em;
    }

    .c-people__name span:first-child:after {
        margin: 0 15px;
        height: 13px;
    }

    .c-people__label {
        bottom: 10px;
        padding-right: 30px;
    }

    .c-people__label:before {
        width: 11px;
    }

    .c-people--compact .c-people__image {
        margin-bottom: -40px;
    }

    .c-people--compact .c-people__plate {
        padding: 20px 15px 40px;
        min-height: 130px;
    }

    .c-people--compact .c-people__name {
        margin-top: 5px;
    }
}

.c-subtitle {
    color: currentcolor;
}

.c-subtitle span {
    display: inline-block;
    position: relative;
    padding-left: 40px;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.7em;
    z-index: 1;
}

.c-subtitle span:before {
    display: block;
    content: "";
    position: absolute;
    top: 18px;
    left: 0;
    width: 20px;
    height: 1px;
    background-color: currentcolor;
}

@media only screen and (max-width: 768px) {
    .c-subtitle span {
        padding-left:30px;
        font-size: 16px;
        line-height: 2.3em;
    }

    .c-subtitle span:before {
        top: 16px;
    }
}

.c-navtitle {
    color: currentcolor;
}

.c-navtitle__copy {
    margin-bottom: 20px;
    width: 328px;
}

.c-navtitle__copy img {
    display: block;
    width: 100%;
    height: auto;
}

.c-navtitle__label {
    font-family: "Roboto Condensed",sans-serif;
    font-size: 85px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.05em;
    line-height: 1;
}

.c-navtitle__title {
    margin-top: 15px;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 1;
}

.c-navtitle span {
    display: inline-block;
}

@media only screen and (max-width: 768px) {
    .c-navtitle__copy {
        margin-bottom:10px;
        width: 222px;
    }

    .c-navtitle__label {
        font-size: 45px;
    }

    .c-navtitle__title {
        margin-top: 15px;
        font-size: 18px;
    }
}

.c-navtitle.js-indicate-ready {
    transform: translateX(100px);
    overflow: hidden;
    transition-property: transform;
}

.c-navtitle.js-indicate-ready .c-navtitle__copy img {
    transform: translateX(-100%);
    transition-property: transform;
}

.c-navtitle.js-indicate-ready .c-navtitle__label span,.c-navtitle.js-indicate-ready .c-navtitle__title span {
    transform: translateX(-100%);
    transition-property: transform;
}

.c-navtitle.js-indicate-start {
    transform: translateX(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.c-navtitle.js-indicate-start .c-navtitle__copy img {
    transform: translateX(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.c-navtitle.js-indicate-start .c-navtitle__label span,.c-navtitle.js-indicate-start .c-navtitle__title span {
    transform: translateX(0);
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.c-sectionlabel {
    position: absolute;
    top: 0;
    left: -116px;
    right: -116px;
    overflow: hidden;
    z-index: 1;
}

.c-sectionlabel--right img {
    margin-left: auto;
}

.c-sectionlabel span {
    display: block;
}

.c-sectionlabel span img {
    display: block;
    margin-top: -1px;
    width: auto;
    height: 92px;
    opacity: 0.1;
}

@media only screen and (max-width: 768px) {
    .c-sectionlabel {
        left:-24px;
        right: -24px;
    }

    .c-sectionlabel--right img {
        margin-left: 0;
    }

    .c-sectionlabel span img {
        margin-top: 0;
        height: 34px;
    }
}

.c-table__table {
    width: 100%;
    border-spacing: 0;
    border: none;
    border-top: 2px solid #F2F6FB;
    border-bottom: 2px solid #F2F6FB;
}

.c-table__table td,.c-table__table th {
    font-weight: 500;
    vertical-align: middle;
    border-bottom: 1px solid #E2E2E2;
}

.c-table__table th {
    padding: 20px 0;
    color: #005BAC;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.3;
    text-align: center;
    background-color: #F2F6FB;
}

.c-table__table th small {
    font-size: 14px;
}

.c-table__table td {
    padding: 20px 15px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
}

.c-table__table tr:last-child td,.c-table__table tr:last-child th {
    border-bottom: none;
}

.c-table__columns {
    display: flex;
    margin-left: -50px;
}

.c-table__columns .c-table__column {
    margin-left: 50px;
    width: calc(50% - 50px);
}

.c-table__column {
    border-spacing: 0;
}

.c-table__column td,.c-table__column th {
    padding: 0;
    vertical-align: top;
    text-align: left;
    background-color: transparent;
    border: none;
}

.c-table__column th {
    white-space: nowrap;
    padding-right: 10px;
    color: #333333;
    font-size: 14px;
    line-height: 2;
}

.c-table__column td {
    padding-left: 15px;
}

.c-table__column--block th {
    font-weight: 700;
}

.c-table__none {
    visibility: hidden;
}

.c-table__rowspan th:first-child {
    border-right: 1px solid #E2E2E2;
    border-bottom: none;
}

.c-table__tdcenter td {
    text-align: center;
}

.c-table--block .c-table__colgroup col:first-child {
    width: 197px;
}

.c-table--header .c-table__colgroup col:first-child {
    width: calc(197px / 2);
}

.c-table--header .c-table__table thead th {
    width: auto;
    border-bottom: 1px solid #E2E2E2;
}

.c-table--header .c-table__table tbody th {
    padding: 0;
    width: auto;
}

.c-table--header .c-table__table tbody td {
    width: auto;
    padding: 15px;
    line-height: 1.7;
    vertical-align: top;
}

@media only screen and (max-width: 768px) {
    .c-table--block .c-table__table {
        border-top:none;
    }

    .c-table--block .c-table__table td,.c-table--block .c-table__table th {
        display: block;
        border-bottom: none;
        padding: 16px 15px;
    }

    .c-table--block .c-table__table th {
        text-align: left;
        border-top: 1px solid #E2E2E2;
    }

    .c-table--block .c-table__table tr:first-child th {
        border-top: none;
    }

    .c-table--block .c-table__colgroup col:first-child {
        width: 100%;
    }

    .c-table--block .c-table__columns {
        display: block;
        margin-left: 0;
    }

    .c-table--block .c-table__columns .c-table__column {
        margin-left: 0;
        width: 100%;
    }

    .c-table--block .c-table__columns .c-table__column th {
        width: 33.33%;
    }

    .c-table--block .c-table__columns .c-table__column td {
        width: 33.33%;
    }

    .c-table--block .c-table__columns .c-table__column td:last-child {
        text-align: right;
    }

    .c-table--block .c-table__column td,.c-table--block .c-table__column th {
        display: table-cell;
        padding: 0;
        border: none;
    }

    .c-table--block .c-table__column th {
        padding-right: 10px;
    }

    .c-table--block .c-table__column--block th {
        display: block;
        font-weight: 500;
    }

    .c-table--block .c-table__column--block td {
        display: block;
        padding-left: 1em;
    }

    .c-table--scroll {
        position: relative;
    }

    .c-table--scroll:before {
        content: "※横にスクロールできます。";
        padding-bottom: 9px;
        display: block;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.02;
    }

    .c-table--scrollarea {
        overflow-x: scroll;
    }

    .c-table--scrollarea .c-table__table {
        width: 875px;
    }

    .scroll-hint-icon {
        background: rgba(0,0,0,0.6);
    }
}

.p-loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: 10;
}

.p-loading__mask {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    left: -100px;
    right: -100px;
    background-color: #F2F6FB;
    transform: skewX(-10deg);
}

.p-loading__progress {
    display: flex;
    align-items: center;
    position: absolute;
    left: 42px;
    bottom: 42px;
    text-align: center;
    z-index: 1;
}

.p-loading__icon {
    display: flex;
}

.p-loading__icon span {
    display: block;
    position: relative;
    margin-right: 5px;
    width: 12px;
    height: 12px;
    color: #005BAC;
    z-index: 1;
    animation-name: loading;
    animation-duration: 2.25s;
    animation-iteration-count: infinite;
}

.p-loading__icon span:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background-color: currentcolor;
    transform: rotate(45deg);
}

.p-loading__text {
    margin: 2px 0 0 5px;
}

.p-loading__text span {
    display: block;
    color: #6C6C6C;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 10px;
    font-weight: bold;
    font-style: italic;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
    line-height: 1;
    animation-name: blink;
    animation-duration: 0.1s;
    animation-iteration-count: infinite;
    animation-timing-function: steps(1);
}

@media only screen and (max-width: 768px) {
    .p-loading__progress {
        left:24px;
        bottom: 24px;
    }
}

.js-loading-ready .p-loading__mask {
    transition-property: transform;
}

.js-loading-ready .p-loading__progress {
    transition-property: opacity,transform;
}

.js-loading-start .p-loading__mask {
    transform: translateX(100%) skewX(-10deg);
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.js-loading-start .p-loading__progress {
    opacity: 0;
    transform: translateY(14px);
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.65,0,0.35,1);
}

.js-loading-end {
    pointer-events: none;
    visibility: hidden;
}

.p-entrybox {
    border-radius: 2px;
    background-color: #fff;
}

.p-entrybox+.p-entrybox {
    margin-top: 12px;
}

.p-entrybox__column {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 52px;
    padding: 28px 0;
}
/*
.p-entrybox__col:first-child {
    width: 31.28%;
}
*/
.p-entrybox__col:nth-child(1) {
    width: 50%;
}

.p-entrybox__col:nth-child(2) {
    margin-left: 24px;
    width: 38%;
}

.p-entrybox__label {
    position: relative;
    padding-left: 30%;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.075em;
    z-index: 1;
}

.p-entrybox__label:before {
    position: absolute;
    top: -2px;
    left: 0;
    width: 28px;
    font-size: 28px;
}

.p-entrybox__timing {
    margin-top: 5px;
    padding-left: 40px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.p-entrybox--graduates .p-entrybox__label {
    color: #FD8902;
}

.p-entrybox--graduates .p-entrybox__label:before {
    display: inline-block;
    font-family: "icomoon"!important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

.p-entrybox--graduates .c-actionbutton {
    border-color: #FD8902;
    background-color: #FD8902;
}

.p-entrybox--internship .p-entrybox__label {
    color: #005BAC;
}

.p-entrybox--internship .p-entrybox__label:before {
    display: inline-block;
    font-family: "icomoon"!important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
}

@media only screen and (min-width: 769px) {
    .p-entrybox--graduates .c-actionbutton:hover {
        color:#FD8902;
    }
}

@media only screen and (max-width: 768px) {
    .p-entrybox+.p-entrybox {
        margin-top:32px;
    }

    .p-entrybox__column {
        display: block;
        margin: 0 15px;
        padding: 16px 0 32px;
    }

    .p-entrybox__col:first-child,.p-entrybox__col:nth-child(2),.p-entrybox__col:nth-child(3) {
        margin: 16px 0 0;
        width: auto;
    }

    .p-entrybox__col:first-child {
        position: relative;
        margin-bottom: 25px;
/*        padding-top: 30px;    */
        font-size: 0;
        text-align: center;
        z-index: 1;
    }

    .p-entrybox__label {
        display: inline-block;
        position: static;
        padding-left: 0;
        font-size: 18px;
        vertical-align: middle;
    }

    .p-entrybox__label:before {
        top: 0;
        left: 0;
        right: 0;
        width: auto;
        font-size: 26px;
        text-align: center;
    }

    .p-entrybox__timing {
        display: inline-block;
        margin-top: 2px;
        padding-left: 0;
        font-size: 14px;
        vertical-align: middle;
    }
}

.p-message__column {
    display: flex;
    justify-content: space-between;
}

.p-message__col:first-child {
    width: 380px;
}

.p-message__col:last-child {
    width: calc(100% - 380px - 80px);
}

.p-message__image {
    margin: -50px 0 0 -120px;
    overflow: hidden;
}

.p-message__title {
    position: relative;
    margin-top: 30px;
    font-family: YakuHanMPs,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.05em;
    z-index: 1;
}

.p-message__title:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: -95px;
    width: 65px;
    height: 1px;
    background-color: #005BAC;
    z-index: 1;
}

.p-message__title em {
    color: #005BAC;
    font-style: normal;
}

.p-message__name {
    margin-top: 35px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
}

.p-message__name em {
    display: block;
    margin-top: 15px;
    font-size: 20px;
    font-style: normal;
    letter-spacing: 0.05em;
}

.p-message__text {
    margin-top: 35px;
}

@media only screen and (max-width: 768px) {
    .p-message__column {
        display:block;
    }

    .p-message__col:first-child,.p-message__col:last-child {
        width: auto;
    }

    .p-message__image {
        margin: 0 0 0 -24px;
    }

    .p-message__title {
        margin: 46px 0 0 24px;
        font-size: 20px;
    }

    .p-message__title:before {
        left: -48px;
        width: 26px;
    }

    .p-message__name {
        margin: 35px 0 0 24px;
        font-size: 14px;
    }

    .p-message__name em {
        margin-top: 12px;
        font-size: 16px;
    }

    .p-message__text {
        margin: 30px 0 0 24px;
    }
}

.p-message__title.js-indicate-ready:before {
    transform: scaleX(0);
    transform-origin: right;
    transition-property: transform;
}

.p-message__title.js-indicate-start:before {
    transform: scaleX(1);
    transition-duration: 0.65s;
    transition-delay: 0.35s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.p-ideal {
    margin-top: 75px;
    margin-bottom: 75px;
}

.p-ideal ul {
    position: relative;
    margin: 0 0 0 120px;
    padding: 40px 0;
    z-index: 1;
}

.p-ideal ul:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    left: -50vw;
    background-color: #F2F6FB;
}

.p-ideal li {
    position: relative;
    margin-top: 25px;
    padding-left: 30px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5em;
    z-index: 1;
}

.p-ideal li:first-child {
    margin-top: 0;
}

.p-ideal li:before {
    display: block;
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: 18px;
    height: 18px;
    background-image: url(/recruit/assets/img/common/icon_check.svg);
    background-repeat: no-repeat;
    background-size: 18px 18px;
    z-index: 1;
}

.p-ideal p {
    margin-top: 50px;
}

@media only screen and (max-width: 768px) {
    .p-ideal {
        margin-top:45px;
    }

    .p-ideal ul {
        margin: 0;
        padding: 45px 24px 45px 0;
    }

    .p-ideal ul:before {
        left: -24px;
    }

    .p-ideal li {
        margin-top: 13px;
        font-size: 14px;
        line-height: 2.2em;
    }

    .p-ideal li:before {
        top: 4px;
    }

    .p-ideal p {
        margin-top: 30px;
    }
}

.p-ideal.js-indicate-ready ul:before {
    opacity: 0;
    transform: scaleX(0.5);
    transform-origin: left;
    transition-property: opacity,transform;
}

.p-ideal.js-indicate-start ul:before {
    opacity: 1;
    transform: scaleX(1);
    transition-duration: 1s;
    transition-delay: 0.5s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.p-companynav {
    margin-top: 60px;
}

.p-companynav__list {
    display: flex;
    justify-content: space-between;
    margin-left: -50px;
}

.p-companynav__item {
    margin-left: 50px;
    width: calc(50% - 50px);
}

.p-companynav__item a {
    display: block;
    position: relative;
    z-index: 1;
}

.p-companynav__header {
    display: flex;
    align-items: center;
    position: relative;
    color: #005BAC;
    z-index: 2;
}

.p-companynav__no {
    position: relative;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
    z-index: 1;
}

.p-companynav__no:before {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    bottom: -40px;
    width: 1px;
    height: 35px;
    background-color: #005BAC;
}

.p-companynav__title {
    margin-left: 8px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
}

.p-companynav__image {
    position: relative;
    margin-top: 20px;
    border-radius: 2px;
    box-shadow: 0 0 16px rgba(31,33,38,0.16);
    overflow: hidden;
    z-index: 1;
}

.p-companynav__label {
    position: absolute;
    right: 0;
    bottom: 20px;
    padding-right: 50px;
    z-index: 2;
}

.p-companynav__label:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 30px;
    height: 1px;
    background-color: #fff;
    z-index: 1;
}

.p-companynav__label span {
    display: inline-block;
    color: #fff;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.1em;
}

@media only screen and (min-width: 769px) {
    .p-companynav__item a:hover .p-companynav__image img {
        transform:scale(1.03);
    }

    .p-companynav__item a:hover .p-companynav__label:before {
        transform: scaleX(0);
    }

    .p-companynav__item a:hover .p-companynav__label span {
        transform: translateX(30px);
    }

    .p-companynav__image img {
        transition-property: transform;
        transition-duration: 0.5s;
        will-change: transform;
    }

    .p-companynav__label:before {
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }

    .p-companynav__label span {
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }
}

@media only screen and (max-width: 768px) {
    .p-companynav {
        margin-top:0px;
    }

    .p-companynav__list {
        display: block;
        margin-left: 0;
    }

    .p-companynav__item {
        margin-left: 0;
        width: auto;
    }

    .p-companynav__header {
        margin-top: 25px;
    }

    .p-companynav__no {
        font-size: 36px;
    }

    .p-companynav__no:before {
        bottom: -33px;
        height: 33px;
    }

    .p-companynav__title {
        margin-left: 10px;
        font-size: 16px;
    }

    .p-companynav__image {
        margin-top: 15px;
    }

    .p-companynav__label {
        bottom: 15px;
        padding-right: 35px;
    }

    .p-companynav__label span {
        font-size: 14px;
    }
}

.p-companynav__item.js-indicate-ready .p-companynav__no:before {
    transform: scaleY(0);
    transform-origin: top;
    transition-property: transform;
}

.p-companynav__item.js-indicate-start .p-companynav__no:before {
    transform: scaleY(1);
    transition-duration: 0.5s;
    transition-delay: 0.35s;
    transition-timing-function: cubic-bezier(0.87,0,0.13,1);
}

.p-tablecontent {
    position: relative;
    margin-top: -65px;
    padding: 53px 0 40px;
    z-index: 1;
}

.p-tablecontent:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    left: -50vw;
    background-color: #F2F6FB;
}

.p-tablecontent p {
    color: #005BAC;
    font-size: 0;
}

.p-tablecontent p span {
    display: inline-block;
}

.p-tablecontent p span:first-child {
    margin-right: 5px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.p-tablecontent p span:last-child {
    font-family: "Roboto Condensed",sans-serif;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.p-tablecontent ul {
    margin: -22px 0 0 -60px;
    padding-top: 33px;
    font-size: 0;
}

.p-tablecontent li {
    display: inline-block;
    margin: 22px 0 0 60px;
}

.p-tablecontent li a {
    display: block;
    position: relative;
    padding-left: 22px;
    color: #333333;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
    z-index: 1;
}

.p-tablecontent li a:before {
    display: block;
    content: "";
    position: absolute;
    top: 3px;
    left: 0;
    width: 14px;
    height: 14px;
    background-image: url(/recruit/assets/img/common/icon_anchor.svg);
    background-repeat: no-repeat;
    background-size: 28px 28px;
    z-index: 1;
}

@media only screen and (min-width: 769px) {
    .p-tablecontent li a {
        transition-property:color;
        transition-duration: 0.25s;
    }

    .p-tablecontent li a:before {
        transition-property: transform;
        transition-duration: 0.25s;
    }

    .p-tablecontent li a:hover {
        color: #005BAC;
    }

    .p-tablecontent li a:hover:before {
        transform: translateY(2px);
    }
}

@media only screen and (max-width: 768px) {
    .p-tablecontent {
        margin-top:-25px;
        padding: 48px 0 24px;
    }

    .p-tablecontent p span:first-child {
        margin-right: 0px;
    }

    .p-tablecontent ul {
        margin: -14px 0 0;
        padding-top: 24px;
    }

    .p-tablecontent li {
        display: block;
        margin: 14px 0 0;
    }

    .p-tablecontent li a {
        padding-left: 20px;
        font-size: 14px;
    }

    .p-tablecontent li a:before {
        top: 0;
    }
}

.p-projectdata {
    position: relative;
    margin-top: 100px;
    padding-bottom: 60px;
    color: #005BAC;
    z-index: 1;
}

.p-projectdata:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    top: 32px;
    left: -50vw;
    right: -50vw;
    background-color: #F2F6FB;
}

.p-projectdata__title {
    display: inline-block;
    position: absolute;
    top: 6px;
    left: 0;
    z-index: 1;
}

.p-projectdata__title span {
    display: inline-block;
    color: currentcolor;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 48px;
    font-weight: 700;
    font-style: italic;
    text-indent: 0.05em;
    letter-spacing: 0.05em;
    line-height: 1;
}

.p-projectdata__column {
    display: flex;
    justify-content: space-between;
}

.p-projectdata__col:first-child {
    width: calc(100% - 566px - 61px);
    order: 2;
}

.p-projectdata__col:last-child {
    padding-top: 85px;
    width: 566px;
}

.p-projectdata__image {
    margin-right: -40px;
}

.p-projectdata__name span {
    display: inline-block;
    padding: 9px;
    color: #fff;
    font-size: 20px;
    text-indent: 0.05em;
    letter-spacing: 0.05em;
    line-height: 1;
    background-color: #005BAC;
}

.p-projectdata__date {
    margin-top: 14px;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1;
}

.p-projectdata__summary {
    margin-top: 25px;
    color: #333333;
}

@media only screen and (max-width: 768px) {
    .p-projectdata {
        margin-top:40px;
        padding-bottom: 30px;
        text-align: center;
    }

    .p-projectdata:before {
        top: 16px;
    }

    .p-projectdata__title {
        position: static;
    }

    .p-projectdata__title span {
        font-size: 36px;
    }

    .p-projectdata__column {
        display: block;
    }

    .p-projectdata__col:first-child,.p-projectdata__col:last-child {
        padding-top: 0;
        width: auto;
    }

    .p-projectdata__image {
        margin: 30px 0 0;
    }

    .p-projectdata__name {
        margin-top: 25px;
    }

    .p-projectdata__name span {
        display: block;
        padding: 8px 20px;
        font-size: 16px;
        text-align: left;
        line-height: 1.5em;
    }

    .p-projectdata__date {
        margin-top: 15px;
        font-size: 16px;
        text-align: left;
    }

    .p-projectdata__summary {
        margin-top: 10px;
    }
}

.p-careermap {
    margin-top: -85px;
    padding-top: 185px;
}

.p-careermap__inner {
    position: relative;
    padding-bottom: 90px;
    z-index: 1;
}

.p-careermap__inner:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    top: 26px;
    left: -50vw;
    right: -50vw;
    background-color: #F2F6FB;
}

.p-careermap__header {
    color: #005BAC;
    text-align: center;
}

.p-careermap__header h3 {
    display: inline-block;
}

.p-careermap__header h3 span {
    display: inline-block;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 54px;
    font-weight: 700;
    font-style: italic;
    text-indent: 0.05em;
    letter-spacing: 0.05em;
    line-height: 1;
}

.p-careermap__header p {
    margin-top: 10px;
    color: #333333;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    text-indent: 0.2em;
    letter-spacing: 0.2em;
    line-height: 1;
}

.p-careermap__list {
    display: flex;
    margin-top: 80px;
}

.p-careermap__item {
    position: relative;
    padding: 30px 24px 20px;
    width: 100%;
    color: #fff;
    z-index: 1;
}

.p-careermap__item:first-child {
    margin-top: 84px;
    background-color: #2582D5;
}

.p-careermap__item:nth-child(2) {
    margin-top: 56px;
    background-color: #2367B5;
}

.p-careermap__item:nth-child(3) {
    margin-top: 28px;
    background-color: #044E90;
}

.p-careermap__item:nth-child(4) {
    margin-top: 0px;
    background-color: #003F77;
}

.p-careermap__item.is-active:before {
    display: block;
    content: "";
    position: absolute;
    top: -32px;
    left: 50%;
    margin-left: -9.5px;
    width: 19px;
    height: 19px;
    background-image: url(/recruit/assets/img/common/icon_current.svg);
    background-repeat: no-repeat;
    background-size: 19px 19px;
    z-index: 1;
    animation-name: updown;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

.p-careermap__year {
    font-size: 0;
    text-align: center;
}

.p-careermap__year+.p-careermap__summary {
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid #fff;
}

.p-careermap__year span {
    display: inline-block;
    font-weight: 700;
}

.p-careermap__year span:first-child {
    margin-right: 5px;
    font-size: 20px;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
}

.p-careermap__year span:last-child {
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    text-indent: 0.05em;
    letter-spacing: 0.05em;
    opacity: 0.5;
}

.p-careermap__subject {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
    height: 75px;
    font-size: 16px;
    font-weight: 700;
    text-indent: 0.05em;
    letter-spacing: 0.05em;
    text-align: center;
    line-height: 1.5em;
    border: 1px solid #fff;
    border-left: none;
    border-right: none;
}

.p-careermap__summary {
    margin-top: 13px;
    font-size: 14px;
    line-height: 1.85em;
}

@media only screen and (min-width: 769px) {
    .p-careermap__item:first-child {
        transition-delay:0.25s;
    }

    .p-careermap__item:nth-child(2) {
        transition-delay: 0.35s;
    }

    .p-careermap__item:nth-child(3) {
        transition-delay: 0.45s;
    }

    .p-careermap__item:nth-child(4) {
        transition-delay: 0.55s;
    }
}

@media only screen and (max-width: 768px) {
    .p-careermap {
        margin-top:-65px;
        padding-top: 105px;
    }

    .p-careermap__inner {
        padding-bottom: 55px;
    }

    .p-careermap__inner:before {
        top: 18px;
    }

    .p-careermap__header h3 span {
        font-size: 36px;
    }

    .p-careermap__header p {
        margin-top: 10px;
        font-size: 20px;
    }

    .p-careermap__list {
        display: block;
        margin-top: 45px;
    }

    .p-careermap__item {
        padding: 30px 23px;
        width: auto;
    }

    .p-careermap__item:first-child,.p-careermap__item:nth-child(2),.p-careermap__item:nth-child(3),.p-careermap__item:nth-child(4) {
        margin-top: 0;
    }

    .p-careermap__item.is-active {
        padding: 25px 18px;
        border: 5px solid #fff;
        box-sizing: border-box;
    }

    .p-careermap__item.is-active:before {
        display: none;
    }

    .p-careermap__year span:first-child {
        margin-right: 5px;
    }

    .p-careermap__subject {
        margin-top: 20px;
    }

    .p-careermap__summary {
        margin-top: 10px;
    }
}

.p-peoplenav {
    margin-top: 50px;
    color: #005BAC;
}

.p-peoplenav__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.p-peoplenav__item {
    max-width: 350px;
    width: 33%;
}

.p-peoplenav__item a {
    display: block;
    position: relative;
    padding: 20px;
    color: #005BAC;
    border: 1px solid #005BAC;
    box-sizing: border-box;
    z-index: 1;
}

.p-peoplenav__item--prev {
    text-align: right;
}

.p-peoplenav__item--prev .p-peoplenav__label {
    left: 30px;
}

.p-peoplenav__item--prev .p-peoplenav__label:after {
    display: none;
}

.p-peoplenav__item--next {
    text-align: left;
    order: 2;
}

.p-peoplenav__item--next .p-peoplenav__label {
    right: 30px;
}

.p-peoplenav__item--next .p-peoplenav__label:before {
    display: none;
}

.p-peoplenav__item--back {
    max-width: 280px;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 18px;
    text-align: center;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
}

.p-peoplenav__label {
    position: absolute;
    top: 50%;
    margin-top: -8px;
    padding: 0 32px;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
    z-index: 1;
}

.p-peoplenav__label:after,.p-peoplenav__label:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -12px;
    width: 22px;
    height: 22px;
    background-image: url(/recruit/assets/img/common/icon_arrow.svg);
    background-repeat: no-repeat;
    background-size: 44px 44px;
    z-index: 1;
}

.p-peoplenav__label:before {
    left: 0;
    background-position: 0 0;
}

.p-peoplenav__label:after {
    right: 0;
    background-position: -22px 0;
}

.p-peoplenav__keyword {
    display: inline-block;
    background-color: #005BAC;
}

.p-peoplenav__keyword span {
    display: block;
    padding: 7px 10px 8px;
    min-width: 100px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    text-indent: 0.025em;
    letter-spacing: 0.025em;
    line-height: 1;
}

.p-peoplenav__name {
    margin-top: 10px;
    font-size: 0;
}

.p-peoplenav__name span {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    text-indent: 0.025em;
    letter-spacing: 0.025em;
    line-height: 1;
}

.p-peoplenav__name span:first-child:after {
    display: inline-block;
    content: "";
    margin: -2px 15px 0 10px;
    width: 1px;
    height: 16px;
    vertical-align: middle;
    background-color: #005BAC;
    transform: skewX(-45deg);
}

@media only screen and (min-width: 769px) {
    .p-peoplenav__item a {
        transition-property:background-color;
        transition-duration: 0.25s;
    }

    .p-peoplenav__item a:hover {
        background-color: #005BAC;
    }

    .p-peoplenav__item a:hover .p-peoplenav__label {
        color: #fff;
    }

    .p-peoplenav__item a:hover .p-peoplenav__label:before {
        background-position: 0 -22px;
        transform: translateX(-3px);
    }

    .p-peoplenav__item a:hover .p-peoplenav__label:after {
        background-position: -22px -22px;
        transform: translateX(3px);
    }

    .p-peoplenav__item a:hover .p-peoplenav__keyword {
        background-color: #fff;
    }

    .p-peoplenav__item a:hover .p-peoplenav__keyword span {
        color: #005BAC;
    }

    .p-peoplenav__item a:hover .p-peoplenav__name span {
        color: #fff;
    }

    .p-peoplenav__item--back a:hover span {
        color: #fff;
    }

    .p-peoplenav__label {
        transition-property: color;
        transition-duration: 0.25s;
    }

    .p-peoplenav__label:after,.p-peoplenav__label:before {
        transition-property: transform;
        transition-duration: 0.25s;
        will-change: transform;
    }

    .p-peoplenav__keyword {
        transition-property: background-color;
        transition-duration: 0.25s;
    }

    .p-peoplenav__keyword span {
        transition-property: color;
        transition-duration: 0.25s;
    }

    .p-peoplenav__name span {
        transition-property: color;
        transition-duration: 0.25s;
    }
}

@media only screen and (max-width: 768px) {
    .p-peoplenav {
        margin-top:0px;
    }

    .p-peoplenav__list {
        display: block;
        margin-top: -10px;
        padding-top: 20px;
    }

    .p-peoplenav__item {
        margin-top: 10px;
        max-width: initial;
        width: auto;
    }

    .p-peoplenav__item a {
        padding: 10px 15px;
    }

    .p-peoplenav__item--prev .p-peoplenav__label {
        left: 15px;
    }

    .p-peoplenav__item--next .p-peoplenav__label {
        right: 15px;
    }

    .p-peoplenav__item--back {
        margin: 25px auto 0;
        max-width: 224px;
        font-size: 14px;
    }

    .p-peoplenav__item--back a {
        padding: 18px 15px;
    }

    .p-peoplenav__keyword span {
        padding: 7px 10px 8px;
        min-width: 100px;
        font-size: 14px;
    }

    .p-peoplenav__name {
        margin-top: 10px;
    }

    .p-peoplenav__name span {
        font-size: 14px;
    }

    .p-peoplenav__name span:first-child:after {
        margin: -2px 15px 0 10px;
    }
}

.p-interview {
    margin-top: -85px;
    padding-top: 185px;
}

.p-interview:after {
    display: block;
    content: "";
    clear: both;
}

.p-interview__right {
    float: right;
    margin: 0 -117px 35px 74px;
    width: calc(50% + 40px);
}

.p-interview__left {
    float: left;
    margin: 0 74px 35px -117px;
    width: calc(50% + 40px);
}

.p-interview__wide {
    margin: 0 120px;
}

.p-interview h2 {
    color: #005BAC;
}

.p-interview h2+p {
    margin-top: 30px;
}

.p-interview p {
    margin-top: 40px;
}

.p-interview p+.p-interview__wide {
    margin-top: 50px;
}

@media only screen and (max-width: 768px) {
    .p-interview {
        margin-top:-65px;
        padding-top: 105px;
    }

    .p-interview__left,.p-interview__right {
        float: none;
        margin: auto;
        width: auto;
    }

    .p-interview__right {
        margin-right: -24px;
    }

    .p-interview__left {
        margin-left: -24px;
    }

    .p-interview__wide {
        margin: 0;
    }

    .p-interview figure+h2 {
        margin-top: 40px;
    }

    .p-interview h2+p {
        margin-top: 20px;
    }

    .p-interview p {
        margin-top: 25px;
    }

    .p-interview p+.p-interview__wide {
        margin-top: 40px;
    }
}

.p-jobs__list {
    margin-top: -70px;
}

.p-jobs__item {
    margin-top: 70px;
    border-top: 10px solid #005BAC;
}

.p-jobs__item--civil {
    border-color: #348808;
}

.p-jobs__item--building {
    border-color: #0076DB;
}

.p-jobs__item--administration {
    border-color: #ED5223;
}

.p-jobs__item a {
    display: flex;
    background-color: #fff;
    box-shadow: 0 3px 16px rgba(23,58,100,0.08);
}

.p-jobs__col {
    position: relative;
    z-index: 1;
}

.p-jobs__col:first-child {
    width: 502px;
}

.p-jobs__col:last-child {
    width: calc(100% - 502px);
}

.p-jobs__keyword {
    position: absolute;
    top: 0;
    right: 0;
    width: 125px;
    z-index: 1;
}

.p-jobs__keyword img {
    display: block;
    width: 100%;
    height: auto;
}

.p-jobs__header {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 57px;
    right: 57px;
    color: #fff;
}

.p-jobs__label {
    font-family: "Roboto Condensed",sans-serif;
    font-size: 18px;
    text-indent: 0.1em;
    letter-spacing: 0.1em;
    line-height: 1;
    opacity: 0.5;
}

.p-jobs__subject {
    margin-top: 10px;
    font-size: 32px;
    font-weight: 700;
    text-indent: 0.15em;
    letter-spacing: 0.15em;
    line-height: 1;
}

.p-jobs__summary {
    margin: 0 58px 0 48px;
    padding: 40px 0;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 1.7em;
}

.p-jobs__more {
    position: absolute;
    right: 0;
    bottom: 25px;
    padding-right: 25px;
    z-index: 1;
}

.p-jobs__more:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -2px;
    width: 14px;
    height: 1px;
    background-color: #005BAC;
    z-index: 1;
}

.p-jobs__more span {
    display: block;
    color: #005BAC;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 1;
}

@media only screen and (min-width: 769px) {
    .p-jobs a:hover .p-jobs__image img {
        transform:scale(1.03);
    }

    .p-jobs a:hover .p-jobs__more:before {
        transform: scaleX(0);
    }

    .p-jobs a:hover .p-jobs__more span {
        transform: translateX(14px);
    }

    .p-jobs__image img {
        transition-property: transform;
        transition-duration: 0.5s;
        will-change: transform;
    }

    .p-jobs__more:before {
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }

    .p-jobs__more span {
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }
}

@media only screen and (max-width: 768px) {
    .p-jobs__list {
        margin-top:-24px;
    }

    .p-jobs__item {
        margin-top: 24px;
    }

    .p-jobs__item a {
        display: block;
    }

    .p-jobs__col:first-child,.p-jobs__col:last-child {
        width: auto;
    }

    .p-jobs__keyword {
        width: 28.13%;
    }

    .p-jobs__header {
        left: 24px;
        right: 24px;
    }

    .p-jobs__label {
        font-size: 14px;
    }

    .p-jobs__subject {
        margin-top: 10px;
        font-size: 24px;
    }

    .p-jobs__summary {
        margin: 0 24px;
        padding: 20px 0 60px;
        font-size: 16px;
        line-height: 2em;
    }

    .p-jobs__more {
        bottom: 24;
    }

    .p-jobs__more:before {
        margin-top: -1px;
    }
}

.p-jobsnav {
    margin-top: 40px;
    border-bottom: 2px solid #005BAC;
}

.p-jobsnav ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 94px;
}

.p-jobsnav li {
    position: relative;
    padding: 0 10px;
    width: 100%;
    text-align: center;
    z-index: 1;
}

.p-jobsnav li.p-jobsnav__narrow {
    width: 25%;
}

.p-jobsnav li.p-jobsnav__wide {
    width: 50%;
}

.p-jobsnav li:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -18px;
    width: 1px;
    height: 36px;
    background-color: #E2E2E2;
    z-index: 1;
}

.p-jobsnav li:last-child:before {
    display: none;
}

.p-jobsnav li a {
    display: inline-block;
    position: relative;
    padding-left: 22px;
    font-size: 16px;
    font-weight: 500;
    text-indent: 0.05em;
    letter-spacing: 0.05em;
    z-index: 1;
}

.p-jobsnav li a:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -6px;
    width: 14px;
    height: 14px;
    background-image: url(/recruit/assets/img/common/icon_anchor.svg);
    background-repeat: no-repeat;
    background-size: 28px 28px;
    z-index: 1;
}

.p-jobsnav--civil {
    border-color: #348808;
    background-color: #F4F9F2;
}

.p-jobsnav--civil li a:before {
    background-position: -14px 0;
}

.p-jobsnav--building {
    border-color: #0076DB;
    background-color: #F2F6FB;
}

.p-jobsnav--building li a:before {
    background-position: 0 0;
}

.p-jobsnav--administration {
    border-color: #ED5223;
    background-color: #FFFCF7;
}

.p-jobsnav--administration li a:before {
    background-position: 0 -14px;
}

.p-jobsnav--faq {
    margin-top: 0;
    border-color: #0076DB;
    background-color: #F2F6FB;
}

.p-jobsnav--faq li a:before {
    background-position: 0 0;
}

@media only screen and (min-width: 769px) {
    .p-jobsnav li a {
        transition-property:color;
        transition-duration: 0.25s;
    }

    .p-jobsnav li a:before {
        transition-property: transform;
        transition-duration: 0.25s;
        will-change: transform;
    }

    .p-jobsnav li a:hover:before {
        transform: translateY(2px);
    }

    .p-jobsnav--civil li a:hover {
        color: #348808;
    }

    .p-jobsnav--building li a:hover {
        color: #0076DB;
    }

    .p-jobsnav--administration li a:hover {
        color: #ED5223;
    }

    .p-jobsnav--faq li a:hover {
        color: #0076DB;
    }
}

@media only screen and (max-width: 768px) {
    .p-jobsnav {
        padding:24px;
    }

    .p-jobsnav ul {
        display: block;
        margin-top: -10px;
        height: auto;
    }

    .p-jobsnav li {
        margin-top: 10px;
        width: auto;
        text-align: left;
    }

    .p-jobsnav li.p-jobsnav__narrow,.p-jobsnav li.p-jobsnav__wide {
        width: auto;
    }

    .p-jobsnav li:before {
        display: none;
    }

    .p-jobsnav li a {
        display: block;
        padding-left: 20px;
        font-size: 14px;
        line-height: 1.5em;
    }

    .p-jobsnav li a:before {
        margin-top: -5px;
        width: 12px;
        height: 12px;
        background-size: 24px 24px;
    }

    .p-jobsnav--civil li a:before {
        background-position: -12px 0;
    }

    .p-jobsnav--building li a:before {
        background-position: 0 0;
    }

    .p-jobsnav--administration li a:before {
        background-position: 0 -12px;
    }

    .p-jobsnav--faq li a:before {
        background-position: 0 0;
    }
}

.p-operation__article {
    margin-top: -85px;
    padding-top: 185px;
}

.p-operation__column {
    display: flex;
    justify-content: space-between;
}

.p-operation__col:first-child {
    width: calc(100% - 566px - 74px);
    order: 2;
}

.p-operation__col:last-child {
    padding-top: 46px;
    width: 566px;
}

.p-operation figure {
    margin-right: -117px;
}

.p-operation p {
    margin-top: 30px;
}

.p-operation__article:nth-child(2n):last-child {
    margin-bottom: -100px;
}

.p-operation__article:nth-child(2n) .p-operation__column {
    position: relative;
    padding-bottom: 100px;
    z-index: 1;
}

.p-operation__article:nth-child(2n) .p-operation__column:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    left: -50vw;
    right: -50vw;
}

.p-operation__article:nth-child(2n) .p-operation__col:first-child {
    order: 1;
}

.p-operation__article:nth-child(2n) .p-operation__col:last-child {
    padding-top: 100px;
    order: 2;
}

.p-operation__article:nth-child(2n) figure {
    margin: -40px 0 0 -117px;
}

.p-operation--civil .p-operation__column:before {
    background-color: #F4F9F2;
}

.p-operation--civil h2 span:before {
    background-color: #348808;
}

.p-operation--building .p-operation__column:before {
    background-color: #F2F6FB;
}

.p-operation--building h2 span:before {
    background-color: #0076DB;
}

.p-operation--administration .p-operation__column:before {
    background-color: #FFFCF7;
}

.p-operation--administration h2 span:before {
    background-color: #ED5223;
}

@media only screen and (max-width: 768px) {
    .p-operation__article {
        margin-top:-65px;
        padding-top: 115px;
    }

    .p-operation__column {
        display: block;
    }

    .p-operation__col:first-child,.p-operation__col:last-child {
        width: auto;
    }

    .p-operation__col:last-child {
        margin-top: 20px;
        padding-top: 0;
    }

    .p-operation figure {
        margin: 0 -24px 0 0;
    }

    .p-operation p {
        margin-top: 0;
    }

    .p-operation__article:nth-child(2n):last-child {
        margin-bottom: -80px;
    }

    .p-operation__article:nth-child(2n) .p-operation__column {
        padding-bottom: 30px;
    }

    .p-operation__article:nth-child(2n) .p-operation__column:before {
        top: 120px;
    }

    .p-operation__article:nth-child(2n) .p-operation__col:last-child {
        padding-top: 0;
    }

    .p-operation__article:nth-child(2n) figure {
        margin: 0 0 0 -24px;
    }
}

.p-guidenav {
    margin-top: 50px;
}

.p-guidenav__list {
    display: flex;
    justify-content: space-between;
}

.p-guidenav__item {
    width: calc(50% - 20px);
}

.p-guidenav__item a {
    display: block;
    position: relative;
    height: 154px;
    color: #005BAC;
    border-radius: 2px;
    background-color: #DFEDFF;
    box-shadow: 0 0 8px rgba(19,55,111,0.08);
    z-index: 1;
}

.p-guidenav__header {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 40px;
    right: 40px;
    padding-left: 70px;
}

.p-guidenav__header:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 60px;
    text-align: center;
    z-index: 1;
}

.p-guidenav__label {
    font-family: "Roboto Condensed",sans-serif;
    font-size: 16px;
    letter-spacing: 0.1em;
}

.p-guidenav__subject {
    margin-top: 5px;
    font-size: 26px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.p-guidenav__more {
    position: absolute;
    right: 0;
    bottom: 20px;
    padding-right: 40px;
    z-index: 1;
}

.p-guidenav__more:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -1px;
    width: 30px;
    height: 1px;
    background-color: currentcolor;
}

.p-guidenav__more span {
    display: block;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 14px;
    letter-spacing: 0.1em;
}

.p-guidenav__item--description .p-guidenav__header:before {
    content: "";
    display: inline-block;
    font-family: "icomoon"!important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    margin-top: -21px;
    font-size: 42px;
}

.p-guidenav__item--faq .p-guidenav__header:before {
    content: "";
    display: inline-block;
    font-family: "icomoon"!important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    margin-top: -30px;
    font-size: 60px;
}

@media only screen and (min-width: 769px) {
    .p-guidenav__item a {
        transition-property:color,background-color;
        transition-duration: 0.35s;
    }

    .p-guidenav__item a:hover {
        color: #fff;
        background-color: #005BAC;
    }

    .p-guidenav__item a:hover .p-guidenav__more:before {
        transform: scaleX(0);
    }

    .p-guidenav__item a:hover .p-guidenav__more span {
        transform: translateX(30px);
    }

    .p-guidenav__more:before {
        transform-origin: right;
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }

    .p-guidenav__more span {
        transition-property: transform;
        transition-duration: 0.35s;
        will-change: transform;
    }
}

@media only screen and (max-width: 768px) {
    .p-guidenav {
        margin-top:0;
    }

    .p-guidenav__list {
        display: block;
        margin-top: -16px;
        padding-top: 50px;
    }

    .p-guidenav__item {
        margin-top: 16px;
        width: auto;
    }

    .p-guidenav__item a {
        height: 100px;
    }

    .p-guidenav__header {
        left: 20px;
        right: 20px;
        padding-left: 40px;
    }

    .p-guidenav__header:before {
        width: 30px;
    }

    .p-guidenav__label {
        font-size: 12px;
    }

    .p-guidenav__subject {
        margin-top: 0px;
        font-size: 20px;
    }

    .p-guidenav__more {
        bottom: 10px;
        padding-right: 30px;
    }

    .p-guidenav__more:before {
        width: 20px;
    }

    .p-guidenav__item--description .p-guidenav__header:before {
        margin-top: -12px;
        font-size: 24px;
    }

    .p-guidenav__item--faq .p-guidenav__header:before {
        margin-top: -15px;
        font-size: 30px;
    }
}

.p-data {
    position: relative;
    margin-top: 100px;
    padding: 130px 0 160px;
    color: #fff;
    z-index: 1;
}

.p-data:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    left: -50vw;
    right: -50vw;
    background-color: #0049A4;
}

.p-data__title {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.p-data__title small {
    display: inline-block;
    font-size: 16px;
    vertical-align: middle;
}

.p-data__list {
    display: flex;
    flex-direction: column;
    position: relative;
    margin-top: 75px;
    z-index: 1;
    counter-reset: count;
}

.p-data__item {
    position: relative;
    margin-top: 20px;
    min-height: 0%;
    width: calc(50% - 25px);
    z-index: 1;
    counter-increment: count;
}

.p-data__item:before {
    display: block;
    content: "0" counter(count);
    position: absolute;
    top: -22px;
    left: -20px;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 41px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.025em;
    opacity: 0.1;
    z-index: -1;
}

.p-data__item:nth-child(2) {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}

.p-data__item:nth-child(5) {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
}

.p-data__item h4 {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: 0.2em;
}

.p-data__item figure {
    margin-top: 3px;
}

.p-data__item figure img {
    border-radius: 2px;
}

@media only screen and (max-width: 768px) {
    .p-data {
        margin-top:80px;
        padding: 70px 0 80px;
    }

    .p-data__title {
        font-size: 24px;
    }

    .p-data__title small {
        display: block;
        margin-top: 5px;
        font-size: 14px;
    }

    .p-data__list {
        display: block;
        margin-top: -40px;
        padding-top: 55px;
    }

    .p-data__item {
        margin-top: 40px;
        width: auto;
    }

    .p-data__item:before {
        top: -22px;
        left: -18px;
        font-size: 32px;
    }

    .p-data__item:nth-child(2),.p-data__item:nth-child(5) {
        position: relative;
    }

    .p-data__item h4 {
        font-size: 20px;
    }

    .p-data__item figure {
        margin-top: 4px;
    }
}

.p-business {
    position: relative;
    padding: 200px 0 80px;
    z-index: 1;
}

.p-business__header {
    display: flex;
}

.p-business__header h3 {
    width: 290px;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.p-business__header > div {
    margin-top: -7px;
    width: calc(100% - 290px);
}

.p-business__button {
    margin-top: 25px;
}

.p-business__button .c-button {
    margin: 0 auto;
}

.p-business ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 40px auto 0;
    max-width: 850px;
}

.p-business li {
    margin-left: 16px;
    margin-bottom: 16px;
    width: calc(33.3% - 16px);
    position: relative;
}

.p-business li:nth-of-type(n+4) {
    width: 24%;
}

.p-business li img {
    display: block;
    width: 100%;
    height: auto;
}

.p-business li .field {
    position: absolute;
    left: -4%;
    top: -4%;
}

@media only screen and (min-width: 769px) {
    .p-business li:first-child {
        transition-delay:0s;
    }

    .p-business li:nth-child(2) {
        transition-delay: 0.1s;
    }

    .p-business li:nth-child(3) {
        transition-delay: 0.2s;
    }

    .p-business li:nth-child(4) {
        transition-delay: 0.3s;
    }

    .p-business li:nth-child(5) {
        transition-delay: 0.4s;
    }

    .p-business li:nth-child(6) {
        transition-delay: 0.5s;
    }
}

@media only screen and (max-width: 768px) {
    .p-business {
        padding:80px 0;
    }

    .p-business__header {
        display: block;
    }

    .p-business__header h3 {
        width: auto;
        font-size: 24px;
    }

    .p-business__header p {
        margin-top: 14px;
        width: auto;
    }

    .p-business__header > div {
        width: auto;
    }

    .p-business__button {
        margin-top: 30px;
    }

    .p-business__button .c-button {
        margin: 0;
        width: 224px;
        height: 53px;
    }

    .p-business__button .c-button__label {
        font-size: 14px;
    }

    .p-business ul {
        margin: -15px 0 0 -10px;
        padding-top: 35px;
    }

    .p-business li {
        margin: 10px 0 0 10px;
        width: calc(33.3% - 10px);
    }
}

.p-history {
    position: relative;
    padding: 180px 0 80px;
    z-index: 1;
}

.p-history:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    left: -50vw;
    background-color: rgba(0,91,172,0.05);
}

.p-history:after {
    display: block;
    content: "";
    position: absolute;
    top: 200px;
    left: -50vw;
    right: 50%;
    bottom: 0;
    margin-right: -170px;
    background-position: right top;
    background-repeat: repeat-x;
    background-size: auto 100%;
    z-index: -1;
}

.p-history__button {
    margin-top: 40px;
}

.p-history h3 {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.p-history p {
    margin: 35px 120px 0 0;
}

.p-history .p-companynav__item {
    margin: 30px 40px 0 auto;
}
.p-history .p-history__button {
    display: flex;
}
.p-history .p-history__button .c-button + .c-button {
    margin-left: 40px;
}

.p-history .policy {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 35px 120px 0 0;
    line-height: 2.37;
}
.p-history .policy dt {
    width: 5rem;
    margin-top: 20px;
}
.p-history .policy dd {
    margin-top: 20px;
    width: calc(100% - 6rem);
}
.p-history .policy .large {
    font-family: YakuHanMPs,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;
    font-size: 1.2em;
}

@media only screen and (max-width: 768px) {
    .p-history {
        padding:80px 0;
    }

    .p-history:before {
        left: -24px;
        right: -24px;
    }

    .p-history:after {
        left: -24px;
        right: 0;
        margin-right: 0;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .p-history__button {
        margin-top: 32px;
    }

    .p-history__button .c-button {
        margin: 0;
        width: 224px;
        height: 53px;
    }

    .p-history__button .c-button__label {
        font-size: 14px;
    }

    .p-history h3 {
        font-size: 20px;
    }

    .p-history p {
        margin: 14px 0 0;
    }

    .p-history .p-companynav__item {
        margin-right: 0;
    }
    .p-history .p-history__button {
        flex-direction: column;
    }
    .p-history .p-history__button .c-button + .c-button {
        margin-left: 0;
        margin-top: 10px;
    }
    .p-history .policy {
        margin-right: 0;
        font-size: 14px;
    }

}

.p-sustainability {
    position: relative;
    padding: 180px 0 80px;
    z-index: 1;
}

.p-sustainability:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    left: -50vw;
    background-color: rgba(0,91,172,0.05);
}

.p-sustainability:after {
    display: block;
    content: "";
    position: absolute;
    top: 200px;
    left: -50vw;
    right: 50%;
    bottom: 0;
    margin-right: -170px;
    background-position: right top;
    background-repeat: repeat-x;
    background-size: auto 100%;
    z-index: -1;
}

.p-sustainability__button {
    margin-top: 25px;
}

.p-sustainability__column {
    display: flex;
    justify-content: space-between;
}

.p-sustainability__col:first-child {
    width: calc(100% - 566px - 58px);
}

.p-sustainability__col:last-child {
    width: 566px;
}

.p-sustainability h3 {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.p-sustainability p {
    margin-top: 30px;
}

.p-sustainability figure {
    margin: 0 0 0 -120px;
}

@media only screen and (max-width: 768px) {
    .p-sustainability {
        padding:70px 0 80px;
    }

    .p-sustainability:before {
        left: -24px;
        right: -24px;
    }

    .p-sustainability__button {
        margin-top: 30px;
    }

    .p-sustainability__button .c-button {
        margin: 0;
        width: 224px;
        height: 53px;
    }

    .p-sustainability__button .c-button__label {
        font-size: 14px;
    }

    .p-sustainability__column {
        display: block;
    }

    .p-sustainability__col:first-child,.p-sustainability__col:last-child {
        width: auto;
    }

    .p-sustainability h3 {
        margin-top: 40px;
        font-size: 20px;
    }

    .p-sustainability p {
        margin-top: 14px;
    }

    .p-sustainability figure {
        margin: 0;
    }
}

.p-walfare {
    position: relative;
    padding: 180px 0 80px;
    z-index: 1;
}

.p-walfare__button {
    margin-top: 25px;
}

.p-walfare__column {
    display: flex;
    justify-content: space-between;
}

.p-walfare__col:first-child {
    width: calc(100% - 566px - 58px);
    order: 2;
}

.p-walfare__col:last-child {
    width: 566px;
}

.p-walfare h3 {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.1em;
}

.p-walfare p {
    margin-top: 30px;
}

.p-walfare figure {
    margin-right: -117px;
}

@media only screen and (max-width: 768px) {
    .p-walfare {
        padding:70px 0 80px;
    }

    .p-walfare__button {
        margin-top: 30px;
    }

    .p-walfare__button .c-button {
        margin: 0;
        width: 224px;
        height: 53px;
    }

    .p-walfare__button .c-button__label {
        font-size: 14px;
    }

    .p-walfare__column {
        display: block;
    }

    .p-walfare__col:first-child,.p-walfare__col:last-child {
        width: auto;
    }

    .p-walfare h3 {
        margin-top: 40px;
        font-size: 20px;
    }

    .p-walfare p {
        margin-top: 14px;
    }

    .p-walfare figure {
        margin-right: 0;
    }
}

.p-benefit {
    margin-top: 140px;
    counter-reset: count;
}

.p-benefit__article {
    position: relative;
    margin-top: 120px;
    z-index: 1;
    counter-increment: count;
}

.p-benefit__article:first-child {
    margin-top: 0;
}

.p-benefit__column {
    display: flex;
    justify-content: space-between;
}

.p-benefit__col:first-child {
    width: calc(50% - 73px);
    order: 2;
}

.p-benefit__col:last-child {
    width: 50%;
}

.p-benefit__button {
    margin-top: 30px;
}

.p-benefit figure {
    margin-right: -117px;
}

.p-benefit h3 {
    position: relative;
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.1em;
    z-index: 1;
}

.p-benefit h3:before {
    display: block;
    content: "0" counter(count);
    position: absolute;
    top: -35px;
    left: -50px;
    color: #005BAC;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 65px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.025em;
    pointer-events: none;
    opacity: 0.5;
    z-index: -1;
}

.p-benefit p {
    margin-top: 35px;
}

.p-benefit__article:nth-child(2n) {
    padding: 90px 0;
}

.p-benefit__article:nth-child(2n):before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    left: -50vw;
    right: -50vw;
    background-color: #F2F6FB;
}

.p-benefit__article:nth-child(2n) .p-benefit__col:first-child {
    order: 1;
}

.p-benefit__article:nth-child(2n) .p-benefit__col:last-child {
    order: 2;
}

.p-benefit__article:nth-child(2n) h3 {
    margin-top: 25px;
}

.p-benefit__article:nth-child(2n) figure {
    margin-left: -117px;
    margin-right: 0;
}

@media only screen and (max-width: 768px) {
    .p-benefit {
        margin-top:54px;
    }

    .p-benefit__article {
        margin-top: 54px;
    }

    .p-benefit__column {
        display: block;
    }

    .p-benefit__col:first-child,.p-benefit__col:last-child {
        width: auto;
    }

    .p-benefit__button {
        margin-top: 32px;
    }

    .p-benefit__button .c-button {
        margin: 0;
        width: 224px;
        height: 53px;
    }

    .p-benefit__button .c-button__label {
        font-size: 14px;
    }

    .p-benefit figure {
        margin: 0 -24px 0 0;
    }

    .p-benefit h3 {
        margin-top: 50px;
        font-size: 18px;
        letter-spacing: 0.05em;
    }

    .p-benefit h3:before {
        top: -25px;
        left: -14px;
        font-size: 42px;
    }

    .p-benefit p {
        margin-top: 14px;
    }

    .p-benefit__article:nth-child(2n) {
        padding: 50px 0;
    }

    .p-benefit__article:nth-child(2n):before {
        left: -24px;
        right: -24px;
    }

    .p-benefit__article:nth-child(2n) h3 {
        margin-top: 50px;
    }

    .p-benefit__article:nth-child(2n) figure {
        margin: 0 0 0 -24px;
    }
}

.p-kpi {
    position: relative;
    margin-top: 120px;
    padding: 70px 0;
    z-index: 1;
}

.p-kpi:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    left: -50vw;
    background-color: #F2F6FB;
}

.p-kpi__column {
    display: flex;
}

.p-kpi__col:first-child {
    width: 486px;
}

.p-kpi__col:last-child {
    width: calc(100% - 486px);
}

.p-kpi h3 {
    padding-top: 58px;
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.3em;
}

.p-kpi h3 small {
    display: block;
    font-size: 26px;
}

.p-kpi h4 {
    position: relative;
    padding-left: 30px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    z-index: 1;
}

.p-kpi h4:before {
    display: block;
    content: "";
    position: absolute;
    top: 11px;
    left: 0;
    width: 20px;
    height: 1px;
    background-color: #005BAC;
    z-index: 1;
}

.p-kpi p {
    margin-top: 10px;
}

.p-kpi p em {
    display: inline-block;
    margin-top: -5px;
    font-size: 18px;
    font-weight: 700;
    font-style: normal;
    vertical-align: middle;
}

@media only screen and (max-width: 768px) {
    .p-kpi {
        margin-top:50px;
        padding: 70px 0 60px;
    }

    .p-kpi:before {
        left: -24px;
        right: -24px;
    }

    .p-kpi__column {
        display: block;
    }

    .p-kpi__col:first-child,.p-kpi__col:last-child {
        width: auto;
    }

    .p-kpi h3 {
        padding-top: 0;
        font-size: 20px;
    }

    .p-kpi h3 small {
        font-size: 16px;
    }

    .p-kpi h4 {
        margin-top: 40px;
    }

    .p-kpi p {
        margin-top: 15px;
    }
}

.p-certification {
    position: relative;
    padding-top: 120px;
    margin-top: 60px;
    z-index: 1;
}

.p-certification__list {
    display: flex;
    margin-top: 45px;
}

.p-certification__item {
    position: relative;
    margin: 0 32px;
    width: calc(33.33% - 64px);
    z-index: 1;
}

.p-certification__item:last-child:before {
    display: none;
}

.p-certification__item:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: -31px;
    bottom: 0;
    width: 1px;
    background-color: #E2E2E2;
    z-index: 1;
}

.p-certification figure {
    margin: auto;
    max-width: 260px;
}

.p-certification h3 {
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.1em;
}

.p-certification h4 {
    position: relative;
    margin-top: 25px;
    padding-left: 30px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.05em;
    z-index: 1;
}

.p-certification h4:before {
    display: block;
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 20px;
    height: 1px;
    background-color: #005BAC;
    z-index: 1;
}

.p-certification p {
    margin-top: 18px;
}

@media only screen and (min-width: 769px) {
    .p-certification__item:first-child {
        transition-delay:0s;
    }

    .p-certification__item:nth-child(2) {
        transition-delay: 0.1s;
    }

    .p-certification__item:nth-child(3) {
        transition-delay: 0.2s;
    }
}

@media only screen and (max-width: 768px) {
    .p-certification {
        padding-top:70px;
    }

    .p-certification h3 {
        font-size: 20px;
    }

    .p-certification__list {
        display: block;
        margin-top: 0;
    }

    .p-certification__item {
        margin: 0;
        width: auto;
    }

    .p-certification__item:before {
        display: none;
    }

    .p-certification h4 {
        margin-top: 0;
        font-size: 16px;
    }

    .p-certification p {
        margin-top: 10px;
    }
}

.p-recruitinfo__column {
    display: flex;
    justify-content: space-between;
}

.p-recruitinfo__col:first-child {
    width: 257px;
}

.p-recruitinfo__col:last-child {
    width: calc(100% - 257px);
}

.p-recruitinfo__jobtable {
    margin-top: 50px;
}

.p-recruitinfo__title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.1em;
    letter-spacing: 0.1em;
}

.p-recruitinfo__list {
    position: relative;
}

.p-recruitinfo__list:after,.p-recruitinfo__list:before {
    display: block;
    content: "";
    position: absolute;
    opacity: 0.35;
}

.p-recruitinfo__list:before {
    top: 18px;
    left: 30px;
    bottom: calc(90px + 35px);
    width: 10px;
    background-color: #005BAC;
}

.p-recruitinfo__list:after {
    left: 20px;
    bottom: 90px;
    width: 30px;
    height: 35px;
    background-image: url(/recruit/assets/img/description/icon_arrow.svg);
    background-repeat: no-repeat;
    background-size: 30px 35px;
}

.p-recruitinfo__list ol {
    counter-reset: count 0;
}

.p-recruitinfo__list li {
    margin-left: 70px;
    display: flex;
    align-items: center;
    padding: 20px 0;
    min-height: 71px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.1em;
    border-top: 2px solid #F2F6FB;
    counter-increment: count;
    line-height: 1.4;
}
.p-recruitinfo__list li small {
    display: block;
    font-size: .8em;
    font-weight: 400;
    margin-top: 5px;
}

.p-recruitinfo__list li:before {
    padding: 0 50px 0 30px;
    content: "0" counter(count);
    color: #005BAC;
    font-family: "Roboto Condensed",sans-serif;
    font-size: 32px;
    font-weight: 700;
    flex-shrink: 0;
}

.p-recruitinfo__list li:first-child {
    border-color: #fff;
}

.p-recruitinfo__list li:last-child {
    margin-top: 26px;
    margin-left: 0;
    justify-content: center;
    color: #ED4900;
    font-size: 24px;
    font-weight: 700;
    background-color: #FFF3E5;
    border: 5px solid #FFE1C7;
}

.p-recruitinfo__list li:last-child:before {
    display: none;
}

.p-recruitinfo__schedule {
    margin-top: 81px;
}

.p-recruitinfo__schedule .p-recruitinfo__title {
    margin-top: 15px;
}

@media only screen and (max-width: 768px) {
    .p-recruitinfo__column {
        display:block;
    }

    .p-recruitinfo__col:first-child {
        width: 100%;
    }

    .p-recruitinfo__col:last-child {
        margin-top: 25px;
        width: 100%;
    }

    .p-recruitinfo__jobtable {
        margin-top: 30px;
    }

    .p-recruitinfo__title {
        font-size: 20px;
    }

    .p-recruitinfo__list:before {
        left: 10px;
        bottom: calc(90px + 35px);
    }

    .p-recruitinfo__list:after {
        left: 0;
        bottom: 90px;
        width: 30px;
        height: 35px;
        background-image: url(/recruit/assets/img/description/icon_arrow.svg);
        background-repeat: no-repeat;
        background-size: 30px 35px;
    }

    .p-recruitinfo__list li {
        margin-left: 42px;
        padding: 20px 22px 20px 0;
        height: auto;
        font-size: 16px;
        line-height: 1.5em;
    }

    .p-recruitinfo__list li:before {
        padding: 0 18px 0 13px;
    }

    .p-recruitinfo__list li:last-child {
        margin-top: 25px;
        padding: 0;
        min-height: 70px;
        font-size: 20px;
    }

    .p-recruitinfo__schedule {
        margin-top: 80px;
    }

    .p-recruitinfo__schedule .p-recruitinfo__title {
        margin-top: 0;
    }
}

.p-faq {
    margin: 20px 0 0;
}

.p-faq__section {
    margin-top: -85px;
    padding-top: 149px;
}

.p-faq__title {
    display: flex;
    align-items: center;
    padding-left: 22px;
    height: 60px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.08em;
    background-color: #F2F6FB;
    border-left: 4px solid #0076DB;
}

.p-faq__list {
    margin-top: 10px;
    border-bottom: 2px solid #0076DB;
}

.p-faq__list dt {
    position: relative;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.4em;
    border-top: 1px dashed #E2E2E2;
}

.p-faq__list dt:first-child {
    border-top: none;
}

.p-faq__list dt:before {
    position: absolute;
    top: 22px;
    left: 22px;
    display: block;
    content: "Q";
    font-family: "Roboto Condensed",sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #005BAC;
}

.p-faq__list dt:after {
    position: absolute;
    top: 32px;
    right: 27px;
    display: inline-block;
    content: "";
    width: 11px;
    height: 11px;
    border-top: 3px solid #005BAC;
    border-left: 3px solid #005BAC;
}

.p-faq__list dt span {
    padding-top: 23px;
    padding-bottom: 23px;
    cursor: pointer;
}

.p-faq__list dd {
    position: relative;
    font-size: 16px;
    letter-spacing: 0.05em;
    text-align: justify;
}

.p-faq__list dd:before {
    position: absolute;
    top: 6px;
    left: 22px;
    display: block;
    content: "A";
    font-family: "Roboto Condensed",sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #E70012;
}

.p-faq__list dd a {
    text-decoration: underline;
}

.p-faq__list span {
    display: block;
    padding-left: 63px;
    padding-right: 97px;
}

.p-faq__list dt:after {
    transform: rotate(-135deg);
    transition-property: transform;
    transition-duration: 0.3s;
}

.p-faq__list dd {
    overflow: hidden;
    transition-property: padding;
    transition-duration: 0.35s;
}

.p-faq__list dd:before {
    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.2s;
}

.p-faq__list dd span {
    height: 0;
    line-height: 2.3em;
    opacity: 0;
    visibility: hidden;
    transition-property: opacity,visibility;
    transition-delay: 0s,0s;
    transition-duration: 0.35s,0.2s;
}

.p-faq .js-faq-active:after {
    transform: rotate(45deg);
    transition-property: transform;
    transition-duration: 0.3s;
}

.p-faq .js-faq-open {
    overflow: visible;
    opacity: 1;
    transition-property: padding;
    transition-duration: 0.35s;
}

.p-faq .js-faq-open:before {
    opacity: 1;
    transition-property: opacity;
    transition-delay: 0.3s;
    transition-duration: 0.35s;
}

.p-faq .js-faq-open span {
    height: auto;
    line-height: 2.3em;
    opacity: 1;
    visibility: visible;
    transition-property: opacity,visibility;
    transition-delay: 0.3s,0s;
    transition-duration: 0.35s,0.1s;
}

@media only screen and (min-width: 769px) {
    .p-faq__list dt {
        transition-property:color;
        transition-duration: 0.35s;
    }

    .p-faq__list dt:hover {
        color: #005BAC;
    }

    .p-faq__list .js-faq-open {
        padding-top: 4px;
        padding-bottom: 31px;
    }
}

@media only screen and (max-width: 768px) {
    .p-faq {
        margin-top:0;
    }

    .p-faq__section {
        margin-top: -65px;
        padding-top: 113px;
    }

    .p-faq__title {
        padding-left: 16px;
        height: 45px;
        font-size: 16px;
    }

    .p-faq__list {
        margin-top: 5px;
        border-bottom-width: 1px;
    }

    .p-faq__list dt {
        font-size: 16px;
        line-height: 1.6em;
    }

    .p-faq__list dt:before {
        top: 22px;
        left: 13px;
        font-size: 24px;
    }

    .p-faq__list dt:after {
        top: 32px;
        right: 10px;
        width: 10px;
        height: 10px;
    }

    .p-faq__list dt span {
        padding-top: 21px;
        padding-bottom: 21px;
        cursor: pointer;
    }

    .p-faq__list dd {
        font-size: 14px;
    }

    .p-faq__list dd:before {
        top: 4px;
        left: 13px;
        content: "A";
        font-size: 24px;
    }

    .p-faq__list span {
        display: block;
        padding-left: 40px;
        padding-right: 40px;
    }

    .p-faq__list .js-faq-open {
        padding-bottom: 20px;
    }
}