
/* page-contact-us */

/* css by archive @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */

/* page_title */
.page_title {
    background: url(../../common/images/line-bg.jpg);
    padding: 60px 0;
    text-align: center;
    margin-top: 80px;
}

.page_title .ja {
    font-size: 28px;
    font-weight: bold;
}

.page_title .en {
    color: #008A7B;
    margin-top: 5px;
}

/* contact_us */
.contact_us {
    margin-top: 90px;
    margin-bottom: 200px;
}

.contact_us ul {
    display: flex;
    justify-content: center;
    gap: 25px;
}

.contact_us li {
    width: 150px;
    height: 50px;
    background-color: #DDF0ED;
    color: #444;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact_us .input.current,
.contact_us .confirm.current,
.contact_us .complete.current {
    background-color: #339966;
    color: #fff;
}

.contact_us .input,
.contact_us .confirm {
    position: relative;
}

.contact_us .input::after,
.contact_us .confirm::after {
    content: "";
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 3px #339966;
    border-right: solid 3px #339966;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 6px);
    right: -15px;
}

.contact_us form {
    margin-top: 90px;
}

.contact_us dl {
    width: 100%;
}

.contact_us dd {
    margin-bottom: 30px;
}

.contact_us dt,
.contact_us .privacy_title {
    text-align: left;
    padding-bottom: 5px;
}

.contact_us .wfull {
    width: 100%;
}

.contact_us input:not([type="submit"], [type="button"]),
.contact_us textarea {
    padding: 0.8em;
    background-color: #f2f2f2;
    border: 0;
    border-radius:2px;
    box-sizing: border-box;
}

.wpcf7 > form input[type="submit"][disabled], 
.wpcf7 > form input[type="submit"][disabled]:hover, 
.wpcf7 > form input[type="submit"][disabled]:focus {
    background-color: #999;
    color:#fff;
    border: 2px solid #999;
}

.contact_us input:focus,
.contact_us textarea:focus {
    outline: 1.5px #339966 solid;
}

.contact_us textarea {
    height: 180px;
}

.contact_us .privacy {
    width: 100%;
    padding: 0.8em;
    background: #f2f2f2;
    border: none;
    height: 200px;
    overflow-y: scroll;
    margin-bottom: 8%;
    border-radius:2px;
    box-sizing: border-box;
}

.privacycheck {
    text-align: center;
}

.contact_us .checkbox {
    width: 13px;
}

.button {
    width: 200px;
    padding: 12px 0;
    border: 2px solid #008A7B;
    border-radius: 50px;
    text-align: center;
    display: block;
    color: #008A7B;

    font-size: 16px;
    margin: 90px auto 0;
    background-color: #fff;
}

.submit {
    background-color: #008A7B;
    color: #fff;
}











@media only screen and (max-width: 1100px) {

    .w1100 {
        width: inherit;
        margin: 0;
    }
        
}
@media only screen and (max-width: 1000px) {
    /* 全ページ共通 */
    body {
        min-width: 1000px;
    }

    .w1000 {
        width: inherit;
        margin: 0;
    }

}
@media only screen and (max-width: 800px) {
    .w800 {
        width: inherit;
        margin: 0;
    }
}
@media only screen and (max-width: 768px) {
    /* 全ページ共通 */
    body {
        font-size: 14px;
        min-width: 375px;
    }    

    /* contact_us */

    .contact_us .w800 {
        padding-left: 20px;
        padding-right: 20px;
    }

    .contact_us ul {
        font-size: 12px;
    }

    .button {
        width: 150px;
        font-size: 12px;
        padding: 8px 0;
    }
}
@media only screen and (max-width: 400px) {
    .w400 {
        width: inherit;
        margin: 0;
    }
}

/* confirm */

.button_wrapper {
    display: flex;
    justify-content: space-around;
    gap: 10px;
}


/* complete */

.thanks {
    margin-top: 90px;
}

.thanks .title {
    font-weight: bold;
    text-align: center;
    font-size: 25px;
}

.thanks .message {
    margin-top: 60px;
}