@charset "UTF-8";

/* infoLayout
------------------------------------*/
.infoLayout .h2_wrap {
    background-image: url("../img/company/h2_sp.png");
}
.infoLayout .h2_wrap::after {
    background-image: url("../img/company/company_h2.png");
    width: 230px;
  height: 119px;
}
.infoLayout .btn_li {
    margin-top: 60px;
}
.infoLayout .btn_li .btn02 {
    z-index: 1;
    max-width: 240px;
  border-radius: 50px;
    width: 100%;
    padding: 20px 30px;
    overflow: hidden;
    margin: 0 auto;
    font-weight: bold;
}
.infoLayout .btn_li .btn02 span {
    position: relative;
    display: block;
}
.infoLayout .btn_li .btn02 span::after {
    position: absolute;
    content: "→";
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
    transition: all 0.3s;
}
.infoLayout .btn_li .btn02:hover span::after {
    right: 0;
}
.infoLayout .logo_h4 {
    border-bottom: none;
    padding-left: 40px;
    color: #0164ab;
}
.infoLayout .logo_h4::before {
    background-size: cover;
    background-image: url("../common/img/icon03a.png");
    width: 23px;
    height: 23px;
    background-color: transparent;
    border-radius: 0;
    top: 50%;
    transform: translateY(-50%);
}


            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .infoLayout .h2_wrap {
                    background-image: url("../img/company/h2.png");
                }
                .infoLayout .h2_wrap::after {
                    width: 390px;
                    height: 207px;
                    bottom: -120px;
                }
                .infoLayout .btn_li {
                    max-width: 680px;
                    margin: 100px auto 0;
                }
            }

            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 1200px) {
                .infoLayout .logo_h4 {
                    font-size: 2rem;
                }
            }



/* companyLayout
------------------------------------*/
.companyLayout #c01 h3 span, .csrLayout #c01 h3 span {
    display: block;
    font-size: 1rem;
    margin-top: 10px;
}
.companyLayout #c01 h3, .csrLayout #c01 h3 {
    margin-bottom: 40px;
}
.companyLayout #c01 p {
    font-size: 1.1rem;
    line-height: 2;
    font-weight: 500;
}
.companyLayout #c01 .name_t p {
    font-family: "Noto Serif JP", serif;
    margin-top: 30px;
    text-align: left;
    line-height: 1.8;
    font-weight: bold;
}
.companyLayout #c01 .name_t span {
    font-size: 1.3rem;
}
.companyLayout #c02 table {
    margin-bottom: 60px;
}
.companyLayout #c02 .access_box .flex p {
    color: #0163ab;
    font-weight: bold;
    text-align: center;
    font-size: 1.4rem;
    margin-top: 10px;
}
.companyLayout #c03 {
    padding-top: 0;
}
.companyLayout #c03 .bg {
    background: url("../img/company/company_bg01_sp.png")no-repeat center center/cover;
    height: 130px;
}
.companyLayout #c03 .inner {
    padding-top: 100px;
}
.companyLayout #c03 .box:not(:last-of-type) {
    margin-bottom: 80px;
}
.companyLayout #c03 .box ul:not(:last-of-type) {
    margin-bottom: 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid #b9b9b9;
}
.companyLayout #c02 .access_box .flex_box01:first-child {
    padding-bottom: 50px;
    margin-bottom: 70px;
    border-bottom: 2px dotted #b9b9b9;
}


            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .companyLayout #c01 h3, .csrLayout #c01 h3 {
                    margin-bottom: 80px;
                }
                .companyLayout #c02 table {
                    margin-bottom: 100px;
                }
                .companyLayout #c02 .access_box .flex {
                    margin-top: 60px;
                }
                .companyLayout #c02 .access_box .flex_box01:first-child {
                    padding-bottom: 0;
                    margin-bottom: 0;
                    border-bottom: none;
                }
                .companyLayout #c03 .bg {
                    height: 340px;
                    background-image: url("../img/company/company_bg01.png");
                }
                .companyLayout #c03 .box:not(:last-of-type) {
                    margin-bottom: 100px;
                }
                .companyLayout #c03 .box ul:not(:last-of-type) {
                    margin-bottom: 100px;
                    padding-bottom: 100px;
                }
                .companyLayout #c03 .box .disc_li {
                    justify-content: flex-start;
                    gap: 20px 4%;
                }
            }

            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 1200px) {
                .companyLayout #c01 h3, .csrLayout #c01 h3 {
                    margin-bottom: 100px;
                }
                .companyLayout #c03 .box .disc_li {
                    gap: 30px 4%;
                }
            }



/* equipmentLayout
------------------------------------*/
.equipmentLayout .h2_wrap::after {
    background-image: url("../img/equipment/equipment_h2.png");
    width: 120px;
  height: 157px;
}
.equipmentLayout h3 span {
    display: block;
    font-size: 1rem;
    margin-top: 10px;
}
.equipmentLayout #c01 p {
    font-weight: 500;
    line-height: 2;
}
.equipmentLayout #c01 {
    padding-bottom: 30px;
}
.equipmentLayout #c02 p {
    font-weight: 500;
}
.equipmentLayout #c02 .ttl {
    color: #0163ab;
    margin: 30px 0 10px;
    font-size: 1.4rem;
    font-weight: bold;
}
.equipmentLayout #c02.g_bg .g_wrap {
    padding-top: 50px;
}
.equipmentLayout .flex_box02:not(:last-child) {
    margin-bottom: 80px;
}

            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .equipmentLayout .h2_wrap::after {
                    width: 260px;
                    height: 317px;
                }
                .equipmentLayout .flex {
                    gap: 60px 2%;
                }
                .equipmentLayout .flex_box02 {
                    width: calc(96% / 3);
                }
                .equipmentLayout .flex_box02:not(:last-child) {
                    margin-bottom: 0;
                }
                .equipmentLayout #c01 {
                    padding-bottom: 100px;
                }
                .equipmentLayout #c02.g_bg .g_wrap {
                    padding-top: 100px;
                }
            }

            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 1200px) {
            }



/* csrLayout
------------------------------------*/
.csrLayout .h2_wrap::after {
    background-image: url("../img/equipment/equipment02_h2.png");
    width: 130px;
  height: 147px;
}
.csrLayout .data_t {
    text-align: right;
    margin-top: 40px;
}
.csrLayout #c01 .flex_box01 img {
    max-width: 40%;
}
.csrLayout #c02 h4 {
    margin-top: 60px;
}
.csrLayout #c02 ol {
    margin: 40px 0;
    line-height: 2;
    counter-reset: ol_counter;
}
.csrLayout #c02 ol > li {
    counter-increment: ol_counter;
    position: relative;
    list-style-type: none;
    padding-left: 30px;
}
.csrLayout #c02 ol > li::before {
    position: absolute;
    content: counter(ol_counter) ".";
    top: 0;
    left: 5px;
}
.csrLayout #c02 .num_li {
    counter-reset: num;
    margin: 20px 0;
}
.csrLayout #c02 .num_li > li {
    counter-increment: num;
    position: relative;
    padding-left: 45px;
}
.csrLayout #c02 .num_li > li::before {
    position: absolute;
    content: "( " counter(num) " )";
    top: 0;
    left: 0;
}
.csrLayout #c03 {
    padding-top: 100px;
}
.csrLayout #c03 .flex:not(:last-of-type), .csrLayout #c03 .img {
    margin-bottom: 80px;
}
.csrLayout #c03 .num_li {
    counter-reset: num;
}
.csrLayout #c03 .num_li > li {
    counter-increment: num;
    position: relative;
    padding-left: 35px;
    list-style-type: none;
    line-height: 2;
}
.csrLayout #c03 .num_li > li::before {
    position: absolute;
    content: "【" counter(num) "】";
    top: 0;
    left: -5px;
}
.csrLayout #c03 .img {
    margin-top: 80px;
}
.csrLayout #c03 .num_li:not(:last-of-type), .csrLayout #c03 .csr_t:not(:last-of-type) {
    margin-bottom: 40px;
}
.csrLayout #c03 h5 {
    margin-bottom: 20px;
}

            /* 【スマートフォン用のスタイル記述】 */
            @media screen and (min-width: 760px) {
                .csrLayout .h2_wrap::after {
                    width: 260px;
                    height: 297px;
                    bottom: -180px;
                }
                .csrLayout #c01 .flex {
                    justify-content: flex-start;
                }
                .csrLayout #c01 .flex_box01:first-child {
                    width: 70%;
                }
                .csrLayout #c01 .flex_box01:last-child {
                    width: 26%;
                    max-width: 160px;
                }
                .csrLayout #c01 .flex_box01 img {
                    max-width: none;
                }
                .csrLayout #c03 .flex_box01:first-child {
                    width: 30%;
                }
                .csrLayout #c03 .flex_box01:last-child {
                    width: 62%;
                }
                .csrLayout #c03 .flex_box01:first-child img {
                    margin-left: 0;
                }
                .csrLayout #c03 .flex:not(:last-of-type), .csrLayout #c03 .img {
                    margin-bottom: 100px;
                }
                .csrLayout #c03 .btn_li .flex_box01:first-child, .csrLayout #c03 .btn_li .flex_box01:last-child {
                    width: calc(96% /2);
                }
            }

            /* 【タブレット用のスタイル記述】 */
            @media screen and (min-width: 1200px) {
            }
