.supporter01 {
}

.supporter01 .container:after {
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
}

.supporter01_left {
    float: left;
    width:35%;
    font-size: 0;
    line-height: 0;
}

.supporter01_right {
    float: right;
    width:60%;
}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    .supporter01_left {
        float: none;
        width:100%;
        text-align: center;
    }
    .supporter01_left  img {
        width: 100%;
    }

    .supporter01_right {
        float: none;
        width:100%;
        margin-bottom:10.67vw;
    }
}

.supporter01_right .title {
    font-size: 1.67vw;
    line-height: 1.8;
    color: #000;
    font-weight: bold;
    margin-bottom: 0vw;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.supporter01_right .sub_title {
    font-size: 1.2vw;
    line-height: 1.8;
    color: #000;
    font-weight: bold;
    margin-bottom: 0.69vw;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.supporter01_right .caption {
    font-size: 1.1vw;
    line-height: 2.0;
    color: #000;
    letter-spacing:1px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
        font-weight: normal;
}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    
    .supporter01_right .title {
        font-size: 4.0vw;
        text-align: center;
    }
    
    .supporter01_right .sub_title {
        font-size: 3.2vw;
        text-align: center;
        margin-bottom:5.2vw;
    }
    
    .supporter01_right .caption {
        font-size: 2.67vw;
    }
}

.supporter02 {
}

.supporter02 .container {
    padding:0 12.5vw;
}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    .supporter02 .container {
        padding:0;
    }
}

.supporter02 .container div {
    padding:1.1vw;
    border:1px solid #e7e7e7;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    .supporter02 .container div {
        padding:2.0vw;
    }
}

.supporter02 p {
    font-size: 1.1vw;
    line-height: 1.8;
    font-weight: normal;
    color: #000;
    letter-spacing:1px;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

.supporter02 p.bold {
    font-weight: bold;
    margin-top:1.0vw;
}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    .supporter02 p.bold {
        font-size:3.0vw;
    }
}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    .supporter02 p {
        font-size: 2.67vw;
    }
}

.supporter03 {
}

.supporter03 .container {
    padding-bottom:0;
}

.supporter03 .container .title {
    font-size: 2.5vw;
    color: #4d84c2;
    line-height: 1;
    margin-bottom: 1.39vw;
    font-family: 'Poppins', sans-serif;
    text-align: center;
}

.supporter03 .container .caption {
    font-size: 1.1vw;
    line-height: 1.8;
    font-weight: normal;
    color: #000;
    margin:0 auto 2.0vw;
    text-align: center;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    .supporter03 .container .title {
        font-size: 4.0vw;
    }
    .supporter03 .container .caption {
        font-size: 2.67vw;
        line-height: 1.8;
        margin:4.0vw auto 2.0vw;
    }
}


.supporter03 .container .caption p {
    color: #d3224e;
    font-weight: bold;
}


.supporter03 .container .privacy {
    padding:1.5vw;
    border:1px solid #e7e7e7;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: normal;
}
.supporter03 .container .privacy div {
    width: 100%;
    height:270px;
    overflow-y: auto;
    font-size: 1.1vw;
    line-height: 1.8;
    color: #000;
}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    .supporter03 .container .privacy div {
        font-size: 2.67vw;
    }
}

.supporter03 .container .privacy div b {
    display: block;
    font-weight: normal;
}

input[type="text"] {padding:5px;font-size:16px;width: 100%;border:1px solid #000;display: inline-block;}
input[type="tel"] {padding:5px;font-size:16px;width: 100%;border:1px solid #000;display: inline-block;}
input[type="email"] {padding:5px;font-size:16px;width: 100%;border:1px solid #000;display: inline-block;}
input[type="submit"] {width: 300px;padding:20px;display: block;margin:30px auto 0;background-color:#4d84c2;color: #fff;border:none;cursor:pointer;}
textarea {padding:5px;resize:none;font-size:16px;width: 100%;border:1px solid #000;display: block;}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    input[type="submit"] {width: 100%;}
    input[type="radio"] {vertical-align: middle;margin-top: -2px;}
}


span.wpcf7-not-valid-tip {display: block;width: 100%;margin:10px 0 0;}
div.wpcf7-response-output {width: 100%;max-width: 600px;margin:2em auto 1em;}

/* SmatPhones */
@media only screen and (max-width: 767px) {
    .contact_form {width: 100%;max-width: 1120px;margin:25px auto;}
        .contact_form table {width: 100%;margin:0 auto;}
            .contact_form table tbody {}
                .contact_form table tbody tr {}
                    .contact_form table tbody tr th {display: block;width:100%;font-size: 2.67vw;line-height: 1.5;text-align: left;font-weight: bold;padding: 10px 0 2px;vertical-align: middle;font-weight: normal;}
                    .contact_form table tbody tr th.th {padding-bottom:10px;}
                        .contact_form table tbody tr th span {color: #d3224e;font-size:2.0vw;display: inline-block;margin-left: 5px;}
                    .contact_form table tbody tr td {display: block;width:100%;font-size: 2.67vw;line-height: 1.5;text-align: left;font-weight: bold;padding: 0 0 10px;border-bottom:2px solid #e7e7e7;font-weight: normal;}
                    .contact_form table tbody tr td.td {padding-top:10px;}
                        .contact_form table tbody tr td div {display: table;width: 100%;}
                            .contact_form table tbody tr td div > span {display: table-cell;}
                                .contact_form table tbody tr td div > span:first-child {width: 15%;vertical-align: top;line-height: 1.8;}
                                .contact_form table tbody tr td div > span:last-child {width: 85%;}
}

/* Tablets/Desktops/LargeDesktops */
@media only screen and (min-width: 768px) {
    .contact_form {width: 100%;max-width: 1120px;margin:50px auto;}
        .contact_form table {width: 100%;margin:0 auto;}
            .contact_form table tbody {}
                .contact_form table tbody tr {}
                    .contact_form table tbody tr th {width:30%;font-size: 1.1vw;line-height: 1.5;text-align: left;font-weight: bold;padding: 10px 0;vertical-align: middle;border-bottom:2px solid #e7e7e7;font-weight: normal;}
                        .contact_form table tbody tr th span {color: #ff0000;font-size:0.7vw;display: inline-block;margin-left: 5px;}
                    .contact_form table tbody tr td {width:70%;font-size: 1.1vw;line-height: 1.1;text-align: left;font-weight: bold;padding: 10px 0;border-bottom:2px solid #e7e7e7;font-weight: normal;}
                        .contact_form table tbody tr td div {display: table;width: 100%;}
                            .contact_form table tbody tr td div > span {display: table-cell;vertical-align: middle;}
                                .contact_form table tbody tr td div > span:first-child {width: 15%;vertical-align: top;line-height: 1.8;}
                                .contact_form table tbody tr td div > span:last-child {width: 85%;}
}