section .container,
section .min-container{
    z-index:2;
}
.header-nav ul a{
    font-size:.875rem;
}
.p-context+.p-context{
    margin-top:.938rem;
}
.cta-btn{
    margin-top:.938rem;
    text-align:center;
}
.cta-btn a{
    font-weight:var(--fw-md);
    display:inline-flex;
    align-items:center;
    gap:.75rem;
    padding:.625rem .938rem;
    background-color:var(--hex-primary);
    color:var(--hex-background);
    text-align:left;
    border-radius:2.5rem;
    overflow:hidden;
}
.cta-btn .cta-reps{
    display:flex;
}
.cta-btn .cta-reps img{
    width:clamp(2.5rem,2.42vi + 1.93rem,3.75rem);
}
.cta-btn .cta-reps img+img{
    margin-left:-.625rem;
}
.cta-btn .line-icon{
    width:clamp(1.875rem,2.42vi + 1.31rem,3.125rem);
    line-height:1;
}
.marquee,
.marquee-reverse{
    display:flex;
}
.marquee-reverse{
    margin-top:.938rem;
}
.marquee h2{
    font-family:var(--font-en);
    font-size:clamp(4.5rem,8.48vi + 2.51rem,8.875rem);
    font-weight:var(--fw-2xl);
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(.938rem,1.82vi + .51rem,1.875rem);
    white-space:nowrap;
    margin-right:1.875rem;
    line-height:1;
}
.marquee .mq-img{
    width:clamp(8.75rem,7.27vi + 7.05rem,12.5rem);
    height:clamp(5.625rem,6.06vi + 4.2rem,8.75rem);
    border-radius:3.75rem;
    overflow:hidden;
}
.marquee .mq-img img{
    height:100%;
    object-fit:cover;
    object-position:center;
}
.s-main-visual{
    height:100vh;
    padding:.625rem;
}
.s-main-visual .main-visual--bg{
    position:relative;
    height:100%;
    border-radius:1.25rem;
    overflow:hidden;
}
.s-main-visual .main-visual--bg::after{
    content:'';
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    background:linear-gradient(180deg,rgba(255,255,255,0)30%,rgba(245,254,235,1)100%);
}
.s-main-visual .flex-container{
    position:relative;
    height:100%;
    z-index:2;
}
.s-main-visual .flex{
    height:calc(100% - 2.5rem);
    align-items:flex-start;
    justify-content:flex-end;
    gap:1.25rem;
}
.s-main-visual h1{
    font-size:clamp(1.625rem,2.43vi + 1.06rem,3rem);
    margin-bottom:.938rem;
    line-height:1.4;
}
.s-main-visual .lead-p{
    font-size:clamp(1rem,.66vi + .84rem,1.375rem);
    font-weight:var(--fw-lg);
}
.s-main-visual .cta-btn{
    margin-top:0;
}
.s-service-concept .p-ttl{
    text-align:center;
}
.s-service-concept .h2-ttl{
    margin:.625rem 0;
}
.s-service-concept .content-img{
    position: relative;
    max-width:60rem;
    margin:0 auto;
    padding-top:2.5rem;
}
.s-service-concept picture{
    position:relative;
    z-index:2;
}
.rotating-text-wrap{
    position:absolute;
    display:inline-block;
    top:1.875rem;
    left:.875rem;
    width:calc(100% - 1.875rem);
    height:calc(100% - 1.875rem);
    margin:auto;
}
.rotating-text{
    position:relative;
    width:100%;
    height:100%;
    margin:0 auto;
}
.rotating-text .rotating-svg {
    position:absolute;
    display:inline-block;
    right:0;
    bottom:0;
    left:0;
    margin:0 auto;
    width:100%;
    height:100%;
    opacity:.1;
}
.concept-slider{
    padding-bottom:.625rem;
    overflow:inherit;
}
.concept-slider .swiper-slide{
    width:260px;
    height:200px;
    padding:1.25rem;
    background-color:rgba(255,255,255,.85);
    border-radius:1.25rem;
    text-align:center;
}
.concept-slider .swiper-slide h3{
    margin-bottom:.625rem;
}
.s-service-concept .content-img::before{
    content:'';
    position:absolute;
    width:78%;
    height:78%;
    top:40px;
    right:0;
    left:0;
    margin:auto;
    background:url(../img/services/services-concept-bg.png) center / contain no-repeat;
}
.s-users-case{
    background-color:var(--hex-white);
}
.s-users-case .abs-bg{
    position:absolute;
    width:100%;
    height:100%;
    right:0;
    bottom:-.625rem;
    left:0;
    margin:auto;
    background:url(../img/services/user-case-bg.png) bottom center / contain no-repeat;
}
.s-users-case .flex{
    margin-top:clamp(1.25rem,6.63vi + -.3rem,5rem);
}
.s-users-case .flex > div:nth-of-type(2){
    margin-top:1.25rem;
}
.s-users-case h3{
    font-family:var(--font-en);
    font-size:clamp(3.75rem,4.64vi + 2.66rem,6.375rem);
    font-weight:var(--fw-xl);
    text-align:center;
}
.s-users-case .content-txt{
    position:relative;
    padding:1.25rem;
    border:.063rem solid var(--hex-neutral);
    border-radius:1.25rem;
}
.s-users-case .flex > div:nth-of-type(1){
    padding-bottom:5rem;
}
.s-users-case .flex > div:nth-of-type(1) .content-txt::after{
    content:'';
    position:absolute;
    width:60px;
    height:100px;
    right:0;
    bottom:-101px;
    left:0;
    margin:auto;
    background:url(../img/services/arrow-down.svg) center / contain no-repeat;
    z-index:0;
}
.s-users-case .flex > div:nth-of-type(2) .content-txt{
    background-color:var(--hex-primary);
    color:var(--hex-white);
}
.s-users-case .content-txt ol{
    font-size:clamp(1rem,.66vi + .84rem,1.375rem);
    font-weight:var(--fw-lg);
    letter-spacing:.055em;
}
.s-users-case .content-txt ol li+li{
    margin-top:1.25rem;
}
.s-business{
    padding-bottom:0;
}
.s-business .flex{
    align-items:center;
    gap:1.875rem;
}
.s-business .h2-ttl{
    margin-top:.625rem;
}
.s-business figure{
    width:60%;
}
.s-business .content-list ol{
    font-size:clamp(1rem,.66vi + .84rem,1.375rem);
    font-weight:var(--fw-lg);
    letter-spacing:.055em;
    counter-reset:list-counter;
}
.s-business .content-list{
    margin-top:3.125rem;
}
.s-business .content-list ol li{
    counter-increment:list-counter;
    display:flex;
    gap:.5rem;
}
.s-business .content-list ol li::before{
    content:counter(list-counter) '';
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:2.5rem;
    height:2.5rem;
    background-color:var(--hex-white);
    border-radius:50%;
    line-height:0;
}
.s-business .content-list ol li+li{
    margin-top:1.25rem;
}
.s-flow{
    margin-top:-.625rem;
    background-color:var(--hex-primary);
    color:var(--hex-white);
}
.s-flow .p-ttl span{
    border-color:var(--hex-white);
}
.flow-list{
    display:flex;
    flex-wrap:wrap;
    gap:1.25rem;
}
.flow-list dl{
    width:60%;
}
.flow-list dl:nth-of-type(even){
    margin-left:auto;
}
.flow-list figure{
    border-radius:50%;
    overflow:hidden;
}
.flow-list figure img{
    height:100%;
    object-fit:cover;
    object-position:center;
}
.flow-list .flow-last figure{
    background-color:var(--hex-highlight-alt);
}
.flow-list dd{
    margin-top:.625rem;
    text-align:center;
}
.flow-list dd h3{
    font-size:var(--fs-md);
}
.flow-list dd p{
    font-size:var(--fs-base-sm);
}
.flow-list .steps-num{
    font-size:var(--fs-sm);
    font-weight:var(--fw-lg);
    position:relative;
    top:1.5rem;
    display:flex;
    gap:.5rem;
    letter-spacing:.105em;
    z-index:2;
}
.flow-list .steps-num > span:nth-of-type(2){
    font-size:1.25rem;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    width:2.5rem;
    height:2.5rem;
    background-color:var(--hex-white);
    color:var(--hex-primary);
    border-radius:50%;
}
.flow-cta{
    margin-top:clamp(1.875rem,2.21vi + 1.36rem,3.125rem);
}
.flow-cta h3{
    font-size:var(--fs-lg);
    text-align:center;
    white-space:nowrap;
    line-height:1.8;
}
.flow-cta .cta-reps{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.625rem;
    margin-top:clamp(1.25rem,1.21vi + .97rem,1.875rem);
}
.flow-cta .cta-reps > span{
    width:clamp(3.125rem,1.21vi + 2.84rem,3.75rem);
    line-height:0;
}
.flow-cta .cta-btns{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:.938rem;
    margin-top:clamp(1.25rem,1.21vi + .97rem,1.875rem);
}
.flow-cta .cta-btns a{
    font-size:var(--fs-md);
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:1.25rem;
    width:clamp(13.75rem,3.64vi + 12.9rem,15.625rem);
    height:clamp(3.75rem,1.21vi + 3.47rem,4.375rem);
    padding:0 1.25rem;
    background-color:var(--hex-background);
    color:var(--hex-primary);
    border-radius:2.5rem;
}
.flow-cta .cta-btns a.viber-cta--btn{
    background:linear-gradient(90deg,rgba(241,245,249,1)50%,rgba(8,47,73,.75)100%);
}
.flow-cta .cta-btns a > span{
    line-height:1;
}
.flow-cta .cta-btns a > span:nth-of-type(1){
    width:2.5rem;
}
.flow-cta .cta-btns .cta-arr{
    position:absolute;
    width:2.5rem;
    height:2.5rem;
    right:.625rem;
    background:url(../img/circle-arr.svg) center / contain no-repeat;
}
.flow-cta .cta-btns .viber-cta--btn .cta-arr{
    background:url(../img/circle-arr-wht.svg) center / contain no-repeat;
}
.s-area .flex{
    align-items:center;
    gap:clamp(1.875rem,2.21vi + 1.36rem,3.125rem);
}
.s-area .content02{
    margin-top:clamp(1.875rem,2.21vi + 1.36rem,3.125rem);
}
.s-area h3{
    font-size:var(--fs-lg);
    margin-bottom:.938rem;
}
.s-voices{
    background-color:var(--hex-white);
}
.s-voices .voices-list{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:3.125rem;
    margin-top:1.875rem;
}
.voices-list .voice-item{
    position:relative;
    width:auto;
    height:16.25rem;
    padding:1.25rem;
    background:url(../img/services/voice-bg-clip-sp.svg) center / contain no-repeat;
}
.voices-list .voice-item::before{
    content:'';
    position:absolute;
    display:inline-block;
    width:1.625rem;
    height:1.625rem;
    top:-.75rem;
    left:10%;
    background:url(../img/services/quote-left-icon.svg) center / contain no-repeat;
}
.voice-item .voice-item-clip{
    display:flex;
    flex-direction:column;
    justify-content:center;
    height:100%;
}
.voice-item .voice-place{
    font-size:var(--fs-base-sm);
    position:absolute;
    display:flex;
    align-items:center;
    justify-content:center;
    width:clamp(3.75rem,2.21vi + 3.23rem,5rem);
    height:clamp(3.75rem,2.21vi + 3.23rem,5rem);
    right:1.25rem;
    bottom:-1.25rem;
    background-color:var(--hex-primary);
    color:var(--hex-white);
    border-radius:50%;
}
.voice-item h3{
    font-size:clamp(1.125rem,.66vi + .97rem,1.5rem);
    margin-bottom:.625rem;
    padding-bottom:.625rem;
    border-bottom:.063rem solid var(--hex-neutral);
}
.s-outro{
    padding:0;
    color:var(--hex-white);
}
.s-outro .s-outro--bg{
    padding-top:5rem;
    background-color:var(--hex-primary);
}
.s-outro .abs-bg{
    position:absolute;
    width:100%;
    height:7.5rem;
    bottom:-6.25rem;
    left:0;
    background:url(../img/services/points-bg.png) top center / 100% auto no-repeat;
}
.s-outro .points-list{
    max-width:60rem;
    margin:0 auto clamp(1.875rem,2.21vi + 1.36rem,3.125rem) auto;
}
.s-outro .points-list p{
    font-size:var(--fs-base-sm);
    margin-top:1.875rem;
}
.s-outro h3{
    font-size:var(--fs-lg);
    text-align:center;
    white-space:nowrap;
    line-height:1.8;
}
.s-outro .pointers{
    position:relative;
    display:flex;
    justify-content:center;
}
.pointers .points-users{
    position:absolute;
    display:inline-block;
    width:100%;
    bottom:-5rem;
}
.pointers .pointers-list{
    position:relative;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:.625rem;
    width:100%;
    top:8.75rem;
    z-index:2;
}
.pointers .pointers-list > div{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:.625rem;
    width:calc(50% - .313rem);
}
.pointers .pointers-list > div.last{
    width:100%;
}
.pointers .pointers-list > div span{
    font-size:var(--fs-base-sm);
    font-weight:var(--fw-md);
    background-color:var(--hex-white);
    color:var(--hex-primary);
    padding:.625rem 1.25rem;
    text-align:center;
    border-radius:1.25rem;
}
.s-contact{
    padding-top:clamp(9.375rem,25.89vi + 3.31rem,34.375rem);
}
.s-contact .marquee-container{
    margin-bottom:5rem;
}
.s-contact .contant-list{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:1.25rem;
    margin:0 auto;
}
.contant-list .list-item{
    width:100%;
    text-align:center;
}
.contant-list .list-item a{
    font-size:var(--fs-lg);
    font-weight:var(--fw-md);
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:1.25rem;
    width:clamp(13.75rem,8.84vi + 11.68rem,18.75rem);
    height:clamp(5rem,2.21vi + 4.48rem,6.25rem);
    padding:0 1.5rem;
    background-color:var(--hex-white);
    color:var(--hex-primary);
    border-radius:3.125rem;
    letter-spacing:.055em;
}
.contant-list .list-item a.viber-cta--btn{
    background:linear-gradient(90deg,rgba(241,245,249,1)5%,rgba(8,47,73,.95)100%);
    color:var(--hex-white);
}
.contant-list .list-item a.phone-cta--btn{
    background-color:var(--hex-primary);
    color:var(--hex-white);
}
.contant-list .list-item a span{
    line-height:0;
}
.contant-list .list-item a .cta-arr{
    position:absolute;
    width:clamp(3.125rem,1.1vi + 2.87rem,3.75rem);
    height:clamp(3.125rem,1.1vi + 2.87rem,3.75rem);
    right:.625rem;
    background:url(../img/circle-arr.svg) center / contain no-repeat;
}
.contant-list .list-item a.viber-cta--btn .cta-arr,
.contant-list .list-item a.phone-cta--btn .cta-arr{
    background:url(../img/circle-arr-wht.svg) center / contain no-repeat;
}
.list-item a .a-icon{
    width:clamp(2.5rem,2.21vi + 1.98rem,3.75rem);
}
.contant-list .list-item p{
    margin-top:.625rem;
}
.s-contact h3{
    font-size:var(--fs-lg);
    text-align:center;
    white-space:nowrap;
    margin:clamp(1.875rem,2.21vi + 1.36rem,3.125rem) 0 .625rem 0;
}
.s-contact .notice-txt{
    text-align:center;
}
.s-support-services-link{
    padding-top:0;
}
.s-support-services-link ul{
    display:flex;
    flex-wrap:wrap;
    gap:.625rem;
    margin-top:1.5rem;
}
.s-support-services-link ul a{
    font-size:.75rem;
    position:relative;
    padding:.313rem .5rem;
    border:1px solid var(--hex-primary);
    text-align:center;
    overflow:hidden;
}
.s-support-services-link ul a::before{
    content:'';
    position:absolute;
    width:0;
    height:100%;
    top:0;
    left:0;
    transform:translateX(-100%);
    transform-origin:left;
    background-color:var(--hex-primary);
    transition:transform .6s ease;
    z-index:-1;
}
.s-support-services-link ul a:hover{
    color:var(--hex-background);
}
.s-support-services-link ul a:hover::before{
    width:100%;
    transform:translateX(0);
}
.p-mh-care-support .s-main-visual .flex{
    height:calc(100% - 1.5rem);
}
.p-global-career-support .s-main-visual .flex{
    height:calc(100% - 1.25rem);
    align-items:center;
    text-align:center;
}
.p-hskill-acquisition-support .s-main-visual .flex{
    height:calc(100% - 1.25rem);
}
/*-- media query 60rem --*/
@media screen and (min-width:60rem){
    .s-main-visual .flex{
        flex-direction:row;
        align-items:flex-end;
        justify-content:space-between;
    }
    .s-service-concept .h2-ttl,
    .s-service-concept .p-context{
        text-align:center;
    }
    .s-service-concept .content-img{
        margin:5rem auto 0 auto;
        padding-top:3.75rem;
        overflow:hidden;
    }
    .rotating-text-wrap{
        top:.625rem;
        left:3.75rem;
        width:calc(100% - 7.5rem);
        height:calc(100% - 7.5rem);
    }
    .s-service-concept .content-img::before{
        content:none;
    }
    .s-users-case .flex > div{
        width:50%;
    }
    .s-users-case .flex > div:nth-of-type(2){
        margin-top:-5rem;
    }
    .s-users-case .flex > div:nth-of-type(1) .content-txt::after{
        content:none;
    }
    .s-business figure{
        width:90%;
    }
    .flow-cta .cta-btns{
        flex-direction:row;
    }
    .flow-cta .cta-btns a{
        gap:2.5rem;
    }
    .s-users-case .flex{
        flex-direction:row;
        gap:6.25rem;
    }
    .s-business .flex{
        flex-direction:row-reverse;
        gap:5rem;
    }
    .s-business .flex > div{
        width:50%;
    }
    .flow-list{
        flex-wrap:nowrap;
    }
    .s-area .flex{
        flex-direction:row;
    }
    .s-area .content01 .flex > div:nth-of-type(1){
        position:relative;
        left:6.25rem;
    }
    .s-area .content02{
        margin-top:0;
    }
    .s-area .content02 .flex{
        flex-direction:row-reverse;
    }
    .s-area .content02 .flex > div:nth-of-type(2){
        width:60%;
    }
    .flow-list dl{
        width:20%;
    }
    .s-area .flex > div{
        width:50%;
    }
    .s-voices .voices-list{
        flex-direction:row;
    }
    .voices-list .voice-item{
        width:28.75rem;
        height:18.75rem;
        background:url(../img/services/voice-bg-clip.svg) center / 100% auto no-repeat;
    }
    .voices-list .voice-item::before{
        top:-.313rem;
    }
    .s-outro .points-list p{
        text-align:right;
    }
    .s-outro .abs-bg{
        height:38.75rem;
        bottom:-34.375rem;
    }
    .pointers .pointers-list{
        gap:2.5rem;
        top:18.75rem;
    }
    .pointers .pointers-list > div{
        width:calc(50% - 1.25rem);
        gap:2.5rem;
    }
    .pointers .points-users{
        width:58%;
        bottom:-20.625rem;
    }
    .s-contact .contant-list{
        gap:1.5rem;
    }
    .contant-list .list-item{
        width:calc(50% - .85rem);
    }
    .contant-list .list-item a{
        font-size:42px;
        justify-content:center;
        width:100%;
        height:8.75rem;
        border-radius:5rem;
    }
    .list-item a .a-icon{
        position:absolute;
        left:2.5rem;
        width:5rem;
    }
    .contant-list .list-item a .cta-arr{
        width:5rem;
        height:5rem;
        right:1.25rem;
    }
    .p-essential-support .s-main-visual .flex,
    .p-japanese-culture-support .s-main-visual .flex{
        flex-direction:row-reverse;
    }
    .p-mh-care-support .s-main-visual .flex > div:nth-of-type(1){
        top:-2.5rem;
    }
    .p-essential-support .s-main-visual .flex > div:nth-of-type(1),
    .p-japanese-culture-support .s-main-visual .flex > div:nth-of-type(1),
    .p-career-life-support .s-main-visual .flex > div:nth-of-type(1),
    .p-global-career-support .s-main-visual .flex > div:nth-of-type(1),
    .p-hskill-acquisition-support .s-main-visual .flex > div:nth-of-type(1),
    .p-human-resource-support .s-main-visual .flex > div:nth-of-type(1),
    .p-community-lang-support .s-main-visual .flex > div:nth-of-type(1),
    .p-corporate-support .s-main-visual .flex > div:nth-of-type(1),
    .p-pr-residency-support .s-main-visual .flex > div:nth-of-type(1){
        top:auto;
    }
    .p-global-career-support .s-main-visual .flex{
        flex-direction:column;
        align-items:center;
        justify-content:flex-end;
    }
    .p-global-career-support .s-users-case .flex,
    .p-corporate-support .s-users-case .flex{
        gap:3.75rem;
    }
    .p-global-career-support .s-users-case .flex > div:nth-of-type(1){
        width:calc(50% + 1.875rem);
    }
}
/*-- media query 75rem --*/
@media screen and (min-width:75rem){
    .s-support-services-link ul{
        gap:1.25rem;
    }
    .s-support-services-link ul li{
        width:calc(25% - 1.25rem);
    }
    .s-support-services-link ul li:last-of-type{
        width:calc(33.33333% - 1.25rem);
    }
    .s-support-services-link ul a{
        font-size:.875rem;
        width:100%;
        padding:.5rem .75rem;
    }
}
/*-- media query 90rem --*/
@media screen and (min-width:90rem){
   
}
/*-- media query 480 --*/
@media screen and (max-width:30rem){
    .s-main-visual .flex{
        height:calc(100% - 1.25rem);
    }
    .p-essential-support .s-main-visual .main-visual--bg{
        background-position:top left -250px!important;
    }
    .p-mh-care-support .s-main-visual .main-visual--bg{
        background:url(../img/services/mh-care-support/main-visual01-sp.jpg) top center / cover no-repeat!important;
    }
    .p-mh-care-support .s-main-visual .flex{
        justify-content:space-between;
        height:calc(100% - 4rem);
        margin-top:4rem;
    }
    .p-mh-care-support .s-main-visual .cta-btn{
        margin-bottom:1.25rem;
    }
    .concept-slider .swiper-slide{
        height:240px;
    }
    .p-career-life-support .s-main-visual .main-visual--bg,
    .p-global-career-support .s-main-visual .main-visual--bg{
        background-position:center bottom!important;
    }
    .p-hskill-acquisition-support .s-main-visual .flex{
        justify-content:space-between;
        height:calc(100% - 7.5rem);
        margin-top:6.25rem;
    }
    .p-pr-residency-support .s-main-visual .main-visual--bg{
        background:url(../img/services/pr-residency-support/main-visual-sp.jpg) center bottom / cover no-repeat!important;
    }
}