@charset "UTF-8";
section {
    width: initial;
    max-width: initial;
}


/* 共通 */

p[class*=_error],
.asterisk {
    color: red;
}

button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    border-color: #4169E1;
}

.pp_link {
    color: #4169E1;
    text-decoration: underline;
}

.f_contents {
    margin-top: 56px;
}

@media screen and (max-width: 767px) {
    .f_contents {
        margin-top: 60px;
    }
}

.f_contents a:hover,
.f_contents a:active {
    opacity: 0.6;
}

.f_contents__inner {
    width: 88vw;
    max-width: 1105px;
    margin: 0 auto;
    padding: 74px 25px 100px;
}

@media screen and (max-width: 767px) {
    .f_contents__inner {
        width: 100%;
        padding: 13.33334vw 5.33334vw 10.66667vw;
    }
}


/* メインタイトル */

.f_ttl--main {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.42857;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .f_ttl--main {
        font-size: 6.66667vw;
        line-height: 1.48;
    }
}

.f_ttl {
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.42307;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .f_ttl {
        font-size: 5.33334vw;
        line-height: 1.5;
    }
}


/* table
-------------------------------------------------- */


/* table共通 */

.f_table {
    max-width: 850px;
    margin: 30px auto 0;
}

@media screen and (max-width: 767px) {
    .f_table {
        margin: 8vw auto 0;
    }
}

.f_table tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-top: 20px;
}

@media screen and (max-width: 767px) {
    .f_table tr {
        padding-top: 5.33334vw;
    }
}

.f_table tr span {
    display: inline-block;
}

@media screen and (max-width: 767px) {
    .f_table tr span {
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
    }
}

.f_table th {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.1875;
}

@media screen and (max-width: 767px) {
    .f_table th {
        font-size: 4.26667vw;
    }
}

.f_table td {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
}

@media screen and (max-width: 767px) {
    .f_table td {
        font-size: 4.26667vw;
    }
}

.f_table textarea,
.f_table input[type=text],
.f_table input[type=tel] {
    border: 1px solid #707070;
    border-radius: 6px;
    width: 100%;
    padding: 8px 9px;
}

@media screen and (max-width: 767px) {
    .f_table textarea,
    .f_table input[type=text],
    .f_table input[type=tel] {
        border-radius: 1.6vw;
        padding: 2.13334vw 2.4vw;
    }
}


/* f_index（top）
================================================== */


/* お電話でのお問合せ
-------------------------------------------------- */

.f_sec--tel {
    background-color: #F5F5F5;
    max-width: 1010px;
    margin: 20px auto 0;
    padding: 50px 1em;
}

@media screen and (max-width: 767px) {
    .f_sec--tel {
        margin: 5.33334vw auto 0;
        padding: 9.33334vw 5.33334vw 10.66667vw;
    }
}

.f_sec--tel__txt_wrap {
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    margin: 13px auto 0;
    max-width: 470px;
    padding: 13px 1em 20px;
}

@media screen and (max-width: 767px) {
    .f_sec--tel__txt_wrap {
        margin: 4vw auto 0;
        max-width: initial;
        padding: 4vw 1em 4.26667vw;
    }
}

.f_sec--tel__link a {
    color: #006666;
    font-size: 4.4rem;
    font-weight: 700;
    line-height: 1.45454;
    letter-spacing: 0.08em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    .f_sec--tel__link a {
        font-size: 8vw;
        line-height: 1.66666;
        pointer-events: visible;
    }
}

.f_sec--tel__link a::before {
    content: "";
    background-image: url(../img/icon_phone.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 40px;
    height: 40px;
    margin: 10px 2px 0 0;
}

@media screen and (max-width: 767px) {
    .f_sec--tel__link a::before {
        width: 9.33334vw;
        height: 9.33334vw;
        margin: 1.33334vw 0.53334vw 0 0;
    }
}

.f_sec--tel__txt {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    margin-top: 14px;
}

@media screen and (max-width: 767px) {
    .f_sec--tel__txt {
        font-size: 4.26667vw;
        margin-top: 2.93334vw;
    }
}


/* お問合せフォームテキスト部分
-------------------------------------------------- */

.f_sec--explanation {
    margin-top: 50px;
}

@media screen and (max-width: 767px) {
    .f_sec--explanation {
        margin-top: 13.33334vw;
    }
}

.f_sec--explanation .f_txt {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.08em;
    margin-top: 28px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .f_sec--explanation .f_txt {
        font-size: 4.26667vw;
        margin-top: 7.46667vw;
        text-align: left;
    }
}

.f_sec--explanation .f_txt:first-of-type {
    margin-top: 37px;
}

@media screen and (max-width: 767px) {
    .f_sec--explanation .f_txt:first-of-type {
        margin-top: 8vw;
    }
}


/* 問合わせ種別
-------------------------------------------------- */

.inquiry-checkbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
    .inquiry-checkbox {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    }
}

.inquiry-checkbox>div {
    margin-top: 10px;
    width: 50%;
}

@media screen and (max-width: 767px) {
    .inquiry-checkbox>div {
        margin-top: 2.66667vw;
        width: 100%;
    }
}

.inquiry-checkbox>div:nth-child(-n+2) {
    margin-top: 0;
}

@media screen and (max-width: 767px) {
    .inquiry-checkbox>div:nth-child(-n+2) {
        margin-top: 2.66667vw;
    }
}

@media screen and (max-width: 767px) {
    .inquiry-checkbox>div:first-of-type {
        margin-top: 0;
    }
}

.inquiry-checkbox label {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
}

.inquiry-checkbox label input {
    display: inline-block;
    margin-right: 5px;
}

@media screen and (max-width: 767px) {
    .inquiry-checkbox label input {
        margin-right: 1.33334vw;
    }
}

.inquiry-checkbox label input:hover {
    cursor: pointer;
}

.inquiry-checkbox label:hover {
    cursor: pointer;
}

.inquiry-checkbox>input {
    margin-top: 20px;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .inquiry-checkbox>input {
        margin-top: 5.33334vw;
    }
}

.inquiry-check__note {
    font-size: 12px;
}

@media screen and (max-width: 767px) {
    .inquiry-check__note {
        font-size: max(3.2vw, 12px);
    }
}


/* 郵便番号
-------------------------------------------------- */

.adr {
    padding-top: 0 !important;
}

.adr .adr__note {
    font-size: 1.2rem;
    line-height: 1.5;
}

@media screen and (max-width: 767px) {
    .adr .adr__note {
        font-size: max(3.2vw, 12px);
    }
}

.adr>th {
    margin-top: 20px;
}

@media screen and (max-width: 767px) {
    .adr>th {
        margin-top: 5.33334vw;
    }
}

.adr table {
    width: 100%;
}


/* ボタン
-------------------------------------------------- */

.f_btn_wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 60px;
}

@media screen and (max-width: 767px) {
    .f_btn_wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: 16vw;
    }
}


/* ボタン共通 */

.f_btn_wrap__btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
    cursor: pointer;
    -webkit-filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.2));
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.2));
    display: block;
    font-size: 1.6rem;
    height: 60px;
    line-height: 3.4375;
    margin: 0 0 0 40px;
    outline: 0;
    overflow: hidden;
    position: relative;
    text-align: center;
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
    width: 282px;
    z-index: 2;
}

@media screen and (max-width: 767px) {
    .f_btn_wrap__btn {
        border-width: 0.26667vw;
        border-width: 1.33334vw;
        -webkit-filter: drop-shadow(0.8vw 0.8vw 0.8vw rgba(0, 0, 0, 0.2));
        filter: drop-shadow(0.8vw 0.8vw 0.8vw rgba(0, 0, 0, 0.2));
        font-size: 4.26667vw;
        height: 16vw;
        width: 100%;
        max-width: 300px;
        margin: 5.33334vw auto 0;
    }
}

@media screen and (max-width: 767px) {
    .f_btn_wrap__btn:first-of-type {
        margin: 0;
    }
}

.f_btn_wrap__btn::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    z-index: -1;
}

.f_btn_wrap__btn:hover::before {
    left: 0;
}


/* リセットボタン */

.f_btn--reset {
    background-color: #fff;
    border: #fff;
    color: #000;
    margin-left: 0;
}

@media screen and (max-width: 767px) {
    .f_btn--reset {
        margin-left: initial;
    }
}

.f_btn--reset::before {
    background-color: #000;
}

.f_btn--reset:hover {
    border: 1px solid #fff;
    color: #fff;
}

@media screen and (max-width: 767px) {
    .f_btn--reset:hover {
        border: 0.26667vw solid #fff;
    }
}


/* 確認画面へボタン */

.f_btn--submit {
    background-color: #006666;
    border: #006666;
    color: #fff;
}

.f_btn--submit::before {
    background-color: #fff;
}

.f_btn--submit:hover {
    color: #006666;
}


/* f_confirm（確認ページ）
================================================== */

.f_confirm {
    /* メインタイトル */
}

.f_confirm .f_ttl--main {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.42857;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .f_confirm .f_ttl--main {
        font-size: 6.66667vw;
        line-height: 1.48;
    }
}

.f_confirm .f_txt {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.08em;
    margin-top: 28px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .f_confirm .f_txt {
        font-size: 4.26667vw;
        margin-top: 7.46667vw;
        text-align: left;
    }
}

.f_confirm .f_txt:first-of-type {
    margin-top: 37px;
}

@media screen and (max-width: 767px) {
    .f_confirm .f_txt:first-of-type {
        margin-top: 8vw;
    }
}

.f_confirm .f_table {
    margin-top: 40px;
    width: 100%;
}

@media screen and (max-width: 767px) {
    .f_confirm .f_table {
        margin-top: 10.66667vw;
    }
}

.f_confirm tr {
    border-bottom: 1px dotted #006666;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    width: 100%;
    padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
    .f_confirm tr {
        border-bottom: 0.26667vw dotted #006666;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 5.33334vw 0 2.66667vw;
    }
}

.f_confirm th {
    font-size: 1.6rem;
    padding-left: 0.5em;
    line-height: 1.5;
    text-align: left;
    width: 30%;
}

@media screen and (max-width: 767px) {
    .f_confirm th {
        padding: 0 0.5em 0 0;
        width: 100%;
    }
}

.f_confirm td {
    font-size: 1.6rem;
    padding-left: 1em;
    line-height: 1.5;
    text-align: left;
    width: 70%;
}

@media screen and (max-width: 767px) {
    .f_confirm td {
        padding: 2.66667vw 0.5em 0 0;
        width: 100%;
    }
}


/* f_thanks（受付終了ページ）
================================================== */

.f_thanks .thanks_txt {
    margin-top: 40px;
    font-size: 1.6rem;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .f_thanks .thanks_txt {
        font-size: 4.26667vw;
        margin-top: 10.66667vw;
    }
}

.f_thanks .thanks_txt--error .thanks_txt1 {
    color: red;
}

.f_thanks .thanks_txt--error a {
    cursor: pointer;
}


/* error
================================================== */

.f_error .f_ttl {
    border-left: 4px solid #006666;
    border-bottom: 1px solid #333;
    font-size: 2.8rem;
    padding-left: 0.5em;
    text-align: left;
}

@media screen and (max-width: 767px) {
    .f_error .f_ttl {
        border-left: 1.06667vw solid #006666;
        border-bottom: 1px solid #333;
        font-size: 6.66667vw;
        line-height: 1.48;
    }
}

.f_error .f_txt {
    font-size: 1.6rem;
    margin-top: 40px;
    padding-left: 0.5em;
}

@media screen and (max-width: 767px) {
    .f_error .f_txt {
        font-size: 4.26667vw;
        margin-top: 10.66667vw;
    }
}

.f_error .warning {
    color: red;
}

.f_error .top-link {
    color: #4169E1;
    text-decoration: underline;
}

/* リキャプチャー */
.grecaptcha-badge {
    bottom: 120px !important;
    z-index: 90;
}
@media screen and (max-width: 767px) {
    .grecaptcha-badge {
        bottom: 26.66667vw !important;
    }
}