option {
    padding: 5px;
    text-align: center
}

input:hover,
select:hover,
textarea:hover {
    border-color: #73bdff;
    background-color: rgba(115, 189, 255, .1)
}

input:focus,
select:focus,
textarea:focus {
    border-color: #f29600;
    background-color: rgba(242, 150, 0, .1);
    outline: 0
}

input[type=radio]+div.form_error label input[type=radio]+label {
    font-size: 1.8em;
    padding: .4em .7em;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

input[type=radio]+label.title {
    font-size: 3.5em
}

input[type=radio]+label svg {
    display: none;
    opacity: 0;
    color: #0085b2
}

input[type=radio]:checked+label svg {
    opacity: 1;
    display: inline-block
}

input[type=file] {
    font-size: 1em
}

input[type=file].valid,
input[type=file]:hover {
    border: none;
    background-color: inherit
}

input[type=radio].valid,
input[type=radio]:hover {
    background: #111;
    border-color: #111
}

input.submit:hover {
    border: none;
    background-color: inherit !important
}

input::-webkit-input-placeholder {
    color: #ccc;
    font-weight: 400 !important;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

input.valid::-webkit-input-placeholder,
input:hover::-webkit-input-placeholder {
    color: #069
}

input:focus::-webkit-input-placeholder {
    color: #f90
}

input.form_error::-webkit-input-placeholder {
    color: #c00
}

textarea::-webkit-input-placeholder {
    color: #ccc;
    font-weight: 400 !important;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

textarea.valid::-webkit-input-placeholder,
textarea:hover::-webkit-input-placeholder {
    color: #069
}

textarea:focus::-webkit-input-placeholder {
    color: #f90
}

textarea.form_error::-webkit-input-placeholder {
    color: #c00
}

input:-moz-placeholder {
    color: #ccc;
    font-weight: 400 !important;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

input.valid:-moz-placeholder,
input:hover:-moz-placeholder {
    color: #069
}

input:focus:-moz-placeholder {
    color: #f90
}

input.form_error:-moz-placeholder {
    color: #c00
}

textarea:-moz-placeholder {
    color: #ccc;
    font-weight: 400 !important;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

textarea.valid:-moz-placeholder,
textarea:hover:-moz-placeholder {
    color: #069
}

textarea:focus:-moz-placeholder {
    color: #f90
}

textarea.form_error:-moz-placeholder {
    color: #c00
}

input:-ms-placeholder {
    color: #ccc;
    font-weight: 400 !important;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

input.valid:-ms-placeholder,
input:hover:-ms-placeholder {
    color: #069
}

input:focus:-ms-placeholder {
    color: #f90
}

input.form_error:-ms-placeholder {
    color: #c00
}

textarea:-ms-placeholder {
    color: #ccc;
    font-weight: 400 !important;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

textarea.valid:-ms-placeholder,
textarea:hover:-ms-placeholder {
    color: #069
}

textarea:focus:-ms-placeholder {
    color: #f90
}

textarea.form_error:-ms-placeholder {
    color: #c00
}

input:-o-placeholder {
    color: #ccc;
    font-weight: 400 !important;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

input.valid:-o-placeholder,
input:hover:-o-placeholder {
    color: #069
}

input:focus:-o-placeholder {
    color: #f90
}

input.form_error:-o-placeholder {
    color: #c00
}

textarea:-o-placeholder {
    color: #ccc;
    font-weight: 400 !important;
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

textarea.valid:-o-placeholder,
textarea:hover:-o-placeholder {
    color: #069
}

textarea:focus:-o-placeholder {
    color: #f90
}

textarea.form_error:-o-placeholder {
    color: #c00
}

input[type=radio] {
    margin: 0 5px;
    position: absolute;
    -webkit-opacity: 0;
    opacity: 0
}

input[type=radio]+div.form_error+label,
input[type=radio]+label {
    padding: 5px 50px 5px 5px;
    line-height: 20px;
    cursor: pointer
}

@media(max-width:768px) {
    input[type=radio]+label.title {
        font-size: 2em
    }

    input[type=radio]+div.form_error+label,
    input[type=radio]+label {
        padding: 5px 10px 5px 5px
    }
}

input[type=radio]+div.form_error+label::before,
input[type=radio]+label::before {
    content: '';
    background: #fff;
    border-radius: 100%;
    border: 1px solid #b4b4b4;
    display: inline-block;
    width: 10px;
    height: 10px;
    line-height: 10px;
    position: relative;
    top: 0;
    margin-right: 5px;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
    -webkit-transition: .25s ease-in-out;
    transition: .25s ease-in-out
}

.form_table .bank input[type=radio]:checked+label::before,
input[type=radio]:checked+div.form_error+label::before,
input[type=radio]:checked+label::before {
    background-color: #73bdff;
    box-shadow: inset 0 0 0 2px #f9f9f9
}

input[type=radio]:focus+div.form_error+label::before,
input[type=radio]:focus+label::before {
    outline: 0;
    background-color: #73bdff
}

input[type=radio]:disabled+div.form_error+label::before,
input[type=radio]:disabled+label::before {
    box-shadow: inset 0 0 0 2px #f9f9f9;
    border-color: #b4b4b4;
    background: #b4b4b4
}

input[type=radio]+div.form_error+label:empty::before,
input[type=radio]+label:empty::before {
    margin-right: 0
}

input[type=checkbox]:checked+div.form_error+label,
input[type=checkbox]:checked+label,
input[type=radio]:checked+div.form_error+label,
input[type=radio]:checked+label {
    color: #0085b2;
    text-shadow: none;
    -webkit-text-shadow: none
}

body.form .breadcrumb {
    background: #eef3f5
}

body.form .logo_area {
    background: #eef3f5;
    padding-top: 1.5em
}

body.form .logo_area .logo {
    width: 210px
}

body.form .bgLightgray {
    padding: 3em 0 5em
}

body.form h1,
body.specialplan.check h1 {
    font-size: 2.5em;
    font-weight: 900;
    text-align: center;
    margin: -.3em 0 1.2em
}

body.form ul.form_menu {
    margin-top: 1.5em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%
}

body.form input[type=text],
body.form input[type=tel],
body.form input[type=mail],
body.form select {
    background-color: #f9f9f9;
    padding: .3em .5em;
    width: 60%;
    font-family: 'Noto Sans JP', 'ヒラ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif
}

body.form ul.form_menu li {
    padding: 0 1em
}

body.form ul.form_menu li a {
    color: #00f;
    text-decoration: underline
}

body.form ul.form_menu li a:hover {
    text-decoration: none
}

body.form input[type=text],
body.form input[type=tel],
body.form input[type=mail] {
    border: 1px solid #8e8e8e !important;
    margin: 0 .5em 0 0;
    font-size: 18px
}

body.form select {
    font-size: 18px;
    border-radius: 5px;
    border: 1px solid #8e8e8e;
    margin: .5em 0
}

.form_wrapper .arbitrary,
.form_wrapper .required {
    font-size: 12px;
    padding: .1em .5em;
    border-radius: 5px;
    font-weight: 500 !important;
    color: #fff;
    margin-right: .5em
}

.form_box {
    box-shadow: rgba(0, 0, 0, .1) 0 0 10px;
    background: #fff;
    border-radius: 15px;
    padding: 5em 5em 4em;
    margin: 0
}

.form_wrapper {
    width: 90%;
    margin: 0 auto
}

.form_wrapper .required {
    background-color: red
}

.form_wrapper .arbitrary {
    background-color: #151515
}

.form_wrapper .formhead {
    font-size: 22px;
    font-weight: 700;
    background: #1142c7;
    color: #fff;
    padding: .5em 1em;
    margin-top: 3em;
    margin-bottom: 0;
    text-align: left
}

.form_wrapper p.attention {
    color: red;
    font-size: 13px !important;
    font-weight: 400;
    margin-top: 0 !important
}

.form_wrapper p.attention.paddingleft {
    padding-left: 2em
}

.form_wrapper .gifttype {
    background: #fff;
    margin-top: -.5em;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 100%
}

.form_wrapper .giftlabel {
    background: #fff;
    outline: #8e8e8e solid 1px;
    outline-offset: -1px;
    padding: 1em;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 31%;
    border-radius: 10px
}

.form_wrapper .giftlabel img {
    width: 40px
}

.form_wrapper .giftlabel .giftbrand {
    font-size: 15px;
    flex: 1;
    text-align: center
}

.form_wrapper .gifttype label:before,
.selector-hide {
    display: none !important
}

.form_wrapper .radiobutton:checked+label {
    background-color: #fff5f3 !important;
    color: #000 !important;
    outline: #ff0000 solid 2px !important;
    outline-offset: -2px
}

.times .Radio {
    padding: 2em 0 2.5em;
    font-size: 1.2em
}

.times .Radio input {
    height: 60px
}

.form_table .bank label:before,
.form_table label:before,
.times .Radio label:before {
    width: 15px;
    height: 15px;
    line-height: 15px;
    margin-right: .5em;
    border: 1px solid #8e8e8e;
    background-color: #f9f9f9;
    margin-bottom: .1em
}

.form_table {
    font-size: 18px;
    font-weight: 700;
    margin: 1em auto 0;
    position: relative;
    table-layout: fixed;
    width: 100%
}

.form_table th {
    padding: 1em 0;
    text-align: left;
    width: 40%
}

.form_table td {
    text-align: left;
    position: relative;
    width: 60%
}

.form_table span.yen {
    font-weight: 400;
    color: #868686
}

.form_table td.typeselect option {
    text-align: left
}

.form_table td.typeselect:after {
    content: '';
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(50% - .5em);
    right: 40%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background-image: url(../img/select_allow.png)
}

.form_table .bank label,
.form_table label {
    font-size: 1em;
    font-weight: 400;
    margin-right: .5em;
    vertical-align: middle
}

.form_gift_head {
    font-size: 18px;
    font-weight: 700
}

table.number_table {
    font-size: 18px;
    margin: 1em auto 0;
    position: relative;
    width: 100%;
    text-align: center;
    color: #868686
}

.number_table tr:first-child {
    background: #868686;
    color: #fff
}

.number_table th {
    font-weight: 400 !important;
    padding: .3em;
    border: 3px solid #fff
}

.number_table td {
    padding: 1em 0;
    font-size: 16px
}

@media(min-width:768px) {
    .number_table td input {
        margin-left: .5em !important
    }
}

.form_wrapper .plusbtn {
    text-align: right;
    cursor: pointer;
    margin: 0 auto 2.5em
}

.form_wrapper .plusbtn span {
    font-size: 16px;
    color: #1142c7;
    padding: .3em .5em .3em 1.25em;
    position: relative
}

.form_wrapper .plusbtn span:before {
    content: "";
    width: 15px;
    height: 15px;
    background: url(../img/contents/plus.png) 0 0/contain no-repeat;
    position: absolute;
    top: 55%;
    left: 0;
    transform: translateY(-55%);
    -webkit-transform: translateY(-55%);
    -ms-transform: translateY(-55%)
}

.form_wrapper .result {
    background: #fffae3;
    font-size: 1.5em;
    text-align: center;
    font-weight: 700;
    padding: .3em 0;
    margin-bottom: 3em
}

.form_wrapper .result span {
    color: red;
    padding: 0 .5em 0 1em
}

.form_table .file {
    font-weight: 400;
    font-size: .8em;
    vertical-align: top
}

.form_table td.file {
    line-height: 3.5
}

.form_table .file label>input {
    display: none
}

.form_table .file label {
    color: #000;
    background-color: #fff;
    padding: .3em 1.5em;
    border-radius: 5px;
    margin: .5em 1em 2em 0;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .5);
    box-shadow: 0 0 5px rgba(0, 0, 0, .5);
    -webkit-transition: .2s ease-in-out;
    transition: .2s ease-in-out
}

.form_table .file label:hover {
    background-color: #f9f9f9
}

@media(max-width:479px) {
    .form_table .file label {
        -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .4);
        box-shadow: 0 0 5px rgba(0, 0, 0, .4)
    }
}

.form_table td.file input {
    border: none;
    padding: 0;
    margin: 0;
    font-size: .8em;
    border-radius: 0;
    height: auto;
    width: auto;
    background-color: #fff
}

@media(max-width:1000px) {
    .times .Radio {
        padding: 2em 0 2.5em;
        font-size: 1.2em
    }

    .times .Radio input {
        height: 60px
    }

    .form_table td.Radio input {
        display: inline-flex
    }

    .form_table td.Radio,
    .form_table td.bank {
        margin-left: 1em
    }
}

@media screen and (min-width:768px) and (max-width:1000px) {

    body.form input[type=text],
    body.form input[type=tel],
    body.form input[type=mail],
    body.form select {
        width: 80%;
        font-size: 1em !important
    }

    .form_box {
        padding: 4em 3em 2em
    }

    .form_wrapper {
        width: 100%
    }

    .form_wrapper .formhead {
        font-size: 2.9vw;
        padding: .5em 1em;
        margin-top: 2em
    }

    .form_wrapper .gifttype {
        padding: 0;
        margin-bottom: 0
    }

    .form_wrapper .giftlabel .giftbrand {
        font-size: 14px
    }

    .form_table td,
    .form_table th {
        width: 50%
    }

    .form_table td.typeselect:after {
        right: 20%;
        top: calc(50% - .4em);
        width: 15px;
        height: 15px
    }

    .form_table td.file {
        margin-left: 1em
    }

    .form_table td.bank {
        margin-left: 2.5em
    }
}

.form_wrapper .request_form textarea {
    margin: 0;
    width: 100%;
    height: 150px;
    font-size: 1em;
    border-radius: 5px;
    padding: .5em;
    resize: none;
    font-family: 'Noto Sans JP', 'ヒラ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    border: 1px solid #8e8e8e
}

.form_btn,
body.check .back_btn {
    color: #fff;
    border-radius: 50px;
    padding: 1em 0;
    cursor: pointer
}

@media screen and (min-width:501px) and (max-width:1000px) {
    .form_wrapper .request_form textarea {
        font-size: 1.2em !important;
        height: 150px
    }
}

@media(max-width:500px) {
    .form_table label {
        font-size: .9em
    }

    .form_wrapper .request_form textarea {
        font-size: 16px !important;
        height: 120px
    }
}

.form_btn {
    background-color: #d31830;
    font-family: 'Noto Sans JP', 'ヒラ角ゴ Pro W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
    display: block;
    margin: 2em auto 0;
    font-size: 20px;
    width: 55%;
    border-width: 0 !important;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

.form_btn:hover,
body.check .back_btn:hover {
    opacity: .7
}

body.check table {
    width: 100%;
    table-layout: fixed
}

body.check table td {
    padding: .5em 0
}

body.check table td.cf_head {
    color: #1142c7;
    background: rgba(17, 66, 199, .1);
    font-size: 22px;
    font-weight: 700;
    padding: .5em 1em
}

body.check table td.cf {
    font-size: 20px;
    padding: 1.2em 0;
    font-weight: 700
}

body.check table td.cf span {
    padding-left: 1em
}

body.check table td.cf img {
    margin: 0 .5em;
    max-width: 40%
}

body.check table td.cf table.inner {
    font-size: 1em;
    width: 100%;
    table-layout: fixed
}

body.check table td.cf table.inner th {
    width: 40%;
    font-weight: 500
}

body.check table td.cf table.inner td {
    border-bottom: none;
    width: 60%;
    font-weight: 700
}

body.check .back_btn {
    background-color: #868686;
    width: 30%;
    text-align: center;
    font-size: 18px;
    margin-top: 2em;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out
}

@media screen and (min-width:501px) and (max-width:1000px) {

    body.check table td.cf table.inner td,
    body.check table td.cf table.inner th {
        width: 50%
    }
}

body.thanks h1 {
    text-align: center;
    font-size: 30px !important
}

@media screen and (min-width:768px) and (max-width:912px) {
    body.thanks .footerFixed {
        min-height: 100vh;
        position: relative;
        box-sizing: border-box
    }

    body.thanks footer {
        position: absolute;
        bottom: 0
    }

    body.thanks .bgLightgray {
        min-height: 80vh
    }
}

body.specialplan.index h1 {
    font-size: 12px;
    font-weight: 400;
    text-align: left;
    margin: 0
}

body.specialplan .form_box {
    padding: 5em
}

body.specialplan .specialplan_alert {
    color: red;
    font-size: 14px !important;
    font-weight: 400;
    margin-top: 0 !important
}

body.specialplan .specialplan_terms {
    max-height: 25rem;
    padding: 1.5em;
    margin-top: 1.5em;
    overflow-y: scroll;
    border: 1px solid #8e8e8e;
    font-weight: 400
}

body.specialplan .specialplan_terms .terms_head {
    font-weight: 700;
    font-size: 18px;
    margin: 0 0 1em;
    text-align: center
}

body.specialplan .specialplan_terms .terms_head_mini {
    font-weight: 700;
    font-size: 16px;
    margin: 1em 0 .5em
}

body.specialplan .specialplan_terms .terms_head_bold {
    font-weight: 700;
    font-size: 14px;
    margin-top: 1em
}

body.specialplan .specialplan_terms p {
    line-height: 1.4 !important;
    font-size: 14px !important;
    margin: .5em 0 !important
}

body.specialplan ul.terms li {
    display: inline-flex;
    justify-content: flex-start;
    padding: .2em 0;
    width: 100%;
    line-height: 1.4 !important;
    font-size: 14px !important
}

body.specialplan ul.terms li span:first-child {
    width: 4%
}

body.specialplan ul.terms li span:nth-child(2) {
    width: 96%
}

body.specialplan input[type=checkbox] {
    margin-right: .5em
}

body.specialplan td.check {
    font-weight: 400;
    font-size: 18px !important;
    padding: .5em 0 1em
}

body.specialplan td.center {
    text-align: center
}

@media (max-width:767px) {
    body.specialplan .sectionHead {
        font-size: 2em;
        letter-spacing: 4px;
        margin-bottom: .2em
    }

    body.specialplan .form_box {
        padding: 3em 1em 2em
    }

    body.specialplan.index .form_box {
        padding: 1em 1em 1.5em
    }

    body.specialplan input[type=text],
    body.specialplan input[type=tel],
    body.specialplan input[type=mail],
    body.specialplan ul.terms li span:nth-child(2) {
        width: 90%
    }

    body.specialplan .form_table th {
        font-size: 16px
    }

    body.specialplan .form_table tr.bankinfo th {
        width: 100%
    }

    body.specialplan .form_table tr th.contents {
        display: contents
    }

    body.specialplan td.check {
        font-size: 16px !important;
        padding: 1em 0 1.5em
    }

    body.specialplan .specialplan_terms {
        max-height: 20rem;
        padding: 1em .8em;
        margin-top: 1em
    }

    body.specialplan .specialplan_terms p {
        font-size: 13px !important;
        line-height: 1.5 !important
    }

    body.specialplan ul.terms li {
        font-size: 13px !important
    }

    body.specialplan ul.terms li span:first-child {
        width: 10%
    }

    body.specialplan .specialplan_alert {
        font-size: 12px !important;
        line-height: 1.5 !important;
        margin-bottom: .5em !important
    }

    body.specialplan .form_wrapper .request_form textarea {
        font-size: 16px !important;
        margin-bottom: 1em
    }
}

body.specialplan.thanks h1 {
    text-align: center;
    font-size: 30px !important;
    margin-top: 1em
}

@media(max-width:767px) {
    select {
        padding: 10px;
        margin: 5px 0;
        font-size: 1.2em;
        border-width: 3px;
        width: auto
    }

    input:focus,
    input:hover,
    select:focus,
    select:hover,
    textarea:focus,
    textarea:hover {
        border-width: 3px
    }

    body.form h1,
    body.form h2 {
        font-size: 24px
    }

    .form_table td p.attention.paddingleft,
    body.form .logo_area {
        padding-top: 1em
    }

    body.form .logo_area .logo {
        width: 140px
    }

    body.form .bgLightgray {
        padding: 1.5em 0 3em
    }

    body.form h1 {
        line-height: 1.3
    }

    body.form ul.form_menu li {
        padding: 0 .5em;
        font-size: 14px
    }

    body.form input[type=text],
    body.form input[type=tel],
    body.form input[type=mail],
    body.form select {
        width: 80%;
        font-size: 16px !important;
        padding: .2em .4em
    }

    .form_box {
        padding: 3em .7em 2em
    }

    .form_table tr.bankinfo td input[type=text],
    .form_table tr.bankinfo td input[type=tel],
    .form_table tr.bankinfo td input[type=mail],
    .form_wrapper {
        width: 100%
    }

    .form_wrapper .formhead {
        font-size: 18px;
        margin-top: 2.5em;
        padding: .3em .5em
    }

    .form_wrapper .arbitrary,
    .form_wrapper .required {
        font-size: 11px
    }

    .form_wrapper p.attention {
        font-size: 12px !important
    }

    .form_wrapper p.attention.paddingleft {
        padding-left: 0
    }

    .form_wrapper .gifttype {
        padding: 0;
        margin-bottom: 0
    }

    .form_wrapper .giftlabel {
        flex-direction: column;
        padding: .7em .5em .5em
    }

    .form_wrapper .giftlabel .giftbrand {
        font-size: 13px;
        margin-top: .5em
    }

    .form_table {
        margin: 0 auto 1em
    }

    .form_table th {
        display: block;
        padding: 1.5em 0 .5em;
        width: 100%;
        font-size: 16px;
        display: inline-flex;
        align-items: center
    }

    .form_table th.paddingtop {
        padding-top: 0 !important
    }

    .form_table tr.mail td input {
        width: 97%
    }

    .form_table tr.bankinfo th {
        width: 45%;
        display: inline-flex;
        padding: .8em 0
    }

    .form_table tr.bankinfo td {
        width: 55%;
        display: inline-flex
    }

    .form_table tr.bankinfo td.bank {
        margin-left: 0 !important
    }

    .form_table td {
        display: block;
        width: 100%
    }

    .form_table td.typeselect:after {
        right: 20%;
        top: calc(50% - .5em);
        width: 20px;
        height: 20px
    }

    .form_table span.yen {
        font-size: 16px
    }

    .form_wrapper .plusbtn span,
    table.number_table {
        font-size: 14px
    }

    .number_table th:first-child {
        width: 60%
    }

    .number_table td {
        font-size: 13px;
        padding: .5em 0
    }

    .number_table td input {
        margin-left: .3em !important;
        margin-right: .3em !important;
        width: 95% !important;
        text-align: left !important
    }

    .number_table td:nth-child(2) input {
        width: 70% !important
    }

    .form_wrapper .plusbtn span:before {
        width: 15px;
        height: 15px;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%)
    }

    .form_table td.file {
        margin-left: 1em
    }

    .form_table td.bank {
        margin-left: .5em;
        font-size: 15px
    }

    .form_btn {
        width: 90%;
        padding: 1em 0;
        margin: 2em auto 1.5em;
        font-size: 16px
    }

    body.check table td.cf_head {
        font-size: 18px;
        padding: .5em 1em
    }

    body.check table td.cf {
        font-size: 16px;
        padding: 1em 0
    }

    body.check table td.cf table.inner td,
    body.check table td.cf table.inner th {
        padding: .5em;
        width: 50%;
        font-size: 14px
    }

    body.check .back_btn {
        width: 40%;
        font-size: 16px
    }

    body.specialplan.thanks h1,
    body.thanks h1 {
        font-size: 22px !important
    }

    body.thanks .inner_link a {
        width: 70%
    }

    body.specialplan.check h1 {
        font-size: 24px;
        line-height: 1.3
    }

    body.specialplan h1.bottom {
        margin-bottom: .3em
    }
}

body.specialplan.thanks .page_wrap {
    display: flex;
    flex-direction: column;
    min-height: 100vh
}

body.specialplan.thanks main {
    flex: 1;
    overflow-x: hidden;
    background: #eef3f5
}

.app__gift-total {
    margin-top: 1em;
    text-align: center;
    background-color: #e9e9e9;
}

#kankin_area>p {
    text-align: center;
}

.-sm {
    font-weight: 700;
}

#kankin {
    font-weight: 700;
    color: #868686;
}

.radio_identification2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 10px;
    margin-right: 35px;
}

.radio_identification2 li {
    display: flex;
    align-items: center;
}

input[type=radio].idf2 {
	display: none;
}

input[type=radio].idf2 + label {
    font-size: 18px;
    font-weight: bold;
    position: relative;
    display: block;
    border: 1px solid #000;
    border-radius: 10px;
    padding: 15px 0px 15px 40px;
    width: 100%;
}

input[type=radio].idf2+ label::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 5px);
    left: 15px;
    width: 10px;
    height: 10px;
    border: 1px solid #000;
    background: #fff;
    border-radius: 50%;
}


input[type=radio].idf2:checked + label {
    background: #f7e2c4;
}

input[type=radio].idf2:checked + label::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 1px);
    left: 19px;
    width: 4px;
    height: 4px;
    background: #000;
    border-radius: 50%;
    color: #000;
}
