@charset "UTF-8"; /* ==========================================================================
   1. 汎用・基本要素（Base & General）
   ========================================================================== */
.page_promo .promo_inner .promo_ttl {
    font-size: 4rem;
    letter-spacing: .03em;
    text-align: center;
    font-family: "Cormorant Garamond", serif;
    font-weight: 500;
}

.main_area {
    padding-left: 0rem;
}

.contact_btn {
    display: table;
    position: relative;
}

.require, .any {
    padding: .1rem 1.2rem;
    margin: 0 0 0 1rem;
    font-weight: normal;
    color: #fff;
    font-size: 1.2rem;
}

.require {
    background: #CB0010;
}

.any {
    background: #78909C;
}

input, textarea, button {
    box-sizing: border-box;
    border: none;
    padding: .8rem 1.2rem;
    font-family: var(--main_ff);
}

select {
    padding: 5px;
}

input[type="file"] {
    border: 0;
}

input[type="text"], input[type="password"], input[type="email"], input[type="tel"], input[type="number"], input[type="file"], textarea {
    width: 100%;
    background: #f5f5f5;
}

#autozip {
    display: none !important;
}

select::-ms-expand {
    display: none;
}

div.contact_flow {
    margin-bottom: 9.5rem;
    margin-top: -3rem;
}

div.contact_flow ul.items {
    display: flex;
    justify-content: center;
    position: relative;
    gap: 8rem;
}

div.contact_flow ul.items::before {
    width: 100%;
    height: 1px;
    position: absolute;
    content: "";
    background: #000;
    top: 1rem;
    left: 0;
}

div.contact_flow ul.items li {
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    padding-top: 2.5rem;
    position: relative;
    min-width: 14rem;
}

div.contact_flow ul.items li::before {
    position: absolute;
    content: "";
    width: 2rem;
    height: 2rem;
    border-radius: 100%;
    border: 1px solid #000;
    background: #fff;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}

div.contact_flow ul.items li.active::before {
    background: #003559;
    border-color: #003559;
}

.privacy_wrap {
    max-width: 77.7rem;
    margin-left: auto;
    margin-bottom: 9.54rem;
}

.privacy {
    font-size: 1.6rem;
}

.privacy a {
    font-size: 1.6rem;
    color: #1E14C8;
    text-decoration: underline;
}

.privacy_wrap .privacy_ttl {
}

/* ==========================================================================
   2. チェックボックス・ラジオボタンのカスタマイズ
   ========================================================================== */
input[type*="radio"], input[type*="checkbox"] {
    display: none;
}

input[type*="radio"] + span, input[type*="checkbox"] + span {
    display: inline-block;
    position: relative;
    cursor: pointer;
    padding: 1rem 1rem 1rem 2.5rem;
    line-height: 1;
    font-size: 1.6rem;
}

input[type*="radio"] + span:before, input[type*="checkbox"] + span:before {
    position: absolute;
    content: "";
    border: .1rem solid #c8c8c8;
    box-sizing: border-box;
    width: 2rem;
    height: 2rem;
    left: 0;
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
    z-index: 1;
}

input[type*="radio"] + span:before, [class*="exclusive"] input[type*="checkbox"] + span:before {
    border-radius: 50%;
}

input[type*="radio"]:checked + span:after, input[type*="checkbox"]:checked + span:after {
    position: absolute;
    content: "";
    top: 50%;
    left: .3rem;
    width: 1.5rem;
    height: 1rem;
    margin-top: -.8rem;
    border-left: .2rem solid #CB0010;
    border-bottom: .2rem solid #CB0010;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

input[type*="radio"]:checked + span:after, .form_table input[type*="checkbox"]:checked + span:after {
    border-radius: 50%;
    border-left: 0;
    border-bottom: 0;
    -webkit-transform: inherit;
    -ms-transform: inherit;
    background: #CB0010;
    width: 2rem;
    height: 2rem;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    border: .4rem solid #FFF;
}

.wpcf7-form-control-wrap label {
    position: relative;
    display: flex;
}

#user-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 0rem 2rem;
}

/* ==========================================================================
   3. フォームテーブル構造（Table Layout）
   ========================================================================== */
form {
    margin: 0 auto;
}

.form_table tr:not(:last-child) {
}

.form_table th, .form_table td {
    padding: 0 0 4rem;
}

.form_table th {
    vertical-align: top;
    /* padding-right: 5rem !important; */
    /* padding-top: 2.3rem; */
    text-align: left;
    width: 30%;
}

.form_table td {
}

table.form_table {
    font-size: 1.6rem;
    margin-bottom: 0.5em;
    width: 100%;
    border-collapse: collapse;
}

table.form_table tbody {
}

table.form_table th {
    min-width: 24rem;
    /* padding: 0; */
    font-weight: normal;
    text-align: left;
    position: relative;
    width: 26%;
    /* vertical-align: middle; */
}

table.form_table th p {
    font-weight: 500;
}

table.form_table tr:last-of-type th {
}

table.form_table td {
    /* padding: 2.6rem 0 2.6rem 2.8rem; */
}

table.form_table td.col02 {
    justify-content: space-between;
}

table.form_table td.col02 > p {
    width: 49.5%;
}

table.form_table tr:last-of-type td {
}

/* フォーム内パーツ個別設定 */
table.form_table td.name_wrap input {
    max-width: 29rem;
}

table.form_table td.name_wrap p:first-child {
    margin-bottom: 1.5rem;
}

table.form_table td.w_middle input {
    max-width: 39rem;
    margin-right: 1rem;
}

table.form_table td.addr_wrap p.zip {
    margin-bottom: 1.5rem;
}

table.form_table td.addr_wrap p.zip input {
    max-width: 18.1rem;
    margin: 0 .7rem;
}

table.form_table td.tel_wrap input {
    max-width: 29rem;
    margin-right: 1rem;
}

table.form_table td.radio_wrap .wpcf7-list-item {
    margin: 0;
}

table.form_table td.radio_wrap .wpcf7-list-item:not(:last-child) {
    margin-bottom: -0.2rem;
}

table.form_table td.addr_wrap p.addr_wrap02:not(:last-child) input {
    margin-bottom: 1.2rem;
}

table.form_table td.name_wrap p:first-child {
    margin-bottom: 1.5rem;
}

table.form_table tr.tr_name td p:first-child {
    margin-bottom: 1.2rem;
}

table.form_table td.txtarea_wrap .wpcf7-form-control-wrap {
    max-width: none;
}

table.form_table td.txtarea_wrap textarea {
    /* max-width: 95%; */
    display: block;
    margin: 0;
}

table.form_table ::placeholder {
    color: #B5B5B5;
    font-size: 1.4rem;
}

/* ==========================================================================
   4. Contact Form 7 固有設定（WP Plugin Styles）
   ========================================================================== */
.wpcf7-form-control-wrap input, .wpcf7-form-control-wrap textarea {
    padding: .9rem 1rem;
    font-size: 1.4rem;
    color: #3c3c3c;
    border: solid .1rem #000;
    background-color: #fff;
}

.content-form button, .wpcf7 input[type="submit"] {
    margin: 2rem auto;
    padding: 1rem 5rem;
    text-align: center;
    border-radius: .5rem;
    font-size: 1.5rem;
    color: white;
    background: #151515;
}

.wpcf7 input[type="submit"].submit_disable {
    background: #ddd;
    color: #151515;
    border-radius: 0;
}

.wpcf7 select {
    border-radius: .5rem;
}

.wpcf7 input, .wpcf7 span, .wpcf7 textarea {
}

table.form_table select {
    border-radius: .3rem;
    border: .1rem solid #9f9f9f;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: url(../images/common/select_arrow.svg) no-repeat center right 0.85em/1.1rem #fffff0;
    height: 4.6rem;
    line-height: normal;
    width: 24rem;
    margin-bottom: 1.5rem;
    color: #3c3c3c;
    font-size: 1.8rem;
    min-height: 4.6rem;
    padding: 1.2rem 2rem 1.2rem;
}

/* バリデーション & ローダー */
table.form_table span.wpcf7-not-valid-tip {
    font-size: 1.4rem;
}

/* エラーが発生した入力欄・テキストエリアを赤枠にする */
.wpcf7-form-control.wpcf7-not-valid {
    border: 1px solid #CB0010 !important;
    /* 好みの赤色を指定 */
}

#user-radio.wpcf7-form-control.wpcf7-not-valid {
    border: none !important;
}

.col_psa span.wpcf7-not-valid-tip {
    position: absolute;
    bottom: -5.4rem;
    left: 0;
    white-space: pre;
}

.col_psa:has(.wpcf7-not-valid) {
    padding-bottom: 6rem;
}

.wpcf7 .ajax-loader {
    margin: 0;
}

.wpcf7-checkbox {
    display: block;
}

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

.wpcf7 form.invalid .wpcf7-response-output {
    display: none;
}

span.wpcf7-spinner {
    width: 100%;
    height: auto;
    background: transparent;
}

.wpcf7-spinner::before {
    content: "送信中です。\Aしばらくお待ちください。";
    white-space: pre;
    width: auto;
    height: auto;
    animation: none;
    top: -1rem;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1.5;
}

/* ==========================================================================
   5. ページ別設定（Contact / Entry / Complete）
   ========================================================================== */
.page-contact p.main_lead {
    font-size: 2rem;
    margin-bottom: 3.5rem;
    padding-left: 6rem;
}

.page-contact .main_txt, .page_entry .main_txt {
    font-size: 2rem;
    margin: 0 auto 4.5rem;
    line-height: 1.75;
    max-width: 94rem;
    width: 100%;
}

.page-contact form, .page_entry form {
    width: 100%;
    font-size: 2rem;
    padding-left: 6rem;
}

.page-contact form .req_txt, .page_entry form .req_txt {
    margin-bottom: 1.5rem;
}

.page-contact span.require:not(.big), .page_entry span.require:not(.big) {
    padding: .1rem 1.2rem;
}

.page-contact span.require.big, .page_entry span.require.big {
    font-size: 1.6rem;
    padding: .2rem .6rem;
}

/* 見出し色 */
.page-contact table.form_table th {
}

.page-entry table.form_table th {
    border-color: #00a8cf !important;
    color: #00a8cf;
}

/* 送信ボタン */
.page-contact .cmn_btn input[type="submit"], .page_entry .cmn_btn input[type="submit"] {
    font-size: 2.2rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    display: table;
    min-width: 34.4rem;
    letter-spacing: .1em;
    padding: 2.2rem 4.5rem;
    border-radius: 6rem;
    position: relative;
    border: .2rem solid var(--theme_m_color);
    margin: 0 0;
    transition: .2s ease-in;
    cursor: pointer;
    font-family: "Noto Sans JP","游ゴシック体", "Yu Gothic", "yugothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}

.page-contact .cmn_btn input[type="submit"] {
    background: var(--theme_m_color);
    border-color: var(--theme_m_color);
}

.page_entry .cmn_btn input[type="submit"] {
    background: #00a8cf;
    border-color: #00a8cf;
}

.page-contact .cmn_btn input[type="submit"]:hover, .page_entry .cmn_btn input[type="submit"]:hover {
    background: #fff;
}

.page-contact .cmn_btn input[type="submit"]:hover {
    color: var(--theme_m_color);
}

.page_entry .cmn_btn input[type="submit"]:hover {
    color: #00a8cf;
}

.page-contact .wpcf7-spinner, .page_entry .wpcf7-spinner {
    position: absolute;
    bottom: -3rem;
    left: 45%;
    transform: translateX(-50%);
}

/* 完了ページ */
.page-complete .main_area p.main_txt {
    line-height: 2.25;
    margin: 0 auto 0;
    text-align: center;
}

.page-complete .main_area p.btn a {
    min-width: 370px;
    margin: 0 auto;
    padding: 15px 30px;
}

.page-complete .main_area p.btn a::after {
    content: none;
}

/* その他共通ボタン */
.cmn_contact_btn p.btn a {
    border: .1rem solid #c8c8c8;
    font-size: 5rem;
    letter-spacing: .06em;
    line-height: 1;
    color: var(--theme_m_color);
    position: relative;
    display: table;
    padding: 6.3rem 14.4rem;
    margin: 0 auto;
    margin-bottom: 11rem;
    font-weight: 500;
}

.cmn_contact_btn p.btn a::before {
    content: "";
    display: inline-block;
    background: url("../images/common/tel_w.svg") no-repeat 50% / 2rem 2.6rem;
    width: 4.2rem;
    height: 4.2rem;
    background-color: var(--theme_m_color);
    border-radius: 2em;
    margin-right: .2rem;
}

.cmn_contact_btn p.btn a .num {
    font-family: "Oswald", sans-serif;
}

.cmn_contact_btn p.btn a .open {
    font-size: 1.8rem;
    color: var(--main_color);
    letter-spacing: .04em;
    display: block;
    text-align: center;
    margin-top: 2rem;
    padding-left: 2rem;
    font-weight: 700;
}

/* ==========================================================================
   6. レスポンシブ設定（Mobile）
   ========================================================================== */
@media screen and (max-width: 768px) {
    .page_promo .promo_inner .promo_ttl {
        font-size: 4.8rem;
    }

    .main_area > .base_width {
        width: calc(100% - 12rem);
        padding-bottom: 12rem;
    }

    div.contact_flow {
        margin-top: 2rem;
        margin-bottom: 13.5rem;
    }

    div.contact_flow ul.items {
        gap: 0rem;
    }

    div.contact_flow ul.items::before {
        top: 2rem;
    }

    div.contact_flow ul.items li {
        font-size: 2.4rem;
        white-space: nowrap;
        min-width: auto;
        flex: 1;
        padding-top: 4.5rem;
    }

    div.contact_flow ul.items li.sp_left {
        margin-left: -3rem;
    }

    div.contact_flow ul.items li::before {
        width: 4rem;
        height: 4rem;
    }

    div.contact_flow ul.items li.active::before {
    }

    .privacy_wrap {
        margin-bottom: 14rem;
    }

    .privacy {
        font-size: 2.8rem;
        line-height: 1.57142857;
        margin-bottom: 2rem;
    }

    .privacy a {
        font-size: 2.4rem;
    }

    .privacy_wrap .privacy_ttl {
    }

    .require, .any {
        font-size: 2.4rem;
        margin-left: 2rem;
        padding: 0.2rem 2.5rem;
    }

    /* --- 元のセレクタを維持（統合禁止） --- */
    .wpcf7 input, .wpcf7 span, .wpcf7 textarea {
        max-width: none;
    }

    .wpcf7-form-control-wrap input, .wpcf7-form-control-wrap textarea {
        font-size: 2.8rem;
        padding: 2rem 2rem;
        margin-bottom: 0;
    }

    .page-contact form, .page_entry form {
        padding: 0;
    }

    table.form_table {
        font-size: 3rem;
        margin-bottom: 8rem;
    }

    table.form_table ::placeholder {
        font-size: 2.8rem;
    }

    table.form_table .mt01 {
        margin-top: 2rem;
    }

    table.form_table tr {
        padding: 6rem 0;
    }

    table.form_table th {
        width: 100%;
        font-size: 2.8rem;
        display: block;
        padding: 0;
        padding-top: 4rem;
        margin-bottom: 2rem;
        position: relative;
    }

    table.form_table tr:last-child th {
        border-bottom: none;
    }

    table.form_table td {
        width: 100%;
        display: block;
        border-top: none;
        padding: 0;
        padding-bottom: 3rem;
        line-height: 1.75;
    }

    #user-radio {
        flex-direction: column;
    }

    table.form_table tr:last-child td {
        border: none;
        padding-bottom: 0;
    }

    table.form_table td.col02 > p {
        width: 100%;
    }

    table.form_table td.col02 > p:not(:last-child) {
        margin-bottom: 2rem;
    }

    table.form_table td.name_wrap input {
        max-width: none;
    }

    table.form_table td.addr_wrap input {
        font-size: 3rem;
    }

    table.form_table td.tel_wrap input {
        max-width: none;
    }

    table.form_table td.radio_wrap .wpcf7-list-item:not(:last-child) {
        margin-bottom: 0;
    }

    table.form_table td .form_txt {
        font-size: 3rem;
        display: inline-block;
        font-weight: 400;
    }

    table.form_table td.w_middle input {
        max-width: none;
    }

    table.form_table select {
        min-height: auto;
        height: auto;
        width: auto;
        padding: 3rem 8rem 2.6rem 1.6rem;
        font-size: 3rem;
    }

    /* ラジオ・チェックボックス SP */
    input[type*="radio"] + span, input[type*="checkbox"] + span {
        font-size: 2.8rem;
        padding: 1.5rem 2rem 2rem 6rem;
        font-weight: 400;
    }

    input[type*="radio"] + span:before, input[type*="checkbox"] + span:before {
        width: 4rem;
        height: 4rem;
        left: 0;
        margin: 0;
    }

    input[type*="radio"]:checked + span:after, input[type*="checkbox"]:checked + span:after {
        border-width: 0.6rem;
        width: 3rem;
        height: 2rem;
        margin-top: -1.5rem;
    }

    input[type*="radio"]:checked + span:after, [class*="exclusive"] input[type*="checkbox"]:checked + span:after {
        width: 4rem;
        height: 4rem;
        margin: 0;
        border-width: 1.2rem;
    }

    table.form_table td.txtarea_wrap textarea {
        max-width: 100%;
        height: 30rem;
    }

    /* バリデーション & スピナー SP */
    table.form_table span.wpcf7-not-valid-tip {
        font-size: 2.8rem;
    }

    .col_psa span.wpcf7-not-valid-tip {
        bottom: -24px;
        width: 100vw;
    }

    .col_psa:has(.wpcf7-not-valid) {
        padding-bottom: 45px;
    }

    .wpcf7-spinner::before {
        font-size: 12px;
        top: -20px;
        left: 46%;
    }

    /* ページ個別設定 SP */
    .page-contact p.main_lead {
        font-size: 3.6rem;
        margin-bottom: 0.5rem;
        padding: 0;
    }

    .page-contact .main_txt, .page_entry .main_txt {
        font-size: 3rem;
        padding: 0 8px;
        margin-bottom: 34px;
        font-weight: 400;
    }

    .page-contact .req_txt, .page_entry .req_txt {
        font-size: 2.8rem;
        font-weight: 400;
    }

    .page-contact span.require:not(.big), .page_entry span.require:not(.big) {
        padding: 0.2rem 2.5rem;
    }

    .page-contact span.require.big, .page_entry span.require.big {
        font-size: 2.6rem;
        padding: 2px 9px;
    }

    .page-contact .cmn_btn input[type="submit"], .page_entry .cmn_btn input[type="submit"] {
        font-size: 3.6rem;
        padding: 5.7333333vw 45px 6.266666vw;
        border-radius: 9.95vw;
        width: 90%;
        -webkit-appearance: none;
    }

    .page-complete .main_area p.main_txt {
        font-size: 2.8rem;
        line-height: 1.85714285;
        text-align: left;
    }

    /* 共通パーツ SP */
    .cmn_contact_btn p.btn a {
        font-size: 9.0666666vw;
        padding: 6.5vw 8vw;
        min-width: 325px;
        margin-bottom: 10vw;
    }

    .cmn_contact_btn p.btn a::before {
        background-size: 3.599999vw 4.93333333vw;
        width: 8vw;
        height: 8vw;
        margin-right: 2vw;
    }

    .cmn_contact_btn p.btn a .open {
        font-size: 3.733333vw;
        margin-top: 2.5vw;
    }

    .page-contact footer, .page-entry footer {
        padding-bottom: 16vw;
    }
}

.page-confirmation p.main_lead {
    font-size: 2rem;
    padding-left: 6rem;
    margin-bottom: 2.5rem;
}

table.form_table.confirm_table {
    margin-bottom: 2.5rem;
}

table.form_table.confirm_table tbody tr {
    border-bottom: 1px solid #B5B5B5;
}

table.form_table.confirm_table tbody tr th, table.form_table.confirm_table tbody tr td {
    padding: 2rem 0;
}

table.form_table.confirm_table tbody tr th {
    width: 33rem;
    padding-left: 6rem;
}

table.form_table.confirm_table tbody tr th p {
}

table.form_table.confirm_table tbody tr td.f_wrap.col02 {
    display: flex;
    justify-content: flex-start;
}

table.form_table.confirm_table tbody tr td.f_wrap.col02 p.confirm_value {
}

table.form_table.confirm_table tbody tr td {
    /* padding: 0; */
}

table.form_table.confirm_table tbody tr td p.confirm_value {
    width: auto;
}

table.form_table.confirm_table tbody tr td.radio_wrap {
}

table.form_table.confirm_table tbody tr td.radio_wrap p.confirm_value {
}

table.form_table.confirm_table tbody tr td.txtarea_wrap {
}

table.form_table.confirm_table tbody tr td.txtarea_wrap p.confirm_value {
}

.page-confirmation .privacy_wrap {
}

.page-confirmation .privacy_wrap p.privacy {
    margin-bottom: 1rem;
}

.page-confirmation.privacy_wrap p.privacy a {
}

.page-confirmation .privacy_wrap p.privacy_ttl {
    position: relative;
    padding-left: 3rem;
}

.page-confirmation .privacy_wrap p.privacy_ttl::before {
    position: absolute;
    content: "";
    border: .1rem solid #c8c8c8;
    box-sizing: border-box;
    width: 2rem;
    height: 2rem;
    left: 0;
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
    z-index: 1
}

.page-confirmation .privacy_wrap p.privacy_ttl::after {
    position: absolute;
    content: "";
    top: 50%;
    left: .3rem;
    width: 1.5rem;
    height: 1rem;
    margin-top: -.8rem;
    border-left: .2rem solid #CB0010;
    border-bottom: .2rem solid #CB0010;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

div.confirm_btn_wrap {
}

div.confirm_btn_wrap p {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

div.confirm_btn_wrap p span.cmn_btn.back_btn.contact_btn.cmn_page_btn {
}

div.confirm_btn_wrap p span.cmn_btn.cmn_page_btn button {
    width: 18rem;
}

div.confirm_btn_wrap p span.cmn_btn.back_btn.contact_btn.cmn_page_btn button::after {
    transform: rotateY(185deg);
    right: auto;
    left: 1.5rem;
}

/* ==========================================
   スマホ用（SP）スタイル
   ========================================== */
@media screen and (max-width: 767px) {
    div.confirm_btn_wrap {
        margin-bottom: -6rem;
    }

    .page-confirmation p.main_lead {
        font-size: 3.6rem;
        padding: 0;
    }

    table.form_table.confirm_table {
        margin-bottom: 3rem;
    }

    table.form_table.confirm_table tbody tr {
        padding: 0;
    }

    table.form_table.confirm_table tbody tr th, table.form_table.confirm_table tbody tr td {
    }

    table.form_table.confirm_table tbody tr th {
        padding-left: 0;
        width: auto;
        padding: 3.5rem 0 0;
        margin-bottom: 2rem;
    }

    table.form_table.confirm_table tbody tr td {
        font-size: 2.8rem;
        padding-bottom: 2rem;
        padding-top: 0;
    }

    table.form_table.confirm_table tbody tr td.f_wrap.col02 {
    }

    table.form_table.confirm_table tbody tr td p.confirm_value {
    }

    .page-confirmation .privacy_wrap p.privacy {
        margin-bottom: 3rem;
    }

    .page-confirmation .privacy_wrap p.privacy a {
        font-size: 2.8rem;
    }

    .page-confirmation .privacy_wrap p.privacy_ttl {
        font-size: 2.8rem;
        padding-left: 6rem;
    }

    .page-confirmation .privacy_wrap p.privacy_ttl::before {
        width: 4rem;
        height: 4rem;
        left: 0;
        margin: 0;
    }

    .page-confirmation .privacy_wrap p.privacy_ttl::after {
        border-width: 0.6rem;
        width: 3rem;
        height: 2rem;
        margin-top: -1.5rem
    }

    div.confirm_btn_wrap p {
        flex-direction: column;
        gap: 2rem;
    }

    div.confirm_btn_wrap p span.cmn_btn.cmn_page_btn button {
        font-size: 2.8rem;
        width: 43rem;
    }

    div.confirm_btn_wrap p span.cmn_btn.cmn_page_btn button::after {
        right: 2rem;
    }

    div.confirm_btn_wrap p span.cmn_btn.back_btn.contact_btn.cmn_page_btn button::after {
        /* width: 4rem; */
        height: 2rem;
        left: 3rem;
    }
}

/* ==========================================
  完了
   ========================================== */
div.comp_wrap {
}

div.comp_wrap h2.comp_ttl {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 3.5rem;
    font-weight: 400;
}

div.comp_wrap p.main_txt {
    letter-spacing: .03em;
    text-align: center;
    line-height: 2.25;
}

@media screen and (max-width: 767px) {
    div.comp_wrap {
    }

    div.comp_wrap h2.comp_ttl {
        font-size: 3.6rem;
    }

    div.comp_wrap p.main_txt {
    }
}
