@charset "utf-8";

.mainimage{
margin: 100px auto 0px auto;
background: url("../topImage/mainimg_07.png");
background-size: cover;
text-align: center;

}

.mainimage .top_map{
position: relative;
width: 100%;
height: 586px;
top: 50px;
}

.mainimage .top_map .img_map{
position: absolute;
width: 100%;
height: 586px;
}

.mainimage .catch01{
position: relative;
top: -100px;
}
.mainimage .catch02{
position: relative;
top: -100px;
}


.body-wrapper {
    width: 1152px;
    max-width: 100%;
    margin: 0 auto;
}

.job_block{
background: #ececec;
width: 100%;
height: 100%;
}

.main{
width: 1100px;
margin: 0px auto;
}

.contents {
    display: flex;
    flex-wrap: wrap;
}

.contents .caption{
width: 100%;
margin: 40px auto;
text-align: center;
}

.contents .caption h2{
font-size: 28px;
font-weight: bold;
margin: 40px auto 40px auto;
letter-spacing: 3px;
}
.contents .caption p{
font-size: 16px;
line-height: 240%;
font-family: 'Noto Sans JP', sans-serif;
}


.btn-white-res {
    display: none;
}

.btn::before {
    content: '';
    position: absolute;
    left: 98%;
    bottom: 50%;
    display: inline-block;
    width: 50px;
    height: 1px;
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    background-color: #FFF;
}

.dining-btn-box {
    text-align: center;
    margin-top: 60px;
    margin-bottom: 100px;
}

.btn-dining {
    position: static;
    position: relative;
}



.produce {
    width: 100%;
    height: auto;
    background: url("../images/produce-bg.jpg") no-repeat;
    background-size: cover;
    background-position-y: 60%;
    overflow: hidden;
    padding-bottom: 100px;
}

.produce-title {
    width: 93px;
    margin: 75px auto 85px;
}

.produce-content {
    display: flex;
    flex-wrap: wrap;
    color: #fff;
}

.produce-box-l {
    width: 570px;
    position: relative;
}

.produce-content-title {
    font-size: 1.8rem;
    letter-spacing: 1.5px;
    border-bottom: 1px dashed #FFF;
    padding-bottom: 15px;
    display: inline-block;
}

.produce-content-title span {
    font-size: 1.5rem;
    padding-left: 24px;
}

.produce-subtitle {
    font-family: adobe-garamond-pro, serif;
    font-size: 2.5rem;
    line-height: 50.37px;
    letter-spacing: 1.25px;
    margin: 50px 0 35px;
}

.produce-items-title {
    color: #000 !important;
}

.produce-desc {
    font-size: 1.8rem;
    line-height: 40px;
    letter-spacing: 1.8px;
    margin-bottom: 100px;
    max-width: 90%;
}

.produce-box-r {
    width: 570px;
    height: 620px;
    position: relative;
}

.produce-box-r img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}

.case_block {
background: #E4E4E4;
width: 100%;
}
.case_block ul{
width: 1000px;
margin: 0px auto;
display: flex;
justify-content: space-between;
}
.case_block ul li{
width: 30%;
}
.case_block ul li img{
width: 100%;
}


/*-----------catering----------*/

.mainimage_catering{
margin: 100px auto 0px auto;
background: url("images/catering_head_bg01.jpg") center bottom no-repeat;
background-size: cover;
/*background-size: 100%;*/
text-align: center;
width: 100%;
aspect-ratio: 16 / 7;
display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
.mainimage_catering .filter{
background: rgba(255,255,255,0.50);
display: block;
height: 100%;
width: 100%;
display: flex; /* 子要素をflexboxで揃える */
    flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */
}
.mainimage_catering h1{
color: #993333;
font-size: 50px;
letter-spacing: 2px;
font-weight: 300;
font-family: 'Crimson Text', serif;
position: absolute;
top: 580px;
z-index: 4;
}
.mainimage_catering .tate{
position: absolute;
top: 700px;
z-index: 2;
  width: 1px;
  height: 50px;
  background-color: #993333;
}

.contents_caption{
margin: 100px auto;
text-align: center;
padding: 0px 0px 60px 0px;
background: url("images/border01.png") center bottom  no-repeat;
}

.contents_caption h2{
font-size: 30px;
color: #993333;
letter-spacing: 2px;
margin: 0px auto 40px auto;
}

.contents_caption p{
font-size: 15px;
line-height: 300%;
font-family: 'Noto Sans JP', sans-serif;
}


.main h2{
margin: 0px auto;
text-align: center;
}

.main .insta_btn{
width: 270px;
position: relative;
right: 0;
left: auto;
z-index: 1;
margin: -50px 0px 10px auto;
}

.main .news{
width: 100%;
margin: 30px auto 50px auto;
padding: 0;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-ms-flex-wrap: wrap;
      flex-wrap: wrap;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}
.main .news li{
width: 32%;
margin: 0px auto 30px auto;
padding: 0px;
overflow: hidden;
}

.main .news li .news_image{
width: 100%;
height: 250px;
overflow: hidden;
text-align: center;
}
.main .news li img{
object-fit: cover;
width: 100%;
height: 100%;
text-align: center;
object-position: 50% bottom;
}

.main .news li .date{
font-size: 15px;
margin: 20px 0px 15px 0px;
text-align: left;
font-family: 'Noto Sans JP', sans-serif;
font-weight: bold;
}
.main .news li p{
font-size: 15px;
line-height: 200%;
font-family: 'Noto Sans JP', sans-serif;
}

.main h3.plan_hd{
text-align: left;
font-size: 28px;
font-family: 'Noto Sans JP', sans-serif;
padding: 0px 0px 10px 0px;
margin: 0px 0px 20px 0px;
font-weight: 600;
letter-spacing: 2px;
}
.main h3.plan_hd span{
text-align: left;
font-size: 15px;
}

.main h3.plan_hd_ri{
text-align: right;
font-size: 28px;
font-family: 'Noto Sans JP', sans-serif;
padding: 0px 0px 10px 0px;
margin: 0px 0px 20px 0px;
font-weight: 600;
letter-spacing: 2px;
}
.main h3.plan_hd_ri span{
text-align: left;
font-size: 15px;
}

.main .plan_flex{
width: 100%;
margin: 50px auto 80px auto;
padding: 0;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   font-family: 'Noto Sans JP', sans-serif;
}

/*ギャラリー*/
.swiper-container {
    width: 48%;
    height: auto;
    margin: 0px;
}

.main .plan_menu{
width: 48%;
margin: 0px auto 30px auto;
padding: 0;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-ms-flex-wrap: wrap;
      flex-wrap: wrap;
   font-family: 'Noto Sans JP', sans-serif;
}
.main .plan_menu dt{
width: 100%;
margin: 0px 0px 10px 0px;
padding: 0px 0px 0px 0px;
line-height: 120%;
font-size: 16px;
border-bottom: 1px dotted #C3B9AA;
}
.main .plan_menu dd{
width: 100%;
font-size: 14px;
margin: 0px 0px 5px 0px;
line-height: 140%;
}

/*アコーディオン*/
.main .ac-menu {
    /*max-width: 100%;*/
}
.main .ac-menu a {
    display: block;
    padding: 15px;
    text-decoration: none;
    color: #000;
}
.main label {
    display: block;
    margin: 0 0 4px 0;
    padding : 10px 0px;
    line-height: 1;
    color :#000;
    text-decoration: underline;
    cursor :pointer;
}
.main input {
    display: none;
}
.main .ac-menu ul {
    margin: 0;
    padding: 0px;
    /*background :#f4f4f4;*/
    list-style: none;
}
.main .ac-menu li {
    height: 0;
    overflow: hidden;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
}
#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li,
#menu_bar03:checked ~ #links03 li,
#menu_bar04:checked ~ #links04 li,
#menu_bar05:checked ~ #links05 li,
#menu_bar06:checked ~ #links06 li,
#menu_bar07:checked ~ #links07 li,
#menu_bar08:checked ~ #links08 li,
#menu_bar09:checked ~ #links09 li,
#menu_bar10:checked ~ #links10 li,
#menu_bar11:checked ~ #links11 li,
#menu_bar12:checked ~ #links12 li,
#menu_bar13:checked ~ #links13 li,
#menu_bar14:checked ~ #links14 li,
#menu_bar15:checked ~ #links15 li{
    height: 80px;
    opacity: 1;
}


/*モーダル*/
.content{
			margin: 0 auto;
			padding: 40px;
}
.modal{
			display: none;
			height: 100vh;
			position: fixed;
			top: 0;
			width: 100%;
            z-index: 999999999 !important;
}
.modal__bg{
			background: rgba(0,0,0,0.8);
			height: 100vh;
			position: absolute;
			width: 100%;
            z-index: 999999999 !important;
}
.modal__content{
			background: #fff;
			left: 50%;
			padding: 40px;
			position: absolute;
			top: 50%;
			transform: translate(-50%,-50%);
		width: 60%;
        height: 80%;
        overflow-y:scroll;
        z-index: 999999999 !important;
}
.modal__content p{
margin: 10px 0px;
font-size: 14px;
font-family: 'Noto Sans JP', sans-serif;
}
.modal__content dl{
margin: 0px 0px 10px 0px;
padding: 0;
}
.modal__content dl dt{
margin: 0px 0px 10px 0px;
font-size: 14px;
padding: 0px 0px 5px 0px;
font-family: 'Noto Sans JP', sans-serif;
font-weight: bold;
border-bottom: 1px dotted #ccc;
}
.modal__content dl dd{
margin: 0px 0px 10px 0px;
font-size: 13px;
font-family: 'Noto Sans JP', sans-serif;
line-height: 140%;
}
.js-modal-close{
text-align: center;
color: #fff;
background: #1F1F1F;
padding: 5px;
margin: 10px auto 0px auto;
font-size: 13px;
}
p.js-modal-close{
margin: 10px auto 0px auto;
}

.main h3.option_hd{
text-align: left;
font-size: 20px;
font-family: 'Noto Sans JP', sans-serif;
border-bottom: 1px dotted #C3B9AA;
padding: 0px 0px 10px 0px;
margin: 0px 0px 20px 0px;
font-weight: 600;
letter-spacing: 2px;
}

.main .option_flex{
width: 100%;
margin: 50px auto 80px auto;
padding: 0;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
   font-family: 'Noto Sans JP', sans-serif;
}
 
.main .option_menu{
width: 49%;
margin: 0px 0px 0px 0px;
font-family: 'Noto Sans JP', sans-serif;
}
.main .option_menu dt{
font-size: 15px;
margin: 0px 0px 5px 0px;
font-weight: 700;
color: #633C53;
}
.main .option_menu dd{
margin: 0px 0px 5px 0px;
line-height: 180%;
font-size: 14px;
}


.option_bnr{
position: fixed;
right: 0;
bottom: 0;
width: 50%;
margin: 0;
padding: 0;
background: #fff;
z-index: 500;
}
.option_bnr img{
width: 100%;
}

.plusoption_block{
width: 100%;
background-image: linear-gradient(45deg, rgba(247, 93, 139, 1), rgba(254, 220, 64, 1));
padding: 0px 0;
margin: 0px auto 50px auto;
}
.plusoption_block h3{
text-align: center;
margin: 20px auto 10px auto;
font-family: 'Noto Sans JP', sans-serif;
letter-spacing: 2px;
color: #fff;
font-size: 18px;
text-shadow: 1px 1px 3px #888;
}
.plusoption_block h3::before{
content: "＼";
font-weight: 400;
}
.plusoption_block h3::after{
content: "／";
font-weight: 400;
}
.plusoption_block h2{
text-align: center;
margin: 0px auto 10px auto;
font-size: 26px;
font-family: 'Noto Sans JP', sans-serif;
letter-spacing: 2px;
color: #fff;
text-shadow: 1px 1px 3px #888;
}
.plusoption_block .flex{
display: flex;
justify-content: space-between;
margin: 0px 0 0px 0;
}
.plusoption_block .flex .artist_img{
width: 25%;
overflow: hidden;
background: url(images/fit=cover_left.jpg) center center no-repeat;
background-size: cover;
}
.plusoption_block .flex .artist_img_r{
width: 25%;
overflow: hidden;
background: url(images/fit=cover_right.jpg) center center no-repeat;
background-size: cover;
}
.plusoption_block .flex .artist_img img{
}
.plusoption_block .flex .artist_cap h3{
margin: 20px auto;
font-size:  1.2rem;
text-decoration: none;
}
.plusoption_block .flex .artist_cap h4 a{
margin: 20px auto;
font-size: 1.4rem;
text-decoration: none;
color: #333;
text-align: center;
}
.plusoption_block .flex .artist_cap h4{
text-align: center;
}
.plusoption_block .flex .artist_cap{
width: 50%;
max-width: 600px;
margin: 30px auto 30px auto;
padding: 0px 20px;
display: flex;
align-items: center;
flex-wrap: wrap;
overflow: hidden;
text-shadow: 1px 1px 3px #888;
}
.plusoption_block .flex .artist_cap p{
color: #fff;
text-shadow: 1px 1px 3px #888;
line-height: 180%;
font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
.plusoption_block .flex .artist_cap .link_support{
text-align: right;
margin: 0px 0px 0px auto;
}
.plusoption_block .flex .artist_cap .link_support a{
color: #fff;
text-decoration: underline;
text-align: right !important;
}




.main h3.delivery_amount_hd{
margin: 20px auto 15px auto;
text-align: center;
font-size: 20px;
letter-spacing: 2px;
   font-family: 'Noto Sans JP', sans-serif;
}
.main .amount_flex{
width: 100%;
height: 100%;
margin: 20px auto 10px auto;
padding: 0;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
flex-grow:1;
   font-family: 'Noto Sans JP', sans-serif;
}
.main .amount_flex table.amount_table{
border-collapse: collapse;
border: 1px solid #ccc;
width: 20%;
background: #fff;
}
.main .amount_flex table.amount_table tr.first_hd{
height: 30px;
vertical-align: middle;
line-height: 140%;
}

.main .amount_flex .amount_table th{
border: 1px solid #ccc;
font-size: 11px;
text-align: left;
padding:5px 3px;
}
.main .amount_flex .amount_table td{
border: 1px solid #ccc;
font-size: 12px;
padding:5px 3px;
}
.main .amount_flex .amount_table .h_30{
height: 100%;
}
.tokyo_hd th{
background: #CFEDFF;
}
.tokyo_hd tr:nth-child(odd){
background: #E5F5FF;
}
.kanagawa_hd th{
background: #FFEECB;
}
.kanagawa_hd tr:nth-child(odd){
background: #FFF9EB;
}
.chiba_hd th{
background: #D4EFC7;
}
.chiba_hd tr:nth-child(odd){
background: #ECFFE4;
}

.main .kome{
font-size: 12px;
text-align: center;
color: #B30002;
   font-family: 'Noto Sans JP', sans-serif;
}
.main .mb50{
margin-bottom: 50px;
}


.reservaiton_block{
background: #362D2A;
padding: 70px 0px;
}

.yoyaku_flex{
width:100%;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
margin: 0px auto;
border-bottom: 1px solid #F3F2ED;
}
.yoyaku_flex .yoyaku01,
.yoyaku_flex .yoyaku02{
width: 380px;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -ms-flex-direction: column;
         flex-direction: column;
         -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
         margin: 40px 20px 80px 20px;
         background: #F3F2ED;
         text-align: center;
         }
.yoyaku_flex .yoyaku01 a,
.yoyaku_flex .yoyaku02 a{
color: #392C2C;
display: block;
width: 100%;
height: 100%;
display: flex;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
     -ms-flex-direction: column;
         flex-direction: column;
         -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
   -webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
 padding: 60px 5%;
}
.yoyaku_flex .yoyaku01 a:hover,
.yoyaku_flex .yoyaku02 a:hover{
opacity: 0.7;
}

.yoyaku_flex .yoyaku01 h3{
text-align: center;
color: #fff;
background: #993333;
padding: 10px 30px 10px 30px;
width: 220px;
font-size: 30px;
line-height: 140%;
letter-spacing: 2px;
font-family: 'Crimson Text', serif;
font-weight: 400;
}
.yoyaku_flex .yoyaku02 h3{
text-align: center;
color: #fff;
background: #392C2C;
padding: 10px 30px 10px 30px;
width: 220px;
font-size: 30px;
line-height: 140%;
letter-spacing: 2px;
font-family: 'Crimson Text', serif;
font-weight: 400;
}
.yoyaku_flex .yoyaku01 h4,
.yoyaku_flex .yoyaku02 h4{
font-size: 30px;
letter-spacing: 5px;
font-family: 'Noto Serif JP', serif;
font-weight: normal;
margin: 30px auto;
}
.yoyaku_flex .yoyaku01 p,
.yoyaku_flex .yoyaku02 p{
border-top: 1px solid #392C2C;
border-bottom: 1px solid #392C2C;
padding: 10px 0px;
line-height: 200%;
font-family: 'Noto Sans JP', sans-serif;
font-size: 17px;
}

.map_flex{
width:100%;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
margin: 60px auto 0px;
}
.map_flex .left{
width: 42%;
}
.map_flex .left dl{
color: #fff;
font-family: 'Noto Sans JP', sans-serif;
}
.map_flex .left dl dt{
font-size: 20px;
font-weight: bold;
margin: 0px 0px 5px 0px;
}
.map_flex .left dl dd{
font-size: 15px;
margin: 0px 0px 30px 0px;
line-height: 200%;
}

.map_flex .right{
width: 60%;
}
.map_flex .right img{
width: 100%;
}


.about_block{
background: url("images/about_bg.png") no-repeat 80% 80%;
padding: 70px 0px 200px 0px;
}

.about_block .info_box{
margin: 80px auto 100px auto;
}

.about_block .about_box {
width: 770px;
margin: 0px auto 0px auto;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
-webkit-box-align: center;
     -ms-flex-align: center;
        align-items: center;
    border-bottom: 1px solid #633C53;
}

.about_block .about_box dt{
width: 25%;
padding: 10px 0px 10px 0px;
background:  #633C53;
text-align: center;
font-size: 20px;
color: #fff;
margin:15px 0px 15px 0px;
font-family: 'Noto Sans JP', sans-serif;
}
.about_block .about_box dd{
width: 75%;
font-size: 20px;
margin:15px 0px 15px 30px;
font-family: 'Noto Sans JP', sans-serif;
}
.about_block .about_box dd span{
font-size: 44px;
}


.info h2 {
    text-align: center;
    margin: 50px auto 20px auto;
    font-size: 30px;
    color: #0B0B0B;
    font-family: 'Crimson Text', serif;
    font-weight: bold;
    line-height: 140%;
	letter-spacing: 3px;}
.info h2 span {
    font-size: 16px;
    font-weight: normal;
	font-family: 'Noto Sans JP', sans-serif;}
.info .news {
    width: 100%;
    list-style: none;
    margin: 30px auto 70px auto;
	overflow: hidden;}
.info .news li {
    width: 100%;
display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  webkit-box-align: baseline;
     -ms-flex-align: baseline;
        align-items: baseline;
-ms-flex-wrap: wrap;
      flex-wrap: wrap;
  border-bottom: 1px solid #ececec;
  padding: 15px 0px;
  font-size: 14px;
font-family: 'Noto Sans JP', sans-serif;
position: relative;
line-height: 200%;
	}
.info .news li .icon03 {
    background: #221716 url(../topImage/icon03.png) 5px no-repeat;
    color: #fff;
    padding: 10px 5px 10px 30px;
    margin: 0px 10px;
    border-radius: 5px;
    width: 185px;
    font-size: 12px;
	font-family: 'Noto Sans JP', sans-serif;
}
a:link, a:visited, a:hover, a:active {
	text-decoration: none;}
.info .news li .icon02 {
    background: #E9474D url(../topImage/icon02.jpg) 5px no-repeat;
    color: #fff;
    padding: 10px 3px 10px 30px;
    margin: 0px 10px;
    border-radius: 5px;
    width: 185px;
	font-family: 'Noto Sans JP', sans-serif;}
.info .news li p{
width: 100%;
margin: 10px auto;
line-height: 160%;
}

.info .sns_list{
width: 100%;
display: flex;
justify-content: space-between;
margin: 0px auto 100px auto;
padding: 0;
}
.info .sns_list li{
width: 49%;
display: flex;
justify-content: center;
align-items: center;
}
.info .sns_list li a{
width: 100%;
height: 100%;
text-align: center;
font-weight: bold;
padding: 15px 0;
font-size: 20px;
display: flex;
justify-content: center;
align-items: center;
border-radius: 10px;
}
.info .sns_list li img{
width: 30px;
height: auto;
margin-right: 15px;
}
.info .sns_list li a.insta_block{
background: #d6249f;
background: radial-gradient(circle at 10% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
color: #fff;
}
.info .sns_list li a.youtube_block{
background: red;
color: #fff;
}
.info .sns_list li a:hover{
background: #ccc;
}



.modal__content h4{
margin: 20px auto 10px auto;
padding: 0 0 10px 0;
border-bottom: 1px solid #ccc;
font-size: 24px;
text-align: left;
}
.modal__content .news_table{
width: 100%;
display: flex;
flex-wrap: wrap;
font-size: 1.2rem;
}
.modal__content .news_table dt{
width: 30%;
margin: 0;
padding: 10px;
border-bottom: dotted 1px #fff;
background: #4A6444;
color: #fff;
}
.modal__content .news_table dd{
width: 65%;
margin: 0;
padding: 10px;
border-bottom: dotted 2px #ccc;
line-height: 150%;
}
.modal__content p{
line-height: 160%;
}


