@charset "utf-8";
/* フォント */
/* font-family: 'Zen Maru Gothic', sans-serif; */
/* adobe fonts */
/* font-family: "fot-udmarugo-large-pr6n", sans-serif;
font-weight: 300;
font-style: normal; */
/* font-family: "fot-udmarugo-large-pr6n", sans-serif;
font-weight: 700;
font-style: normal; */

/* PCレイアウトの横幅 */
:root {
    --pcWidth: 970px;
    --pcTextWidth: 540px;
}

/* CSS Document */
body {
    position: relative;
    font-family: "Zen Maru Gothic", "M PLUS Rounded 1c", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px;
    font-feature-settings: "ss02";
    line-height: 1.6;
    color: #333;
    background-color: #fff;
}

img {
    max-width: 100%;
    max-height: 100%;
}

.container {
    position: relative;
    max-width: var(--pcWidth);
    padding-top: 60px;
    margin: 0 auto;
    text-align: center;
}

@media (max-width: 970px) {
    .container {
        width: 100%;
        margin: 0 auto;
    }
}

@media (max-width: 1040px) {
    .container {
        width: 100%;
        margin: 0 auto;
    }
}

/* ============================================================== */

/*      メインビジュアル　下のアタゴショップボタンまで      */

/* ============================================================== */
.main {
    position: relative;
    background-image: url("/images/lp/lp_palsoil/main_v_bg.jpg");
}

.main-inner {
    position: relative;
    width: var(--pcWidth);
    height: 350px;
    margin: 0 auto;
    background-repeat: repeat-x;
    background-position: top center;
}

.main_v_txt_flex_box {
    position: absolute;
    display: flex;
    justify-content: center;
    margin: 40px 10px 10px 125px;
}

.main_v_txt_flex_box p {
    width: 140px;
    margin-left: 20px;
    text-align: center;
    background: #e29523;
    border: 1px solid;
}

.main_v_txt_container_prod_name {
    position: absolute;
    top: 95px;
    left: 125px;
    font-size: 1.8rem;
    text-align: center;
}

.main_prod_suggest span {
    font-size: 3.6rem;
}

.main_prod_suggest {
    font-family: "fot-udmarugo-large-pr6n", sans-serif;
    font-style: normal;
    font-weight: 600;
    letter-spacing: 3px;
}

.main_v_txt_container {
    position: absolute;
    bottom: 14px;
    left: 140px;
    display: flex;
}

.main_v_txt_container2 {
    position: absolute;
    right: 72px;
    bottom: 0;
    display: flex;
}

.main_v_txt_container2 p {
    position: relative;
    right: 1px;
    bottom: 0;
    margin-bottom: -37px;
    margin-left: 30px;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 84px;
}

.main_v_txt_container2 p span {
    font-size: 2.8rem;
}

.main_prod_name {
    font-family: futura-pt, sans-serif;
    font-size: 4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 70px;
    color: #e29523;
    text-shadow:
        1px 1px 0 #fff,
        -1px -1px 0 #fff,
        -1px 1px 0 #fff,
        1px -1px 0 #fff,
        0 1px 0 #fff,
        0 -1px 0 #fff,
        -1px 0 0 #fff,
        1px 0 0 #fff;
}

.main_img {
    text-align: center;
}

.main_pc_img {
    margin: -22px -120px 0 0;
}

.main_mobile_img {
    display: none;
}

@media (max-width: 1000px) {
    .main_mobile_img {
        display: unset;
        width: 100%;
    }

    .main-inner {
        display: none;
        width: 100%;
    }

    .main {
        background-image: none;
    }
}

@media (max-width: 970px) {
    .main {
        width: 100%;
        height: auto;
        margin-top: 60px;
    }

    .main-inner {
        height: 730px;
    }

    .main_img {
        max-width: 100%;
    }

    .main_pc_img {
        display: none;
    }
}

.shopping-link {
    padding: 20px 0 30px;
}

@media (max-width: 970px) {
    .bl01-copy {
        display: none;
    }

    .main-inner {
        height: auto;
    }
}

@media (max-width: 700px) {
    .shopping-link img {
        display: block;
        width: 96%;
        height: auto;
        margin: 0 auto;
    }
}

.title-round-short {
    width: 30%;
    padding: 16px 0;
    margin: 0 auto 30px;
    font-weight: 100;
    border-radius: 40px;
}

/* ============================================================== */

/*				block_principleのCSS				*/

/* ============================================================== */
.block_principle {
    padding-bottom: 100px;
}

.illust-images {
    height: 219px;
    text-align: center;
    background-image: url("/images/lp/lp_palsoil/bl03-bg.gif");
    background-repeat: repeat-x;
    background-position: top center;
}

.bl02_graph_container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-left: -20px;
}

.bl02_graph_img {
    text-align: center;
}

.bl02_graph_text1 {
    margin: 5px;
}

.bl02_graph_text2 {
    margin: 5px;
    writing-mode: vertical-rl;
}

.bl02_graph_text3 {
    margin: 5px;
}

.bl02_graph_container_sub {
    text-align: center;
}

@media (max-width: 970px) {
    .illust-images img {
        width: 100%;
        height: auto;
        background-color: #1d4990;
    }

    .illust-images {
        height: auto;
        background-image: none;
    }

    .bl02_graph_text2 {
        left: 6%;
    }
}

@media (max-width: 690px) {
    .bl02_graph_text1,
    .bl02_graph_text2,
    .bl02_graph_text3 {
        font-size: 1rem;
    }

    .bl02_graph_text2 {
        left: 0%;
    }
}

@media (max-width: 570px) {
    .bl03-04_inner {
        background-color: #f7f9f8;
        background-image: url("/images/lp/lp_palsoil/nami-bg_2.jpg");
    }
}

@media (max-width: 499px) {
    .bl03-04_inner {
        padding: 120px 0 0 0;
        background-color: #f7f9f8;
        background-image: url("/images/lp/lp_palsoil/bg-02-03_sma.jpg");
        background-size: contain;
    }
}

.bl02-wrap {
    width: 100%;
    text-align: center;
}

.column-kazari-white {
    margin: 0 auto;
    text-align: center;
}

@media (max-width: 508px) {
    .column-kazari-white {
        width: 100%;
    }

    .column-kazari-white img {
        width: 100%;
        height: auto;
    }
}

.bl02-txt {
    display: block;
    width: var(--pcTextWidth);
    margin: 0 auto;
    font-size: 1.2rem;
    text-align: left;
}

.bl02-txt span {
    font-size: 0.8rem;
}

@media (max-width: 600px) {
    .bl02-txt {
        margin: 0 40px;
    }
}

@media (max-width: 420px) {
    .bl02-txt {
        width: 90%;
        margin: 0 auto;
    }
}

.bl02-02txt-adjust {
    margin: 40px 0 10px 0;
    text-align: left;
}

@media (max-width: 970px) {
    .bl02-wrap {
        flex-wrap: wrap;
        justify-content: space-between;
        width: 100%;
    }

    .bl02-01img-adjust {
        padding: 20px 0 0 20px;
        margin: 0 auto;
        text-align: center;
    }

    .bl02-column {
        margin: 20px auto 0;
    }

    .bl02-02txt-adjust {
        margin: 40px auto 10px;
        text-align: center;
    }
}

/* ============================================================== */
/*				block_meritのCSS				*/
/* ============================================================== */

.block_merit {
    overflow: hidden;
}

.block_merit_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.block_merit_container div h3 {
    display: block;
    margin-right: 92px;
    margin-bottom: 28px;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 2px;
    background: linear-gradient(transparent 76%, #f6c94b 76%);
}

.block_merit_container div p {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 2.4;
}

.block_merit_container img {
    width: 340px;
    height: 309px;
    margin-top: 10px;
}

.block_merit_compare h3 {
    margin-top: 56px;
    margin-bottom: 10px;
    font-size: 1.4rem;
    font-weight: 500;
    color: #595959;
    text-align: center;
}

@media (max-width: 960px) {
    .table_container {
        overflow-x: scroll;
    }

    .block_merit_compare table {
        overflow: hidden;
    }

    .block_merit_container div h3 {
        margin: 0 50px 30px;
    }

    .block_merit_container div {
        text-align: center;
    }
}

.block_merit_compare table {
    width: 960px;
    max-width: 960px;
    margin: 0 auto;
    font-size: 0.8rem;
    background: white;
    border-radius: 20px;
    box-shadow: 10px 5px 5px #9e9e9e;
}

.block_merit_compare table tr td {
    padding: 20px 10px 10px 15px;
    font-weight: 500;
    text-align: start;
}

.block_merit_compare table tr td img {
    float: left;
    width: 30px;
    margin: 0 20px 0 0;
    text-align: center;
}

.border_tr {
    border-top: solid 2px #bbb;
}

.block_merit_compare table tr:nth-child(1n) {
    padding: 0;
}

th.th_orange {
    padding: 0 5px 0 14px;
    font-size: 1.2rem;
    font-weight: 500;
    color: white;
    text-align: left;
    background: #f8990f;
}

th.th_gray {
    padding: 5px 0 5px 20px;
    margin: 0 0 0 10px;
    font-size: 1.2rem;
    font-weight: 500;
    color: white;
    text-align: left;
    background: #aaa;
    border-left: solid 5px;
}

.th_gray:nth-child(2n) {
    border-radius: 0 20px 0 0;
}

.block_merit_point {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 905px;
    margin: 160px auto 0;
}

.block_merit_point_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: 839px;
    margin-bottom: 120px;
}

.block_merit_point_container img {
    max-width: 306px;
    max-height: 306px;
}

.block_merit_point_container:nth-child(2n) {
    flex-direction: row-reverse;
}

.merit_point_text {
    position: relative;
    z-index: 5;
    width: 257px;
    margin: 34px 80px;
}

.block_merit_point_container p {
    width: 330px;
    margin: 0 0 40px 0;
    font-size: 1.2rem;
    font-weight: 500;
}

.block_merit_point_container p span {
    font-size: 1rem;
    color: #666;
    letter-spacing: -2px;
}

.merit_point_text img {
    position: absolute;
    top: -75px;
    left: -62px;
    z-index: -1;
}

.merit_point_text h3 {
    width: 400px;
    height: 134px;
    margin-top: 23px;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 1px;
}

@media (max-width: 960px) {
    .block_merit_point_container {
        width: 100%;
    }

    .table_container {
        overflow-x: scroll;
    }

    .block_merit_compare table {
        margin: 0 10px 20px 10px;
        overflow: hidden;
    }

    .block_merit_point {
        width: auto;
    }

    .block_merit_point_container p {
        width: 100%;
    }
}

/* ============================================================== */
/*				block_customer_s_voiceのCSS				*/
/* ============================================================== */

.block_customer_voice {
    background-image: url("/images/lp/lp_palsoil/customer_voice_bg.jpg");
    background-size: cover;
}

.block_customer_voice a p {
    width: 120px;
    padding: 10px 20px;
    margin: 30px auto;
    color: white;
    text-align: center;
    background: black;
    border-radius: 10px;
}

.customer_voice_headline {
    position: relative;
    width: 400px;
    padding: 40px 0;
    margin: 0 auto;
}

.customer_voice_headline h2 {
    position: absolute;
    top: 45px;
    left: 98px;
    font-size: 2rem;
    font-weight: 500;
    color: white;
    letter-spacing: 3px;
}

.customer_voice_headline img {
    width: 230px;
}

.customer_voice_container {
    width: 970px;
    margin: 0 auto;
    background: white;
}

.customer_info {
    position: relative;
    align-items: center;
    justify-content: space-between;
}

.customer_info > p {
    position: absolute;
    top: 42px;
    left: 180px;
    font-weight: 600;
    text-align: center;
}

.customer_name {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-weight: 600;
}

.customer_genre {
    padding: 5px 10px;
    margin-right: 50px;
    color: white;
    background: #e29523;
}

.customer_description {
    display: flex;
    padding: 0 0 50px 0;
}

.customer_text {
    margin: 10px 50px;
    font-weight: 500;
}

.customer_description img {
    width: 245px;
    height: 182px;
    margin-right: 20px;
}

.customer_text p:nth-child(3)::before {
    display: block;
    width: 100px;
    margin: 20px 0;
    content: "";
    border: solid 1px;
}

.customer_text p span {
    color: #e29523;
}

.customer_voice_headline p {
    padding: 10px;
    font-size: 1.2rem;
    color: white;
}

@media (max-width: 960px) {
    .customer_description {
        flex-wrap: wrap;
    }

    .customer_voice_container {
        width: 80%;
    }

    .customer_info > p {
        position: static;
        margin: 0 0 30px 0;
        font-size: 2rem;
        font-weight: 600;
        text-align: center;
    }

    .customer_genre {
        margin: 20px;
        font-size: 1rem;
    }

    .customer_name img {
        max-width: 110px;
    }

    .customer_voice_headline {
        width: 100%;
        padding: 54px 0 16px 0;
        text-align: center;
    }

    .customer_voice_headline h2 {
        top: 29%;
        left: 44%;
        font-size: 2.2rem;
    }

    .customer_voice_headline img {
        width: 200px;
    }

    .customer_voice_headline p {
        font-size: 1.6rem;
    }

    .customer_text {
        margin: 10px 30px;
        font-size: 1.4rem;
    }

    .customer_text p:nth-child(1),
    .customer_text p:nth-child(2) {
        text-align: center;
    }

    .customer_text p:nth-child(2) {
        margin: 40px 0;
    }

    .customer_description img {
        margin: 0 auto;
    }
}

/* ============================================================== */
/*				block_hojokinnのCSS				*/
/* ============================================================== */

.block_hojokinn {
    overflow: hidden;
}

.block_hojokinn_textarea {
    margin: 100px 0;
}

.block_hojokinn_textarea h3 {
    display: block;
    width: 310px;
    margin: 0 auto;
    margin-bottom: 28px;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    letter-spacing: 2px;
    background: linear-gradient(transparent 76%, #f6c94b 76%);
}

.block_hojokinn_textarea p {
    margin: 0 auto;
    margin-top: 60px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2.6;
    text-align: center;
}

p.hojokinn_suggest {
    margin-top: 60px;
    font-weight: 400;
    line-height: 1.8;
}

.underDotted {
    border-bottom: dotted #f6c94b;
}

p.hojokinn_suggest_down {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.4;
    color: #727272;
    letter-spacing: 4px;
}

.block_hojokinn_list {
    height: 670px;
}

.block_hojokinn_list1::-webkit-scrollbar,
.block_hojokinn_list2::-webkit-scrollbar {
    display: none;
    width: 16px;
    height: 6px;
}

.block_hojokinn_list1::-webkit-scrollbar-track,
.block_hojokinn_list2::-webkit-scrollbar-track {
    background-color: white;
    border-radius: 100px;
}

.block_hojokinn_list1::-webkit-scrollbar-thumb,
.block_hojokinn_list2::-webkit-scrollbar-thumb {
    width: 130px;
    background: #f8990f;
    border-radius: 100px;
}

.hojokinn_list1_container,
.hojokinn_list2_container {
    position: relative;
    display: flex;
    justify-content: center;
}

.hojokinn_list_object {
    width: 360px;
    margin: 40px 10px 20px 0;
    border-radius: 10px;
    box-shadow: 0 5px 5px 0 rgb(0 0 0 / 35%);
}

.hojokinn_list1_container {
    left: 30px;
}

.hojokinn_list2_container {
    right: 30px;
}

.hojokinn_list_title {
    height: 80px;
    padding: 20px;
    color: white;
    background: #e29523;
    border-radius: 10px 10px 0 0;
}

.hojokinn_list_sub {
    height: 50px;
    font-size: 1rem;
}

.hojokinn_list_main {
    font-size: 1.6rem;
    font-weight: 500;
}

.hojokinn_list_description {
    margin: 10px 20px 0;
}

.hojokinn_list_description p {
    font-size: 0.8rem;
}

p.hojokinn_list_text {
    height: 90px;
    font-size: 1rem;
}

.hojokinn_list_link {
    margin: 0 0 18px 0;
}

.hojokinn_list_kome {
    width: 280px;
    padding: 0 0 100px 0;
    margin: 0 0 0 24vw;
}

@media (max-width: 960px) {
    .block_hojokinn_list {
        width: 100%;
    }

    .block_hojokinn_list1,
    .block_hojokinn_list2 {
        overflow-x: scroll;
    }

    .hojokinn_list1_container,
    .hojokinn_list2_container {
        width: 1226px;
        overflow: hidden;
    }

    .hojokinn_list_kome {
        margin: 120px auto 0;
    }
}

/* ============================================================== */
/* 背景が青いところのCSS */
/* 製品を紹介する欄のところ */
/* ＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾ */
/* block_infra のCSS */
#block_infra {
    padding-top: 60px;
    padding-bottom: 60px;
    margin-top: 16px;
    background: #1c4d98;
}

/* block_plant */
#block_plant {
    padding-top: 60px;
    padding-bottom: 60px;
    margin-top: 16px;
    background: #1c4d98;
}

/* block_fluid */
#block_fluid {
    padding-top: 60px;
    padding-bottom: 60px;
    margin-top: 16px;
    background: #1c4d98;
}

.block_infra_hojokinn {
    position: absolute;
    top: -160px;
    left: -120px;
}

.block_infra_hojokinn div {
    position: relative;
}

.infra_hojokinn_text {
    position: absolute;
    top: 50px;
    left: 80px;
    font-weight: 600;
    color: #bb2331;
}

.infra_hojokinn_click {
    position: absolute;
    top: 78px;
    left: 40px;
    font-size: 1.5rem;
    font-weight: 600;
    color: #4f515b;
    text-align: center;
}

.infra_hojokinn_click span {
    font-size: 3.2rem;
    font-weight: 500;
    color: #bb2331;
}

.int_prod {
    position: relative;
    display: flex;
    width: var(--pcWidth);
    margin: 0 auto;
    margin-top: 40px;
    background: #fff;
}

.int_prod_thumbnail {
    margin: 76px 72px 56px 140px;
    text-align: center;
}

.int_prod_thumbnail img {
    margin-bottom: 34px;
}

.int_prod_thumbnail a {
    text-decoration: none;
}

.int_prod_cart_btn {
    padding: 10px 10px;
    font-size: 1.2rem;
    font-weight: 400;
    color: white;
    text-align: center;
    text-decoration: none;
    background: #bb2331;
    border-radius: 8px;
}

.int_prod_detail {
    width: 400px;
    margin-top: 80px;
    margin-bottom: 40px;
}

.int_prod_detail_nomination_img img {
    width: 100%;
}

.int_prod_detail_prodName {
    display: flex;
    justify-content: space-between;
    margin-top: 24px;
    font-size: 2rem;
    font-weight: bold;
    color: #1c4d98;
}

.int_prod_detail_prodName img {
    width: 50px;
    height: 50px;
    margin: auto;
    margin-right: 0;
}

.int_prod_detail_prodName p {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 23px;
}

.prod_catNo {
    font-size: 1.1rem;
}

.int_prod_detail_letter p {
    margin-top: 16px;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.4;
}

.spec-table {
    width: 100%;
    margin: 32px 0 0 0;
    font-size: 1rem;
    border-top: 1px solid #1a4688;
}

.table_container::-webkit-scrollbar {
    width: 16px;
    height: 10px;
}

.table_container::-webkit-scrollbar-track {
    background-color: white;
    border-radius: 100px;
}

.table_container::-webkit-scrollbar-thumb {
    width: 130px;
    background: #f8990f;
    border-radius: 100px;
}

.spec-table th {
    padding: 2px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #1d4990;
    text-align: center;
    background-color: #c2ddff;
    border-bottom: 1px solid #1a4688;
}

th {
    text-align: center;
}

.spec-table td {
    padding: 4px;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 16px;
    color: #4d4948;
    border-bottom: 1px solid #4d4948;
}

@media (max-width: 960px) {
    .block_infra_hojokinn {
        top: -130px;
        left: 0;
    }

    .block_infra_hojokinn div img {
        max-width: 80%;
    }

    .infra_hojokinn_text {
        top: 41px;
        left: 64px;
        font-size: 0.8rem;
    }

    .infra_hojokinn_click {
        top: 68px;
        left: 32px;
        font-size: 1.2rem;
    }

    .infra_hojokinn_click span {
        font-size: 2rem;
    }
}

@media (max-width: 600px) {
    .block_infra_hojokinn div img {
        max-width: 72%;
    }
}

/* ここまで */

/* ============================================================== */
/* 背景がグレーのところのCSS */
/* 製品の前の説明の部分 */
/* ＾＾＾＾＾＾＾＾＾＾＾＾＾＾＾ */
/* saGuideのCSS */
#block_saGuide {
    padding-top: 40px;
    padding-bottom: 160px;
    margin-top: 16px;
}

/* ecGuideのCSS */
#block_ecGuide {
    padding-top: 40px;
    padding-bottom: 160px;
    margin-top: 16px;
}

/* 以下共通項目 */
.title_round_orange {
    width: 60%;
    padding: 10px 46px;
    margin: 0 auto;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    color: #fff;
    text-align: center;
    letter-spacing: 0.2rem;
    background-color: #e29523;
    border-radius: 40px;
}

/* ここまで */
/* ============================================================== */

/* 工場の情報が載っている部分のCSS */
#block_factory {
    padding-top: 40px;
    margin-top: 16px;
    background: #e29523;
}

.factory_point {
    text-align: center;
}

.factory_point p {
    font-size: 2.4rem;
    font-weight: 600;
    color: white;
    letter-spacing: 2;
}

.factory_point img {
    margin: 70px 0;
}

.fuctory_merit {
    display: flex;
    justify-content: space-between;
    width: var(--pcWidth);
    margin: 0 auto;
    color: #fff;
}

.fuctory_merit_item {
    width: 280px;
}

.fuctory_merit_item h3 {
    margin-bottom: 20px;
    font-size: 1.2rem;
    font-weight: 600;
}

.fuctory_design {
    width: var(--pcWidth);
    padding: 20px 30px;
    margin: 0 auto;
    background: #fff;
    border: solid 1px #c0ccea;
}

.fuctory_design h3 {
    margin: 10px 20px 20px 20px;
    font-size: 1.4rem;
    font-weight: 600;
    color: #0037b5;
    letter-spacing: 1px;
}

.fuctory_design p {
    font-size: 0.9rem;
    font-weight: 800;
}

.fuctory_design_imgContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 32px;
}

.fuctory_design_imgContainer img {
    width: 485px;
}

.factory_factory_img {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 400px;
    margin-top: 100px;
    background: linear-gradient(180deg, #e29523 0%, #e29523 50%, #fff 50%, #fff 100%);
}

.factory_factory_img img {
    width: var(--pcWidth);
    margin-top: -160px;
}

#block_factory_design {
    background: #fff;
}

@media (max-width: 400px) {
    .factory_factory_img img {
        margin-top: -110px;
    }
}

.txt-btn-2col {
    margin-bottom: 20px;
}

.material-col-wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.title-grey-right2 {
    /* PRMのVARIVENTで使用 */
    font-size: 24px;
    font-weight: 300;
    line-height: 1.6;
    color: #6d6e71;
    text-align: left;
}

@media (max-width: 960px) {
    .title-grey-right2 {
        /* スマホでの途中で改行されても自然に見えるよう、文字サイズ調整 */
        font-size: 20px;
    }
}

.material-col-wrap:last-child {
    margin-bottom: 0;
}

@media (max-width: 960px) {
    .material-img {
        max-width: 100%;
    }
}

/* 共通パーツ */
/* ブロックごとの配置の共通部分 */
/* 文字 */

.big-title-short {
    margin: 0 auto;
    margin-top: 40px;
    margin-bottom: 40px;
    font-size: 3.4rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.6rem;
}

span.big-title-sub {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.4rem;
    letter-spacing: 0.3rem;
}

.formula_txt {
    font-size: 2.6rem;
    font-weight: 100;
    color: #e29523;
    text-align: center;
}

.formula_txt_sub {
    font-size: 1rem;
}

.border_frame {
    display: inline-block;
    padding: 10px 20px;
    border: solid 1px;
}

.middle-title2 {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1rem;
    /* margin-top: 30px; */
}

.midashi-s {
    font-size: 1.25rem;
    font-weight: 500;
}

/* 画像リンク */
a:hover {
    opacity: 0.6;
}

/* 色 */

.red {
    color: #bd3d3c;
}

.white {
    color: #fff;
}

.bg-orange {
    background-color: #e29523;
}

.bg-pastelgrey {
    background-color: #e8e8e8;
}

.bg-ground {
    background-color: #5b5b5c;
}

/* ページトップヘのリンク */
#page_top {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 99;
    width: 50px;
    height: 50px;
    background: #666;
    opacity: 0.6;
}

#page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}

#page_top a::before {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 12px;
    color: #fff;
    text-align: center;
    content: "▲";
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/* スマホ最適化 */

@media (max-width: 970px) {
    .big-title-sub {
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.4;
    }

    .middle-title2 {
        font-size: 1.2rem;
    }

    .midashi-s {
        font-size: 1rem;
        font-weight: 500;
    }
}

/* 空き */

.mb30 {
    margin-bottom: 30px;
}

.mb60 {
    margin-bottom: 60px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt40 {
    margin-top: 40px;
}

@media (max-width: 1000px) {
    :root {
        --pcWidth: 600px;
        --pcTextWidth: 420px;
    }

    .int_prod {
        display: block;
        padding: 10px 15px 45px;
    }

    .int_prod_thumbnail {
        margin: 10px;
        margin-right: 20px;
    }

    .int_prod_detail {
        width: 520px;
        padding: 20px 40px 0 40px;
        margin-top: 0;
    }

    .int_prod_cart_btn {
        margin: 0 auto;
    }

    .factory_factory_img img {
        width: var(--pcWidth);
        margin-top: -105px;
    }

    .display_none {
        display: none;
    }
}

@media (max-width: 600px) {
    :root {
        --pcWidth: auto;
        --pcTextWidth: auto;
    }

    html {
        font-size: 0.8rem;
    }

    #block_saGuide,
    #block_ecGuide,
    .fuctory_merit,
    #block_infra,
    #block_plant,
    #block_fluid {
        padding: 40px 20px 70px;
    }

    .big-title-short {
        font-size: 2.8rem;
    }

    .border_frame {
        margin: 10px;
    }

    .int_prod {
        display: block;
        padding: 40px 32px 45px;
    }

    .int_prod_thumbnail {
        margin: 10px;
        margin-right: 20px;
        text-align: center;
    }

    .factory_point img {
        margin: 40px 0 0 0;
    }

    .factory_factory_img img {
        margin-top: -110px;
    }

    .fuctory_merit {
        display: unset;
        width: auto;
        margin: 20px;
    }

    .fuctory_merit_item {
        width: 100%;
        margin-top: 40px;
        text-align: center;
    }

    .int_prod_detail {
        width: 100%;
        padding: 0;
        margin-top: 0;
    }

    .factory_factory_img {
        height: 260px;
        margin-top: 0;
        background: linear-gradient(180deg, #e29523 0%, #e29523 42%, #fff 40%, #fff 100%);
    }

    .int_prod_thumbnail img {
        width: 150px;
    }

    .int_prod_cart_btn {
        width: 70%;
        margin: 0 auto;
    }

    .display_none {
        display: none;
    }
}

/* スマホ調整　いらないもの後で捨てる */
@media (max-width: 499px) {
    .container {
        width: 100%;
        border: none;
    }
}
