@charset "utf-8";
#fv{
    width: 100%;
    height: 500px;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    /* ▼ h1 */
    .fv-title{
        width: fit-content;
        .visually-hidden{
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }
        .main-copy{
            font-size: clamp(30px,8.32dvw,5.5rem); /* 88px */
            font-weight: 500;
            margin-bottom: 1.5rem;
            color: var(--white);
            .sp-br{display: none;}
        }
    }
    .fv-img{
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
    }
}

.breadcrumb{
    width: 100%;
    height: 9.625rem;
    padding: 0.75rem 0;
    ol{
        width: var(--inner-width);
        margin: 0 auto;
        list-style: none;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        li{
            font-size: clamp(14px, 2.43dvw, 1.375rem); /* 14px ~ 22px */
            font-weight: 600;
            a{
                font-weight: 600;
            }
        }
        .arrow{
            width: fit-content;
            font-size: clamp(14px, 2.43dvw, 1.375rem); /* 14px ~ 22px */
            font-weight: 600;
            padding: 0 1.5em;
        }
        .textGray{
            color: var(--textGray);
        }
    }
}

#aboutUs{
    width: 100%;
    height: 655px;
    overflow: hidden;
    position: relative;
    .content{
        width: 100%;
        height: 100%;
        padding: 158px 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 3.5rem;
        h2{
            height: clamp(96px,15.5dvw,140px);
            display: flex;
            flex-direction: column;
            align-items: center;
            .main-copy{
                font-size: clamp(2rem, 5.53dvw, 3.125rem);
                margin-bottom: 0.33rem;
            }
            .ja-copy{
                font-size: clamp(1rem, 2.43dvw, 1.375rem);
                font-weight: 500;
                line-height: 2;
                padding-bottom: 0.5em;
                position: relative;
            }
            .ja-copy::after{
                content: "";
                width: 33%;
                height: 2px;
                background: var(--orange);
                position: absolute;
                left: 50%;
                bottom: 0;
                transform: translateX(-50%);
            }
        }
        p{
            text-align: center;
            .br-none{display: none;}
        }
    }
    .about-deco{
        width: auto;
        height: 100%;
        aspect-ratio: 735/769;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
    }
}

.main-inner{
    position: relative;

    #business{
        width: 100%;
        height: auto;
        overflow: hidden;
        .biz-inner{
            width: var(--inner-width);
            margin: 0 auto 6%;
            padding: 0 0 1px;
            position: relative;
            z-index: 10;
            .biz-text{
                width: 100%;
                h2{
                    height: 140px;
                    line-height: 1;
                    display: flex;
                    flex-direction: column;
                    justify-content: space-between;
                    border-left: 3px solid var(--orange);
                    padding: 1.5rem 0;
                    margin-bottom: 1.5rem;
                    .main-copy{
                        font-size: clamp(2rem,5.53dvw,3.125rem);
                        padding-left: 2rem;
                    }
                    .ja-copy{
                        font-size: clamp(1rem,2.43dvw,1.375rem);
                        font-weight: 500;
                        padding-left: 2rem;
                    }
                }
            }
            .f-layout{
                width: 100%;
                height: 100%;
                margin-bottom: 2rem;
                padding: 1.5%;
                display: flex;
                justify-content: space-between;
                align-items: stretch;
                background: var(--white);
                box-shadow: -4px 12px 22px rgba(0, 0, 0, 0.12);
                .f-img{
                    width: 30%;
                    display: block;
                    flex-shrink: 0;
                    img{
                        width: 100%;
                        height: 100%;
                        display: block;
                        object-fit: cover;
                    }
                }
                .f-text{
                    width: 68%;
                    h3{
                        line-height: 1.2;
                        margin-bottom: 0.5rem;
                        .br-none{display: none;}
                    }
                }
            }
        }
    }
    
    #portfolio{
        width: 100%;
        height: auto;
        position: relative;
        overflow: hidden;
        .portfolio-inner{
            width: var(--inner-width);
            margin: 0 auto 10%;
            padding: 0 0 1px;
            position: relative;
            z-index: 10;
            .portfolio-text{
                width: 100%;
                h2{
                    height: 140px;
                    line-height: 1;
                    display: flex;
                    flex-direction: column;
                    justify-content: space-between;
                    border-left: 3px solid var(--orange);
                    padding: 1.5rem 0;
                    margin-bottom: 1.5rem;
                    .main-copy{
                        font-size: clamp(2rem,5.53dvw,3.125rem);
                        padding-left: 2rem;
                    }
                    .ja-copy{
                        font-size: clamp(1rem,2.43dvw,1.375rem);
                        font-weight: 500;
                        padding-left: 2rem;
                    }
                }
            }
            .portfolio-item{
                width: 100%;
                background: var(--navy);
                color: var(--white);
                text-align: center;
                display: flex;
                justify-content: space-around;
                align-items: center;
                padding: 1rem 1rem;
                dt{
                    width: 30%;
                    min-width: 77px;
                    font-size: clamp(14px, 2.43dvw, 1.375rem);
                    font-weight: 600;
                    white-space: nowrap;
                }
                .border{
                    width: 1px;
                    height: 2rem;
                    background: var(--white);
                    margin: 0 1em;
                }
                dd{
                    width: 67%;
                    font-weight: 500;
                    font-size: clamp(14px, 2.43dvw, 1.375rem);
                    text-align: center;
                    ::before{
                        content: "";
                    }
                    span{
                        display: inline-block;
                        text-align: left;
                    }
                }
            }
        }
    }
    
    #overview{
        width: 100%;
        height: auto;
        position: relative;
        overflow: hidden;
        .overview-inner{
            width: var(--inner-width);
            margin: 0 auto 8%;
            padding: 0 0 1px;
            position: relative;
            z-index: 10;
            .overview-text{
                width: 100%;
                h2{
                    height: 140px;
                    line-height: 1;
                    display: flex;
                    flex-direction: column;
                    justify-content: space-between;
                    border-left: 3px solid var(--orange);
                    padding: 1.5rem 0;
                    margin-bottom: 1.5rem;
                    .main-copy{
                        font-size: clamp(2rem,5.53dvw,3.125rem);
                        padding-left: 2rem;
                    }
                    .ja-copy{
                        font-size: clamp(1rem,2.43dvw,1.375rem);
                        font-weight: 500;
                        padding-left: 2rem;
                    }
                }
            }
            .overview-content{
                width: 100%;
                text-align: left;
                display: flex;
                justify-content: space-between;
                align-items: flex-start;
                padding: 2em 0;
                border-bottom: 1px solid var(--navy);
                dt{
                    width: 6em;
                    font-size: clamp(14px, 2.43dvw, 1.375rem);
                    font-weight: 600;
                    white-space: nowrap;
                    .br-none{display: none;}
                }
                dd{
                    width: 73.33%;
                    a{
                        font-weight: 500;
                        font-size: clamp(14px, 2.43dvw, 1.375rem);
                        display: flex;
                        align-items: center;
                        img{
                            width: 12px;
                            height: auto;
                            aspect-ratio: 1;
                            position: relative;
                            top: -1px;
                        }
                    }
                }
            }
        }
    }

    #map{
        width: 100%;
        padding-bottom: 8%;
        .map-inner{
            width: var(--inner-width);
            height: 600px;
            margin: 0 auto;
            iframe{
                display: block;
                width: 100%;
                height: 100%;
            }
        }
    }

    .biz-deco{
        width: 100%;
        aspect-ratio: 1921/1294;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -10;
        img{
            display: block;
            width: 100%;
            height: auto;
        }
    }
    .biz-bg{
        width: 100%;
        height: 100%;
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: -10;
        img{
            display: block;
            width: 100%;
        }
    }
}

@media (max-width: 1260px){
    .main-inner{
        #business{
            height: auto;
            min-height: auto;
            .biz-inner{
                position: relative;
                left: auto;
                transform: none;
                padding: 0 0 1px;
                .biz-text{
                    h2{
                        height: clamp(96px,15.5dvw,140px);
                        padding: 1.5rem 0;
                        margin-bottom: 2rem;
                        .main-copy{
                            padding-left: 1rem;
                            margin-bottom: 0.33rem;
                        }
                        .ja-copy{
                            padding-left: 1rem;
                        }
                    }
                }
            }
        }

        #portfolio{
            height: auto;
            min-height: auto;
            .portfolio-inner{
                position: relative;
                left: auto;
                transform: none;
                padding: 0 0 1px;
                .portfolio-text{
                    h2{
                        height: clamp(96px,15.5dvw,140px);
                        padding: 1.5rem 0;
                        margin-bottom: 2rem;
                        .main-copy{
                            padding-left: 1rem;
                            margin-bottom: 0.33rem;
                        }
                        .ja-copy{
                            padding-left: 1rem;
                        }
                    }
                }
            }
        }

        #overview{
            height: auto;
            min-height: auto;
            .overview-inner{
                position: relative;
                left: auto;
                transform: none;
                padding: 0 0 1px;
                .overview-text{
                    h2{
                        height: clamp(96px,15.5dvw,140px);
                        padding: 1.5rem 0;
                        margin-bottom: 2rem;
                        .main-copy{
                            padding-left: 1rem;
                            margin-bottom: 0.33rem;
                        }
                        .ja-copy{
                            padding-left: 1rem;
                        }
                    }
                }
            }
        }
    }
}
@media (max-width: 1200px){
    #fv{
        /* ▼ h1 */
        .fv-title{
            .main-copy{
                .sp-br{
                    display: block;
                    line-height: 0;
                }
            }
        }
    }
}

@media (max-width: 904px){
    #fv{
        height: 46.7dvw;
        .fv-title{
            line-height: 1;
        }
        .fv-img{
            width: 100%;
            height: 100%;
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1;
        }
    }

    .breadcrumb{
        width: 100%;
        height: 10dvw;
        padding: 2% 0 0;
        ol{
            width: var(--inner-width);
            margin: 0 auto;
            list-style: none;
            display: flex;
            justify-content: flex-start;
            align-items: center;
            li{
                font-size: clamp(14px, 2.43dvw, 1.375rem); /* 14px ~ 22px */
                font-weight: 600;
                a{
                    font-weight: 600;
                }
            }
            .arrow{
                width: fit-content;
                font-size: clamp(14px, 2.43dvw, 1.375rem); /* 14px ~ 22px */
                font-weight: 600;
                padding: 0 1.5em;
            }
            .textGray{
                color: var(--textGray);
            }
        }
    }

    #aboutUs{
        width: 100%;
        height: 428px;
        aspect-ratio: auto;
        .content{
            padding: 20% 0;
            gap: 1rem;
            p{
                padding: 0 10%;
            }
        }
    }

    .main-inner{
        #business{
            margin-bottom: 1.5rem;
            .biz-inner{
                .f-layout{
                    flex-direction: column;
                    padding: 2.5%;
                    .f-img{
                        width: 100%;
                        height: auto;
                        aspect-ratio: 736/374;
                    }
                    .f-text {
                        width: 100%;
                        h3{
                            padding: 0.5em 0;
                            margin-bottom: 0;
                        }
                        p{
                            margin-bottom: 0.5em;
                        }
                    }
                }
            }
        }

        #portfolio{
            margin-bottom: 2rem;
            .portfolio-inner{
                .f-layout{
                    flex-direction: column;
                    padding: 2.5%;
                    .f-img{
                        width: 100%;
                        height: auto;
                        aspect-ratio: 736/374;
                    }
                    .f-text {
                        width: 100%;
                        h3{
                            padding: 0.5em 0;
                            margin-bottom: 0;
                        }
                        p{
                            margin-bottom: 0.5em;
                        }
                    }
                    .portfolio-item{
                        
                    }
                }
            }
        }

        #overview{
            margin-bottom: 2rem;
            .overview-inner{
                .f-layout{
                    flex-direction: column;
                    padding: 2.5%;
                    .f-img{
                        width: 100%;
                        height: auto;
                        aspect-ratio: 736/374;
                    }
                    .f-text {
                        width: 100%;
                        h3{
                            padding: 0.5em 0;
                            margin-bottom: 0;
                        }
                        p{
                            margin-bottom: 0.5em;
                        }
                    }
                }
            }
        }

        #map{
            padding-bottom: 10%;
            .map-inner{
                height: auto;
                aspect-ratio: 1;
            }
        }
    }
}

@media (max-width: 579px){
    .main-inner #business .biz-inner .f-layout .f-text h3{
        .br-none{
            display: block;
            line-height: 0;
        }
    }
}

@media (max-width: 551px){
    #aboutUs{
        .about-deco{
            width: 80%;
            height: auto;;
        }
    }
}

@media (max-width: 509px){
    #aboutUs{
        .content{
            p{
                padding: 0 3%;
                .br-none{
                    display: block;
                    line-height: 0;
                }
            }
        }
    }
    .breadcrumb{
        ol{
            .arrow{
                padding: 0 1em;
            }
        }
    }
}

@media (max-width: 500px){
    #fv{
        .fv-title{
            line-height: 0.8;
        }
    }
}

@media (max-width: 421px){
    #fv{
        .fv-title{
            line-height: 0.7;
        }
    }
}

@media (max-width: 394px){
    .main-inner #overview .overview-inner .overview-content dt .br-none{
        display:block;
        line-height: 0;
    }
}