/*======================================================================
  common style
======================================================================*/
html{
    scroll-behavior: smooth;
}

:root {
    --white: #ffffff;
    --gray: #cfcfcf;
    --gray-active: #d9d9d9;
    --gray-light: #eeeeee;
    --black-base: #060606;
    --black-button: #1a1b1f;
}

body{
    min-width: 375px;
    color: var(--black-base);
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1rem;
    line-height: normal;
    background: var(--white);
    counter-reset: number 0;
    padding: 1px 0 0 0;
}

img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

summary{
    display: block;
}
summary::-webkit-details-marker {
    display:none;
}

a{
    color: var(--black-base);
    transition: .3s;
}

a:active{
    opacity: 0.5;
}

@media (hover: hover) {
    a:hover{
        opacity: 0.5;
    }
}

.box_wrap {
    margin: 0 auto;
    max-width: 1200px;
    box-sizing: border-box;
}

@media screen and (max-width: 1200px) {
    .box_wrap {
        padding: 0 30px;
    }
}

.flex_box{
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    flex-direction: row;
}

.logo{
    display: block;
    max-width: 100px;
    width: 100%;
}

/*button*/
.button_language_switch li:first-child{
    position: relative;
}
.button_language_switch li:first-child::after{
    content: "";
    display: block;
    width: 1px;
    height: 16px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: var(--gray-active);
}

.button_language_switch li a{
    font-size: 1.125rem;
    font-weight: 600;
    padding: 0 15px;
}
.button_language_switch li a.active{
    color: var(--gray-active);
    pointer-events: none;
}

.button_search{
    display: block;
    width: 146px;
    box-sizing: border-box;
    padding: 12px 25px;
    color: var(--white);
    background: var(--black-button);
    font-size: 0.75rem;
    line-height: 20px;
    text-align: center
}
.button_search small{
    display: block;
    font-size: 0.625rem;
}

.button_contact{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 0.75rem;
    box-sizing: border-box;
    border: 1px solid var(--black-button);
    padding: 23px 25px 22px 48px;
}
.button_contact::before{
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 25px;
    background: url(../images/icon_mail.svg) no-repeat;
}

.button_reservation{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--white);
    font-size: 1rem;
    font-weight: 600;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--white);
    padding: 9px 42px 9px 10px;
}
.button_reservation::before{
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 72px;
    background: url(../images/arrow_button_reservation.svg) no-repeat;
}

/*no_scroll*/
body.no_scroll{
    overflow: hidden;
}

/*======================================================================
  header
======================================================================*/
header{
    position: fixed;
    top: 0;
    width: 100%;
    height: 80px;
    padding: 8px 0;
    box-sizing: border-box;
    background: var(--white);
    z-index: 10000;
}

header .header_content.flex_box{
    align-items: center;
}

header .header_content .flex_box{
    align-items: center;
    gap: 0 10px;
}

header .header_content .flex_box > p{
    font-size: 0.75rem;
    margin-right: 10px;
}
header .header_content .flex_box > p span{
    display: block;
    font-size: 0.875rem;
    margin-top: 0.5em;
}

header .header_content .button_language_switch.flex_box{
    gap: 0;
    width: 110px;
    justify-content: flex-start;
}

header .header_content .button_language_switch li{
    width: calc((100% - 10px)/2);
}

.l_drawer_icon,
.l_drawer_menu{
    display: none;
}

@media screen and (max-width: 1000px) {
    header{
        padding: 20px 0;
    }
    header .header_content > .flex_box{
        width: 100%;
        margin: 0 0 0 55px;
    }
    header .header_content > .flex_box:last-of-type{
        display: none;
    }

    .l_drawer_checkbox{
        display: none;
    }

    .l_drawer_icon{
        display: block;
        position: absolute;
        top: 30px;
        left: 30px;
        width: 25px;
        height: 25px;
        cursor: pointer;
        outline: none;
        z-index: 100;
    }
    .l_drawer_icon_parts{
        display: block;
        position: absolute;
        top: 0px;
        right: 0;
        bottom: 0;
        left: 0;
        width: 25px;
        height: 2px;
        margin: auto;
        background: var(--black-base);
        transition: .3s;
    }
    .l_drawer_icon_parts::before,
    .l_drawer_icon_parts::after{
        content: "";
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        margin: auto;
        background: var(--black-base);
        transition: .3s;
    }
    .l_drawer_icon_parts::before{
        margin-top: -8px;
    }
    .l_drawer_icon_parts::after{
        margin-top: 8px;
    }

    .l_drawer_overlay{
        background: var(--white);
        opacity: 0;
        pointer-events: none; /*ポインタの動作全部無効化*/
        width: 100%;
        height: 100%;
        position: fixed;
        top: 80px;
        right: 0;
        transition: .3s;
    }
    
    .l_drawer_menu{
        display: block;
        background: var(--black-base);
        width: 100%;
        position: fixed;
        top: 80px;
        right: 100%;
        transition: .3s;
        height: 587px;
    }
    .l_drawer_menu ul{
        height: 100%;
        overflow-y: scroll;
    }
    .l_drawer_menu ul li ul.sub_menu{
        height: auto;
        overflow-y: auto;
    }
    .l_drawer_menu ul li,
    .l_drawer_menu ul li strong,
    .l_drawer_menu ul li ul.sub_menu li{
        border-bottom: 1px solid var(--white);
    }
    .l_drawer_menu ul li ul.sub_menu li:last-child{
        border-bottom: none;
    }
    .l_drawer_menu ul li a,
    .l_drawer_menu ul li strong,
    .l_drawer_menu ul li ul.sub_menu li a{
        padding: 18px 50px 18px 30px;
        display: block;
        color: var(--white);
        font-size: 1.25rem;
        font-weight: 600;
    }
    .l_drawer_menu ul li a,
    .l_drawer_menu ul li ul.sub_menu li a{
        position: relative;
    }
    .l_drawer_menu ul li a::after,
    .l_drawer_menu ul li ul.sub_menu li a::after{
        content: "";
        display: block;
        width: 10px;
        height: 16px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 30px;
        background: url(../images/arrow_l_drawer_menu.svg) no-repeat;
    }
    
    .l_drawer_menu ul li ul.sub_menu li a{
        padding: 18px 100px 18px 70px;
    }
    .l_drawer_menu ul li ul.sub_menu li a::before{
        content: "";
        display: block;
        width: 5px;
        height: 5px;
        border-radius: 50%;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 50px;
        background: var(--white);
    }
    
    /*checked*/
    .l_drawer_checkbox:checked + .l_drawer_icon .l_drawer_icon_parts{
        background: transparent;
    }
    .l_drawer_checkbox:checked + .l_drawer_icon .l_drawer_icon_parts::before{
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        top: 8px;
    }
    .l_drawer_checkbox:checked + .l_drawer_icon .l_drawer_icon_parts::after{
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        top: -8px;
    }

    .l_drawer_checkbox:checked + .l_drawer_icon + .l_drawer_overlay{
        opacity: 0.8;
    }

    .l_drawer_checkbox:checked + .l_drawer_icon + .l_drawer_overlay + .l_drawer_menu{
        right: 0;
    }
}

@media screen and (max-height: 800px) {
    .l_drawer_menu{
        height: 550px;
    }
}

@media screen and (max-height: 390px) {
    .l_drawer_menu{
        height: 210px;
    }
}

/*======================================================================
  nav
======================================================================*/
nav{
    position: fixed;
    top: 80px;
    z-index: 1000;
    background: var(--black-base);
    padding: 10px 0;
    width: 100%;
}

@media screen and (max-width: 1000px) {
    nav{
        display: none;
    }
}

nav .box_wrap ul.flex_box{
    justify-content: center;
    gap: 0 80px;
}

nav .box_wrap ul.flex_box li{
    position: relative;
    z-index: 100;
}

nav .box_wrap ul.flex_box li a{
    color: var(--white);
}

/*dropdown_menu*/
.dropdown_checkbox{
    display: none;
}

.dropdown_button{
    position: relative;
    color: var(--white);
    padding: 0 16px 0 0;
    background: var(--black-base);
    z-index: 100;
}
.dropdown_button::after{
    content: "";
    display: block;
    width: 10px;
    height: 6px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: url(../images/arrow_dropdown_button.svg) no-repeat;
    transition: .3s;
}
.dropdown_button::before{
    content: "";
    display: block;
    width: 130px;
    height: 44px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: var(--black-base);
    z-index: -1;
}

.dropdown_list{
    display: block;
    min-width: 130px;
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--black-base);
    transition: .3s;
    opacity: 0;
}
.dropdown_list li a{
    display: block;
    box-sizing: border-box;
    font-size: 0.875rem;
    text-align: center;
    padding: 15px 0;
}

/*checked*/
.dropdown_checkbox:checked + .dropdown_button::after{
    transform: translateY(-50%) rotate(-180deg);
}

.dropdown_checkbox:checked + .dropdown_button + .dropdown_list{
    opacity: 1;
    top: 33px;
}

/*======================================================================
  footer
======================================================================*/
footer{
    color: var(--white);
    background: var(--black-base);
    padding: 80px 0;
}

footer .box_wrap{
    position: relative;
}

footer .box_wrap .pagetop{
    position: absolute;
    top: 0;
    right: 0;
}
footer .box_wrap .pagetop a{
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    border: 1px solid var(--white);
}
footer .box_wrap .pagetop a::after{
    content: "";
    display: block;
    width: 20px;
    height: 14px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    background: url(../images/arrow_pagetop.svg) no-repeat;
}

footer .box_wrap .footer_wrap{
    max-width: 970px;
}
footer .box_wrap .footer_wrap.flex_box{
    align-items: flex-start;
}

footer .box_wrap .footer_wrap .footer_content{
    max-width: 470px;
}
footer .box_wrap .footer_wrap .footer_content .flex_box{
    align-items: center;
}
footer .box_wrap .footer_wrap .footer_content .flex_box .logo{
    width: 72px;
}
footer .box_wrap .footer_wrap .footer_content .flex_box .button_reservation{
    width: calc(100% - 112px);
}

footer .box_wrap .footer_wrap .footer_content .footer_summary{
    margin: 20px 0 0 0;
    font-size: 0.8125rem;
    line-height: 150%;
}
footer .box_wrap .footer_wrap .footer_content .footer_summary .address{
    margin: 1em 0 0 0;
}
footer .box_wrap .footer_wrap .footer_content .footer_summary .address a{
    color: var(--white);
    font-size: 0.875rem;
}
footer .box_wrap .footer_wrap .footer_content .footer_summary small{
    display: block;
    font-size: 0.75rem;
    margin: 1em 0 0 0;
}
footer .box_wrap .footer_wrap .footer_content .footer_summary .address .tel_sp{
    display: none;
}

footer .box_wrap .footer_wrap .footer_content .footer_sns{
    margin: 13px 0 0 0;
    font-size: 0.875rem;
}
footer .box_wrap .footer_wrap .footer_content .footer_sns ul.flex_box{
    justify-content: flex-start;
    gap: 18px;
}

footer .box_wrap .footer_wrap .footer_nav ul.flex_box{
    justify-content: flex-start;
    gap: 28px;
    font-size: 14px;
}
footer .box_wrap .footer_wrap .footer_nav ul.flex_box li strong{
    font-weight: 400;
}
footer .box_wrap .footer_wrap .footer_nav ul.flex_box li ul{
    margin: 1em 0 0 0;
}
footer .box_wrap .footer_wrap .footer_nav ul.flex_box li ul li{
    margin: 1em 0 0 0;
}
footer .box_wrap .footer_wrap .footer_nav ul.flex_box li ul li a{
    position: relative;
    padding: 0 0 0 14px;
    color: var(--white);
}
footer .box_wrap .footer_wrap .footer_nav ul.flex_box li ul li a::before{
    content: "";
    display: block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
    background: var(--white);
}

footer .button_reservation_sp{
    display: none;
}

footer .copyright{
    text-align: center;
    padding: 30px 0 0;
}

@media screen and (max-width: 1200px) {
    footer{
        padding: 100px 0 75px;
    }
    footer .box_wrap .pagetop{
        top: -60px;
        right: 30px;
    }

    footer .box_wrap .footer_wrap{
        max-width: 100%;
    }
    footer .box_wrap .footer_wrap.flex_box{
        flex-direction: column;
    }

    footer .box_wrap .footer_wrap .footer_content{
        max-width: 100%;
        width: 100%;
        margin: 40px 0;
    }
    footer .box_wrap .footer_wrap .footer_content .flex_box .logo{
        margin: 0 auto;
    }
    footer .box_wrap .footer_wrap .footer_content .flex_box .button_reservation{
        display: none;
    }

    footer .box_wrap .footer_wrap .footer_content .footer_summary{
        text-align: center;
        line-height: 200%;
    }
    footer .box_wrap .footer_wrap .footer_content .footer_summary .address .tel_pc{
        display: none;
    }
    footer .box_wrap .footer_wrap .footer_content .footer_summary .address .tel_sp{
        display: block;
        margin: 1em 0 0 0;
    }
    footer .box_wrap .footer_wrap .footer_content .footer_summary .address .tel_sp dl.flex_box{
        justify-content: center;
        gap: 15px;
    }
    footer .box_wrap .footer_wrap .footer_content .footer_summary .address .tel_sp dl.flex_box dt{
        font-size: 0.875rem;
        font-weight: 600;
        line-height: 160%;  
    }
    footer .box_wrap .footer_wrap .footer_content .footer_summary .address .tel_sp dl.flex_box dd a{
        font-size: 1.25rem;
        font-weight: 600;
        text-decoration: underline;
    }
    footer .box_wrap .footer_wrap .footer_content .footer_summary .address .tel_sp small{
        margin: 0;
    }

    footer .box_wrap .footer_wrap .footer_content .footer_sns ul.flex_box{
        justify-content: center;
    }

    footer .box_wrap .footer_wrap .footer_nav{
        display: none;
    }

    footer .button_reservation_sp{
        display: block;
        position: fixed;
        bottom: 0;
        z-index: 1000;
        width: 100%;
        background: var(--black-base);
        border-top: 1px solid var(--white);
        padding: 15px 0;
    }
    footer .button_reservation_sp .box_wrap a{
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: fit-content;
        color: var(--white);
        font-size: 1rem;
        font-weight: 600;
        margin: 0 auto;
        padding: 0 24px 0 0;
    }
    footer .button_reservation_sp .box_wrap a::before{
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        right: 0;
        background: url(../images/arrow_button_reservation.svg) no-repeat;
    }
    footer .button_reservation_sp .box_wrap small{
        display: block;
        font-size: 0.625rem;
        text-align: center;
        line-height: 100%;
        margin: 10px 0 0 0;
    }

    footer .copyright{
        padding: 0 30px 60px;
    }
}

/*======================================================================
  mv
======================================================================*/
.mv{
    margin: 120px auto 0;
    max-width: 1200px;
    height: 480px;
    background: url(../images/mv.jpg) no-repeat center top / cover;
}

@media screen and (max-width: 1000px) {
    .mv{
        margin: 80px auto 0;
        height: 400px;
        background-position: center center;
    }
}

/*======================================================================
  summary
======================================================================*/
.summary{
    background: var(--white);
    padding: 80px 0;
}

.summary .box_wrap .logo{
    margin: 0 auto;
}

.summary .box_wrap .flex_box{
    gap: 40px;
}

.summary .box_wrap .flex_box h1{
    font-size: 1.875rem;
    font-weight: 500;
}
.summary .box_wrap .flex_box h1 span{
    display: block;
}

.summary .box_wrap .flex_box p{
    width: calc(100% - 340px);
}

@media screen and (max-width: 1000px) {
    .summary{
        padding: 60px 0 40px;
    }
    .summary .box_wrap .flex_box{
        flex-direction: column;
        gap: 40px;
    }
    .summary .box_wrap .flex_box h1{
        text-align: center;
        margin: 0 auto;
    }
    .summary .box_wrap .flex_box p{
        width: 100%;
    }
}

/*======================================================================
  news
======================================================================*/
.news{
    background: var(--gray-light);
    padding: 80px 0;
}

.news .box_wrap .news_head.flex_box{
    justify-content: flex-start;
    gap: 30px;
}

.news .box_wrap .news_head h2{
    font-size: 1.625rem;
}
.news .box_wrap .news_head .news_more{
    position: relative;
    font-size: 0.875rem;
    padding: 0 20px 0 0;
}

.news .box_wrap ul{
    margin: 40px 0 0 0;
}
.news .box_wrap ul li{
    border-bottom: 1px solid var(--gray);
}
.news .box_wrap ul li a.flex_box{
    position: relative;
    justify-content: flex-start;
    gap: 20px;
    padding: 20px 50px 20px 0;
}
.news .box_wrap .news_head .news_more::after,
.news .box_wrap ul li a.flex_box::after{
    content: "";
    display: block;
    width: 8px;
    height: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: url(../images/arrow_news.svg) no-repeat;
}
.news .box_wrap ul li a.flex_box span,
.news .box_wrap ul li a.flex_box h3{
    font-size: 0.875rem;
}

.news .box_wrap ul li a.flex_box h3{
    width: calc(100% - 100px);
}

@media screen and (max-width: 1000px) {
    .news{
        padding: 50px 0;
    }

    .news .box_wrap{
        padding: 0 20px;
    }

    .news .box_wrap .news_head.flex_box{
        justify-content: space-between
    }

    .news .box_wrap ul li a.flex_box{
        flex-direction: column;
        gap: 5px;
        padding: 10px 25px 10px 0;
    }
}

/*======================================================================
  space
======================================================================*/
.space{
    padding: 80px 0 50px;
}

.space .box_wrap .space_head h2{
    font-size: 1.625rem;
    text-align: center;
}
.space .box_wrap .space_head p{
    font-size: 1rem;
    margin: 40px 0 0 0;
    text-align: center;
    font-weight: 600;
}

.space .box_wrap ul.pc_list_preview.flex_box{
    max-width: 900px;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
    margin: 80px auto 0;
}
.space .box_wrap ul.pc_list_preview.flex_box li{
    width: calc((100% - 60px)/3);
}
.space .box_wrap ul.pc_list_preview.flex_box li span{
    display: block;
    max-width: 280px;
    width: 100%;
}
.space .box_wrap ul.pc_list_preview.flex_box li span img{
    width: auto;
    height: 280px;
    object-fit: cover;
}

/*swiper*/
.simple-swiper{
    display: none;
    overflow: hidden;
    margin: 50px 0 0 0;
}

.simple-swiper .swiper-wrapper .swiper-slide{
    max-width: 330px;
    width: 100%;
}
.simple-swiper .swiper-wrapper .swiper-slide img{
    width: auto;
    height: 330px;
    object-fit: cover;
}

@media screen and (max-width: 1000px) {
    .space .box_wrap{
        padding: 0;
    }
    .space .box_wrap .space_head{
        padding: 0 30px;
    }
    .space .box_wrap .space_head h2,
    .space .box_wrap .space_head p{
        text-align: left;
    }
    .space .box_wrap ul.pc_list_preview.flex_box{
        display: none;
    }

    .simple-swiper{
        display: block;
    }
}

/*======================================================================
  content_banner
======================================================================*/
.content_banner{
    position: relative;
    z-index: 100;
    padding: 0 0 80px 0;
}

.content_banner .box_wrap{
    max-width: 1000px;
}

.content_banner .box_wrap ul.flex_box{
    align-items: center;
    gap: 30px;
}

.content_banner .box_wrap ul.flex_box li{
    width: calc((100% - 30px)/2);
}

@media screen and (max-width: 1000px) {
    .content_banner .box_wrap ul.flex_box{
        flex-direction: column;
    }

    .content_banner .box_wrap ul.flex_box li{
        max-width: 800px;
        width: 100%;
    }
}

/*======================================================================
  guest
======================================================================*/
.guest{
    padding: 160px 0 40px;
    margin: -120px 0 0 0;
}

.guest .box_wrap h2{
    font-size: 1.625rem;
    text-align: center;
}

.guest .box_wrap .list_guest_room.flex_box{
    justify-content: flex-start;
    gap: 40px;
    margin: 40px 0 0 0;
}
.guest .box_wrap .list_guest_room.flex_box li{
    width: calc((100% - 40px)/2);
}
.guest .box_wrap .list_guest_room.flex_box li > span{
    display: block;
    overflow: hidden;
    height: 400px;
}
.guest .box_wrap .list_guest_room.flex_box li > span img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.guest .box_wrap .list_guest_room.flex_box li h3{
    font-size: 1.25rem;
    font-weight: 600;
    margin: 20px 0 0 0;
}
.guest .box_wrap .list_guest_room.flex_box li p{
    font-size: 0.875rem;
    margin: 20px 0 0 0;
}

.guest .box_wrap .list_guest_room.flex_box .list_info_guest_room.flex_box{
    justify-content: flex-start;
    gap: 25px;
    margin: 5px 0 0 0;
}
.guest .box_wrap .list_guest_room.flex_box .list_info_guest_room.flex_box li{
    position: relative;
    display: inline-block;
    width: fit-content;
}
.guest .box_wrap .list_guest_room.flex_box .list_info_guest_room.flex_box li::before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.guest .box_wrap .list_guest_room.flex_box .list_info_guest_room.flex_box li.capacity{
    padding: 0 0 0 32px;
}
.guest .box_wrap .list_guest_room.flex_box .list_info_guest_room.flex_box li.capacity::before{
    width: 22px;
    height: 14px;
    background: url(../images/icon_list_capacity_guest_room.svg) no-repeat;
}

.guest .box_wrap .list_guest_room.flex_box .list_info_guest_room.flex_box li.extent{
    padding: 0 0 0 28px;
}
.guest .box_wrap .list_guest_room.flex_box .list_info_guest_room.flex_box li.extent::before{
    width: 18px;
    height: 18px;
    background: url(../images/icon_list_extent_guest_room.svg) no-repeat;
}


.modal_checkbox {
    display: none;
}
  
.modal_open_image {
    position: relative;
    display: block;
    cursor: pointer;
    width: fit-content;
}

.modal_open_image small{
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    box-sizing: border-box;
    position: absolute;
    bottom: 10px;
    right: 10px;
    background: rgba(26,26,26,.68);
    border: 1px solid var(--white);
    color: var(--white);
    font-size: 0.75rem;
    padding: 5px 10px;
}

.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    z-index: 10002;
    transition: .3s;
}

.close {
    position: fixed;
    top: 50px;
    right: 50px;
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--white);
    cursor: pointer;
    z-index: 10003;
    opacity: 0.7;
    transition: .3s;
}
.close:active{
    opacity: 1;
}
@media (hover: hover) {
    .close:hover{
        opacity: 1;
    }
}

.modal_wrapper {
    position: relative;
    width: 100%;
}

.modal_overlay{
    background: var(--black-base);
    opacity: 0;
    pointer-events: none; /*ポインタの動作全部無効化*/
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    transition: .3s;
    z-index: 10001;
}

.swiper-container.slider{
    text-align: center;
    margin: 40px 0 0 0;
}
.swiper-container.slider .swiper-slide img{
    width: 730px;
}

.swiper-button-next,
.swiper-button-prev {
    --swiper-navigation-color: #ffffff;
    opacity: 0.7;
    transition: .3s;
}
.swiper-button-next{
    right: var(--swiper-navigation-sides-offset,150px) !important;
}
.swiper-button-prev{
    left: var(--swiper-navigation-sides-offset,150px) !important;
}
.swiper-button-next::after,
.swiper-button-prev::after{
    font-size: 3.5rem !important;
} 
.swiper-button-next:active,
.swiper-button-prev:active{
    opacity: 1;
}
@media (hover: hover) {
    .swiper-button-next:hover,
    .swiper-button-prev:hover{
        opacity: 1;
    }
}

.slider-thumbnail{
    margin: 20px auto 0;
    width: 198px;
}

.slider-thumbnail .swiper-wrapper{
    gap: 10px;
    justify-content: center;
}

.slider-thumbnail .swiper-slide {
    opacity: 1;
    transition: opacity .3s;
}

.slider-thumbnail .swiper-slide.swiper-slide-thumb-active {
    opacity: .3;
}

/*checked*/
.modal_checkbox:checked + .modal_overlay{
    opacity: 0.86;
}
.modal_checkbox:checked + .modal_overlay + .modal{
    display: flex;
}

@media screen and (max-width: 1000px) {
    .guest{
        padding: 100px 0 50px;
        margin: -100px 0 0 0;
    }
    .guest .box_wrap{
        padding: 0;
    }

    .guest .box_wrap .list_guest_room.flex_box{
        flex-direction: column;
    }
    .guest .box_wrap .list_guest_room.flex_box li{
        width: 100%;
    }
    .guest .box_wrap .list_guest_room.flex_box h3{
        padding: 0 20px;
    }
    .guest .box_wrap .list_guest_room.flex_box p{
        padding: 0 20px;
    }

    .guest .box_wrap .list_guest_room.flex_box .list_info_guest_room.flex_box{
        padding: 0 20px;
    }

    .modal_open_image{
        margin: 0 auto;
    }
    .close{
        top: 30px;
        right: 30px;
    }

    .swiper-button-next{
        right: var(--swiper-navigation-sides-offset,10px) !important;
    }
    .swiper-button-prev{
        left: var(--swiper-navigation-sides-offset,10px) !important;
    }
}

/*======================================================================
  hotel_detail
======================================================================*/
.hotel_detail{
    padding: 160px 0 40px;
    margin: -120px 0 0 0;
}

.hotel_detail .box_wrap h2{
    font-size: 1.625rem;
    text-align: center;
}

.hotel_detail .box_wrap ul.flex_box{
    justify-content: space-between;
    gap: 30px 0;
    margin: 40px 0 0 0;
}

.hotel_detail .box_wrap ul.flex_box li{
    width: calc((100% - 190px)/3);
}
.hotel_detail .box_wrap ul.flex_box li h3{
    position: relative;
    font-size: 1rem;
    font-weight: 600;
    padding: 0 0 0 30px;
}
.hotel_detail .box_wrap ul.flex_box li h3::before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
}

.hotel_detail .box_wrap ul.flex_box .number_of_rooms h3::before{
    width: 14px;
    height: 18px;
    background: url(../images/icon_number_of_rooms.svg) no-repeat;
}
.hotel_detail .box_wrap ul.flex_box .capacity h3::before{
    width: 24px;
    height: 24px;
    background: url(../images/icon_capacity.svg) no-repeat;
}
.hotel_detail .box_wrap ul.flex_box .cafe h3::before{
    width: 23px;
    height: 21px;
    background: url(../images/icon_cafe.svg) no-repeat;
}
.hotel_detail .box_wrap ul.flex_box .check h3::before{
    width: 18px;
    height: 21px;
    background: url(../images/icon_check.svg) no-repeat;
}
.hotel_detail .box_wrap ul.flex_box .wifi h3::before{
    width: 24px;
    height: 17px;
    background: url(../images/icon_wifi.svg) no-repeat;
}
.hotel_detail .box_wrap ul.flex_box .amenity h3::before{
    width: 20px;
    height: 21px;
    background: url(../images/icon_amenity.svg) no-repeat;
}
.hotel_detail .box_wrap ul.flex_box .credit_card h3::before{
    width: 20px;
    height: 16px;
    background: url(../images/icon_credit_card.svg) no-repeat;
}
.hotel_detail .box_wrap ul.flex_box .hotel_inquiry h3::before{
    width: 18px;
    height: 18px;
    background: url(../images/icon_hotel_inquiry.svg) no-repeat;
}
.hotel_detail .box_wrap ul.flex_box .other h3::before{
    width: 22px;
    height: 18px;
    background: url(../images/icon_other.svg) no-repeat;
}

.hotel_detail .box_wrap ul.flex_box li p{
    font-size: 0.875rem;
    line-height: 200%;
}
.hotel_detail .box_wrap ul.flex_box li p:first-of-type{
    margin: 10px 0 0 0;
}

@media screen and (max-width: 1000px) {
    .hotel_detail{
        padding: 100px 0 50px;
        margin: -50px 0 0 0;
    }

    .hotel_detail .box_wrap{
        padding: 0 20px;
    }

    .hotel_detail .box_wrap ul.flex_box{
        flex-direction: column;
        justify-content: space-between;
        gap: 30px 0;
        margin: 40px 0 0 0;
    }
    .hotel_detail .box_wrap ul.flex_box li{
        width: 100%;
    }
}

/*======================================================================
  faq
======================================================================*/
.faq{
    padding: 160px 0 40px;
    margin: -120px 0 0 0;
}

.faq .faq_wrap{
    padding: 80px 0;
    background: var(--gray-light);
}

.faq .box_wrap h2{
    font-size: 1.625rem;
    text-align: center;
}

.faq .box_wrap .faq_content{
    margin: 40px 0 0 0;
}

.faq .box_wrap .faq_content details{
    border-bottom: 1px solid var(--gray);
    padding: 30px 0;
}
.faq .box_wrap .faq_content details summary{
    position: relative;
    font-size: 1rem;
    font-weight: 600;
    padding: 0 0 0 30px;
    list-style: none;
    cursor: pointer;
}
.faq .box_wrap .faq_content details summary::before,
.faq .box_wrap .faq_content details summary::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: var(--black-base);
    transition: .3s;
}
.faq .box_wrap .faq_content details summary::before{
    width: 2px;
    height: 20px;
    left: 10px;
}
.faq .box_wrap .faq_content details summary::after{
    width: 20px;
    height: 2px;
    left: 1px;
}

.faq .box_wrap .faq_content details p{
    margin: 17px 0 0 0;
}
.faq .box_wrap .faq_content details p a{
    display: inline-block;
    text-decoration: underline;
}

.faq .box_wrap .faq_content details[open] summary::before,
.faq .box_wrap .faq_content details[open] summary::after{
    transform: translateY(-50%) rotate(45deg);
}

@media screen and (max-width: 1000px) {
    .faq{
        padding: 100px 0 50px;
        margin: -100px 0 0 0;
    }
    .faq .faq_wrap{
        padding: 50px 0;
    }
    .faq .box_wrap{
        padding: 0 20px;
    }
    .faq .box_wrap .faq_content details summary{
        list-style: none;
    }
}

/*======================================================================
  access
======================================================================*/
.access{
    padding: 160px 0 40px;
    margin: -120px 0 0 0;
}

.access .box_wrap h2{
    font-size: 1.625rem;
    text-align: center;
}

.access .box_wrap .flex_box{
    flex-direction: column;
    gap: 30px;
    margin: 30px 0 0 0;
}

.access .box_wrap .address_box{
    text-align: center;
    margin: 0 auto;
}

.access .box_wrap .address_box h3{
    font-weight: 600;
}
.access .box_wrap .address_box p,
.access .box_wrap .address_box ul{
    margin: 1em 0 0 0;
}
.access .box_wrap .address_box ul li{
    font-size: 0.875rem;
}

@media screen and (max-width: 1000px) {
    .access{
        padding: 100px 0 40px;
        margin: -100px 0 0 0;
    }
    .access .box_wrap{
        padding: 0;
    }
    .access .box_wrap .flex_box{
        gap: 40px;
    }
    .access .box_wrap .flex_box iframe{
        order: 2;
        height: 430px;
    }
    .access .box_wrap .address_box{
        order: 1;
    }
}

/*======================================================================
  gallery
======================================================================*/
.gallery{
    padding: 40px 0 80px 0;
}

.gallery ul.flex_box{
    gap: 30px;
}
.gallery ul.flex_box li{
    width: calc((100% - 120px)/5);
}

@media screen and (max-width: 1000px) {
    .gallery{
        display: none;
    }
}

/*======================================================================
  contact
======================================================================*/
.contact{
    margin: 120px 0 0 0;
    padding: 80px 0;
}

.contact_head h1{
    font-family: "Playfair Display", sans-serif;
    font-size: 1.75rem;
    font-weight: 700;
    text-align: center;
}

@media screen and (max-width: 1000px) {
    .contact{
        padding: 50px 0;
    }
}

/*form*/
.mw_wp_form_input form strong.contact_message{
    display: block;
    font-size: 1.125rem;
    font-weight: 400;
    text-align: center;
    margin: 30px 0 0 0;
}

.mw_wp_form_input form strong.contact_message_preview{
    display: none;
}

.mw_wp_form_confirm form strong.contact_message{
    display: none;
}

.mw_wp_form_confirm form strong.contact_message_preview{
    display: block;
    font-size: 1.125rem;
    font-weight: 400;
    text-align: center;
    margin: 30px 0 0 0;
}

form small.contact_message_small{
    display: block;
    font-size: 0.75rem;
    text-align: center;
    margin: 20px 0 0 0;
}
form small.contact_message_small a{
    display: inline-block;
    text-decoration: underline;
}

form .form_box{
    max-width: 960px;
    margin: 40px auto 0;
}

/*form_label*/
form .form_box label span{
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
}

form .form_box .flex_box{
    margin: 0 0 30px 0;
    gap: 30px;
}

form .form_box .flex_box label{
    width: calc((100% - 30px)/2);
}

/*form_input*/
form .form_box input{
    margin: 20px 0 0 0;
}

form .form_box .name,
form .form_box .email,
form .form_box .tel{
    border: 1px solid var(--gray);
    padding: 10px;
    transition: .3s;
    width: 100%;
    min-height: 70px;
}
form .form_box .name:active,
form .form_box .email:active,
form .form_box .tel:active{
    border: 1px solid var(--black-base);
}
form .form_box .name:focus,
form .form_box .email:focus,
form .form_box .tel:focus{
    outline: none;
    border: 1px solid var(--black-base);
}
@media (hover: hover) {
    form .form_box .name:hover,
    form .form_box .email:hover,
    form .form_box .tel:hover{
        border: 1px solid var(--black-base);
    }
}

/*form_select*/
form .form_box .subject_wrap{
    position: relative;
    width: calc((100% - 30px)/2);
}
form .form_box .subject_wrap::after{
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border: 0;
    border-bottom: solid 2px var(--black-button);
    border-right: solid 2px var(--black-button);
    position: absolute;
    bottom: 32px;
    transform: rotate(45deg);
    right: 20px;
}

form .form_box .subject_wrap .subject{
    width: 100%;
    border: 1px solid var(--gray);
    margin: 20px 0 0 0;
    padding: 10px;
    min-height: 70px;
    font-size: 0.8125rem;
    color: var(--black-button);
    transition: .3s;
}
form .form_box .subject_wrap .subject option{
    font-size: 0.8125rem;
    color: var(--black-button);
}
form .form_box .subject_wrap .subject:active{
    border: 1px solid var(--black-base);
}
form .form_box .subject_wrap .subject:focus{
    outline: none;
    border: 1px solid var(--black-base);
}
@media (hover: hover) {
    form .form_box .subject_wrap .subject:hover{
        border: 1px solid var(--black-base);
    }
}

/*form_textarea*/
form .form_box .message{
    width: 100%;
    margin: 20px 0 0 0;
    transition: .3s;
    padding: 20px;
    border: 1px solid var(--gray);
}
form .form_box .message:active{
    border: 1px solid var(--black-base);
}
form .form_box .message:focus{
    outline: none;
    border: 1px solid var(--black-base);
}
@media (hover: hover) {
    form .form_box .message:hover{
        border: 1px solid var(--black-base);
    }
}

/*form_submit*/
form .form_box .submit{
    display: block;
    max-width: 720px;
    width: 100%;
    box-sizing: border-box;
    font-size: 1rem;
    text-align: center;
    color: var(--white);
    background: var(--black-base);
    margin: 30px auto 0;
    padding: 20px 0;
    border-radius: 15px;
    transition: .3s;
}
form .form_box .submit:active{
    opacity: 0.5;
}
@media (hover: hover) {
    form .form_box .submit:hover{
        opacity: 0.5;
    }
}

.mw_wp_form_preview form .form_box .subject_wrap::after{
    content: none;
}

@media screen and (max-width: 1000px) {
    form .form_box .flex_box{
        flex-direction: column;
        gap: 40px;
    }
    form .form_box .flex_box label,
    form .form_box .subject_wrap{
        width: 100%;
    }
}

.mw_wp_form_confirm form .form_box .contact_preview_box{
    background: #f9f9f9;
    margin: 20px 0 0 0;
    padding: 20px 10px;
}

/*======================================================================
  page_common
======================================================================*/
.page_wrap{
    margin: 173px 0 50px 0;
}

.page_wrap h1{
    font-size: 1.875rem;
    font-weight: 700;
    text-align: center;
}

.page_content{
    margin: 173px 0 50px 0;
}

.page_content .page_head h1,
.page_content .page_head h2,
.page_content h2{
    font-size: 1.75rem;
    text-align: center;
}
.page_content .page_head p{
    font-size: 0.9375rem;
    font-weight: 500;
    margin: 40px 0 0 0;
    line-height: 1.5;
}

.page_content h3.head_left{
    font-size: 1.25rem;
    text-align: left;
}
.page_content h3{
    font-size: 0.875rem;
    font-weight: 700;
}
.page_content strong.content_title{
    font-size: 0.875rem;
    font-weight: 700;
}
.page_content strong{
    font-size: 0.75rem;
    font-weight: 400;
}

.page_content h2 + h3{
    display: block;
    font-size: 1.25rem;
    font-weight: 400;
    text-align: center;
}
.page_content small{
    display: block;
    text-align: right;
    margin: 30px 0 0 0;
}

.page_content p{
    font-size: 0.75rem;
}
.page_content p.paragraph_center{
    display: block;
    text-align: center;
}

.page_content ul{
    margin: 30px 0 0 0;
}
.page_content ul li{
    font-size: 0.75rem;
}
.page_content ul li:not(:first-child){
    margin: 30px 0 0 0;
}

.page_content ul.company_list{
    max-width: 768px;
    margin: 30px auto 0;
}
.page_content ul.company_list li.flex_box{
    justify-content: space-between;
}
.page_content ul.company_list li.flex_box:not(:first-child){
    margin: 20px 0 0 0;
}
.page_content ul.company_list li.flex_box strong{
    font-size: 0.875rem;
    font-weight: 500;
}
.page_content ul.company_list li.flex_box p{
    width: calc(100% - 230px);
}

.page_content a{
    display: inline-block;
    text-decoration: underline;
}

.page_content .word_break{
    word-break: break-all;
}

.page_content .page_content_box{
    padding: 30px 0;
    border-bottom: 1px solid var(--gray);
}

.page_wrap .page_content{
    margin: 50px 0 0 0;
}

.page_content p + p,
.page_content h3.head_left + h3,
.page_content h3 + p,
.page_content strong.content_title + p{
    margin: 1em 0 0 0;
}

.page_content h2 + h3,
.page_content .page_content_box + .page_head,
.page_content p + h3{
    margin: 50px 0 0 0;
}

#best_rate{
    padding: 160px 0 0;
    margin: -110px 0 0;
}

@media screen and (max-width: 1000px) {
    .page_content{
        margin: 130px 0 50px;
    }

    .page_content ul.company_list li.flex_box:not(:first-child){
        margin: 40px 0 0 0;
    }
    .page_content ul.company_list li.flex_box{
        flex-direction: column;
    }
    .page_content ul.company_list li.flex_box p{
        width: 100%;
    }
}

/*======================================================================
  page_error_not_found
======================================================================*/
.error_not_found .error_message{
    max-width: 820px;
    margin: 0 auto;
}
.error_not_found .error_message h1{
    font-family: "Playfair Display", sans-serif;
    font-size: 10rem;
    font-weight: 500;
    text-align: center;
    line-height: 1;
}
.error_not_found .error_message strong{
    display: block;
    font-family: Zen Old Mincho, sans-serif;
    font-size: 2rem;
    line-height: 1;
    margin: 70px 0 0 0;
    text-align: center;
}
.error_not_found .error_message p{
    font-size: 1.125rem;
    text-align: center;
    margin: 30px 0 0 0;
}
.error_not_found .error_message a{
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 440px;
    width: 100%;
    box-sizing: border-box;
    color: var(--white);
    background: var(--black-button);
    margin: 30px auto 0;
    padding: 20px 0;
    border-radius: 30px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-decoration: none;
}

@media screen and (max-width: 1000px) {
    .error_not_found .error_message{
        padding: 20px;
    }
    .error_not_found .error_message h1{
        font-size: 5rem;
    }
    .error_not_found .error_message strong{
        font-size: 1.5rem;
        margin: 30px 0 0;
    }
    .error_not_found .error_message p{
        font-size: 0.875rem;
    }
    .error_not_found .error_message p span{
        display: block;
    }
    .error_not_found .error_message a{
        padding: 10px 0;
    }
}

/*======================================================================
  archive_news,archive_area
======================================================================*/
.archive{
    margin: 120px 0 0 0;
    padding: 80px 0;
}

.archive .box_wrap .archive_head.flex_box{
    justify-content: space-between;
    align-items: flex-start;
    gap: 30px;
}

.archive .box_wrap .archive_head h1{
    font-size: 1.625rem;
}

.archive .box_wrap .archive_head .dropdown_archive_wrap{
    position: relative;
    max-width: 130px;
    width: 100%;
}

/*dropdown_archive*/
.dropdown_archive{
    display: none;
}
.dropdown_archive_button{
    position: relative;
    display: block;
    padding: 10px 16px 10px 0;
    background: var(--gray-light);
    text-align: center;
    transition: .3s;
}
.dropdown_archive_button::after{
    content: "";
    display: block;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent var(--black-button);
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    right: 16px;
    transition: .3s;
}
.dropdown_archive_button:active{
    color: var(--white);
    background: var(--black-button);
}
@media (hover: hover) {
    .dropdown_archive_button:hover{
        color: var(--white);
        background: var(--black-button);
    }
    .dropdown_archive_button:hover::after{
        border-color: transparent transparent transparent var(--white);
    }
}

.dropdown_archive_list{
    display: none;
    width: 100%;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    height: 0;
    z-index: 100;
}
.archive .box_wrap ul.dropdown_archive_list{
    margin: 0;
}
.archive .box_wrap .dropdown_archive_list li{
    text-align: center;
    border-bottom: none;
}
.dropdown_archive_list li a{
    display: block;
    padding: 10px 0;
    background: var(--gray-light);
}

.dropdown_archive_list li a:active{
    color: var(--white);
    background: var(--black-button);
}
@media (hover: hover) {
    .dropdown_archive_list li a:hover{
        opacity: 1;
        color: var(--white);
        background: var(--black-button);
    }
}

/*checked*/
.dropdown_archive:checked + .dropdown_archive_button::after{
    transform: translateY(-50%) rotate(-90deg);
}
.dropdown_archive:checked + .dropdown_archive_button + .dropdown_archive_list{
    display: block;
    height: 100%;
}

.archive .box_wrap ul{
    margin: 40px 0 0 0;
}
.archive .box_wrap ul li{
    border-bottom: 1px solid var(--gray);
}
.archive .box_wrap ul li a.flex_box{
    position: relative;
    justify-content: flex-start;
    gap: 20px;
    padding: 20px 50px 20px 0;
}
.archive .box_wrap .archive .news_more::after,
.archive .box_wrap ul li a.flex_box::after{
    content: "";
    display: block;
    width: 8px;
    height: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: url(../images/arrow_news.svg) no-repeat;
}
.archive .box_wrap ul li a.flex_box::after{
    right: 10px;
}
.archive .box_wrap ul li a.flex_box span,
.archive .box_wrap ul li a.flex_box h3{
    font-size: 0.875rem;
}

.archive .box_wrap ul li a.flex_box h3{
    width: calc(100% - 100px);
}

@media screen and (max-width: 1000px) {
    .archive{
        padding: 50px 0;
    }

    .archive .box_wrap{
        padding: 0 20px;
    }

    .archive .box_wrap .news_head.flex_box{
        justify-content: space-between
    }

    .archive .box_wrap ul li a.flex_box{
        flex-direction: column;
        gap: 5px;
        padding: 10px 25px 10px 0;
    }
}

/*======================================================================
  archive_area
======================================================================*/
.archive_art{
    margin: 120px 0 0 0;
    padding: 80px 0;
}

.archive_art .box_wrap{
    max-width: 1000px;
}

.archive_art .box_wrap .archive_head h1{
    font-size: 1.625rem;
}

.archive_art .box_wrap .archive_head .archive_head_summary{
    margin: 20px 0 0 0;
}

.archive_art .box_wrap .archive_head .archive_head_summary.flex_box{
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
}

.archive_art .box_wrap .archive_head .archive_head_summary p{
    font-size: 0.875rem;
}
.archive_art .box_wrap .archive_head .archive_head_summary p + p{
    margin: 20px 0 0 0;
}
.archive_art .box_wrap .archive_head .archive_head_summary p + strong{
    position: relative;
    display: block;
    margin: 40px 0 0 0;
}
.archive_art .box_wrap .archive_head .archive_head_summary strong + p + p{
    margin: 0;
}
.archive_art .box_wrap .archive_head .archive_head_summary .wrap_logo_event{
    position: relative;
    display: block;
    overflow: hidden;
    height: 250px;
}
.archive_art .box_wrap .archive_head .archive_head_summary .wrap_logo_event img{
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.archive_art .box_wrap .archive_head .archive_head_summary .visible_pc{
    display: inline-block;
}
.archive_art .box_wrap .archive_head .archive_head_summary .visible_sp{
    display: none;
}

.archive_art .box_wrap ul.flex_box{
    max-width: 1000px;
    justify-content: space-between;
    gap: 40px 25px;
    margin: 50px auto 0;
}

.archive_art .box_wrap ul.flex_box li{
    width: calc((100% - 70px)/3);
}

.archive_art .box_wrap ul.flex_box li a h2{
    transition: .5s;
}

.archive_art .box_wrap ul.flex_box li a span{
    display: block;
}
.archive_art .box_wrap ul.flex_box li a span img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.archive_art .box_wrap ul.flex_box li a .archive_art_list_head{
    padding: 10px;
    transition: .5s;
}
.archive_art .box_wrap ul.flex_box li a .archive_art_list_head h2{
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    transition: .3s;
	-webkit-box-orient: vertical;
    max-height: 48px;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    overflow: hidden;
}
.archive_art .box_wrap ul.flex_box li a:active{
    opacity: 1;
}
.archive_art .box_wrap ul.flex_box li a:active .archive_art_list_head{
    background: var(--black-base);
    transition: .5s;
}
.archive_art .box_wrap ul.flex_box li a:active .archive_art_list_head h2{
    color: var(--white);
    background: var(--black-base);
    transition: .5s;
}
@media (hover: hover) {
    .archive_art .box_wrap ul.flex_box li a:hover{
        opacity: 1;
    }
    .archive_art .box_wrap ul.flex_box li a:hover .archive_art_list_head{
        background: var(--black-base);
        transition: .5s;
    }
    .archive_art .box_wrap ul.flex_box li a:hover .archive_art_list_head h2{
        color: var(--white);
        transition: .5s;
    }
}

@media screen and (max-width: 1000px) {
    .archive_art{
        margin: 80px 0 0 0;
        padding: 50px 0;
    }
    
    .archive_art .box_wrap{
        padding: 0;
    }

    .archive_art .box_wrap .archive_head{
        padding: 0 20px;
    }

    .archive_art .box_wrap ul.flex_box{
        gap: 20px;
        padding: 0 20px;
    }
    
    .archive_art .box_wrap ul.flex_box li{
        width: calc((100% - 20px)/2);
    }

    .archive_art .box_wrap ul.flex_box li a .archive_art_list_head{
        max-width: 100%;
    }
    .archive_art .box_wrap ul.flex_box li a .archive_art_list_head h2{
        text-align: center;
    }

    .archive_art .box_wrap ul.flex_box li a span img{
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .archive_art .box_wrap .archive_head .archive_head_summary .visible_pc{
        display: none;
    }
    .archive_art .box_wrap .archive_head .archive_head_summary .visible_sp{
        display: inline-block;
    }
}

@media screen and (max-width: 480px) {
    .archive_art .box_wrap ul.flex_box{
        flex-direction: column;
        gap: 40px;
    }
    .archive_art .box_wrap ul.flex_box li{
        width: 100%;
    }
}

/*======================================================================
  single_art
======================================================================*/
.post_art{
    margin: 120px 0 0 0;
    padding: 80px 0;
}

.post_art .box_wrap{
    max-width: 1000px;
    padding: 0;
}

.post_art .box_wrap .back_home{
    position: relative;
    display: block;
    width: fit-content;
    margin: 50px auto 0 ;
    padding: 0 0 0 20px;
    font-size: 0.875rem;
}
.post_art .box_wrap .back_home::before{
    content: "";
    display: block;
    width: 8px;
    height: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background: url(../images/arrow_single-art.svg) no-repeat;
}

.post_art .box_wrap .post_art_head h1{
    font-size: 1.625rem;
    margin: 0 0 30px 0;
}
.post_art .box_wrap .post_art_head .sp_time{
    display: none;
}
.post_art .box_wrap .post_art_head p{
    font-size: 0.875rem;
}
.post_art .box_wrap .post_art_head p + p{
    margin: 1em 0 0 0;
}

.post_art .box_wrap .post_art_head p a{
    display: inline-block;
    font-weight: 700;
    text-decoration: underline;
}

.post_art .box_wrap .post_art_content{
    margin: 30px 0 0 0;
}
.post_art .box_wrap .post_art_content p{
    margin: 1em 0 0 0;
}
.post_art .box_wrap .post_art_content .list_artist_contents.flex_box{
    justify-content: flex-start;
    gap: 5px;
    margin: 30px 0 0 0;
}
.post_art .box_wrap .post_art_content .list_artist_contents.flex_box li{
    max-width: 330px;
    width: 100%;
}
.post_art .box_wrap .post_art_content .list_artist_contents.flex_box li span{
    display: block;
}
.post_art .box_wrap .post_art_content .list_artist_contents.flex_box li span img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.post_art .box_wrap .post_art_content .post_art_box{
    box-sizing: border-box;
    padding: 30px 0;
    border-top: 1px solid var(--black-base);
    border-bottom: 1px solid var(--black-base);
}
.post_art .box_wrap .post_art_content .post_art_box h2{
    font-size: 1.25rem;
}

.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box{
    justify-content: flex-start;
    gap: 5px;
    margin: 30px 0 0 0;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li{
    width: calc((100% - 10px)/3);
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li span{
    overflow: hidden;
    display: block;
    height: 330px;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li span img{
    width: 100%;
    height: auto;
    object-fit: contain;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li h3{
    font-size: 1.125rem;
    margin: 15px 0 0 0;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info{
    margin: 15px 0 0 0;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info .artist_link{
    position: relative;
    display: block;
    width: fit-content;
    box-sizing: border-box;
    padding: 0 25px 0 0;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info .artist_link::after{
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: url(../images/icon_artist_link.svg) no-repeat;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box{
    max-width: 150px;
    justify-content: flex-start;
    gap: 10px;
    margin: 10px 0 0 0;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li{
    width: calc((100% - 30px)/4);
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li a{
    display: inline-block;
    width: 30px;
    height: 30px;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li a.artist_youtube{
    background: url(../images/icon_gray_youtube.png) no-repeat center / 100% auto;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li a.artist_instagram{
    background: url(../images/icon_gray_instagram.svg) no-repeat center / 100% auto;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li a.artist_x{
    background: url(../images/icon_gray_x.png) no-repeat center / 100% auto;
}
.post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li a.artist_pinterest{
    background: url(../images/icon_gray_pinterest.svg) no-repeat center / 100% auto;
}

@media screen and (max-width: 1000px) {
    .post_art{
        margin: 80px 0 0 0;
        padding: 50px 0;
    }
    
    .post_art .box_wrap{
        padding: 0;
    }
    
    .post_art .box_wrap .post_art_head{
        padding: 0 20px;
    }
    .post_art .box_wrap .post_art_head h1{
        font-size: 1.25rem;
        font-weight: 600;
    }
    .post_art .box_wrap .post_art_head .sp_time{
        display: block;
        font-size: 0.875rem;
        font-weight: 600;
        margin: 20px 0 30px 0;
    }

    .post_art .box_wrap .post_art_content{
        margin: 50px 0 0 0;
    }
    .post_art .box_wrap .post_art_content .post_art_box{
        padding: 30px 20px;
    }
    .post_art .box_wrap .post_art_content .post_art_box h2{
        text-align: center;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box{
        flex-direction: column;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li{
        width: 100%;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li span{
        height: 100%;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li span img{
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li h3{
        text-align: center;
        padding: 0 20px;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info{
        max-width: 240px;
        margin: 15px auto 0;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info .artist_link{
        margin: 0 auto;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box{
        max-width: 240px;
        justify-content: center;
        gap: 16px;
    }
    .post_art .box_wrap .post_art_content .art_summary{
        padding: 0 20px;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li{
        width: calc((100% - 48px)/4);
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li a{
        width: 48px;
        height: 48px;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li a.artist_x{
        background: url(../images/icon_gray_x.svg) no-repeat center / 100% auto;
    }
    .post_art .box_wrap .post_art_content .post_art_box .artist_list.flex_box li .artist_info ul.flex_box li a.artist_youtube{
        background: url(../images/icon_gray_youtube.svg) no-repeat center / 100% auto;
    }

    .post_art .box_wrap .post_art_content .list_artist_contents.flex_box{
        max-width: 705px;
        margin: 30px auto 0;
        padding: 0 20px;
    }

    .post_art .box_wrap .post_art_content .list_artist_contents.flex_box li{
        width: calc((100% - 5px)/2);
    }
}

/*======================================================================
  post_area
======================================================================*/
.post_area{
    margin: 123px 0 0 0;
    padding: 80px 0;
}

.post_area .box_wrap .post_area_head h1{
    color: var(--black-base);
    font-size: 1.25rem;
    font-weight: 600;
}
.post_area .box_wrap .post_area_head .post_time{
    display: block;
    margin: 20px 0 0 0;
    font-size: 0.875rem;
    font-weight: 600;
}

.post_area .box_wrap .post_area_content{
    margin: 30px 0 0 0;
}

.post_area .box_wrap .post_area_content p{
    line-height: 1.5;
}

.post_area .box_wrap .post_area_content .back_home{
    margin: 30px 0 0 0;
}

.post_area .box_wrap .back_home{
    position: relative;
    display: block;
    width: fit-content;
    margin: 50px auto 0 ;
    padding: 0 0 0 20px;
    font-size: 0.875rem;
}
.post_area .box_wrap .back_home::before{
    content: "";
    display: block;
    width: 8px;
    height: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background: url(../images/arrow_single-art.svg) no-repeat;
}

/*content*/
.post_area_content{
    font-size: 0.875rem;
}

.post_area .box_wrap{
    max-width: 800px;
}

.post_area_content .text_bold{
    display: inline;
    font-weight: 700;
    margin: 1px 0 0 0;
}

.post_area_content .text_bg{
    display: inline;
    box-sizing: border-box;
    color: var(--white);
    background: #a5433f;
    margin: 1px 0 0 0;
    padding: 0 3px;
}

.post_area_content .text_underline{
    display: inline;
    font-weight: 400;
    background: linear-gradient(transparent 85%, #f4a8ab 15%);
    margin: 1px 0 0 0;
}

.post_area_content figure{
    overflow: hidden;
    display: block;
    text-align: center;
    height: 400px;
}
.post_area_content figure img{
    width: auto;
    height: 100%;
    object-fit: contain;
}

.post_area_content p a{
    display: inline-block;
    font-weight: 700;
    text-decoration: underline;
}

.post_area_content p + p,
.post_area_content p + .text_bold,
.post_area_content p + .text_bg,
.post_area_content p + .text_underline{
    margin: 1em 0 0 0;
}

.post_area_content p + figure,
.post_area_content figure + p,
.post_area_content figure + figure{
    margin: 40px 0 0 0;
}

@media screen and (max-width: 1000px) {
    .post_area{
        border-top: 1px solid #000;
        margin: 80px 0 0 0;
        padding: 50px 0;
    }

    .post_area_content figure{
        height: 250px;
    }

    .post_area_content p + figure,
    .post_area_content figure + p,
    .post_area_content figure + figure{
        margin: 20px 0 0 0;
    }
}

/*======================================================================
  post_news
======================================================================*/
.post_news{
    margin-top: 124px;
    padding: 80px 0;
}

.post_news .box_wrap{
    max-width: 800px;
}

.post_news .box_wrap .post_news_head h1{
    font-size: 1.25rem;
    font-weight: 600;
}
.post_news .box_wrap .post_news_head .post_time{
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    margin-top: 20px;
}

.post_news .box_wrap .post_news_content{
    margin-top: 30px;
}
.post_news .box_wrap .back_home{
    position: relative;
    display: block;
    width: fit-content;
    margin: 50px auto 0 ;
    padding: 0 0 0 20px;
    font-size: 0.875rem;
}
.post_news .box_wrap .back_home::before{
    content: "";
    display: block;
    width: 8px;
    height: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background: url(../images/arrow_single-art.svg) no-repeat;
}

/*content*/
.post_news_content{
    font-size: 0.875rem;
}

.post_news_content .text_bold{
    display: inline-block;
    font-weight: 700;
}

.post_news_content .text_bg{
    display: inline-block;
    box-sizing: border-box;
    color: var(--white);
    background: #a5433f;
    padding: 0 3px;
}

.post_news_content .text_underline{
    display: inline-block;
    font-weight: 400;
    background: linear-gradient(transparent 85%, #f4a8ab 15%);
}

.post_news_thumb{
    overflow: hidden;
    display: block;
    text-align: center;
    height: 400px;
    margin-top: 40px;
}
.post_news_thumb img{
    width: auto;
    height: 100%;
    object-fit: contain;
}

.post_news_content p + p,
.post_news_content p + .text_bold,
.post_news_content p + .text_bg,
.post_news_content p + .text_underline{
    margin: 1em 0 0 0;
}


@media screen and (max-width: 1000px) {
    .post_news{
        border-top: 1px solid #000;
        margin: 80px 0 0 0;
        padding: 50px 0;
    }

    .post_news_thumb{
        height: 250px;
    }
}

/*======================================================================
  cookie
======================================================================*/
#cookie-notice{
    line-height: 1;
}

#cookie-notice, #cookie-notice .cn-button:not(.cn-button-custom){
    font-size: 1rem;
}

#cookie-notice .cookie-notice-container, #cookie-notice .cookie-revoke-container{
    width: calc(100% - 60px);
    padding: 40px 0;
    transition: .3s;
    z-index: 10000;
    text-align: left;
    display: flex;
    gap: 40px;
    align-items: flex-start;
    max-width: 1600px;
    margin: 0 auto;
}

.cn-text-container{
    margin: 0;
}

#cn-notice-text{
    color: var(--white);
    width: calc(100% - 360px);
    font-weight: 300;
    font-size: 1rem;
    line-height: normal;
    font-family: "Noto Sans JP", sans-serif;
}

#cn-notice-text .cookie_text a{
    display: inline-block;
    color: var(--white);
    text-decoration: underline;
}

#cn-notice-buttons{
    display: flex;
    gap: 24px;
}

#cn-close-notice{
    display: none;
}

#cookie-notice .cn-button:not(.cn-button-custom){
    cursor: pointer;
    border: 1px solid #fff;
    color: var(--white);
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 148px;
    height: 41px;
    visibility: visible;
    background: transparent !important;
    border-radius: 0;
    padding: 0;
    letter-spacing: 0;
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
}

#cookie-notice .cn-button:not(.cn-button-custom) + .cn-button:not(.cn-button-custom){
    cursor: pointer;
    border: 1px solid #fff;
    color: #1A1B1F !important;
    background: var(--white);
    background: #fff !important;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 148px;
    height: 40px;
    font-family: "Noto Sans JP", sans-serif;
}

.cookie-notice-container #cn-notice-buttons, .cookie-notice-container #cn-notice-text{
    display: flex;
}

@media screen and (max-width: 1000px) {
    #cookie-notice .cookie-notice-container, #cookie-notice .cookie-revoke-container{
        flex-direction: column;
        padding: 30px 0;
    }
    #cn-notice-text{
        width: 100%;
    }
    #cn-notice-buttons{
        margin: 0 auto;
    }

    .cookie-notice-container #cn-notice-buttons, .cookie-notice-container #cn-notice-text{
        display: flex;
    }
}

@media screen and (max-width: 480px) {
    #cn-notice-buttons{
        flex-direction: column;
    }
}

#cookie_policy,
#provision-to-third-parties{
    padding: 150px 0 0 0;
    margin: -120px 0 0 0;
}