@charset "utf-8";

html {
-webkit-locale: "ja";
font-size: 16px;
}
*,*::before,*::after{
box-sizing: border-box;
}
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body {
    overflow-y: scroll;
    color: rgb(34, 34, 34);
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, Verdana, sans-serif;
    line-height: 1.5;
    text-size-adjust: 100%;
    -webkit-print-color-adjust: exact;
}
a {
    color: inherit;
    text-decoration: none;
}
.main {
    overflow-wrap: break-word;
    min-height: 400px;
    padding-bottom: 2rem;
}
.header {
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 1rem;
    padding: 0.5rem;
    font-size: 0;
}
.header--line {
    border-bottom: 3px solid #1a8a00;
}
.container-fluid--limited {
    margin-right: auto;
    margin-left: auto;
    padding-left: 10px;
    padding-right: 10px;
    max-width: 840px;
}
.container-fluid:before, .container-fluid--limited:before, .header:before, .footer:before, .container-fluid:after, .container-fluid--limited:after, .header:after, .footer:after {
    content: " ";
    display: table;
}
.page-title {
    font-size: 1.25rem;
    line-height: 1.8em;
    font-weight: 100;
    padding: 0 0.5em;
    border-left: solid 5px #1a8a00;
    margin-bottom: 1rem;
}

.step-bar {
    margin-bottom: 1rem;
    position: relative;
    list-style: none;
    padding: 0;
    text-align: center;
    width: 100%;
    overflow: hidden;
}
.step-bar__step3 {
    width: 33.33333%;
    position: relative;
    float: left;
    display: inline-block;
    line-height: 40px;
    background-color: #eee;
    -webkit-box-sizing: border-box;
    color: #555;
    font-size: 12px;
    text-align: center;
}
.step-bar__step3::before {
    position: absolute;
    left: -4px;
    display: block;
    content: '';
    border-left: 8px solid #fff;
    width: 8px;
    height: 20px;
    bottom: 0;
    -webkit-transform: skew(-20deg);
    -ms-transform: skew(-20deg);
    transform: skew(-20deg);
}
.step-bar__step3::after {
    position: absolute;
    left: -4px;
    display: block;
    content: '';
    border-left: 8px solid #fff;
    width: 8px;
    height: 20px;
    top: 0;
    -webkit-transform: skew(20deg);
    -ms-transform: skew(20deg);
    transform: skew(20deg);
}
.step-bar__step3:first-child {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}
.step-bar__step3:last-child {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}
.step-bar__step3:first-child::before, .step-bar__step3:first-child::after{
    display: none;
}
p, div, li, dt, dd, pre, input {
    word-wrap: break-word;
    overflow-wrap: break-word;
}
form {
    display: block;
    margin-top: 0em;
}
.user-section__header {
    font-size: 1rem;
    padding: 14px 20px;
    background-color: #e2f7fc;
    font-weight: 100;
    margin-bottom: 1rem;
}
.user-section__table {
    width: 100%;
    border: #cbcbcb 1px dotted;
    border-collapse: collapse;
    border-spacing: 0;
}
.user-section__item {
    display:-webkit-box;
    display:-ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.user-section__required {
    margin-left: 1em;
    white-space: nowrap;
    border: 1px solid #1a8a00;
    border-radius: 4px;
    background-image: none;
    background-color: #55910A;
    background: -webkit-gradient(linear, left top, left bottom, from(#55910A), to(#1a8a00));
    background: -webkit-linear-gradient(top, #55910A, #1a8a00);
    background: linear-gradient(to bottom, #55910A, #1a8a00);
    color: #fff;
    text-align: center;
    height: 100%;
    padding: 0 0.4em;
}
.user-section__table th {
    width: 30%;
    background-color: #F5FFE6;
}
.user-section__table th, .user-section__table td {
    border: #cbcbcb 1px dotted;
    padding: 18px;
    vertical-align: middle;
}
th {
    text-align: left;
    font-weight: normal;
}
.user-section__table td {
    width: 70%;
}
.validation-error {
    color: #E60012;
}
.spacer--name {
    width: 4%;
    display: inline-block;
}
.button--attempt {
    margin-left: 10px;
    border: 1px solid #1a8a00;
    border-radius: 4px;
    background-image: none;
    background-color: #55910A;
    background: -webkit-gradient(linear, left top, left bottom, from(#55910A), to(#1a8a00));
    background: -webkit-linear-gradient(top, #55910A, #1a8a00);
    background: linear-gradient(to bottom, #55910A, #1a8a00);
    color: #fff;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    line-height: 1.2;
    -webkit-box-shadow: 1px 2px 0 0 #148200;
    box-shadow: 1px 2px 0 0 #148200;
    text-shadow: 0 1px 0 #148200;
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.spacer--post {
    display: inline-block;
    width: 10px;
}
.default {
    font-size: 1rem;
}
.select-wrap {
    font-size: 16px;
    display: inline-block;
    position: relative;
    border: 1px solid #ccc;
    border-radius: 4px;
    color: #333;
    min-width: 4em;
}
.select-wrap:before {
    position: absolute;
    right: 0;
    padding: 0.5em;
    width: 2.2em;
    height: 2.5em;
    border-left: solid 1px #ccc;
    color: #333;
    font-size: 1em;
    z-index: 1000;
    content: '';
}
.select-wrap .contact_type {
    width: 22em;
}
.select-wrap select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    width: 100%;
    height: 2.5em;
    margin: 0;
    padding: 0.5em 3em 0.6em 0.8em;
    border: 0;
    color: #333;
    background: transparent;
    font-size: 1em;
    z-index: 1002;
}
input, select {
    vertical-align: middle;
}
.select-wrap option {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
}
.select-wrap:after {
    position: absolute;
    right: 0.7em;
    bottom: 1em;
    width: 0.7em;
    height: 0.7em;
    border-right: solid 0.2em #2b2b2b;
    border-bottom: solid 0.2em #2b2b2b;
    color: #333;
    z-index: 1001;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    content: '';
}
.loader-wrapper {
    text-align: center;
    display: none;
}
.next-button-wrap input[type=submit], .button--top {
    border: 1px solid #148200;
    border-radius: 4px;
    background-image: none;
    background-color: #1a8a00;
    background: -webkit-gradient(linear, left top, left bottom, from(#1a8a00), to(#148200));
    background: -webkit-linear-gradient(top, #1a8a00, #148200);
    background: linear-gradient(to bottom, #1a8a00, #148200);
    color: #fff;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    line-height: 1.2;
    -webkit-box-shadow: 1px 2px 0 0 #148200;
    box-shadow: 1px 2px 0 0 #148200;
    text-shadow: 0 1px 0 #148200;
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.button, .next-button-wrap input[type=submit], .button--top {
    padding: 10px 1em;
}
.next-button-wrap input[type=submit], .button--top {
    display: block;
    width: 100%;
    margin-left: 16.66667%;
    width: 66.66667%;
    font-size: 1.5rem;
}
#user_information_section, #optional_section {
    margin-bottom: 1rem;
}
#optional_section {
    display: none;
}
.input-wrap textarea[name=contact_content] {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, Verdana, sans-serif;
}
.select-wrap select[name=contact_type]:focus, .input-wrap textarea[name=contact_content]:focus, .input-wrap input[type=text]:focus, .input-wrap input[type=password]:focus, .input-wrap input[type=email]:focus, .input-wrap input[type=tel]:focus, .input-wrap input[type=number]:focus {
    -webkit-box-shadow: 0 0 0.3em #3498db;
    box-shadow: 0 0 0.3em #3498db;
    outline: 0;
}
.optional_text {
    margin-bottom: 1rem;
    text-align: center;
}
.input-wrap {
    font-size: 16px;
    position: relative;
}
.input-wrap textarea[name=contact_content], .input-wrap input[type=text], .input-wrap input[type=password], .input-wrap input[type=email], .input-wrap input[type=tel], .input-wrap input[type=number] {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0.8em 10px;
    font-size: 1rem;
    -webkit-box-shadow: 1px 1px 2px #eee inset;
    box-shadow: 1px 1px 2px #eee inset;
    width: 22em;
}
.input-wrap textarea[name=contact_content] {
    resize: vertical;
    height: 100px;
    min-height: 100px;
}
.postal--flex {
    display:-webkit-box;
    display:-ms-flexbox;
    display: flex;
    width: 22em;
}
.postal--flex #postal {
    /* MW WP FPRM のCSSに上書きされるため個別で指定 */
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
#address_search_btn {
    margin-bottom: 2px;
}
.input-wrap input[type=textarea]{
    height: 8em;
}
#next_button_section {
  font-size: 0;
}
.next-button-wrap input[name=submitBack] {
    margin-right: 2%;
    border: 0px solid #bbb;
    border-radius: 4px;
    background-image: none;
    background-color: #ccc;
    background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#bbb));
    background: -webkit-linear-gradient(top, #ccc, #bbb);
    background: linear-gradient(to bottom, #ccc, #bbb);
    color: #fff;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    line-height: 1.2;
    -webkit-box-shadow: 1px 2px 0 0 #bbb;
    box-shadow: 1px 2px 0 0 #bbb;
    text-shadow: 0 1px 0 #bbb;
    -webkit-tap-highlight-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

}
.complete_text {
    line-height: 1.8;
    letter-spacing: 0.5px;
    border: #1a8a00 solid 2px;
    padding: 1rem;
    border-radius: 4px;
    margin: 1rem 0;
}
.grecaptcha-badge {
    visibility: hidden;
}
/* ステップごとに表示を切り替える要素
** input:入力画面固有 confirm:確認画面固有 complete:完了画面固有 */
.mw_wp_form_confirm #optional_section,
.mw_wp_form_input #address_search_btn {
    display: block;
}
.mw_wp_form_confirm #address_search_btn {
    display: none;
}
.mw_wp_form_confirm .next-button-wrap {
    margin-left: 16.66667%;
    width: 66.66667%;
}
.mw_wp_form_confirm .next-button-wrap input[type=submit] {
    display: inline-block;
    margin-left: 0; 
    width: 48%;
}
.mw_wp_form_confirm .select-wrap {
    opacity: 0;
}
.mw_wp_form_input .step-bar__step3:nth-child(1),
.mw_wp_form_confirm .step-bar__step3:nth-child(2),
.mw_wp_form_complete .step-bar__step3:nth-child(3) {
    color: #fff;
    background-color: #1a8a00;
}
.mw_wp_form_input .fs-0 {
    font-size: 0;
}

@media screen and (max-width: 768px){
    .header, .page-title, .step-bar {
        margin-bottom: 0.5rem;
    }
    .header img {
        width: 42%;
    }
    .step-bar__step3 {
        line-height: 30px;
    }
    .step-bar__step3::before, .step-bar__step3::after {
        left: -3px;
        border-left: 6px solid #fff;
        width: 6px;
        height: 15px;
    }
    .step-bar__step3:first-child {
        border-top-left-radius: 3px;
        border-bottom-left-radius: 3px;
    }
    .step-bar__step3:last-child {
        border-top-right-radius: 3px;
        border-bottom-right-radius: 3px;
    }
    .user-section__table th, .user-section__table td{
        display: block;
        padding: 0.5em 10px;
        width: 100%;
        min-height: 2.75em;
    }
    .postal--flex, .select-wrap, .select-wrap .contact_type, .input-wrap textarea[name=contact_content], .input-wrap input[type=text], .input-wrap input[type=password], .input-wrap input[type=email], .input-wrap input[type=tel], .input-wrap input[type=number] {
         padding: 0.5em 10px;
         width: 100%;
    }
    .postal--flex, .select-wrap {
        padding: 0;
    }
    #address_search_btn {
        line-height: 1;
    } 
    .button, .next-button-wrap input[type=submit], .button--top {
        padding: 0.5em;
    }
    .next-button-wrap input[type=submit], .button--top {
        font-size: 1.1rem;
    }
    .mw_wp_form_input .fs-0 {
        font-size: 0;
    }
    /* スマホ画面内にフォームを抑える場合 */
    /*
    html, .select-wrap, .input-wrap {
        font-size: 14.7px;
    }
    .user-section__table th, .user-section__table td, .button,
    .postal--flex, .select-wrap, .select-wrap .contact_type,
    .input-wrap textarea[name=contact_content], .input-wrap input[type=text], .input-wrap input[type=password], .input-wrap input[type=email], .input-wrap input[type=tel], .input-wrap input[type=number] {
        padding: 0.3em;
    }
    .select-wrap select, .select-wrap::before {
        height: 1.7em;
    }
    .select-wrap::after {
        bottom: 0.6em;
    }
     */
    /* スマホ画面内ここまで */
}

