@charset "utf-8";
/* 
サイト固有の記述
*/

/* 全体（色系）*/
body {
    .tp_sec02,
    .tp_sec03 {
        .wide_ttl .jp_ttl {
            border-left: none;
            padding-left: 0;
            margin-left: 0;
        }

        .wide_ttl .jp_ttl::before {
            content: "";
            display: inline-block;
            background-image: url(../images/icon/logo_icon.svg);
            background-size: contain;
            background-repeat: no-repeat;
            width: 40px;
            height: 40px;
            margin-right: 15px;
            vertical-align: bottom;
        }
    }
}

/* パソコン以上*/
@media screen and (min-width: 1281px) {
    body {
        #main_visual .copy_text {
            width: 25%;
            left: 10%;
        }

        .menu_area {
            ul.links_sns {
                margin-left: 0;
            }
        }

        .tp_sec02 {
            .layout_b .txtbox {
                margin-left: 120px;
                margin-top: 3%;
            }

            .layout_a .txtbox {
                margin-right: 120px;
                margin-top: 3%;
            }

            img {
                border-radius: 20px;
            }
        }

        .pa2 {
            padding: 0 2%;
        }

        footer .sub_images_ul.cul2 {
            margin-bottom: 10px;
        }
    }
}

/* モニター以上*/
@media screen and (min-width: 1860px) {
    body {
        #main_visual .copy_text {
            width: 35%;
            left: 5%;
        }
    }
}

/* タブレット*/
@media screen and (max-width: 1024px) {
    body {
        footer .sub_images_ul.cul2 {
            display: flex;
        }

        footer {
            .sub_images_ul.cul2 li {
                width: calc(100% / 2 - 5px);
            }
        }
    }
}

/* 携帯*/
@media screen and (max-width: 767px) {
    body {
        .swiper-container .swiper-wrapper .swiper-slide {
            height: calc(100vh - 160px);
        }

        .tp_sec02 {
            .font_medium.txt_lh02 {
                padding: 0 5%;
            }

            .txtbox00 {
                padding: 0 5% !important;
                box-sizing: border-box;
            }
        }

        footer .sub_images_ul.cul2 {
            display: block;
        }
        footer .sub_images_ul.cul2 .li:last-child {
            margin-bottom: 10px;
        }

        footer {
            .sub_images_ul.cul2 li {
                width: 100%;
            }
        }

        .tp_sec02,
        .tp_sec03 {
            .wide_ttl .jp_ttl::before {
                width: 35px;
                height: 35px;
                margin-right: 10px;
            }
        }
    }
}
