@charset "utf-8";
main{width: 1080px;margin:0 auto 100px auto;}
main section{margin-bottom:100px;}

section{margin-bottom:180px;}

h3.title{width:fit-content;margin:0 auto 50px auto;font-size:20px;font-weight:700;padding-bottom:7px;margin-bottom:70px;}
h3.title:after{content:'';display:block;width:60px;height:5px;background:linear-gradient(90deg,#461E2A,#BE101E);margin:10px auto 0 auto;}
h3.title02{font-size:32px;font-weight: bold;margin-bottom: 50px;;}
h3.title02 b{display: block;margin-bottom:10px;font-size:15px;font-weight:bold;color: #066;font-family: "Montserrat", sans-serif;font-style: italic;}
h3.title02::after{content: "";display: block;height: 4px; background: linear-gradient(to right, #066, transparent);margin-top:15px;}

.flexBOX{display: flex;justify-content: space-between;align-items: center;}
.flexBOX > div{width: 50%;}

a.link{display: table;margin:50px auto;min-width:240px;padding:0.8em 2em;background:linear-gradient(90deg,#461E2A,#BE101E);color:#fff;font-weight:600;text-align: center;}
a.link:hover{opacity:.7;}



/*humBTN*/
.humBTN{position:absolute;display:block;width:50px;height:50px;top:26px;right:30px;cursor:pointer;z-index:2;}
#humBOX .humBTN{position:absolute;right:30px;}
.humBTN span{display:block;position:absolute;width:35px;height:3px;background-color:#666;right:0;left:0;top:0;bottom:0;margin:auto;transition:all 0.2s ease-in-out 0s;transform:rotate(0deg);opacity:1;}
.humBTN.open span:nth-of-type(2){opacity:0;}
.humBTN.open span{position:absolute;width:30px;height:3px;background-color:#fff;z-index:3;}
.humBTN span:nth-of-type(1){top:-20px;}
.humBTN.open span:nth-of-type(1){top: 0;transform:rotate(45deg);opacity:1;}
.humBTN span:nth-of-type(3){top:20px;}
.humBTN.open span:nth-of-type(3){top: 0;transform:rotate(-45deg);opacity:1;}
.humBTN:not(.open):hover span:nth-of-type(1){-webkit-animation:humLINE 0.25s 0s 1 forwards;animation:humLINE 0.25s 0s 1 forwards;}
.humBTN:not(.open):hover span:nth-of-type(2){-webkit-animation:humLINE 0.25s 0.1s 1 forwards;animation:humLINE 0.25s 0.1s 1 forwards;}
.humBTN:not(.open):hover span:nth-of-type(3){-webkit-animation:humLINE 0.25s 0.2s 1 forwards;animation:humLINE 0.25s 0.2s 1 forwards;}
@-webkit-keyframes humLINE{0%{background-color:#fff;}100%{background-color:#ddd;}}@keyframes humLINE{0%{background-color:#fff;}100%{background-color:#ddd;}}

.humBTN:after{display:block;opacity:0;position:relative;bottom:-15px;font-size:12px;color:#fff;text-align:center;transition:0.3s ease-in-out;}
.humBTN.open:after{opacity:1;bottom:-5px;}
.humBTN.open:hover span{background-color:#ddd;}

#humBOX{box-sizing:border-box;background:rgba(0,0,0,0.8) url(../layout/humBCKG.gif);width:385px;min-height:100vh;border-left:1px solid rgba(255,255,255,0.15);position:fixed;right:-385px;top:0;z-index:6;padding:70px 40px 50px 40px;transition:0.2s ease-in-out;}
#humBOX.open{right:0;}

ul#hMenu,ul#hMenu a,ul#hMenu > li ol li,ul#hMenu > li ol li a{color:#ddd;}
ul#hMenu,ul#hMenu a:hover,ul#hMenu > li ol li:hover,ul#hMenu > li ol li a:hover{color:#fff;opacity:1;}
ul#hMenu > li{font-size:19px;padding-left:15px;background:url(../layout/arrow02.gif) no-repeat left 12px;margin-bottom:7px;}
ul#hMenu > li:hover{background-position-x:2px;}
ul#hMenu > li > span{display:block;cursor:pointer;position:relative;bottom:-2px;}
ul#hMenu > li ol{margin-bottom:20px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;}
ul#hMenu > li ol li{width:calc(50% - 0px);margin-bottom:0;}
ul#hMenu > li ol li a{color:#fff;font-size:14px;}
ul#hMenu > li ol li a:hover{opacity:0.8;text-decoration:underline;}

#humBOX ol#hMenu > li dd ul,#humBOX ol#hMenu > li > ul{padding-bottom:12px;}
#humSkin{display:none;position:fixed;left:0;top:0;width:100%;height:100%;background:#000;z-index:5;opacity:0.8;}






/* table */
table{width: 100%;}
table tr th,table tr td{vertical-align: middle;border: 1px solid #999;padding: 20px 30px;}

/* ヘッダー */
header{position:relative;background:rgb(255, 255, 255,.8)!important;box-shadow:0 0 5px rgba(0,0,0,.3);border-bottom:1px solid rgba(0,0,0,.15)!important;border-image:linear-gradient(90deg,#461E2A,#BE101E) 1 / 20px 0 0 0!important;}
header #headContainer{display:flex;justify-content:space-between;align-items:center;height:86px;padding:0 20px;translate:0 10px;background:linear-gradient(170deg, #f0f0f0, #d9d9d9 50%, #fbfbfb 72%, #e5e5e5 84%, #b6b6b6 99%);}
#headContainer > h1 a{display:block;background:url("../layout/logo.png")no-repeat left 10px top;width:100px;height: 50px;}
header nav ul{display: flex;justify-content: center;align-items: center;width: 600px;margin-right:80px;}
header nav ul li{width:calc(100% / 5);text-align: center;line-height:1;}
header nav ul > li a{line-height:1;}
header nav ul > li a:hover{color:#066;opacity:1;}
header nav ul > li a span{display:block;font-size:11px;font-family:YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;font-weight:500;margin-top:6px;letter-spacing:0.2em;}

#titleIMG{width: 100%;height: 260px;margin-bottom: 100px;background:url("../layout/titleBG/blog.jpeg") no-repeat center / cover;position: relative;}
#titleIMG:before{content:'';display:block;width:100%;height:100%;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;background:rgb(187, 217, 222,.7);}
#titleIMG .titleWrap{display: table;position:absolute;position: absolute;top: 0;bottom: 0;left:90px;margin:auto 0;}
#titleIMG h2 b{display:block;margin-bottom:7px;font-size:65px;font-weight:700;font-style: italic;text-transform:uppercase;background:linear-gradient(90deg,#461E2A,#BE101E);-webkit-text-fill-color: transparent;-webkit-background-clip:text;letter-spacing: normal;}
#titleIMG h2{font-size:15px;margin-top:7px;color: #333;letter-spacing: 15px;font-family: "Montserrat", sans-serif;}
#titleIMG.concept{background:url("../layout/titleBG/blog.jpeg") no-repeat center/ cover;}
#titleIMG.menu{background:url("../layout/titleBG/blog.jpeg") no-repeat center/ cover;}
#titleIMG.blog{background:url("../layout/titleBG/blog.jpeg") no-repeat center/ cover;}
#titleIMG.contact{background:url("../layout/titleBG/blog.jpeg") no-repeat center/ cover;}


#menu-page table {border: none;margin:70px 0 ;}
#menu-page table tr th,table tr td{text-align: center;}
#menu-page table thead,
#menu-page table tbody th{background: #444;color: #fff;}
#menu-page table thead th{padding: 15px 0;}
#menu-page table tr:nth-child(even){background-color: #e5e5e5;}
#menu-page table tr ul li{margin-bottom: 10px;}
#menu-page table tr ul li:last-child{margin-bottom:0;}


#menu-page .priceBOX{width:100%;height:auto;background: #efefef;padding: 60px 0;box-shadow: 3px 3px 5px rgba(0,0,0,.3);border:7px solid #fff;}
#menu-page img{display:block;margin:0 auto;width:740px;height:auto;}


footer{margin-top:200px;background:url(../layout/shop.jpg) no-repeat center / cover;filter:grayscale(1);position: relative;}
footer:before{content: '';display:block;width: 100%;height: 100%;background:#000;opacity: .8;position: absolute;top: 0;bottom: 0;right: 0;left: 0;margin: auto;z-index: -1;}
footer > div{width:1200px;margin:0 auto;min-height:300px;padding:20px 0;display:flex!important;flex-wrap:wrap!important;justify-content:space-evenly!important;}
footer nav > ul{display:flex;flex-wrap:wrap;}
footer nav > ul li{margin-bottom:30px;width:calc(100% / 2);color:#fff;}
footer nav > ul li a{font-size:25px;line-height:1;}
footer nav ul > li a span{display:block;font-size:10px;font-weight:500;margin-top:10px;letter-spacing:0.2em;}

footer .addressBOX {width:fit-content;margin-bottom: 30px;color:#fff;}
footer .addressBOX h2 {font-size:25px;color: #fff;margin-bottom:10px;}
footer .addressBOX h2 i{display: block;margin-bottom: 10px;font-size:12px;font-weight: normal;}
footer .addressBOX address{font-size:13px;line-height: 2;}
footer .addressBOX address span{display: block;font-size:13px;line-height: 2;}
footer small{display: block;background:linear-gradient(90deg,#461E2A,#BE101E);position:relative;}
footer small i{display:block;width:fit-content;margin:0 auto;color:#fff;font-size:11px;}



#news-page h3{padding-bottom:20px;margin-bottom: 60px;background:linear-gradient(90deg,#461E2A,#BE101E) no-repeat center bottom / 100% 4px;font-size: 30px;}
#news-page select.postform{border: solid 1px #999;padding:5px 20px;}
#news-page #list-news{display:flex;flex-wrap:wrap;}
#news-page #list-news li{width:calc(100% / 3 - 30px);margin:0 15px 30px 15px;background:#fff;box-shadow:5px 5px 5px rgba(0,0,0,0.3);}
#news-page #list-news li *{display: block;}
#news-page #list-news li a{cursor:pointer;}
#news-page #list-news li .thumIMG{width:100%;height:200px;background:url() no-repeat center / cover;}
#news-page #list-news li .text{padding:10px 20px 20px;}
#news-page #list-news li b{display:block;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:20px;}
#news-page #list-news li i{font-size:13px;}
#news-page #list-news li span.cate{display:flex;justify-content:space-between;margin-top:20px;}
#news-page #list-news li span.cate *{display:inline;font-size:10px;line-height:1;}
#news-page #list-news li span.cate time{padding-left:17px;background:url(../layout/time.png) no-repeat left bottom / contain;font-size:12px;line-heihgt:1.1;}
#news-page #list-news li .cateItem i{padding:1px 5px;background:#777;color:#fff;margin-right:3px;}
#news-page .filter{width:auto;margin: 0 auto 60px auto;padding:20px 40px;background: #ddd;}
#news-page .filter select{width:280px;margin: 0 auto;padding:12px 20px;cursor: pointer;border:1px solid #666;background:#fff url(../layout/arrow.svg) no-repeat center right 20px / 18px;border-radius: 50px;font-size: 15px;}
#news-page .filter > p{display: inline-block;font-weight: bold;font-size: 18px;}

#contact-page > article{width: 900px;margin: 0 auto;}
table.mailform{width:100%;margin:50px auto;}
table.mailform th,  
table.mailform td{border:1px solid #333;}
table.mailform th{width: 230px;background:#555;color:#fff;}
table.mailform th p{display: inline;}
table.mailform td{text-align:left;}
table.mailform input,
table.mailform textarea{border:1px solid #666;border-radius:5px;padding:10px;}
table.mailform textarea{width:100%;}
.mailform tr.name input{width: 18em;}
.mailform tr.required th:after{content: '必須';display: inline-block;width: 32px;height: 15px;line-height: 15px;margin-left: 10px;font-size: 11px;color: #fff;text-align: center;background: #900;}

main .mfBTN{width:fit-content;margin: 0 auto;}
main .mfBTN input,main .mfBTN button{line-height: 1;font-weight: bold;padding:20px;min-width: 240px;box-sizing:border-box;border-radius:3px;font-size: 17px;color: #fff;
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.7);box-shadow: 1.5px 1.5px 1.5px rgba(0, 0, 0, 0.2);cursor: pointer;background-color: #BE101E;text-align: center;}
main .mfBTN button{background-color: #aaa;}





/*ブログ記事ページ*/
#singlePost #postField{width:860px;margin:0 auto 150px auto;position:relative;min-height:150px;padding-bottom:60px;border-bottom:3px solid #999;}
#singlePost figure.thumIMG {width:760px;margin:60px auto;}
#singlePost figure.thumIMG img{width:100%;border:5px solid #fff;box-shadow:0 0 5px rgba(0,0,0,0.3);box-sizing:border-box;background:url(../layout/noIMG02.jpg) no-repeat center;}
#singlePost #postField h3{margin-bottom:30px;padding-bottom:20px;background:linear-gradient(90deg,#461E2A,#BE101E) no-repeat center bottom / 100% 4px;font-size:28px;line-height:1.7;}
#singlePost #postField time{display: block;text-align: right;font-size: 13px;color: #666;}
#postField h4{margin-bottom:20px;font-size: 35px;font-weight:bold;line-height: 1.7;color: #066;}
#postField h5{margin-bottom:20px;font-size: 25px;font-weight:bold;line-height: 1.7;color: #900;}
#postField h6{margin-bottom:10px;font-size: 16px;font-weight:bold;line-height: 1.7;}
#postField p{margin-bottom: 50px;}

#shop-page #calendar{margin-bottom:150px;}
#shop-page #calendar .calendarBOX{width:860px;height:auto;margin:0 auto;background: #efefef;padding: 60px 0;box-shadow: 3px 3px 5px rgba(0,0,0,.3);border:7px solid #fff;}
#shop-page #calendar .calendarBOX img{display:block;margin:0 auto;width:740px;height:auto;}

#shop-page #info table{margin-bottom:100px;}
#shop-page #info table tr{border:none;border-bottom:1px solid #ddd;}
#shop-page #info table th,
#shop-page #info table td{border:none;padding:40px 50px;}
#shop-page #info table tr th{width:260px;}
#shop-page #info table tr td{text-align: left;}
#shop-page #info table tr td i{margin-left: 20px;font-size:13px;color:#666;}

#shop-page .accessBox{display:flex;justify-content:space-between;align-items:center;}
#shop-page .accessBox iframe{width:100%;height:400px;}
#shop-page .accessBox h4{margin-bottom:10px;padding-left:20px;font-size:20px;font-weight:bold;color: #066;position: relative;}
#shop-page .accessBox h4::before{content:'';display: block;width:12px;height:12px;background:#066;position: absolute;left: 0;top:0;bottom:0;margin:auto 0;}
#shop-page .accessBox ul li{margin-bottom:25px}
#shop-page .accessBox iframe{box-shadow:1px 1px 6px 0px rgba(0,0,0,.3);border:3px solid #fff;}
#shop-page .accessBox iframe,
#shop-page .accessBox ul{width:calc(100% / 2 - 20px);} 




#menu-page #flow ol li{display:flex;margin-bottom:30px;min-height: 200px;}
#menu-page #flow ol li div.img{width: 260px;height: 200px;margin-right: 20px;background:#ddd url(../layout/) no-repeat center/cover;border:3px solid #fff;box-shadow:0 0 5px rgba(0,0,0,0.3);position: relative;}
#menu-page #flow ol li div.img p{display: flex;align-items: center;flex-wrap: wrap;justify-content: center;align-content: center;width:60px;height:60px;border-radius: 50%;margin: 0;background: #066;font-size: 15px;text-align: center;color: #fff;line-height: 1;position: absolute;top: -10px;left: -20px;}
#menu-page #flow ol li div.img p i{display: block;width: 100%;font-size:24px;line-height: 0.9;font-weight: 200;font-family: "Noto Sans JP", sans-serif}
#menu-page #flow ol li h4{margin-bottom:10px;font-size:20px;margin-right: 20px;line-height: 1.7;color: #066;position: relative;}



