@charset "UTF-8";
/*==============================================================================
1.ページタイトル・共通タイトル
2.イントロ
3.FEATURES
4.SERVICE
5.WORKS
6.RENOVATION
7.REGENERATION
==============================================================================*/

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

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

==============================================================================================================================================================
============================================================================================================================================================*/
#title{
    background-image: url(../1_img/page-en/title.jpg);
    justify-content: center;
}
.safari #title{
    & .title-content {
        transform: translateX(0%);
    }
}
.underlayer .content{
    padding-top: 10px;
    padding-bottom: 0;
}
footer{
    margin-top: 0;
}
@media all and (min-width: 769px) {
    .underlayer .content{
        padding-top: 60px;
    }
}
/*============================================================================================================================================================
==============================================================================================================================================================

	2.イントロ

==============================================================================================================================================================
============================================================================================================================================================*/
#intro{

    /* ========== テキストと画像ブロック ========== */
    & .intro-text_wrap{
        padding: 50px 20px;
        position: relative;

        /* ========== 見出し ========== */
        & h2{
            text-align: center;
            color: var(--color-font);
            font-family: var(--font-sub);
            font-weight: var(--weight-bold);
            font-size: 2.3rem;
            position: relative;
            z-index: 3;
        }
        /* ========== テキスト ========== */
        & .intro-text{
            margin-top: 30px;
            position: relative;
            z-index: 3;

            & p:first-child{
                font-size: 1.4rem;
                font-weight: var(--weight-bold);
                letter-spacing: 0.15em;
                text-align: center;
            }
            & p:last-child{
                margin-top: 15px;
                font-size: 1.3rem;
            }
        }
        /* ========== 背景画像 ========== */
        & .intro-bg{
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            overflow: hidden;
            z-index: 1;
            pointer-events: none;

            &::after{
                content: "";
                width: 100%;
                height: 100%;
                position: absolute;
                top: 0;
                left: 0;
                background: linear-gradient(
                    180deg,
                    rgba(255, 255, 255, 1) 0%,
                    rgba(255, 255, 255, 0.4) 40%,
                    rgba(255, 255, 255, 0.1) 50%,
                    rgba(255, 255, 255, 0.4) 60%,
                    rgba(255, 255, 255, 1) 100%);
                z-index: 2;
            }

            & img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
                position: relative;
                z-index: 1;
            }
        }
    }
}
/*===========================================================================================================================================================

	イントロ PC

===========================================================================================================================================================*/
@media all and (min-width: 769px) {
    #intro{
        /* ========== テキストと画像ブロック ========== */
        & .intro-text_wrap{
            padding: 180px 40px;

            /* ========== 見出し ========== */
            & h2{
                font-size: 4rem;
            }
            /* ========== テキスト ========== */
            & .intro-text{
                margin-right: auto;
                margin-left: auto;
                max-width: 980px;
                text-align: center;

                & p:first-child{
                    font-size: 2.6rem;
                }

                & p:last-child{
                    margin-top: 20px;
                    font-size: 1.5rem;
                    line-height: 2.5;
                }
            }
        }
    }
}




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

	3.FEATURES

==============================================================================================================================================================
============================================================================================================================================================*/
#features{
    margin-top: 40px;

    & .title-lv2 {
        & span{
            font-size: 2rem;
        }
    }

    /* ========== 降幡設計の3つの特長 ========== */
    & .features-wrap{
        margin-top: 20px;
        display: flex;
        flex-direction: column;
        gap: 30px 0;

        & section{
            display: flex;
            flex-direction: column;

            & .features-num{
                order: 1;
                text-align: center;
                color: var(--color-sub);
                font-family: var(--font-sub);
                font-weight: var(--weight-bold);
                font-size: 2.3rem;
            }

            & h3{
                order: 2;
                padding: 0 20px;
                text-align: center;
                font-family: var(--font-sub);
                font-weight: var(--weight-bold);
                font-size: 2rem;
            }

            & .features-img{
                order: 3;
                margin-top: 10px;

                & img{
                    width: 100%;
                }
            }

            & .features-text{
                margin-top: 20px;
                padding: 0 20px;
                order: 4;
            }
        }
    }
}

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

	FEATURES PC

===========================================================================================================================================================*/
@media all and (min-width: 769px) {
    #features{
        margin-top: 60px;

        & .title-lv2 {
            & span{
                font-size: 3rem;
            }
        }

        /* ========== 降幡設計の3つの特長 ========== */
        & .features-wrap{
            margin-top: 50px;;
            flex-direction: row;
            gap: 40px;

            & section{
                flex: 1;
                flex-direction: column;

                & .features-num{
                    font-size: 3rem;
                }

                & h3{
                    padding: 0;
                    font-size: 1.6rem;
                }

                & .features-img{
                    margin-top: 20px;
                }

                & .features-text{
                    margin-top: 30px;
                    padding: 0;
                    font-size: 1.5rem;
                }
            }
        }
    }
}




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

	4.SERVICE

==============================================================================================================================================================
============================================================================================================================================================*/
#service{

    & .title-lv2 {
        & span{
            font-family: var(--font-sub);
            font-weight: var(--weight-regular);
            font-size: 2rem;
        }
    }

    & .flex{
        margin-top: 30px;
        display: flex;
        flex-direction: column;
        gap: 10px;

        & a{
            aspect-ratio: 36 / 20;
            overflow: hidden;
            position: relative;

            & p{
                width: calc(100% - 30px);
                padding: 10px 40px 10px 20px;
                position: absolute;
                bottom: 20px;
                left: 0;
                z-index: 2;
                background-color: var(--color-sub);
                color: var(--color-font);
                font-family: var(--font-sub);
                font-weight: var(--weight-bold);
                line-height: 1.4;
            
                &::before,
                &::after{
                    content: "";
                    position: absolute;
                    top: 50%;
                    transform: translateY(-50%);
                }
                &::before{
                    width: 20px;
                    aspect-ratio: 1 / 1;
                    right: 10px;
                    border: 1px solid var(--color-font);
                    border-radius: 100%;
                }
                &::after{
                    width: 6px;
                    aspect-ratio: 1 / 1;
                    right: calc(18px);
                    border-bottom: 1px solid var(--color-font);
                    border-right: 1px solid var(--color-font);
                    transform: translateY(-50%) rotate(-45deg);
                }
            }

            & img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
                pointer-events: none;
                z-index: 1;
                transition: 500ms;
            }
            &:hover{
                & img{
                    transform: scale(1.1);
                }
            }
        }
    }
}
/*===========================================================================================================================================================

	SERVICE PC

===========================================================================================================================================================*/
@media all and (min-width: 769px) {
    #service{
        margin-top: 140px;

        & .title-lv2 {
            & span{
                font-size: 3rem;
            }
        }

        & .flex{
            margin-top: 40px;
            flex-direction: row;
            justify-content: space-between;

            & a{
                width: calc( (100% - 10px*2) / 3 );
                aspect-ratio: 33 / 40;

                & p{
                    padding: 20px 45px 20px 20px;
                    width: 280px;
                    bottom: 20px;
                    letter-spacing: 0.1em;

                    &::before{
                        width: 30px;
                        right: 15px;
                    }
                    &::after{
                        width: 10px;
                        right: calc(15px + 12px);
                    }
                }
            }
        }
    }
}


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

	5.WORKS

==============================================================================================================================================================
============================================================================================================================================================*/
#works{
    padding: 50px 0;
    background-color: #333;

    & .title-lv2 {
        & span{
            font-family: var(--font-sub);
            font-weight: var(--weight-regular);
            font-size: 2rem;
            color: #fff;
        }
    }

    & .slider-works{
        margin: 30px 0 70px;

        & img{
            width: 100%;
            height: auto;
        }
        & .slick-arrow{
            top: 100%;

            &.prev{
                transform: translateY(22px) translateX(50%);
            }
            &.next{
                transform: translateY(22px) translateX(-50%);
            }
        }
        & .slick-dots{
            bottom: -43px;

            & li{
                & button{
                    background-color: #fff;
                }

                &.slick-active{
                    & button{
                        background-color: var(--color-sub);
                    }
                }
            }
        }
    }
    & .text{
        padding: 0 20px;
        color: #fff;
    }
    & .btn_wrap{
        margin-top: 20px;
        text-align: center;
    }
}
/*===========================================================================================================================================================

	WORKS PC

===========================================================================================================================================================*/
@media all and (min-width: 769px) {
    #works{
        margin-top: 140px;
        padding: 100px 0;

        & .title-lv2 {
            & span{
                font-size: 3rem;
            }
        }
        & .text{
            padding: 0;
        }
        & .slider-works{
            margin: 70px 0;

            & .slick-arrow{
                top: 50%;

                &.prev{
                    transform: translateY(-50%) translateX(-50%);
                }
                &.next{
                    transform: translateY(-50%) translateX(50%);
                }
            }
        }
        & .btn_wrap{
            margin-top: 40px;
        }
    }
}


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

	6.RENOVATION

==============================================================================================================================================================
============================================================================================================================================================*/
#renovation{
    margin-top: 0;
    padding: 60px 0;

    & .renovation-text{
        padding: 0 20px;
        display: flex;
        flex-direction: column;

        & .inner{
            padding: 0 10px;
            order: 2;
        }
        & .text-wrap{
            & .intro{
                font-family: var(--font-sub);
                text-align: center;
                font-size: 1.3rem;
            }
            & h2{
                font-family: var(--font-sub);
                text-align: center;
                font-size: 2.4rem;
            }
            & img{
                margin-top: 20px;
                width: 100%;
                height: auto;
            }
            & .text{
                margin-top: 20px;
            }
        }
    }
}

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

	RENOVATION PC

==============================================================================*/
@media all and (min-width: 769px) {
    #renovation{
        padding: 140px 0;

        & .renovation-text{
            padding: 0;
            position: relative;

            & .inner{
                padding: 0;
                width: 1200px;
                
                & .text-wrap{
                    margin-left: auto;
                    padding: 0 20px 0 50px;
                    width: 50%;

                    & .intro{
                        font-size: 1.8rem;
                    }
                    & h2{
                        font-size: 3rem;
                    }
                }
            }
            & .img-wrap{
                width: calc(50%);
                height: 430px;
                position: absolute;
                aspect-ratio: unset;
                top: 50%;
                left: 0;
                transform: translateY(-50%);
                aspect-ratio: 27 / 25;
                overflow: hidden;

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



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

	7.REGENERATION

==============================================================================================================================================================
============================================================================================================================================================*/
#regeneration{
    margin-top: 0;
    padding: 40px 0;
    background-color: #e2d9c7;

    & h2{
        text-align: center;
        font-weight: var(--weight-bold);
        
        & span{
            padding: 0 10px;
            display: inline-block;
            position: relative;
            font-family: var(--font-sub);
            font-size: 1.3rem;
        }
    }
    & .regeneration-name{
        text-align: center;
        font-family: var(--font-sub);
        font-weight: var(--weight-bold);
        font-size: 2.5rem;
    }
    & .regeneration-history{
        margin-top: 20px;

        & .history-img{
            position: relative;

            & img{
                width: 100%;
                height: auto;
            }

            & .img-photographer{
                position: absolute;
                bottom: 10px;
                left: 10px;
                z-index: 2;
                color: #fff;
                font-size: 1.2rem;
                line-height: 1;
            }
        }
        
        & .history-text{
            margin-top: 20px;
            padding: 0 10px;
            position: relative;
            z-index: 2;

            & h3{
                padding: 5px 10px;
                text-align: center;
                background-color: var(--color-sub);
                font-family: var(--font-sub);
                font-weight: var(--weight-bold);
                font-size: 1.4rem;
            }

            & p{
                margin-top: 15px;
            }
        }
    }
}

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

	REGENERATION PC

===========================================================================================================================================================*/
@media all and (min-width: 769px) {
    #regeneration{
        padding: 100px 0;

        & h2{

            & span{
                font-size: 1.6rem;

                &::after{
                    content: "";
                    width: 220px;
                    height: 1px;
                    position: absolute;
                    bottom: 0;
                    left: 50%;
                    transform: translateX(-50%);
                    background-color: var(--color-sub);
                }
            }
        }

        & .regeneration-name{
            margin-top: 5px;
            font-size: 3rem;
            letter-spacing: 0.2em;
        }

        & .regeneration-history{
            margin-top: 40px;
            display: flex;

            & .history-img{
                width: 50%;

                & .img-photographer{
                    margin-top: 10px;
                    position: static;
                    z-index: 2;
                    color: var(--color-font);
                }
            }
            
            & .history-text{
                margin-top: 0;
                padding: 0;
                padding-left: 40px;
                width: 50%;

                & h3{
                    padding: 5px 17px;
                    display: inline-block;
                    font-size: 1.8rem;
                }

                & p{
                    font-size: 1.5rem;
                }
            }
        }
    }
}


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

	8.AWARD

==============================================================================================================================================================
============================================================================================================================================================*/
#award{
    margin-top: 0;
    padding: 40px 0 60px;
    background-color: #ccb861;

    & h2{
        font-family: var(--font-sub);
    }

    /* ========== 受賞歴 ========== */
    & .award-total{
        margin-top: 10px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;

        & .award-total_inner{
            padding: 0 40px;
            height: 70px;
            display: flex;
            align-items: end;
            position: relative;
            background: 
            url(../1_img/base/deco-award_left_white.svg) no-repeat bottom left / 30px auto,
            url(../1_img/base/deco-award_right_white.svg) no-repeat bottom right / 30px auto;
            gap: 15px;

            & p{
                font-family: var(--font-sub);
                font-weight: var(--weight-bold);

                &:nth-child(1){
                    height: 100%;
                    display: flex;
                    gap: 10px;

                    & span{
                        width: 50px;
                        height: 100%;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        background-color: #fff;
                        color: var(--color-font);
                        font-size: 4.2rem;
                    }
                }
            }
        }
        & .award-title{
            margin-top: 15px;
            font-size: 2.2rem;
            font-family: var(--font-sub);
            font-weight: var(--weight-bold);
            line-height: 1;
        }
    }

    /* ========== アコーディオン ========== */
    & .award-list_wrap{
        margin-top: 40px;

        & .award-list{
            & button{
                padding: 5px 35px;
                width: 100%;
                position: relative;
                background-color: #333333;
                text-align: center;
                font-family: var(--font-sub);
                letter-spacing: 0.2em;
                color: #fff;
    
                &::before,
                &::after {
                    content: "";
                    display: block;
                    position: absolute;
                    top: 50%;
                }
                
                &::before {
                    width: 20px;
                    height: 20px;
                    top: 50%;
                    right: 10px;
                    border: 1px solid #fff;
                    transform: translateY(-50%);
                    border-radius: 100%;
                }

                &::after {
                    width: 6px;
                    height: 6px;
                    top: 50%;
                    right: 17px;
                    border-bottom: 1px solid #fff;
                    border-right: 1px solid #fff;
                    transform: translateY(-50%) rotate(45deg);
                    transition: transform 500ms;
                }

                &.is-open{
                    &::after {
                        margin-top: 2px;
                        transform: translateY(-50%) rotate(-135deg);
                    }
                }
            }

            & .award-box{
                display: none;
            }
            & section{
                margin-top: 10px;
                padding: 10px;
                background-color: #fff;

                & .award-year{
                    text-align: center;
                    padding-bottom: 5px;
                    border-bottom: 1px dotted #ccb861;
                    color: #ccb861;
                    font-family: var(--font-sub);
                    font-size: 1.8rem;
                }

                & .award-item{
                    padding-top: 10px;
                    padding-bottom: 10px;
                    display: flex;
                    flex-wrap: wrap;
                    align-items: center;
                    border-bottom: 2px solid #333;

                    & .item-title,
                    & .item-name{
                        padding: 0 10px;
                        width: 50%;
                    }
                    & .item-title{
                        font-weight: var(--weight-bold);
                    }
                    & .item-name{
                        text-align: right;
                    }

                    & .item-img{
                        margin-top: 10px;
                        width: 100%;

                        & img{
                            width: 100%;
                            height: auto;
                        }
                    }
                }
            }

            & + .award-list{
                margin-top: 20px;
            }
        }
    }
}

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

	AWARD PC

===========================================================================================================================================================*/
@media all and (min-width: 769px) {
    #award{
        margin-top: 0;
        padding: 90px 0 100px;

        & h2{
            line-height: 1.4;
        }

        /* ========== 受賞歴 ========== */
        & .award-total{
            margin-top: 20px;
            display: flex;
            justify-content: center;

            & .award-total_inner{
                padding: 0 70px;
                height: 87px;
                background-size: 38px auto;

                & p{

                    &:nth-child(1){
                        & span{
                            width: 65px;
                            font-size: 5.2rem;
                        }
                    }
                }
            }
            & .award-title{
                font-size: 2.8rem;
            }
        }

        /* ========== アコーディオン ========== */
        & .award-list_wrap{
            margin-top: 50px;

            & .award-list{
                & button{
                    padding: 5px 40px;
                    font-size: 2.5rem;
                
                    &::before {
                        right: 15px;
                    }

                    &::after {
                        right: 22px;
                    }
                }
                & section{
                    margin-top: 20px;
                    padding: 40px;

                    & .award-year{
                        padding-bottom: 20px;
                        font-size: 3rem;
                    }

                    & .award-item{
                        padding-top: 20px;
                        padding-bottom: 20px;

                        & .item-title,
                        & .item-name{
                            padding-left: 80px;
                            padding-right: 30px;
                            text-align: left;
                        }

                        & .item-img{
                            width: 100%;
                            margin-top: 20px;
                            text-align: center;

                            & img{
                                width: 520px;
                            }
                        }
                    }
                }

                & + .award-list{
                    margin-top: 20px;
                }
            }
        }
    }
}