.main-container {
    padding: calc(200/1440 * 100vw) calc(400/1440 * 100vw) calc(100/1440 * 100vw);
}

.main-container.thanks{
    height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;

}
.page-title {
    font-size: clamp(10px, 4.63889vw, 110px);
}
dl {
    display: flex;
    flex-wrap: wrap;
    flex-flow: column;
    width: 100%;
}
.toList {
    width: 13em;
    border-radius: 60px;
    border: 1px solid black;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border: unset;
    color: #dc3232;
}

.select-wrap{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.selectwrap {
    position: relative;
    width: 65%;
    margin: 20px;
    background-color: transparent;
}
.selectwrap::after {
    position: absolute;
    top: 34%;
    right: 2.5vw;
    width: 7px;
    height: 7px;
    border-top: 2px solid black;
    border-right: 2px solid black;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    pointer-events: none;
    content: "";
}
select{
    width: 100%;
    padding: 1em;
    border-radius: 60px;
    border: 1px solid black;
    appearance: none;
    background-color: transparent;
}
select:focus {
    outline: none; /* focus 時のデフォルトの枠線を消す */
}
::-ms-expand {
    display: none;  /* IE 対応( select のデフォルト矢印を消す) */
}
form{
    width: 100%;
    margin: 0 auto;
}

.policy_wrap{
    width: 50%;
    height: calc(180/1280 * 100vw);
    overflow-y: scroll;
    border: 1px solid #1A1311;
    background-color: #DBDCDC;
}
.policy_box{
    padding: calc(10/1280 * 100vw) calc(20/1280 * 100vw);

}


/* お問い合わせフォーム */
.contact__dl-wrapper {
    width:100%;
    margin: 0 auto;
}

.contact__content-wrapper {
    width: calc((1000 / 1400) * 100vw);
    margin: 0 auto;
}

.contact__content {
    padding: calc((50 / 1400) * 100vw) calc((40 / 1400) * 100vw);
}

.contact__content.blue {
    border: 5px solid #122C79;
}
.contact__content.yellow {
    border: 5px solid #E3CC00;
}

.contact__content > p {
    line-height: 2;
}

.contact__content-two {
    display: flex;
}

.contact__content-two > a {
    width: 50%;
    height: calc((70 / 1400) * 100vw);
    line-height: 1.5;
}
.contact__content-two > a.blue {
    background-color: #122C79;
    color: white;
}
.contact__content-two > a.yellow {
    background-color: #E3CC00;
    color: black;
}
.contact__content-two > a.opacity {
    opacity: 0.5;
}

.contact__dt {
    margin-right: calc((20 / 1400) * 100vw);
    display: flex;
    align-items: center;
    margin-bottom: 1vw;
}

.contact__dt.start{
    align-items: start;
}

.contact__dt.must::after {
    content: "*";
    color: black;
}
.contact__dt.not-must::before {
    opacity: 0;
}

.contact__dd {
    width: 100%;
}

.wpcf7-list-item {
    display: inline-block;
    margin: 0 0 1em 1em;
}

/* ddフォームパターン */
.contact__dd.dd-input > p > span > input {
    padding: calc((10 / 1400) * 100vw) calc((20 / 1400) * 100vw);
    width: calc(100% - calc((40 / 1400) * 100vw));
    background-color: transparent;
    border: unset;
    border-bottom: 1px solid #C6C6C6;
    letter-spacing: 0.1em;
    font-size: clamp(10px, 1.38889vw, 30px);

}
.contact__dd.dd-input > p > span > input:focus {
    outline: unset;
    border-bottom: 1px solid black;
}

/* ddテキストエリアパターン */
.contact__dd.dd-txtara > p > span > textarea {
    padding: calc((10 / 1400) * 100vw) calc((20 / 1400) * 100vw);
    width: calc(100% - calc((40 / 1400) * 100vw));
    height: calc((110 / 1400) * 100vw);
    background-color: transparent;
    border: unset;
    border-bottom: 1px solid #C6C6C6;
    letter-spacing: 0.1em;
    font-size: clamp(10px, 1.38889vw, 30px);
}
.contact__dd.dd-txtara > p > span > textarea:focus {
    outline: unset;
    border-bottom: 1px solid black;
}

/* 送信ボタン */
.contact__btn > p > input, .contact__btn-t {
    border: 0;
    background-color: #122C79;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((300 / 1400) * 100vw);
    height: calc((80 / 1400) * 100vw);
    color: white;
    margin: calc((50 / 1400) * 100vw) auto 0;
    font-size: 20px;
    letter-spacing: 0.15em;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
}
.contact__thanks {
    text-align: center;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .main-container {
        padding: 29vw 4vw 10vw;
    }
    .page-title {
        font-size: clamp(10px, 13.63889vw, 110px);
    }
    p.mb-100{
        margin-bottom: 13vw;
    }
    .select-wrap {
        align-items: start;
        flex-flow: column;
        margin-bottom: 5%;
    }
    .selectwrap {
        width: 98%;
        margin: 4vw auto;
    }
    .contact__dl-wrapper {
        width: 95%;
    }

    .contact__content-wrapper {
        width: 100%;
    }

    .contact__content {
        padding: 20px;
    }

    .contact__content.blue {
        border: 3px solid #122C79;
    }
    .contact__content.yellow {
        border: 3px solid #E3CC00;
    }

    .contact__content > p {
        line-height: 1.5;
    }

    .contact__content-two > a {
        height: auto;
        font-size: 10px !important;
        padding: 12px;
    }

    .contact__dl {
        flex-direction: column;
        margin-bottom: 10% !important;
    }

    .contact__dt {
        width: 100%;
        margin-right: 0;
    }
    .contact__dt.not-must {
        position: relative;
        left: -49px;
    }

    .contact__dt::before {
        width: 40px;
        height: 20px;
        margin-right: 10px;
    }

    .contact__dd {
        width: 100%;
    }

    /* ddフォームパターン */
    .contact__dd.dd-input > p > span > input {
        font-size: 3.3vw;
        padding: 1vw 2vw;
    }

    /* ddテキストエリアパターン */
    .contact__dd.dd-txtara > p > span > textarea {
        font-size: 3.3vw;
        padding: 1vw 2vw;
        height: calc((300 / 1400) * 100vw)
    }

    /* 送信ボタン */
    .contact__btn > p > input,  .contact__btn-t {
        width: 250px;
        height: 40px;
        margin: 50px auto 0;
        font-size: 16px;
    }
    .policy_wrap{
        width: 80%;
        height: calc(800/1280 * 100vw);
        overflow-y: scroll;
        border: 1px solid #1A1311;
        background-color: #DBDCDC;
    }
    .policy_box{
        padding: calc(30/1280 * 100vw) calc(40/1280 * 100vw);

    }
    .more_button {
        width: calc(700/1280 * 100vw);
    }
    .contact__dt.must::after {
        width: calc((146 / 1400) * 100vw);
        height: calc((60 / 1400) * 100vw);
        margin-left: calc((31 / 1400) * 100vw);
    }
}