@charset "utf-8";

/* 基礎レイアウト
========================================================= */

img { width: 100%; height: auto; display: block; vertical-align: top; }

#contentsheader {
	width: 100%;
	height: 360px;
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	text-align: center;
	overflow: hidden;
}
#contentsheader p.icon {
	width: 55px;
	height: 55px;
	background: url(/images/h1_special2_icon.svg) no-repeat;
	margin: 120px auto 25px;
}
#contentsheader h1 { color: #ffffff; font-size: 48px; margin-right: auto; margin-left: auto; }



@media screen and (max-width: 1199px) {
	#contentsheader { height: 320px; }
	#contentsheader p.icon { margin-top: 100px; }
}

@media screen and (max-width: 992px) {
	#contentsheader { height: 280px; }
	#contentsheader p.icon { margin-top: 80px; }
}

@media screen and (max-width: 768px) {
	#contentsheader { height: 240px; }
	#contentsheader p.icon { width: 44px; height: 44px; margin-top: 60px; margin-bottom: 22px; }
	#contentsheader h1 { font-size: 36px; }
}

@media screen and (max-width: 480px) {
	#contentsheader { height: 160px; }
	#contentsheader p.icon { width: 33px; height: 33px; margin-top: 40px; margin-bottom: 16px; }
	#contentsheader h1 { font-size: 24px; }
}

#snsArea .sns_icon_area .fb-share-button,
#snsArea .sns_icon_area .twitter-share-button {
	display: inline-block;
	vertical-align: bottom;
}





/* gourmetV20
========================================================= */

#gourmetV20 { width: 100%; line-height: 1.0; margin: 0 auto; }
#gourmetV20 * { box-sizing: border-box; }



@media screen and (max-width: 767px) {
}





/* main
--------------------------------------------------------- */

#gourmetV20 .main { width: 100%; padding: 20px calc(20/375 * 100%) 0; }

#gourmetV20 .main h2 { width: 100%; max-width: 1100px; margin: 0 auto; }
#gourmetV20 .main h2 img:nth-child(2) { display: none; }
#gourmetV20 .main h2 span { display: block; font-size: 14px; text-align: right; margin: 10px 0 0 0; }

#gourmetV20 .main .lead {
	width: 100%;
	max-width: 1100px;
	display: flex;
	flex-direction: row;
	align-items:center;
	margin: 50px auto 0;
}
#gourmetV20 .main .lead p {
	width: calc(600/1100 * 100%);
	font-size: 20px;
	line-height: 2.3;
	margin: 0 calc(20/1100 * 100%) 0 0;
}
#gourmetV20 .main .lead p span { display: inline-block; }
#gourmetV20 .main .lead div { width: calc(480/1100 * 100%); max-width: 480px; }

#gourmetV20 .main .sns_icon_area { margin: 40px auto 0; }



@media screen and (max-width: 1217px) {
	#gourmetV20 .main .lead p { font-size: 1.64vw; }
}

@media screen and (max-width: 767px) {
	#gourmetV20 .main h2 img:nth-child(1) { display: none; }
	#gourmetV20 .main h2 img:nth-child(2) { display: block; }
	#gourmetV20 .main h2 span { display: block; font-size: 12px; }
	#gourmetV20 .main .lead { flex-direction: column; margin: 30px auto 0; }
	#gourmetV20 .main .lead p { width: 100%; font-size: 16px; line-height: 1.6; text-align: justify; margin: 0; }
	#gourmetV20 .main .lead p span { display: inline; }
	#gourmetV20 .main .lead div { width: 100%;  padding: 20px calc(20/375 * 100%) 0; }
	
	#gourmetV20 .main .sns_icon_area { margin: 20px auto 0; }
}





/* content
--------------------------------------------------------- */

#gourmetV20 section { width: 100%; max-width: 980px; margin: 200px auto 0; }
#gourmetV20 section + section { margin: 230px auto 0; }
#gourmetV20 .frame + section { margin: 230px auto 0; }

#gourmetV20 .content {
	width: 100%;
	max-width: 980px;
	border-radius: 0 0 10px 10px;
	background-repeat: no-repeat;
	background-position: center top, center bottom;
	background-size: 100%;
	padding: 230px 0 80px 0;
	position: relative;
}
#gourmetV20 section.purple .content {
	background-image: url(/images/special/gourmet_v20/purple_bg.png), url(/images/special/gourmet_v20/purple_bg.png);
	background-color: #daaac0;
}
#gourmetV20 section.turquoise .content {
	background-image: url(/images/special/gourmet_v20/turquoise_bg.png), url(/images/special/gourmet_v20/turquoise_bg.png);
	background-color: #a9d8cb;
}
#gourmetV20 section.yellow .content {
	background-image: url(/images/special/gourmet_v20/yellow_bg.png), url(/images/special/gourmet_v20/yellow_bg.png);
	background-color: #edc441;
}
#gourmetV20 section.cream .content {
	background-image: url(/images/special/gourmet_v20/cream_bg.png), url(/images/special/gourmet_v20/cream_bg.png);
	background-color: #faecab;
}
#gourmetV20 section.green .content {
	background-image: url(/images/special/gourmet_v20/green_bg.png), url(/images/special/gourmet_v20/green_bg.png);
	background-color: #b4cf94;
}
#gourmetV20 section.apricot .content {
	background-image: url(/images/special/gourmet_v20/apricot_bg.png), url(/images/special/gourmet_v20/apricot_bg.png);
	background-color: #f5b291;
}
#gourmetV20 section.blue .content {
	background-image: url(/images/special/gourmet_v20/blue_bg.png), url(/images/special/gourmet_v20/blue_bg.png);
	background-color: #91cdf1;
}

#gourmetV20 .content .top { width: 100%; position: absolute; top: 0; left: 0; }
#gourmetV20 .content h3 {
	width: 100%;
	max-width: 440px;
	position: absolute;
	top: -120px;
	right: 0;
	left: 0;
	margin: auto;
}

#gourmetV20 .content .storeName {
	width: calc(820/980 * 100%);
	max-width: 820px;
	height: 60px;
	border-radius: 30px;
	background-color: #ffffff;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
	font-weight: 700;
	font-feature-settings: "palt" 1;
	margin: 0 auto;
}
#gourmetV20 .content .storeName p {
	width: 180px;
	height: 60px;
	display: table-cell;
	border-radius: 30px;
	
	color: #ffffff;
	font-size: 22px;
	text-align: center;
	vertical-align: middle;
}
#gourmetV20 section.purple .content .storeName p { background-color: #b94f84; }
#gourmetV20 section.turquoise .content .storeName p { background-color: #2eb6aa; }
#gourmetV20 section.yellow .content .storeName p { background-color: #bb751b; }
#gourmetV20 section.cream .content .storeName p { background-color: #c2a02d; }
#gourmetV20 section.green .content .storeName p { background-color: #8fa577; }
#gourmetV20 section.apricot .content .storeName p { background-color: #ec6659; }
#gourmetV20 section.blue .content .storeName p { background-color: #009bd9; }
#gourmetV20 .content .storeName h4 {
	height: 60px;
	display: table-cell;
	font-size: 24px;
	vertical-align: middle;
	padding: 0 0 0 20px;
}

#gourmetV20 .content .photo { width: calc(820/980 * 100%); max-width: 820px; margin: 20px auto 0; }
#gourmetV20 .content .photo .caption { width: 100%; font-size: 14px; line-height: 1.2; margin: 10px auto 0; }
#gourmetV20 .content .photo .caption.w580 { max-width: 580px; }
#gourmetV20 .content .photo .caption.w660 { max-width: 660px; }

#gourmetV20 .content .text { width: calc(820/980 * 100%); max-width: 820px; display: table; margin: 70px auto 0; }
#gourmetV20 .content .text div.subPhoto { width: calc(260/820 * 100%); max-width: 260px; float: right; }
#gourmetV20 .content .text div.subPhoto .caption {
	display: block;
	font-size: 14px;
	line-height: 1.2;
	margin: 10px auto 0;
}
#gourmetV20 .content .text h5 {
	width: calc(510/820 * 100%);
	display: block;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 700;
	padding: 0 0 0 0.2em;
	position: relative;
}
#gourmetV20 .content .text h5 span { display: inline-block; position: relative; z-index: 2; }
#gourmetV20 .content .text h5:after {
	content: "";
	width: 100%;
	height: 6px;
	display: block;
	position: absolute;
	bottom: 2px;
	left: 0;
}
#gourmetV20 section.purple .content .text h5:after { background-color: #b94f84; }
#gourmetV20 section.turquoise .content .text h5:after { background-color: #2eb6aa; }
#gourmetV20 section.yellow .content .text h5:after { background-color: #bb751b; }
#gourmetV20 section.cream .content .text h5:after { background-color: #c2a02d; }
#gourmetV20 section.green .content .text h5:after { background-color: #8fa577; }
#gourmetV20 section.apricot .content .text h5:after { background-color: #ec6659; }
#gourmetV20 section.blue .content .text h5:after { background-color: #009bd9; }

#gourmetV20 .content .text p {
	width: calc(510/820 * 100%);
	font-size: 18px;
	line-height: 1.8;
	text-align: justify;
	padding: 20px 0 0 0;
}
#gourmetV20 .content .text p + p { font-size: 15px; text-indent: -1em; padding: 20px 0 0 1em; }
#gourmetV20 .content .text p sup { font-size: 10px; vertical-align: top; }

#gourmetV20 .content ul.subPhoto {
	width: calc(540/980 * 100%);
	max-width: 540px;
	display: flex;
	flex-direction: row;
	margin: 35px auto 0;
}
#gourmetV20 .content ul.subPhoto li { width: calc(260/540 * 100%); max-width: 260px; }
#gourmetV20 .content ul.subPhoto li + li { margin: 0 0 0 calc(20/540 * 100%); }
#gourmetV20 .content ul.subPhoto li .caption { font-size: 14px; line-height: 1.2; margin: 10px auto 0; }

#gourmetV20 .content .data {
	width: calc(820/980 * 100%);
	max-width: 820px;
	font-size: 15px;
	line-height: 1.7;
	margin: 40px auto 0;
}
#gourmetV20 .content .data table th { text-align: right; white-space: nowrap; }
#gourmetV20 .content .data .txtI { text-indent: -1em; padding: 0 0 0 1em; }



#gourmetV20 .frame { width: 100%; padding: 80px 0 0; }
#gourmetV20 .frame div {
	width: 100%;
	max-width: 820px;
	border: solid 3px;
	border-radius: 10px;
	background-color: rgba(255, 255, 255, 0.8);
	padding: 35px 40px 30px;
	margin: 0 auto;
}
#gourmetV20 section.purple .frame div { border-color: #b94f84; }
#gourmetV20 section.turquoise .frame div { border-color: #35b597; }
#gourmetV20 section.yellow .frame div { border-color: #cf7b0e; }

#gourmetV20 .frame img { width: calc(180/736 * 100%); max-width: 180px; float: right; }
#gourmetV20 .frame ul { width: 100%; }
#gourmetV20 .frame ul + ul { margin: 30px 0 0 0; }
#gourmetV20 .frame ul.w520 { width: calc(520/736 * 100%); }

#gourmetV20 .frame h5 {  font-size: 22px; line-height: 1.2; font-weight: 700; padding: 0 0 3px 0; }
#gourmetV20 section.purple .frame h5 { border-bottom: solid 1px #b94f84; color: #b94f84; }
#gourmetV20 section.turquoise .frame h5 { border-bottom: solid 1px #35b597; color: #35b597; }
#gourmetV20 section.yellow .frame h5 { border-bottom: solid 1px #cf7b0e; color: #cf7b0e; }

#gourmetV20 .frame p { font-size: 16px; line-height: 1.8; text-align: justify; padding: 15px 0 0 0; }



@media screen and (max-width: 980px) {
	#gourmetV20 .content { border-radius: 0; }
}

@media screen and (max-width: 768px) {
	#gourmetV20 section {  margin: 80px auto 0; }
	#gourmetV20 section + section { margin: 120px auto 0; }
	#gourmetV20 .frame + section { margin: 120px auto 0; }
	
	#gourmetV20 .content { width: 100%; padding: 110px calc(20/375 * 100%) 40px; }
	
	#gourmetV20 .content h3 { max-width: 200px; top: -50px; }
	
	#gourmetV20 .content .storeName { width: 100%; height: 40px; border-radius: 20px; }
	#gourmetV20 .content .storeName p { width: 100px; height: 40px; border-radius: 20px; font-size: 16px; }
	#gourmetV20 .content .storeName h4 { height: 40px; font-size: 18px; padding: 0 0 0 10px; }
	
	#gourmetV20 .content .photo { width: 100%; margin: 20px auto 0; }
	#gourmetV20 .content .photo .caption { font-size: 12px; }
	
	#gourmetV20 .content .text { width: 100%; display: flex; flex-direction: column; margin: 40px auto 0; }
	#gourmetV20 .content .text div.subPhoto {
		width: 100%;
		max-width: 200px;
		float: none;
		margin: 30px auto 0;
		order: 2;
	}
	#gourmetV20 .content .text div.subPhoto .caption { font-size: 12px; margin: 5px 0 0 0; }
	#gourmetV20 .content .text h5 { width: 100%; font-size: 18px; font-weight: 700; }
	#gourmetV20 .content .text h5:after { height: 4px; bottom: 1px; }
	#gourmetV20 .content .text p { width: 100%; font-size: 16px; line-height: 1.6; padding: 10px 0 0 0; }
	#gourmetV20 .content .text p + p { font-size: 13px; padding: 10px 0 0 1em; }
	
	#gourmetV20 .content ul.subPhoto { width: 100%; }
	#gourmetV20 .content ul.subPhoto li .caption { font-size: 12px; margin: 5px 0 0 0; }
	
	#gourmetV20 .content .data { width: 100%; font-size: 14px; line-height: 1.5; margin: 40px 0 0 0; }
	#gourmetV20 .content .data.mt00 { margin: 25px 0 0 0; }
	
	#gourmetV20 .frame { padding: 40px 0 0 0; }
	#gourmetV20 .frame div { display: flex; flex-direction: column; border: solid 2px; padding: 20px; }
	
	#gourmetV20 .frame ul.w520 { width: 100%; }
	#gourmetV20 .frame ul + ul { margin: 20px 0 0 0; }
	#gourmetV20 .frame h5 { font-size: 18px; padding: 0 0 1px 0; }
	#gourmetV20 .frame p { font-size: 15px; line-height: 1.5; padding: 15px 0 0 0; }
	#gourmetV20 .frame img { width: 140px; display: block; float: none; order: 2; margin: 20px auto 0; }
}



@media screen and (max-width: 588px) {
	#gourmetV20 .content { background-size: auto 60px; }
	#gourmetV20 .content .top { display: none; }
}





/* bottom
--------------------------------------------------------- */

#gourmetV20 .bottom { width: 100%; padding: 0 calc(20/375 * 100%); margin: 150px auto 0; }
#gourmetV20 .bottom .wrap { width: 100%; max-width: 980px; margin: 0 auto; }

#gourmetV20 .bottom .title h5 {
	display: table;
	color: #00973b;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-align: center;
	padding: 35px 1em 0 1em;
	margin: 0 auto;
}
#gourmetV20 .bottom .title h5 span { display: inline-block; }

#gourmetV20 .bottom .btmContent { display: table; padding: 40px 20px 50px 20px;  position: relative; }
#gourmetV20 .bottom .btmContent .text { font-size: 18px; line-height: 1.8; text-align: justify; }
#gourmetV20 .bottom .btmContent .text p + p {
	font-size: 15px;
	line-height: 1.5;
	text-indent: -1em;
	padding: 0 0 0 1em;
	margin: 15px 0 0 0;
}
#gourmetV20 .bottom .btmContent .text .photo { display: none; }
#gourmetV20 .bottom .btmContent .data {
	width: 100%;
	display: flex;
	flex-direction: row;
	border-radius: 10px;
	background-color: #f0f0f0;
	font-size: 15px;
	line-height: 1.7;
	align-items: center;
	padding: 20px 20px 20px 40px;
	margin: 50px 0 0 0;
}
#gourmetV20 .bottom .btmContent .data .dataText { width: calc(550/880 * 100%); max-width: 550px; }
#gourmetV20 .bottom .btmContent .data .dataText h6 { font-size: 18px; font-weight: 700; }
#gourmetV20 .bottom .btmContent .data .dataText table { width: 97%; }
#gourmetV20 .bottom .btmContent .data .dataText table th { text-align: right; white-space: nowrap; }
#gourmetV20 .bottom .btmContent .data .dataText table span { display: inline-block; }
#gourmetV20 .bottom .btmContent .data .photo { width: calc(330/880 * 100%); max-width: 330px; }
#gourmetV20 .bottom .btmContent .data .photo p { font-size: 14px; line-height: 1.2; padding: 10px 0 0 20px; }



@media screen and (max-width: 768px) {
	#gourmetV20 .bottom { width: 100%; padding: 0 calc(20/375 * 100%); margin: 60px auto 0; }
	
	#gourmetV20 .bottom .title h5 { font-size: 18px; letter-spacing: 0; padding: 20px 0 0 0; }
	
	#gourmetV20 .bottom .btmContent { padding: 20px 0 20px 0; }
	#gourmetV20 .bottom .btmContent .text { font-size: 15px; line-height: 1.6; }
	#gourmetV20 .bottom .btmContent .text p + p { font-size: 13px; margin: 15px 0 0 0; }
	#gourmetV20 .bottom .btmContent .text .photo { width: 100%; max-width: 240px; display: block; margin: 30px auto 0; }
	#gourmetV20 .bottom .btmContent .text .photo p { font-size: 12px; padding: 10px 0 0 20px; }
	#gourmetV20 .bottom .btmContent .data {
		flex-direction: column;
		font-size: 14px;
		line-height: 1.5;
		padding: 25px 20px 30px 20px;
		margin: 30px 0 0 0;
	}
	#gourmetV20 .bottom .btmContent .data .dataText { width: 100%; }
	#gourmetV20 .bottom .btmContent .data .dataText h6 { font-size: 15px; }
	#gourmetV20 .bottom .btmContent .data .dataText table { width: 100%; }
	/* #gourmetV20 .bottom .btmContent .data .photo { width: 100%; max-width: 240px; margin: 0 auto; order: 1; } */
	/* #gourmetV20 .bottom .btmContent .data .photo p { font-size: 12px; padding: 10px 0 0 20px; } */
	#gourmetV20 .bottom .btmContent .data .photo { display: none; }
}





/* 汎用パーツ
========================================================= */

/* plusIssue
------------------------------------------ */

.plusIssue { display: table; padding: 0 calc(20/375 * 100% ); margin: 100px auto 100px; }
.plusIssue div { display: table-cell; vertical-align: middle; }
.plusIssue div:nth-child(1) { width: 140px; }
.plusIssue div:nth-child(2) { padding: 0 0 0 20px; }
.plusIssue p { font-size: 14px; line-height: 1.4; text-align: center; }
.plusIssue p span { display: inline-block; padding: 0 0.5em; }
.plusIssue p + p { margin: 7px 0 0 0;}
.plusIssue a {
	border: solid 2px #cacaca;
	display: table;
	font-size: 16px;
	padding: 0.5em 2em;
	margin: 15px auto 0;
}
.plusIssue ul { display: table; font-size: 13px; line-height: 20px; margin: 15px auto 0; }
.plusIssue li { display: table-cell; vertical-align: top; }

@media screen and (max-width: 767px) {
	.plusIssue { margin: 80px auto; }
	.plusIssue div { display: block; }
	.plusIssue div:nth-child(1) { margin: 0 auto 15px; }
	.plusIssue div:nth-child(2) { padding: 0; }
	.plusIssue p + p { margin: 5px 0 0 0;}
	.plusIssue a { font-size: 14px; }
	.plusIssue ul { font-size: 12px; }
}



/* googlemap_area
------------------------------------------ */

#googlemap_area { margin: 0 0 40px 0; }



/* detailsLink
------------------------------------------ */

.datailsLink1 { width: 200px; margin: 20px 0 0 0; }
.datailsLink1 a {
	display: block;
	background-color: #333333;
	color: #ffffff;
	border-radius: 5px;
	font-size: 15px;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
}

.datailsLink2 { width: 200px; margin: 20px auto 0; }
.datailsLink2 a {
	display: block;
	background-color: #ffffff;
	color: #333333;
	border-radius: 5px;
	font-size: 15px;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
}

@media screen and (min-width: 769px) {
	.datailsLink1 a { transition: 0.2s; }
	.datailsLink1 a:hover { background-color: #fe8781; color: #ffffff; }
	
	.datailsLink2 a { transition: 0.2s; }
	.datailsLink2 a:hover { background-color: #fe8781; color: #ffffff; }
}

@media screen and (max-width: 767px) {
	.datailsLink1 { width: 200px; margin: 20px auto 0; }
	.datailsLink2 { width: 200px; margin: 20px auto 0; }
}


