html { 
    font-family: 'Lato', sans-serif;
    color: #121921;
    /* scrollbar-width: none;
    -ms-overflow-style: none; */
    overflow-y: scroll;
}

/* html::-webkit-scrollbar {  
    display: none;
} */

body {
    color: #121921;
    font-family: 'Lato', sans-serif;
}

body.js-active,body.js-loading,.main-contents,main {
    overflow: hidden;
}

body.lower.js-loading-bg {
    background-color: #121921;
}

body.top {
    background-color: #121921;
    color: #fff;
}

body.lower {
    background-color: #fff;
}

body.top.js-loading-bg {
    background-color: #fff;
}

span {
    display: inline-block;
}

picture {
    display: block;
}

img {
    width: 100%;
    height: auto;
}

a:hover {
    color: unset !important;
}

a {
    opacity: 1;
    transition: opacity .5s;
    -webkit-transition: opacity .5s;
    -moz-transition: opacity .5s;
    -ms-transition: opacity .5s;
    -o-transition: opacity .5s;
    display: inline-block;
}

@media screen and (min-width: 769px) {
    a:hover {
        opacity: 0.4;
    }
}

/* utility */
.u-ja {
    font-family: 'Noto Sans JP', sans-serif;
}

.u-en {
    font-family: 'Lato', sans-serif;
}

/* text */
.u-txt {
    font-size: 1.067vw;
    font-weight: 300;
}

.u-txt-s {
    font-size: .933vw;
    font-weight: 300;
}

.c-h1 {
    font-size: 6vw;
    font-weight: 200;
    text-align: center;
    letter-spacing: .08em;
}

.c-h2 {
    font-weight: 200;
    font-size: 6vw;
    letter-spacing: .08em;
}

.c-h2-02 {
    font-size: 2.133vw;
    letter-spacing: .01em;
    font-weight: 500;
    line-height: 1.55;
    text-align: center;
}

.c-h3__en {
    font-style: italic;
    font-size: 2.533vw;
    line-height: 1.19;
    letter-spacing: .06em;
    font-weight: 200;
}

.c-h3__ja {
    font-weight: 300;
    font-size: 1.333vw;
    line-height: 1.51;
    letter-spacing: .06em;
}

@media screen and (max-width: 768px) {
    .u-txt {
        font-size: 1.067vw;
    }
    
    .u-txt-s {
        font-size: .933vw;
    }
    
    .c-h1 {
        font-size: 8.718vw;
    }

    .c-h2 {
        font-size: 13.846vw;
    }

    .c-h2-02 {
        font-size: 4.615vw;
    }
    
    .c-h3__en {
        font-size: 5.128vw;
    }
    
    .c-h3__ja {
        font-size: 3.846vw;
    }
}

/* layout */
.l-wrapper {
    padding: 0 6.667vw;
}

.l-wrapper02 {
    padding: 0 12.067vw;
}

@media screen and (max-width: 768px) {
    .l-wrapper {
        padding: 0 7.692vw;
    }

    .l-wrapper02 {
        padding: 0 7.692vw;
    }
}

/* common */
.pc-only {
    display: block;
}

.br-pc-only {
    display: inline-block;
}

.sp-only {
    display: none;
}

.br-sp-only {
    display: none;
}

@media screen and (max-width: 768px) {
    .pc-only {
        display: none;
    }

    .br-pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }

    .br-sp-only {
        display: inline-block;
    }
}

.js-scroll-standard {
    position: fixed;
    width: 100%;
    height: 50px;
    pointer-events: none;
    left: 0;
    bottom: 0;
    z-index: 99;
    background-color: #3bc1a4;
    opacity: 0;
}

/*===========================================================================*/
/*  component  */
/*===========================================================================*/
.c-scroll__wrapper01 {
    position: relative;
    width: .067vw;
}

.c-line-dot01 {
    position: relative;
}

.c-line01 {
    width: .067vw;
    overflow: hidden;
    position: relative;
}

.c-line01::before {
    background: rgb(18,25,33);
    background: linear-gradient(180deg, rgba(18,25,33,1) 0%, rgba(255,255,255,1) 50%, rgba(18,25,33,1) 100%);
    content: '';
    height: 200%;
    left: 0;
    position: absolute;
    top: -200%;
    width: 100%;
    animation: line01 4s infinite;
    -webkit-animation: line01 4s infinite;
    opacity: 0;
}

.c-dot01 {
    background-color: #fff;
    content: '';
    height: .4vw;
    left: -.17vw;
    position: absolute;
    top: -.4vw;
    width: .4vw;
    border-radius: 100vh;
    animation: dot01 4s infinite;
    -webkit-animation: dot01 4s infinite;
    opacity: 0;
}

@keyframes line01 {
    0% {
        opacity: 1;
    }
    100% {
        top: 100%;
        opacity: 1;
    }
}

@keyframes dot01 {
    0% {
        opacity: 0;
    }
    17% {
        opacity: 0;
        top: -.4vw;
    }
    27% {
        opacity: 1;
    }
    40% {
        opacity: 1;
    }
    50% {
        opacity: 0;
        top: calc(100% - .4vw);
    }
    100% {
        opacity: 0;
        top: -.4vw;
    }
}

@media screen and (max-width: 768px) {
    .c-scroll__wrapper01 {
        width: .256vw;
    }
    
    .c-line01 {
        width: .256vw;
    }
    
    .c-dot01 {
        height: 1.026vw;
        left: -.385vw;
        top: -.385vw;
        width: 1.026vw;
        border-radius: 100vh;
    }
}

.c-btn01 {
    display: inline-flex;
    align-items: center;
}

.c-btn01__txt {
    position: relative;
    font-size: .933vw;
    line-height: 1.51;
    letter-spacing: .06em;
    font-weight: 300;
}

.c-btn01__txt::before {
    background-color: #121921;
    content: '';
    height: .067vw;
    left: 0;
    position: absolute;
    bottom: .198vw;
    width: 100%;
}
.top .c-btn01__txt::before {
    background-color: #fff;
}

.c-btn01__wrapper--line {
    position: relative;
    width: 1.733vw;
    height: .067vw;
    margin-left: .933vw;
}

.c-btn01__wrapper--line::before {
    background-color: #121921;
    content: '';
    height: .4vw;
    right: -.2vw;
    position: absolute;
    top: -.167vw;
    width: .4vw;
    border-radius: 100vh;
    z-index: 2;
}
.top .c-btn01__wrapper--line::before {
    background-color: #fff;
}

.c-btn01__wrapper--line::after {
    background-color: #121921;
    content: '';
    height: 1.667vw;
    right: -.833vw;
    position: absolute;
    top: -.8vw;
    width: 1.667vw;
    border-radius: 100vh;
    opacity: .1;
    transition: transform .8s;
    -webkit-transition: transform .8s;
    -moz-transition: transform .8s;
    -ms-transition: transform .8s;
    -o-transition: transform .8s;
    z-index: 2;
}
.top .c-btn01__wrapper--line::after {
    background-color: #fff;
}

.c-btn01__line {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: block;
    z-index: 1;
}

.c-btn01__line::before {
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(18,25,33,1) 0%, rgba(255,255,255,1) 50%, rgba(18,25,33,1) 100%);
    content: '';
    height: 100%;
    left: -100%;
    position: absolute;
    top: 0;
    width: 200%;
    transition: left .8s;
    -webkit-transition: left .8s;
    -moz-transition: left .8s;
    -ms-transition: left .8s;
    -o-transition: left .8s;
    z-index: 1;
}
.top .c-btn01__line::before {
    background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(18,25,33,1) 50%, rgba(255,255,255,1) 100%);
}

@media screen and (min-width: 769px) {
    a.c-btn01:hover,div.c-btn01:hover {
        opacity: 1;
    }

    a.c-btn01:hover .c-btn01__line::before,div.c-btn01:hover .c-btn01__line::before {
        left: 0;
    }

    a.c-btn01:hover .c-btn01__wrapper--line::after,div.c-btn01:hover .c-btn01__wrapper--line::after {
        transform: scale(1.9, 1.9);
        -webkit-transform: scale(1.9, 1.9);
        -moz-transform: scale(1.9, 1.9);
        -ms-transform: scale(1.9, 1.9);
        -o-transform: scale(1.9, 1.9);
    }
}

@media screen and (max-width: 768px) {
    .c-btn01__txt {
        font-size: 3.077vw;
    }
    
    .c-btn01__txt::before {
        background-color: #fff;
        height: .128vw;
        bottom: .4vw;
    }
    
    .c-btn01__wrapper--line {
        width: 5.385vw;
        height: .256vw;
        margin-left: 2.564vw;
    }
    
    .c-btn01__wrapper--line::before {
        height: 1.026vw;
        right: -.513vw;
        top: -.385vw;
        width: 1.026vw;
    }
    
    .c-btn01__wrapper--line::after {
        height: 5.641vw;
        right: -2.8205vw;
        top: -2.692vw;
        width: 5.641vw;
    }
}

.c-recruitment__line-top,
.c-recruitment__line-bottom {
    width: 100%;
    height: .067vw;
    position: relative;
    overflow: hidden;
    display: block;
    z-index: 5;
}

.c-recruitment__line-top {
    margin-bottom: -.067vw;
}

.c-recruitment__line-bottom {
    margin-top: -.067vw;
}

.c-recruitment__line-top::before,
.c-recruitment__line-bottom::before {
    width: 200%;
    height: 100%;
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(18,25,33,1) 0%, rgba(255,255,255,1) 50%, rgba(18,25,33,1) 100%);
    content: '';
    position: absolute;
    top: 0;
}

.c-recruitment__line-top::before {
    left: -100%;
    transition: left 1.6s;
    -webkit-transition: left 1.6s;
    -moz-transition: left 1.6s;
    -ms-transition: left 1.6s;
    -o-transition: left 1.6s;
}

.c-recruitment__line-bottom::before {
    right: -100%;
    transition: right 1.6s;
    -webkit-transition: right 1.6s;
    -moz-transition: right 1.6s;
    -ms-transition: right 1.6s;
    -o-transition: right 1.6s;
}

.c-recruitment__inner {
    padding: 10.8vw 0 7.867vw;
    position: relative;
    z-index: 1;
    display: block;
    border-top: #d8d8d8 solid .067vw;
    border-bottom: #d8d8d8 solid .067vw;
}
.top .c-recruitment__inner {
    border-top: none;
    border-bottom: none;
}
#service .c-recruitment__inner {
    padding: 11.467vw 0 9.6vw;
}

.c-recruitment__inner::before {
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    opacity: 0;
    transition: opacity 1.6s;
    -webkit-transition: opacity 1.6s;
    -moz-transition: opacity 1.6s;
    -ms-transition: opacity 1.6s;
    -o-transition: opacity 1.6s;
    z-index: 0;
}

.c-recruitment__inner::before {
    background: url('../img/top/recruitment-bg.jpg') no-repeat center center/cover;
}
#service .c-recruitment__inner::before {
    background: url('../img/service/contact-bg.jpg') no-repeat center center/cover;
}

@media screen and (min-width: 789px) {
    a.c-recruitment__inner:hover {
        opacity: 1;
    }

    .c-recruitment__inner:hover:before {
        opacity: 1;
    }

    .c-recruitment__inner:hover .c-recruitment__head,
    .c-recruitment__inner:hover .c-recruitment__txt,
    .c-recruitment__inner:hover .c-btn01__txt {
        color: #fff;
    }

    .c-recruitment__inner:hover .c-btn01__txt::before {
        background-color: #fff;
    }
    .c-recruitment__inner:hover .c-btn01__wrapper--line::before {
        background-color: #fff;
    }
    .c-recruitment__inner:hover .c-btn01__wrapper--line::after {
        background-color: #fff;
    }
    .c-recruitment__inner:hover .c-btn01__line::before {
        background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(18,25,33,1) 50%, rgba(255,255,255,1) 100%);
    }

    .c-recruitment:hover .c-recruitment__line-top::before {
        left: 0;
    }

    .c-recruitment:hover .c-recruitment__line-bottom::before {
        right: 0;
    }
}

.c-recruitment__head {
    font-size: 5vw;
    letter-spacing: .08em;
    text-align: center;
    z-index: 5;
    position: relative;
    font-weight: 200;
}

.c-recruitment__txt {
    margin-top: 4vw;
    font-size: .933vw;
    line-height: 2.19;
    font-weight: 300;
    letter-spacing: .01em;
    position: relative;
    z-index: 5;
    text-align: center;
}
#service .c-recruitment__txt {
    margin-top: 3vw;
}

.c-recruitment__wrapper--btn {
    margin-top: 3.333vw;
    position: relative;
    z-index: 5;
    text-align: center;
}

#service .c-recruitment__wrapper--btn {
    margin-top: 3.467vw;
}

@media screen and (max-width: 768px) {
    .c-recruitment__line-top,
    .c-recruitment__line-bottom {
        width: 100%;
        height: .256vw;
    }
    
    .c-recruitment__line-top {
        margin-bottom: -.256vw;
    }
    
    .c-recruitment__line-bottom {
        margin-top: -.256vw;
    }
    
    .c-recruitment__line-top::before,
    .c-recruitment__line-bottom::before {
        width: 200%;
        height: 100%;
        background: rgb(255,255,255);
        background: linear-gradient(90deg, rgba(18,25,33,1) 0%, rgba(255,255,255,1) 50%, rgba(18,25,33,1) 100%);
        content: '';
        position: absolute;
        top: 0;
    }

    .js-sec-recruitment .c-recruitment__line-top::before {
        left: 0;
    }

    .js-sec-recruitment .c-recruitment__head,
    .js-sec-recruitment .c-recruitment__txt,
    .js-sec-recruitment .c-btn01__txt {
        color: #fff;
    }

    .js-sec-recruitment .c-btn01__txt::before {
        background-color: #fff;
    }
    .js-sec-recruitment .c-btn01__wrapper--line::before {
        background-color: #fff;
    }
    .js-sec-recruitment .c-btn01__wrapper--line::after {
        background-color: #fff;
    }
    .js-sec-recruitment .c-btn01__line::before {
        background: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(18,25,33,1) 50%, rgba(255,255,255,1) 100%);
    }

    .js-sec-recruitment .c-recruitment__line-bottom::before {
        right: 0;
    }
    
    .c-recruitment__inner {
        padding: 17.949vw 0;
    }
    #service .c-recruitment__inner {
        padding: 17.949vw 0;
    }
    
    .c-recruitment__inner::before {
        background: url('../img/top/recruitment-bg-sp.jpg') no-repeat center center/cover;
    }
    #service .c-recruitment__inner::before {
        background: url('../img/service/contact-bg-sp.jpg') no-repeat center center/cover;
    }

    .js-sec-recruitment .c-recruitment__inner::before {
        opacity: 1;
    }
    
    .c-recruitment__head {
        font-size: 9.231vw;
    }
    
    .c-recruitment__txt {
        font-size: 2.564vw;
        margin-top: 5.128vw;
    }
    #service .c-recruitment__txt {
        margin-top: 5.128vw;
    }
    
    .c-recruitment__wrapper--btn {
        margin-top: 5.128vw;
    }
    #service .c-recruitment__wrapper--btn {
        margin-top: 5.641vw;
    }
}

.no-open-position {
    padding: 16.667vw 0;
    background-color: #fafafa;
}

.no-open-position__txt {
    text-align: center;
    line-height: 1.5;
    letter-spacing: .01em;
    color: #808080;
    font-size: 1.2vw;
}

@media screen and (max-width: 768px) {
    .no-open-position {
        padding: 15.385vw 0;
    }
    
    .no-open-position__txt {
        font-size: 3.59vw;
    }
}

.c-lower-mv__wrapper {
    padding-top: 16.667vw;
}

.c-lower-mv {
    margin-top: 6.667vw;
}

@media screen and (max-width: 768px) {
    .c-lower-mv__wrapper {
        padding-top: 32.821vw;
    }
    
    .c-lower-mv {
        margin-top: 15.385vw;
    }
}

.c-membr__list {
    display: flex;
    flex-wrap: wrap;
    padding: 0 4.333vw;
}

.c-membr__list li {
    width: 20.2vw;
    margin: 5.667vw 1vw 0 1vw;
}

.c-membr__list--img {
    width: 20.2vw;
    height: 24.933vw;
}

.c-membr__list--img img {
    height: 100%;
    object-fit: cover;
}

.c-membr__list--name {
    font-weight: 200;
    font-size: 1.867vw;
    line-height: 1;
    margin-top: 1.2vw;
    padding-bottom: .6vw;
}

.c-membr__list--position {
    font-size: .8vw;
    color: #b1b1b1;
    line-height: 1;
    letter-spacing: .12em;
    margin-top: .467vw;
    padding-bottom: .3vw;
}

@media screen and (max-width: 768px) {
    .c-membr__list {
        padding: 0 5.128vw;
    }

    .c-membr__list.sp04 li:nth-of-type(n + 5) {
        display: none;
    }
    
    .c-membr__list li {
        width: 39.743vw;
        margin: 7.692vw 2.564vw 0 2.564vw;
    }

    .c-membr__list--img {
        width: 39.743vw;
        height: 48.974vw;
    }
    
    .c-membr__list--name {
        font-size: 6.154vw;
        margin-top: 3.846vw;
        padding-bottom: 1.2vw;
    }
    
    .c-membr__list--position {
        font-size: 2.564vw;
        margin-top: 1.877vw;
        padding-bottom: .6vw;
    }
}

/*===========================================================================*/
/*  common animation  */
/*===========================================================================*/
.an-scroll-in__wrapper,
.an-scroll-in__wrapper02,
.an-scroll-in__wrapper03 {
    overflow: hidden;
}

.an-scroll-in {
    opacity: 0;
}

.an-scroll-in.scroll-active {
    animation: scroll-in .5s ease-out;
    -webkit-animation: scroll-in .5s ease-out;
    opacity: 1;
}

.an-scroll-in02 {
    position: relative;
    transform: translate(0px, 105%);
    transition: transform .5s;
    -webkit-transition: transform .5s;
    -moz-transition: transform .5s;
    -ms-transition: transform .5s;
    -o-transition: transform .5s;
    -webkit-transform: translate(0px, 105%);
    -moz-transform: translate(0px, 105%);
    -ms-transform: translate(0px, 105%);
    -o-transform: translate(0px, 105%);
}

.an-scroll-in02.scroll-active {
    transform: translate(0px, 0px);
    -webkit-transform: translate(0px, 0px);
    -moz-transform: translate(0px, 0px);
    -ms-transform: translate(0px, 0px);
    -o-transform: translate(0px, 0px);
}

.an-scroll-in03 {
    position: relative;
    transform: translate(0px, 105%);
    transition: transform .5s;
    -webkit-transition: transform .5s;
    -moz-transition: transform .5s;
    -ms-transition: transform .5s;
    -o-transition: transform .5s;
    -webkit-transform: translate(0px, 105%);
    -moz-transform: translate(0px, 105%);
    -ms-transform: translate(0px, 105%);
    -o-transform: translate(0px, 105%);
}

.scroll-parent-active .an-scroll-in03 {
    transform: translate(0px, 0px);
    -webkit-transform: translate(0px, 0px);
    -moz-transform: translate(0px, 0px);
    -ms-transform: translate(0px, 0px);
    -o-transform: translate(0px, 0px);
}

@keyframes scroll-in {
    0% {
        transform: translate(0px, 105%) rotate(10deg);
        -webkit-transform: translate(0px, 105%) rotate(10deg);
        -moz-transform: translate(0px, 105%) rotate(10deg);
        -ms-transform: translate(0px, 105%) rotate(10deg);
        -o-transform: translate(0px, 105%) rotate(10deg);
    }
    100% {
        transform: translate(0px, 0px) rotate(0) cubic-bezier(0.33, 1, 0.68, 1);
        -webkit-transform: translate(0px, 0px) rotate(0) cubic-bezier(0.33, 1, 0.68, 1);
        -moz-transform: translate(0px, 0px) rotate(0) cubic-bezier(0.33, 1, 0.68, 1);
        -ms-transform: translate(0px, 0px) rotate(0) cubic-bezier(0.33, 1, 0.68, 1);
        -o-transform: translate(0px, 0px) rotate(0) cubic-bezier(0.33, 1, 0.68, 1);
    }
}

.an-scroll-fadeIn {
    opacity: 0;
}

.an-scroll-fadeIn.scroll-active {
    opacity: 1;
    animation: fade-in 3s ease-out;
    -webkit-animation: fade-in 3s ease-out;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

.an-scroll-fade {
    opacity: 0;
    transition: opacity .8s;
    -webkit-transition: opacity .8s;
    -moz-transition: opacity .8s;
    -ms-transition: opacity .8s;
    -o-transition: opacity .8s;
}

.an-scroll-fade.scroll-active {
    opacity: 1;
}

/*===========================================================================*/
/*  loading  */
/*===========================================================================*/
#loading {
    position: fixed;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    justify-content: center;
    align-items: center;
    background-color: #000;
    display: flex;
    transition: opacity .4s;
    -webkit-transition: opacity .4s;
    -moz-transition: opacity .4s;
    -ms-transition: opacity .4s;
    -o-transition: opacity .4s;
    opacity: 0;
    pointer-events: none;
}

#loading.js-loading {
    opacity: 1;
}

.p-loading__logo {
    width: 50px;
}

.an-loading-fade {
    opacity: 1;
    transition: opacity 1.2s;
    -webkit-transition: opacity 1.2s;
    -moz-transition: opacity 1.2s;
    -ms-transition: opacity 1.2s;
    -o-transition: opacity 1.2s;
}

.an-loading-fade.js-loading {
    opacity: 0;
}

.an-loading-fade01 {
    opacity: 1;
}

.an-loading-fade01.js-loading {
    opacity: 0;
}

.an-loading-fade02 {
    opacity: 1;
    transition: opacity 1.2s;
    -webkit-transition: opacity 1.2s;
    -moz-transition: opacity 1.2s;
    -ms-transition: opacity 1.2s;
    -o-transition: opacity 1.2s;
}

.an-loading-fade02.js-loading {
    opacity: 0;
}

.an-loading-head {
    z-index: 50;
    position: relative;
}

.p-loading__bg {
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    top: 0;
    left: -100%;
    z-index: 10;
    pointer-events: none;
}

.p-loading__bg.js-loading {
    animation: loading-bg 2.5s;
    -webkit-animation: loading-bg 2.5s;
}

.p-loading__bg.--02.js-loading {
    animation: loading-bg02 2.5s;
    -webkit-animation: loading-bg02 2.5s;
}

.top .p-loading__bg {
    background-color: #121921;
}

@keyframes loading-bg {
    0% {
        left: -100%;
    }
    40% {
        left: 0;
    }
    60% {
        left: 0;
    }
    100% {
        left: -100%
    }
}

@keyframes loading-bg02 {
    0% {
        left: -100%;
    }
    40% {
        left: 0;
        opacity: 1;
    }
    60% {
        left: 0;
        opacity: 0;
    }
    100% {
        left: 100%;
        opacity: 0;
    }
}

/*===========================================================================*/
/*  header  */
/*===========================================================================*/
#header {
    padding: 1.8% 3.333%;
    position: fixed;
    width: 100%;
    z-index: 99;
    transition: all .5s;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
}

#header.scroll-active {
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(6px);
}

.top #header.scroll-active {
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

@-moz-document url-prefix() {
    #header.scroll-active {
        backdrop-filter: blur(15px);
        -webkit-backdrop-filter: blur(6px);
        background-color: #fff;
    }
    
    .top #header.scroll-active {
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
        background-color: #121921;
    }
}

.p-header__inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.p-header__logo {
    width: 7.333%;
}

.p-header__nav--list {
    display: flex;
    align-items: center;
}

.p-header__nav--list li {
    padding-left: 3.333vw;
    letter-spacing: .15em;
    font-size: .933vw;
}

.p-header__nav--list li:last-child {
    padding-left: 2.667vw;
}

.p-header__nav--btn {
    border: #121921 solid 1px;
    padding: 1.067vw 3.2vw 1vw 4.133vw;
    border-radius: 100vh;
    text-align: center;
    position: relative;
    transition: background-color .5s;
    -webkit-transition: background-color .5s;
    -moz-transition: background-color .5s;
    -ms-transition: background-color .5s;
    -o-transition: background-color .5s;
}
.top .p-header__nav--btn {
    border: #fff solid 1px;
}

.p-header__nav--btn::before {
    background-color: #121921;
    content: '';
    height: .333vw;
    left: 3.2vw;
    position: absolute;
    top: 1.59vw;
    width: .333vw;
    border-radius: 100vh;
}
.top .p-header__nav--btn::before {
    background-color: #fff;
}

@media screen and (min-width: 769px) {
    a:hover .p-header__nav--btn {
        background-color: #818588;
    }

    .p-header__nav--list li:last-child a:hover {
        opacity: 1;
    }
}

@media screen and (max-width: 768px) {
    #header {
        padding: 3.846%;
    }
    
    .p-header__logo {
        width: 20vw;
    }

    .p-header__nav {
        position: fixed;
        left: 100%;
        top: 0;
        background-color: #121921;
        width: 100%;
        height: 100vh;
        transition: left .5s;
        -webkit-transition: left .5s;
        -moz-transition: left .5s;
        -ms-transition: left .5s;
        -o-transition: left .5s;
        padding: 25.897vw 0 0 10.256vw;
    }

    .p-header__nav.js-active {
        left: 45.641vw;
        animation: hamburger-list .8s ease-out;
        -webkit-animation: hamburger-list .8s ease-out;
    }

    @keyframes hamburger-list {
        0% {
            left: 100%;
        }
        50% {
            left: 100%;
        }
        100% {
            left: 45.641vw;
        }
    }
    
    .p-header__nav--list {
        display: block;
    }
    
    .p-header__nav--list li {
        font-size: 3.077vw;
        margin-top: 7.692vw;
        padding-left: 0;
        color: #fff;
    }
    
    .p-header__nav--list li:last-child {
        padding-left: 0;
        margin-top: 10.256vw;
    }
    
    .p-header__nav--btn {
        padding: 3.59vw 6.667vw 3.333vw 10vw;
        border: #fff solid 1px;
    }
    
    .p-header__nav--btn::before {
        background-color: #fff;
        height: 1.282vw;
        left: 6.667vw;
        top: 5.04vw;
        width: 1.282vw;
    }

    .p-header__hamburger {
        width: 4.872vw;
    }

    .p-header__hamburger.js-active {
        transform: scale(0, 0);
        -webkit-transform: scale(0, 0);
        -moz-transform: scale(0, 0);
        -ms-transform: scale(0, 0);
        -o-transform: scale(0, 0);
        animation: hamburger-btn .4s ease-out;
        -webkit-animation: hamburger-btn .4s ease-out;
    }

    @keyframes hamburger-btn {
        0% {
            transform: scale(1, 1);
            -webkit-transform: scale(1, 1);
            -moz-transform: scale(1, 1);
            -ms-transform: scale(1, 1);
            -o-transform: scale(1, 1);
        }
        100% {
            transform: scale(0, 0);
            -webkit-transform: scale(0, 0);
            -moz-transform: scale(0, 0);
            -ms-transform: scale(0, 0);
            -o-transform: scale(0, 0);
        }
    }

    .p-header__hamburger.js-close {
        animation: hamburger-btn-close .8s ease-out;
        -webkit-animation: hamburger-btn-close .8s ease-out;
    }

    @keyframes hamburger-btn-close {
        0% {
            transform: scale(0, 0);
            -webkit-transform: scale(0, 0);
            -moz-transform: scale(0, 0);
            -ms-transform: scale(0, 0);
            -o-transform: scale(0, 0);
        }
        50% {
            transform: scale(0, 0);
            -webkit-transform: scale(0, 0);
            -moz-transform: scale(0, 0);
            -ms-transform: scale(0, 0);
            -o-transform: scale(0, 0);
        }
        100% {
            transform: scale(1, 1);
            -webkit-transform: scale(1, 1);
            -moz-transform: scale(1, 1);
            -ms-transform: scale(1, 1);
            -o-transform: scale(1, 1);
        }
    }

    .p-hamburger__close {
        position: absolute;
        left: 46.667vw;
        top: 4.872vw;
        z-index: 99;
    }

    .p-header__hamburger--close {
        width: 3.59vw;
    }
}

/*===========================================================================*/
/*  footer  */
/*===========================================================================*/
#footer {
    padding: 8vw 0 16.667vw;
}

#footer.having-border {
    border-top: #d8d8d8 solid 1px;
}

.p-footer__logo--station {
    width: 3.267vw;
    margin: 0 auto;
}

.p-footer__nav--list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    font-size: .933vw;
    letter-spacing: .15em;
    margin-top: 4vw;
    font-weight: 300;
}

.p-footer__nav--list li {
    margin: 0 1.667vw;
}


.p-footer__wrapper--logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 3vw;
}

.p-footer__logo--wantedly {
    width: 7.667vw;
    display: block;
}

.p-footer__logo--linledIn {
    width: 6.333vw;
    margin-left: 3.333vw;
    display: block;
    padding-top: .333vw;
}

.p-footer__logo--facebook {
    width: 6.333vw;
    margin-left: 3.2vw;
    display: block;
}

.p-footer__kddi {
    margin-top: 3vw;
}

.p-footer__kddi--txt {
    font-weight: 200;
    font-size: .667vw;
    line-height: 2.4;
    text-align: center;
}

.p-footer__kddi--logo {
    display: block;
    margin: .333vw auto 0;
    width: 5vw;
}

.p-footer__copyRights {
    font-size: .667vw;
    margin-top: 4.133vw;
    text-align: center;
    font-weight: 300;
}

@media screen and (max-width: 768px) {
    #footer {
        padding: 17.949vw 0 7.692vw;
    }
    
    .p-footer__logo--station {
        width: 10.513vw;
    }
    
    .p-footer__nav--list {
        flex-wrap: wrap;
        font-size: 3.077vw;
        padding-top: 7.179vw;
        margin-top: 0;
    }
    
    .p-footer__nav--list li {
        margin: 5.641vw 3.846vw 0;
    }

    .p-footer__nav--list li:nth-of-type(4) {
        margin-left: 0;
    }
    .p-footer__nav--list li:nth-of-type(6) {
        margin-right: 0;
    }
    
    .p-footer__wrapper--logo {
        margin-top: 12.821vw;
    }
    
    .p-footer__logo--wantedly {
        width: 25.897vw;
    }
    
    .p-footer__logo--linledIn {
        width: 21.538vw;
        margin-left: 7.436vw;
    }

    .p-footer__logo--facebook {
        width: 25.128vw;
        margin-left: 7.436vw;
        display: block;
    }

    .p-footer__kddi {
        margin-top: 13.333vw;
    }
    
    .p-footer__kddi--txt {
        font-size: 2.564vw;
    }
    
    .p-footer__kddi--logo {
        margin: 1.282vw auto 0;
        width: 14.103vw;
    }
    
    .p-footer__copyRights {
        font-size: .667vw;
        margin-top: 4.133vw;
        text-align: center;
        font-weight: 300;
    }
    
    .p-footer__copyRights {
        font-size: 2.564vw;
        margin-top: 11.282vw;
    }
}

/* page top */
/*===========================================================================*/
/*  top mv  */
/*===========================================================================*/
#top-mv {
    position: relative;
    padding-top: 16.133vw;
}

.p-topMv__bg {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 0;
}

.p-topMv__inner {
    position: relative;
    z-index: 2;
    padding: 0 0 6.733vw 6.867vw;
}

.p-topMv__head {
    font-weight: 300;
    font-size: 5.733vw;
    line-height: 1.2;
    letter-spacing: .02em;
}

.p-topMv__head span {
    display: block;
}

.p-topMv__scroll {
    margin-top: 12.733vw;
    margin-left: .4vw;
}

.p-topMv__scroll--line {
    height: 6.4vw;
}

.p-topMv__scroll--txt {
    position: absolute;
    transform: translate(0px, 0px) rotate(90deg);
    -webkit-transform: translate(0px, 0px) rotate(90deg);
    -moz-transform: translate(0px, 0px) rotate(90deg);
    -ms-transform: translate(0px, 0px) rotate(90deg);
    -o-transform: translate(0px, 0px) rotate(90deg);
    top: 10vw;
    left: -2.26vw;
    font-size: .933vw;
    letter-spacing: .15em;
}

.p-topMv__img {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    width: 82.267vw;
}

@media screen and (max-width: 768px) {
    #top-mv {
        padding-top: 31.538vw;
    }
    
    .p-topMv__inner {
        /* padding: 0 0 36.667vw 7.692vw; */
        padding: 0 0 36.667vw 6.692vw;
    }
    
    .p-topMv__head {
        font-size: 7.692vw;
    }
    
    .p-topMv__scroll {
        margin-top: 12.733vw;
        margin-left: .4vw;
    }
    
    .p-topMv__img {
        position: absolute;
        z-index: 1;
        right: 0;
        bottom: 0;
        width: 86.41vw;
    }
}

/*===========================================================================*/
/*  top sv  */
/*===========================================================================*/
#top-sv {
    padding: 13.4vw 0 7.933vw;
    position: relative;
    margin: 17.667vw auto 0;
    width: 93.333vw;
    background: url('../img/top/bg-dot-line.png') no-repeat center center/contain;
}

.p-topSv__scroll {
    position: absolute;
    top: -3.8vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.p-topSv__scroll--line {
    height: 11.933vw;
}

.p-topSv__head {
    font-size: 2.467vw;
    line-height: 1.76;
    letter-spacing: .01em;
    text-align: center;
    font-weight: 300;
}

.p-topSv__txt {
    margin-top: 2.733vw;
    font-size: 1.067vw;
    line-height: 2.95;
    letter-spacing: .01em;
    text-align: center;
    font-weight: 300;
}

@media screen and (max-width: 768px) {
    #top-sv {
        padding: 23.333vw 0 19.744vw;
        position: relative;
        margin: 18.974vw auto 0;
        width: 100%;
        background: none;
    }

    #top-sv::before {
        background: url('../img/top/bg-dot-line-sp.png') no-repeat center center/contain;
        content: '';
        height: 112.308vw;
        left: -34.103vw;
        position: absolute;
        top: 0;
        width: 163.846vw;
        z-index: 0;
    }
    
    .p-topSv__scroll {
        top: -13.846vw;
    }
    
    .p-topSv__scroll--line {
        height: 29.487vw;
    }
    
    .p-topSv__head {
        font-size: 5.128vw;
    }
    
    .p-topSv__txt {
        margin-top: 3.846vw;
        font-size: 2.564vw;
    }
}

/*===========================================================================*/
/*  top content  */
/*===========================================================================*/
#top-about,#top-service,#top-member {
    position: relative;
}

#top-about {
    padding-top: 31.533vw;
}
#top-service {
    padding-top: 32.533vw;
}
#top-member {
    padding-top: 27.533vw;
}

.p-topContent__circle {
    position: absolute;
    z-index: 0;
    width: 32vw;
}

#top-about .p-topContent__circle {
    top: 18.533vw;
    left: 40.4vw;
}
#top-service .p-topContent__circle {
    top: 19.667vw;
    right: 74.267vw;
}
#top-member .p-topContent__circle {
    top: 14.733vw;
    left: 36.2vw;
}

.p-topAbout__img01,.p-topAbout__img02,.p-topService__img01,.p-topService__img02,.p-topMember__img01,.p-topMember__img02 {
    box-shadow: 5px 5px 45px rgba(0, 0, 0, 0.3);
    position: absolute;
    transition: .5s;
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -ms-transition: .5s;
    -o-transition: .5s;
}

.p-topAbout__img01 {
    top: 26.267vw;
    left: 3.333vw;
    width: 47.667vw;
    z-index: 1;
}
.p-topAbout__img02 {
    top: 45.2vw;
    left: 33.067vw;
    width: 23.333vw;
    z-index: 2;
}
.p-topService__img01 {
    top: 43.867vw;
    right: 13.867vw;
    width: 40.467vw;
    z-index: 1;
}
.p-topService__img02 {
    top: 29.2vw;
    right: 6.4vw;
    width: 32.667vw;
    z-index: 2;
}
.p-topMember__img01 {
    top: 19.267vw;
    left: 2.467vw;
    width: 43.6vw;
    z-index: 1;
}
.p-topMember__img02 {
    top: 42.6vw;
    left: 14.067vw;
    width: 43.6vw;
    z-index: 2;
}

.an-grayscale {
    filter: grayscale(100%);
    -webkit-filter: grayscale(100%);
    transition: filter 1.5s;
    -webkit-transition: filter 1.5s;
    -moz-transition: filter 1.5s;
    -ms-transition: filter 1.5s;
    -o-transition: filter 1.5s;
}

.an-grayscale.scroll-active {
    filter: unset;
    -webkit-filter: unset;
    transition: filter 1.5s;
    -webkit-transition: filter 1.5s;
    -moz-transition: filter 1.5s;
    -ms-transition: filter 1.5s;
    -o-transition: filter 1.5s;
}

.p-topContent__head {
    position: relative;
    z-index: 5;
}

#top-about .p-topContent__head {
    margin-left: 54.476vw;
}
#top-service .p-topContent__head {
    margin-left: 6.667vw;
}
#top-member .p-topContent__head {
    margin-left: 50.867vw;
}

.p-topContent__subHead--en,.p-topContent__dot-line,.p-topContent__subHead--ja,.p-topContent__txt,.p-topContent__wrapper--btn {
    margin-left: 63.733vw;
}

#top-service .p-topContent__subHead--en,#top-service .p-topContent__dot-line,#top-service .p-topContent__subHead--ja,#top-service .p-topContent__txt,#top-service .p-topContent__wrapper--btn {
    margin-left: 14.067vw;
}

.p-topContent__subHead--en {
    margin-top: 6.333vw;
}

.p-topContent__dot-line {
    width: 29.6vw;
    height: .4vw;
    margin-top: 2.667vw;
    overflow: hidden;
    position: relative;
}

.p-topContent__dot-line img {
    width: 35.867vw;
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
    animation: dot-line 6s infinite;
    -webkit-animation: dot-line 6s infinite;
}

@keyframes dot-line {
    0% {
        right: 100%;
    }
    100% {
        right: -35.867vw;
    }
}

.p-topContent__subHead--ja {
    margin-top: 2.667vw;
    position: relative;
    z-index: 30;
}

.p-topContent__txt {
    margin-top: 1.333vw;
    font-size: .867vw;
    line-height: 2.19;
    letter-spacing: .01em;
    max-width: 29.6vw;
    font-weight: 300;
}

#top-member .p-topContent__txt {
    margin-top: 2.667vw;
}

.p-topContent__wrapper--btn {
    margin-top: 4.4vw;
}

@media screen and (max-width: 768px) {
    #top-about {
        padding-top: 80vw;
    }
    #top-service {
        padding-top: 95.897vw;
    }
    #top-member {
        padding-top: 97.179vw;
    }
    
    .p-topContent__circle {
        width: 78.974vw;
    }
    
    #top-about .p-topContent__circle {
        top: 47.436vw;
        left: unset;
        right: 47.949vw;
    }
    #top-service .p-topContent__circle {
        top: 62.308vw;
        right: 47.949vw;
    }
    #top-member .p-topContent__circle {
        top: 63.59vw;
        left: unset;
        right: 47.949vw;
    }
    
    .p-topAbout__img01 {
        top: 15.026vw;
        left: 0;
        width: 83.846vw;
        z-index: 1;
    }
    .p-topAbout__img02 {
        top: 30.8461vw;
        left: 57.949vw;
        width: 38.205vw;
        z-index: 2;
    }
    .p-topService__img01 {
        top: 57.564vw;
        right: 24.872vw;
        width: 70.513vw;
        z-index: 1;
    }
    .p-topService__img02 {
        top: 38.513vw;
        right: 3.846vw;
        width: 42.308vw;
        z-index: 2;
    }
    .p-topMember__img01 {
        top: 18.513vw;
        left: 4.615vw;
        width: 78.205vw;
        z-index: 1;
    }
    .p-topMember__img02 {
        top: 62.308vw;
        left: 17.949vw;
        width: 78.205vw;
        z-index: 2;
    }
    
    #top-about .p-topContent__head {
        margin-left: 7.692vw;
    }
    #top-service .p-topContent__head {
        margin-left: 7.692vw;
    }
    #top-member .p-topContent__head {
        margin-left: 7.692vw;
    }
    
    .p-topContent__subHead--en,.p-topContent__dot-line,.p-topContent__subHead--ja,.p-topContent__txt,.p-topContent__wrapper--btn {
        margin-left: 7.692vw;
    }
    
    #top-service .p-topContent__subHead--en,#top-service .p-topContent__dot-line,#top-service .p-topContent__subHead--ja,#top-service .p-topContent__txt,#top-service .p-topContent__wrapper--btn {
        margin-left: 7.692vw;
    }
    
    .p-topContent__subHead--en {
        margin-top: 8.974vw;
    }
    
    .p-topContent__dot-line {
        width: 84.615vw;
        height: 1.026vw;
        margin-top: 5.128vw;
    }
    
    .p-topContent__dot-line img {
        width: 93.333vw;
    }
    
    @keyframes dot-line {
        0% {
            right: 100%;
        }
        100% {
            right: -93.333vw;
        }
    }
    
    .p-topContent__subHead--ja {
        margin-top: 5.128vw;
    }
    
    .p-topContent__txt {
        margin-top: 2.564vw;
        font-size: 2.564vw;
        max-width: 92.308vw;
    }
    
    #top-member .p-topContent__txt {
        margin-top: 5.128vw;
    }
    
    .p-topContent__wrapper--btn {
        margin-top: 8.974vw;
        text-align: center;
        margin-left: 0;
        margin-right: 7.692vw;
    }
}

/*===========================================================================*/
/*  top recruitment  */
/*===========================================================================*/
#top-recruitment {
    margin-top: 20vw;
}

@media screen and (max-width: 768px) {
    #top-recruitment {
        margin-top: 20.513vw;
    }
}

/* page about */
/*===========================================================================*/
/*  about common  */
/*===========================================================================*/
.c-about__wrapper--contents {
    padding-top: 10vw;
    padding-bottom: 10vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.c-about__head {
    width: calc(100% - 59.133vw);
    font-size: 2vw;
    font-weight: 200;
    letter-spacing: .08em;
    margin-top: -.333vw;
}

.c-about__head--txt {
    position: relative;
    padding: .333vw 0 .333vw 3.6vw;
}

.c-about__head--dot {
    box-sizing: border-box;
    background-color: #121921;
    content: '';
    height: .533vw;
    left: 1vw;
    position: absolute;
    top: 1.233vw;
    width: .533vw;
    border-radius: 100vh;
}

.c-about__head--dot::before {
    box-sizing: border-box;
    background-color: transparent;
    border: #121921 solid .067vw;
    content: '';
    height: 2.533vw;
    left: -1vw;
    position: absolute;
    top: -1vw;
    width: 2.533vw;
    border-radius: 100vh;
    animation: about-dot01 1.6s infinite ease-in-out;
    -webkit-animation: about-dot01 1.6s infinite ease-in-out;
}

.c-about__head--dot::after {
    box-sizing: border-box;
    background-color: transparent;
    border: #121921 solid .067vw;
    content: '';
    height: 2.533vw;
    left: -1vw;
    position: absolute;
    top: -1vw;
    width: 2.533vw;
    border-radius: 100vh;
    animation: about-dot02 1.6s infinite ease-in-out;
    -webkit-animation: about-dot02 1.6s infinite ease-in-out;
}

@keyframes about-dot01 {
    0% {
        opacity: 1;
        transform: scale(0, 0);
        -webkit-transform: scale(0, 0);
        -moz-transform: scale(0, 0);
        -ms-transform: scale(0, 0);
        -o-transform: scale(0, 0);
    }
    90% {
        opacity: 0;
        transform: scale(1, 1);
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
    }
    100% {
        opacity: 0;
        transform: scale(1, 1);
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
    }
}

@keyframes about-dot02 {
    0% {
        opacity: 1;
        transform: scale(0, 0);
        -webkit-transform: scale(0, 0);
        -moz-transform: scale(0, 0);
        -ms-transform: scale(0, 0);
        -o-transform: scale(0, 0);
    }
    10% {
        opacity: 1;
        transform: scale(0, 0);
        -webkit-transform: scale(0, 0);
        -moz-transform: scale(0, 0);
        -ms-transform: scale(0, 0);
        -o-transform: scale(0, 0);
    }
    100% {
        opacity: 0;
        transform: scale(1, 1);
        -webkit-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -o-transform: scale(1, 1);
    }
}

.c-about__contents {
    width: 59.133vw;
}

@media screen and (max-width: 768px) {
    .c-about__wrapper--contents {
        padding-top: 13.077vw;
        padding-bottom: 13.077vw;
        display: block;
    }
    
    .c-about__head {
        width: 100%;
        font-size: 5.128vw;
        margin-top: -1.282vw;
    }
    
    .c-about__head--txt {
        padding: 1.282vw 0 1.282vw 10vw;
    }
    
    .c-about__head--dot {
        height: 1.462vw;
        left: 2.733vw;
        top: 3.246vw;
        width: 1.462vw;
    }
    
    .c-about__head--dot::before {
        border: #121921 solid .256vw;
        height: 6.923vw;
        left: -2.733vw;
        position: absolute;
        top: -2.733vw;
        width: 6.923vw;
    }
    
    .c-about__head--dot::after {
        border: #121921 solid .256vw;
        height: 6.923vw;
        left: -2.733vw;
        position: absolute;
        top: -2.733vw;
        width: 6.923vw;
    }
    
    .c-about__contents {
        width: 100%;
    }
}

/*===========================================================================*/
/*  about sv  */
/*===========================================================================*/
#about-sv {
    padding: 10vw 0;
    background-color: #fafafa;
}

.p-aboutSv__head {
    font-weight: 200;
    font-size: 4vw;
    line-height: 1.23;
    text-align: center;
    letter-spacing: .02em;
}

.p-aboutSv__contents {
    display: flex;
    margin: 6.667vw auto 0;
    width: 83.2vw;
    justify-content: space-between;
    align-items: flex-start;
}

.p-aboutSv__content--txt {
    width: 33.467vw;
    padding-top: 3.733vw;
}

.p-aboutSv__txt {
    letter-spacing: .01em;
    line-height: 2.46;
}

.p-aboutSv__txt.--02 {
    margin-top: 2.6vw;
}

.p-aboutSv__content--img {
    width: 44.333vw;
}

.p-aboutSv__name {
    text-align: right;
    font-size: 1vw;
    letter-spacing: .08em;
    margin-top: .867vw;
}

@media screen and (max-width: 768px) {
    #about-sv {
        padding: 12.821vw 0;
    }
    
    .p-aboutSv__head {
        font-size: 5.128vw;
    }
    
    .p-aboutSv__contents {
        margin: 6.41vw auto 0;
        width: 100%;
        flex-direction: column-reverse;
    }
    
    .p-aboutSv__content--txt {
        width: 100%;
        padding: 6.41vw 7.692vw 0;
        font-size: 3.077vw;
    }

    .p-aboutSv__txt {
        font-size: 3.077vw;
    }
    
    .p-aboutSv__txt.--02 {
        margin-top: 6.667vw;
    }
    
    .p-aboutSv__content--img {
        width: 100%;
    }
    
    .p-aboutSv__name {
        text-align: left;
        font-size: 3.59vw;
        margin-top: 3.41vw;
        padding: 0 6.41vw;
    }
}

/*===========================================================================*/
/*  about message  */
/*===========================================================================*/
/* #about-message {
    background-color: #fafafa;
}

.p-aboutMessage__txts {
    margin-top: 3.333vw;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.p-aboutMessage__content--head {
    font-size: 1.6vw;
    line-height: 1.58;
    letter-spacing: .03em;
}

.p-aboutMessage__content--txt {
    width: 35.133vw;
    line-height: 2.2;
    letter-spacing: .01em;
} */

/*===========================================================================*/
/*  about-office  */
/*===========================================================================*/
.p-aboutOffice {
    position: relative;
}

.p-aboutMessage__contents {
    position: relative;
}

.p-aboutOffice__01,.p-aboutOffice__02,.p-aboutOffice__03,.p-aboutOffice__04 {
    position: absolute;
    display: block;
}

@media screen and (min-width: 769px) {
    .p-aboutOffice a:hover {
        opacity: 0.4 !important;
    }
}

.p-aboutOffice__01 {
    width: 15.067vw;
    top: 9vw;
    left: 3.867vw;
}
.p-aboutOffice__02 {
    width: 11.2vw;
    top: 13vw;
    left: 12.533vw;
}
.p-aboutOffice__03 {
    width: 10.267vw;
    top: 11.2vw;
    left: 24.867vw;
}
.p-aboutOffice__04 {
    width: 9.733vw;
    top: 10.667vw;
    left: 38.533vw;
}

.c-global__btn {
    display: flex;
    width: 12vw;
    height: 3.067vw;
    font-size: .933vw;
    align-items: center;
    justify-content: center;
    line-height: 1;
    letter-spacing: .015em;
    border: #fff solid 1px;
    border-radius: 100vh;
}

#about .c-global__btn {
    border: #121921 solid 1px;
}

.p-topMap__btn {
    position: absolute;
}

#about .p-topMap__btn.--us {
    top: 14.933vw;
    left: 37.2vw;
}

@media screen and (max-width: 768px) {
    #about-office {
        overflow: hidden;
    }

    .p-aboutMessage__contents {
        margin-top: 5.128vw;
    }

    .p-aboutOffice__img {
        position: relative;
        width: 110.256vw;
        left: -6.154vw;
    }
    
    .p-aboutOffice__01 {
        width: 28.205vw;
        top: 16.795vw;
        left: 1.026vw;
    }
    .p-aboutOffice__02 {
        width: 21.026vw;
        top: 24.231vw;
        left: 17.179vw;
    }
    .p-aboutOffice__03 {
        width: 19.231vw;
        top: 20.897vw;
        left: 40.128vw;
    }
    .p-aboutOffice__04 {
        width: 18.205vw;
        top: 19.872vw;
        left: 65.641vw;
    }

    a.p-aboutOffice__04 {
        transition: opacity 0s;
        -webkit-transition: opacity 0s;
        -moz-transition: opacity 0s;
        -ms-transition: opacity 0s;
        -o-transition: opacity 0s;
    }

    .c-global__btn {
        width: 33.59vw;
        height: 8.462vw;
        font-size: 2.564vw;
        letter-spacing: .15em;
        margin: 0 auto;
    }
    
    .p-topMap__btn {
        position: relative;
    }

    #about .p-topMap__btn.--us {
        top: unset;
        left: unset;
    }
}

/*===========================================================================*/
/*  about info  */
/*===========================================================================*/
#about-info {
    background-color: #fafafa;
}

.p-aboutInfo__table {
    display: flex;
    flex-wrap: wrap;
    letter-spacing: .01em;
}

.p-aboutInfo__table dt:nth-of-type(1),.p-aboutInfo__table dd:nth-of-type(1) {
    padding-top: 0;
}

.p-aboutInfo__table--head {
    padding: 2.667vw 0;
    width: 12.6vw;
    border-bottom: #121921 solid .067vw;
    font-weight: 400;
}

.p-aboutInfo__table--content {
    padding: 2.667vw 0 2.667vw 3.333vw;
    width: calc(100% - 12.6vw);
    border-bottom: #dfdfdf solid .067vw;
}

@media screen and (max-width: 768px) {
    .p-aboutInfo__table {
        display: flex;
        margin-top: 8.974vw;
        font-size: 3.077vw;
    }
    
    .p-aboutInfo__table--head {
        padding: 7.692vw 0 5.128vw;
        width: 19.487vw;
        border-bottom: #121921 solid .256vw;
    }
    
    .p-aboutInfo__table--content {
        padding: 7.692vw 0 5.128vw 2.564vw;
        width: calc(100% - 19.487vw);
        border-bottom: #dfdfdf solid .256vw;
    }
}

/*===========================================================================*/
/*  about access  */
/*===========================================================================*/
.p-aboutAccess__map {
    width: 100%
}

.p-aboutAccess__txts {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 3.333vw;
}

.p-aboutAccess__content--head {
    width: 24.2vw;
    line-height: 1.6;
    letter-spacing: .01em;
}

.p-aboutAccess__content--txt {
    width: calc(100% - 24.2vw);
    padding-left: 2vw;
    line-height: 2.2;
    letter-spacing: .01em;
    position: relative;
}

.p-aboutAccess__content--txt::before {
    background: rgb(255,255,255);
    background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(18,25,33,1) 50%);
    content: '';
    height: 9.733vw;
    left: 0;
    position: absolute;
    top: 0;
    width: .067vw;
}

@media screen and (max-width: 768px) {
    .p-aboutAccess__contents {
        margin-top: 6.41vw;
    }
    
    .p-aboutAccess__txts {
        display: block;
        margin-top: 5.128vw;
    }
    
    .p-aboutAccess__content--head {
        width: 100%;
        font-size: 3.077vw;
    }
    
    .p-aboutAccess__content--txt {
        width: 100%;
        padding-left: 0;
        padding-top: 3.59vw;
        margin-top: 3.59vw;
        font-size: 2.82vw;
    }
    
    .p-aboutAccess__content--txt::before {
        background: rgb(255,255,255);
        background: linear-gradient(225deg, rgba(255,255,255,1) 0%, rgba(18,25,33,1) 100%);
        content: '';
        height: .256vw;
        left: 0;
        position: absolute;
        top: 0;
        width: 37.436vw;
    }
}

/*===========================================================================*/
/*  about slider  */
/*===========================================================================*/
#about-slider {
    padding-bottom: 10vw;
}

.p-aboutSlider__wrapper {
    overflow: hidden;
    display: flex;
}

.p-aboutSlider__inner {
    display: flex;
}

.p-aboutSlider__wrapper.--01 div:nth-of-type(1) {
    animation: about-slider01 16s -8s linear infinite;
    -webkit-animation: about-slider01 16s -8s linear infinite;
}
.p-aboutSlider__wrapper.--01 div:nth-of-type(2) {
    animation: about-slider02 16s -8s linear infinite;
    -webkit-animation: about-slider02 16s -8s linear infinite;
}
.p-aboutSlider__wrapper.--02 div:nth-of-type(1) {
    animation: about-slider03 16s -8s linear infinite;
    -webkit-animation: about-slider03 16s -8s linear infinite;
}
.p-aboutSlider__wrapper.--02 div:nth-of-type(2) {
    animation: about-slider04 16s -8s linear infinite;
    -webkit-animation: about-slider04 16s -8s linear infinite;
}

@keyframes about-slider01 {
    0% {
        transform: translate(0px, 0px);
        -webkit-transform: translate(0px, 0px);
        -moz-transform: translate(0px, 0px);
        -ms-transform: translate(0px, 0px);
        -o-transform: translate(0px, 0px);
    }
    100% {
        transform: translate(-100%, 0px);
        -webkit-transform: translate(-100%, 0px);
        -moz-transform: translate(-100%, 0px);
        -ms-transform: translate(-100%, 0px);
        -o-transform: translate(-100%, 0px);
    }
}

@keyframes about-slider02 {
    0% {
        transform: translate(0px, 0px);
        -webkit-transform: translate(0px, 0px);
        -moz-transform: translate(0px, 0px);
        -ms-transform: translate(0px, 0px);
        -o-transform: translate(0px, 0px);
    }
    100% {
        transform: translate(-100%, 0px);
        -webkit-transform: translate(-100%, 0px);
        -moz-transform: translate(-100%, 0px);
        -ms-transform: translate(-100%, 0px);
        -o-transform: translate(-100%, 0px);
    }
}

@keyframes about-slider03 {
    0% {
        transform: translate(-100%, 0px);
        -webkit-transform: translate(-100%, 0px);
        -moz-transform: translate(-100%, 0px);
        -ms-transform: translate(-100%, 0px);
        -o-transform: translate(-100%, 0px);
}
    100% {
        transform: translate(0px, 0px);
        -webkit-transform: translate(0px, 0px);
        -moz-transform: translate(0px, 0px);
        -ms-transform: translate(0px, 0px);
        -o-transform: translate(0px, 0px);
}
}

@keyframes about-slider04 {
    0% {
        transform: translate(-100%, 0px);
        -webkit-transform: translate(-100%, 0px);
        -moz-transform: translate(-100%, 0px);
        -ms-transform: translate(-100%, 0px);
        -o-transform: translate(-100%, 0px);
    }
    100% {
        transform: translate(0, 0px);
        -webkit-transform: translate(0, 0px);
        -moz-transform: translate(0, 0px);
        -ms-transform: translate(0, 0px);
        -o-transform: translate(0, 0px);
    }
}

.p-aboutslider__img {
    width: 26.533vw;
    margin-right: .333vw;
}

.p-aboutSlider__wrapper.--02 {
    margin-top: .333vw;
}

.p-aboutslider__txt {
    margin: .333vw 3.333vw 0 0;
    text-align: right;
    font-size: .667vw;
    line-height: 2.2;
    letter-spacing: .01em;
}

@media screen and (max-width: 768px) {
    #about-slider {
        padding-bottom: 12.821vw;
    }
    
    .p-aboutslider__img {
        width: 31.538vw;
        margin-right: .513vw;
    }
    
    .p-aboutSlider__wrapper.--02 {
        margin-top: .513vw;
    }

    .p-aboutslider__txt {
        margin: 2.564vw 7.692vw 0 0;
        font-size: 2.051vw;
    }
}

/* service */
/*===========================================================================*/
/*  service common  */
/*===========================================================================*/
#service {
    font-family: 'Noto Sans JP', sans-serif;
}

.c-service-tool {
    display: flex;
    background-color: #fff;
    align-items: center;
    justify-content: space-between;
    border-radius: 1.333vw;
    padding: 3.667vw 3.667vw 3.667vw 5.467vw;
}

.c-service-tool__left {
    width: 28.467vw;
}

.c-service-tool__head {
    font-weight: 700;
    font-size: 1.333vw;
    line-height: 1.55;
    letter-spacing: .01em;
    text-align: center;
}

.c-service-tool__list {
    display: flex;
    justify-content: space-between;
}

.c-service-tool__list li {
    width: 6.467vw;
}

.c-service-tool__list--icon {
    width: 5.2vw;
    margin: 0 auto;
}

.c-service-tool__list--txt {
    font-size: .8vw;
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: .01em;
    margin-top: .6vw;
    text-align: center;
}

.c-service-tool__list--txt.--row1 {
    margin-top: 1.113vw;
}

.p-serviceRelay__right {
    width: 45.267vw;
}

.c-service-tool__txt {
    max-width: 75.867vw;
    margin: 3vw auto 0;
    line-height: 2.19;
    letter-spacing: .01em;
}

a.c-service__cta:hover {
    color: #fff !important;
}

.c-service__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.067vw;
    width: 20.667vw;
    height: 4.133vw;
    margin: 3.333vw auto 0;
    background-color: #121921;
    border-radius: 5px;
    color: #fff;
    line-height: 1.438;
    letter-spacing: .1em;
    text-align: center;
    font-weight: 700;
}

a.c-service__link:hover {
    color: #fff !important;
}

.c-service__link {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.067vw;
    width: 20.667vw;
    height: 4.133vw;
    margin: 3.333vw auto 0;
    background-color: #121921;
    border-radius: 5px;
    color: #fff;
    line-height: 1.438;
    letter-spacing: .1em;
    text-align: center;
    font-weight: 700;
    position: relative;
}

.c-service__link::before {
    background: url('../img/common/icon-link-white.svg') no-repeat center center/contain;
    content: '';
    height: .867vw;
    right: 1.333vw;
    position: absolute;
    top: calc(50% - .433vw);
    width: .867vw;
}

.p-serviceOperation__list .c-service__link {
    margin-top: 2vw;
}

@media screen and (max-width: 768px) {
    .c-service-tool {
        flex-direction: column-reverse;
        border-radius: 1.333vw;
        padding: 6.41vw 5.128vw 7.692vw;
    }
    
    .c-service-tool__left {
        width: 100%;
    }
    
    .c-service-tool__head {
        font-size: 3.589vw;
        margin-top: 6.667vw;
    }
    
    .c-service-tool__list {
        flex-wrap: wrap;
        justify-content: center;
    }
    
    .c-service-tool__list li {
        width: 50%;
        margin-top: 4.615vw;
        border-radius: 2.59vw;
    }
    
    .c-service-tool__list--icon {
        width: 14.615vw;
    }
    
    .c-service-tool__list--txt {
        font-size: 2.821vw;
        margin-top: 3.077vw;
    }
    
    .c-service-tool__list--txt.--row1 {
        margin-top: 3.077vw;
    }
    
    .p-serviceRelay__right {
        width: 100%;
    }
    
    .c-service-tool__txt {
        max-width: unset;
        margin: 5.128vw auto 0;
        font-size: 3.077vw;
    }

    .c-service__cta {
        font-size: 3.59vw;
        margin: 7.692vw auto 0;
        width: 75.641vw;
        height: 15.128vw;
    }

    .c-service__link {
        font-size: 3.59vw;
        margin: 7.692vw auto 0;
        width: 75.641vw;
        height: 15.128vw;
    }

    .c-service__link::before {
        height: 3.333vw;
        right: 3.846vw;
        top: calc(50% - 1.6665vw);
        width: 3.333vw;
    }
    
    .p-serviceOperation__list .c-service__link {
        margin-top: 3.846vw;
        width: 72.821vw;
    }
}

/*===========================================================================*/
/*  service sv  */
/*===========================================================================*/
#service-sv {
    padding-top: 10vw;
    padding-bottom: 10vw;
    background-color: #fafafa;
}

.p-serviceSv__img {
    margin-top: 4vw;
}

.p-serviceSv__txt {
    line-height: 2.2;
    letter-spacing: .01em;
    margin-top: 4vw;
}

@media screen and (max-width: 768px) {
    #service-sv {
        padding-top: 15.385vw;
        padding-bottom: 15.385vw;
    }
    
    .p-serviceSv__img {
        margin-top: 7.692vw;
    }
    
    .p-serviceSv__txt {
        font-size: 3.077vw;
        margin-top: 5.128vw;
    }
}

/*===========================================================================*/
/*  service solution  */
/*===========================================================================*/
#service-solution {
    padding-top: 10vw;
    padding-bottom: 7.533vw;
}

.p-serviceSolution__img {
    margin-top: 4vw;
    margin-left: 14.133vw;
    width: 53.067vw;
}

.p-serviceSolution__list {
    padding-top: 2.667vw;
    display: flex;
    justify-content: space-between;
}

.p-serviceSolution__list li {
    width: 24.133vw;
    background-color: #fafafa;
    border-radius: .667vw;
    padding: 2.867vw .667vw 1.933vw;
}

.p-serviceSolution__list li:nth-of-type(2) {
    padding-top: 2.667vw;
}

.p-serviceSolution__list--icon {
    margin: 0 auto;
}

.p-serviceSolution__list li:nth-of-type(1) .p-serviceSolution__list--icon {
    width: 3.333vw;
}
.p-serviceSolution__list li:nth-of-type(2) .p-serviceSolution__list--icon {
    width: 3.267vw;
}
.p-serviceSolution__list li:nth-of-type(3) .p-serviceSolution__list--icon {
    width: 3.133vw;
}

.p-serviceSolution__list--head {
    font-size: 1vw;
    font-weight: 500;
    line-height: 1.56;
    letter-spacing: .01em;
    text-align: center;
}

.p-serviceSolution__list li:nth-of-type(1) .p-serviceSolution__list--head {
    margin-top: 1.8vw;
}
.p-serviceSolution__list li:nth-of-type(2) .p-serviceSolution__list--head {
    margin-top: 1.067vw;
}
.p-serviceSolution__list li:nth-of-type(3) .p-serviceSolution__list--head {
    margin-top: 2vw;
}

.p-serviceSolution__txt {
    margin-top: 2vw;
    line-height: 2.2;
    letter-spacing: .01em;
}

@media screen and (max-width: 768px) {
    #service-solution {
        padding-top: 15.385vw;
        padding-bottom: 15.385vw;
    }
    
    .p-serviceSolution__img {
        margin-top: 6.41vw;
        margin-left: 0;
        width: 100%;
    }
    
    .p-serviceSolution__list {
        padding-top: 3.846vw;
        display: block;
    }
    
    .p-serviceSolution__list li {
        width: 100%;
        border-radius: 1.795;
        margin-top: 2.564vw;
        display: flex;
        align-items: center;
    }
    
    .p-serviceSolution__list li:nth-of-type(1) {
        padding: 4.872vw 0 4.872vw 5.128vw;
    }
    .p-serviceSolution__list li:nth-of-type(2) {
        padding: 5.128vw 0 5.128vw 5.385vw;
    }
    .p-serviceSolution__list li:nth-of-type(3) {
        padding: 5.641vw 0 5.641vw 5.897vw;
    }
    
    .p-serviceSolution__list--icon {
        margin: 0;
    }
    
    .p-serviceSolution__list li:nth-of-type(1) .p-serviceSolution__list--icon {
        width: 10.769vw;
    }
    .p-serviceSolution__list li:nth-of-type(2) .p-serviceSolution__list--icon {
        width: 10.256vw;
    }
    .p-serviceSolution__list li:nth-of-type(3) .p-serviceSolution__list--icon {
        width: 9.231vw;
    }
    
    .p-serviceSolution__list--head {
        font-size: 3.333vw;
        text-align: left;
        margin-left: 3.846vw;
        margin-top: 0 !important;
    }
    
    .p-serviceSolution__txt {
        margin-top: 5.128vw;
        font-size: 3.077vw;
    }
}

/*===========================================================================*/
/*  service design  */
/*===========================================================================*/
#service-design {
    padding: 12.267vw 0 9.8vw 12.067vw;
    background-color: #fafafa;
    position: relative;
}

.p-serviceDesign__head {
    font-size: 5vw;
    line-height: 1.07;
    letter-spacing: .08em;
    font-weight: 200;
}

.p-serviceDesign__subHead {
    font-size: 1.333vw;
    line-height: 1.76;
    letter-spacing: .01em;
    margin-top: 1.333vw;
}

.p-serviceDesign__txt {
    margin-top: 1.333vw;
    line-height: 2.2;
    letter-spacing: .01em;
}

.p-serviceDesign__img {
    position: absolute;
    width: 57.467vw;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 5;
}

@media screen and (max-width: 768px) {
    #service-design {
        padding: 56.667vw 0;
    }
    
    .p-serviceDesign__head {
        font-size: 8.205vw;
        text-align: center;
    }
    
    .p-serviceDesign__subHead {
        font-size: 4.359vw;
        margin-top: 4.103vw;
        text-align: center;
    }
    
    .p-serviceDesign__txt {
        margin-top: 2.564vw;
        font-size: 3.077vw;
        padding: 0 7.692vw;
    }
    
    .p-serviceDesign__img01 {
        position: absolute;
        width: 100%;
        height: auto;
        top: 0;
        right: 0;
        z-index: 5;
    }

    .p-serviceDesign__img02 {
        position: absolute;
        width: 100%;
        height: auto;
        bottom: 0;
        right: 0;
        z-index: 5;
    }
}

/*===========================================================================*/
/*  service managiment tool  */
/*===========================================================================*/
#service-managimentTool {
    padding-top: 10vw;
    background-color: #fafafa;
    padding-bottom: 6.667vw;
}

.p-serviceRelay {
    margin-top: 2.667vw;
}

.p-serviceRelay__logo {
    width: 15.133vw;
    margin: 2.667vw auto;
}

.p-serviceConductor {
    margin-top: 5.333vw;
}

.p-serviceConductor__logo {
    width: 25.467vw;
    margin: 3vw auto 3.333vw;
}

.p-serviceJunction {
    margin-top: 2.667vw;
}

.p-serviceJunction__logo {
    width: 22.467vw;
    margin: 1.6vw auto 1.733vw;
}

.p-serviceJunction__right {
    width: 45.4vw;
}

@media screen and (max-width: 768px) {
    #service-managimentTool {
        padding-top: 20.513vw;
        padding-bottom: 12.821vw;
    }
    
    .p-serviceRelay {
        margin-top: 7.692vw;
    }
    
    .p-serviceRelay__logo {
        width: 37.179vw;
        margin: 5.385vw auto 2.051vw;
    }
    
    .p-serviceConductor {
        margin-top: 12.821vw;
    }
    
    .p-serviceConductor__logo {
        width: 100%;
        margin: 6.153vw auto 2.051vw;
    }
    
    .p-serviceJunction {
        margin-top: 7.692vw;
    }
    
    .p-serviceJunction__logo {
        width: 48.461vw;
        margin: 3.333vw auto 3.589vw;
    }
    
    .p-serviceJunction__right {
        width: 100%;
    }
}

/*===========================================================================*/
/*  service operation  */
/*===========================================================================*/
#service-operation {
    background-color: #fafafa;
    padding-bottom: 10vw;
}

.p-serviceoperation__head {
    padding-top: 6.667vw;
    border-top: #d8d8d8 solid .067vw;
}

.p-serviceOperation__list {
    padding-top: 4.667vw;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.p-serviceOperation__list li {
    width: 41.333vw;
    border-radius: 1.333vw;
    background-color: #fff;
    padding: 4.667vw 2.833vw 3.333vw 2.833vw;
    margin-top: 2vw;
}

.p-serviceOperation__list li:nth-of-type(2) {
    padding-top: 6.667vw;
    margin-left: 2vw;
}
.p-serviceOperation__list li:nth-of-type(4) {
    padding-top: 5.333vw;
}

.p-serviceOperation__list--logo {
    margin: 0 auto;
}

.p-serviceOperation__list li:nth-of-type(1) .p-serviceOperation__list--logo {
    width: 15.267vw;
}
.p-serviceOperation__list li:nth-of-type(2) .p-serviceOperation__list--logo {
    width: 16.867vw;
}
.p-serviceOperation__list li:nth-of-type(3) .p-serviceOperation__list--logo {
    width: 27.533vw;
}
.p-serviceOperation__list li:nth-of-type(4) .p-serviceOperation__list--logo {
    font-size: 3.04vw;
    font-weight: 900;
    line-height: 1.55;
    letter-spacing: .37em;
    text-align: center;
}

.p-serviceOperation__list li:nth-of-type(1) .p-serviceOperation__list--iconHead {
    margin-top: 2.467vw;
}
.p-serviceOperation__list li:nth-of-type(2) .p-serviceOperation__list--iconHead {
    margin-top: 3.733vw;
}
.p-serviceOperation__list li:nth-of-type(3) .p-serviceOperation__list--iconHead {
    margin-top: 2.4vw;
}
.p-serviceOperation__list li:nth-of-type(4) .p-serviceOperation__list--iconHead {
    margin-top: 2.133vw;
}

.p-serviceOperation__list--icon {
    width: 5.2vw;
    margin: 0 auto;
}

.p-serviceOperation__list--Head {
    font-size: 1.333vw;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1.55;
    text-align: center;
    margin-top: 1.647vw;
}

.p-serviceOperation__list li:nth-of-type(1) .p-serviceOperation__list--Head {
    margin-top: 2.647vw;
}

.p-serviceOperation__list--txt {
    line-height: 2.19;
    letter-spacing: .01em;
    margin-top: 1vw;
}

.p-serviceOperation__list li:nth-of-type(1) .p-serviceOperation__list--txt {
    margin-top: 2.067vw;
}

.p-serviceOperation__subHead {
    font-size: 1.733vw;
    line-height: 1.89;
    letter-spacing: .01em;
    margin-top: 5.333vw;
    text-align: center;
}

@media screen and (max-width: 768px) {
    #service-operation {
        padding-bottom: 12.821vw;
    }
    
    .p-serviceoperation__head {
        padding-top: 15.385vw;
        border-top: #d8d8d8 solid .256vw;
    }
    
    .p-serviceOperation__list {
        padding-top: 7.692vw;
    }
    
    .p-serviceOperation__list li {
        width: 100%;
        border-radius: 3.59vw;
        padding: 6.41vw;
        margin-top: 5.128vw;
    }
    
    .p-serviceOperation__list li:nth-of-type(2) {
        padding-top: 10.77vw;
    }
    .p-serviceOperation__list li:nth-of-type(3) {
        padding-top: 7.18vw;
    }
    .p-serviceOperation__list li:nth-of-type(4) {
        padding-top: 6.153vw;
    }
    
    .p-serviceOperation__list--logo {
        margin-top: 0 !important;
    }
    
    .p-serviceOperation__list li:nth-of-type(1) .p-serviceOperation__list--logo {
        width: 41.026vw;
    }
    .p-serviceOperation__list li:nth-of-type(2) .p-serviceOperation__list--logo {
        width: 43.59vw;
    }
    .p-serviceOperation__list li:nth-of-type(3) .p-serviceOperation__list--logo {
        width: 67.949vw;
    }
    .p-serviceOperation__list li:nth-of-type(4) .p-serviceOperation__list--logo {
        font-size: 9.231vw;
    }

    .p-serviceOperation__list--iconHead {
        display: flex;
        align-items: center;
    }
    
    .p-serviceOperation__list li:nth-of-type(1) .p-serviceOperation__list--iconHead {
        margin-top: 5.128vw;
    }
    .p-serviceOperation__list li:nth-of-type(2) .p-serviceOperation__list--iconHead {
        margin-top: 7.692vw;
    }
    .p-serviceOperation__list li:nth-of-type(3) .p-serviceOperation__list--iconHead {
        margin-top: 4.103vw;
    }
    .p-serviceOperation__list li:nth-of-type(4) .p-serviceOperation__list--iconHead {
        margin-top: 2.051vw;
    }
    
    .p-serviceOperation__list--icon {
        width: 18.462vw;
    }
    
    .p-serviceOperation__list--Head {
        font-size: 3.59vw;
        margin-left: 3.333vw;
        margin-top: 0;
        text-align: left;
        width: calc(100% - 21.794vw);
    }
    
    .p-serviceOperation__list li:nth-of-type(1) .p-serviceOperation__list--Head {
        margin-top: 0;
    }
    
    .p-serviceOperation__list--txt {
        font-size: 3.077vw;
        margin-top: 5.123vw;
    }
    
    .p-serviceOperation__list li:nth-of-type(1) .p-serviceOperation__list--txt {
        margin-top: 5.123vw;
    }
    
    .p-serviceOperation__subHead {
        font-size: 3.59vw;
        margin-top: 7.692vw;
    }
}

/*===========================================================================*/
/*  members  */
/*===========================================================================*/
.p-members__contents {
    padding: 4.333vw 0 10vw;
}

@media screen and (max-width: 768px) {
    .p-members__contents {
        padding: 7.693vw 0 20.513vw;
    }
}

/*===========================================================================*/
/*  member  */
/*===========================================================================*/
.p-memberMv__inner {
    position: relative;
}

.p-memberMv__heads {
    position: absolute;
    background-color: #fff;
    left: 0;
    bottom: 0;
    padding: 3vw 2.667vw 0 10vw;
}

.p-memberMv__head02 {
    font-weight: 300;
    font-size: 2vw;
    line-height: 1.55;
    letter-spacing: .01em;
}

.p-memberMv__namePosition {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 1.667vw;
}

.p-memberMv__position {
    line-height: 1;
    letter-spacing: .12em;
    font-size: .8vw;
    color: #b1b1b1;
    margin-right: .933vw;
}

.p-memberMv__name {
    font-weight: 200;
    font-size: 1.467vw;
    line-height: 1;
    letter-spacing: .03em;
}

@media screen and (max-width: 768px) {
    .p-memberMv__heads {
        bottom: -10.256vw;
        padding: 5.128vw 7.692vw 0 7.692vw;
        width: 93.59vw;
    }
    
    .p-memberMv__head02 {
        font-size: 5.128vw;
    }
    
    .p-memberMv__namePosition {
        margin-top: 3.846vw;
    }
    
    .p-memberMv__position {
        font-size: 2.564vw;
        margin-right: 3.077vw;
    }
    
    .p-memberMv__name {
        font-size: 5.128vw;
    }
}

.p-member__contents {
    padding: 10vw 0;
}

.p-member__content--blocks {
    position: relative;
}

.p-member__content--blocks::before {
    background-color: #fafafa;
    content: '';
    height: calc(50% + 4vw);
    right: 0;
    position: absolute;
    top: calc(25% - 2vw);
    width: 78.533vw;
    z-index: -1;
}

.p-member__contents--block {
    padding: 0 6.667vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.p-member__contents--block.--02 {
    flex-direction: row-reverse;
    margin-top: 8vw;
}

.p-member__content--img {
    width: 44.333vw;
}

.p-member__content--txts {
    width: 37vw;
}

.p-member__content--head {
    font-size: 1.733vw;
    font-weight: 300;
    line-height: 1.55;
    letter-spacing: .01em;
}

.p-member__content--txt {
    font-size: .933vw;
    line-height: 2.2;
    letter-spacing: .01em;
    font-weight: 300;
    margin-top: 2vw;
}

.p-member__contents--block02 {
    margin-top: 10vw;
}

.p-member__content--txts02 {
    max-width: 75.867vw;
    margin: 3.333vw auto 0;
}

.p-member__content--txts02 .p-member__content--head {
    text-align: center;
}

@media screen and (max-width: 768px) {
    .p-member__contents {
        padding: 25.641vw 0 15.385vw;
    }
    
    .p-member__content--blocks::before {
        height: 106.41vw;
        right: 0;
        top: calc(50% - 50vw);
        width: 100%;
    }
    
    .p-member__contents--block {
        display: block;
        padding: 0;
    }
    
    .p-member__contents--block.--02 {
        margin-top: 12.821vw;
    }
    
    .p-member__content--img {
        width: 92.308vw;
        margin: 0 0 0 auto;
    }

    .p-member__contents--block.--02 .p-member__content--img {
        margin: 0 auto 0 0;
    }
    
    .p-member__content--txts {
        width: 100%;
        padding: 0 7.692vw;
    }
    
    .p-member__content--head {
        font-size: 4.615vw;
        margin-top: 7.692vw;
    }
    
    .p-member__content--txt {
        font-size: 3.077vw;
        margin-top: 3.846vw;
    }
    
    .p-member__contents--block02 {
        margin-top: 12.821vw;
    }
    
    .p-member__content--txts02 {
        max-width: unset;
        margin: 0;
        padding: 0 7.692vw;
    }
    
    .p-member__content--txts02 .p-member__content--head {
        text-align: left;
    }
}

.p-member__others {
    background-color: #fafafa;
    padding: 10vw 0;
}

.p-member__others__head {
    font-weight: 200;
    font-size: 4vw;
    text-align: center;
    line-height: 1;
    letter-spacing: .08em;
    margin-bottom: 1vw;
}

@media screen and (max-width: 768px) {
    .p-member__others {
        padding: 15.385vw 0 20.513vw;
    }
    
    .p-member__others__head {
        font-size: 7.178vw;
        margin-bottom: 2.564vw;
    }
}

/*===========================================================================*/
/*  recruitment  */
/*===========================================================================*/
.p-recruitmentMv__txt {
    margin: 10vw 0;
    font-size: 1.2vw;
    text-align: center;
    line-height: 2.46;
    letter-spacing: .01em;
}

.p-recruitment__contents {
    padding: 0 6.667vw 10vw;
}

.p-recruitment__list {
    border-top: #d8d8d8 solid 1px;
}

.p-recruitment__list li {
    border-bottom: #d8d8d8 solid 1px;
    padding: 5.333vw 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.p-recruitment__list--heads {
    width: 30.933vw;
}

.p-recruitment__list--heads .c-about__head {
    width: 100%;
}

.p-recruitment__list--head-ja {
    margin: .333vw 0 0 3.6vw;
    font-size: .8vw;
    line-height: 1;
    letter-spacing: .12em;
}

.p-recruitment__list--contents {
    width: 49.733vw;
}

.p-recruitment__list--contentHead {
    font-size: 1.467vw;
    line-height: 1.55;
    letter-spacing: .01em;
}

.p-recruitment__list--contentTxt {
    font-size: .933vw;
    font-weight: 300;
    line-height: 2.2;
    letter-spacing: .01em;
    margin-top: 1.6vw;
}

.p-recruitment__list--contentBtn {
    margin-top: 2vw;
}

.p-recruitment__list--contentBtnLink {
    display: flex;
    align-items: center;
    padding: 0 4vw;
    width: 100%;
    height: 6.333vw;
    background-color: #fafafa;
    border-radius: 5px;
    border: #e2e2e2 solid 1px;
    font-size: 1.333vw;
    letter-spacing: .5em;
    line-height: 1;
    position: relative;
    transition: all .5s;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    -ms-transition: all .5s;
    -o-transition: all .5s;
}

.p-recruitment__list--contentBtnLink::before {
    background: url('../img/common/icon-link-white.svg') no-repeat center center/contain;
    content: '';
    height: 1.067vw;
    right: 2.667vw;
    position: absolute;
    top: calc(50% - .5335vw);
    width: 1.067vw;
    opacity: 0;
}
.p-recruitment__list--contentBtnLink::after {
    background: url('../img/common/icon-link-black.svg') no-repeat center center/contain;
    content: '';
    height: 1.067vw;
    right: 2.667vw;
    position: absolute;
    top: calc(50% - .5335vw);
    width: 1.067vw;
    opacity: 1;
}

.p-recruitment__list--contentBtnLink .--small {
    font-size: .8vw;
    letter-spacing: .06em;
    line-height: 1.55;
    margin-left: 1.533vw;
}

.p-recruitment__contents--txt {
    margin-top: 10vw;
    font-size: 1.2vw;
    line-height: 2.46;
    letter-spacing: .01em;
    text-align: center;
}

.p-recruitment__contents--link {
    font-weight: 500;
    text-decoration: underline;
}

@media screen and (min-width: 769px) {
    a.p-recruitment__list--contentBtnLink:hover {
        background-color: #121921;
        border: #121921 solid 1px;
        color: #fff !important;
        opacity: 1;
    }
    
    .p-recruitment__list--contentBtnLink:hover:before {
        opacity: 1;
    }
    .p-recruitment__list--contentBtnLink:hover:after {
        opacity: 0;
    }
}

@media screen and (max-width: 768px) {
    .p-recruitmentMv__txt {
        margin: 15.385vw 0;
        font-size: 3.59vw;
        line-height: 2.1;
    }
    
    .p-recruitment__contents {
        padding: 0 7.692vw 15.358vw;
    }
    
    .p-recruitment__list li {
        padding: 12.821vw 0;
        display: block;
    }
    
    .p-recruitment__list--heads {
        width: 100%;
    }
    
    .p-recruitment__list--heads .c-about__head {
        width: 100%;
    }
    
    .p-recruitment__list--head-ja {
        margin: 0 0 0 10vw;
        font-size: 2.564vw;
        line-height: 1;
        letter-spacing: .12em;
    }
    
    .p-recruitment__list--contents {
        width: 100%;
    }
    
    .p-recruitment__list--contentHead {
        font-size: 4.103vw;
        margin-top: 7.692vw;
    }
    
    .p-recruitment__list--contentTxt {
        font-size: 3.077vw;
        margin-top: 6.41vw;
    }
    
    .p-recruitment__list--contentBtn {
        margin-top: 6.41vw;
    }
    
    .p-recruitment__list--contentBtnLink {
        padding: 0 6.41vw;
        height: 17.436vw;
        font-size: 4.615vw;
    }
    
    .p-recruitment__list--contentBtnLink::after {
        height: 3.59vw;
        right: 6.41vw;
        top: calc(50% - 1.795vw);
        width: 3.59vw;
    }
    
    .p-recruitment__list--contentBtnLink .--small {
        font-size: 2.564vw;
        margin-left: 3.846vw;
    }
    
    .p-recruitment__contents--txt {
        margin-top: 15.385vw;
        font-size: 3.59vw;
        line-height: 2.1;
    }
}

/*===========================================================================*/
/*  privacy policy  */
/*===========================================================================*/
.p-privacy-policy {
    padding: 10vw 12vw;
}

.p-privacy-policy__txt {
    font-size: .933vw;
    line-height: 2.2;
    letter-spacing: .01em;
}

@media screen and (max-width: 769px) {
    .p-privacy-policy {
        padding: 15.384vw 7.692vw;
    }
    
    .p-privacy-policy__txt {
        font-size: 3.077vw;
    }
}

/*===========================================================================*/
/*  thanks  */
/*===========================================================================*/
.p-thanks__head {
    text-align: center;
    font-size: 5.467vw;
    line-height: 1.3;
    letter-spacing: .08em;
    font-weight: 200;
}

.p-thanks {
    padding: 6.667vw 0 10.667vw;
}

.p-thanks__txt01 {
    font-size: 1.6vw;
    text-align: center;
    line-height: 1.55;
    letter-spacing: .06em;
    font-weight: 700;
}

.p-thanks__txt02 {
    font-size: 1.067vw;
    text-align: center;
    line-height: 2.46;
    letter-spacing: .01em;
    margin-top: 2vw;
}

.c-recruitment__wrapper--btn.--thanks {
    margin-top: 6.667vw;
}

@media screen and (max-width: 768px) {
    .p-thanks__head {
        font-size: 8.718vw;
    }
    
    .p-thanks {
        padding: 8.974vw 0 28.205vw;
    }
    
    .p-thanks__txt01 {
        font-size: 4.615vw;
    }
    
    .p-thanks__txt02 {
        font-size: 3.59vw;
        margin-top: 7.692vw;
    }
    
    .c-recruitment__wrapper--btn.--thanks {
        margin-top: 6.667vw;
    }
}

/*===========================================================================*/
/*  contact  */
/*===========================================================================*/
.p-contactMv__txt {
    margin-top: 5.333vw;
    text-align: center;
    font-size: 1.067vw;
    line-height: 2.46;
    letter-spacing: .01em;
}

.p-contact {
    padding: 5.333vw 21.333vw 10vw;
}

.p-contact__table dl {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    line-height: 1.467;
    font-size: 1vw;
    margin-top: 2vw;
}

.p-contact__table dl:nth-of-type(1) {
    margin-top: 0;
}
.p-contact__table dl:nth-of-type(2) {
    margin-top: 3.133vw;
}

.p-contact__table dl dt {
    width: calc(100% - 42.333vw);
    font-weight: 400;
    padding-top: 1vw;
}

#confirm .p-contact__table dl dt {
    padding-top: 0;
}

.p-contact__table dl:nth-of-type(1) dt {
    padding-top: 0;
}

.p-contact__table dl dd {
    width: 42.333vw;
}

.p-contact__table dl dd.--radio {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 9vw;
}

#confirm .p-contact__table dl dd.--radio {
    height: auto;
}

#confirm .mw_wp_form .horizontal-item + .horizontal-item,
#contact .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
}

.mwform-radio-field input[type="radio"] {
    opacity: 0;
    appearance: none;
    width: 0;
    height: 0;
}

.p-contact__table dl dd.--radio .mwform-radio-field-text {
    padding-left: 1.667vw;
    position: relative;
}

.p-contact__table dl dd.--radio .mwform-radio-field-text::before {
    position: absolute;
    top: .067vw;
    left: 0;
    width: 1vw;
    height: 1vw;
    border: 1px solid #e2e2e2;
    background: #fafafa;
    content: "";
    border-radius: 50%;
}

.p-contact__table dl dd.--radio .mwform-radio-field-text::after {
    position: absolute;
    top: .267vw;
    left: .2vw;
    width: .6vw;
    height: .6vw;
    background: #121921;
    content: "";
    border-radius: 50%;
    opacity: 0;
}

.p-contact__table dl dd.--radio input:checked + span::after {
    opacity: 1;
}

.p-contact__table input[type="text"],
.p-contact__table input[type="email"] {
    width: 100%;
    height: 3.667vw;
    border-radius: 5px;
    background-color: #fafafa;
    border: #e2e2e2 solid 1px;
    padding: 1.067vw 1.333vw;
}

.p-contact__table textarea {
    width: 100%;
    min-height: 11vw;
    border-radius: 5px;
    background-color: #fafafa;
    border: #e2e2e2 solid 1px;
    padding: 1.067vw 1.333vw;
    resize: vertical;
}

.p-contact__privacy-policy {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 5.333vw;
}

#confirm .p-contact__privacy-policy {
    display: none;
}

.p-contact__privacy-policy--txt {
    font-size: 1.067vw;
    line-height: 1;
    letter-spacing: .01em;
}

.p-contact__privacy-policy--link {
    font-weight: 500;
    text-decoration: underline;
}

.p-contact__privacy-policy .mwform-checkbox-field {
    margin-top: -.133vw;
}

#contact input[type="checkbox"] {
    transform: translate(0px, -.1vw);
    -webkit-transform: translate(0px, -.1vw);
    -moz-transform: translate(0px, -.1vw);
    -ms-transform: translate(0px, -.1vw);
    -o-transform: translate(0px, -.1vw);
}

.p-contact__btn {
    display: flex;
    justify-content: center;
    margin-top: 4.667vw;
}

#confirm .p-contact__btn {
    flex-direction: row-reverse;
}

.p-contact__btn input[name="submitConfirm"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 27.667vw;
    height: 5.467vw;
    background-color: #fafafa;
    border: #e2e2e2 solid 1px;
    border-radius: 5px;
    font-size: 1.067vw;
    font-weight: 700;
    letter-spacing: .1em;
    color: #121921;
}

.p-contact__btn button[name="submitBack"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20vw;
    height: 5.467vw;
    background-color: #fafafa;
    border: #e2e2e2 solid 1px;
    border-radius: 5px;
    font-size: 1.067vw;
    font-weight: 700;
    letter-spacing: .1em;
    color: #121921;
}

#confirm .p-contact__btn>input {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20vw;
    height: 5.467vw;
    background-color: #121921;
    border: #121921 solid 1px;
    border-radius: 5px;
    font-size: 1.067vw;
    font-weight: 700;
    letter-spacing: .1em;
    color: #fff;
    margin-left: 1.333vw;
}

.p-contact__btn input[name="mwform_submit-473"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20vw;
    height: 5.467vw;
    background-color: #121921;
    border: #121921 solid 1px;
    border-radius: 5px;
    font-size: 1.067vw;
    font-weight: 700;
    letter-spacing: .1em;
    color: #fff;
    margin-left: 1.333vw;
}

@media screen and (min-width: 769px) {
    .p-contact__btn input {
        transition: opacity .5s;
        -webkit-transition: opacity .5s;
        -moz-transition: opacity .5s;
        -ms-transition: opacity .5s;
        -o-transition: opacity .5s;
    }

    .p-contact__btn input:hover {
        opacity: .7;
    }
}

@media screen and (max-width: 768px) {
    .p-contactMv__txt {
        margin-top: 12.821vw;
        font-size: 3.59vw;
    }
    
    .p-contact {
        padding: 17.949vw 7.692vw 20.513vw;
    }
    
    .p-contact__table dl {
        display: block;
        font-size: 3.333vw;
        margin-top: 6.41vw;
    }
    
    .p-contact__table dl:nth-of-type(2) {
        margin-top: 6.41vw;
    }
    
    .p-contact__table dl dt {
        width: 100%;
        padding-top: 0;
    }
    
    .p-contact__table dl:nth-of-type(1) dt {
        padding-top: 0;
    }
    
    .p-contact__table dl dd {
        width: 100%;
        margin-top: 2.564vw;
    }
    
    .p-contact__table dl dd.--radio {
        height: 30.769vw;
    }
    
    .p-contact__table dl dd.--radio .mwform-radio-field-text {
        padding-left: 4.485vw;
    }
    
    .p-contact__table dl dd.--radio .mwform-radio-field-text::before {
        top: .25vw;
        left: 0;
        width: 3.333vw;
        height: 3.333vw;
    }
    
    .p-contact__table dl dd.--radio .mwform-radio-field-text::after {
        top: .91vw;
        left: .692vw;
        width: 2vw;
        height: 2vw;
    }
    
    .p-contact__table input[type="text"],
    .p-contact__table input[type="email"] {
        height: 12.308vw;
        padding: 3.846vw;
    }
    
    .p-contact__table textarea {
        min-height: 37.18vw;
        padding: 3.846vw;
    }
    
    .p-contact__privacy-policy {
        margin-top: 10.256vw;
    }
    
    .p-contact__privacy-policy--txt {
        font-size: 3.59vw;
    }
    
    .p-contact__privacy-policy .mwform-checkbox-field {
        margin-top: -.233vw;
    }

    #contact input[type="checkbox"] {
        transform: translate(0px, -.7vw);
        -webkit-transform: translate(0px, -.7vw);
        -moz-transform: translate(0px, -.7vw);
        -ms-transform: translate(0px, -.7vw);
        -o-transform: translate(0px, -.7vw);
    }
    
    .p-contact__btn {
        margin-top: 10.256vw;
    }

    #confirm .p-contact__btn {
        flex-direction: column-reverse;
        align-items: center;
    }
    
    .p-contact__btn input[name="submitConfirm"] {
        width: 74.359vw;
        height: 15.384vw;
        font-size: 3.59vw;
    }
    
    .p-contact__btn button[name="submitBack"] {
        width: 74.359vw;
        height: 15.384vw;
        font-size: 3.59vw;
    }
    
    #confirm .p-contact__btn>input {
        width: 74.359vw;
        height: 15.384vw;
        font-size: 3.59vw;
        margin-left: 0;
        margin-top: 3.077vw;
    }

    .p-contact__btn input[name="mwform_submit-473"] {
        width: 74.359vw;
        height: 15.384vw;
        font-size: 3.59vw;
        margin-left: 0;
        margin-top: 3.077vw;
    }
}

/*===========================================================================*/
/*  wp mw form  */
/*===========================================================================*/
.mwform-checkbox-field input,
.mwform-radio-field input {
	margin-right: 0 !important;
}

[type="radio"] {
    -webkit-appearance: unset !important;
    appearance: unset !important;
}

/*===========================================================================*/
/*  service02  */
/*===========================================================================*/
.c-service-tool.--kintaro {
    padding-top: 2vw;
    padding-bottom: 2vw;
    margin-top: 5.333vw;
}

.c-service-tool.--kintaro .c-service-tool__logo {
    width: 19.2vw;
    margin-top: 2.267vw;
    margin-bottom: 2.267vw;
}

.c-service-tool.--kintaro .c-service-tool__head {
    white-space: nowrap;
}

.c-service-tool.--crossing {
    margin-top: 5.333vw;
    padding-right: 8.467vw;
}

.c-service-tool.--crossing .c-service-tool__logo {
    width: 19.6vw;
    margin-top: 3.333vw;
    margin-bottom: 3.333vw;
}

.c-service-tool.--crossing .p-serviceJunction__right {
    width: 33.867vw;
}

.c-service-tool.--interchange {
    margin-top: 5.333vw;
}

.c-service-tool.--interchange .c-service-tool__logo {
    width: 25.267vw;
    margin-top: 3.333vw;
    margin-bottom: 3.333vw;
}

@media screen and (max-width: 768px) {
    .c-service-tool.--kintaro {
        padding-top: 2vw;
        padding-bottom: 7.692vw;
        margin-top: 12.821vw;
    }
    
    .c-service-tool.--kintaro .c-service-tool__logo {
        width: 44.615vw;
        margin-top: 7.692vw;
        margin-bottom: 2vw;
    }
    
    .c-service-tool.--kintaro .c-service-tool__head {
        white-space: wrap;
        margin-top: 0;
    }
    
    .c-service-tool.--crossing {
        margin-top: 12.821vw;
        padding-right: 5.128vw;
    }
    
    .c-service-tool.--crossing .c-service-tool__logo {
        width: 46.154vw;
        margin-top: 11.795vw;
        margin-bottom: 5vw;
    }
    
    .c-service-tool.--crossing .p-serviceJunction__right {
        width: 62.564vw;
    }
    
    .c-service-tool.--interchange {
        margin-top: 12.821vw;
    }
    
    .c-service-tool.--interchange .c-service-tool__logo {
        width: 55.385vw;
        margin-top: 11.026vw;
        margin-bottom: 6.333vw;
    }

    .c-service-tool.--interchange .c-service-tool__head {
        white-space: nowrap;
        left: -1vw;
        position: relative;
    }
}
