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

/* 全体（色系）*/
body {
    &.single .a_under a {
        color: #0000ee;
        text-decoration: underline;
    }

    .txt_white {
        color: #fff !important;
    }

    &.page-template-tmpl_products_post,
    &.tax-products_c,
    &.page-template-tmpl_works_post,
    &.tax-works_c,
    &.page-template-tmpl_news,
    &.category {
        .ttl05 {
            border-bottom: solid 1px #333333;
        }
    }

    &.recruit {
        .sec01 .ttl05 {
            border-bottom: solid 2px #4a6484;
        }

        .sec02 {
            .ttl05 {
                border-bottom: solid 2px #cccccc;
            }

            h3 {
                color: #4a6484;
            }
        }
    }

    .tab-wrap {
        .ttl10 {
            color: #4a6484;
        }
    }

    &.recruit {
        .sp_on2 {
            display: none;
        }
    }

    .tp_news {
        .thum_list {
            max-width: 900px;
            display: block;
            flex-wrap: wrap;
            -webkit-box-align: center;
            -ms-flex-align: center;

            li {
                align-items: center;
                padding-bottom: 20px;
                margin-bottom: 20px;
                border-bottom: solid 1px #223a70;
                width: 100%;
                padding-left: 25px;
                padding-right: 25px;
            }

            .date_area {
                display: flex;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                -webkit-box-align: center;
                -ms-flex-align: center;
                align-items: center;
                gap: 0 20px;
            }
        }
    }

    .top .header-nav01 li.menu-item-has-children:hover ul.sub-menu li:hover {
        background-color: #e2e2e2;
    }

    .top .header-nav01 li.menu-item-has-children:hover ul.sub-menu li {
        width: 100%;
        background-color: #ffffff;
        line-height: 1.5;
        padding: 10px 20px;
        margin-bottom: 1px;
    }
    /* .header-r-area {
        .h_btn01:hover a {
            color: #333;
        }
    } */

    .footer_breadcrumbs {
        font-size: 20px;
    }

    .tp_sec03 {
        h3 {
            font-size: clamp(28px, 1.182rem + 2.42vw, 48px);
            font-weight: bold;
            line-height: 1;
            color: #223a70;
        }
    }
}

/* パソコン以上*/
@media screen and (min-width: 1281px) {
    body {
        .tp_sec03 {
            .layout_e .txtbox {
                margin-right: 70px;
            }

            .layout_d .txtbox {
                margin-left: 70px;
            }
        }

        .bnr_flex li a figure figcaption {
            left: 40px;
        }

        &.environmental-control-equipment,
        &.refrigeration-facilities,
        &.air-conditioning,
        &.hvac,
        &.refrigerant-recovery-and-recycling {
            .layout_a .imgbox,
            .layout_b .imgbox {
                width: 50%;
            }

            .layout_a .txtbox {
                margin-right: 80px;
            }

            .layout_b .txtbox {
                margin-left: 80px;
            }
        }

        &.new-technology,
        &.product {
            .topi_ul li a {
                margin-left: 10px;
            }

            .layout_a .imgbox {
                width: 50%;
            }

            .layout_a .txtbox {
                margin-right: 80px;
            }
        }

        &.recruit {
            .layout_a .imgbox,
            .layout_b .imgbox {
                width: 52%;
            }

            .layout_a .txtbox {
                margin-right: 80px;
            }

            .layout_b .txtbox {
                margin-left: 80px;
            }
        }

        &.company {
            .layout_a .imgbox {
                width: 50%;
            }

            .layout_a .txtbox {
                margin-right: 80px;
            }
        }

        .contact_infoarea {
            padding: 0 5%;
        }

        &.new-technology,
        &.product {
            .sec02 {
                .sub_images_ul.cul2 {
                    gap: 35px 15px;
                }

                .sub_images_ul.cul2 .li {
                    width: calc((100% - 30px) / 3);
                }
            }
        }

        &.product .sec01 .box {
            padding: 0 0 80px;
        }

        .sp_on2 {
            display: none;
        }

        .pc_on2 {
            display: block;
        }

        &.single-works_post {
            .tbl_list01 li .tbl_ttl {
                width: 20%;
            }
        }

        .fs20 {
            font-size: 20px;
        }
    }
}

/* モニター以上*/
@media screen and (min-width: 1860px) {
    body {
    }
}

/* タブレット*/
@media screen and (max-width: 1024px) {
    body {
        .header-nav01 {
            display: none;
        }

        &.product .sec01 .box {
            padding: 0 0 50px;
        }

        .sp_on2 {
            display: none;
        }

        .pc_on2 {
            display: block;
        }

        .tp_news {
            .thum_list {
                li {
                    width: auto;
                }
            }
        }
    }
}

/* 携帯*/
@media screen and (max-width: 767px) {
    body {
        .tp_news {
            padding-bottom: 0;
        }

        &.home {
            header {
                position: absolute;
            }

            .top {
                .header_drawer_toggle .gnav-trg span.line,
                .header_drawer_toggle .gnav-trg::before,
                .header_drawer_toggle .gnav-trg::after {
                    background-color: #333;
                }
            }

            .top.fixed {
                .header_drawer_toggle .gnav-trg span.line,
                .header_drawer_toggle .gnav-trg::before,
                .header_drawer_toggle .gnav-trg::after {
                    background-color: #333;
                }
            }
        }

        .accordion-area .faq_title {
            padding: 20px 10% 20px 40px;
        }

        .count_flex .count_body {
            margin-left: 20px;
        }

        &.recruit {
            .sp_on2 {
                display: block;
            }
        }

        .tab-switch:checked + .tab-label + .tab-content {
            margin-top: 0;
            padding: 30px 0 0;
        }

        &.company {
            .tbl_list02 li .list_ttl {
                padding: 10px;
            }

            .tbl_list02 li:before {
                width: 25%;
            }

            .tbl_list02 li .list_body {
                padding: 15px;
            }
        }

        .tp_news {
            .thum_list {
                li {
                    width: auto;
                }
            }
        }

        main section .page_head figure img {
            aspect-ratio: 1280 / 370;
            border-radius: 0 50px;
        }

        .page_head {
            .basic_space7_margin_bottom {
                margin-bottom: 0;
            }
        }

        .sp_mb_50px {
            margin-bottom: 50px;
        }

        .sp_on2 {
            display: block;
        }

        .pc_on2 {
            display: none;
        }

        &.history .sec03 {
            padding: 50px 0 0;
        }

        /* --- 丸（●）の設定 --- */
        &.history .timeline-content:before {
            content: "";
            width: 12px;
            height: 12px;
            background: #4a6484;
            position: absolute;

            /* left: -1%; ← これを削除して以下に変更 */
            /* 線の太さ(3px) - 丸のサイズ(12px) ÷ 2 = -4.5px で真ん中に来ます */
            left: -7px;

            top: 5px; /* お好みで調整 */
            border-radius: 100%;
        }

        /* --- コンテンツ部分 --- */
        &.history .timeline-content {
            width: 90%;
            float: left;
            border-left: 3px #b5b9bb solid;
            padding-left: 30px;
            padding-bottom: 60px;
            position: relative; /* beforeの位置基準にするため念のため明示 */
        }

        /* --- 日付部分 --- */
        &.history .timeline-date {
            width: 110px;
            float: left;
            /* margin-top: 20px; */
            padding-left: 30px;
            border-left: 3px #b5b9bb solid;
        }

        /* --- リスト（li）部分：ここが重要 --- */
        &.history .timeline > li {
            /* overflow: hidden; ← ★これを削除します（丸が見えるようになります） */
            margin: 0;
            position: relative;
        }

        /* ★float解除のためのclearfixを追加 */
        &.history .timeline > li::after {
            content: "";
            display: block;
            clear: both;
        }

        .footer_breadcrumbs {
            font-size: 16px;
        }
        .breadcrumbs {
            padding: 5.33vw 0 0;
        }
    }
}
