@charset "utf-8";
@media screen and (max-width:1200px){
    /*1200 venues*/
    section.venues ul li{
        width:42%;
    }
    section.venues ul li.main{
        width:100%;
    }
}
@media screen and (max-width:1024px){
    /*1024 common*/
    .pd100{
        padding:50px 0;
    }
    .pd1-5{
        padding:50px 0 35px;
    }
    /*1024 etecatch*/
    .eyecatch h2{
        margin-top:100px;
        font-size:32px;
    }
    .eyecatch h3{
        font-size:38px;
    }
    .eyecatch .box01 p{
        font-size:20px;
    }
    .eyecatch.sub h2{
        margin-top:0;
    }
    .eyecatch.sub .box01{
        margin-bottom:0;
        padding-bottom:0;
    }
    /*1024 cuisine*/
    section.cuisine ul.genre{
        flex-flow: row wrap;
    }
    section.cuisine ul.genre li{
        width:40%;
    }
    /*1024 venues*/
    section.outline.main .cost-box ul{
        flex-flow: column;
    }
    /*1024 footer*/
    footer{
        background-image: url(../img/bg_footer-sp.jpg);
        background-position: right;
    }
    footer .wrap{
        flex-flow: column;
    }
    footer .box-left{
        width:100%;
    }
    footer .box-left .tel-box{
        margin:30px 0 0;
    }
    footer .box-left a.logo-box{
        margin:0 auto 30px;
    }
    footer .box-left ul{
        margin:30px 0 0;
    }
    footer .box-right{
        width:60%;
        margin:auto;
    }
    footer .box-right ul.wrap{
        display: none;
    }
    footer small{
        text-align: center;
    }
    footer .bg{
        background:rgb(16,31,69,0.7);
    }
    /*1024 form*/
    form .date-box .wrap{
        flex-flow: column;
        align-items: flex-start;
        gap:15px;
    }
    form .date-box:nth-of-type(1) .wrap{
        margin-bottom:30px;
    }
}
@media screen and (max-width:1000px){
    /*1000 view*/
    .pc {
        display: none;
    }
    .sp{
        display: block;
    }
    .page-top{
        bottom:120px;
    }
    /*1000 header*/
    header nav{
        display: none;
    }
    .menu_bottom{
        position: fixed;
        bottom:0;
        left:0;
        width:100%;
        height:90px;
        text-align: center;
        background-color:#fff;
        z-index: 800;
    }
    .menu_bottom .line{
        position: absolute;
    }
    .menu_bottom .link-box{
        display: flex;
        justify-content: center;
        align-items: center;
        height:100%;
    }
    .menu_bottom a{
        display: block;
        font-size:16px;
    }
    /*1000 footer*/
    footer{
        padding-bottom:150px;
    }
    footer div.wrap{
        flex-flow: column;
    }
    footer .box-left, footer .box-right{
        width:auto;
    }
    footer .box-right ul.wrap{
        display: none;
    }
    footer .link-box{
        flex-flow: column;
    }
    footer .link-box .red{
        display: none;
    }
    footer .link-box a.orange{
        padding:10px 2em;
    }
    /*1000 eyecatch*/
    .eyecatch{
        height:900px;
    }
    .eyecatch .wrap{
        justify-content: flex-start;
        height:auto;
    }
    .eyecatch .box01{
        width:100%;
        margin:80px auto 0;
    }
    .eyecatch.sub{
        height:35vh;
    }
    .eyecatch.sub .box01{
        margin:0 auto;
    }
    .eyecatch.sub h3{
        width:80vw;
        margin:60px auto 0;
        font-size:22px;
    }
    .eyecatch .fade-hero{
        display: none;
    }
    .fade-hero_sp{
        display: block;
        overflow-x: hidden;
    }
    .fade-hero_sp li{
        margin:0 10px;
    }
    .fade-hero_sp img{
        width:100%;
/*        height:200px;*/
        aspect-ratio:4/3;
    }
    .eyecatch .link-box{
        display: none;
    }
    .eyecatch .link-box.sp{
        display: block;
        width:18em;
        margin:40px auto 0;
    }
    /*1000 point*/
    .icon-box{
        width:90%;
        justify-content: space-around;
        margin:50px auto 0;
    }
    .icon-box .box01{
        width:47%;
    }
    .icon-box img{
        width:80%;
    }
    section.cause ul{
        margin:30px 0;
    }
    /*1000 cuisine*/
    section.cuisine .box01{
        background-size:cover;
        position: relative;
    }
    section.cuisine .box01 .wd-large{
        position: relative;
        z-index: 1;
    }
    section.cuisine .box01 .text-box{
        width:100%;
        padding:50px 0;
        background:inherit;
    }
    section.cuisine .box01 p{
        font-size:24px;
    }
    section.cuisine .bg{
        position: absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        background-color:rgb(255,255,255,0.8);
        z-index: 0;
    }
    section.cuisine ul.genre h4{
        margin:10px auto;
    }
    section.cuisine .list-box ul{
        margin:30px 0 50px;
    }
    section.cuisine ul.style{
        flex-flow:row wrap;
    }
    section.cuisine ul.style li{
        width:40%;
    }
    section.cuisine ul.style img{
        width:80%;
    }
    section.cuisine ul.style p {
        font-size: 16px;
        overflow-wrap: anywhere;
        line-break: strict;
        word-break: auto-phrase;
    }
    /*1000 venues*/
    section.venues ul{
        margin:30px auto;
    }
    section.outline .text-box h3{
        text-align: center;
    }
    section.outline.main .map-box, section.outline .map-box{
        width:80%;
        margin:auto;
    }
    .cost-box{
        text-align: center;
    }
    .cost-box ul .box{
        display: inline-flex;
        justify-content: center;
        align-items: center;
        height:auto;
        padding:1em;
    }
    section.outline.main .slide-box ul{
        width:100%;
    }
    section.outline.main .floor-cont{
        flex-flow: column-reverse;
    }
    section.outline.main .text-box{
        width:auto;
        margin-left:inherit;
    }
    section.outline.main ul.fade-venues{
        margin:30px 0 50px;
    }
    section.outline.sub .box02{
        flex-flow: column;
    }
    section.outline.sub .slide-box, section.outline.sub .floor-cont{
        width:100%;
    }
    /*1000px access*/
    section.access .wrap{
        flex-flow: column;
    }
    section.access .map-box{
        width:100%;
    }
    /*1000 form*/
    table.form th, table.form td{
        display: block;
    }
    table.form th{
        width:100%;
        padding:2em 1em 0;
    }
    form input.short, form td.stay .type01 input.name{
        width:8em;
        max-width:inherit;
    }
    table.form textarea{
        width:100%;
    }
    .day-wrap{
        display: flex;
        align-items: center;
    }
}
@media screen and (max-width:768px){
    /*768 common*/
    body p{
        line-height: 1.6em;
    }
    .pd100{
        padding:35px 0;
    }
}
@media screen and (max-width:767px){
    /*767 common*/
    .pdf-box{
        margin:30px 0;
    }
    /*767 wide*/
    .pd50{
        padding:30px 0;
    }
    /*767 highlight*/
    .h_type01{
        font-size:18px;
    }
    .h_type02{
        font-size:14px;
    }
    .h_type02 span{
        margin-bottom:0;
        font-size:30px;
    }
    .h_type03{
        font-size:28px;
        overflow-wrap: anywhere;
        line-break: strict;
        word-break: auto-phrase;
    }
    /*767 link*/
    .bd-btn.red{
        line-height: 1.3em;
    }
    .link-btn02{
        width:100%;
        min-width:inherit;
        box-sizing: border-box;
        font-size:16px;
    }
    /*767 header*/
    header .logo-box{
        margin-left:3vw;
    }
    /*767 eyecatch*/
    .eyecatch{
        height:850px;
    }
    .eyecatch h2{
        font-size:20px;
        letter-spacing: 1px;
    }
    .eyecatch h3 {
        font-size: 26px;
        overflow-wrap: anywhere;
        line-break: strict;
        word-break: auto-phrase;
    }
    .eyecatch .box01 p{
        font-size:18px;
    }
    .eyecatch.sub{
        height:30vh;
        min-height:350px;
    }
    .eyecatch.sub .box01{
        margin:50px auto 0;
    }
    /*767 point*/
    .icon-box{
        gap:30px 0;
        width:100%;
        margin:30px auto 0;
    }
    .icon-box .box01{
        width:50%;
    }
    .icon-box img{
        width:85%;
        margin-bottom:5px;
    }
    .icon-box p{
        font-size:14px;
    }
    /*767 cuisine*/
    section.cuisine .box01{
        background-position: center;
    }
    section.cuisine .box01 p{
        font-size:18px;
    }
    section.cuisine .box01 .text-box{
        padding:40px 0;
    }
    section.cuisine ul.genre li{
        width:100%;
    }
    section.cuisine ul.style{
        gap:10px 0;
    }
    section.cuisine ul.style li{
        width:100%;
        flex-flow: row;
    }
    section.cuisine ul.style img{
        width:40%;
        margin:auto;
    }
    section.cuisine ul.style p{
        margin-left:1em;
        font-size:14px;
        text-align: left;
    }
    section.cuisine .box03 a{
        font-size:16px;
    }
    section.cuisine .box03 p{
/*        margin-left:1em;*/
        text-align: left;
/*        text-indent:-1em;*/
    }
    /*767 venues*/
    /*accordion*/
    section.outline .h_type02{
        color:#001844;
    }
    section.outline details .h_type02{
        color:#fff;
    }
    section.venues-pc, section.outline-pc{
        display: none;
    }
    section.outline-sp{
        display: block;
        padding-bottom:50px;
    }
    section.outline-sp .box05{
        width:90%;
        margin:0 auto 50px;
        text-align: center;
        font-size:14px;
        overflow-wrap: anywhere;
        line-break: strict;
        word-break: auto-phrase;
    }
    section.outline-sp .details{
        width:95%;
        margin:5px auto;
    }
    section.outline-sp summary{
        padding:1em 5vw;
        color:#fff;
        background-color: #001844;
        cursor: pointer;
        position: relative;
    }
    section.outline-sp summary .h_type02 {
        flex-flow: row nowrap;
        align-items: center;
        text-align: left;
        font-size:20px;
    }
    section.outline-sp summary .h_type02 span.en{
        font-size:18px;
    }
    section.outline-sp summary .h_type02 span.guide{
        font-size:12px;
        line-height: 1.6em;
        color:#fff;
        overflow-wrap: anywhere;
        line-break: strict;
        word-break: auto-phrase;
    }
    section.outline-sp summary .h_type02 div{
        display: flex;
        flex-flow: column;
    }
    section.outline-sp summary .h_type02::before {
        content: "";
        background-image: url(../img/arrow_down.svg);
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;
        width: 25px;
        height: 25px;
        margin-right: 1.3em;
    }
    section.outline-sp details[open] summary .h_type02::before {
        background-image: url(../img/arrow_up-red.svg);
    }
    summary {
        list-style: none;
    }
    summary::marker {
        display: none;
    }
    summary::-webkit-details-marker {
        display: none;
    }
    section.outline-sp .details-content{
        border:solid 1.5px;
        box-sizing: border-box;
    }
    section.outline-sp .wd-large{
        width:90%;
    }
    section.outline-sp .text-box h3{
        margin:50px 0 15px 0;
    }
    section.outline-sp .map-box{
        margin:20px auto 50px;
    }
    section.outline.main .map-box, section.outline .map-box{
        width:100%;
    }
    section.outline-sp .layout .box01{
        margin:30px auto;
    }
    section.outline-sp .layout .box01 h5{
        margin-left:1.2em;
        text-indent:-1.2em;
        font-size:16px;
        overflow-wrap: anywhere;
        line-break: strict;
        word-break: auto-phrase;
    }
    section.outline-sp .table-box table{
        margin:7px 0 0;
    }
    section.outline-sp .table-box table tr th:nth-child(1){
        width:auto;
    }
    section.outline-sp .table-box.banyan table tr th:nth-child(1){
        width:13em;
    }
    section.outline-sp .table-box span.alert{
        margin:15px 0 0;
    }
    section.outline-sp .link-btn02{
        line-height: 1.3em;
        overflow-wrap: anywhere;
        line-break: strict;
        word-break: auto-phrase;
    }
    /*accordion end*/
    span.alert{
        font-size:12px;
    }
    section.venues ul li{
        width:100%;
    }
    section.venues ul li .box01{
        margin:3px 10px;
    }
    section.venues ul li .box01 h3{
        font-size:18px;
    }
    section.outline .text-box h3{
        font-size:18px;
        overflow-wrap: anywhere;
        line-break: strict;
        word-break: auto-phrase;
    }
    section.outline .text-box p, .layout p{
        font-size: 14px;
    }
    section.outline.main ul.fade-venues img {
        aspect-ratio: 6/4;
    }
    section.outline .box02, section.outline.sub .box02{
        gap:15px;
    }
    .cost-box ul{
        display: flex;
        flex-flow: column;
        gap:15px;
        margin:15px 0;
    }
    .cost-box ul .box{
        width:100%;
        box-sizing: border-box;
        overflow-wrap: anywhere;
        line-break: strict;
        word-break: auto-phrase;
    }
    section.outline .layout ul.img{
        flex-flow: row wrap;
    }
    section.outline .layout ul.img li{
        width:80%;
    }
    .table-box table{
        font-size:14px;
    }
    /*767 rates*/
    .table-box.cancel {
        margin: 0;
    }
    .table-box.cancel table.c-pc{
        display: none;
    }
    .table-box.cancel .c-sp{
        display: block;
    }
    .table-box.cancel table tr th:nth-child(1){
            background-color: #eadbc5;
    }
    .table-box.cancel table tr:nth-child(1) th:nth-of-type(2){
        background-color:transparent;
    }
    /*767 FAQ*/
    section.faq summary{
        padding:1em;
    }
    section.faq details[open] .answer{
        padding:0 1em 1em 0em;
    }
    /*767 contact*/
    section.contact-block .tel-box{
        margin:30px 0;
    }
    /*767 access*/
    section.access .wrap{
        margin:30px 0;
    }
}
@media screen and (max-width:500px){
    .h_type03{
        width:100%;
        font-size:24px;
        padding:0;
    }
    .eyecatch{
        height:800px;
    }
}