@charset "utf-8";

/*下層ページ用のスタイルです。*/

/* ------------ */
/* デザイン共通 */
/* ------------ */
.shop article,
.shop aside { position:relative; }

main.page_common h1.page_title.shop_title > figure.shop_logo { position:absolute; }

@media print,screen and (max-width:767px) {
	main.page_common h1.page_title.shop_title > figure.shop_logo {
		top:1rem;
		left:1rem;
		width:25%;
	}
}
@media print,screen and (min-width:768px) {
	.shop {
		width:100%;
		margin:0 auto;
		padding:0;
	}
	.shop article,
	.shop aside {
		width:calc(100% - 8rem);
		max-width:1100px;
		margin:0 auto;
	}
	.home .shop article.sec_shop_list {
		width:100%;
		max-width:1100px;
		margin:0 auto;
	}
	.shop article { margin-bottom:5rem; }
	
	main.page_common h1.page_title.shop_title > figure.shop_logo {
		top:2rem;
		left:4rem;
		width:20%;
		max-width:15rem;
	}
}
@media print,screen and (min-width:960px) {
	
}
@media print,screen and (min-width:1100px) {
	
}

/* ----------- */
/*  shop navi  */
/* ----------- */

.shop .shop_navi a {
	display:block;
	position:relative;
	margin:0;
	padding:1rem;
	color:#000;
	line-height:1;
	border-bottom:#000 1px solid;
}
.shop .shop_navi a:hover {
	color:#D10001;
	border-color:#D10001;
}
.shop .shop_navi a::before,
.shop .shop_navi a.link_ancher::after {
	display:block;
	content:"";
	position:absolute;
}
.shop .shop_navi a::before {
	width:4px;
	height:1rem;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
	background:#D10001;
}
.shop .shop_navi a.link_ancher::after {
	content:"";
	top:0;
	right:0;
	bottom:0;
	width:1.6rem;
	height:0.8rem;
	margin:auto;
	color:#000;
	background:url('images/icon_shop_navi.png') 50% 50% no-repeat;
	background-size:cover;
	-webkit-transition:0.15s ease-out;
	-moz-transition:0.15s ease-out;
	-ms-transition:0.15s ease-out;
	transition:0.15s ease-out;
}
.shop .shop_navi a.link_ancher:hover::after { top:0.5rem; }

@media print,screen and (max-width:767px) {
	.shop .shop_navi { margin:4rem 1rem; }
	.shop .shop_navi a { margin-top:1rem; }
}
@media print,screen and (min-width:768px) {
	.shop .shop_navi {
		display:flex;
		justify-content:space-between;
		margin:8rem auto;
	}
	.shop .shop_navi a { width:calc(25% - 0.5rem); }
	.shop .shop_navi.three_cols a { width:calc(33% - 0.5rem); }
}
@media print,screen and (min-width:1100px) {
	
}

/* ----------- */
/*  sec_about  */
/* ----------- */

article.sec_about { }
article.sec_about::before,
article.sec_about::after {
	position:absolute;
	display:block;
	content:"";
	width:100%;
}

article.sec_about::before {
	top:3.25rem;
	z-index:-10;
	width:100vw;
	height:30rem;
	margin-left:calc(50% - 50vw);
	background:#A30A0B;
	transform:skewY(-16deg);
	transform-origin:right top;
}
article.sec_about::after {
	top:20rem;
	z-index:-10;
	width:100vw;
	height:60rem;
	margin-left:calc(50% - 50vw);
	transform:skewY(16deg);
	transform-origin:left top;
	z-index:-5;
	background:#F5EFE1;
}

article.sec_about .shop_name {
	color:#D10001;
	letter-spacing:0.25rem;
	font-size:3.125rem;
	font-weight:300;
}
article.sec_about .shop_name span {
	color:#000;
	font-size:1.25rem;
	font-weight:500;
}
article.sec_about .block_about {
	position:relative;
	overflow:hidden;
}
article.sec_about .block_about .text {
	padding:2rem;
	line-height:2;
	background:#fff;
	box-shadow:0 3px 6px 0 rgba(0,0,0,0.16);
}

article.sec_about .block_material .detail {
	position:relative;
	margin-bottom: 1rem;
}
article.sec_about .block_material .detail .body {
	height:100%;
	margin:0 auto;
	padding:1rem;
	background:#fff;
	box-shadow:0 3px 6px 0 rgba(0,0,0,0.16);
}
article.sec_about .block_material .detail figure img { margin-bottom:1rem; }
article.sec_about .block_material .detail figure figcaption {
	min-height:2em;
	/*margin-bottom:1rem;*/
	color:#A30A0B;
	text-align:center;
	font-size:1.5rem;
	font-weight:500;
}
article.sec_about .block_material .detail .body p {
	padding:1rem;
	line-height:1.75;
}

@media print,screen and (max-width:767px) {
	article.sec_about .heading02,
	article.sec_about .heading03 { width:calc(100% - 2rem); margin-bottom:2rem; }
	article.sec_about .shop_name {
		width:calc(100% - 2rem);
		margin:0 auto 1rem;
		line-height:1;
		text-align:center;
	}
	article.sec_about::before {
		top:28rem;
		transform-origin:center center;
	}
	
	article.sec_about::after {
		top:56rem;
		transform-origin:center center;
	}
	article.sec_about .block_about { margin-bottom:4rem; }
	article.sec_about .block_about figure {
		position:relative;
		z-index:-1;
		width:calc(100% - 2rem);
	}
	article.sec_about .block_about .text {
		float:right;
		width:calc(100% - 2rem);
		margin-top:-4rem;
	}
	article.sec_about .block_material .detail { padding-bottom:2rem; }
	article.sec_about .block_material .detail .body { width:calc(100% - 3rem); }
}
@media print,screen and (min-width:768px) {
	article.sec_about .heading03{ clear:both; }
	article.sec_about .shop_name {
		width:calc(100% - 4rem);
		margin:0 auto 1rem;
		line-height:0.75;
	}
	article.sec_about .block_about {
		width:calc(100% - 4rem);
		margin:0 auto 5rem;
		padding-bottom:4rem;
		overflow:hidden;
	}
	article.sec_about .block_about figure {
		position:absolute;
		z-index:-1;
		width:52%;
	}
	article.sec_about .block_about .text {
		float:right;
		width:52%;
		margin-top:4rem;
	}
	article.sec_about .block_material {
		display:flex;
		justify-content:space-between;
	}
	article.sec_about .block_material .detail { width:33%; }
	article.sec_about .block_material .detail .body { width:calc(100% - 0.3rem); }
}
@media print,screen and (min-width:768px) and (max-width:959px) {
	article.sec_about::before { top:10rem; }
	article.sec_about .block_about .text {
		float:right;
		width:64%;
		margin-top:8rem;
	}
}
@media print,screen and (min-width:960px) {
	article.sec_about::before { top:3.25rem; }
	article.sec_about .block_about .text {
		float:right;
		width:52%;
		margin-top:4rem;
	}
}
@media print,screen and (min-width:1100px) { }

/* ---------- */
/*  sec menu  */
/* ---------- */

article.sec_menu { padding-bottom:4rem; }
article.sec_menu.eggpudding_pu { padding-bottom:0rem; }
article.sec_menu::after {
	display:block;
	content:"";
	position:absolute;
	z-index:-10;
	width:100vw;
	margin-left:calc(50% - 50vw);
	background:#A30A0B;
	transform:skewY(16deg);
	transform-origin:center center;
	z-index:-5;
}

article.sec_menu .heading02 { margin-bottom:2rem; }
article.sec_menu .block_menu_title_img{ width:100vw; margin-left:calc(50% - 50vw); }

article.sec_menu .menu_intro_title{
	position:relative;
	padding:1em 0 0.5em;
	color:#fff;
	line-height:1;
	letter-spacing:0.2rem;
	text-align:center;
	font-size:2.5rem;
	font-weight:400;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic,"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	border-bottom:#fff 1px solid;
}
article.sec_menu .menu_intro_title::after{
	display:block;
	content:"";
	position:absolute;
	bottom:5px;
	width:100%;
	height:1px;
	background:#fff;
}

article.sec_menu .menu_intro_title + p{
	color:#fff;
	line-height:2;
	text-align:center;
}

article.sec_menu .pickup_menu_title{
	margin:2.5em 0 1em;
	padding-bottom:1rem;
	line-height:0.75;
	font-size:2.5rem;
	font-weight:400;
}
article.sec_menu .pickup_menu_title span{ font-size:1.25rem; }
article.sec_menu .block_pickup_menu .detail figure{ border-top:#A30A0B 4px solid; }

article.sec_menu .block_pickup_menu .detail figure img,
article.sec_menu .block_menu_list .detail figure img { margin-bottom:1rem; }
article.sec_menu .block_pickup_menu .detail figure figcaption,
article.sec_menu .block_menu_list .detail figure figcaption{
	height:2.5em;
	color:#A30A0B;
	text-align:left;
	font-size:1.25rem;
	font-weight:500;
	font-family:"游ゴシック体", "Yu Gothic", YuGothic,"ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}
article.sec_menu .block_menu_list .detail{ padding:0 1rem; }
article.sec_menu .block_menu_list .detail figure figcaption{
	margin-bottom:1em;
	text-align:center;
	font-size:1.75rem;
}
article.sec_menu .block_menu_list .detail figure figcaption span{
	display:block;
	color:#000;
	font-size:1.15rem;
}

article.sec_menu .block_menu_list .detail figure + p { text-align:center; }
article.sec_menu .block_menu_list .detail a {
	display:block;
	position:relative;
	width:60%;
	/*margin:2rem auto 0;*/
	margin:1rem auto 0;
	padding:0.5rem;
	line-height:1;
}
article.sec_menu .block_menu_list .detail a::before {
	display:block;
	content:"";
	position:absolute;
	top:0;
	left:1rem;
	width:3.25rem;
	height:100%;
	background:url('images/icon_pdf.png') 50% 50% no-repeat;
	background-size:cover;
}
article.sec_menu .block_menu_list .detail a span {
	display:flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	width:100%;
	height: 100%;
	padding:1rem;
	padding-left:4.25rem;
	text-align:center;
	border:#A30A0B 1px solid;
	-webkit-transition:0.2s ease-out;
	-moz-transition:0.2s ease-out;
	-ms-transition:0.2s ease-out;
	transition:0.2s ease-out;
}
article.sec_menu .block_menu_list .detail a:hover span {
	color:#fff;
	background:#A30A0B;
}

article.sec_menu .attention{
	margin-bottom:2.5rem;
	padding:0.75rem 0;
	line-height:1;
	letter-spacing:0.1rem;
	text-align:center;
	font-size:1.25rem;
	font-weight:600;
	border:#000 1px solid;
}

article.sec_menu .detail_large {
	padding:0rem 0 1rem;
}
article.sec_menu .detail_large .body {
	height:100%;
	margin:0 auto;
	padding:0rem 0.375rem 1rem;
}
article.sec_menu .detail_large figure img { margin-bottom:1rem; }
article.sec_menu .detail_large figure figcaption {
	min-height:2em;
	/*margin-bottom:1rem;*/
	color:#A30A0B;
	text-align:left;
	font-size:1.5rem;
	font-weight:500;
}
article.sec_menu .detail_large .body p {
	padding:1rem;
	line-height:1.75;
}

@media print,screen and (max-width:767px) {
	article.sec_menu::after {
		top:20rem;
		height:46rem;
	}
	article.sec_menu .heading02 { width:calc(100% - 2rem); margin:4rem auto 2rem; }
	article.sec_menu .block_menu_title_img{ height:13.75rem; }
	article.sec_menu .menu_intro_title { margin:0 1em 1em; line-height:1.25; }
	article.sec_menu .menu_intro_title span { display:block; margin:0em auto 0.5em; }
	article.sec_menu .menu_intro_title + p{
		width:calc(100% - 4rem);
		margin:0 auto;
		text-align:left;
	}
	article.sec_menu .pickup_menu_title{
		width:calc(100% - 2rem);
		margin:3em auto 1em;
		padding-bottom:1rem;
		line-height:1;
		font-size:2.5rem;
		font-weight:400;
	}
	article.sec_menu .block_pickup_menu { margin-bottom:4rem; }
	article.sec_menu .block_pickup_menu .detail { padding:0 4rem; }
	article.sec_menu .attention{
		line-height: 1.75em;
		width:calc(100% - 3rem);
		padding: 0.5em 1em;
		margin:0 auto 2rem;
	}

	article.sec_about .block_material .detail figure figcaption,
	article.sec_menu .block_pickup_menu .detail figure figcaption,
	article.sec_menu .block_menu_list .detail figure figcaption{
		height: auto;
	}
	article.sec_about .block_material .detail figure figcaption{
		margin-bottom: 0;
	}
	article.sec_menu .block_pickup_menu .detail .body p {
		padding: 1rem 0;
	}

	article.sec_menu .block_menu_list {
		/*width:calc(100% - 4rem);*/
		width:100%;
		margin:0 auto;
	}
	article.sec_menu .block_menu_list > div {
		min-width:100%;
	}
	article.sec_menu .block_menu_list .detail {
		margin-bottom:0rem;
		padding:0 2rem;
	}
	article.sec_menu .block_menu_list .detail a { width:50%; }
	article.sec_menu .block_menu_list .pdf_wrap {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	article.sec_menu .block_menu_list .detail .pdf_wrap a { 
		width:48.5%;
		padding: 0;
	}
	article.sec_menu .block_menu_list .detail .pdf_wrap a:nth-child(n+3) { margin-top: 0.5rem }
	article.sec_menu .block_menu_list .detail .pdf_wrap a::before {
		width: 1.5rem;
		background-size: contain;
	}
	article.sec_menu .block_menu_list .detail .pdf_wrap a span {
		padding-left: 2.5rem;
	}

}
@media print,screen and (min-width:768px) {
	article.sec_menu::after { top:22rem; height:30rem; }
	article.sec_menu .block_menu_title_img{ height:22rem; }
	article.sec_menu .menu_intro_title{ margin:0 4em 1em; }
	article.sec_menu .menu_intro_title span{ display:inline-block; margin:0 0.5em; }
	
	article.sec_menu .pickup_menu_title{
		margin:2.5em 0 1em;
		padding-bottom:1rem;
		line-height:0.75;
		font-size:2.5rem;
		font-weight:400;
		border-bottom:#A30A0B 1px solid;
	}
	
	article.sec_menu .block_pickup_menu,
	article.sec_menu .block_menu_list{
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	article.sec_menu .block_pickup_menu .detail{ width:calc(50% - 0.75rem); margin-bottom:5rem; padding: 0 0.375rem; }
	article.sec_menu .block_pickup_menu .detail figure{ width:100%; }
	article.sec_menu .block_pickup_menu .detail figure figcaption { height:2.5em; margin-bottom:1em; }
	article.sec_menu .block_menu_list .detail figure figcaption {
		height:auto;
		margin-bottom:1em;
		line-height:1.25;
	}
	
	article.sec_menu .block_menu_list .detail{ width:31%; }
	article.sec_menu .block_menu_list .detail a { width:100%; }
}
@media print,screen and (min-width:768px) and (max-width:959px) {
	article.sec_menu::after {
		top:26rem;
		height:30rem;
	}
	article.sec_menu .menu_intro_title { line-height:1; }
	article.sec_menu .menu_intro_title span { display:block; margin:0em auto 0.5em; }
	article.sec_menu .menu_intro_title + p br { display:none; }
	article.sec_menu .block_menu_list .detail {
		padding: 0.5rem;
	}
	article.sec_menu .block_menu_list .pdf_wrap {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	article.sec_menu .block_menu_list .detail .pdf_wrap a { 
		width:48.5%;
		padding: 0;
	}
	article.sec_menu .block_menu_list .detail .pdf_wrap a:nth-child(n+3) { margin-top: 0.5rem }
	article.sec_menu .block_menu_list .detail .pdf_wrap a::before {
		width: 1.5rem;
		background-size: contain;
	}
	article.sec_menu .block_menu_list .detail .pdf_wrap a span {
		padding-left: 2.5rem;
	}
}
@media print,screen and (min-width:960px) { 
/* 	article.sec_menu .block_pickup_menu .detail{ padding: 0 0.375rem; } */
	article.sec_menu .block_pickup_menu .detail figure figcaption,
	article.sec_menu .block_menu_list .detail figure figcaption { height:2.5em; margin-bottom:2em; }
	/*article.sec_menu .block_menu_list .detail a { width:60%; }*/
}
@media print,screen and (min-width:1100px) { }

/* ---------- */
/*  sec news  */
/* ---------- */

article.sec_news { }
article.sec_news .heading02 { margin-bottom:2rem; }
article.sec_news .block_news_list { }
article.sec_news .block_news_list .detail {
}

article.sec_news .block_news_list .detail .body{
	padding:1rem 1rem 2rem;
	background:#fff;
	box-shadow:0 3px 6px 0 rgba(0,0,0,0.16);
}
article.sec_news .block_news_list .detail figure div {
	overflow: hidden;
	width: 100%;
	height: 125px;
	position: relative;
	display: block;
}
article.sec_news .block_news_list .detail figure div img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: auto;
}
article.sec_news .block_news_list .detail figure figcaption{
	padding:1em 0;
	color:#A30A0B;
	text-align:left;
	font-size:1.25rem;
	font-weight:700;
	word-break: break-word;
}
article.sec_news .block_news_list a,
article.sec_news .btn_more {
	display:block;
	padding:0.5rem;
	color:#D10001;
	line-height:1;
	text-align:center;
	border:#D10001 1px solid;
	background:url('images/icon_news.png') 0.5rem 50% no-repeat;
}
article.sec_news .block_news_list a:hover,
article.sec_news .btn_more:hover {
	color:#fff;
	background:#D10001 url('images/icon_news_on.png') 0.5rem 50% no-repeat;
}

article.sec_news .btn_more { margin:2rem auto; padding:1rem; }

@media print,screen and (max-width:767px) {
	article.sec_news { margin:4rem auto ; }
	article.sec_news .heading02 { 
		width:calc(100% - 2rem);
		margin:0 auto 2rem;
	}
	article.sec_news .block_news_list { padding-bottom:2rem; }
	/*article.sec_about .block_material .detail { padding-bottom:2rem; }*/
	article.sec_news .block_news_list .detail { padding:0 1.5rem 2rem; margin-top: 0.25rem;}
	article.sec_news .block_news_list .detail .body { margin-bottom:1rem; }
	article.sec_news .block_news_list .detail figure + p { margin-bottom:1rem; }
	article.sec_news .block_news_list a { width:70%; margin:0 auto;}
	article.sec_news .btn_more {
		width:calc(100% - 3rem);
		margin:2rem auto;
		padding:1rem;
	}
}
@media print,screen and (min-width:768px) {
	article.sec_news .block_news_list { display:block; padding-top:2rem; }
	article.sec_news .block_news_list .detail { 
		padding:0 0.3rem 2rem;
		margin-top: 3px;
	}
	article.sec_news .block_news_list .detail .body {
		width:calc(100% - 0.75rem);
		/*height:calc(100% - 2rem);*/
		height:100%;
		margin:0 auto;
		padding-bottom:2rem;
	}
	article.sec_news .block_news_list .detail figure + p {
		padding-bottom:1rem;
		overflow:hidden;
	}
	article.sec_news .btn_more { width:40%; }
}
@media print,screen and (min-width:960px) {
	article.sec_news .block_news_list .detail .body {
		display:flex;
		flex-direction:column;
		justify-content:space-between;
	}
}

@media screen and (min-width:767px) and (max-width:959px) {
	article.sec_menu .pickup_menu_title {
		line-height: 1;
	}
	article.sec_news .block_news_list .detail figure + p {
		padding-bottom: 1rem;
	}
}

@media print,screen and (min-width:1100px) {
	
}

/* ----------- */
/*  shop list  */
/* ----------- */
.sec_shop_list { border-bottom:#ddd 1px solid; }
.sec_shop_list .heading_shop_area {
	margin-bottom:2rem;
	padding:0.75rem 0;
	line-height:1;
	font-size:1.625rem;
	font-weight:normal;
	border-bottom:#ddd 1px solid;
}
.block_shop_list .detail { margin-bottom:2rem; }
.block_shop_list .detail h4 {
	color:#A30A0B;
	line-height:1.25;
	font-size:1.25rem;
}
.block_shop_list .detail h4 span {
	color:#000;
	font-size:0.875rem;
	font-weight:normal;
}

.block_shop_list .detail .head .links a { display:inline-block; }

.block_shop_list .detail .data {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin-bottom:2rem;
}
.block_shop_list .detail .data dt,
.block_shop_list .detail .data dd {
	margin:0;
	padding:0.5rem 0;
	border-bottom:#ddd 1px solid;
}
.block_shop_list .detail .data dt { width:6rem; color:#A30A0B; }
.block_shop_list .detail .data dd { width:calc(100% - 6rem); }
.block_shop_list .detail .map iframe { display:none; }
.sec_shop_list_mother .btn_link_shop_topics_page { text-align:center; }
.sec_shop_list_mother .btn_link_shop_topics_page a {
	display:inline-block;
	position:relative;
	padding-left:1rem;
	color:#000;
}
.sec_shop_list_mother .btn_link_shop_topics_page a:hover { color:#D10001; }
.sec_shop_list_mother .btn_link_shop_topics_page a::before {
	display:block;
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	width:4px;
	height:1rem;
	background:#D10001;
}

@media print,screen and (max-width:767px) {
	
	.block_shop_list .detail .head figure { width:100%; }
	.block_shop_list .detail .head .index { margin:1rem 0; }
	.block_shop_list .detail .head h4 { font-size:1.625rem; }
	.block_shop_list .detail .head .links { margin-top:0.5rem; }
	.block_shop_list .detail .head .links a { width:11.5%; margin:0 1%; }
	.sec_shop_list .btn_link_shop_topics_page {
		width:100%;
		margin:1rem auto;
	}
	.sec_shop_list_mother .btn_link_shop_topics_page { margin:1rem auto; }
}
@media print,screen and (min-width:768px) and (max-width:959px) {
	.block_shop_list .detail:nth-child(2n) { margin-left:4%; }
}
@media print,screen and (min-width:768px) {
	.sec_shop_list { margin-bottom:2rem;}
	.block_shop_list {
		display:flex;
		justify-content:flex-start;
		flex-wrap:wrap;
		margin-bottom:2rem;
	}
	.block_shop_list .detail { width:48%; margin-bottom:4rem; }
	.block_shop_list .detail .head .index { margin:1rem 0; }
	
	.block_shop_list .detail .head .links { margin-top:0.5rem; }
	.block_shop_list .detail .head .links a { width:11.5%; margin:0 1%; }
	.sec_shop_list .btn_link01 { width:40%; }
	.sec_shop_list_mother .btn_link_shop_topics_page { margin:2rem auto; }
}

@media print,screen and (min-width:960px) {
	.block_shop_list .detail { width:31%; }
	.block_shop_list .detail:nth-child(3n - 1) { margin-right:3%; margin-left:3%; }
}
@media print,screen and (min-width:1100px) {
	
}

/* ---- */
/* LAST */
/* ---- */