section .container,
section .min-container{
    z-index:2;
}
.p-context+.p-context{
    margin-top:.938rem;
}
.s-main-visual{
    padding-bottom:50px;
}
.s-main-visual .abs-bg{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    background:url(../img/top/mv-bg-sp.png) bottom center / cover no-repeat;
}
.s-main-visual .flex-container{
    padding:0 .938rem;
}
.s-main-visual .flex{
    gap:.938rem;
}
.s-main-visual .h1-ttl{
    font-size:var(--fs-2xl);
}
.s-main-visual .h1-ttl .span-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.938rem;
    white-space:nowrap;
}
.s-main-visual .span-wrap img{
    width:clamp(5rem, 4.85vi + 3.86rem, 7.5rem);
}
.s-main-visual .span-wrap .twin-img{
    display:flex;
}
.s-main-visual .span-wrap .twin-img img{
    width:clamp(3.125rem,2.42vi + 2.56rem,4.375rem);
}
.s-main-visual .lead-txt{
    font-weight:var(--fw-md);
    text-align:center;
    white-space:nowrap;
    margin-top:.625rem;
}
.s-main-visual .mlw-logo--wrap{
    display:flex;
    justify-content:center;
    gap:1.25rem;
    margin-top:.625rem;
}
.s-main-visual .mlw-logo--wrap .en-txt{
    font-size:var(--fs-md);
}
.s-main-visual .mlw-logo--wrap img{
    width:clamp(10rem,7.27vi + 8.3rem,13.75rem);
}
.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;
}
.s-concept .flex{
    gap:2.5rem;
}
.marquee,
.marquee-reverse{
    display:flex;
}
.marquee-reverse{
    margin-top:.938rem;
}
.marquee h2,
.marquee-reverse h2{
    font-family:var(--font-en);
    font-size:clamp(4.5rem,8.48vi + 2.51rem,8.875rem);
    font-weight:var(--fw-xl);
    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,
.marquee-reverse .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,
.marquee-reverse .mq-img img{
    height:100%;
    object-fit:cover;
    object-position:center;
}
.s-services{
    margin-top:7.5rem;
    background-color:var(--hex-white);
}
.s-services .container{
    margin-top:-6.25rem;
}
.s-services .abs-bg{
    position:absolute;
    width:100%;
    height:100%;
    top:-5rem;
    left:0;
    background:url(../img/top/service-bg.png) top center / 100% auto no-repeat;
}
.s-services .services-content{
    margin-top:2.5rem;
}
.services-content dl+dl{
    margin-top:2.5rem;
}
.services-content dd{
    margin-top:.625rem;
}
.services-content h3{
    font-size:var(--fs-md);
    font-weight:var(--fw-lg);
    text-align:center;
    margin-bottom:.625rem;
}
.s-partners{
    background-color:var(--hex-primary);
    color:var(--hex-white);
}
.s-partners .p-ttl span{
    border-color:var(--hex-white);
}
.s-partners .flex{
    gap:1.25rem;
}
.s-activities{
    padding-bottom:clamp(9.375rem,18.18vi + 5.11rem,18.75rem);
}
.s-activities .flex{
    gap:1.25rem;
}
.s-activities .flex > div:nth-of-type(3){
    display:flex;
    gap:.938rem;
}
.s-activities .sns-follow{
    display:flex;
    gap:.938rem;
}
.s-activities .sns-follow img{
    width:1.5rem;
}
.s-company{
    padding:0;
    z-index:2;
}
.s-company .bf-bg{
    position:absolute;
    top:0;
    right:0;
    left:0;
    width:100%;
    height:100%;
    background:var(--hex-white);
    transform:scale(1.15);
    border-radius:12.5rem;
}
.s-company .h2-ttl,
.s-company .p-ttl,
.s-contact .h2-ttl,
.s-contact .p-ttl{
    text-align:center;
}
.s-company .flex{
    gap:1.25rem;
    margin-top:2.5rem;
}
.s-company figure{
    border-radius:.938rem;
    overflow:hidden;
}
.s-company figure img{
    height:100%;
    object-fit:cover;
    object-position:center;
}
.s-company .bricksnuk-logo{
    margin-bottom:1.25rem;
}
.s-company .bricksnuk-logo img{
    width:220px;
}
.s-company dl{
    display:flex;
}
.s-company dl+dl{
    margin-top:1.25rem;
}
.s-company dl dt{
    font-weight:var(--fw-md);
    flex-shrink:0;
    width:clamp(6.25rem,4.85vi + 5.11rem,8.75rem);
}
.s-company dl dd{
    flex-basis:auto;
    width:100%;
}
.s-cta{
    padding-top:clamp(9.375rem,18.18vi + 5.11rem,18.75rem);
    background-color:var(--hex-primary);
    color:var(--hex-white);
    z-index:1;
}
.s-cta h3{
    font-size:var(--fs-lg);
    text-align:center;
    white-space:nowrap;
}
.s-cta .cta-reps{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.625rem;
    margin-top:1.25rem;
}
.s-cta .cta-reps > span{
    width:clamp(3.125rem,1.21vi + 2.84rem,3.75rem);
}
.s-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);
}
.s-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;
}
.s-cta .cta-btns a.viber-cta--btn{
    background:linear-gradient(90deg,rgba(241,245,249,1)50%,rgba(8,47,73,.75)100%);
}
.s-cta .cta-btns a > span{
    line-height:1;
}
.s-cta .cta-btns a > span:nth-of-type(1){
    width:2.5rem;
}
.s-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;
}
.s-cta .cta-btns .viber-cta--btn .cta-arr{
    background:url(../img/circle-arr-wht.svg) center / contain no-repeat;
}
.partners-list{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:2.5rem;
    margin-top:2.5rem;
}
.partners-list > div{
    width:calc(50% - 1.5rem);
}
/*-- media query 60rem --*/
@media screen and (min-width:60rem){
    .s-main-visual{
        padding:6.25rem 0 5rem 0;
    }
    .s-main-visual .abs-bg{
        background:url(../img/top/mv-bg.png) bottom center / cover no-repeat;
    }
    .s-main-visual .flex{
        flex-direction:row;
        gap:0;
    }
    .s-main-visual .flex > div{
        width:50%;
    }
    .s-concept .flex{
        flex-direction:row-reverse;
        align-items:center;
    }
    .s-concept .flex > div{
        width:50%;
    }
    .s-services .abs-bg{
        top:-7.5rem;
    }
    .s-services .container{
        margin-top:-3.125rem;
    }
    .services-content{
        display:flex;
        flex-wrap:wrap;
        gap:1.25rem;
    }
    .services-content dl{
        width:calc(33.33333% - .875rem);
    }
    .services-content dl+dl{
        margin-top:0;
    }
    .s-services .p-context{
        width:50%;
    }
    .s-partners .flex{
        flex-direction:row;
    }
    .s-partners .flex > div:nth-of-type(1){
        flex-shrink:0;
        width:12.5rem;
    }
    .s-partners .flex > div:nth-of-type(2){
        flex-basis:auto;
        width:100%;
    }
    .s-activities .flex{
        flex-direction:row;
    }
    .s-activities .flex > div:nth-of-type(1),
    .s-activities .flex > div:nth-of-type(3){
        flex-shrink:0;
        width:12.5rem;
    }
    .s-activities .flex > div:nth-of-type(2){
        flex-basis:auto;
        width:100%;
    }
    .s-activities .flex > div:nth-of-type(3){
        flex-direction:column;
        align-items:center;
    }
    .s-company .flex{
        flex-direction:row;
        gap:3.75rem;
    }
    .s-company .flex > div{
        width:50%;
    }
    .s-company .bf-bg{
        top:3.125rem;
        transform:scale(1.36);
        border-radius:50%;
    }
    .s-cta .cta-btns{
        flex-direction:row;
    }
    .s-cta .cta-btns a{
        gap:2.5rem;
    }
    .contact-content{
        padding:3.75rem;
        border-radius:3.75rem;
    }
    .partners-list{
        justify-content:space-evenly;
        margin-top:4rem;
    }
    .partners-list > div{
        max-width:200px;
    }
}
/*-- media query 75rem --*/
@media screen and (min-width:75rem){
    .s-main-visual .flex > div{
        width:45%;
    }
    .s-main-visual .flex .main-img img{
        width:clamp(40rem,19.44vi + 25.42rem,48.75rem);
    }
}
/*-- media query 90rem --*/
@media screen and (min-width:90rem){
    .s-main-visual .flex > div{
        width:50%;
    }
}