@charset "UTF-8";

body {
	margin: 0;
	font-family: 'メイリオ', 'Hiragino Kaku Gothic Pro', sans-serif;
}


/* 基本 */
.post * {
	margin: 0;
}

.post img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}

.post-series img {
	max-width: 30px;
}

.shop img {
	max-width: 100px;
}


/* グリッド */
.post {
	--side: 20px;
	display: grid;
	grid-template-columns: var(--side) 1fr 50px 1fr var(--side);
	grid-template-rows: auto 30px auto 40px auto 30px auto;
}

/* ヘッダー */
.post-head {
	grid-column: 2 / -2;
	grid-row: 1;

	/* ヘッダーのグリッド */
	display: grid;
	grid-template-columns: 75px 1fr 140px;
	grid-template-rows: 45px repeat(3, auto);
	grid-column-gap: 24px;
	grid-row-gap: 12px;
}


/* ヘッダー: タイトル */
.post-title {
	grid-column: 2;
	grid-row: 3;
	font-family: 'Mplus 1p', sans-serif;
	font-size: 35px;
	font-weight: 900;
	line-height: 1.2;
}

/* ヘッダー: リード文 */
.post-lead {
	grid-column: 2;
	grid-row: 4;
	font-size: 13px;
	line-height: 1.8;
}

/* ヘッダー: シリーズ名 */
.post-series {
	grid-column: 1;
	grid-row: 1 / 4;
	margin-bottom: -12px;
	background-color: #000;
	color: #fff;
	font-size: 14px;
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 700;
	text-align: center;
	display: grid;
	justify-items: center;
	align-items: center;
	align-content: center;
	grid-row-gap: 8px;
}

/* ヘッダー: 日付 */
.post-date {
	grid-column: 3;
	grid-row: 1;
	align-self: end;
	padding: 3px 0;
	background-color: #222;
	color: #fff;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 14px;
	text-align: center;
}


/* ヘッダー： メニューの基本設定 */
.post-head ol,
.post-head ul {
	display: grid;
	grid-auto-flow: column;
	justify-content: start;
	margin: 0;
	padding: 0;
	list-style: none;
}

.post-head a,
.post-head a {
	color: #000;
	text-decoration: none;
}

/* ヘッダー: パンくずリスト */
.post-bread {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	font-size: 10px;
	line-height: 2;
}

.post-bread li:not(:last-child)::after {
	margin: 0 5px;
	content: '>';
	color: #aaa;
}

/* ヘッダー: カテゴリー */
.post-category {
	grid-column: 2;
	grid-row: 2;
}

.post-category ul {
	grid-column-gap: 5px;
}

.post-category a {
	display: block;
	padding: 3px 10px;
	border-radius: 5px;
	background-color: #ccc;
	font-size: 10px;
}

/* ヘッダー: SNSメニュー */
.post-sns {
	grid-column: 3;
	grid-row: 3;
}

.post-sns ul {
	justify-content: space-between;
}

.post-sns a {
	font-size: 14px;
	color: #fff;
	text-align: center;
	border-radius: 5px;
	display: block;
	width: 40px;
	line-height: 35px;
}
.post-sns li:nth-child(1) a
	 {background-color: #55acee;}
.post-sns li:nth-child(2) a
	 {background-color: #3b5998;}
.post-sns li:nth-child(3) a
	 {background-color: #dd4b39;}

/* ヘッダー： 区切り線 */
.post-head::before	{
	grid-column: 1 / -1;
	grid-row: 1;
	align-self: end;
	content: '';
	border-top: solid 4px #222;
	height: 2px;
	border-bottom: solid 2px #222;
	margin: 0 calc(var(--side) * -1) -4px;
}

/* ヘッダー： 装飾画像 */
.post-head::after	{
	grid-column: 3;
	grid-row: 4;
	justify-self: center;
	align-self: center;
	width: 80%;
	content: url('img/gourmet.svg');
}


/* セクション（共通） */
.sec h2 {
	font-family: 'Mplus 1p', sans-serif;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.2;
}

.sec .spot {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	border: solid 1px #aaa;
	border-radius: 50%;
	box-sizing: border-box;
	display: block;
	width: 3.75em;
	height: 3.75em;
	line-height: 3.75em;
}

.sec .num {
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 78px;
	font-weight: 300;
	line-height: 1;
}

.sec p {
	font-size: 14px;
	text-align: justify;
	text-justify: inter-ideograph;
}


/* セクション01 */
.sec01 {
	grid-column: 2 / -2;
	grid-row: 3;

	/* セクション01のグリッド */
	display: grid;
	grid-template-columns: 50% 1fr;
	grid-template-rows: auto 1fr auto;
	grid-column-gap: 25px;
	grid-row-gap: 15px;
}

/* セクション01: 小見出し */
.sec01 h2 {
	grid-column: 2;
	grid-row: 1;
	margin-left: -70px;
	z-index: 1;

	/* 小見出しのグリッド */
	display: grid;
	grid-template-columns: auto auto 1fr;
	grid-template-rows: auto auto;
	grid-row-gap: 10px;
	align-items: end;
}

.sec01 h2::after {
	grid-column: 1 / -1;
	content: '';
	display: block;
	border: solid 4px gold;
}

.sec01 .spot {
	margin-top: -8px;
	align-self: start;
}

.sec01 .num {
	margin-bottom: -5px;
	margin-right: 5px;
}


/* セクション01: 画像 */
.sec01 figure {
	grid-column: 1;
	grid-row: 1 / -1;
}

.sec01 figure img {
	height: 100%;
	object-fit: cover;
}

/* セクション01: 文章 */
.sec01 p {
	grid-column: 2;
	grid-row: 2;
}

/* セクション01: ショップ情報 */
.sec01 .shop {
	grid-column: 2;
	grid-row: 3;
}


/* セクション02 */
.sec02 {
	grid-column: 2;
	grid-row: 5;

	/* セクション02のグリッド */
	display: grid;
	grid-template-columns: 4fr 5fr;
	grid-template-rows: auto 1fr auto auto;
	grid-column-gap: 15px;
	grid-row-gap: 15px;
}


/* セクション02: 小見出し */
.sec02 h2 {
	grid-column: 1 / -1;
	grid-row: 1;

	/* 小見出しのグリッド */
	display: grid;
	grid-template-columns: auto auto auto 1fr;
	grid-template-rows: auto;
	align-items: end;
}

.sec02 h2::after {
	grid-column: 3;
	grid-row: 1;
	align-self: stretch;
	margin-bottom: -45px;
	margin-right: 5px;
	z-index: 1;
	content: '';
	display: block;
	border: solid 4px gold;
}

.sec02 .spot {
	margin-left: -20px;
	margin-right: -10px;
	margin-bottom: -20px;
	z-index: 1;
}

.sec02 .num {
	margin-bottom: -5px;
	margin-right: 5px;
}


/* セクション02: 画像01 */
.sec02 .fig01 {
	grid-column: 1;
	grid-row: 2 / 4;
	margin-bottom: 40px;
}

.sec02 .fig01 img {
	height: 100%;
	object-fit: cover;
}


/* セクション02: 画像02 */
.sec02 .fig02 {
	grid-column: 2;
	grid-row: 3;
	margin-left: -40px;
}

/* セクション02: 文章 */
.sec02 p {
	grid-column: 2;
	grid-row: 2;
}

/* セクション02: ショップ情報 */
.sec02 .shop {
	grid-column: 1 / -1;
	grid-row: 4;
}


/* セクション03 */
.sec03 {
	grid-column: 4;
	grid-row: 5;

	/* セクション03のグリッド */
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto auto 1fr auto;
	grid-row-gap: 15px;
}

/* セクション03: 小見出し */
.sec03 h2 {
	grid-column: 1;
	grid-row: 2;

	/* 小見出しのグリッド */
	display: grid;
	grid-template-columns: auto auto 1fr auto;
	grid-template-rows: auto auto;
	grid-row-gap: 10px;
	align-items: end;
}

.sec03 h2::before {
	grid-column: 4;
	grid-row: 1;
	align-self: stretch;
	margin-bottom: -10px;
	margin-top: -60px;
	z-index: 1;
	transform: rotate(-22deg);
	transform-origin: right bottom;
	content: '';
	display: block;
	border: solid 4px gold;
}

.sec03 h2::after {
	grid-column: 1 / -1;
	content: '';
	display: block;
	border: solid 4px gold;
}

.sec03 .spot {
	margin-left: -15px;
}

.sec03 .num {
	margin-bottom: -5px;
	margin-right: 5px;
}

/* セクション03: 画像 */
.sec03 figure {
	grid-column: 1;
	grid-row: 1;
}

/* セクション03: 文章 */
.sec03 p {
	grid-column: 1;
	grid-row: 3;
}

/* セクション03: ショップ情報 */
.sec03 .shop {
	grid-column: 1;
	grid-row: 4;
}


/* ショップ情報 */
.shop {
	display: grid;
	grid-template-columns: 100px 1fr;
	grid-template-rows: auto auto;
	grid-column-gap: 10px;
	grid-row-gap: 5px;
	border: solid 1px #222;
}


.shop img {
	grid-column: 1;
	grid-row: 1 / -1;
}

.shop h3 {
	grid-column: 2;
	grid-row: 1;
	font-size: 12px;
	align-self: end;
}
.shop p {
	grid-column: 2;
	grid-row: 2;
	font-size: 10px;
	line-height: 1.5;
}

.shop span {
	padding: 0 5px;
	border-radius: 10px;
	background-color: #ddd;
}



/* フッター */
.post-foot {
	grid-column: 1 / -1;
	grid-row: -2;
}



