@charset "utf-8";
/* CSS Document */
body{
    padding: 0;
    margin: 0;
}
*{
    box-sizing: border-box;
	word-break: break-all;
	line-break: strict;
	word-wrap: break-word;
	overflow-wrap: break-word;
	text-rendering: optimizeLegibility;
    font-family: "Cambria", "Times New Roman", "游明朝", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "MS PMincho", "serif";
}
a{
    text-decoration: none;
}
a:visited{
    text-decoration: none!important;
}
a:hover {
    text-decoration: none!important;
}
a:active {
    text-decoration: none!important;
}
input{
    appearance: none;
    -webkit-appearance: none;
}
.img_wrap{
    line-height: 0;
}
.res_wrap img,
.top_logomark img,
.img_wrap img{
    max-width: 100%;
    height: auto;
}
label{
    cursor: pointer;
}


/* header */
header{
    height: 73px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
}
header.is-fixed{
    background: rgba(0,0,0,.8);
}
header > nav{
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 100vh;
    background: #000;
    transition: .2s all;
    opacity: 0;
    visibility: hidden;
}
header > .res_wrap > label p{
    display: none;
}
#top_nav_check ~ label{
    position: fixed;
    top: 24px;
    left: 23px;
    width: 32px;
    height: 23px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    z-index: 1;
    transition: .2s all;
}
#top_nav_check ~ label::before{
    content:"";
    width: 100%;
    position: absolute;
    top: 10px;
    left: 0;
    border-top: 1px solid #fff;
    display: block;
}
#top_nav_check:checked ~ label{
    transform: rotate(225deg);
    transition: .2s all;
    border-bottom: none;
}
#top_nav_check:checked ~ label::before {
    transform: rotate(-85deg);
    top: -1px;
}
header > input:checked ~ nav{
    width: 100%;
    opacity: 1;
    visibility: visible;
}
header > nav > ul{
    width: 100%;
    margin: 90px auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    padding: 0;
    border-top: 1px solid #e1e1e1;
    list-style: none;
}
header > nav > ul li{
    width: 100%;
    border-bottom: 1px solid #e1e1e1;
}
header > nav > ul li a{
    display: block;
    color: #e1e1e1;
    padding: 15px;
}
header > nav > ul li a:hover{
    color: #555;
}
header > .res_wrap{
    position: absolute;
    top: 0;
    right: 0;
}
header > .res_wrap > label{
    cursor: default;
}
.res_inner{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, .8);
    opacity: 0;
    visibility: hidden;
    transition: .2s all;
}
#res_check:checked ~ .res_inner{
    opacity: 1;
    visibility: visible;
    transition: .2s all;
}
.res_inner > .img_wrap{
    border: 1px solid #fff;
    max-width: 308px;
}
.res_inner > .img_wrap a{
    position: relative;
    display: block;
}
.res_inner > .img_wrap a::before{
    content:"";
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.5);
    position: absolute;
}
.res_inner > .img_wrap a p{
    margin: 0;
    line-height: 80%;
    color: #fff;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50% , -50%);
    font-size: 25px;
    font-weight: 500;
    width: 100%;
    text-align: center;
}
.res_inner > .img_wrap a p small{
    display: block;
    font-size: 15px;
    font-weight: 500;
}
.res_inner > .img_wrap:nth-of-type(1){
    margin: auto 0 40px;
    overflow: hidden;
    transition: .2s all;
}
.res_inner > .img_wrap:nth-of-type(2){
    margin: 40px 0 auto;
    overflow: hidden;
    transition: .2s all;
}
.res_inner > .img_wrap:nth-of-type(1):hover img{
    transform: scale(1.2);
    transition: .2s all;
    max-width: 308px;
}
.res_inner > .img_wrap:nth-of-type(2):hover img{
    transform: scale(1.2);
    transition: .2s all;
    max-width: 308px;
}
.res_inner > label{
    width: 25px;
    border-top: 5px solid #fff;
    display: block;
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 100;
    transform: rotate(45deg);
}
.res_inner > label::before{
    content: "";
    width: 25px;
    border-top: 5px solid #fff;
    display: block;
    transform: rotate(-90deg);
    position: absolute;
    top: -4px;
    right: 0px;
}
.top_logomark{
    margin: 0;
    padding: 0;
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translate(-50% , 0);
    max-width: 49px;
    transition: .2s all;
}
.is-fixed .top_logomark{
    transform: scale(.4) translate(-150%, -95px);
    transition: .2s all;
}
#concept_check ~ label{
    display: block;
    color: #e1e1e1;
    padding: 15px;
    position: relative;
}
#concept_check ~ label::before{
    content: "";
    width: 21px;
    border-top: 1px solid #e1e1e1;
    position: absolute;
    top: 23px;
    right: 20px;
}
#concept_check ~ label::after{
    content: "";
    height: 21px;
    border-right: 1px solid #e1e1e1;
    position: absolute;
    top: 14px;
    right: 30px;
    transition: .2s all;
}
#concept_check:checked ~ label::after{
    height: 0;
    top: 30px;
    transition: .2s all;
}
#concept_check:checked ~ label{
    border-bottom: 1px solid #e1e1e1;
}
#concept_check ~ ul{
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transition: .2s all;
    height: 0;
    list-style: none;
}
#concept_check:checked ~ ul{
    height: auto;
    visibility: visible;
    opacity: 1;
    transition: .2s all;
}
#concept_check ~ ul li{
    border-bottom: 1px solid #e1e1e1;
}
#concept_check ~ ul li:last-of-type{
    border-bottom: none;
}
#concept_check ~ ul li a{
    display: block;
    color: #e1e1e1;
    padding: 0 15px;
    transition: .2s all;
}
#concept_check:checked ~ ul li a{
    padding: 15px;
    transition: .2s all;
}
#concept_check ~ ul li a > span{
    display: inline-block;
    margin: 0 0 0 8px;
}


/* reservation */


/* footer */


/*---  20230326 非表示
footer{
    color: #fff;
    background: #2D1707;
    margin: 0 auto 0;
}

.footer_wrap {
  display: grid; 
  grid-template-columns: 33% 33% 33%; 
  grid-template-rows: auto auto auto auto auto auto; 
  gap: 0px 0px; 
  grid-template-areas: 
    "logo info info"
    "logo info info"
    "logo info info"
    "info2 info2 info2"
    "info3 info3 info3"
    "info4 info4 info4";
    padding: 0 15px 50px;
    max-width: 1650px;
    margin: 0 auto;
    width:100%;
    height:100%;
    min-height:0;
}
.footer_wrap p{
    font-size: 15px;
}
.footer_wrap .img_wrap { 
    grid-area: logo;
    padding: 0 5px 0 0;
}
.footer_wrap > p:nth-of-type(1) { 
    grid-area: info;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
}
.footer_wrap > p:nth-of-type(2) { 
    grid-area: info2; 
    width:100%;
    height:100%;
    min-height:0;
}
.footer_wrap > p:nth-of-type(3) { 
    grid-area: info3; 
}
.footer_wrap > p:nth-of-type(4) { 
    grid-area: info4; 
} --*/


footer {
  color: #fff;
  background: #2D1707;
  margin: 0 auto 0;
}
.footer_wrap {
    max-width: 1650px;
    margin: 0 auto;
}
.footer_wrap .img_wrap {
  padding: 0 5px 0 0;
}
.img_wrap img {
  max-width: 100%;
  height: auto;
}
@media (min-width: 899px) {
.footer_wrap {
display: flex;
flex-wrap: wrap;
padding: 0 15px 50px;
}
.img_wrap img,.footer_wrap p {
display: inline-block;
}
.footer_block {
padding: 5% 0px 0px 2%;
width:75%;
}
.footer_wrap p:nth-child(1) {
display: block;
padding: 0px 0px 20px;
}
.footer_wrap p {
margin:0px 0px 0px 20px;
}
}

@media (max-width: 898px) {
.footer_block {
display: inline-block;
padding: 5% 0px 0px 5%;
width:60%;
}
.footer_wrap .img_wrap {
display: inline-block;
width:30%;
vertical-align: top;
}
}
@media (max-width: 797px) {
.footer_block {
display: inline-block;
padding: 5% 0px 0px 2%;
width:50%;
}
.footer_wrap .img_wrap {
display: inline-block;
width:30%;
vertical-align: top;
}
}



/* category top */
.category_top_outer{
    background: #000;
}
.category_top_wrap{
    background: #000;
    position: relative;
    width: 100%;
    text-align: center;
    margin: 0 auto;
}
.category_top_wrap .category_title{
    position: absolute;
    margin: 0;
    padding: 0;
    bottom: 10px;
    left: 15px;
    font-size: 30px;
    color: #CC9E7D;
    text-shadow: 6px 9px 10px rgba(0,0,0,1);
    font-weight: normal;
}

/* category bc */
.bread_crumbs{
    padding: 20px 15px;;
    margin: 2em auto 0;
    width: 100%;
    max-width: 1650px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    list-style: none;
}
.bread_crumbs li{
    position: relative;
}
.bread_crumbs li::after{
    content:"/";
    display: inline-block;
    margin: 0 5px;
}
.bread_crumbs li:last-of-type::after{
    display: none;
}
.bread_crumbs li a{
    color: #818181;
}
/* cmmn */
/* animation */
.block{
    opacity: 0;
}
.block.run{
    opacity: 1;
    transition: 1s opacity;
}
.block.clp{
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s cubic-bezier(0.4, 0, 0.2, 1);
}
.block.clp.run{
  clip-path: inset(0 0 0 0);
}

/* tag */
.news_tag_wrap .leverre,
.category-le-verre-kyoto,
.le-verre-kyoto{
    background: #715640;
    color: #fff;
}
.news_tag_wrap .boa,
.category-rat-boar-ii,
.rat-boar-ii{
    background: #291F4B;
    color: #fff;
}

/* layout */
.two_column{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}
.full{
    width: 100%;
}
.half{
    width: 50%;
}
.left{
    text-align: left;
}
.center{
    text-align: center;
}
.right{
    text-align: right;
}
.half.left{
    padding: 0 10px 0 0;
}
.half.right{
    padding: 0 0 0 10px;
}

@media(min-width: 600px){
    .res_inner{
        width: 100%;
        max-width: 1053px;
        height: 500px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .res_inner > .img_wrap:nth-of-type(1){
        width: 45%;
        margin: 0 25px 0 auto;
        text-align: right;
    }
    .res_inner > .img_wrap:nth-of-type(2){
        width: 45%;
        margin: 0 auto 0 25px;
        text-align: left;
    }
}

/* 768px for table*/
@media (min-width: 768px) {
    /* header */
    
    
    /* footer */
    .footer_wrap p{
        font-size: 18px;
    }
    /* --260326非表示
    .footer_wrap {
      display: grid; 
      grid-template-columns: 20% 20% 20% 20% 20%; 
      grid-template-rows: auto auto auto; 
      gap: 0px 0px; 
      grid-template-areas: 
        "logo info  info 0 0"
        "logo info2 info2 info4 info4"
        "logo info3 info3 info4 info4";
        padding: 0 15px 50px;
    }
    .footer_wrap > p:nth-of-type(2),
    .footer_wrap > p:nth-of-type(4),
    .footer_wrap > p:nth-of-type(1){
        margin: 0;
    }
    .footer_wrap > p:nth-of-type(3){
        margin: 0em 0 0;
    } */
}

/* 1000px for pc*/
@media (min-width: 1000px) {
    #top_nav_check ~ label{
        display: none;
    }
    header{
        height: 64px;
        position: absolute;
    }
    .top_logomark{
        left: 5%;
        transform: none;
        max-width: 10%;        
    }
    .is-fixed .top_logomark {
        width: auto;
        transition: .2s all;
    }
    header > nav{
        width: 100%;
        opacity: 1;
        height: auto;
        visibility: visible;
    }
    header > nav > ul{
        margin: 0;
        padding: 0;
    }
    header > .res_wrap > label img{
        display: none;
    }
    header > .res_wrap > label p{
        margin: 0;
        padding: 20px 97px;
        background: #640F0F;
        color: #fff;
        font-size: 20px;
        display: block;
    }
    header > nav{
        width: auto;
        opacity: 1;
        height: auto;
        visibility: visible;
        top: 7px;
        right: 320px;
        background: transparent;
        left: auto;
        position: absolute;
    }
    header > nav > ul{
        border-top: none;
    }
    header > nav > ul li{
        width: auto;
        border-bottom: none;
        margin-right: 20px;
        position: relative;
    }
    header > nav > ul li::after{
        content: "";
        display: block;
        height: 20px;
        position: absolute;
        top: 50%;
        right: -6px;
        border-right: 1px solid #E1E1E1;
        transform: rotate(35deg) translate(0, -55%);
    }
    header > nav > ul li:last-of-type::after{
        display: none;
    }
    #concept_check ~ label::before,
    #concept_check ~ label::after{
        content: none;
    }
    #concept_check ~ ul{
        border: 1px solid #FFFFFF;
        position: absolute;
        bottom: 0;
        left: 0;
        transform: translate(-50%, 99%);
        height: auto;
        display: block;
        width: 410%;
        max-width: 438px;
        padding: 20px 30px;
    }
    header > nav > ul li:nth-of-type(3):hover #concept_check ~ ul{
        opacity: 1;
        visibility: visible;  
        background: #000;      
    }
    #concept_check ~ ul li{
        border-bottom: none;
    }
    #concept_check ~ ul li::before{
        content:"";
        width: 0;
        position: absolute;
        bottom: 0;
        left: 0;
        border-bottom: 2px solid #640F0F;
        display: block;
        transition: .4s all;
    }
    #concept_check ~ ul li:hover::before{
        width: 100%;
        transition: .4s all;
    }
    #concept_check ~ ul li::after{
        content: none;
    }
    #concept_check ~ label{
        pointer-events: none;
    }
    #concept_check ~ ul li a{
        padding: 15px;
    }
    .footer_wrap > p:nth-of-type(3){
        margin: -3.5em 0 0;
    }
    /* category */
    .category_top_wrap .category_title{
        font-size: 40px;
    }
    .bread_crumbs{
        margin: 100px auto 0;
    }
}

/* 1200px for wide pc */
@media (min-width: 1200px) {
    header{
        width: calc(100% - ((100vw - 1200px) / 2));
        margin: 0 0 0 auto;
        right: 0;
        left: auto;
    }
    header > nav{
        top: 51px;
    }
    header > .res_wrap > label p{
        padding: 66px 97px;
        font-size: 20px;
    }
    .top_logomark{
        top: 57px;
    }
    /* category */
    .category_top_wrap .category_title{
        font-size: 120px;
        bottom: 10px;
        left: 15px;
    }
    /* 20260326 非表示　
    .footer_wrap > p:nth-of-type(3){
        margin: -5em 0 0;
    } */
}
@media (min-width: 1650px){
    .category_top_wrap .category_title{
        left: calc((100vw - 1650px) / 2 + 15px);
    }
}