@charset "UTF-8";
a,a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{
    text-decoration:none;
    color:inherit
}
dl,ol,p,pre,ul{
    margin-top:0;
    margin-bottom:1rem
}
address,dl,ol,p,pre,ul{
    margin-bottom:1rem
}
dd,label,legend{
    margin-bottom:.5rem
}
label,output{
    display:inline-block
}
article,aside,details,figcaption,figure,footer,header,hgroup,legend,main,nav,section{
    display:block
}
button,hr,input{
    overflow:visible
}
[type=submit],[type=button],[type=reset],button,label[for],summary{
    cursor:pointer
}
progress,sub,sup{
    vertical-align:baseline
}
body,caption,th{
    text-align:left
}
html{
    font-family:sans-serif;
    -ms-text-size-adjust:100%;
    -ms-overflow-style:scrollbar;
    line-height:1.15;
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:transparent
}
@-ms-viewport{
    width:device-width
}
body{
    font-weight:400;
    color:#222;
    background-color:#fff
}
[tabindex="-1"]:focus{
    outline:0!important
}
abbr[data-original-title],abbr[title]{
    text-decoration:underline;
    text-decoration:underline dotted;
    cursor:help;
    border-bottom:0
}
address{
    line-height:inherit
}
ol ol,ol ul,ul ol,ul ul{
    margin-bottom:0
}
dd{
    margin-left:0
}
dfn{
    font-style:italic
}
a{
    -webkit-text-decoration-skip:objects;
    background-color:transparent
}
a:hover{
    color:#00004e;
    text-decoration:underline
}
a:not([href]):not([tabindex]):focus{
    outline:0
}
pre{
    overflow:auto;
    -ms-overflow-style:scrollbar
}
img{
    border-style:none
}
svg:not(:root){
    overflow:hidden
}
table{
    border-collapse:collapse;
    border-color:inherit
}
caption{
    padding-top:.75rem;
    padding-bottom:.75rem;
    color:#999;
    caption-side:bottom
}
button:focus{
    outline:dotted 1px;
    outline:-webkit-focus-ring-color auto 5px
}
[type=submit],[type=reset],button,html [type=button]{
    -webkit-appearance:button
}
[type=submit]::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,button::-moz-focus-inner{
    padding:0;
    border-style:none
}
input[type=radio],input[type=checkbox]{
    box-sizing:border-box;
    padding:0
}
input[type=date],input[type=time],input[type=datetime-local],input[type=month]{
    -webkit-appearance:listbox
}
textarea{
    resize:vertical;
    overflow:auto
}
fieldset{
    border:0;
    margin:0;
    padding:0;
    min-width:0
}
legend{
    width:100%;
    max-width:100%;
    font-size:1.5rem;
    line-height:inherit;
    color:inherit;
    white-space:normal;
    padding:0
}
[type=search]{
    -webkit-appearance:none;
    outline-offset:-2px
}
[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{
    -webkit-appearance:none
}
::-webkit-file-upload-button{
    -webkit-appearance:button
}
summary{
    display:list-item
}
template{
    display:none
}
[hidden]{
    display:none!important
}
*,::after,::before{
    box-sizing:border-box;
    border-style:solid;
    border-width:0
}
address,blockquote,dl,figure,form,iframe,p,pre,table{
    margin:0
}
h1,h2,h3,h4,h5,h6{
    font-size:inherit;
    font-weight:inherit;
    margin:0
}
ol,ul{
    margin:0;
    padding:0;
    list-style:none
}
dt{
    font-weight:700
}
hr{
    box-sizing:content-box;
    height:0;
    border-top-width:1px;
    margin:0;
    clear:both;
    color:inherit
}
code,kbd,pre,samp{
    font-family:monospace,monospace;
    font-size:inherit
}
address{
    font-style:inherit
}
abbr[title]{
    text-decoration:underline dotted
}
b,strong{
    font-weight:bolder
}
small{
    font-size:80%
}
sub,sup{
    font-size:75%;
    line-height:0;
    position:relative
}
sub{
    bottom:-.25em
}
sup{
    top:-.5em
}
embed,iframe,img,object,svg{
    vertical-align:bottom
}
button,input,optgroup,select,textarea{
    line-height:inherit;
    -webkit-appearance:none;
    appearance:none;
    vertical-align:middle;
    color:inherit;
    font:inherit;
    background:0 0;
    padding:0;
    margin:0;
    border-radius:0;
    text-align:inherit;
    text-transform:inherit
}
[type=checkbox]{
    -webkit-appearance:checkbox;
    appearance:checkbox
}
[type=radio]{
    -webkit-appearance:radio;
    appearance:radio
}
[type=submit]:disabled,[type=button]:disabled,[type=reset]:disabled,button:disabled{
    cursor:default
}
:-moz-focusring{
    outline:auto
}
select:disabled{
    opacity:inherit
}
option{
    padding:0
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{
    height:auto
}
[type=search]::-webkit-search-decoration{
    -webkit-appearance:none
}
::-webkit-file-upload-button{
    font:inherit
}
[contenteditable]:focus{
    outline:auto
}
td,th{
    vertical-align:top;
    padding:0
}
th{
    font-weight:700
}
.dialog_label,.modal__title,.modal__title small{
    text-align:center
}
body{
    margin:0;
    font-family:"游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","メイリオ","ヒラギノ角ゴ ProN W3",sans-serif;
    font-size:16px;
    line-height:1.666
}
.hidden{
    display:none
}
.modal__container{
    background-color:#fff;
    padding:0;
    width:360px;
    max-width:100%;
    max-height:100vh;
    border-radius:4px;
    box-sizing:border-box;
    overflow:hidden;
    height:640px
}
@media screen and (max-width:767px){
    body{
        font-size:14px
    }
    .modal__container{
        height:100%
    }
    .modal__close{
        position:relative
    }
}
.modal__header{
    margin-top:35px;
    display:flex;
    justify-content:center;
    align-items:flex-start;
    height:70px
}
.modal__title{
    margin-bottom:0;
    font-weight:600;
    line-height:1.25;
    color:#333;
    box-sizing:border-box;
    font-size:24px
}
@media screen and (min-width:768px){
    .modal__container{
        width:492px;
        border-radius:0
    }
    .modal__header{
        height:110px
    }
    .modal__title{
        font-size:36px
    }
    .modal__close{
        position:relative;
        top:10px;
        margin-right:-15px
    }
}
.modal__title small{
    display:block;
    font-size:16px
}
.modal__close_wrap{
    display:flex;
    justify-content:flex-end
}
.modal__close{
    background:0 0;
    border:0
}
.dialog-backdrop [role=alertdialog],.dialog-backdrop [role=dialog]{
    box-sizing:border-box;
    padding:15px;
    background-color:#fff;
    min-height:100vh
}
@media screen and (min-width:768px){
    .dialog-backdrop [role=alertdialog],.dialog-backdrop [role=dialog]{
        min-height:0;
        padding:0;
        height:675px;
        max-height:90vh
    }
}
@media screen and (max-width:767px){
    .dialog-backdrop [role=alertdialog],.dialog-backdrop [role=dialog]{
        padding-left:0;
        padding-right:0;
        min-height:0;
        height:100%;
        max-height:calc(100% - 8px)
    }
}
@media screen and (min-width:640px){
    .dialog-backdrop [role=alertdialog],.dialog-backdrop [role=dialog]{
        position:absolute;
        top:2rem;
        left:50vw;
        transform:translateX(-50%);
        min-height:auto;
        background-color:#fff;
        padding:0;
        width:360px;
        max-width:100%;
        max-height:100vh;
        border-radius:4px;
        box-sizing:border-box;
        overflow:hidden;
        height:640px
    }
}
@media screen and (min-width:640px) and (max-width:767px){
    .dialog-backdrop [role=alertdialog],.dialog-backdrop [role=dialog]{
        height:100%;
        width:auto
    }
}
@media screen and (min-width:640px) and (min-width:768px){
    .dialog-backdrop [role=alertdialog],.dialog-backdrop [role=dialog]{
        width:492px;
        border-radius:0
    }
}
.dialog_form .label_info,.dialog_form .label_text{
    padding-right:.5em;
    width:30%;
    display:inline-block;
    box-sizing:border-box
}
.dialog_form{
    margin:15px
}
.dialog_form .label_text{
    font-size:16px;
    font-weight:700;
    text-align:right
}
.dialog_form .label_info{
    font-size:12px;
    text-align:right
}
.dialog_form_item{
    margin:10px 0;
    font-size:0
}
.dialog_form_item .wide_input{
    box-sizing:border-box;
    max-width:70%;
    width:27em
}
.dialog_form_item .city_input{
    box-sizing:border-box;
    max-width:70%;
    width:17em
}
.dialog_form_item .state_input{
    box-sizing:border-box;
    max-width:70%;
    width:15em
}
.dialog_form_item .zip_input{
    box-sizing:border-box;
    max-width:70%;
    width:9em
}
.dialog_form_actions{
    text-align:right;
    padding:0 20px 20px
}
.dialog_close_button{
    float:right;
    position:absolute;
    top:10px;
    left:92%;
    height:25px
}
.dialog_close_button img{
    border:0
}
.dialog_desc{
    padding:10px 20px
}
.dialog-backdrop{
    display:none;
    position:fixed;
    overflow-y:auto;
    top:0;
    right:0;
    bottom:0;
    left:0;
    z-index:9999;
    background:rgba(0,0,0,.75)
}
.dialog-backdrop.active,.notes{
    display:block
}
@media screen and (max-width:767px){
    .dialog-backdrop{
        padding:8px
    }
}
.no-scroll{
    overflow-y:auto!important
}
.has-dialog{
    overflow:hidden
}
.notes{
    font-size:1rem;
    line-height:1.3;
    min-width:400px;
    max-width:100%;
    width:33%
}
.toast{
    background-color:rgba(0,0,0,.9);
    color:#fff;
    padding:1rem;
    border:none;
    border-radius:.25rem;
    box-shadow:0 3px 6px rgba(0,0,0,.16),0 3px 6px rgba(0,0,0,.23);
    position:fixed;
    top:1rem;
    right:1rem;
    transform:translateY(-150%);
    transition:transform 225ms cubic-bezier(.4,0,.2,1)
}
#header{
    background-color:#e8e8e8
}
#footer{
    background-color:#e9f5f7;
}
.toast.active{
    transform:translateY(0)
}
#header{
    margin-bottom:64px;
    height:120px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding-left:30px;
    padding-right:30px
}
@media screen and (min-width:768px) {
    #header{
        background:url(../img/header.jpg) 50% 50% / 100% 100% no-repeat;
    }
}
.header_inner{
    display:flex;
    align-items:center;
    justify-content:center
}
@media screen and (max-width:767px){
    #header{
        height:75px;
        margin-bottom:48px;
        padding-left:6px;
        padding-right:6px;
        min-width:100%;
        background:url(../img/header_sp.jpg) 50% 50% / 100% 100% no-repeat;
    }
    .header_inner{
        min-width:100%
    }
}
@media screen and (min-width:768px){
    .header_inner .logo_music{
        display:flex;
        justify-content:center;
    }
    .header_inner .logo_music img{
        display: block;
        height:60px;
    }
}
@media (min-width:1001px){
    .header_inner .logo_kids{
        min-width:372px
    }
}
@media screen and (max-width:767px){
    .header_inner .logo_music{
        display:flex;
        justify-content:center;
    }
    .header_inner .logo_music img{
        display: block;
        height:38px;
    }
}
@media screen and (min-width:768px){
    .header_inner .logo_ssps{
        flex-basis:31%;
        display:flex;
        justify-content:center
    }
    .header_inner .logo_ssps img{
        width:220px;
        max-width:100%
    }
}
.header_inner a{
    padding-left:26px;
    padding-right:26px
}
@media screen and (max-width:767px){
    .header_inner .logo_ssps img{
        width:auto;
        height:6.5vw
    }
    .header_inner a{
        display:block;
        padding-left:10px;
        padding-right:10px
    }
}
#footer,.footer_inner,.room_search{
    display:flex
}
.header_inner a img{
    max-width:100%;
    height:auto
}
#footer{
    margin-top:190px;
    height:350px;
    align-items:center;
    justify-content:center
}
.footer_inner{
    align-items:center;
    justify-content:center;
    flex-direction:column;
    max-width:900px
}
.footer_inner a{
    margin-left:26px;
    margin-right:26px
}
@media screen and (max-width:767px){
    #footer{
        height:242px;
        margin-top:100px
    }
    .footer_inner a{
        margin-left:7px;
        margin-right:7px
    }
}
.footer_links{
    margin-top:40px;
    margin-bottom:50px
}
.footer_links a{
    color:#263238;
    text-decoration:underline
}
.footer_links a:focus,.footer_links a:hover{
    text-decoration:none
}
.footer_copyright{
    font-size:12px
}
.room_container{
    max-width:960px;
    padding-left:30px;
    padding-right:30px;
    margin-left:auto;
    margin-right:auto
}
@media screen and (max-width:767px){
    .footer_links{
        margin-top:30px;
        margin-bottom:40px
    }
    .footer_copyright{
        font-size:10px
    }
    .room_container{
        padding-left:16px;
        padding-right:16px
    }
}
.room_h1{
    font-size:36px;
    color:#263238;
    font-weight:700
}
@media screen and (max-width:767px){
    .room_h1{
        font-size:24px;
        font-weight:700;
        text-align:left;
        color:#263238;
        margin-bottom:24px;
        line-height:1
    }
}
.room_h2{
    margin-top:70px;
    font-size:32px;
    font-weight:700;
    line-height:1.56;
    text-align:left;
    color:#263238
}
@media screen and (max-width:767px){
    .room_h2{
        margin-top:50px;
        font-size:20px;
        font-weight:700;
        text-align:left;
        color:#263238;
        line-height:1
    }
}
.room_count{
    font-size:24px;
    font-weight:700;
    line-height:1.33;
    text-align:left;
    color:#263238;
    margin-top:70px;
    margin-bottom:20px
}
@media screen and (max-width:767px){
    .room_count{
        margin-top:50px;
        font-size:18px;
        font-weight:700;
        text-align:left;
        color:#263238;
        line-height:1
    }
    .room_search{
        display:block
    }
}
.room_search_input_box{
    display:flex;
    width:100%;
    height:68px;
    padding:13px 12px;
    position:relative;
    border-radius:50px;
    border:3px solid #54C2f1;
}
.room_search_input_box input.inputed{
    background-color:#e9f5f7;
}
@media screen and (max-width:767px){
    .room_search_input_box{
        width:auto
    }
}
.room_search_input_box input{
    background-color:#fff;
    display:block;
    width:100%;
    height:100%;
    padding-left:66px;
    outline: none;
}
.room_search_input_box input::placeholder{
    color:#263238;
    font-size:16px;
    font-weight:700
}
.room_search_input_box input:focus{

}
.room_search_input_btn{
    position:absolute;
    display:flex;
    right:-3px;
    top:-3px;
    width:120px;
    height:68px;
    margin:0 0 8px auto;
    background-color:#54C2f1;
    border-radius:0 50px 50px 0;
    color:#fff;
    font-size:24px;
    font-weight:700;
    line-height:1;
    text-align:center;
    align-items:center;
    justify-content:center;
    transition:.4s
}
@media screen and (max-width:767px){
    .room_search_input_box input{
        padding-left:22px
    }
    .room_search_input_btn{
        width:68px
    }
}
.room_search_input_btn:focus,.room_search_input_btn:hover{
    opacity:.8
}
.room_current_filter_wrap{
    max-width:900px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
    position:fixed;
    display:flex;
    justify-content:flex-end;
    z-index:100;
    bottom:20px
}
@media screen and (max-width:767px){
    .room_current_filter_wrap{
        bottom:10px;
        left:-16px
    }
    .room_current_filter_wrap br{
        display:none
    }
}
.room_current_filter,.room_current_place,.room_type li{
    display:flex;
    font-weight:700
}
.room_current_filter{
    width:200px;
    height:95px;
    text-align:left;
    align-items:center;
    justify-content:center;
    margin-right:-100px;
    font-size:16px;
    line-height:1.4;
    color:#fff;
    box-shadow:0 3px 6px 0 rgba(38,25,58,.7);
    background-color:#263238!important
}
@media screen and (max-width:767px){
    .room_current_filter{
        position:relative;
        width:calc(100% - 32px);
        height:44px;
        border-radius:4px;
        font-size:16px;
        font-weight:700;
        line-height:1.33;
        text-align:left;
        color:#fff;
        display:flex;
        align-items:center;
        justify-content:center;
        margin-right:0;
        margin-left:0
    }
}
.room_current_filter img,.room_current_place img{
    margin-right:24px
}
.room_current_place{
    margin-top:27px;
    width:100%;
    height:67px;
    background-color:#fff;
    align-items:center;
    justify-content:flex-start;
    color:#263238;
    border-radius:50px;
    border:3px solid #54C2f1;
    padding-left:78px;
    padding-right:78px;
    font-size:16px;
    transition:.4s
}
.room_current_place:focus,.room_current_place:hover{
    opacity:.8
}
.room_search_address{
    font-size:32px;
    font-weight:700;
    line-height:1.56;
    text-align:left;
    color:#263238;
    margin-top:40px
}
@media screen and (max-width:767px){
    .room_current_place{
        width:100%;
        position:relative;
        padding-left:32px
    }
    .room_current_place img{
        margin-right:50px
    }
    .room_search_address{
        margin-top:46px;
        font-size:20px
    }
}
.room_map{
    margin-top:40px
}
.room_map iframe{
    max-width:100%;
    height:450px
}
@media screen and (max-width:767px){
    .room_map{
        margin-top:24px;
        position:relative;
        padding-top:100%;
        margin-left:-16px;
        margin-right:-16px
    }
    .room_map iframe{
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%
    }
    .room_type li+li{
        margin-top:16px
    }
}
.room_type{
    margin-bottom:40px
}
@media screen and (min-width:768px){
    .room_type{
        display:flex;
        justify-content:flex-end;
        margin-left:-25px;
        margin-right:-25px;
        margin-bottom:50px
    }
    .room_type li{
        padding-left:25px;
        padding-right:25px
    }
}
.room_type li{
    line-height:1;
    text-align:left;
    align-items:center
}
.room_type li span,
.room_type li:before{
    content:"";
    display:block;
    width:24px;
    height:24px;
    margin:0 4px 0 4px;
    border-radius:4px
}
.room_type li.room_type_kids span{
    background-color:#54c2f1
}
.room_type li.room_type_yml:before{
    background-color:#4b1e78
}
.room_type li.room_type_ssps:before{
    background-color:#d30a26
}
.room_matched{
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    margin-bottom:65px
}
.room_matched_num{
    display:flex;
    align-items:flex-start;
    padding-top:18px;
    justify-content:center;
    width:54px;
    min-width:54px;
    height:80px;
    margin-right:16px;
    background:url(../img/icon_place_num.svg) 50% 50%/contain no-repeat;
    font-size:24px;
    font-weight:700;
    line-height:1.33;
    text-align:left;
    color:#fff;
    font-style:normal
}
@media screen and (max-width:767px){
    .room_matched_num{
        background:url(../img/icon_place_num.svg) 50% 0/contain no-repeat;
        min-width:42px;
        width:42px;
        height:64px;
        padding-top:14px;
        font-size:16px
    }
}
.room_matched_overview{
    flex-grow:1
}
.room_matched_overview>h3{
    font-size:24px;
    font-weight:700;
    line-height:1.33;
    text-align:left;
    color:#263238
}
@media screen and (max-width:767px){
    .room_matched_overview>h3{
        font-size:18px;
        font-weight:700;
        line-height:1.39;
        text-align:left;
        color:#263238
    }
}
.room_matched_overview>p{
    font-weight:500;
    line-height:1.38;
    text-align:left;
    color:#263238
}
.room_matched_course{
    margin-top:40px
}
.room_matched_course button{
    min-width:100%;
    height:74px;
    background-color:#e8e8e8;
    display:flex;
    align-items:center;
    font-size:18px;
    font-weight:700;
    line-height:1.78;
    text-align:left;
    color:#263238;
    padding-left:24px
}
@media screen and (max-width:767px){
    .room_matched_course{
        margin-top:12px;
        margin-left:-60px
    }
    .room_matched_course button{
        height:40px;
        font-size:14px
    }
}
.room_matched_course button.open span:before{
    transform:rotate(180deg)
}
.room_matched_course button span{
    margin-left:auto;
    width:88px;
    height:74px;
    background-color:#26193a;
    display:flex;
    align-items:center;
    justify-content:center
}
@media screen and (max-width:767px){
    .room_matched_course button span{
        width:40px;
        height:40px
    }
}
.room_matched_course button span:before{
    content:"";
    display:block;
    width:32px;
    height:20px;
    background:url(../img/icon_arrow.svg) 50% 50%/32px 20px no-repeat
}
.room_matched_course_type{
    transition:.6s
}
.room_matched_course_type[aria-hidden=true]{
    visibility:hidden;
    max-height:0;
    overflow:hidden
}
.room_matched_course_type[aria-hidden=false]{
    visibility:visible;
    max-height:5000px
}
@media screen and (max-width:767px){
    .room_matched_course button span:before{
        width:20px;
        height:12px;
        background:url(../img/icon_arrow.svg) 50% 50%/20px 12px no-repeat
    }
    .room_matched_course_type[aria-hidden=false]{
        max-height:10000px
    }
}
.room_matched_course_type>ul{
    margin-top:24px;
    display:flex;
    align-items:flex-start;
    justify-content:flex-start;
    margin-left:-8px;
    margin-right:-8px;
    flex-wrap:wrap
}
.room_matched_course_type>ul li{
    padding-left:8px;
    padding-right:8px;
    margin-bottom:16px
}
.room_matched_course_type>ul li a{
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    padding:16px;
    border-radius:4px;
    font-weight:700;
    color:#fff;
    text-decoration:none
}
.room_matched_course_type>ul li a:focus,.room_matched_course_type>ul li a:hover{
    opacity:.9
}
.room_matched_course_type>ul li a.room_matched_course_type_kids{
    background-color:#54c2f1
}
.room_matched_course_type>ul li a.room_matched_course_type_yml{
    background-color:#4b1e78
}
.room_matched_course_type>ul li a.room_matched_course_type_ssps{
    background-color:#4b1e78
}
.room_link_tel{
    display:flex;
    align-items:center;
    justify-content:center;
    height:40px;
    width:100%;
    position:relative;
    border:2px solid #000;
    margin-top:10px
}
.room_btn_back,.room_btn_back_02,.room_btn_filter{
    height:56px;
    border-radius:50px;
    display:flex
}
.room_link_tel img{
    position:absolute;
    left:24px
}
span.room_link_tel{
    max-width:240px;
    padding-left:20px;
    padding-top:1px
}
.room_btn_filter{
    width:340px;
    max-width:100%;
    align-items:center;
    justify-content:center;
    position:relative;
    margin:22px 9px 13px 0;
    font-size:16px;
    font-weight:700;
    text-align:left;
    color:#fff;
    background-color:#54C2f1;
    outline: none;
}
@media screen and (max-width:767px){
    .room_btn_filter{
        margin-bottom:0
    }
}
@media screen and (min-width:768px){
    .room_link_tel{
        pointer-events:none
    }
    .room_btn_filter{
        width:100%
    }
}
.room_btn_filter img{
    position:absolute;
    left:24px
}
.room_btn_back{
    width:340px;
    max-width:100%;
    align-items:center;
    justify-content:center;
    position:relative;
    margin:22px 9px 13px 0;
    font-size:16px;
    font-weight:700;
    text-align:left;
    color:#54C2f1;
    border:3px solid #54C2f1
}
.room_btn_back_02,.room_btn_reset{
    align-items:center;
    text-align:left;
    font-weight:700;
    outline: none;
    color: #222;
}
@media screen and (max-width:767px){
    .room_btn_back{
        margin-bottom:0
    }
}
@media screen and (min-width:768px){
    .room_btn_back{
        width:100%
    }
}
.room_btn_back img{
    position:absolute;
    left:24px
}
.room_btn_back_02{
    width:420px;
    max-width:100%;
    justify-content:center;
    position:relative;
    font-size:18px;
    color:#06c;
    border:3px solid #06c
}
.room_btn_back_02:after{
    position:absolute;
    top:50%;
    margin-top:-12px;
    left:24px;
    content:"";
    display:block;
    width:15px;
    height:24px;
    background:url(../img/icon_prev.svg) 50% 50%/contain no-repeat
}
.room_btn_reset{
    position:absolute;
    max-width:100%;
    display:flex;
    justify-content:center;
    height:48px;
    margin:8px 9px 9px 0;
    font-size:16px;
    color:#fff;
    border-radius:50px;
    border:3px solid #54C2f1;
    background-color:#54C2f1;
    outline: none !important;
}
@media screen and (max-width:767px){
    .room_btn_reset{
        width:240px;
        margin-bottom:0
    }
}
@media screen and (min-width:768px){
    .room_btn_reset{
        width:260px
    }
}
.room_btn_reset img{
    position:absolute;
    left:24px
}
.room_list_select{
    margin-left:-15px!important;
    margin-right:-15px!important;
    border-top:solid 2px #e8e8e8;
    max-height:300px;
    overflow:auto
}
.room_list_select li{
    border-bottom:solid 2px #e8e8e8
}
.room_list_select li.selected span{
    display:none
}
.room_list_select li button{
    width:100%;
    position:relative;
    padding:9px 76px 7px 24px;
    font-size:20px;
    font-weight:700;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#263238
}
.room_list_select li button[disabled]{
    color:#8C8C8C
}
.room_list_select li button[disabled] .icon_arrow{
    display:none
}
.room_list_select li button .icon_arrow{
    position:absolute;
    right:16px;
    top:50%;
    margin-top:-12px
}
.room_list_select li button span{
    display:block;
    font-size:16px;
    margin-left:auto
}
.room_list_select_2{
    margin-left:-15px!important;
    margin-right:-15px!important;
    border-top:solid 1px #e8e8e8;
    border-bottom:solid 1px #e8e8e8
}
.room_list_select_2 li:nth-child(2n -1) label{
    background-color:rgba(232,232,232,.4)
}
.room_list_select_2 li label{
    width:100%;
    position:relative;
    height:56px;
    padding:0 24px;
    font-size:20px;
    font-weight:700;
    display:flex;
    align-items:center;
    color:#263238;
    margin-bottom:0
}
.room_list_select_2 li label input{
    appearance:none;
    -webkit-appearance:none;
    width:24px;
    height:24px;
    margin:0 24px 0 0;
    border:1px solid #707070;
    background-color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center
}
.room_list_select_2 li label input:checked:before{
    border-radius:50%;
    display:block;
    content:"";
    width:16px;
    height:16px;
    background-color:#707070
}
.room_list_select_2 li label .icon_arrow{
    position:absolute;
    right:16px;
    top:50%;
    margin-top:-10px
}
.room_list_select_2 li label span{
    display:block;
    font-size:16px;
    font-weight:400;
    margin-left:24px
}
@media screen and (min-width:768px){
    .room_list_select_2 li label span{
        margin-left:0;
        font-size:18px
    }
}
.room_list_select_3{
    margin-left:-15px!important;
    margin-right:-15px!important;
    border-top:solid 1px #e8e8e8;
    border-bottom:solid 1px #e8e8e8;
    height:300px;
    overflow-y:auto;
    margin-bottom:0
}
.room_list_select_3 li:nth-child(2n -1) label{
    background-color:rgba(232,232,232,.4)
}
.room_list_select_3 li label{
    margin-bottom:0;
    width:100%;
    position:relative;
    height:56px;
    padding:0 0 0 24px;
    font-size:20px;
    font-weight:700;
    display:flex;
    align-items:center;
    color:#263238
}
.room_list_select_3 li label input{
    appearance:none;
    -webkit-appearance:none;
    width:24px;
    min-width:24px;
    height:24px;
    margin:0 24px 0 0;
    border:1px solid #707070;
    background-color:#fff;
    display:flex;
    align-items:center;
    justify-content:center
}
.room_list_select_3 li label input:checked:before{
    position:relative;
    top:-2px;
    display:block;
    content:"";
    width:16px;
    height:8px;
    border-left:1px solid #707070;
    border-bottom:1px solid #707070;
    transform:rotate(-45deg)
}
.room_list_select_3 li label .icon_arrow{
    position:absolute;
    right:16px;
    top:50%;
    margin-top:-10px
}
.slide_content_1 .modal__footer,.slide_content_2 .modal__footer,.slide_content_3 .modal__footer{
    margin-top:auto
}
.room_list_select_3 li label span{
    display:block;
    font-size:16px;
    font-weight:400;
    font-feature-settings:"palt"
}
.room_list_select_label{
    display:flex;
    align-items:center;
    min-width:100%
}
@media screen and (min-width:768px){
    .room_list_select_3 li label span{
        margin-left:0;
        font-size:18px
    }
    .room_list_select_label{
        font-size:24px
    }
    .room_list_select_label span{
        font-size:18px!important
    }
    .modal__back_wrap{
        margin-left:-15px;
        position:relative;
        top:10px
    }
    .slide_content{
        width:394px;
        margin-left:auto;
        margin-right:auto
    }
}
.slide_content{
    position:relative;
    transition:.4s;
    height:640px
}
.slide_content_2,.slide_content_3{
    padding:15px;
    position:absolute;
    left:100%;
    display:flex
}
@media screen and (max-width:767px){
    .slide_content{
        height:100%
    }
}
.slide_content.child{
    transform:translateX(-100%)
}
.slide_content_1{
    padding:15px;
    width:360px;
    overflow:hidden;
    height:640px;
    display:flex;
    flex-direction:column
}
@media screen and (max-width:767px){
    .slide_content_1{
        width:100%;
        height:100%
    }
}
@media screen and (min-width:768px){
    .slide_content_1{
        width:394px
    }
}
.slide_content_1[aria-hidden=true],.slide_content_2[aria-hidden=true],.slide_content_3[aria-hidden=true]{
    visibility:hidden
}
.slide_content_2{
    width:360px;
    top:0;
    height:640px;
    flex-direction:column
}
@media screen and (max-width:767px){
    .slide_content_2{
        width:100%;
        height:100%
    }
}
@media screen and (min-width:768px){
    .slide_content_2{
        width:394px
    }
}
.slide_content_3{
    width:360px;
    top:0;
    height:640px;
    flex-direction:column
}
@media screen and (max-width:767px){
    .slide_content_3{
        width:100%;
        height:100%
    }
}
@media screen and (min-width:768px){
    .slide_content_3{
        width:394px
    }
}
#js-app-room-gmap{
    height:450px
}
.room_geolocation_error{
    color:#d00;
    display:none;
    margin-top:.5em
}
.room_list_select_selected{
    font-size:16px
}
.room_list_select_selected p{
    font-feature-settings:"palt"
}
.room_list_select_selected p:before{
    content:"・"
}
.room_spot_lead{
    font-size:24px;
    font-weight:700;
    margin-top:20px
}
.room_spot_list{
    margin-top:50px;
    margin-bottom:75px
}
@media screen and (max-width:767px){
    .room_spot_lead{
        font-size:18px
    }
    .room_spot_list{
        margin-top:40px;
        margin-bottom:65px
    }
}
.room_spot_list li{
    margin-bottom:24px
}
@media screen and (max-width:767px){
    .room_spot_list li{
        margin-bottom:16px
    }
}
.room_spot_list li:last-child{
    margin-bottom:0
}
.room_spot_list li a{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:420px;
    max-width:100%;
    font-size:18px;
    padding:.5em 48px .5em 24px;
    border:2px solid #e8e8e8;
    background-color:#fff;
    position:relative
}
.room_spot_list li a:after{
    position:absolute;
    top:50%;
    margin-top:-12px;
    right:24px;
    content:"";
    display:block;
    width:15px;
    height:24px;
    background:url(../img/icon_arrow_purple.svg) 50% 50%/contain no-repeat
}
@media screen and (max-width:767px){
    .room_spot_list li a{
        font-size:16px
    }
    .room_spot_list li a:after{
        right:20px;
        width:12.5px;
        height:20px;
        margin-top:-10px
    }
}
#swallow-widget-frame{
    display:none!important
}
.gm-style-iw{
    max-width:249px!important
}
.l-app-room-map-gmap__infowindow__img img{
    max-width:120px!important;
    height:auto!important;
    margin-bottom:10px
}
.gm-style-iw-d{
    max-height:none!important
}
.l-app-room-map-gmap__infowindow__img{
    text-align:center
}
.room_ie11{
    display:none;
    font-size:16px;
    line-height:1.375;
    border:1px solid #D00;
    padding:20px 30px;
    margin-bottom:56px
}
.room_ie11.show{
    display:block
}
@media screen and (max-width:767px){
    .pc-on{
        display:none!important
    }
}
@media screen and (min-width:768px){
    .sp-on{
        display:none!important
    }
}
