@charset "UTF-8";
/*==============================================================================
1.ページタイトル・共通タイトル
2.intro
3.style
4.ijyu
==============================================================================*/

/*============================================================================================================================================================
==============================================================================================================================================================

	1.ページタイトル・共通タイトル

==============================================================================================================================================================
============================================================================================================================================================*/
#title {
    background-image: url(../1_img/work/title.jpg);
}

.underlayer .content {
    padding: 0;
}




/*============================================================================================================================================================
==============================================================================================================================================================

	2.intro

==============================================================================================================================================================
============================================================================================================================================================*/
#intro {
    padding: calc(50px + 1.75rem + 10px) 0 0;
    position: relative;

    & .inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        position: relative;
        z-index: 2;
    }

    /* ========== h2 ========== */
    & h2 {
        margin: auto;
        display: flex;
        position: relative;
        align-items: start;
        flex-direction: column;
        justify-content: center;
        writing-mode: vertical-rl;
        text-orientation: upright;
        gap: 95px;

        & .h2-text::after {
            content: "";
            width: 62px;
            aspect-ratio: 98 / 68;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            background: url(../1_img/work/intro-x.svg) no-repeat center / 100% auto;
        }

        & .h2-text {
            font-size: 2.4rem;
            font-weight: var(--weight-regular);
            font-family: var(--font-sub);
        }
    }

    /* ========== 円のところ ========== */
    & .intro-text {
        width: 320px;
        aspect-ratio: 1 / 1;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 15px;
        justify-content: center;
        border-radius: 100%;
        background-color: rgb(63 79 88 / 0.8);

        & dt {
            margin-top: -10px;

            & img{
                width: 166px;
            }
        }

        & dd {
            width: 70%;
            text-align: justify;
            color: #fff;
            font-size: 1.3rem;

            & span{
                text-emphasis: dot;
                text-emphasis-position: over;
            }
        }
    }

    /* ========== 背景画像 ========== */
    & picture {
        width: 100%;
        height: calc(100% - 160px);
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 1;
        pointer-events: none;

        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center bottom;
        }
    }
}
/*==============================================================================

	intro PC

==============================================================================*/
@media all and (min-width: 768px){
    #intro {

        /* ========== h2 ========== */
        & h2 {
            gap: 150px;

            & .h2-text::after {
                width: 100px;
            }

            & .h2-text {
                font-size: 3.5rem;
            }
        }

        /* ========== 円のところ ========== */
        & .intro-text {
            width: 480px;
            gap: 15px;

            & dt {
                margin-top: -30px;

                & img{
                    width: 210px;
                }
            }

            & dd {
                margin-top: 20px;
                width: 320px;
                font-size: 1.8rem;
                line-height: 2;
            }
        }

        /* ========== 背景画像 ========== */
        & picture {
            height: 700px;
        }
    }
}



/*============================================================================================================================================================
==============================================================================================================================================================

	3.style

==============================================================================================================================================================
============================================================================================================================================================*/
#style{

    /* ========== アンカーリンク ========== */
    & .style-anker{
        margin-bottom: 25px;
        padding: 0 20px;
        display: flex;
        gap: 7px;

        & li{
            width: calc( ( 100% - 7px ) / 2 );
        }

        & a{
            padding: 15px;
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            border: 1px solid var(--color-main);

            & p{
                padding-bottom: 25px;
                position: relative;

                &::before,
                &::after{
                    content:"";
                    position: absolute;
                }
    
                &::before {
                    width: 20px;
                    aspect-ratio: 1 / 1;
                    bottom: 0;
                    left: 50%;
                    border: 1px solid var(--color-main);
                    transform: translateX(-50%);
                    border-radius: 100%;
                }

                &::after {
                    width: 6px;
                    height: 6px;
                    bottom: 7px;
                    left: 50%;
                    border-bottom: 1px solid var(--color-main);
                    border-right: 1px solid var(--color-main);
                    transform: translateX(-50%) rotate(45deg);
                }
            }

            & span{
                display: block;
                text-align: center;
                font-weight: var(--weight-bold);

                &.math{
                    margin-bottom: 5px;
                    font-family: var(--font-math);
                    font-variation-settings: "GRAD" 200;
                    font-size: 3.6rem;
                    line-height: 1;
                }
            }
        }
    }

    /* ========== 山共建設での働き方 ========== */
    & #style-yamakyo{

        /* タイトル */
        & .title-lv2{
            margin: 0 20px 90px;
        }

        /* ========== セクション ========== */
        & > section{
            
            /* ===== 画像と見出し ===== */
            & .h-img{
                position: relative;
                aspect-ratio: 9 / 6;

                /* 数字 */
                & .style-num{
                    width: 100%;
                    position: absolute;
                    bottom: calc( 100% - 8px );
                    text-align: center;
                    font-family: var(--font-math);
                    font-variation-settings: "GRAD" 200;
                    font-size: 5rem;
                    line-height: 1;
                }

                /* 見出し */
                & h3{
                    padding: 20px 10px;
                    min-height: calc(100% + 30px);
                    position: absolute;
                    top: 0;
                    left: 20px;
                    background-color: rgb(63 79 88 / 0.8);
                    writing-mode: vertical-rl;
                    text-orientation: upright;
                    color: #fff;
                    font-family: var(--font-sub);
                    font-size: 1.8rem;
                    white-space: nowrap;
                }

                & picture img{
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                    pointer-events: none;
                }
            }

            /* ===== point ===== */
            & .point-wrap{
                margin-top: 70px;
                padding: 0 20px;

                & dl{
                    padding: 20px;
                    position: relative;
                    background-color: #f1f2f3;

                    & dt{
                        padding-bottom: 15px;
                        border-bottom: 1px solid var(--color-main);
                        font-size: 1.7rem;
                        text-align: center;
                    }

                    & dd{
                        margin-top: 15px;
                        font-size: 1.4rem;
                    }

                    & + dl{
                        margin-top: 40px;
                    }

                    &::before{
                        content:"";
                        width: 72px;
                        aspect-ratio: 72 / 16;
                        position: absolute;
                        left: 50%;
                        bottom: 100%;
                        transform: translateX(-50%);
                        background-position: center;
                        background-repeat: no-repeat;
                        background-size: 100% auto;
                    }
                    &:nth-child(1)::before{
                        background-image: url(../1_img/work/point1.svg);
                    }
                    &:nth-child(2)::before{
                        background-image: url(../1_img/work/point2.svg);
                    }
                    &:nth-child(3)::before{
                        background-image: url(../1_img/work/point3.svg);
                    }
                }
            }

            & + section{
                margin-top: 110px;
            }
        }
        /* section偶数番 */
        & > section:nth-of-type(even){
            
            /* 画像と見出し */
            & .h-img{

                /* 見出し */
                & h3{
                    left: unset;
                    right: 20px;
                }
            }
        }
    }

    /* ========== 信州での働き方 ========== */
    & #style-shinshu{
        margin-top: 60px;
        position: relative;
        z-index: 2;

        & .fukidashi{
            margin-bottom: 20px;
            padding: 0 20px;
            font-weight: var(--weight-bold);
        }

        /* タイトル */
        & .title-lv2{
            margin-bottom: 0;
            position: relative;
            z-index: 2;
        }

        & .bg-color{
            margin-top: -45px;
            padding-top: 110px;
            padding-bottom: 75px;
            position: relative;
            background-color: #ecedee;
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 50% 100%, 0 calc(100% - 40px));
        }

        & .inner > section{
            display: flex;
            flex-direction: column;

            & picture{
                order: 1;

                & img{
                    width: 100%;
                }
            }

            & .text_wrap{
                margin-top: 20px;
                order: 2;

                & h3{
                    padding-bottom: 10px;
                    text-align: center;
                    font-weight: var(--weight-bold);
                    border-bottom: 1px solid #252d30;
                }

                & .text{
                    margin-top: 10px;
                }
            }

            & + section{
                margin-top: 50px;
            }
        }
    }

}
/*==============================================================================

	style PC

==============================================================================*/
@media all and (min-width: 768px){
    #style{

        /* ========== アンカーリンク ========== */
        & .style-anker{
            margin-bottom: 40px;
            padding: 0;
            gap: 15px;

            & li{
                width: calc( ( 100% - 15px ) / 2 );
            }

            & a{
                padding: 25px 25px 20px;

                & p{
                    padding-bottom: 25px;
                }

                & span{
                    display: block;
                    text-align: center;
                    font-weight: var(--weight-bold);

                    &.math{
                        margin-bottom: 5px;
                        font-family: var(--font-math);
                        font-variation-settings: "GRAD" 200;
                        font-size: 3.6rem;
                        line-height: 1;
                    }
                }
            }
        }

        /* ========== 山共建設での働き方 ========== */
        & #style-yamakyo{

            /* タイトル */
            & .title-lv2{
                margin: 0 0 120px;
            }

            /* ========== セクション ========== */
            & > section{
                
                /* ===== 画像と見出し ===== */
                & .h-img{
                    aspect-ratio: 980 / 450;

                    /* 数字 */
                    & .style-num{
                        bottom: calc( 100% - 10px );
                        font-size: 6rem;
                    }

                    /* 見出し */
                    & h3{
                        padding: 20px 10px;
                        min-height: calc(100%);
                        left: unset;
                        right: 35px;
                        font-size: 3rem;
                    }

                    & picture img{
                        border-radius: 15px;
                    }
                }

                /* ===== point ===== */
                & .point-wrap{
                    margin-top: 50px;
                    padding: 0;
                    display: flex;
                    align-items: normal;
                    gap: 0 13px;

                    & dl{
                        padding: 25px 20px;
                        flex: 1;

                        & dt{
                            padding-bottom: 20px;
                        }

                        & dd{
                            margin-top: 20px;
                        }

                        & + dl{
                            margin-top: 0;
                        }
                    }
                }

                & + section{
                    margin-top: 140px;
                }
            }
            /* section偶数番 */
            & > section:nth-of-type(even){
                
                /* 画像と見出し */
                & .h-img{

                    /* 見出し */
                    & h3{
                        left: 35px;
                        right: unset;
                    }
                }
            }
        }

        /* ========== 信州での働き方 ========== */
        & #style-shinshu{
            margin-top: 120px;

            & .fukidashi{
                margin-bottom: 20px;
                font-size: 1.6rem;
            }

            & .bg-color{
                margin-top: -70px;
                padding-top: 200px;
                padding-bottom: 250px;
                clip-path: polygon(0 0, 100% 0, 100% calc(100% - 150px), 50% 100%, 0 calc(100% - 150px));
            }

            & .inner > section{
                flex-direction: row;
                align-items: center;
                gap: 0 45px;

                & picture{
                    width: 490px;
                    border-radius: 15px;
                    overflow: hidden;
                    flex-shrink: 0;
                }

                & .text_wrap{
                    margin-top: 0;

                    & h3{
                        padding-bottom: 15px;
                        text-align: left;
                    }

                    & .text{
                        margin-top: 15px;
                    }
                }

                & + section{
                    margin-top: 70px;
                }
            }

            & .inner > section:nth-child(even){
                & picture{
                    order: 2;
                }
                & .text_wrapure{
                    order: 1;
                }
            }
        }

    }
}


/*============================================================================================================================================================
==============================================================================================================================================================

	4.ijyu

==============================================================================================================================================================
============================================================================================================================================================*/
#ijyu {
    margin-top: -40px;
    position: relative;
    z-index: 1;

    /* ========== 移住のポイント ========== */
    & .ijyu-main{
        padding-top: 60px;
        padding-bottom: 75px;
        position: relative;
        z-index: 2;
        background-color: #d9dcde;
        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 50% 100%, 0 calc(100% - 40px));

        & .intro{
            margin-bottom: 40px;
            font-family: var(--font-sub);
            text-align: center;
            font-size: 1.8rem;

            & span{
                text-emphasis: dot;
                text-emphasis-position: over;
            }

            & em{
                padding-bottom: 2px;
                border-bottom: 1px solid var(--color-main);
            }
        }

        & .ijyu-fukidashi{
            & .fukidashi-btm_text{
                margin-top: 20px;
                text-align: center;
                font-weight: var(--weight-bold);
            }
        }

        /* ========== 各ポイント ========== */
        & .point-box{
            margin-top: 20px;
            border-top: 1px solid var(--color-main);

            & li{

                & .point_wrap{
                    padding: 50px 20px 90px;
                    position: relative;
                    z-index: 2;
                    background-color: #fff;
                    border-left: 1px solid var(--color-main);
                    border-right: 1px solid var(--color-main);
                    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 50% 100%, 0 calc(100% - 40px));

                    & .point-num{
                        text-align: center;
                        
                        & span{
                            display: block;
                            font-family: var(--font-math);
                            font-variation-settings: "GRAD" 200;
                            font-weight: var(--weight-bold);
                            line-height: 1.2;
                        }
                        
                        & span:first-child{
                            font-size: 1.3rem;
                            color: #828d92;
                        }
                        
                        & span:last-child{
                            font-size: 4rem;
                        }
                    }

                    & h3{
                        margin-top: 30px;
                        text-align: center;
                        font-size: 1.8rem;
                        font-weight: var(--weight-bold);
                    }
                    & .point-subtitle{
                        margin-top: 5px;
                        text-align: center;
                        color: #828d92;
                        font-size: 1.2rem;
                        font-weight: var(--weight-bold);
                    }

                    & .point-text{
                        margin-top: 25px;
                        padding-top: 25px;
                        position: relative;

                        &::before{
                            content: "";
                            width: 90px;
                            height: 1px;
                            background-color: var(--color-main);
                            position: absolute;
                            top: 0;
                            left: 50%;
                            transform: translateX(-50%);
                        }
                    }

                    & .link-wrap{
                        margin-top: 40px;
                        display: flex;
                        flex-direction: column;
                        gap: 15px 0;

                        & button{
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            height: 55px;
                            padding-right: 45px;
                            background-color: #ededed;
                            background-image: url(../1_img/base/btn_plus.svg);
                            background-position: center right 15px;
                            background-repeat: no-repeat;
                        }
                    }
                }

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

                /* 最後以外のやつ */
                &:not(:last-child){
                    position: relative;

                    &::before{
                        content: "";
                        width: 100%;
                        height: 100%;
                        position: absolute;
                        top: 1px;
                        left: 0;
                        background-color: var(--color-main);
                        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 50% 100%, 0 calc(100% - 40px));
                    }
                }

                &:nth-child(1){
                    z-index: 10;
                }

                &:nth-child(2){
                    z-index: 9;
                }

                /* 最初以外のやつ */
                &:not(:first-child){
                    & .point_wrap{
                        padding-top: 100px;
                    }
                }

                /* 最後のやつ */
                &:last-child{
                    & .point_wrap{
                        padding-top: 75px;
                        padding-bottom: 0;
                        border: none;
                        background-color: transparent;
                        clip-path: none;
                    }
                }
            }
        }
        /* ========== 各ポイント end ========== */
    }


    /* ========== アウトロ ========== */
    & .ijyu-outro{
        margin-top: -40px;
        padding: 95px 0 80px;
        position: relative;

        & .inner{
            position: relative;
            z-index: 2;
            font-family: var(--font-sub);
            text-align: center;
            font-size: 1.8rem;

            & span{
                text-emphasis: dot;
                text-emphasis-position: over;
            }

            & em{
                padding-bottom: 2px;
                border-bottom: 1px solid var(--color-main);
            }
        }

        & picture{
            display: block;
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 1;

            & img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: bottom center;
                pointer-events: none;
            }
        }
    }
}
/*==============================================================================

	ijyu PC

==============================================================================*/
@media all and (min-width: 768px){
    #ijyu {
        margin-top: -150px;

        /* ========== 移住のポイント ========== */
        & .ijyu-main{
            padding-top: 230px;
            padding-bottom: 170px;
            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 150px), 50% 100%, 0 calc(100% - 150px));

            & .intro{
                margin-bottom: 65px;
                font-size: 2.8rem;
            }

            & .ijyu-fukidashi{
                margin-top: 75px;
                font-size: 1.6rem;
            }

            /* ========== 各ポイント ========== */
            & .point-box{
                margin-top: 60px;

                & li{

                    & .point_wrap{
                        padding: 50px 100px 90px;
                        clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), 50% 100%, 0 calc(100% - 60px));

                        & h3{
                            margin-top: 40px;
                        }

                        & .point-subtitle{
                            margin-top: 5px;
                        }

                        & .point-text{
                            text-align: center;
                        }

                        & .link-wrap{
                            flex-direction: row;
                            justify-content: center;
                            gap: 15px 60px;

                            & button{
                                flex: 1;
                            }
                        }
                    }

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

                    /* 最後以外のやつ */
                    &:not(:last-child){
                        &::before{
                            clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), 50% 100%, 0 calc(100% - 60px));
                        }
                    }

                    &:nth-child(1){
                        z-index: 10;
                    }

                    &:nth-child(2){
                        z-index: 9;
                    }

                    /* 最初以外のやつ */
                    &:not(:first-child){
                        & .point_wrap{
                            padding-top: 120px;
                        }
                    }

                    /* 最後のやつ */
                    &:last-child{
                        & .point_wrap{
                            padding-top: 140px;
                        }
                    }
                }
            }
            /* ========== 各ポイント end ========== */
        }


        /* ========== アウトロ ========== */
        & .ijyu-outro{
            margin-top: -170px;
            padding: 250px 0 125px;

            & .inner{
                font-size: 2.6rem;
            }
        }
    }
}




/* ========== ポップアップ ========== */
& .popup{
    max-width: 600px;
    display: none;
    background-color: #ededed;

    & h4{
        text-align: center;
        font-size: 1.4rem;
    }

    & img{
        margin-top: 20px;
        width: 100%;
    }

    & p{
        margin-top: 20px;
    }

    & .carousel__button{
        width: 30px;
        aspect-ratio: 1 / 1;
        top: 20px!important;
        right: 20px!important;
        background: url(../1_img/base/btn_minus.svg) no-repeat center / 100% auto;

        & svg{
            display: none;
        }
    }
}
/* ========== ポップアップ end ========== */