@import url('https://fonts.googleapis.com/css2?family=Bonheur+Royale&family=Kaisei+Tokumin&family=Noto+Sans+JP:wght@100..900&family=Parisienne&family=Sawarabi+Gothic&family=Shippori+Mincho&display=swap');

body {
  font-family: "Sawarabi Gothic", sans-serif;
  font-style: normal;
}

.text_right {text-align: right;}
.text_left {ext-align: left;}
.flex_1 {flex: 1;}
.flex_2 {flex: 2;}
.bold {font-weight: bold;}
h2 {
    font-family: "Shippori Mincho", serif;
    font-weight: bold;
    font-style: normal;
    font-size: 25px;
    color: #006496;
    line-height: 1.2;
}
h2.white {
    color: white;
}

h2 .caption {
    font-size: 20px;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
    padding-left: 20px;
}

h2.muryo {
    font-size: 30px;
    color: red;
}

.address_flex {
    flex-wrap: wrap;
}

.address_flex .google_map {
    margin-top: 20px;
    width: 100%;
}

.price_table {
    width: 100%;
    border: 1px solid #d9d4cc;
}

.price_table thead tr,
.price_table tbody tr:nth-child(even) {
    background: #f0eeeb;
}

.price_table th,
.price_table td {
    padding: 10px;
    border: 1px solid #d9d4cc;
    text-align: center;
}

.price_info .inners.recruit_txtArea {
    width: 100%;
}

.price_info .m_history .flex {
    width: 100%;
}

.price_info .m_history .flex > p {
    border: 1px solid #b1aeaa;
    background: #e7eaf0;
}

.price_info .m_history .flex > p:nth-child(1) {
    flex: 1;
}
.price_info .m_history .flex > p:nth-child(2) {
    flex: 3;
}

section.footer_snsBox.price_info {
    flex-direction: column;
    padding: 0;
}

section.footer_snsBox.price_info.main_banner {
    margin-top: 80px;
}

.inners.flex.flow {
    gap: 40px;
}

.inners.flex.flow > div {
    flex: 1;
}

.question {
    padding: 20px;
    background: #e1f1ff;
    border-radius: 20px;
    margin-bottom: 20px;
    background-image: url("../img/q.svg");
    background-position: top 5px left 5px;
    background-repeat: no-repeat;
    background-size: 40px;

    animation-name: question;
    animation-delay: 0.3s;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    transform: translateY(-50px);
    opacity: 0;
}

@keyframes question {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

.answer {
    padding: 20px;
    background: white;
    border-radius: 10px;
    margin-top: 5px;
    background-image: url(../img/a.svg);
    background-position: bottom -2px right -4px;
    background-repeat: no-repeat;
    background-size: 46px;
}

.law_title {
    font-size: 20px;
    font-weight: bold;
}

.law_grp {
    padding: 20px 0px;
    border-bottom: 1px solid #d9d4cc;
}

.law_grp:first-child {
    padding-top: 0px;
}

.law_grp:last-child {
    border-bottom: none;
    padding-bottom: 0px;
}

.flow .txt img {
    width: 200px;
}

.banner_grp {
    gap: 20px;
}

.banner_grp > div {
    width: 130px;
}

.banner_grp2 {
    margin-top: 20px;
    gap: 20px;
}

.banner_grp2.banner1.flex.center > div >img {
    height: 58px;
}

.flex.center {
    justify-content: center;
}

th.casual {
    background: #0099CE;
}

th.standard {
    background: #FF972E;
}

th.premium {
    background: #CDA349;
}

.price_table tbody th {
    color: #006496;
}

.jisseki_box {
    text-align: center;
    border: 1px solid lightgray;
    padding: 30px;
    background: lightsteelblue;
}

.jisseki_bottom {
    font-size: 200%;
    color: darkslateblue;
    font-weight: bold;
}

.recruitflex3.recruitflex.jisseki {
    margin-bottom: 80px;
    border-bottom: 1px solid #d9d4cc;
}

.daihyo_name {
    font-size: 30px;
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
    margin-bottom: 20px;
    color: #006496;
}

.daihyo_name .caption {
    font-size: 70%;
}

.footer_name {
    color: #006496;
    font-size: 1.2em;
    font-weight: bold;
}

.event_sliderBx .expl {
    font-size: 14px;
}

.kyocho {
    font-weight: bold;
    color: #700B0D;
    font-size: 1.1rem;
}

footer .address {
    padding-right: 41px;
}

.recruitflex3.recruitflex .caption {
    margin-bottom: 20px;
}

h3 {font-size: 23px;font-weight: 100;margin-top: 50px;position: relative;}
.model_event_list li {border-bottom: 1px dotted #ccc;}

.event_btn {cursor: pointer;transition: all 0.6s ease;padding: 0px 10px;}
.event_btn:hover {background: #eee;}
#event_schedule {padding: 20px;}
input.readonly {background-color: #ddd;pointer-events: none;}
.confirm_page {display: none;}

#shadow_submit_btn {max-width: 320px;cursor: pointer;}
span.wpcf7-spinner {display: block;margin-top: 10px;margin-left: auto;margin-right: auto;}
span.wpcf7-spinner::before {left: 50%;transform: translateX(-50%);}

h4 {font-size: 110%;font-weight: 100;}
.caution {margin-top:1em;text-align: left;}

.caution table {width: 100%;}
.caution table th, .caution table td {border: 1px #bbb solid;padding: 10px;}
.caution table tr:nth-child(2n) {background: #ddd;}
.reserve_btn_grp {text-align: center;margin-top: 30px;margin-bottom: 30px;}

#select_model {margin-bottom: 1.5em;}
#edit_form {display: inline-block;}

#edit_form,
.to-regist-button,
.submit_button,
input[type="button"] {cursor: pointer;transition: all 0.6s ease;}

#edit_form,
.to-regist-button,
.submit_button,
input[type="button"]:hover {opacity: 0.7; cursor: pointer;}

#login {}
#login .toiflex +.toiflex { margin-top:1em;}
#login .toiflex label {font-size: 80%;}
.time-box span.maru_reserve { font-size: 86%; }

.status {font-size: 90%;color: #f15151;}
.to-regist-button,
#login_regist_modal .submit_button {
-moz-appearance: none;
appearance: none;
-webkit-border-radius: 0;
-webkit-appearance: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
border: 0px;
background: #919fae;
color: #FFF;
border-radius: 999px;
margin: auto;
padding: .5em .5em;
width: 100%;
display: block;
font-size: 100%;
}

#edit_form,
#login_regist_modal input[type="button"] {border: 0px;background: #b18694;color: #FFF;border-radius: 999px;font-size: 120%;margin: auto;width: 100%;padding: .5em .5em;}

#login_regist_modal input[type="password"],
#login_regist_modal input[type="text"] {width: 100%;border: 1px solid #dfdfdf;background: #f5f5f5;-webkit-appearance: none;
padding: .5em 1em;font-size: 100%;border-radius: .4em;}
#login_regist_modal .title {font-size: 130%;font-weight: bold;text-align: center;}

.forget_pw{margin-bottom: 1.5em;margin-top: .2em;text-align: center;
font-size: 90%;text-decoration: underline;}

.add-cart-button.disable {pointer-events: none;}
#login_regist_modal {display: none;}
.maru_reserve {cursor: pointer;}

/* モーダル関連 */
.modal_wrap { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background: rgba(255, 255, 255, 0.7); z-index: 100;}
.modal_inner { position: absolute; top: 50%; left: 50%;
 transform: translate(-50%, -50%); background: #fff; padding: 30px; border: 1px solid #d9d4cc; width: 660px; max-width: 660px;}
#close_modal_btn {transition: transform 0.8s cubic-bezier(0.45, 0.12, 0.04, 0.96);-webkit-transition: all 0.5s ease-in-out;transition: all 0.5s ease-in-out;position: absolute;top: 6px;right: 8px;font-size: 200%;text-align: center;line-height: 1;padding: .1em;cursor: pointer;background: #222222;color: #FFF;}
#close_modal_btn:hover{ opacity:.8;}
#regist_section { padding-right: 4%; margin-right: 4%; border-right: 1px solid #d9d4cc; position: relative;}
#regist_section .text_center { position:absolute; bottom:0; width:92%;}
.regist_explanation {margin-bottom: 1.5em;margin-top: 1em;font-size: 90%;text-align: left;}

.text_center {text-align: center;}
.modal_inner > .flex_normal {margin-bottom: 1.5em;padding-bottom: 1.5em;border-bottom: 1px solid #d9d4cc;}
.modal_inner > .flex_normal > * { width:50%; }
.modal_inner h2 {text-align: center;margin-bottom: .5em;}

#reservation_info {
    padding: 10px;
}

#reservation_info input[type="number"],
#reservation_info input[type="email"],
#reservation_info input[type="text"] {
    width: 100%;
}

.cancel_btn {
    cursor: pointer;
}

.do_log_in_btn,
.logged_in_btn {
    background: #006496;
    padding: 3px 10px;
    color: #fff;
    border-radius: 8px;
    line-height: 1;
    transition: all 0.6s ease;
}

.do_log_in_btn:hover,
.logged_in_btn:hover {
    background: #45242c;
}

#wpadminbar {
    z-index: 100001 !important;
}

.wpcf7-not-valid {
    border: 2px solid red !important;
}

span[data-name="message_field"] {
    text-align: center;
}

#message_field {
    display: none;
}

@media screen and (max-width: 690px){
.modal_inner {padding: 6%;width:96%;max-width: initial;max-height: 80svh;overflow-y: scroll;}
.modal_inner > .flex_normal {display:block;}
.modal_inner > .flex_normal > * { width:100%; }
#regist_section { padding-right: 0; margin-right: 0; border-right:none; position: relative;border-bottom: 1px solid #d9d4cc;margin-bottom: 1.5em;padding-bottom: 1.5em;}
#regist_section .text_center { position:static;  width:100%;}
}


body.overflow_hidden {overflow: hidden;}
.flex_normal {display: flex;justify-content: center;}
.no_display {display: none;}
.thanks_wrap {text-align: center}
.end_eng {font-size:160%;font-weight: bold;}

.end_jpn {
font-size: 40px;
font-weight: bold;
}

.end_sub {
margin-top: 20px;
margin-bottom: 20px;
}

.end_sub2 {
background: #fff;
padding: 50px;
border-radius: 30px;
margin-bottom: 30px;
}

.end_btn_wrap {display: flex;justify-content: center;gap: 30px;margin-bottom: 30px;}

.end_btn_wrap a {display: block;font-size: 20px;transition: all 0.6s ease;border: 0px;color: #FFF;border-radius: .5em;font-size: 120%;padding: 3px 15px;}
.end_btn_wrap a:hover {    opacity: 0.7;}
.end_btn_wrap a.end_goto_top_btn {background: #b18694;}
.end_btn_wrap a.end_goto_contact {background: #919fae;}
.kiyaku.confirm_page {margin-bottom: 20px;}
.edit_btn_wrap {margin-top: 20px;}

.confirm input[type="text"],
.confirm input[type="email"],
.confirm input[type="number"],
.confirm textarea { pointer-events: none; background: none; border: none;}
#kari_submit_btn { cursor: pointer; transition: all 0.6s ease; display: inline-block;}
#kari_submit_btn:hover { opacity: 0.7;}

#entry_event_list li {
    padding: 5px 0px;
    border-bottom: 1px dotted #fff;
}

#entry_event_list li a{
    color: #fff;
    transition: all 0.6s ease;
}

#entry_event_list li a:hover {
    color: #54a5fc;
}

.reservation_caution {
    color: #700B0D;
}

@media screen and (max-width:610px){
    .um-register{
        padding: 0 10px;
    }

    .logo_area .titiebox {
        width: 100%;
    }

    .logo_area .titiebox img {
        width: 76%;
    }

    .btm span {
        font-size: 75%;
    }

    section.event.contact_us {
        width: 100%;
        padding: 20px;
    }

    textarea {
        width: 94%;
    }

    ul.top_menu {
        flex-direction: column;
    }

    li.to_contact a {
        display: block;
        border: 1px solid #006496;
        padding: 5px 20px;
        text-align: center;
        margin-top: 20px;
        border-radius: 28px;
        background: #006496;
    }

    .recruitflex3.recruitflex.jisseki .inners {
        gap: 20px;
    }

    .recruitflex3.recruitflex.jisseki .inners .jisseki_box {
        width: 90%;
        margin: 0 auto;
    }

    p, div, span {
        font-size: 97%;
    }

    th, td {
        font-size: 70%;
    }

    .btm.one.fv_btm.price {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .btm.one.fv_btm.price > div {
        width: 100%;
    }

    .price .plan_btn p {
        padding: 5px 50px;
        width: 70%;
        margin: auto;
    }

    .price.btm>* a:after {
        display: none;
    }

    .inners.flex.flow {
        flex-direction: column;
    }

    .flow_wrap .model_moretxt {
        display: none;
    }

    .recruitflex3.recruitflex > .inners {
        padding:10px;
    }

    h1.midashi1.linkplus p {
        display: inline-block;
    }

    .btm.otoiawase {
        text-align: center;
    }

    .btm.otoiawase p {
        font-size: 25px;
    }

    .m_history.flex > :nth-child(2) {
        margin-top: 50px;
    }
    
    .m_history > .flex > :nth-child(2) {
        text-align: left;
    }
    
    h2 .caption {
        font-size: 16px;
    }
}
