@charset "utf-8";
/* CSS Document */

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
準備中
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

#comingsoon .content_wrap_inner {
    max-width: 1000px;
    padding: 4rem 1.6rem 0;
    margin: auto;
}

#comingsoon .content_wrap_inner .comingsoon_wrap {
    padding: 8rem 0 16rem;
    background: rgb(232, 229, 210);
    background: linear-gradient(
        180deg,
        rgba(232, 229, 210, 1) 0%,
        rgba(245, 242, 227, 1) 50%,
        rgba(225, 222, 204, 1) 100%
    );
}

#comingsoon .content_wrap_inner .comingsoon_wrap h1 {
    font-size: 5rem;
    letter-spacing: 0.3em;
    text-align: center;
    line-height: 2;
    margin-bottom: 10rem;
}

#comingsoon .content_wrap_inner .comingsoon_wrap .loto_touka {
    width: 50%;
    margin: auto;
}

@media screen and (max-width: 480px) {
    #comingsoon .content_wrap_inner {
        padding-top: 1rem;
        margin-bottom: 2rem;
    }
    #comingsoon .content_wrap_inner .comingsoon_wrap {
        padding: 6rem 0 12rem;
    }
    #comingsoon .content_wrap_inner .comingsoon_wrap h1 {
        font-size: 2.4rem;
        letter-spacing: 0.2em;
        margin-bottom: 8rem;
    }
    #comingsoon .content_wrap_inner .comingsoon_wrap .loto_touka {
        width: 70%;
    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
404
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

#page_404 .content_wrap_inner {
    max-width: 1000px;
    padding: 10rem 0 6rem;
    margin: auto;
    text-align: center;
}

#page_404 .content_wrap_inner h1 {
    font-size: 4rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    margin-bottom: 1em;
}

#page_404 .content_wrap_inner h1 span {
    font-size: 0.75em;
}

#page_404 .content_wrap_inner p {
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: 0.05em;
    margin: 4rem 0;
}

#page_404 .content_wrap_inner ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 1.8rem;
}

#page_404 .content_wrap_inner ul li {
    padding: 0 1em;
    border-right: 1px solid #ccc;
    line-height: 1.6;
    margin: 1em 0;
}

#page_404 .content_wrap_inner ul li:last-child {
    border-right: none;
}

@media screen and (max-width: 480px) {
    #page_404 .content_wrap_inner {
        padding: 8rem 1rem 6rem;
    }
    #page_404 .content_wrap_inner h1 {
        font-size: 2.4rem;
    }
    #page_404 .content_wrap_inner p {
        font-size: 1.6rem;
    }
    #page_404 .content_wrap_inner ul {
        font-size: 1.6rem;
    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
thanks.html
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

#thanks {
    text-align: center;
}

#thanks .content_wrap_inner {
    padding: 8rem 0;
}

#thanks .content_wrap_inner h1 {
    font-size: 2.8rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
    margin-bottom: 2em;
}

#thanks .content_wrap_inner p {
    font-size: 1.8rem;
    line-height: 1.75;
    margin: 3em 0;
}

@media screen and (max-width: 480px) {
    #thanks .content_wrap_inner {
        padding: 6rem 0;
    }
    #thanks .content_wrap_inner p {
        font-size: 1.6rem;
    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
form
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/
/* リキャプチャのバッヂ */
.grecaptcha-badge {
    visibility: hidden;
}

p.recapcha-text {
    font-size: 1.2rem;
    line-height: 1.5;
    color: #fff;
    margin-top: 2em;
}

.form_wrap .red {
    color: #e73562;
}
.form_wrap .lead_copy {
    font-size: 1.6rem;
    line-height: 1.75;
    text-align: center;
    margin: 2em 0;
    letter-spacing: 0.05em;
    @media screen and (max-width: 480px) {
        font-size: 1.4rem;
    }
}
.form_wrap p.ano {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: 0.5em;
    color: #666;
}

/*-*/

table.form_table {
    width: 100%;
    margin: auto;
    border-top: 1px solid #ccc;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
}

table.form_table th,
table.form_table td {
    border-bottom: 1px solid #ccc;
    padding: 1em;
}

table.form_table th {
    text-align: center;
    vertical-align: middle;
    background: #f3f3f3;
}

table.form_table input[type="text"],
table.form_table input[type="tel"],
table.form_table input[type="email"],
table.form_table textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 1.8rem;
    padding: 0.5em;
    background-color: #fff;
    border: 1px solid #ccc;
    box-sizing: border-box;
    border-radius: 0.2em;
    box-sizing: border-box;
    width: 100%;
}

table.form_table textarea {
    max-width: 100%;
}

table.form_table input[type="text"],
table.form_table input[type="tel"],
table.form_table input[type="email"] {
    max-width: 40rem;
}

table.form_table input.year {
    width: 5em;
}

table.form_table .select_wrap {
    position: relative;
    display: inline-block;
}

table.form_table .select_wrap::after {
    content: "";
    display: block;
    position: absolute;
    width: 0.6rem;
    height: 0.6rem;
    box-sizing: border-box;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    top: 1.5rem;
    right: 1em;
    z-index: 1;
    transform: rotate(135deg);
}

body.b-seminar_confirm table.form_table .select_wrap::after {
    display: none;
}

table.form_table .select_wrap select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-size: 1.8rem;
    padding: 0.5em 2em 0.5em 1em;
    border: 1px solid #999;
    border-radius: 0.2em;
    width: 100%;
    box-sizing: border-box;
}

table.form_table input[type="radio"] {
    -webkit-appearance: radio;
    -moz-appearance: radio;
    appearance: radio;
}

/*ボタン*/

.form_button_wrap {
    text-align: center;
    margin: 8rem auto 0;
    baseline-shift:;
}

.form_button_wrap input[type="submit"],
.form_button_wrap input[type="reset"],
.form_button_wrap button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 24rem;
    margin: 1rem;
    font-size: 2rem;
    padding: 1em 0;
    border-radius: 0.3em;
    cursor: pointer;
    vertical-align: top;
    &:hover {
        background-color: #ccc;
    }
}

@media screen and (max-width: 480px) {
    table.form_table {
        font-size: 1.4rem;
    }
    table.form_table th {
        padding: 0.5em;
    }
    table.form_table td {
        padding: 1em 0;
    }
    .form_title {
        height: auto;
        margin-left: 0.75rem;
    }
    table.form_table .select_wrap select {
        font-size: 1.6rem;
    }
    table.form_table input[type="text"],
    table.form_table input[type="tel"],
    table.form_table input[type="email"] {
        max-width: 100%;
    }
    table.form_table input.year {
        width: 4em;
    }
    /*-*/
    table.form_table {
        display: block;
    }
    table.form_table tbody,
    table.form_table tbody tr {
        display: block;
    }
    table.form_table th,
    table.form_table td {
        display: block;
    }
    .form_button_wrap {
        margin: 3rem auto;
    }
    .form_button_wrap input[type="submit"],
    .form_button_wrap input[type="reset"],
    .form_button_wrap button {
        width: 80%;
        margin: 1.5rem;
        font-size: 2rem;
        padding: 0.8em 0;
    }
    table.form_table th {
        text-align: left;
        vertical-align: auto;
        background: #f3f3f3;
        border-bottom: none;
    }
}

/*〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
各ページタイトル
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓*/

.page_title {
    margin: 6rem auto;
    font-weight: normal;
}

.page_title span.svg_title {
    display: block;
    max-width: 500px;
    width: 70vw;
    margin: 0 auto 2rem;
}

.page_title span.ja_text {
    display: block;
    text-align: center;
    font-size: 3.2rem;
    letter-spacing: 0.1em;
}

.page_title span.sub_titel {
    display: block;
    margin: auto;
}

@media screen and (max-width: 480px) {
    .page_title {
        margin: 3rem auto;
    }
    .page_title span.svg_title {
        display: block;
        margin: 0 auto 1.6rem;
    }
    .page_title span.ja_text {
        font-size: 1.6rem;
    }
}

/* デフォルトの固定ページ */
#content_wrap.default_single_page {
    padding-top: 9.6rem;
    @media screen and (max-width: 480px) {
        padding-top: 4.2rem;
    }
    .entry_content_wrap {
        max-width: 1000px;
        padding: 0 2rem;
        margin: auto;
        hgroup {
            margin: 4rem 0;
            @media screen and (max-width: 480px) {
                margin: 3rem 0;
            }
            h1 {
                font-size: 3.2rem;
                text-align: center;
                letter-spacing: 0.05em;
                @media screen and (max-width: 480px) {
                    font-size: 2rem;
                }
            }
        }
        #the_content {
            font-size: 1.6rem;
            line-height: 1.5;
            @media screen and (max-width: 480px) {
                font-size: 1.4rem;
            }
            p {
                margin: 2em auto;
            }
        }
    }
}
