@charset "UTF-8";
.header_site-subtop img {
    width: 100%;
}

.sec_main {
    margin-bottom: 50px;
}

.sec_main .img_flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.sec_main .img_flex img {
    padding: 0 5px 20px;
}

.sec_main .flex_between {
    margin-bottom: 20px;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.sec_main .flex_around {
    margin-bottom: 20px;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

@media screen and (max-width: 1140px) {
    .sec_main .flex_between {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .sec_main .flex_around {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

.h2_heading-description {
    font-size: 18px;
    line-height: 1.8em;
    margin-bottom: 50px;
}

.h2_heading-description-ul {
    margin-bottom: 0;
}

.sec_glass ul {
    font-size: 22px;
    line-height: 1.5em;
    padding: 10px 0 10px 1em;
    color: #2E4480;
    font-weight: bold;
}

@media screen and (max-width: 670px) {
    .sec_glass ul {
        font-size: 18px;
        padding-left: 0.5em;
    }
}

.sec_body .h3_heading-title {
    font-size: 28px;
    font-weight: normal;
    line-height: 40px;
    position: relative;
    margin-bottom: 30px;
    -webkit-transition: .3s;
    transition: .3s;
}

.sec_body .h3_heading-title:after {
    content: "";
}

.sec_body .h3_heading-description {
    font-size: 18px;
    padding-bottom: 30px;
}

@media screen and (max-width: 550px) {
    .sec_body .h3_heading-title {
        font-size: 24px;
    }
}

.sec_body-magazine {
    margin-bottom: 50px;
}

.sec_body-magazine:after {
    content: "";
    display: block;
    clear: both;
}

.sec_body-magazine-img {
    width: 40%;
    float: left;
    text-align: center;
}

.sec_body-magazine-img img {
    width: 350px;
}

.sec_body-magazine-description {
    width: 60%;
    float: left;
}

.sec_body-magazine-description p {
    font-size: 18px;
}

@media screen and (max-width: 1340px) {
    .sec_main {
        margin: 0 2.5% 50px;
    }
}

@media screen and (max-width: 1200px) {
    .sec_body-magazine-description-left {
        width: 58%;
        padding-left: 2%;
    }
    .sec_body-magazine-description-right {
        width: 58%;
        padding-right: 2%;
    }
}

@media screen and (min-width: 701px) {
    .sec_body-magazine-img701 {
        display: none;
    }
}

@media screen and (max-width: 700px) {
    .sec_body-magazine-img {
        width: 100%;
        padding-bottom: 20px;
    }
    .sec_body-magazine-img700 {
        display: none;
    }
    .sec_body-magazine-img701 {
        display: block;
    }
    .sec_body-magazine-description {
        width: 100%;
        padding: 0;
    }
}

.sec_body-cards {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.sec_body-cards .sec_body-card {
    width: 45%;
    margin: 0 2.5%;
}

.sec_body-cards .sec_body-card span {
    font-size: 20px;
    padding-bottom: .5em;
}

.sec_body-cards .sec_body-card span i {
    color: #D1BB7F;
    font-size: 14px;
}

.sec_body-cards .sec_body-card p {
    font-size: 18px;
    padding-bottom: 1em;
}

.sec_body-cards .sec_body-card-img {
    text-align: center;
    padding-bottom: 30px;
}

.sec_body-cards .sec_body-card-img img {
    width: 90%;
    max-width: 400px;
}

@media screen and (max-width: 860px) {
    .sec_body-cards {
        display: block;
    }
    .sec_body-cards .sec_body-card {
        width: 95%;
    }
}

.sec_company_guide {
    padding-bottom: 50px;
    background: url("../img/common/bg_circle.png"), url("../img/common/bg_circle2.png");
    background-repeat: no-repeat, no-repeat;
    background-position: 95% 7%, 3% 100%;
}

.company_guide_lists .company_guide_list {
    padding: 10px 0;
}

.company_guide_lists .company_guide_list:after {
    content: "";
    display: block;
    clear: both;
}

.company_guide_lists .company_guide_list-date {
    font-size: 18px;
    font-weight: bold;
    text-align: right;
    width: 20%;
    float: left;
}

.company_guide_lists .company_guide_list-title {
    font-size: 16px;
    width: 74%;
    margin-left: 3%;
    margin-right: 3%;
    float: left;
}

.company_guide_lists .company_guide_list:nth-child(odd) {
    background: rgba(46, 68, 128, 0.1);
}

@media screen and (max-width: 600px) {
    .sec_company_guide {
        background: none;
        padding: 0;
    }
    .company_guide_lists .company_guide_list {
        padding: 10px;
    }
    .company_guide_lists .company_guide_list-date {
        text-align: left;
        font-size: 16px;
        width: 100%;
    }
    .company_guide_lists .company_guide_list-title {
        width: 94%;
    }
}

.sec_access p {
    text-align: center;
    padding-bottom: 30px;
    font-size: 18px;
}

.sec_contact {
    text-align: center;
    font-size: 18px;
}

.sec_contact-description {
    padding-bottom: 30px;
}

.sec_contact-toiawase {
    max-width: 700px;
    margin: 0 auto 50px;
    background: #2E4480;
    color: #fff;
    padding: 18px 0;
    font-size: 22px;
}

.sec_contact-toiawase i {
    font-size: 28px;
}

@media screen and (max-width: 460px) {
    .sec_contact-toiawase {
        font-size: 18px;
    }
    .sec_contact-toiawase i {
        font-size: 22px;
    }
}

@media screen and (min-width: 381px) {
    .sec_contact-toiawase380 {
        display: none;
    }
}

@media screen and (max-width: 380px) {
    .sec_contact-toiawase380 {
        display: block;
    }
    .sec_contact-toiawase381 {
        display: none;
    }
    .sec_contact-toiawase {
        font-size: 22px;
    }
    .sec_contact-toiawase i {
        font-size: 26px;
    }
}

.main_wrapper_contact {
    width: 100%;
    background: url("../img/common/contact_bg.png");
    background-repeat: no-repeat;
    background-position: right bottom;
    padding-bottom: 50px;
}

.sec_form {
    max-width: 780px;
    padding: 50px 10px 10px;
    margin: 50px auto;
    background: rgba(255, 255, 255, 0.8);
}

.sec_form_box {
    margin-bottom: 30px;
}

.sec_form_box:after {
    content: "";
    display: block;
    clear: both;
}

.sec_form_box_p {
    float: left;
    width: 35%;
    font-size: 18px;
    font-weight: bold;
    text-align: right;
}

.sec_form_box_p p {
    display: inline;
}

.sec_form_box_p span {
    font-size: 16px;
    color: #fff;
    background: #D1BB7F;
    font-weight: normal;
    margin: 0 1em 0 0.5em;
    padding: .1em .5em;
}

.sec_form_box_input {
    float: left;
    width: 65%;
}

.sec_form_box_input span {
    display: block;
}

.sec_form_box_input .margin_input {
    margin: 0 5px 0 0;
}

.sec_form_box_input .margin_span {
    margin-right: 15px;
}

.sec_form_box_input input {
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    color: #333333;
    padding: 0.3em 0.5em;
}

.sec_form_box_input-area {
    max-width: 300px;
}

.sec_form_box_input .contact_post {
    margin: 0 0 10px .5em;
}

.sec_form_box_input textarea {
    background: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    padding: .3em .5em;
    color: #333333;
    width: 300px;
}

.section-policy {
    text-align: center;
}

.section-policy .contact_label {
    cursor: pointer;
}

.section-policy .contact_label span {
    padding-left: .2em;
}

.section-submit {
    max-width: 320px;
    text-align: center;
    margin: 20px auto 30px;
}

.section-submit_button {
    border-radius: 3px;
    font-size: 14px;
    padding: .7em 1.5em;
    color: #fff;
    background: #2E4480;
    border: none;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.section-policy #submit[disabled] {
    background: #ccc;
    color: #fff;
}

.checkbox-scale:checked {
    -webkit-animation: 0.5s linear 0s normal 1 running scale;
    animation: 0.5s linear 0s normal 1 running scale;
}

.box_scrollbar {
    overflow: auto;
    max-width: 500px;
    height: 180px;
    margin: 0 auto 20px;
    padding: 1em;
    border: 1px solid #ccc;
    background-color: #F9F9F9;
    color: #000;
    font-size: 16px;
}

.box_scrollbar ul {
    padding-left: 1.5em;
    list-style-type: decimal;
}

.box_scrollbar ul li {
    padding-bottom: .5em;
}

.box_scrollbar ul p {
    font-size: 14px;
    padding-bottom: 1.5em;
}

@media screen and (max-width: 630px) {
    .sec_form {
        max-width: 95%;
        margin: 30px 2.5% 50px;
    }
    .sec_form_box_p {
        width: 100%;
        margin-bottom: 10px;
        text-align: left;
    }
    .sec_form_box_input {
        width: 100%;
    }
    .sec_form_box_input span {
        display: block;
    }
    .sec_form_box_input input {
        width: 100%;
    }
    .sec_form_box_input .margin_input {
        width: auto;
    }
    .sec_form_box_input textarea {
        width: 100%;
    }
    .sec_form_box_input .contact_post {
        width: 40%;
    }
}

.sec_archive-topics {
    margin: 0;
    background: url("../img/common/bg_plus.png"), url("../img/common/bg_plus2.png");
    background-repeat: no-repeat, no-repeat;
    background-position: 95% 3%, 5% 95%;
}

.topics_archive-lists .topics_archive-list {
    padding: 10px 0;
}

.topics_archive-lists .topics_archive-list:after {
    content: "";
    display: block;
    clear: both;
}

.topics_archive-lists .topics_archive-list-date {
    font-size: 14px;
    text-align: right;
    width: 20%;
    float: left;
}

.topics_archive-lists .topics_archive-list-title {
    font-size: 18px;
    width: 74%;
    margin-left: 3%;
    margin-right: 3%;
    float: left;
}

.topics_archive-lists .topics_archive-list:nth-child(odd) {
    background: rgba(46, 68, 128, 0.1);
}

@media screen and (max-width: 650px) {
    .topics_archive-lists .topics_archive-list-date {
        width: 95%;
        margin: 0 2.5%;
        padding-bottom: 10px;
        text-align: left;
    }
    .topics_archive-lists .topics_archive-list-title {
        width: 92.5%;
        margin: 0 2.5% 0 5%;
    }
}

@media screen and (max-width: 420px) {
    .sec_archive-topics {
        background: none;
    }
}

.topics_page-box {
    text-align: center;
    padding: 30px 0;
}

.topics_page-box .page-numbers {
    padding: 3px 8px;
    margin: 0 5px;
    border: 1px solid #8D9296;
    background: #8D9296;
    color: #fff;
}

.topics_page-box .current {
    border: 1px solid #8D9296;
    background: #fff;
    color: #8D9296;
}

.topics_page-box .next {
    padding: 3px 10px;
    border: 1px solid #8D9296;
    background: #8D9296;
    color: #fff;
}

.topics_page-box .prev {
    padding: 3px 10px;
    border: 1px solid #8D9296;
    background: #8D9296;
    color: #fff;
}

.sec_single-topics-date {
    text-align: center;
}

.sec_single-topics-entry {
    padding: 30px 10px;
    margin: 20px 0;
    font-size: 18px;
    background: #fff;
}

.h2_heading-single-topics {
    width: 90%;
    display: block;
    text-align: center;
    margin: 80px 5% 30px;
}

.h2_heading-single-topics-title {
    color: #333333;
    display: inline-block;
    font-size: 34px;
    font-family: "Noto Serif CJK JP", serif;
    line-height: 1.5em;
    border-bottom: 3px solid #9D1E23;
    padding: 0 10px 5px;
}

.button_prev {
    position: relative;
    display: inline-block;
    padding: .8em 2.8em;
    color: #fff;
    background: #999999;
    font-size: 14px;
    text-align: center;
    -webkit-transition: .5s;
    transition: .5s;
}

.button_prev:hover {
    background: #2E4480;
}

.button_prev::before {
    font-family: FontAwesome;
    content: "\f104";
    position: absolute;
    left: 15px;
    top: 14px;
    -webkit-transition: .3s;
    transition: .3s;
}

.button_prev:hover::before {
    content: "\f100";
    left: 8px;
}

/*=========== 施工実績一覧 ===========*/
/*=========== 施工実績：最新 ===========*/
.sec_works_new {
    background: #2E4480;
    color: #fff;
    position: relative;
    top: -40px;
    margin-bottom: -40px;
}

.sec_works_new dl {
    line-height: 80px;
}

.sec_works_new dl:after {
    content: "";
    display: block;
    clear: both;
}

.sec_works_new dl dt {
    width: 25%;
    text-align: center;
    float: left;
    font-size: 24px;
    font-family: "Noto Serif CJK JP", serif;
    position: relative;
}

.sec_works_new dl dt:after {
    content: "/";
    font-size: 30px;
    position: absolute;
    right: 0;
    top: -2px;
}

.sec_works_new dl dd {
    width: 72%;
    padding-left: 3%;
    float: left;
}

.sec_works_new dl dd .dd-span {
    position: static;
    padding-left: 2em;
    color: #E8495C;
    font-weight: bold;
}

.sec_works_new dl dd .dd-span-after {
    position: absolute;
    right: 25px;
    top: 0;
}

.sec_works_new dl dd .dd-span-after:after {
    font-family: FontAwesome;
    content: "\f105";
    -webkit-transition: .3s;
    transition: .3s;
    position: absolute;
    right: -15px;
    top: -1px;
}

.sec_works_new dl a:hover dd {
    opacity: 0.8;
}

.sec_works_new dl a:hover dd .dd-span-after:after {
    content: "\f101";
    right: -20px;
}

@media screen and (max-width: 1080px) {
    .sec_works_new dl {
        line-height: inherit;
    }
    .sec_works_new dl dt {
        float: none;
        width: 40%;
        font-size: 20px;
        line-height: 2.5em;
    }
    .sec_works_new dl dd {
        float: none;
        width: 95%;
        top: 0;
        left: 5%;
        padding-bottom: 1em;
    }
    .sec_works_new dl dd .dd-span-after {
        position: absolute;
        right: 25px;
        top: auto;
        bottom: 15px;
    }
    .sec_works_new dl dd .dd-span-after:after {
        font-family: FontAwesome;
        content: "\f105";
        -webkit-transition: .3s;
        transition: .3s;
        position: absolute;
        right: -15px;
        top: 2px;
    }
}

@media screen and (max-width: 480px) {
    .sec_works_new dl dt {
        width: 100%;
    }
    .sec_works_new dl dt:after {
        display: none;
    }
    .sec_works_new dl dd .dd-span {
        padding-left: 1em;
    }
}

/*=========== 施工実績一覧(リンク) ===========*/
.sec_main {
    margin: 40px 0 50px;
}

.sec_main .tabs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
}

.sec_main .tabs .tabs_button {
    text-align: center;
    width: 200px;
    padding: 10px 0;
    margin-bottom: 20px;
    border: 1px solid #2E4480;
    color: #2E4480;
    border-radius: 20px;
    -webkit-transition: .3s;
    transition: .3s;
}

.sec_main .tabs .tabs_button:hover {
    color: #fff;
    background: #2E4480;
}

.sec_main .tabs .now {
    background: #2E4480;
    color: #fff;
}

/*=========== 施工実績一覧(コンテンツ) ===========*/
.sec_works_inner-grids {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    margin-top: 20px;
}

.sec_works_inner-grid {
    width: calc(49% - 5px);
    background: rgba(46, 68, 128, 0.1);
    border-left: 5px solid #D1BB7F;
    margin-bottom: 30px;
}

.sec_works_inner-works {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
}

.sec_works_inner-works .works_next {
    position: absolute;
    right: 8px;
    bottom: 5px;
    -webkit-transition: .3s;
    transition: .3s;
}

.sec_works_inner-body {
    width: 50%;
    padding: 20px;
}

.sec_works_inner-body .works-label {
    display: block;
    text-align: center;
    width: 180px;
    padding: 10px 0;
    margin-bottom: 10px;
    color: #fff;
    background: #2E4480;
    border-radius: 20px;
}

.sec_works_inner-body .works-title {
    font-weight: bold;
    padding-bottom: 5px;
}

.sec_works_inner-img {
    width: 50%;
    position: relative;
}

.sec_works_inner-img img {
    width: 100%;
    min-height: 240px;
    -o-object-fit: cover;
    object-fit: cover;
    font-family: 'object-fit: cover; object-positon:center center;';
}

.sec_works_inner-grid:hover .works_next {
    right: 3px;
    opacity: 1;
}

@media screen and (min-width: 1221px) {
    .sec_works_inner-img1221 {
        display: none;
    }
}

@media screen and (max-width: 1220px) {
    .sec_works_inner-works {
        display: block;
    }
    .sec_works_inner-body {
        width: 100%;
    }
    .sec_works_inner-img {
        width: 100%;
    }
    .sec_works_inner-img1221 {
        display: block;
    }
    .sec_works_inner-img1221 img {
        max-height: 200px;
    }
    .sec_works_inner-img1220 {
        display: none;
    }
}

@media screen and (max-width: 580px) {
    .sec_works_inner-grids {
        display: block;
    }
    .sec_works_inner-grid {
        width: 90%;
        margin: 0 5% 30px;
    }
}

.works_page-box {
    text-align: center;
    padding: 30px 0;
}

.works_page-box .page-numbers {
    padding: 3px 8px;
    margin: 0 5px;
    border: 1px solid #2E4480;
    background: #2E4480;
    color: #fff;
}

.works_page-box .current {
    border: 1px solid #2E4480;
    background: #fff;
    color: #2E4480;
}

.works_page-box .next {
    padding: 3px 10px;
    border: 1px solid #2E4480;
    background: #2E4480;
    color: #fff;
}

.works_page-box .prev {
    padding: 3px 10px;
    border: 1px solid #2E4480;
    background: #2E4480;
    color: #fff;
}

/*=========== 施工実績一覧(各業務) ===========*/
.sec_archive-works {
    margin: 50px 0;
}

/*=========== 施工実績(個別) ===========*/
.sec_single-works-body .works_label {
    text-align: center;
    width: 200px;
    margin: 0 auto 30px;
    padding: 10px 0;
    border: 1px solid #2E4480;
    border-radius: 20px;
    background: #2E4480;
    color: #fff;
}

.sec_single-works-body .works_entry {
    margin-bottom: 30px;
    font-size: 18px;
}

.sec_single-works-body .works_img {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 30px;
}

.sec_single-works-body .works_img .works_img-images {
    width: 45%;
}

.sec_single-works-body .works_img .works_img-images img {
    width: 100%;
    max-height: 250px;
    -o-object-fit: contain;
    object-fit: contain;
    font-family: 'object-fit: contain;';
}

.sec_single-works-body .works_img .works_img-images p {
    width: 120px;
    font-size: 18px;
    text-align: center;
    padding: 10px 20px 5px;
    margin: 0 auto 10px;
    border-bottom: 3px solid rgba(46, 68, 128, 0.8);
}

.sec_single-works-body .works_img .single_works_icon {
    font-size: 28px;
    color: #2E4480;
}

@media screen and (min-width: 501px) {
    .icon501 {
        display: none;
    }
}

@media screen and (max-width: 500px) {
    .sec_single-works-body .works_img .works_img-images {
        width: 90%;
        margin: 0 5%;
    }
    .sec_single-works-body .works_img .icon500 {
        display: none;
    }
    .sec_single-works-body .works_img .icon501 {
        display: block;
        padding: 10px 0;
    }
}
