@charset "UTF-8";

form#mailformpro {
    padding: 0;
}

form#mailformpro dl dt {
    clear: both;
    float: left;
    width: 15.0rem;
    margin: 0;
    padding: 1.0rem 0;
    border-top: 0.1rem solid rgba(204, 204, 204, 1.00);
    text-align: right;
}

form#mailformpro dl dd {
    margin: 0;
    padding: 1.0rem 0.5rem 1.0rem 16.0rem;
    border-top: 0.1rem solid rgba(204, 204, 204, 1.00);
    line-height: 1.5rem;
    text-align: left;
}

form#mailformpro dl dd ul,
form#mailformpro dl dd ol {
    margin: 0;
    padding: 0;
}

form#mailformpro dl dd ul li,
form#mailformpro dl dd ol li {
    margin: 0;
    padding: 0;
    list-style: none;
}

div#mfp_hidden {
    width: 0.1rem;
    height: 0.1rem;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

div#mfp_hidden input {
    margin: 1.0rem;
}

/* ラベル */
form#mailformpro #belong li {
    /*width:25%;*/
}

form#mailformpro label {
    display: block;
    margin: 0.3rem;
    border-radius: 0.4rem;
}

form#mailformpro label.mfp_checked {
    padding: 0.3rem;
    border: 0.1rem solid rgba(238, 238, 238, 1.00);
    background-color: rgba(255, 255, 255, 1.00);
}

form#mailformpro label.mfp_not_checked {
    padding: 0.3rem;
    border: 0.1rem solid rgba(249, 249, 249, 1.00);
}

/* エラーメッセージ */
div.mfp_err {
    clear: both;
    display: none;
    margin: 0.25rem 0 0 0;
    padding: 0.25rem 0 0.5rem 0.15rem;
    color: rgba(255, 0, 0, 1.00);
    font-size: 1.2rem;
    text-align: left;
}

/* 入力ＯＫマーク */
div.mfp_ok {
    display: inline-block;
    display: none;
    margin: 0 0.5rem;
    padding: 0 0.5rem;
    border-radius: 0.4rem;
    background-color: rgba(0, 153, 0, 1.00);
    background-image: url(_images/mfp_header.png);
    background-size: 100% 100%;
    color: rgba(255, 255, 255, 1.00);
    font-size: 1.0rem;
    line-height: 1.5rem;
}

/* 入力ガイド */
div.mfp_guide {
    position: relative;
    width: 0.1rem;
    height: 0.1rem;
}

div.mfp_guide div {
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    margin-top: -0.2rem;
    padding: 0.5rem;
    border-radius: 0.4rem;
    background-color: rgba(255, 0, 0, 1.00);
    color: rgba(255, 255, 255, 1.00);
    font-size: 1.2rem;
    line-height: 100%;
    white-space: nowrap;
}

/* 入力済みフィールドの背景色 */
.mfp_ok {
    background-color: rgba(0, 255, 0, 0.10);
}

/* 未入力フィールドの背景色 */
.mfp_ng {
    background-color: rgba(255, 0, 0, 0.05);
}

/* ボタン */

/* 確認画面 */
div#mfp_loading_screen {
    display: none;
    position: absolute;
    background-color: rgba(0, 0, 0, 1.00);
    opacity: 0.8;
    z-index: 20000;
}

div#mfp_loading {
    display: none;
    position: absolute;
    width: 3.2rem;
    height: 3.2rem;
    background-image: url(../images/mfp_loading.gif);
    background-repeat: no-repeat;
    z-index: 20001;
}

div#mfp_overlay {
    display: none;
    position: absolute;
    z-index: 10001;
}

div#mfp_overlay_inner {
    width: 95%;
    margin: 1.0rem auto;
    padding: 1.5rem 1.0rem 3.5rem;
    border-radius: 0.4rem;
    background-color: rgba(255, 255, 255, 1.00);
    -webkit-box-shadow: 0 0 1.0rem rgba(0, 0, 0, 1.00);
    box-shadow: 0 0 1.0rem rgba(0, 0, 0, 1.00);
}

div#mfp_overlay_background {
    display: none;
    position: absolute;
    background-color: rgba(0, 0, 0, 1.00);
    z-index: 10000;
}

div#mfp_overlay h4 {
    color: rgba(255, 0, 0, 1.00);
    font-size: 1.5rem;
    text-align: center;
}

table#mfp_confirm_table {
    width: 100%;
    border: none;
    font-size: 1.6rem;
    font-weight: 400;
}

table#mfp_confirm_table tr.mfp_colored {
    background-color: rgba(245, 245, 245, 1.00);
}

table#mfp_confirm_table tr:nth-last-of-type(2).mfp_colored {
    border-top: 0.1rem solid rgba(240,240,240,1.00);
    background-color: inherit;
}

table#mfp_confirm_table tr.mfp_achroma {}

table#mfp_confirm_table tr:nth-last-of-type(-n+2) {
    font-size: 1.4rem; /* 最後から２つのtrのフォントサイズ（プライバシーポリシー同意、入力内容最終確認のところ） */
}

table#mfp_confirm_table tr th,
table#mfp_confirm_table tr td {
    padding-left: min(5.0vw, 2.4rem);
    padding-right: min(5.0vw, 2.4rem);
}

table#mfp_confirm_table tr th {
    display: block;
    width: 100%;
    padding-top: 2.0rem;
    color: rgba(0, 120, 190, 1.00);
    font-weight: 500;
    vertical-align: middle;
}

table#mfp_confirm_table tr:last-of-type th {
    padding-top: 0; /* 入力内容最終確認のthの上余白削除 */
}

table#mfp_confirm_table tr td {
    display: block;
    width: 100%;
    padding-bottom: 2.0rem;
    border-top: none;
    color: rgba(0, 0, 0, 1.00);
    line-height: 120%;
}

table#mfp_confirm_table tr:nth-last-of-type(-n+2) td {
    padding-bottom: 0; /* 最後から２つのtrのthの下余白削除 */
    color: rgba(235, 95, 0, 1.00);
}

div#mfp_overlay button {
    width: 22.0rem;
    height: 6.0rem;
    font-size: 2.4rem;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

div#mfp_overlay button:first-child {
    margin-bottom: 2.0rem;
    margin-left: 0.3rem;
}

@media only screen and (min-width:576px) {

    div#mfp_overlay_inner {
        padding: 2.0rem 4.0rem;
    }

    div#mfp_overlay button:first-child {
        margin-right: 2.0rem;
        margin-left: 0;
    }

}

@media only screen and (min-width:768px) {

    div#mfp_overlay_inner {
        width: 64.0rem;
    }

    table#mfp_confirm_table tr td {
        margin-bottom: 1.0rem;
    }

    div#mfp_overlay button {
        width: 26.0rem;
        height: 6.0rem;
        font-size: 3.0rem;
    }

}

@media only screen and (min-width:992px) {

    div#mfp_overlay_inner {
        width: 80.0rem;
    }

}