@charset "UTF-8";

/*
フォーム関連
 */
.input-table {
    margin: 40px 0 0;
}

input, select, textarea, button {
    font-size: 1.6rem;
    font-family: inherit;
    color: #333;
}

.input-table li {
    display: flex;
    margin: 0 0 .5rem;
    padding: 1.5rem 0;
    border-bottom: 1px dotted #d9d9d9;
}

.input-table .list-style1 > li {
    margin: 0;
    padding: 0 0 0 1em;
    text-indent: -1em;
    word-break: break-all;
    display: block;
    border-bottom: none;
}

.input-table .privacy-office-box li {
    display: block;
    margin: 0;
    padding: 0;
    border-bottom: none;
}

.input-table li .label {
    position: relative;
    width: calc((100% - 20px) / 4);
}

.input-table li .input {
    width: 60%;
}

form .input-table input[type="text"],
form .input-table input[type="email"],
form .input-table input[type="password"],
.input-table li .input textarea {
    width: 100%;
}

#part_num {
    width: calc(100% - 2.5rem);
}

.input-table li .input .col-2 {
    width: calc((100% - 10px) / 2);
    vertical-align: top;
}

#name1, #name2 {
    width: calc(100% - 2em);
}

#kana1, #kana2, #name3, #name4 {
    width: calc(100% - 3em);
}

#name1, #kana1, #name3 {
    margin-right: 1px;
}

.input-table li.est_area {
    display: none;
}

.input-table li.require .label::after {
    content: "必須";
    color: #C00000;
    padding: 5px;
    position: absolute;
    right: 1.5rem;
    line-height: 1;
    vertical-align: middle;
    white-space: nowrap;
    text-align: center;
    border: 1px solid #C00000;
    display: inline-block;
    font-size: 1.5rem;
}

.input-table li .input .col-2,
.input-table li .input .col-zip,
.input-table li .input .zip-button,
form .btn-list li,
form .btn-list li,
#wc_member .btn-list li {
    display: inline-block;
}

form .btn-list .login-btn,
form .btn-list .login-attention,
form .btn-list .login-attention li {
    display: block;
    border-bottom: none;
}

form .btn-list .login-btn {
    padding-bottom: .5em;
}

form .btn-list .login-attention li {
    padding: 0;
}

.input-table li .input .zip-button {
    vertical-align: top;
}

.edit_member a,
.logout_member a {
    display: block;
}

#search_zipcode,
form .btn-list li input[type="submit"],
form .btn-list li input[type="button"],
.upbutton input[type="submit"],
.edit_member a,
.logout_member a {
    min-width: 25rem;
    padding: .7rem 4rem;
    background: #1f4e79;
    border-radius: 2em;
    color: #fff;
    font-size: 1.6rem;
}

.logout_member.no_underline a {
    text-decoration: none;
}

#search_zipcode {
    min-width: 15rem;
}

.btn-list {
    margin: 40px 0;
    text-align: center;
}

form .btn-list li:first-child {
    margin-right: .5em;
}

.input-table .notes {
    width: 30em;
}

.confirm_notice {
    margin-bottom: 20px;
    color: #C00000;
}

.delButton {
    min-width: 5rem;
    padding: .5rem 1rem;
    background: #8497b0;
    border-radius: 10px;
    color: #fff;
}

.error {
    display: block;
}

.mw_wp_form .error {
    margin-top: .5em;
}

.error_message {
    width: 50%;
    margin: 40px auto;
    padding: .2em .5em;
    border: 1px solid #C00000;
    color: #C00000;
    line-height: 2;
    font-size: 1.8rem;
}

.mw_wp_form_input .wp_form_nodisp {
    margin: 20px 0 0;
}

.mw_wp_form_complete p {
    margin: 40px 0 0;
}


/*
商品詳細 数量ボタン
 */
.product-detail-area .skuquantity, #add1, #minus1 {
    width: 2.5em;
    height: 2.5em;
    border: 1px solid #ccc;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0;
    margin-right: -1px;
    text-align: center;
    border-radius: 0;
}

/* ▼▼▼ 追加 ここから ▼▼▼ */
#login-wrap {
    padding: 0 8rem;
    margin: 4rem 0;
    display: flex;
    justify-content: space-between;
}

#login-wrap > * {
    width: calc(50% - 1.5rem);
}

#loginform {
    border: 1px solid #d9d9d9;
    padding: 1.5rem 4rem 0;
}

#loginform .input-table {
    margin: 0;
}

#loginform .input-table li {
    border: none;
    align-items: center;
    padding: 0;
}

#loginform .input-table li .label {
    min-width: 7em;
    white-space: nowrap;
    flex: 0 1;
}

#loginform .input-table li .input {
    border-bottom: 1px dotted #d9d9d9;
    padding: 1.5rem;
    flex: 1 1 auto;
}

#loginform .btn-list {
    margin: 2.5rem 0;
}

#login-wrap .register-table {
    display: flex;
    flex-direction: column;
}

#login-wrap .register-btn {
    text-align: center;
    margin-bottom: 1rem;
}

#login-wrap .register-btn a {
    display: inline-block;
    margin: 1rem 0;
    min-width: 25rem;
    padding: .7rem 4rem;
    background: #1f4e79;
    border-radius: 2em;
    color: #fff;
    font-size: 1.6rem;
}

#login-wrap .register-note {
    font-size: 1.3rem;
    border: 1px solid #d9d9d9;
    padding: 1.5rem 1rem;
    line-height: 1.8;
    margin-top: auto;
}

#login-wrap .register-note li {
    text-indent: -1em;
    margin-left: 1em;
}

#login-wrap .register-note > ul > li::before {
    content: "●";
    display: inline-block;
    width: 1em;
    padding-left: 1em;
}

#login-wrap .register-note li li::before {
    content: "・";
}

@media (max-width: 480px) {
    #login-wrap {
        display: block;
        padding: 0;
        margin-top: 2rem;
    }

    #login-wrap > * {
        width: auto;
    }

    #loginform {
        padding: 1.5rem 1rem;
    }

    #loginform .input-table > li {
        display: flex;
    }

    #login-wrap .register-note {
        order: -1;
        margin-top: 1rem;
    }

    #login-wrap .register-btn {
        margin: 3rem 0 0;
    }

    #login-wrap .register-btn a {
        width: 90%;
        padding: .5em;
        font-size: 1.6rem;
    }
}

/* ▲▲▲ 追加 ここまで ▲▲▲ */

/* ============================================================
 * MW WP Form
 * ============================================================ */
.mw_wp_form_confirm ul.input-table li.require div.label:after,
.mw_wp_form_preview ul.input-table li.require div.label:after {
    content: '';
    display: none;
}

.mw_wp_form_confirm ul.input-table li label,
.mw_wp_form_confirm ul.input-table li .input .col-2 label,
.mw_wp_form_confirm ul.input-table li.privacy_policy_list,
.mw_wp_form_confirm ul.input-table li p.caption,
.mw_wp_form_confirm ul.input-table li #search_zipcode,
.mw_wp_form_preview ul.input-table li label,
.mw_wp_form_preview ul.input-table li .input .col-2 label,
.mw_wp_form_preview ul.input-table li p.caption,
.mw_wp_form_preview ul.input-table li #search_zipcode {
    display: none;
}

.mw_wp_form_confirm .wp_form_nodisp,
.mw_wp_form_preview .wp_form_nodisp {
    display: none;
}

.product_lists {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    width: calc((100% - 20px) / 2);
}

.product_lists span.mwform-checkbox-field.horizontal-item {
    margin: 0 0 .8em 0;
    width: calc((100% - 5px) / 2);
}

.mw_wp_form .mwform-checkbox-field.vertical-item {
    margin: 0 0 .8em 0;
}

.ext_product_name_box {
    width: 100%;
    margin-top: 5px;
}

.loading_policy {
    width: 100%;
    height: 20em;
    display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.loading_policy i {
    font-size: 4rem;
    color: #0b4382;
}

#frame-privarypolicy {
    width: 100%;
    height: 20em;
    overflow-y: scroll;
    border-radius: 3px;
    margin-top: 1em;
    padding: .5em;
    border: 1px #ccc solid;
    outline: none;
    box-sizing: border-box;
}

.sample_present_box {
    width: auto;
    border: 1px solid #ccc;
    margin: 20px 0
}

.sample_present_title {
    color: #fff;
    background: #2f5597;
    font-size: 3rem;
    text-align: center
}

.sample_present_subtitle {
    color: #2f5597;
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 20px
}

.sample_present_alert_text {
    color: #2f5597;
    font-size: 2rem;
    margin-bottom: 20px
}

.sample_present_inner {
    padding: 1em;
}

.sample_present_text {
    font-size: 1.6rem;
    margin-bottom: 20px;
}

.sample_present_list {
    font-size: 1.6rem;
}

/*
チェックボックスのスタイル
*/
input[type="checkbox"] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

.mwform-checkbox-field-text {
    display: inline-block;
    position: relative;
    padding: 0 0 0 2.5em;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
}

.mwform-checkbox-field-text::before {
    background: #fff;
    border: 1px solid #404040;
    width: 25px;
    height: 25px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent #fff #fff;
    border-style: solid;
    width: 20px;
    height: 10px;
    margin-top: -0.2em;
    top: 50%;
    left: .2em;
    transform: translateY(-50%) rotate(-60deg);
    opacity: 0;
}

input[type="checkbox"]:checked + .mwform-checkbox-field-text::before {
    background: #404040;
}

input[type="checkbox"]:checked + .mwform-checkbox-field-text::after {
    /* css擬似要素 :checked が付加されているときは表示  */
    opacity: 1;
}

/*
ラジオボタンの大きさ
*/
input[type=radio] {
    transform: scale(1.25);
}

/*
プライバシーポリシーのタイトル級数
 */
.mw_wp_form.mw_wp_form_input .privacy_policy_list .ttl-header {
    font-size: 2rem;
}

@media (max-width: 480px) {

    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    input[type="password"] {
        -webkit-appearance: none;
        appearance: none;
    }

    /*
    フォームをズームさせない
     */
    textarea,
    input[type="color"],
    input[type="date"],
    input[type="datetime"],
    input[type="datetime-local"],
    input[type="email"],
    input[type="month"],
    input[type="number"],
    input[type="password"],
    input[type="search"],
    input[type="tel"],
    input[type="text"],
    input[type="time"],
    input[type="url"],
    input[type="week"],
    select:focus {
        font-size: 16px;
    }

    #search_zipcode,
    form .btn-list li input[type="submit"],
    form .btn-list li input[type="button"],
    .upbutton input[type="submit"] {
        padding: .5em;
        font-size: 1.6rem;
    }

    form .btn-list li:first-child {
        margin-right: 0;
    }

    .input-table li {
        display: block;
        margin-left: 0;
        margin-right: 0;
    }

    .input-table li .input .col-2,
    .input-table li .input .col-zip,
    .input-table li .input .zip-button {
        display: block;
    }

    .input-table li .label,
    .input-table li .input {
        width: 100%;
    }

    .input-table li .input .col-2 {
        width: 100%;
    }

    form .input-table input[type="text"],
    form .input-table input[type="email"],
    .input-table li .input textarea {
        width: 100%;
    }

    #name1, #name2 {
        width: calc(100% - 19px);
    }

    #kana1, #kana2 {
        width: calc(100% - 33px);
    }

    .input-table li.require .label {
        margin-bottom: 1.2rem;
    }

    .input-table li.require .label::after {
        right: inherit;
        margin-left: 1rem;
    }

    #name1, #name2, #kana1, #kana2 {
        margin-right: 0;
        margin-left: 0;
    }

    #name1, #kana1 {
        margin-bottom: 1em;
    }

    .mw_wp_form_confirm .input-table li .label {
        padding: .2em;
        background: #f7f7f7;
    }

    .mw_wp_form_confirm .input-table li .input,
    .mw_wp_form_confirm .input-table li .input .col-2,
    .mw_wp_form_confirm .input-table li .input .col-zip,
    .mw_wp_form_confirm .input-table li .input .zip-button {
        display: inline-block;
    }

    .product_lists {
        margin-top: .5em;
    }


    #add1, #minus1 {
        background: #ddd;
    }

    .error_message {
        width: auto;
    }

    .product-detail-area .skuquantity {
        height: 2.3em;
    }

}