/*sec_so----------------------------------------------------------- */
.sec_so {
    position: relative;
}
.sec_so .so_ttl {
    position: absolute;
    top: 30px;
    left: 0;
    font-size: 12vw;
    font-family: 'Perpetua Titling MT', sans-serif;
    font-weight: 100;
    font-style: italic;
    color: #eeeeee;
    opacity: .5;
    line-height: 1;
}
.sec_so .u-line {
    display: inline-block;
    border-bottom: 1px solid #000;
    padding-bottom: 15px;
    margin-bottom: 90px;
}
.sec_so .slick-slide {
    max-width: 246px;
    padding: 0 15px;
}
.sec_so .slick-slide > div {
    border: 1px solid #999;
}
.sec_so .building {
    padding: 15px 15px 8px;
    font-weight: bold;
    background: #ecebeb;
    line-height: 1.2;
    height: 62px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.sec_so .building_detail {
    padding: 0px 15px 15px;
    background: #ecebeb;
}
.sec_so .txt1 {
    text-align: left;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
}
.sec_so .txt2 {
    background: #fff;
}
.sec_so .building_btn a {
    border-radius: 15px;
    margin-top: 10px;
    font-size: 14px;
}
/* arrow */
.sec_so .slick_slider {
    position: relative;
}
.sec_so .slick-slider .slick-prev:before,
.sec_so .slick-slider .slick-next:before {
    color: #e04622;
    font-size: 60px;
}
.sec_so .slick-slider .slick-prev {
    position: absolute;
    top: -60px;
    left: -1170px;
    right: 0;
    margin: 0 auto;
}
.sec_so .slick-slider .slick-next {
    position: absolute;
    top: -60px;
    left: -1000px;
    right: 0;
    margin: 0 auto;
}
.slick-prev, .slick-next {
    width: 60px;
    height: 60px;
}
@media (min-width: 768px) and (max-width: 1229px) {
    .sec_so .so_ttl {
        font-size: 90px;
    }
    .sec_so .u-line {
        margin-bottom: 45px;
    }
    .sec_so .slick-slide img {
        width: 300px;
    }
    .sec_so .building_detail a {
        width: 100%;
    }
    .sec_so .slick-slider .slick-prev {
        top: -30px;
        left: -680px;
        right: 0;
    }
    .sec_so .slick-slider .slick-next {
        top: -30px;
        left: -520px;
        right: 0;
    }
}

@media screen and (max-width: 767px) {
    /*sec_so----------------------------------------------------------- */
    .sec_so .so_slide {
        display: block;
        width: 100%;
    }
    .sec_so .so_slide img {
        max-width: 300px;
        width: 300px;
    }
    .sec_so .so_ttl {
        font-size: 60px;
        z-index: -1;
    }
    .sec_so .u-line {
        margin-bottom: 30px;
    }
    .sec_so .slick-slide {
        max-width: 330px;
    }
    .sec_so .txt1 {
        height: 60px;
    }
    .sec_so .slick_slider {
        position: relative;
    }
    .sec_so .slick-prev,
    .sec_so .slick-next {
        width: 40px;
        height: 40px;
        background: #41a9a5;
        display: block;
    }
    .sec_so .slick-slider .slick-prev:before,
    .sec_so .slick-slider .slick-next:before {
        color: #fff;
        font-family: "Font Awesome 5 Free";
        font-weight: bold;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 12px;
    }
    .sec_so .slick-prev:before {
        content: "\f053";
    }
    .sec_so .slick-next:before {
        content: "\f054";
    }
    .sec_so .slick-slider .slick-prev {
        position: absolute;
        top: 45%;
        left: 15px;
        right: inherit;
        z-index: 2;
    }
    .sec_so .slick-slider .slick-next {
        position: absolute;
        top: 45%;
        left: inherit;
        right: 15px;
        z-index: 2;
    }
    .slick-prev, .slick-next {
        width: 30px;
        height: 30px;
    }
    .sec_so .building_detail a {
        width: 80%;
    }
}
