@charset "UTF-8";


/* reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	line-height: 100%;
	font-weight: normal;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul, li {
	list-style: none;
}
strong {
	font-weight: bold;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption {
	width: 100%;
}
a {
	outline: none;
}

/* clearfix */
.cf::after{
	display: block;
	clear: both;
	content: "";
}


/* style */
body {
	margin: 0;
	padding: 0;
	font: 100%/1.4 -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-feature-settings: "palt";
	color: #FFFFFF;
	background-color: #333333;
	-webkit-text-size-adjust: 100%;
}
img {
	border: none;
	height: auto;
	vertical-align: bottom;
}
@media screen and (max-width: 999px) {
img {
	max-width: 100%;
	height: auto;
	width /***/: auto;
}
}
a:link, a:visited {
	color: #CCCCCC;
	text-decoration: underline;
}
a:hover, a:active, a:focus {
	color: #FFFFFF;
	text-decoration: underline;
}
a img {
	vertical-align: bottom;
}
.screen-reader-text {
	display: none;
}
.clear {
	clear: both;
}
.clear hr {
	display: none;
}
.hide {
	text-indent: 1000%;
	white-space: nowrap;
	overflow: hidden;
}
hr {
	background-color: #999999;
	border: 0;
	height: 1px;
	clear: both;
	margin: 30px auto;
}



/*** layout ***/
/* body */
body.wrapHome {
	background-image: url(../images/bg_home.jpg);
	background-position: center 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

body.mainDal {
	padding: 0 0 0 325px;
	background-color: #000000;
	background-image: url(../images/bg_dal.jpg);
	background-position: center 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

body.mainDue {
	padding: 0 325px 0 0;
	background-color: #000000;
	background-image: url(../images/bg_due.jpg);
	background-position: center 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

body.contDal {
	padding: 0 0 0 325px;
	background-color: #000000;
	background-image: url(../images/bg_cont_header_dal.png), url(../images/bg_cont_dal.jpg);
	background-position: calc(50vw - 325px + 20px) 0, center 0;
	background-repeat: no-repeat, repeat-y;
}

body.contDue {
	padding: 0 325px 0 0;
	background-color: #000000;
	background-image: url(../images/bg_cont_header_due.png), url(../images/bg_cont_due.jpg);
	background-position: calc(50vw - 325px*2 + 20px) 0, center 0;
	background-repeat: no-repeat, repeat-y;
}

body.common {
	background-color: #000000;
	background-image: url(../images/bg_cont_dal.jpg);
	background-position: center 0;
	background-repeat: repeat-y;
}

@media screen and (max-width: 999px) {
body.wrapHome {
	background: none;
	background-attachment: local;
}

body.wrapHome::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
	background-image: url(../images/bg_home.jpg);
	background-position: center 0;
	background-repeat: no-repeat;
	background-size: cover;
}

body.mainDal, body.mainDue {
	padding: 0;
	background: none;
	background-attachment: local;
}

body.mainDal::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
	background-image: url(../images/bg_dal.jpg);
	background-position: center 0;
	background-repeat: no-repeat;
	background-size: cover;
}

body.mainDue::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
	background-image: url(../images/bg_due.jpg);
	background-position: center 0;
	background-repeat: no-repeat;
	background-size: cover;
}

body.contDal, body.contDue {
	padding: 0;
	background-position: center 110px, center 0;
}
}

@media screen and (max-width: 509px) {
body.wrapHome::before, body.mainDal::before, body.mainDue::before {
/*	background-size: 900px auto; */
}

body.contDal, body.contDue {
	background-size: 640px auto, auto auto;
}
}

/* header */
header {
	width: 100%;
	background-color: rgba(0,0,0,0.8);
	box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

body.mainDal header, body.mainDue header, body.contDal header, body.contDue header {
	display: none;
}

@media screen and (max-width: 999px) {
body.mainDal header, body.mainDue header, body.contDal header, body.contDue header {
	display: block;
	position: fixed;
	z-index: 5;
}
}

header h1 {
	padding: 12px 15px 10px;
	color: #FFFEEB;
	font-size: 80%;
	font-weight: bold;
	line-height: 1.3;
}

header h1.logo {
	text-align: center;
}

body.mainDal header h1.logo a img, body.contDal header h1.logo a img, body.common header h1.logo img.logoDal {
	width: 192px;
}

body.mainDue header h1.logo a img, body.contDue header h1.logo a img, body.common header h1.logo img.logoDue {
	width: 200px;
}

@media screen and (max-width: 439px) {
body.common header h1.logo img.logoDal {
	width: calc(50% - 6px);
}

body.common header h1.logo img.logoDue {
	width: 50%;
}
}

/* footer */
p.footer {
	clear: both;
	border-top: 1px solid #FFFFFF;
	margin: 60px 40px 0;
	padding: 15px 0;
	font-family: "gadget", "Trebuchet MS", sans-serif;
	font-size: 70%;
	font-weight: bold;
	letter-spacing: 0.2em;
	text-align: center;
	text-shadow: 0 1px 2px #000000;
}

footer {	/* common */
	padding: 0 40px 30px;
	background-color: transparent;
	box-sizing: border-box;
}

@media screen and (max-width: 999px) {
footer {	/* common */
	padding: 30px 5vw;
	background-color: rgba(20,14,0,0.8); /* #140E00 */
}
}

footer.single {
	padding: 30px 5vw;
	background-color: rgba(20,14,0,0.8); /* #140E00 */
}

footer .footerCont {
	display: none;
}

@media screen and (max-width: 999px) {
footer .footerCont {
	display: block;
}
}

footer.single section {
	display: flex;
	justify-content: space-around;
}

footer.single section div {
	width: 40%;
}

@media screen and (max-width: 768px) {
footer.single section {
	display: block;
}

footer.single section div {
	width: auto;
	margin: 0 0 30px;
	padding: 0 0 30px;
	border-bottom: 1px solid #999999;
}

footer.single section div:last-of-type {
	padding: 0;
	border-bottom: none;
}
}

footer h2 {
	margin: 0 0 30px;
	text-align: center;
	color: #F2EBDB;
	font-family: "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.2;
}

footer h3 {
	margin: 0 0 8px;
	padding: 0 1px 4px;
	font-family: "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 1rem;
	text-align: center;
	border-bottom: 1px dotted #787878;
}

footer p.credit {
	font-weight: normal;
}

footer p.footer {
	margin: 60px 0 0;
	text-shadow: none;
}



/*** content(common) ***/
.mainHome {
	max-width: 1000px;
	margin: 0 auto;
	padding: 25px 20px 30px;
	box-sizing: border-box;
}

.mainCont {
	padding: 25px 60px 30px;
}

body.common .mainCont {
	background-position: center 0;
	background-repeat: no-repeat;
}

body.common .takeoutPizza {
	background-image: url(../images/takeout/bg_takeout.png);
}

body.common .takeoutRegular {
	background-image: url(../images/takeout/bg_takeout_regular.png);
}

body.common .takeoutRegularRev {
}

@media screen and (max-width: 999px) {
.mainCont {
	padding: 145px 10px 30px;
}

body.common .mainCont {
	padding: 25px 10px 30px;
	background-size: 180%;
}
}

.mainHome h1, .mainCont h1 {
	margin: 0 0 50px;
	text-align: center;
}

h2.pageHeader {
	margin: 0 0 20px;
	padding: 5px 10px 3px;
	border-top: 1px solid;
	border-bottom: 1px solid;
	background-color: rgba(0,0,0,0.3);
}

h2.headerDal {
	border-color: #938179;
}

h2.headerDue {
	border-color: #A4A08C;
}

p.topicPath {
	margin: 0 5px 10px;
	padding: 0 0 0 6px;
	font-size: 70%;
	border-left: 3px solid #ABABAB;
}

.column {
	margin: 0 0 20px;
	padding: 20px 20px 10px;
	background-color: rgba(0,0,0,0.5);
}

.column::after{
	display: block;
	clear: both;
	content: "";
}

.column h2 {
	margin: 0 0 20px;
	padding: 8px 0 8px 28px;
	color: #F2EBDB;
	font-family: "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.2;
	text-shadow: 0 1px 2px #000000;
	background: url(../images/leader_h2.svg);
	background-position: 0 9px;
	background-repeat: no-repeat;
	border-top: 1px solid;
	border-bottom: 1px solid;
	border-color: #B4A27F;
}

.column h2 img {
	margin: 0 0 0 8px;
	vertical-align: bottom;
}

.column p {
	margin: 0 0 2em;
	font-size: 0.9rem;
	line-height: 1.5;
	font-weight: bold;
	text-shadow: 0 1px 2px #000000;
}

.imgHeader, .imgHeaderNoBorder {
	margin: 0 auto 10px;
	text-align: center;
}

.imgHeader img, .imgHeaderNoBorder img {
	max-width: 100%;
}

.imgHeader img {
	border: 3px solid #80694F;
	box-shadow: 0 2px 3px 3px rgba(0,0,0,0.4);
}

.contHeader {
	margin: 0 0 15px;
	padding: 20px 20px 10px;
}

.contHeader p {
	margin: 0 0 1em;
	font-size: 0.9rem;
	line-height: 1.5;
	text-shadow: 0 1px 2px #000000;
}

.contHeader ul {
	margin: 0 0 1em;
}

.contHeader li {
	margin-bottom: 0.5em;
	padding: 1px 0 1px 15px;
	font-size: 75%;
	line-height: 140%;
	text-shadow: 0 1px 2px #000000;
	background: url(../images/leader_cont.png) 0 4px no-repeat;
}

.pause > * {
  opacity: 0.3;
}



/*** content(shopHome, etc) ***/
section.announce {
	margin: 0 0 20px;
	padding: 15px 20px 10px;
	background-color: rgba(0,0,0,0.5);
	border: 1px solid #DEDEDE;
	box-sizing: border-box;
}

section.announce article:not(:last-of-type) {
	margin: 0 0 40px;
}

section.announce h2 {
	margin: 0 0 20px;
	padding: 0 0 10px;
	color: #F2EBDB;
	font-family: "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	text-shadow: 0 1px 2px #000000;
	border-bottom: 1px solid #999999;
}

section.announce h2:before, section.announce h2:after {
	content: "・";
	padding: 0 0.2em;
	color: #FFFFFF;
}

section.announce p {
	margin: 0 0 1em;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1.5;
	text-shadow: 0 1px 2px #000000;
}

section.announce ul.announceList {
	margin: 0 0 1em;
}

section.announce ul.announceList li {
	margin: 0 0 0.5em;
	padding: 0 0 0 15px;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1.5;
	text-shadow: 0 1px 2px #000000;
	background: url(../images/leader_cont.png) 0 6px no-repeat;
}

#napolipizza {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
	margin: 0 0 2em;
}

#napolibanner {
	width: 120px;
  text-align: right;
}

#napolibanner a img {
	border: 1px solid #666666;
	text-decoration: none;
}

#napolibanner a:hover img {
	border: 1px solid #FF6600;
	text-decoration: none;
}

#napoliCont {
	width: calc(100% - 120px);
}

dl.news {
}

dl.news dt {
	margin: 0 0 0.5em;
	padding: 0 0 0.4em;
	font-size: 80%;
	font-weight: bold;
	border-bottom: 1px dashed #999999;
}

dl.news dd {
	margin: 0 1em 2em;
	font-size: 80%;
	line-height: 1.65;
}

p.newsMore {
	float: right;
	width: 126px;
	margin: 10px 0 0;
	font-size: 70%;
}

p.newsMore a {
	padding: 1px 0 1px 15px;
	color: #FFFFFF;
	text-decoration: none;
	background: url(../images/leader_cont.png) 0 2px no-repeat;
}

p.newsMore a:hover {
	text-decoration: underline;
}

/* banner */
ul.bannerLista {
	margin: 0 auto 60px;
	text-align: center;
}

ul.bannerLista li {
	margin: 0 0 20px;
}

ul.bannerLista li a img {
	max-width: 100%;
	border: 1px solid transparent;
	box-shadow: 0 2px 2px rgba(0,0,0,0.4);
}

ul.bannerLista li a:hover img {
	border: 1px solid #FFFFFF;
}

.bannerRecruit {
	max-width: 640px;
	min-height: 480px;
	margin: 0 auto 20px;
	padding: 25px 40px;
	background-image: url(../images/bg_banner_recruit.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	border: 5px solid;
	border-color: rgba(255,255,255,1);
	box-sizing: border-box;
}

.bannerRecruit h2 {
	margin: 0 0 15px;
	padding: 0 10px 10px;
	text-align: center;
	border-bottom: 3px solid;
	border-color: rgba(128,53,0,0.2);
}

.bannerRecruit p {
	margin: 0 30px;
	color: #662B00;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1.5;
}

@media screen and (max-width: 640px) {
.bannerRecruit {
	padding: 30px 6.25vw;
}

.bannerRecruit p {
	margin: 0 4.7vw;
}
}

#facebook iframe, .fb-page {
	overflow: hidden;
	width: 100%!important;
	height: 480px;
	color: #FFFFFF!important;
}

.fb_iframe_widget, .fb_iframe_widget span, .fb_iframe_widget span iframe[style] {
	overflow: hidden;
	width: 100%!important;
	color: #FFFFFF!important;
}



/*** content(globalHome) ***/
/* navi */
div.naviHome {
	display: flex;
	justify-content: space-around;
	margin: 0 0 40px;
}

div.naviHome h2 {
	width: 100%;
	margin: 0 0 20px!important;
	padding: 0 0 10px;
  text-align: center;
	border-bottom: 1px solid #EFEFEF;
}

div.naviHome h3 {
	margin: 0 5px;
	font-size: 75%;
	line-height: 1.5;
	font-weight: bold;
}

div.naviHome p {
	margin: 0 5px 1em;
	font-size: 75%;
	line-height: 1.3;
	font-weight: bold;
}

div.naviHome p span.caution {
	font-size: 85%;
}

div.naviHome p span.tel {
	padding: 0 0.3em 0 0.5em;
	font-size: 160%;
	font-weight: bold;
}

.sectionLeft, .sectionRight {
	max-width: 400px;
	width: 100%;
	padding: 20px 25px 10px;
	border: 5px solid #EFEFEF;
	box-sizing: border-box;
}

@media screen and (max-width: 880px) {
div.naviHome {
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	margin: 0 0 20px;
}

.sectionLeft, .sectionRight {
	max-width: none;
	margin: 0 0 20px;
}
}

.sectionLeft {
	background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%,rgba(255,51,0,0.6) 100%);
}

.sectionLeft:hover {
	background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%,rgba(255,51,0,0.8) 100%); 
}

.sectionRight {
	background: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%,rgba(255,204,51,0.6) 100%);
}

.sectionRight:hover {
	background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%,rgba(255,204,51,0.8) 100%);
}

.sectionLeft a, .sectionRight a {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #FFFFFF;
	text-decoration: none;
}

section.bannerCommon {
	text-align: center;
}

section.bannerCommon p a img {
	border: 1px solid transparent;
}

section.bannerCommon p a:hover img {
	border: 1px solid #FFFFFF;
}



/*** sidebar ***/
.sideLeft {
	position: fixed;
	top: 0;
	left: 0;
	width: 335px;
    height: 100%;
	z-index: 10;
}

.sideRight {
	position: fixed;
	top: 0;
	right: 0;
	width: 335px;
    height: 100%;
	z-index: 10;
}

@media screen and (max-width: 999px) {
.sideLeft {
	transition: all 0.5s ease;
	transform: translate(-335px);
}

.sideRight {
	transition: all 0.5s ease;
	transform: translate(335px);
}

.sideLeft.open, .sideRight.open {
	transform: translate(0);
}
}

.contentLeft {
	position: fixed;
	left: 45px;
	width: 290px;
	height: 100%;
	background-image: url(../images/bg_base_left.jpg), url(../images/bg_leftside.png);
	background-position: left 0, left 0;
	background-repeat: no-repeat, repeat-y;
	padding: 20px 0;
	/*	min-height: 300px; */
}

.contentRight {
	position: fixed;
	right: 45px;
	width: 290px;
	height: 100%;
	background-image: url(../images/bg_base_right.jpg), url(../images/bg_rightside.png);
	background-position: right 0, right 0;
	background-repeat: no-repeat, repeat-y;
	padding: 20px 0;
	/*	min-height: 300px; */
}

@media screen and (max-width: 999px) {
.contentLeft, .contentRight {
	padding: 70px 0 20px;
}
}

.contentLeft h1 {
	margin: 0 0 20px 17px;
}

.contentRight h1 {
	margin: 0 0 20px 27px;
}

@media screen and (max-width: 999px) {
.contentLeft h1, .contentRight h1 {
	display: none;
}
}

.contentLeft .sideCont {
	margin: 0 40px 0 20px;
}

.contentRight .sideCont {
	margin: 0 20px 0 40px;
}

.sideCont .infoShop {
}

@media screen and (max-width: 999px) {
.sideCont .infoShop {
	display: none;
}
}

.sideCont .infoShop h2 {
	margin: 0 0 8px;
	padding: 0 1px 4px;
	font-family: "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 110%;
	font-weight: bold;
	text-align: center;
	text-shadow: 0 1px 2px #000000;
	border-bottom: 1px dotted #ABABAB;
}

.sideCont .infoShop p {
	text-shadow: 0 1px 2px #000000;
}

p.credit {
	margin: 0 1px 25px;
	font-size: 80%;
	font-weight: bold;
	line-height: 1.5;
}

p.announceCredit {
	display: inline-block;
	margin: 0 0 1.5em;
	padding: 8px;
	font-size: 80%;
	line-height: 1.4;
	border: 1px solid #DEDEDE;
}

p.credit span.tel {
	padding: 0 0.5em;
	font-size: 140%;
	font-weight: bold;
}

p.credit a {	/* for mobile */
	text-decoration: none;
}

ul.nav {
	margin: 0 0 20px;
}

ul.nav li {
	margin: 0 0 10px 0;
	font-size: 50%;
}

ul.nav li a, ul.nav li a:visited {
	display: block;
	width: 210px;
	height: 47px;
	text-decoration: none;
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
	background-image: url(../images/menu_global.png);
	background-repeat:  no-repeat;
}

ul.nav li.menu a, ul.nav li.menu a:visited {
	background-position: 0 0;
}

ul.nav li.info a, ul.nav li.info a:visited {
	background-position: 0 -50px;
}

ul.nav li.access a, ul.nav li.access a:visited {
	background-position: 0 -100px;
}

ul.nav li.home a, ul.nav li.home a:visited {
	background-position: 0 -150px;
}

ul.nav li.menu a:hover, ul.nav li.menu a:active, ul.nav li.menu a:focus {
	background-position: -210px 0;
}

ul.nav li.info a:hover, ul.nav li.info a:active, ul.nav li.info a:focus {
	background-position: -210px -50px;
}

ul.nav li.access a:hover, ul.nav li.access a:active, ul.nav li.access a:focus {
	background-position: -210px -100px;
}

ul.nav li.home a:hover, ul.nav li.home a:active, ul.nav li.home a:focus {
	background-position: -210px -150px;
}

ul.banner {
	margin: 0 0 20px;
}

ul.bannerCont {
	margin: 0 0 100px;
}

@media screen and (max-width: 999px) {
ul.banner {
	display: none;
}

ul.bannerCont {
	margin: 0 0 60px;
}
}

ul.banner li, ul.bannerCont li {
	margin: 0 0 10px;
}

ul.banner li a img, ul.banner li a:visited img {
	border: 3px solid #333333;
	box-shadow: 0 2px 2px rgba(0,0,0,0.4);
}

ul.banner li a:hover img {
	border: 3px double #999999;
}

ul.bannerCont li a img, ul.bannerCont li a:visited img {
	border: 1px solid transparent;
	box-shadow: 0 2px 2px rgba(0,0,0,0.4);
}

ul.bannerCont li a:hover img {
	border: 1px solid #FFFFFF;
}



/*** sidenavi ***/
.naviSideDal {
	position: fixed;
	left: 0;
	width: 45px;
	height: 100%;
	background-color: #333333;
}

.naviSideDue {
	position: fixed;
	right: 0;
	width: 45px;
	height: 100%;
	background-color: #333333;
}

.naviSideDal ul {
	padding: 75px 0 10px 2px;
}

.naviSideDue ul {
	padding: 75px 0 10px;
}

.naviSideDal li, .naviSideDue li {
	width: 43px;
	height: 208px;
	margin: 0 0 4px;
}

.naviSideDal li a, .naviSideDue li a {
	display: block;
	width: 43px;
	height: 208px;
	text-decoration: none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.naviSideDal li.naviHome a {
	background: url(../images/btn_navi.png) -157px 0 no-repeat;
}

.naviSideDal li.naviHome a:hover {
	background: url(../images/btn_navi.png) -107px 0 no-repeat;
}

.naviSideDal li.naviDue a {
	background: url(../images/btn_navi.png) -157px -208px no-repeat;
}

.naviSideDal li.naviDue a:hover {
	background: url(../images/btn_navi.png) -107px -208px no-repeat;
}

.naviSideDal li.naviDal a {
	background: url(../images/btn_navi.png) -157px -416px no-repeat;
}

.naviSideDal li.naviDal a:hover {
	background: url(../images/btn_navi.png) -107px -416px no-repeat;
}

.naviSideDue li.naviHome a {
	background: url(../images/btn_navi.png) 0 0 no-repeat;
}

.naviSideDue li.naviHome a:hover {
	background: url(../images/btn_navi.png) -50px 0 no-repeat;
}

.naviSideDue li.naviDal a {
	background: url(../images/btn_navi.png) 0 -208px no-repeat;
}

.naviSideDue li.naviDal a:hover {
	background: url(../images/btn_navi.png) -50px -208px no-repeat;
}

.naviSideDue li.naviDue a {
	background: url(../images/btn_navi.png) 0 -416px no-repeat;
}

.naviSideDue li.naviDue a:hover {
	background: url(../images/btn_navi.png) -50px -416px no-repeat;
}


/*** content(lista) ***/
ul.naviLista {
	display: flex;
	flex-wrap: wrap;
	padding: 8px 10px;
	background-color: rgba(102,91,71,0.7);	/* #B4A27F */
	border: 3px solid;
	border-color: rgba(31,26,15,0.7);
}

ul.naviLista li {
	display: block;
	margin: 3px 5px;
	padding: 7px 12px;
	font-size: 0.95rem;
	border: 1px solid;
	border-color: #B4A27F;
	background-color: rgba(31,26,15,0.7);
	cursor: pointer;
}

ul.naviLista li:hover {
	background-color: rgba(31,26,15,0.3);
}

.listaSp {
	border: 1px solid;
	border-color: #B4A27F;
	background-color: rgba(31,26,15,0.7);
	box-sizing: border-box;
}

.listaCont {
	display: none;
	margin: 0 0 30px;
	padding: 20px 20px 50px;
	text-shadow: 0 1px 2px #000000;
}

.listaCont.active {
	display: block;
}

.listaCont h4 {
	margin: 30px 10px 20px;
	padding-left: 8px;
	color: #F2EBDB;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 1rem;
	line-height: 1.2;
	border-left: 3px solid;
	border-color: #B4A27F;
}

.listaCont h4 span {
	display: block;
	font-size: 75%;
	font-weight: normal;
}

.listaCont h5 {
	margin: 30px 10px 20px;
	padding: 0 10px 3px 11px;
	color: #F2EBDB;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 0.9rem;
	line-height: 1.2;
	border-bottom: 1px solid;
	border-color: #B4A27F;
}
@media screen and (max-width: 640px) {
.listaCont h4, .listaCont h5 {
	margin: 30px 0 20px;
}
}


.listaCont p.explain {
	margin: 0 0 1em;
	padding: 0 20px;
	font-size: 0.9rem;
	line-height: 1.5;
	text-shadow: 0 1px 2px #000000;
}
@media screen and (max-width: 640px) {
.listaCont p.explain {
	padding: 0 3%;
}
}

.listaCont dl {
	display: flex;
	justify-content: space-between;
	margin: 0 10px;
	padding: 10px;
	border-bottom: 1px dotted #787878;
}
@media screen and (max-width: 640px) {
.listaCont dl {
	margin: 0;
}
}

.listaCont dt {
	max-width: calc(100% - 120px);
	margin-bottom: 0.4em;
	padding: 0;
	color: #CCCCCC;
	font-size: 100%!important;
	line-height: 1.3;
	font-weight: bold;
}

span.italianName {
	display: block;
	margin-bottom: 0.4em;
	padding: 0;
	color: #7A9F29;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 80%!important;
	line-height: 1.3;
	font-weight: bold;
}

span.remark {
	display: block;
	margin-bottom: 0.3em;
	padding: 0;
	color: #CCCCCC;
	font-size: 80%!important;
	line-height: 1.3;
	font-weight: normal;
}

span.photoLista {
	display: block;
	margin-top: 0.5em;
	margin-bottom: 0.4em;
	padding: 0;
	color: #CCCCCC;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 90%!important;
	font-weight: normal;
}

span.photoLista a {
	padding: 1px 5px;
	border: 1px solid #CCCCCC;
	text-decoration: none;
}

span.photoLista a:hover {
	border: 1px solid #FFFFFF;
}

.listaCont dd {
	margin-bottom: 0.4em;
	color: #CCCCCC;
	text-align: right;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-style: italic;
	font-size: 110%;
	font-weight: bold;
	line-height: 1.3;
}

.listaCont dd span {
	display: block;
	font-size: 70%;
	font-weight: normal;
	line-height: 0.7!important;
}

.listaCont dd span.intax {
	font-size: 75%;
	line-height: 1!important;
}

ul.listaComment {
	clear: both;
	margin: 30px 20px 20px 30px;
}
@media screen and (max-width: 640px) {
ul.listaComment {
	margin: 30px 3% 20px;
}
}

ul.listaComment li {
	margin-bottom: 0.5em;
	padding: 1px 0 1px 15px;
	font-size: 75%;
	line-height: 1.4;
	background: url(../images/leader_cont.png) 0 4px no-repeat;
}

ul.listParty {
	margin: 5px 20px 10px;
	padding: 1px 0 1px 15px;
	border-left: 3px double #787878;
}
@media screen and (max-width: 640px) {
ul.listParty {
	margin: 5px 3% 10px;
}
}

#dinner ul.listParty {
	margin: 5px 0 10px;
}

ul.listParty li {
	margin: 8px 0 12px;
	color: #CCCCCC;
	font-size: 90%;
	line-height: 1.2;
}

ul.listSub {
	margin: 10px 1em;
}

dt.vino {
	font-family: Georgia, "Times New Roman", Times, serif;
}

dt.vino span {
	display: block;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-size: 80%;
	font-weight: normal;
}


/*** content(benvenuti) ***/
.gallery {
}

.gallery ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.gallery li {
	margin: 0 5px 10px;
}

.gallery li a {
	display: block;
	border: 3px solid #121212;
}

@media screen and (max-width: 440px) {
.gallery li {
	width: calc(50% - 4%);
	margin: 0 2% 10px;
}
}

.gallery li a:hover {
	border: 3px double #666666;
}

.map {
	margin: 0 0 30px;
	padding: 20px 20px 50px;
	text-shadow: 0 1px 2px #000000;
}

.map h3 {
	margin: 0 20px 1em;
	padding: 0 0 0.5em;
	color: #F2EBDB;
	font-family: "游明朝", "YuMincho", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-size: 1.1rem;
	font-weight: bold;
	line-height: 1.2;
	border-bottom: 1px solid #666666;
	text-shadow: 0 1px 2px #000000;
}

.map h4 {
  display: inline-block;
	margin: 0 20px 0.4em;
  padding: 0;
	font-size: 0.9rem;
	line-height: 1.6;
  border-bottom: 1px solid;
}

.map p {
	margin: 0 20px 1em;
	font-size: 0.9rem;
	line-height: 1.6;
	font-weight: normal;
}

.imgMap {
	margin: 0 0 20px;
	text-align: center;
}

@media screen and (max-width: 1179px) {
.imgMap img {
	max-width: 100%;
	height: auto;
	width /***/: auto;
}
}


/*** content_takeout ***/
section.timeTakeout {
}

section.timeTakeout h2 {
	background: none;
	border-top: none;
}

section.timeTakeout p:first-of-type {
  text-align: center;
  font-size: 1.1rem;
}

section.timeTakeout p:not(:first-of-type) {
  text-align: center;
}


/*** content_christmas ***/
.contCourseChristmas {
	padding: 10px 20px 30px;
}
@media screen and (max-width: 640px) {
.contCourseChristmas {
	padding: 10px 3% 30px;
}
}

.contCourseChristmas h3 {
	margin-bottom: 0.2em;
	color: #D0BDAA;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 80%;
	line-height: 1.2;
	font-weight: bold;
}

.contCourseChristmas p {
	margin: 0 0 15px 0;
	padding: 1px 0 1px 20px;
	color: #CCCCCC;
	font-size: 100%;
	line-height: 1.3;
	background-image: url(../images/leader_christmas.svg);
	background-position: 0 3px;
	background-repeat: no-repeat;
}

.contCourseChristmas p span {
	display: inline;
	margin-left: 6px;
}



/*********/
/*** upperNavi (not use) ***/
/*

ul#upperNavi {
	margin: 0 20px;
}

ul#upperNavi::after{
	display: block;
	clear: both;
	content: "";
}

ul#upperNavi li {
	float: left;
	width: 208px;
	height: 40px;
	padding: 0;
}

ul#upperNavi li a, ul#upperNavi li a:visited {
	display: block;
	width: 208px;
	height: 40px;
	text-decoration: none;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

ul#upperNavi li.naviHome a, ul#upperNavi li.naviHome a:visited {
	background: url(../images/btn_uppernavi.png) 0 -7px no-repeat;
}

ul#upperNavi li.naviHome a:hover {
	background: url(../images/btn_uppernavi.png) 0 -54px no-repeat;
}

ul#upperNavi li.naviDal a, ul#upperNavi li.naviDal a:visited {
	background: url(../images/btn_uppernavi.png) -208px -7px no-repeat;
}

ul#upperNavi li.naviDal a:hover {
	background: url(../images/btn_uppernavi.png) -208px -54px no-repeat;
}

ul#upperNavi li.naviDue a, ul#upperNavi li.naviDue a:visited {
	background: url(../images/btn_uppernavi.png) -416px -7px no-repeat;
}

ul#upperNavi li.naviDue a:hover {
	background: url(../images/btn_uppernavi.png) -416px -54px no-repeat;
}

*/


/*** scrolltop ***/
p.pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 25px;
	z-index: 20;
}

@media screen and (max-width: 999px) {
p.pagetop {
	bottom: 20px;
	right: 15px;
}
}

p.pagetop a {
	display: block;
	width: 50px;
	height: 50px;
	padding: 18px 0 0;
	color: #333333;
	font-size: 50%;
	text-align: center;
	text-decoration: none;
	background-color: rgba(255,255,255,0.8);
	border: 3px double #565656;
	border-radius: 35px;
	box-shadow: 0 2px 3px rgba(0,0,0,0.5);
	box-sizing: border-box;
}

p.pagetop a:hover {
	background-color: rgba(255,255,255,0.9);
}









/*** side slide ***/
/* button */
.btnSideLeft, .btnSideRight {
	display: none;
}

@media screen and (max-width: 999px) {
.btnSideLeft, .btnSideRight {
	position: fixed;
	top: 15px;
	display: block;
	width: 40px;
	height: 40px;
	padding: 9px 5px 0;
	text-align: center;
	background-color: rgba(255,255,255,0.8);
	border: 3px double #565656;
	box-shadow: 0 1px 3px rgba(0,0,0,0.5);
	box-sizing: border-box;
	cursor: pointer;
	z-index: 20;
}

.btnSideLeft {
	left: 15px;
}

.btnSideRight {
	right: 15px;
}

.btnSideLeft:hover, .btnSideRight:hover {
	background-color: rgba(255,255,255,0.9);
}

/* button shape */
.menu-trigger, .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}

.menu-trigger {
	position: relative;
	width: 20px;
	height: 17px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #333333;
	border-radius: 3px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 7px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(7px) rotate(-45deg);
	transform: translateY(7px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-7px) rotate(45deg);
	transform: translateY(-7px) rotate(45deg);
}

/* structure */
.overlay {
	content: '';
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0);
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	z-index: 3;
}

.overlay::after {
	content: "";
	visibility: hidden;
	position: fixed;
	top: 40%;
	left: 0;
	display: block;
	width: 100%;
	height: 50px;
	color: rgba(255,255,255,0);
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}

.wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
	z-index: 2;
}

.sideOpenLeft .overlay, .sideOpenRight .overlay {
	visibility: visible;
	cursor: pointer;
	background-color: rgba(0,0,0,0.7);
}

.sideOpenLeft .overlay::after, .sideOpenRight .overlay::after {
	visibility: visible;
	color: rgba(255,255,255,0.8);
}
}