@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
:root {
    --margin_us: 10em;
    --margin_cont: 5em;
    --rich_column: 7em;

    --margin_us_sp: 6em;
    --margin_cont_sp: 4em;
    --rich_column_sp: 3em;
}

body {
    font-family:
        "YakuHanJP_Narrow", "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: 0.1em;
}

#lp-content .post_content,
#main_content .post_content,
h3 {
    line-height: 2.2 !important;
}
p.copyright,
#breadcrumb {
    display: none;
}
.post_content .mrg_bc {
    margin-bottom: var(--margin_cont) !important;
}
.post_content .mrg_bu {
    margin-bottom: var(--margin_us) !important;
}

/* common */

.wpforms-field-container,
.post-type-case #main_content,
.post-type-page #main_content .post_content h3,
.post-slug-about #main_content .post_content p,
.post-slug-contact #main_content .post_content p,
.post-slug-contact-completed #main_content .post_content p,
.post-type-page #main_content .post_content dl,
.post-slug-privacy-policy #main_content .post_content {
    max-width: 800px !important;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0 !important;
    margin-bottom: var(--margin_cont);
}

#main_content {
    margin-bottom: var(--margin_us);
}

.top #content {
    padding-top: var(--margin_us);
}

.post_content h2 {
    margin: 0 0 0 2.6em;
    padding: 0;
    font-size: 1.9em;
    color: var(--color_main);
    letter-spacing: 0.1em;
}
.post_content h2::before {
    content: "";
    position: absolute;
    top: 0.8em;
    left: -3.9em;
    border: solid 1px var(--color_main);
    width: 100px;
    height: 1px;
}

p.subsec_en {
    margin-left: 5.1em !important;
    color: var(--color_deep04);
    margin-bottom: var(--margin_cont);
    font-weight: 700;
}

p.top_message {
    text-align: center;
    margin-bottom: var(--margin_cont);
}

.top_message_sub {
    text-align: center;
    margin-bottom: var(--margin_us);
    padding: 3em 0;
    color: var(--color_main);
}

.l-topTitleArea {
    min-height: 100px;
    text-align: center;
}

.privacy-policy .wp-block-heading {
    margin-bottom: var(--margin_cont);
    margin-top: var(--margin_cont);
}

/* キービジュアル */
.p-mainVisual__textLayer .p-blogParts .wp-block-image img {
    padding-bottom: 9em;
    filter: drop-shadow(0 0 4px #000);
}

/* リッチカラム */
.swell-block-columns {
    margin-bottom: var(--rich_column);
}
.swell-block-columns__inner {
    row-gap: var(--rich_column);
    align-items: center;
    justify-content: center;
}
.swell-block-columns .swell-block-column {
    padding: 0 2.5em;
}
.case_list .swell-block-column p,
.top_caselist .p-postList__title {
    text-align: center;
    margin-top: 2em;
}
.top_caselist .p-postList__thumb {
    margin-bottom: 1em;
}
.top_caselist li.p-postList__item {
    padding: 3em;
    box-shadow: none;
}

/* table */
dl.table_us {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: var(--margin_us);
}
dl.table_us dt,
dl.table_us dd {
    box-sizing: border-box;
    margin: 0 !important;
    display: flex;
    align-items: center;
    border-top: 1px solid #efefef;
    padding: 3em;
}
dl.table_us dt {
    width: 30%;
    justify-content: center;
    color: var(--color_main);
}
dl.table_us dd {
    width: 70%;
}
dl.table_us dd p {
    margin: 0 !important;
}
dl.table_us dt:last-of-type,
dl.table_us dd:last-of-type {
    border-bottom: 1px solid #efefef;
}

/* CONTACT */

.wpforms-container .wpforms-form * {
    margin: 0 auto;
}
.wpforms-field {
    display: flex;
    border-top: 1px solid #efefef;
    flex-wrap: wrap;
}
.wpforms-field label {
    width: 30%;
    box-sizing: border-box;
    margin: 0 !important;
    display: flex;
    align-items: center;
    padding-top: 0.8em !important;
}
.wpforms-field input,
.wpforms-field textarea {
    width: 70% !important;
    box-sizing: border-box;
    margin: 0 !important;
    display: flex;
    align-items: center;
    padding: 3em;
}
.wpforms-field .post_content div > :first-child,
.wpforms-field .post_content > :first-child {
    margin-top: 0.7em !important;
	
}
div.wpforms-container-full .wpforms-required-label,
.wp-core-ui div.wpforms-container-full .wpforms-required-label {
    color: var(--color_deep04);
}

.contact_policy {
    margin-top: 2em !important;
}
.contact_policy fieldset {
    width: 100%;
}
.contact_policy label.wpforms-field-label-inline {
    width: 100%;
	padding-top:0 !important;
}
div.wpforms-container-full .contact_policy input[type="checkbox"] {
    min-width: 5%;
    max-width: 33%;
}
div.wpforms-container-full .contact_policy input[type="checkbox"]:before,
div.wpforms-container-full .contact_policy input[type="checkbox"]:after {
    left: auto !important;
    right: 2px !important;
    top: 1px !important;
}

.wpforms-submit-container {
    text-align: center;
}
div.wpforms-container-full button[type="submit"] {
    font-weight: 600;
    background-color: var(--color_main) !important;
    border-radius: 80px;
    min-width: 25%;
    width: auto;
    height: 3em;
    padding: 0.75em 2em;
    box-shadow: var(--swl-btn_shadow);
    font-size: 1.1em;
    display: inline-block;
    margin: 2em 0;
}
div.wpforms-container-full button[type="submit"]:hover {
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
}
div.wpforms-container-full .wpforms-form label.wpforms-error,
div.wpforms-container-full .wpforms-form em.wpforms-error {
    color: var(--color_deep04) !important;
    font-weight: 600;
    text-align: left;
}
div.wpforms-container-full .wpforms-form label.wpforms-error:before,
div.wpforms-container-full .wpforms-form em.wpforms-error:before {
    background-color: var(--color_deep04) !important;
}
div.wpforms-container-full .wpforms-form .wpforms-field input.wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field input.user-invalid,
div.wpforms-container-full .wpforms-form .wpforms-field textarea.wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field textarea.user-invalid,
div.wpforms-container-full .wpforms-form .wpforms-field select.wpforms-error,
div.wpforms-container-full .wpforms-form .wpforms-field select.user-invalid {
    border-color: var(--color_deep04) !important;
}

/* 施工事例 */

.post-type-case #main_content .post_content {
    padding: 0;
}
.post-type-case #main_content .post_content figure {
    margin-bottom: var(--margin_cont);
}
.post-type-case #main_content .swell-block-columns .swell-block-column {
    padding: 0;
}

/* FOOTER CONTACT */
#before_footer_widget {
    margin-bottom: 0 !important;
}
.post_content .contact_title {
    color: #fff;
    font-size: 3em;
    margin-left: 0.4em;
    letter-spacing: 0.4em;
    margin-bottom: 0.3em;
    font-weight: 700;
}
.footer_message {
    text-align: center;
    color: #fff;
}
.footer_window {
    margin-bottom: 1.5em;
}
.footer_btn a.swell-block-button__link {
    background-color: #fff;
    transition: 0.4s all;
}
.footer_btn a.swell-block-button__link:hover {
    color: var(--color_main) !important;
    transform: scale(1.05, 1.05);
    transition: 0.4s all;
}

/* FOOTER */
.l-footer__foot {
    padding: 2em 0;
}
.l-footer__foot .l-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.l-container .l-footer__nav {
    padding: 0;
}

ul.l-footer__nav li a,
ul.l-footer__nav li:first-child a {
    border: none;
    display: inline;
}
ul.l-footer__nav li::before {
    content: "/";
    margin-left: 0.5em;
    margin-right: 0.5em;
}
ul.l-footer__nav li:first-child::before {
    content: none;
}
#footer .copy_right {
    color: var(--color_main);
}

.-type-card .p-postList__item{
	padding: 0px 2em;
	margin-bottom: 3em;
}
.-type-card .p-postList__excerpt{
	font-weight: 400;
	margin-top:1em;
}

/* button */
.swell-block-button {
    margin-bottom: var(--margin_us);
    padding: 1.2em 0;
    font-size: 1.1em;
    font-weight: 600;
}

/* SP */

@media screen and (max-width: 768px) {
    #lp-content .post_content,
    #main_content .post_content {
        line-height: 2.2 !important;
        font-size: 14px;
    }
    .l-mainContent__inner > .post_content {
        padding: 0 1em;
    }

    .br-pc {
        display: none;
    }

    p.top_message,
    .top_message_sub {
        text-align: left;
        padding: 2em;
    }
    p.top_message,
    .privacy-policy .wp-block-heading {
        margin-bottom: var(--margin_cont_sp);
        padding-top: 0;
    }
    .privacy-policy .wp-block-heading {
        margin-top: var(--margin_cont_sp);
    }
    .swell-block-columns {
        margin-bottom: var(--rich_column_sp);
    }

    /* キービジュアル */
    .p-mainVisual__textLayer .p-blogParts .wp-block-image img {
        padding-bottom: 16em;
        width: 65vw;
    }

    .top #content {
        padding-top: var(--margin_us_sp);
    }

    .sp-1 {
        order: 1;
    }
    .sp-2 {
        order: 2;
    }
    .sp-3 {
        order: 3;
    }
    .sp-4 {
        order: 4;
    }

    .post_content h2 {
        margin: 0 0 0 1em;
        font-size: 1.5em;
    }
    .post_content h2::before {
        width: 40px;
        left: -52px;
        top: 0.7em;
    }
    p.subsec_en {
        margin-left: 1.8em !important;
        margin-bottom: var(--margin_cont_sp);
    }

    .swell-block-columns .swell-block-column {
        padding: 0;
    }
    .swell-block-columns__inner {
        row-gap: var(--rich_column_sp);
    }
    .swell-block-button,
    .top_message_sub {
        margin-bottom: var(--margin_us_sp);
    }

    .top_caselist li.p-postList__item {
        padding: 1em;
    }

    .post_content .contact_title {
        font-size: 2.2em;
    }

    #footer .l-footer__foot {
        padding: 4em 0;
    }
    .l-footer__foot .l-container {
        display: block;
    }
    ul.l-footer__nav li:last-child::before {
        content: none;
        margin-left: 0;
        margin-right: 0;
    }
    #footer .l-footer__nav {
        margin-bottom: 3em;
    }
    #footer .copy_right {
        text-align: center;
    }

    dl.table_us dt,
    dl.table_us dd {
        width: 100%;
        display: block;
    }
    dl.table_us dt {
        padding-bottom: 0.5em;
    }
    dl.table_us dd {
        border-top: none;
        padding-top: 0.5em;
    }
    dl.table_us dt:last-of-type {
        border-bottom: none;
    }
    dl.table_us dd:last-of-type {
        border-top: none;
    }

    .post-type-case #main_content .post_content figure {
        margin-bottom: var(--margin_cont_sp);
    }

    .l-topTitleArea {
        margin-bottom: var(--margin_cont_sp);
    }

    .wpforms-field {
        display: block;
        margin-bottom: 2em !important;
    }
    .wpforms-field label {
        width: 100%;
        margin: 0 0 2em 0 !important;
    }
    .wpforms-field input,
    .wpforms-field textarea {
        width: 100% !important;
    }
    div.wpforms-container-full .contact_policy input[type="checkbox"] {
        max-width: 10%;
    }
}
