@charset "utf-8";

#mv {
	width: 100%;
	height: 420px;
	background: url(../images/main_visual.jpg) center center no-repeat;
	background-size: cover;
}

.pgHeader {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 60px 20px 54px;
	text-align: center;
}

.pgHeader h1.pcPgtitle {
	margin: 0 0 25px;
}
.pgHeader h1.spPgtitle {
	display: none;
}

.pgHeader p {
	line-height: 1.8;
	font-weight: 500;
	font-size: 2.5rem;
}
.pgHeader p img {
	max-width: 272px;
	margin: 0 10px 8px 0;
	vertical-align: middle;
}
/* sideClumn Menu --------------------------------- */
.contents {
	position: relative;
	display: flex;
	flex-flow: row nowrap;
	align-items: baseline;
	justify-content: space-between;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px 32px;
}

.contents main {
	width: calc(100% - 220px);
	max-width: 586px;
	order: 2;
}

.contents aside {
	position: sticky;
	left: 0;
	top: 120px;
	align-self: baseline;
	width: 200px;
	max-width: 200px;
	order: 1;
}

.contents aside ul li + li {
	margin-top: 20px;
}
/* ------------------------------------------------ */
section:not(:first-of-type) {
	padding-top: 100px;
}

section h2 {
	padding: 0 5px 8px;
 	background: linear-gradient(transparent 0%, transparent 55%, #cccccc 55%, #cccccc 100%);
}

.menuList {
	display: flex;
	flex-flow: row wrap;
}

.menuList .item {
	width: calc( ( 100% - 64px ) / 3 );
	margin: 32px 32px 0 0;
}

.menuList .item:nth-of-type(3n) {
	margin-right: 0;
}

/* ------------------------------------------------ */
.menuList .item {
	line-height: 1.5;
}
.menuList .item dt {
	position: relative;
	margin: 0 0 8px;
}

/* 画像上テキスト */
.menuList .item dt span {
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 3px;
	background-color: #cccccc;
	text-align: center;
	font-weight: 500;
	font-size: 1.3rem;
	color: #ffffff;
}

.menuList .item dd {
	font-weight: 500;
	font-size: 1.5rem;
}

.menuList .item li {
	margin: 8px 0 0;
}

.menuList .item li.price {
	padding: 0 0 5px;
	border-bottom: 3px solid #cccccc;
	text-align: right;
	font-weight: 500;
	font-size: 1.8rem;
}

.menuList .item li.description {
	min-height: 4.5em;
	font-weight: 500;
	font-size: 1.4rem;
}

.menuList .item li.ingredients {
	font-size: 1.4rem;
}

.menuList .item li.ingredients strong {
	display: inline-block;
}

.menuList .item li.ingredients span {
	display: inline-block;
	margin-left: 1em;
}
.notes {
	padding: 20px 0 0;
}

.notes p {
	display: inline-block;
	padding: 5px;
	background-color: #3C210E;
	font-size: 1.5rem;
	color: #FFFFFF;
}

.attentionBox {
	margin: 60px 0 0;
	padding: 20px;
	border: 2px solid #3C210E;
	font-size: 1.5rem;
	line-height: 1.7;
}

/*----------------------------------------------------------------220426｜２カラム追加｜ここから*/

.infoBox {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0 0 40px;
}

.infoBox .menu-ad {
	order: 2;
	width: 56.176%;
}

.infoBox .menu-ad p {
	font-feature-settings: "palt";
	line-height: 1.5;
}
.infoBox .menu-ad p + p {
	margin: .5em 0 0;
}

.infoBox .menu-ad .name-ad span {
	font-size: larger;
	margin-right: .5em;
}

.infoBox .menu-ad .price {
	padding: 0 0 5px;
	border-bottom: 3px solid #98DCE0;
	text-align: right;
	font-weight: 500;
	font-size: 1.8rem;
}

.infoBox .menu-ad .description span {
	min-height: 4.5em;
	font-weight: 500;
	font-size: 1.4rem;
	margin-right: .5em;
}


.infoBox figure {
	order: 1;
	width: 39.706%;
}


/*----------------------------------------------------------------220426｜２カラム追加｜ここまで*/


/* ------------------------------------------------ */
section#osusume h2 { background: linear-gradient(transparent 0%, transparent 55%, #98DCE0 55%, #98DCE0 100%); }
section#osusume .menuList .item dt span { background-color: #98DCE0; }
section#osusume .menuList .item li.price { border-bottom: 3px solid #98DCE0; }
/* ------------------------------------------------ */
section#sandwich_yt h2 { background: linear-gradient(transparent 0%, transparent 55%, #A9BE7B 55%, #A9BE7B 100%); }
section#sandwich_yt .menuList .item dt span { background-color: #A9BE7B; }
section#sandwich_yt .menuList .item li.price { border-bottom: 3px solid #A9BE7B; }
/* ------------------------------------------------ */
section#sandwich_o h2 { background: linear-gradient(transparent 0%, transparent 55%, #F9C158 55%, #F9C158 100%); }
section#sandwich_o .menuList .item dt span { background-color: #F9C158; }
section#sandwich_o .menuList .item li.price { border-bottom: 3px solid #F9C158; }
/* ------------------------------------------------ */
section#sandwich_d h2 { background: linear-gradient(transparent 0%, transparent 55%, #E5C1CD 55%, #E5C1CD 100%); }
section#sandwich_d .menuList .item dt span { background-color: #D99FA4; }
section#sandwich_d .menuList .item li.price { border-bottom: 3px solid #E5C1CD; }
/* ------------------------------------------------ */
section#burger h2 { background: linear-gradient(transparent 0%, transparent 55%, #C9B386 55%, #C9B386 100%); }
section#burger .menuList .item dt span { background-color: #C9B386; }
section#burger .menuList .item li.price { border-bottom: 3px solid #C9B386; }
/* ------------------------------------------------ */
section#other h2 { background: linear-gradient(transparent 0%, transparent 55%, #6E8EAF 55%, #6E8EAF 100%); }
section#other .menuList .item dt span { background-color: #6E8EAF; }
section#other .menuList .item li.price { border-bottom: 3px solid #6E8EAF; }
/* ------------------------------------------------ */
section#delivery h2 { background: linear-gradient(transparent 0%, transparent 55%, #FFF100 55%, #FFF100 100%); }


section#other {
	background: url("../images/bg_illust_other.png") 100% 90% no-repeat;
	background-size: 30% auto;
}

section#delivery {
	position: relative;
}

section#delivery::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 90px; /* section padding-top - 10px */
	display: block;
	width: 25.6%;
	height: 96px;
	background: url("../images/bg_illust_delivery.png") center center no-repeat;
	background-size: contain;
}

section#delivery h2 {
	padding-right: calc( 25.6% + 10px);
}

section#delivery .sectionInr {
	padding: 32px 0 0;
	line-height: 2.0;
}

section#delivery table {
	margin: 24px 0;
	border-top: 1px solid #3C210E;
	border-left: 1px solid #3C210E;
}

section#delivery table th,
section#delivery table td {
	padding: 4px 10px;
	background-color: #FFFFFF;
	border-right: 1px solid #3C210E;
	border-bottom: 1px solid #3C210E;
	font-size: 1.8rem;
}

section#delivery table th {
	background-color: #FFF100;
	text-align: left;
	font-weight: 400;
}
/* ================================================ */

@media only screen and (max-width: 767px) {
.contents {
	display: block;
}

.contents aside {
	display: none;
}
	
.contents main {
	width: 100%;
	margin: 0 auto;
}

.pgHeader {
	padding: 8.1% 20px 7.7%;
}

section:not(:first-of-type) {
	padding-top: 14%;
}

}
/* ================================================ */

@media only screen and (max-width: 479px) {
#mv {
	height: 300px;
}

.pgHeader h1.pcPgtitle {
	display: none;
}
.pgHeader h1.spPgtitle {
	display: block;
	margin: 0 0 28px;
	text-align: center;
}

.pgHeader h1.spPgtitle strong {
	display: inline-block;
	padding: 0 5px 3px;
	background: linear-gradient(transparent 0%, transparent 55%, #FFF100 55%, #FFF100 100%);
}

.menuList .item {
	width: calc( ( 100% - 20px ) / 2 );
	margin: 32px 20px 0 0;
}

.menuList .item:nth-of-type(3n) {
	margin-right: 20px;
}

.menuList .item:nth-of-type(2n) {
	margin-right: 0;
}

.menuList .item dt img {
	width: 100%;
	height: auto;
}

.notes p {
	display: block;
	font-size: 1.6rem;
}

.attentionBox {
	margin: 40px 0 0;
	padding: 16px;
	font-size: 1.6rem;
}
/* ------------------------------------------------ */

/*----------------------------------------------------------------220426｜２カラム追加｜ここから*/	

.infoBox {
	display: block;
	margin: 0 0 40px;
}

.infoBox .menu-ad {
	width: 100%;
}


.infoBox .menu-ad p + p {
	margin: 1em 0 0;
}

.infoBox .menu-ad .name-ad span {
	display: block;
	margin: 0 0 .25em 0;
}
	
	
.infoBox .menu-ad .description span {
	display: block;
	min-height: 4.5em;
	font-weight: 500;
	font-size: 1.4rem;
	margin: 0 0 .25em 0;
}



.infoBox figure {
	width: 100%;
	margin-top: 24px;
	text-align: center;
}
	
	
	
	
/*----------------------------------------------------------------220426｜２カラム追加｜ここまで*/
	
section#other {
	background: none;
}

section#delivery::before {
	content: "";
	position: static;
	display: block;
	width: 160px;
	height: 96px;
	margin: 0 auto 20px;
	background: url("../images/bg_illust_delivery.png") center center no-repeat;
	background-size: contain;
}

section#delivery::after {
	content: none;
}

section#delivery h2 {
	padding-left: 0;
	padding-right: 0;
	text-align: center;
}

section#delivery table {
	margin: 24px auto;
}
}
