@charset "utf-8";

/* ==================================================================
    treatment.css

=================================================================== */
/* --------------------------------
main
-------------------------------- */ 
main{
    overflow: visible;

    section{
        > section{
            * + section{
                margin-top: 24px;
            }
        }
    }
}

/* --------------------------------
#flow
-------------------------------- */
#flow{
    .flowList{
        > li{ 
            align-items: stretch;
            flex-wrap: nowrap;
            gap: 0 80px;
            @media screen and
            (max-width : 767px) {
                gap: 0 40px;
            }
            .step{
                position: relative;
                .en{
                    position: relative;
                    z-index: 1;
                    font-size: 1.8rem;
                    font-weight: 700;
                    color: var(--text-orange-color);
                    span{
                        display: inline-block;
                        background: var(--bg-color-beige);
                        padding-bottom: 1em;
                    }
                }
                
                &::before{
                    position: absolute;
                    top: 0;
                    left: 0.7em;
                    z-index: 0;
                    content: "";
                    display: block;
                    width: 1px;
                    height: 100%;
                    background: var(--text-orange-color);
                }
            }
            .sideImageBox{
                flex-grow: 1;
                padding-bottom: 40px;

                .contactList{
                    margin-top: 40px;
                }
            }

            &:last-child{
                .step{
                    &::before{
                        display: none;
                    }
                }
                .sideImageBox{
                    padding-bottom: 0;
                }
            }

            & + li{
                margin-top: 24px;
            }
        }
    }
}

/* --------------------------------
mainArea
-------------------------------- */
#mainArea{
    section.section{
        padding-top: 60px;
        padding-bottom: 60px;

        @media screen and
        (max-width : 767px) {
            padding-top: 8vw;
            padding-bottom: 8vw;
        }

        &.leadBox{
            padding-top: 0;
            margin-bottom: 40px;

            @media screen and
            (max-width : 767px) {
                margin-bottom: 0;
            }
        }
        &._border{
            border-bottom: 1px solid var(--border-color);
        }

        &.frame.cvArea{
            padding-top: 34px;
            padding-bottom: 34px;
        }

        .subsection{
            margin-top: 66px;

            @media screen and
            (max-width : 767px) {
                margin-top: 6vw;
            }
        }
    }

    > p.leadText{
        margin-bottom: 86px;

        @media screen and
        (max-width : 767px) {
            margin-bottom: 6vw;
        }

        + .frame{
            margin-top: -50px;

            @media screen and
            (max-width : 767px) {
                margin-top: 0;
            }
        }
    }
}

/* --------------------------------
menu
-------------------------------- */
#menu{
    .menuList{
        @media screen and
        (max-width : 767px) {
            gap: 4vw;
        }
        li{
            overflow: hidden;
            border-radius: 6px;
            a{
                display: block;
                position: relative;
                color: #fff;
                text-decoration: none;
                figure{
                    img{
                        width: 100%;
                        height: auto;
                        transition: 0.5s;
                    }
                    figcaption{
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        width: 100%;
                        z-index: 2;
                        text-align: center;
                        padding-bottom: 29px;

                        @media screen and
                        (max-width : 767px) {
                            padding-bottom: 4vw;
                        }

                        p.name{
                            font-size: 2.2rem;
                            font-weight: 500;
                            letter-spacing: 0.06em;
                            text-align: center;
                            margin-bottom: 22px;

                            @media screen and
                            (max-width : 767px) {
                                font-size: 1.8rem;
                                margin-bottom: 3vw;
                            }
                        }
                    }
                }

                &::before{
                    pointer-events: none;
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    z-index: 1;
                    content: "";
                    display: block;
                    width: 100%;
                    height: 40%;
                    background: transparent linear-gradient(180deg, #C97A3F00 0%, #C97A3F 100%) 0% 0% no-repeat padding-box;
                }

                &:hover{
                    figure{
                        img{
                            transform: scale(1.1);
                        }
                    }
                }
            }
        }
    }
}