@charset "utf-8";


/*------------------------------------
共通
------------------------------------*/
img { image-rendering: -webkit-optimize-contrast; }

/*------------------------------------
上部コンテンツ
------------------------------------*/
.facility_cont_inner {
    padding: 160px 20px 80px;
    position: relative;
}
#facility_cont .main_ttl_lv2 {
    font-size: 2.8rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.6em;
}
.lead_txt {
    line-height: 2.9em;
    letter-spacing: 0.1em;
    text-align: center;
}
.factory_txt_box {
    width: 460px;
    margin: 110px auto 120px;
    letter-spacing: 0.1em;
}
.factory_txt_box .box_ttl {
    font-size: 2rem;
    font-weight: bold;
    color: #da4f48;
    margin-bottom: 0.2em;
}
.factory_txt_box .box_txt {
    line-height: 1.8em;
}
.cont_img_1 {
    position: absolute;
    top: 67px;
    left: -17px;
}
.cont_img_2 {
    position: absolute;
    top: 232px;
    right: 23px;
}
.cont_img_3 {
    position: absolute;
    top: 416px;
    left: 95px;
}
.link_txt {
    font-size: 1.8rem;
    margin-bottom: 1.5em;
}
@media screen and (max-width: 1240px) {
    .cont_img_1 {
        width: 18vw;
    }
    .cont_img_2 {
        width: 23vw;
    }
    .cont_img_3 {
        width: 17vw;
    }
}
@media screen and (max-width: 1080px) {
    .cont_img_1 {
        top: 10px;
        left: 0;
    }
    .cont_img_2 {
        top: 320px;
        right: 7px;
    }
    .cont_img_3 {
        top: 358px;
        left: 0;
    }
}
@media screen and (max-width: 728px) {
    .facility_cont_inner {
        padding: 2vw 20px 0;
    }
    #facility_cont .main_ttl_lv2 {
        font-size: 1.8rem;
        margin-bottom: 0.4em;
    }
    .lead_txt {
        line-height: 1.6em;
        letter-spacing: 0.1em;
        text-align: left;
    }
    .factory_txt_box {
        width: 100%;
        margin: 1em 0 0;
        padding: 56% 0 2.2em 44%;
        background: url("../img/bg_img_sp.png") no-repeat top center;
        background-size: contain;
    }
    .factory_txt_box .box_ttl {
        font-size: 1.6rem;
        margin-bottom: 0.2em;
    }
    .factory_txt_box .box_txt {
        font-size: 1.5rem;
        line-height: 1.5em;
    }
    .cont_img_1, .cont_img_2, .cont_img_3 {
        display: none;
    }
    .link_txt {
        font-size: 1.4rem;
        margin-bottom: 1em;
    }
}


/*------------------------------------
施設見学申し込みの流れ
------------------------------------*/
#app_flow {
    padding: 40px 0 125px;
    letter-spacing: 0.1em;
}
.app_flow_cont {
    padding-top: 1em;
}
.app_flow_cont p {
    font-size: 1.8rem;
    text-align: center;
    margin: 0 auto 1.5em;
}
.arrow_btm {
    margin: 0 auto 70px;
    position: relative;
}
.arrow_btm::after {
    position: absolute;
    top: 90px;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    width: 10px;
    border-top: 16px solid #e5847f;
    border-right: 14px solid transparent;
    border-left: 14px solid transparent;
}
.flow_add {
    font-size: 2rem;
    text-align: left;
    border: 3px solid #da4f48;
    padding: 30px 30px;
    display: inline-block;
    margin: 0 auto;
}
.flow_add .txt_indent {
    padding-left: 3.8em;
    text-indent: -3.8em;
    line-height: 1.5em;
    margin: 0;
}
.flow_add p {
    margin-top: 0.3em;
}

.ttl_none {
    font-size: 2.2rem;
}

@media screen and (max-width: 728px) {
    #app_flow {
        padding: 8vw 0 14vw;
    }
    .app_flow_cont {
        padding: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
    .app_flow_cont p {
        font-size: 1.4rem;
        line-height: 1.6em;
        display: inline-block;
        text-align: left;
        margin-bottom: 0.7em;
    }
    .arrow_btm {
        margin: 0 auto 60px;
    }
    .arrow_btm::after {
        position: absolute;
        top: 55px;
        left: 0;
        right: 0;
        margin: auto;
        content: "";
        width: 10px;
        border-top: 12px solid #e5847f;
        border-right: 12px solid transparent;
        border-left: 12px solid transparent;
    }
    .flow_add {
        font-size: 1.4rem;
        border: 2px solid #da4f48;
        padding: 0.5em 0.8em;
    }
    .flow_add .txt_indent {
        line-height: 1.3em;
        margin-bottom: 0.5em;
    }
    .flow_add p {
        margin-top: 0.1em;
    }

    .ttl_none {
        font-size: 1.4rem;
    }
}


/*------------------------------------
施設見学について
------------------------------------*/
#about_tour table{
    width: 875px;
    max-width: 100%;
    border-top: 1px solid #A6A6A6;
    border-bottom: 1px solid #A6A6A6;
    margin: 40px auto 130px;
    letter-spacing: 0.06em;
}
#about_tour tr {
    border-bottom: 1px solid #A6A6A6;
}
#about_tour tr:last-child{
    border-bottom: none;
}
#about_tour th{
    width: 19%;
    background-color: #F4ECDC;
    vertical-align: middle;
    border-right: dashed 1px #A6A6A6;
    font-weight: 500;
    padding: 1em 1em;
}
#about_tour td {
    padding: 1em 0.5em 1em 2em;
    vertical-align: middle;
}

.list_1 li {
    position: relative;
    padding-left: 1.2em;
}
.list_1 li::after {
    position: absolute;
    left: 0;
    top: 0.35em;
    content: "";
    width: 1em;
    height: 1em;
    border-radius: 50%;
    background-color: #da4f48;
}

@media screen and (max-width: 728px) {
    #about_tour {
        padding: 0 0 75px;
    }
    #about_tour table {
        width: 100%;
        margin: 30px auto 0;
    }
    #about_tour th, #about_tour td {
        font-size: 1.3rem;
        padding: 0.5em;
    }
    #about_tour th{
        width: 8.5em;
    }

}

