/* 共通 */
.section-img img{
    width: 482px;
    height: auto;    
}

.section-img {
  opacity: 1;
  transform: none;
}

.js .section-img {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.js .section-img.is-active {
  opacity: 1;
  transform: translateY(0);
}

/* FV */
#fv .section__inner{
    max-width: 1440px;
    padding: 0;
}

.fv_bg{
    width: 100%;
}

.fv__photo{
    position: absolute;
}

.photo_01{
    width: 22.5vw;
    max-width: 325px;

    top: 41px;
    left: 9.7%;

    animation-name: fv-fadeIn;
    animation-delay: 1500ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}

.photo_02{
    width: 28.5vw;
    max-width: 411px;

    top: 64px;
    right: 24.1%;

    animation-name: fv-fadeIn;
    animation-delay: 500ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}

.photo_03{
    width: 31.1vw;
    max-width: 448px;

    bottom: 0;
    left: 19.4%;

    z-index: -1;

    animation-name: fv-fadeIn;
    animation-delay: 1000ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    transform: translateY(50px);
    opacity: 0;
}

@keyframes fv-fadeIn{
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.fv-copy,.fv__text{
    position: absolute;
}

.fv-copy{
    gap: 43px;

    right: 11.3%;
    top: 62px;
}

.fv-copy h2,.fv__text p{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

.fv-copy h2{
    font-size: 32px;
    line-height: 1.25em;
    letter-spacing: 0.1em;
}

.fv__text{
    gap: clamp(26px,3.2vw,52px);

    bottom: 48px;
    right: 24%;
}

.fv__text p{
    font-size: 14px;
    line-height: 2em;
}


/* アバウト */

#about{
    padding: 160px 0;
}

/* サービス */

#service{
    background-color: #fff;
}

#service .section__inner{
    justify-content: center;

    margin: 120px auto;
}

.balloon-left{
    width: 136.37px;

    left: 80px;
    top: -40px;
}

.balloon-right{
    width: 136.37px;

    right: 79.63px;
    top: 95px;
}

/* リクルート */

#recruit{
    padding: 160px 0 130px;
}

#recruit .section__inner{
    gap: 110px;
}

#recruit .section-img{
    margin-top: 15px;
}

#recruit .btn{
    margin-left: auto;
}

@media screen and (max-width: 1079px){
    /* 共通 */
    .content{
        gap: clamp(40px,10.6vw,80px);
    }

    .content__text-box{
        gap: clamp(24px,6.4vw,48px);
    }

    .content__text{
        gap: clamp(16px,4.2vw,32px);
    }

    .section-img img{
        width: 100%;  
    }

    /* FV */
    #fv .section__inner{
        max-width: 97%;
    }

    .photo_01{
        width: 53.8vw;
        max-width: 100%;

        top: auto;
        bottom: 28%;
        left: auto;
        right: 0;

        animation-name: fv-fadeIn;
        animation-delay: 1500ms;
        animation-duration: 1.5s;
        animation-fill-mode: forwards;
        transform: translateY(50px);
        opacity: 0;
    }

    .photo_02{
        width: 60vw;
        max-width: 100%;

        top: 0px;
        left: auto;
        right: 8%;

        animation-name: fv-fadeIn;
        animation-delay: 500ms;
        animation-duration: 1.5s;
        animation-fill-mode: forwards;
        transform: translateY(50px);
        opacity: 0;
    }

    .photo_03{
        width: 64vw;
        max-width: 100%;

        top: 43.7vw;
        left: 0;

        z-index: -1;

        animation-name: fv-fadeIn;
        animation-delay: 1000ms;
        animation-duration: 1.5s;
        animation-fill-mode: forwards;
        transform: translateY(50px);
        opacity: 0;
    }

    @keyframes fv-fadeIn{
        0% {
        }
        100% {
            transform: translateY(0);
            opacity: 1;
        }
    }

    .fv__text{
        position: relative;
    }

    .fv-copy{
        gap: 0.74em;
        letter-spacing: 0.8em;
        right: 5%;
        top: 15%;
    }

    .fv-copy h2,.fv__text p{
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    }

    .fv-copy h2{
        font-size: clamp(20px,5.3vw,40px);
    }

    .fv__text{
        margin-top: clamp(27px,7.2vw,54px);
        gap: 52px;

        bottom: auto;
        right: auto;
    }

    .fv__text p{
        font-size: clamp(14px,3.7vw,28px);
    }

    /* アバウト */
    #about{
        padding: clamp(80px,21.3vw,160px) 0;
    }

    #about .section__inner{
        max-width: 84%;
        gap: 40px;
    }

    /* サービス */
    #service{
        background-color: #fff;
    }

    #service .section__inner{
        justify-content: center;

        margin:clamp(80px,21.3vw,160px) auto;
        text-align: center;
    }

    .balloon-left{
        width: 14.6vw;

        left: -5vw;
        top: -16vw;
    }

    .balloon-right{
        width: 14.6vw;

        right: 0;
        bottom: -16vw;
        top: auto;
    }

    /* リクルート */
    #recruit{
        padding: clamp(80px,21.3vw,160px) 0 clamp(40px,10.6vw,80px);
    }

    #recruit .section__inner{
        gap: clamp(40px,10.6vw,80px);
    }

    #recruit .section-img{
        margin-top: 0;
    }
}