@charset "utf-8";
/* CSS Document */

body{
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  }

p.error_txt{
    display: none;
    color: red;
    margin: 0;
    padding-left: 1em;
}

#ID_PRIVACY_ERR{
    text-align: center;
}

::placeholder{
    color: #C8C8C8;
}

/* ---------------------
PC
------------------------ */
.contact_wrapper{
    width: 90%;
    margin: 150px auto;
}

article h2{
    margin-bottom: 100px;
}
article h2 .en{
    font-size: 96px;
}
article h2 span:last-child{
    font-size: 24px;
    margin-left: 50px;
    border-bottom: 5px solid #319500;
}
.form_contents{
    max-width: 1200px;
    width: 95%;
    margin: 0 auto;
    padding-bottom:40px;
}
form{
    max-width: 1200px;
    width: 95%;
    margin: 0 auto;
}

.contact_inner {
    margin-bottom: 1em;
}

.contact_inner.text_inner {
    margin-bottom: 0em;
}

.contact_item {
    background-color: #319500;
    display: flex;
    padding: 1em 1em;
    justify-content: space-between;
    color: #fff;
    font-weight: bold;
}

.contact_item p{
    color: #fff;
}

p.required {
    background-color: #fff;
    color: #319500;
    padding: 3px 11px;
    font-size: 14px;
}

.input_box input{
    width: 100%;
    border: 1px solid #319500;
    font-weight: normal;
    padding: 1em;
    margin: 1em 0;
}

.input_box select{
    width: 100%;
    border: 1px solid #319500;
    font-weight: normal;
    padding: 1em;
    margin: 1em 0;
}
.input_box .select_flex{
    display: flex;
}
.input_box .select_flex select{
    /* width: 50%; */
}

.input_box.birth_input {
    display: flex;
    align-items: flex-end;
}
.input_box.birth_input select {
    /* width: calc(30% - 16px); */
    width: 30%;
}
.input_box.birth_input p {
    margin: 1em;
    width: 3%;
}

.text_area textarea{
    width: 100%;
    height: 185px;
    border: 1px solid #319500;
    font-weight: normal;
    padding: 1em;
    margin: 1em 0 0;
}

.privacy_box {
    border: 1px solid #319500;
    height: 180px;
    overflow: auto;
    padding: 2em;
    background-color: #FCFCFC;
    padding: 2em;
    width: 100%;
    font-size: 0.8em;
    margin: 3em auto;
}

.privacy_check {
    width: 200px;
    margin: 0 auto 20px;
}

.privacy_check input {
    display: none;
}

.consent_check {
    text-align: center;
    font-size: 1.2em;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    position: relative;
    width: 100%;
    padding-left: 70px;
    color: #ccc;
}

.consent_check::before{
    background: #fff;
    border: 2px solid #ccc;
    content: '';
    display: block;
    height: 22px;
    left: 56px;
    margin-top: -10px;
    position: absolute;
    top: 43%;
    width: 22px;
}

.consent_check::after {
    border-right: 4px solid #CCCCCC;
    border-bottom: 4px solid #CCCCCC;
    content: '';
    display: block;
    height: 22px;
    left: 64px;
    margin-top: -17px;
    position: absolute;
    top: 48%;
    transform: rotate(45deg);
    width: 12px;content: "";
}

input[type="checkbox"]:checked + .consent_check {
    color: #404040;
}

input[type="checkbox"]:checked + .consent_check::after {
    border-right: 4px solid #319500;
    border-bottom: 4px solid #319500;
}

.btn_area {
    text-align: center;
    margin-top: 40px;
    font-size: 18px;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
}

button.confirm_btn {
    background-color: #319500;
    color: #fff;
    padding: 1em 3em;
    font-weight: bold;
    margin-left: 1em;
    width: 272px;
}

button.confirm_btn:hover{
    background-color: #319500;
    transition: .3s;
}

.precaution a {
    color: #319500;
}

/* 確認画面 */
.input_box p {
    margin: 2em 1em;
}

.input_box p.error_txt{
    margin: 0;
    padding-left: 1em;
}

button.back_btn {
    background-color: #C4C4C4;
    color: #fff;
    padding: 1em 3em;
    font-weight: bold;
    margin-right: 1em;
    width: 245px;
}

/* 完了画面 */
h1 {
    text-align: center;
    color: #319500;
}

p.thanks_text {
    text-align: center;
    padding: 2em;
    width: 100%;
    margin: auto;
    /* background-color: #EEE; */
    margin-top: 2em;
}

/* ---------------------
SP
------------------------ */
@media screen and (max-width: 768px){

.contact_wrapper{
    width: 100%;
    padding: 0 10px;
    margin: 80px auto;
}

.contact_wrapper h2{
    margin-bottom: 50px;
}
.contact_wrapper h2 .en{
    font-size: 50px;
}
.contact_wrapper h2 span:last-child{
    font-size: 20px;
    border-bottom: 3px solid #319500;
    margin: 10px 0 0;
    padding: 0 5px;
}

.privacy_box{
    padding: 1em;
    margin: 2em auto;
    margin-bottom: 13px;
}

.consent_check{
    padding-left: 27%;
}

.consent_check::before {
    left: 52px;
    top: 44%;
    width: 22px;
}

.consent_check::after {
    left: 58px;
    margin-top: -17px;
    top: 53%;
}

.btn_area {
    text-align: center;
    margin-top: 2em;
    font-size: 18px;
    display: block;
}

/* 確認画面 */
button.back_btn {
    margin-right: 0;
    width: 270px;
    margin-top: 1em;
}

button.confirm_btn{
    margin-left: 0;
    width: 270px;
}
}