@charset "utf-8";

/******************
全体街区 landscape
*/
/*前半*/
.landscape-01{
    position: relative;
    padding: 0 15px;
    max-width: 1890px;
    margin: 0 auto 50px;
}
.landscape-01-01{
    margin-bottom: 50px;
    .text{
        font-size: clamp(20px, 2.375vw, 38px);
    }
}
.landscape-01-02{
    margin: 0 auto 50px;
    .text{
        font-size: 18px;
        margin-bottom: 1em;
    }
    .text-s{
        font-size: 12px;
    }
    .landscape-01-02-right-inner{
        font-size: 14px;
        background-color: #fff;
        border-radius: 5px;
        background-image: url(img/img_02.png);
        background-size: 145px 163px;
        background-repeat: no-repeat;
        background-position: left top;
        padding: 40px 60px 40px 160px;
        max-width: 630px;
        min-height: 170px;
    }
}
.landscape-01-03{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
@media screen and (max-width: 799px) {
    .landscape-01{
        padding-top: 50px;
        h2{
            margin-bottom: 50px;
        }
    }
    .landscape-01-01{
        .text{
            margin-bottom: 20px;
        }
    }
    .landscape-01-02{
        .text{
            font-size: 16px;
        }
        .landscape-01-02-left{
            margin-bottom: 20px;
        }
        .landscape-01-02-right-inner{
            padding: 20px 20px 20px 160px;
        }
    }
}
@media screen and (min-width: 800px) {
    .landscape-01-01{
        display: grid;
        grid-template-columns: 1fr 2.88fr;
        .text{
            writing-mode: vertical-rl;
            display: flex; 
            align-items: center;
            padding: 1em;  
        }
    }
    .landscape-01-02{
        display: flex;
        max-width: 1420px;
        padding: 0 10px;
        .landscape-01-02-left{
            padding-right: 1em;
        }
        .landscape-01-02-left,
        .landscape-01-02-right{
            width: 50%;
        }
        .landscape-01-02-right-inner{
            margin-left: auto;
        }
    }
}
@media (min-width: 800px) and (max-width: 1599px) {
    .landscape-01{
        h2{
            margin-bottom: 50px;
        }
    }
 
}
@media screen and (min-width: 1600px) {
    .landscape-01{
        position: relative;
        margin-bottom: 120px;
        h2{
            position: absolute;
            width: 25.3%;
            text-align: center;
            left: 0;
            top: 80px;
            img{
                display: inline;
            }
        }
    }
    .landscape-01-01{
        margin-bottom: 120px;
        .text{
            padding: 220px 1em 1em
        }
    }
    .landscape-01-02{
        margin: 0 auto 130px;
    }
}

/*後半 リスト*/
.landscape-02{
    position: relative;
    padding: 0 15px;
    max-width: 1890px;
    margin: 0 auto;
}
.landscape-02-left{
    margin-bottom: 50px;
    h4{
        font-size: clamp(18px, 2.375vw, 34px);
        font-weight: normal;
    }
    .img{
        figcaption{
            font-size: 12px;
            text-align: right;
        }
    }
}
.landscape-02-right{
    ul{
        list-style: none;
        padding: 0;
    }
    li{
        font-size: 16px;
        margin-bottom: 50px;
        h4{
            font-size: 20px;
            font-weight: 600;
            background-position: left bottom;
            background-repeat: no-repeat;
            padding-bottom: 20px;
            margin-bottom: 20px;
        }
        &.landscape-list-01 h4{
            background-image: url(img/line_01.png);
        }
        &.landscape-list-02 h4{
            background-image: url(img/line_02.png);
        }
        &.landscape-list-03 h4{
            background-image: url(img/line_03.png);
        }
        &.landscape-list-04 h4{
            background-image: url(img/line_04.png);
        }
        &.landscape-list-05 h4{
            background-image: url(img/line_05.png);
        }
    }
}
@media screen and (max-width: 799px) {
    .landscape-02-left{
        h4{
            margin-bottom: 20px;
        }
    }
    .landscape-02-right{
        ul li h4{
            font-size: 18px;
        }
    }
}
@media screen and (min-width: 800px) {
    .landscape-02{
        display: flex;
        flex-wrap: wrap;
        gap: 25px;
        .landscape-02-left{
            width: calc(50% - 13px);
            max-width: 715px;
            display: grid;
            grid-template-columns: 2.33fr 1fr;
            h4{
                order: 2;
                writing-mode: vertical-rl;
                display: flex; 
                align-items: center;
                padding: 10px;  
            }
            .img{
                order: 1;
            }
        }
        .landscape-02-right{
            width: calc(100% - 740px);
            min-width: calc(50% - 13px);
            ul{
                display: flex;
                flex-wrap: wrap;
                li{
                    padding: 0 30px 30px;
                }
            }
        }
    }
}
@media (min-width: 800px) and (max-width: 1599px) {
    .landscape-02-right{
        li{
            ul{
                width: 100%;
            }
        }
    }
}
@media screen and (min-width: 1600px) {
    .landscape-02-right{
        ul{
            li{
                width: 50%;
                h4{
                    margin-bottom: 30px;
                }
            }
        }
    }
}