@charset "UTF-8";

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


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

.page-head img {
	width: 80px;
	vertical-align: bottom;
}

/* グリッド */
.page {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 1fr auto;
	min-height: 100vh;
}

/* ヘッダー */
.page-head {
	grid-column: 1;
	grid-row: 1;
	padding: 15px 0;
	background-color: #222;
	text-align: center;
}

/* メインコンテンツ */
.page-main {
	grid-column: 1;
	grid-row: 2;
	background-color: #fff;
}

/* ナビゲーション */
.page-nav {
	grid-column: 1;
	grid-row: 2;
	z-index: 100;
	background-color: rgba(0,0,0,0.8);
	display: none;
}

.open .page-nav {
	display: block;
}

.page-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-nav a {
	display: block;
	margin: 30px;
	border-bottom: solid 1px #aaa;
	color: #fff;
	font-size: 20px;
	text-decoration: none;
}


/* ボタン */
.page-btn,
.page-btn-close {
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	align-self: center;
	padding: 20px;
	border: none;
	background-color: transparent;
	color: #fff;
	font-size: 28px;
	cursor: pointer;
}

.page-btn-close {
	display: none;
}

.open .page-btn {
	display: none;
}

.open .page-btn-close {
	display: block;
}



/* フッター */
.page-foot {
	grid-column: 1;
	grid-row: 3;
	padding: 20px 0;
	background-color: #222;
	color: #fff;
	text-align: center;
	font-size: 14px;
}


/* ##### 画面の横幅1260ピクセル以上 ##### */
@media (min-width: 1260px) {
	.page {
		grid-template-columns: 260px 1fr;
	}

	/* メインコンテンツ */
	.page-main {
		grid-column: 2;
		grid-row: 1 / -1;
	}

	/* ヘッダー */
	.page-head {
		padding: 40px 0;
	}

	.page-head img {
		width: 150px;
	}

	/* ナビゲーション */
	.page-nav {
		display: block;
		background-color: #222;
	}

	/* ボタン */
	.page-btn {
		display: none;
	}

	/* フッター */
	.page-foot {
		padding: 40px 0;
	}

}


/* ++++++++++ Chapter3B 設定 ++++++++++ */

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

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

.burger-sub img {
	max-width: 100px;
}


/* グリッド */
.burger {
	--side: 20px;
	display: grid;
	grid-template-columns: 100px 1fr auto;
	grid-template-rows: auto 180px;
	grid-column-gap: 15px;
	grid-row-gap: 30px;
	margin: 0 var(--side) 30px;
	font-family: 'Noto Sans Japanese', sans-serif;
}

/* 大きい画像 */
.burger-photo {
	grid-column: 1 / -1;
	grid-row: 1;
	margin: 0 calc( var(--side) * -1);
}

.burger-photo img {
	height: 100%;
	object-fit: cover;
	max-height: 600px;
}

/* タイトル */
.burger-title {
	grid-column: 3;
	grid-row: 1 / -1;
	align-self: end;
	z-index: 1;
	padding: 120px 0 40px;
	font-size: 56px;
	font-weight: 900;
	line-height: 1.3;
	writing-mode: vertical-rl;
}

/* 文章 */
.burger-text {
	grid-column: 2;
	grid-row: 2;
	justify-self: center;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.85;
	writing-mode: vertical-rl;
}

/* サブ情報 */
.burger-sub {
	grid-column: 1;
	grid-row: 2;
}

.burger-sub p {
	margin-top: 10px;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
}


/* ##### 画面の横幅1000ピクセル以上 ##### */
@media (min-width: 1000px) {
	.burger {
		--side: calc( (100vw - 960px) / 2 );
	}

	/* 文章 */
	.burger-text {
		line-height: 2.5;
	}
}


/* ##### 画面の横幅769～999ピクセル ##### */
@media (min-width: 769px) and (max-width: 999px) {
	/* 文章 */
	.burger-text {
		line-height: calc(22.2px + 7.8 * (100vw - 768px) / 232);
	}
}


/* ##### 画面の横幅767ピクセル以下 ##### */
@media (max-width: 767px) {

	.burger {
		grid-template-columns: 1fr auto;
		grid-template-rows: auto 180px auto;
	}

	/* タイトル */
	.burger-title {
		grid-column: 2;
		grid-row: 1 / 3;
		font-size: 35px;
	}

	/* 文章 */
	.burger-text {
		grid-column: 1;
		grid-row: 2;
		overflow-x: auto;
		min-width: 1px; /* Safari 10.x用の設定 */
		justify-self: stretch;
		padding-left: 30px;
	}

	.burger::after	{
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
		z-index: 1;
		width: 30px;
		content: '';
		background: linear-gradient(
			to right, 
			rgba(255,255,255,1) 0%, 
			rgba(255,255,255,0) 100%
		);
	}

	/* サブ情報 */
	.burger-sub {
		grid-column: 1 / -1;
		grid-row: 3;

		/* サブ情報のグリッド */
		display: grid;
		grid-auto-flow: column;
		grid-column-gap: 10px;
		max-width: 280px;
	}

	.burger-sub p {
		margin: 0;
	}

}



/* ##### 画面の横幅1260ピクセル以上 ##### */
@media (min-width: 1260px) {
	.burger {
		--side: calc((100vw - (960px + 260px)) / 2 );
	}
}
