a{
    text-decoration: none;
}
a:hover,.base-btn:hover,.border-btn:hover{
    opacity: 0.7;
}
button{
    background: none;
    border: none;
    cursor: pointer;
    font-weight: 600;
}
ul{
    list-style: none;
    margin: 0;
    padding:0;
}
.wrap{
    width: 100%;
    overflow-x: hidden;
    padding-top: 30px;
}
img{
    width: 100%;
    vertical-align: top;
}
section{
    padding: 60px 0;
}
input:focus,select:focus{
    outline: 2px solid #3399FF;
    border: 1px solid #fff!important;
}
.padding-fix section{
    padding: 30px 0;
}
.contents,.header__inner,.footer__inner{
    max-width: 1166px;
    width: calc(100% - 8rem);
    margin: 0 auto;
}
.flex{
    display: flex;
    justify-content: center;
}
.flex.col-2 .flex_box{
    width: 48%;
}
.align-base{
    align-items: baseline;
}
.flex.flex-between{
    justify-content: space-between;
}
.flex.flex-evenly{
    justify-content: space-evenly;
}
.flex_wrap{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.relative{
    position:relative;
}
.center {
    text-align: center;
}
.right{
    text-align: right;
}
.f-weight6{
    font-weight: 600;
}
.f-weight5{
    font-weight: 500;
}

.f-weight4{
    font-weight: 400;
}

.f_small{
    font-size: 1.4rem;
}
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}
.red-box{
    background: #FFDBDB;
    color: #FF1919;
    padding: 1.5rem 2rem;
    margin: auto;
    border-radius: 4px;
}

.red-box p{
    margin: 0;
}
.red-box .mb_20{
    margin-bottom: 2rem;
}
.annotation{
    font-size: 13px;
}
.list{
    list-style: disc;
    list-style-position: inside;
}
.section_bar {
    height: 10px;
    background-color: var(--blue);
    border: none;
    margin: 0;
}
@media (max-width: 900px) {
    .contents,.header__inner,.footer__inner{
        max-width: 90%;
        width: 90%;
        margin: 0 auto;
    }
}
@media (max-width: 600px) {
    section {
        padding: 7rem 0;
    }
    .contents {
        max-width: 100%;
        width: 90%;
        margin: 0 auto;
    }
    .flex {
        display: block;
    }
    .flex.btn-2col{
        display: flex;
        width: 100%;
    }
    .product_rate .flex.btn-2col{
        display: block;
        width: 100%;
    }
    .flex.col-2 .flex_box{
        width: 100%;
        margin-bottom: 20px;
    }
    .product_rate .flex.col-2 .flex_box{
        margin-bottom: 60px;
    }
    .product_rate .base-btn:last-of-type{
        margin-top: 20px;
    }
    .flex.sp_flex{
        display: flex;
    }

}

.w85p{
    width: 85%;
    margin: auto;
}
.w100p{
    width: 100%;
    margin: auto;
}
.w50p{
    width: 50%;
    margin: auto;
}
.mt_20{
    margin-top: 20px;
}
.mt_40{
    margin-top: 40px;
}
.mt_80{
    margin-top: 8rem;
}
.mb_40{
    margin-bottom: 40px;
}
.mb_100{
    margin-bottom: 100px;
}
.mr_20{
    margin-right: 20px;
}
.ml_20{
    margin-left: 20px;
}
.mb_20{
    margin-bottom: 20px;
}
.mb_0{
    margin-bottom: 0;
}
.fs_13{
    font-size: 1.3rem;
}
.fs_14{
    font-size: 1.4rem;
}
.fs_16{
    font-size: 1.6rem;
}
.fs_20{
    font-size: 2rem;
}
.fs_30{
    font-size: 3rem;
}
.fs_40{
    font-size: 4rem;
}
/*----------------------------------ボタン*/
.border-btn{
    border: 2px solid var(--blue);
    line-height: 1;
}
.border-btn *{
    color: var(--blue);
    display: inline;
    vertical-align: middle;
}
.border-btn a {
    line-height: 1;
}
.fa-chevron-right {
    font-family: "Font Awesome 5 Free";
    margin: 0 0 0 7px;
    line-height: 0;
    vertical-align: baseline;
    font-size: 1.4rem;
}

.base-btn{
    background: #F47A00;
    color: #ffffff;
    border-radius: 5rem;
    font-weight: 600;
    max-width: 500px;
    width: fit-content;
    box-shadow: 0 5px #C36200;
    margin: auto;
    cursor: pointer;
}
.base-btn.yellow-btn{
    background: var(--yellow);
    box-shadow: 0 5px #fc9430;
}
.base-btn a{
    text-align: center;
    padding: 10px 20px;
}
.base-btn a,.border-btn a,.base-btn button{
    width: 100%;
    display: block;
    box-sizing: border-box;
    letter-spacing: 0.05em;
}
.border-btn a {
    padding: 1rem 2.5rem;
    font-size: 1.6rem;
}
.base-btn a,.base-btn .fa-chevron-right,.base-btn button{
    color: #ffffff;
    font-size: 2.4rem;
}
.base-btn .fa-chevron-right {
    font-size: 1.7rem;
    vertical-align: middle;
}
.base-btn.disable{
    background: gray;
    cursor: none;
    pointer-events: none;
    box-shadow: 0 5px #4d4d4d;
}
.btn_shop{
    border-top: 1px solid gray;
    border-bottom: 1px solid gray;
    width: 20%;
    margin: 91px auto 0;
}
.flex.btn-2col{
    justify-content: space-between;
    width: 50%;
    margin: 40px auto;
}
.flex.btn-2col btn:first-of-type{
    margin-right: 20px;
}
pre.warning_msg, div.warn {
    color: #F04457;
    margin-bottom: 10px;
    font-size: 1.4rem;
}







/* メールアクティベート */
table tr th, table tr td {
    font-size: 1.6rem;
    padding: 1rem 0.75rem;
    color: #6D4022;
    font-weight: normal;
    border-bottom: 1px solid #ebebeb;
}

input[type='text'], input[type='tel'], input[type='email'], input[type='url'], select {
    width: calc(80% - 2px);
    border: 1px solid gray;
    margin: 0;
    line-height: 1.5rem;
    border-radius: 4px;
    padding: 0 10px;
    font-size: 1.6rem;
    height: 40px;
}

.form-title {
    color: #6D4022;
    text-align: center;
    font-weight: normal;
    font-size: 3rem;
    border-top: 1px solid;
    border-bottom: 1px solid;
    margin-top: 50px;
}

#yu .bg-gray {
    background-color: #f5f5f5;
    width: 70%;
    margin: 6rem auto;
    padding: 3rem;
    border-radius: 4px;
}

#yu input {
    box-sizing: border-box;
    margin-bottom: 0.3em;
    border: 2px solid #cdcbcb;
}

#yu select {
    font-size: 14px;
    padding: 10px 10px;
    width: 100%;
    min-width: 90px;
    border-radius: 5px;
    border: 2px solid #cdcbcb;
    margin: 10px 0;
}

#yu .bold {
    font-weight: bold;
}

.text-center {
    text-align: center !important;
}

#yu .hissu2,
#yu .ninni2 {
    font-size: 1.6rem;
}

#yu .hissu2::after {
    content: "必須";
    font-size: 10px;
    background-color: rgb(255, 192, 203);
    color: red;
    padding: 2px;
    margin: 0 2px;
    white-space: nowrap;
}

#yu .top-code {
    max-width: 1000px;
    height: unset;
    margin: 0 auto 2rem;
}

#yu .code_exp {
    margin: 2rem auto;
}

#yu .form1 {
    max-width: 1000px;
    width: 100%;
}

#yu input[type="text"].code-input {
    width: 10em;
}

#yu .border {
    margin: 0;
}

.warning_msg.fs_20 {
    font-size: 2rem;
}

.warning_msg {
    color: red;
    font-weight: bold;
    margin-top: 10px;
    font-size: 1.4rem;
}

#registform .base-btn {
    font-size: 2rem;
    padding: 0.5rem 3rem;
}


.form-btn {
    margin-top: 20px;
    display: block;
    font-size: 2rem;
    padding: 0.5rem 3rem;
}

.top_title.mt_80 {
    margin-top: 8rem;
}

.top_title {
    margin: 30px auto 30px 0;
    font-size: 2rem;
    border-bottom: 1px solid #6D4022;
    text-align: center;
    padding: 0 0 10px 0;
    color: #6D4022;
    font-weight: 500;
}

#yu .top_title {
    border-bottom: none;
}

.contents {
    width: 75%;
}

#yu .user_top_txt {
    max-width: 600px;
    width: 90%;
    font-size: 1.6rem;
    margin: 40px auto;
    color: var(--text-black);
}

#yu .form-base {
    max-width: 600px;
    width: 90%;
    margin-bottom: 15px;
}

#yu .long-form {
    max-width: 600px;
    width: 100%;
}

#mailapplyview .long-form, #mailresendview .long-form {
    margin-bottom: 20px;
    width: 100%;
    box-sizing: border-box;
}

.list_num {
    list-style: decimal;
    list-style-position: outside;
}

#mailresendview .list_num {
    background-color: #f5f5f5;
    padding: 3rem 5rem;
    border-radius: 4px;
    margin-top: 2rem;
    font-weight: 500;
}

#mailresendview .list_num li {
    margin-bottom: 1.5rem;
}

#mailresendview .change_mailaddress {
    max-width: 600px;
    width: 90%;
    margin: auto;
    font-size: 1.6rem;
}

#mailresendview .change_mailaddress h3 {
    background: #439cce;
    padding: 0.5rem;
    font-size: 1.6rem;
    color: #fff;
}

.resendmail_warn {
    font-size: 1.6rem;
    font-weight: 600;
    color: red;
}

#yu .koukan_shinsei_table {
    border-collapse: collapse;
    margin: 0 auto;
    text-indent: initial;
    border-spacing: 0.5em 0;
    width: 100%;
}

#yu .koukan_shinsei_table tr td {
    vertical-align: inherit;
}

.koukan_shinsei_table tr th, .koukan_shinsei_table tr td {
    border-bottom: none;
}

@media screen and (max-width: 767px) {
    #yu p {
        margin-block-start: 0.5em;
        margin-block-end: 0.5em;
    }

    #yu .koukan_shinsei_table {
        width: 100%;
        border-collapse: collapse;
        margin: 0 auto;
    }

    #yu .koukan_shinsei_table tr th, .koukan_shinsei_table tr td {
        display: block;
        padding: 0;
        width: 100%;
        font-size: 1.5rem;
    }

    .form-title {
        font-size: 2.4rem;
        margin-top: 0;
    }
}

@media screen and (max-width: 700px) {
    .top-code {
        width: 90%;
    }

    #yu #registform .form1 input[type="text"].code-input {
        width: 29% !important;
    }

    .form-btn {
        box-sizing: border-box;
        width: 100%;
    }

    .top_title.mt_80 {
        margin-top: 4rem;
        padding-bottom: 0;
    }

    .contents {
        width: 90%;
    }
}

@media screen and (max-width: 600px) {
    #yu .bg-gray {
        width: initial;
    }

    .koukan_shinsei_table tr th, .koukan_shinsei_table tr td, .questionnaire tr th {
        padding: 0.1rem 0.35rem;
    }
}




/* 利用規約 */
#privacypolicy {
    background: #eeeeee;
    padding: 6%;
    height: 450px;
    overflow-y: scroll;
    font-size: 1.4rem;
}

#privacypolicy h3 {
    font-size: 2rem;
    text-align: center;
}

#privacypolicy h4 {
    margin: 2rem 0 1rem;
}

#privacypolicy p {
    font-size: inherit;
}

#privacypolicy table {
    border-collapse: collapse;
    margin-left: 2rem;
    width: calc(100% - 3rem);
}

#privacypolicy caption {
    text-align: left;
}

#privacypolicy td,
#privacypolicy th {
    font-size: inherit;
    color: inherit;
    border: 1px solid silver;
    line-height: 2rem;
    padding: 1rem;
}

#privacypolicy th {
    width: 20%;
    text-align: center;
}

#privacypolicy ul {
    list-style: disc;
    margin-left: 3rem;
}

#privacypolicy .w5rem {
    width: 5rem;
}

dl.ag_line,
dl.ag_bracket_num {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
}

dl.ag_line dt {
    width: 5rem;
    text-align: center;
}

dl.ag_line dd {
    width: calc(100% - 5rem);
    margin: 0;
}

dl.ag_bracket_num {
    margin: 0 0 1rem 3rem;
}

dl.ag_bracket_num dt {
    width: 3.5rem;
}

dl.ag_bracket_num dd {
    width: calc(100% - 3.5rem);
    margin: 0;
}

.kiyaku-cover {
    font-size: 1.6rem;
    text-align: center;
}

.tyuuigaki {
    background: #FFF8D8;
    font-size: 1.4rem;
    color: #F04457;
    font-weight: 500;
    padding: 1rem;
}

@media screen and (max-width: 600px) {
    #privacypolicy table {
        margin-left: 0;
        width: 100%;
    }

    #privacypolicy td,
    #privacypolicy th {
        width: auto;
    }

    #privacypolicy th {
        background-color: #ccc;
    }
}

/* 申請フォーム */
.ui-datepicker {
    width: 20em;
}

.birthday_cover {
    display: flex;
    max-width: 350px;
    align-items: center;
}

.name_wrap {
    display: flex;
}

.haihun {
    margin: 5px;
}

#yu .tel, .yubin, .haihun {
    display: inline-block;
}

#yu .haihun::before {
    content: "−";
    font-size: 12px;
    color: black;
    padding: 2px 0;
}

input[type='text'].num {
    width: 100%;
}

.confirm_table {
    margin: 0 auto;
    width: 100%;
}

.confirm_table th {
    font-weight: 600;
    text-align: left;
    width: 35%;
}

.birthday_select_area {
    display: flex;
}

.birthday_select_area span {
    font-size: 14px;
    color: #333;
    margin: 0 10px;
    align-content: center;
}

.select2-container--default .select2-selection--single {
    padding: 5px 3px !important;
    height: auto !important;
    line-height: normal !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 6px !important;
}

.select2-results__options {
    font-size: 1.4rem;
}

@media screen and (max-width: 700px) {
    #regist,
    #confirm_contents {
        width: 100%;
    }

    table tr th, table tr td {
        font-size: 1.0rem;
        display: block;
        width: 94%;
    }

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

    .confirm_table th {
        border-bottom: none;
        width: 100%;
    }

    .confirm_table td {
        font-size: 1.8rem;
    }

    .name_area td {
        display: flex;
        flex-wrap: wrap;
    }

    #yu .tel {
        width: 45%;
    }

    .birthday_cover {
        flex-flow: column;
        align-items: start;
    }

    .birthday_select_area {
        width: 70%;
    }

    .select2-selection__placeholder {
        font-size: 1.4rem;
    }

    .select2-selection__rendered {
        font-size: 1.4rem;
    }
}