@charset "utf-8";

/**
 *
 *  ページ用CSS
 *　index
 */



/* zeh
-----------------------------------------------------------------*/
.zeh {
    margin: 130px 0 160px;
}
.zeh h2 {
    position: relative;
    margin-bottom: 50px;
    padding-bottom: 15px;
    border-bottom: 1px solid #7d0000;
    text-align: center;
    color: #7d0000;
    font-size: 2.4rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.4;
}
.zeh h3 {
    position: relative;
    margin-bottom: 20px;
    padding-left: 25px;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.4;
}
.zeh h3::before {
    position: absolute;
    top: 5px;
    left: 0;
    width: 14px;
    height: 14px;
    border: 2px solid #7d0000;
    border-radius: 50%;
    box-sizing: border-box;
    content: "";
}
.zeh p {
    font-size: 1.6rem;
    letter-spacing: .1em;
}
.zeh .flex-ul {
    display: flex;
    flex-wrap: wrap;
    padding-top: 10px;
    gap: 20px;
}
.zeh .flex-ul ul {
    width: calc(50% - 10px);
}
.zeh li {
    position: relative;
    padding-left: 20px;
    font-size: 1.6rem;
    letter-spacing: .1em;
}
.zeh li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "・";
}
.zeh .lead_content {
    padding-bottom: 120px;
}
.zeh .lead_content p {
    padding-bottom: 50px;
}
.zeh .result_wrap {
    margin-bottom: 80px;
}
.zeh .result_content .title {
    padding-bottom: 30px;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
}
.zeh .result_content .flex_wrap {
    display: flex;
    flex-wrap: wrap;
}
.zeh .result_content .flex_wrap._flex1 {
    margin-bottom: 50px;
    gap: 100px;
}
._flex2 {
    margin-top: 30px;
    gap: 35px 50px;
}
.scroll-table {
    position: relative;
    margin-bottom: 50px;
}
.zeh .result_content th {
    width: 220px;
    height: 60px;
    border: 1px solid #fff;
    background: #7d0000;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    vertical-align: middle;
}
.zeh .result_content td {
    width: 220px;
    height: 80px;
    border: 1px solid #a9a9a9;
    background: #faf7ee;
    font-size: 1.6rem;
    text-align: center;
    vertical-align: middle;
}
.zeh .btn_search a {
    position: relative;
    display: block;
    margin: 50px auto 150px;
    padding: 22px;
    background: #7d0000;
    border-radius: 50px;
    max-width: 469px;
    color: #fff;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .1em;
}
.zeh .btn_search a[target="_blank"]::after {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 10px;
    content: "";
    background: url(../../common/image/ico_blank_w.png) 0% 0% / 100% no-repeat;
}
.pinch-guide {
    display: none;
}
/* ZEH-M 実績・目標テーブル（左右2分割・行の高さを揃える） */
.zeh .result_content .zehm_wrap {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}
.zeh .result_content table.zehm {
    border-collapse: collapse;
}
.zeh .result_content table.zehm._left {
    flex: 0 0 38%;
}
.zeh .result_content table.zehm._right {
    flex: 1;
}
/* 「ZEH-M全体の普及実績／目標」列の幅を上下で揃える */
.zeh .result_content .zehm._right tr:first-child th:first-child {
    width: 35%;
}
.zeh .result_content .zehm tr {
    height: 50px;
}
.zeh .result_content .zehm tr._head1 {
    height: 70px;
}
.zeh .result_content .zehm tr._head2 {
    height: 100px;
}
.zeh .result_content .zehm th,
.zeh .result_content .zehm td {
    width: auto;
    height: auto;
    padding: 0 10px;
    line-height: 1.4;
    white-space: nowrap;
}
.zeh .result_content .zehm th {
    font-size: 1.6rem;
}
@media screen and (max-width: 1200px) {
    .zeh .result_content .flex_wrap._flex1 {
        gap: 50px;
    }
    .scroll-table {
        padding-bottom: 20px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .scroll-table table {
        min-width: 165px;
    }
    .scroll-table table.wide {
        min-width: 1100px;
    }
    .pinch-guide {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 10%;
        top: 20%;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.7);
        z-index: 1;
    }
    .pinch-guide::after {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 78px;
        height: 33px;
        margin: auto;
        background: url(../image/finger_arw.png) no-repeat center / contain;
        content: '';
      }
    .pinch-guide img {
        animation: moveFinger 1.5s infinite ease-in-out;
        display: inline-block;
        position: relative;
        width: 23px!important;
    }
    @keyframes moveFinger {
        0% {
            left: -2px;
        }
        30% {
            left: 2px;
        }
        60% {
            left: -2px;
        }
        100% {
            left: -2px;
        }
    }
}
/*--------------------------------------------------------------------------
   mobile
---------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
    /* zeh
    -----------------------------------------------------------------*/
    .zeh {
        margin: 60px 0 80px;
    }
    .zeh h2 {
        margin-bottom: 30px;
        padding-bottom: 10px;
        font-size: 2rem;
    }
    .zeh .lead_content {
        padding-bottom: 60px;
    }
    .zeh .lead_content p {
        padding-bottom: 30px;
    }
    .zeh .result_wrap {
        margin-bottom: 50px;
    }
    .zeh .result_content .title {
        padding-bottom: 20px;
        font-size: 2rem;
    }
    .zeh .result_content .flex_wrap._flex1 {
        margin-bottom: 30px;
        gap: 30px;
    }
    ._flex2 {
        margin: 20px 0 0;
        gap: 20px;
        flex-wrap: nowrap!important;
    }
    .zeh .result_content th {
        width: 165px;
        height: 60px;
    }
    .zeh .result_content td {
        width: 165px;
        height: 60px;
    }
    .zeh .flex-ul {
        gap: 0;
    }
    .zeh .flex-ul ul {
        width: 100%;
    }
    .zeh .btn_search a {
        margin: 30px auto 100px;
        padding: 15px;
        font-size: 1.8rem;
    }
    .scroll-table table {
        min-width: 165px;
    }
    .scroll-table table.wide {
        min-width: 825px;
    }
    .zeh .result_content .zehm_wrap {
        min-width: 700px;
        gap: 15px;
    }
    .zeh .result_content .zehm th,
    .zeh .result_content .zehm td {
        padding: 0 8px;
        font-size: 1.4rem;
    }
}
