@charset "UTF-8";

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


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

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


/* グリッド */
.cake {
	--sideLR: 20px;
	--sideTB: 40px;
	display: grid;
	grid-template-columns: 2fr 1fr;
	grid-template-rows: auto auto;
	grid-column-gap: 20px;
	grid-row-gap: 50px;
	margin: var(--sideTB) var(--sideLR);
	font-family: 'Rounded Mplus 1c', sans-serif;
}

/* 画像 */
.cake-photo {
	grid-column: 1;
	grid-row: 1 / -1;
	margin-top: calc( var(--sideTB) * -1);
	margin-bottom: calc( var(--sideTB) * -1);
	margin-left: calc( var(--sideLR) * -1);
}

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

/* タイトルと文章 */
.cake-main {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	align-self: start;
	writing-mode: vertical-rl;

	/* cake-mainのグリッド */
	display: grid;
	grid-row-gap: 20px;
	justify-items: end;
}

.cake-main h2 {
	font-size: 40px;
	font-weight: 900;
	line-height: 1.2;
	padding-bottom: 20px;
}

.cake-main p {
	color: #666;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
	height: 15em;
}

/* Safari用の設定 */
@supports (-webkit-nbsp-mode: space) {
	.cake-main h2 {
		margin-right: 20px;
	}
}

/* サブ情報 */
.cake-sub {
	grid-column: 2;
	grid-row: 2;
	align-self: end;
}

.cake-sub h3 {
	margin-bottom: 10px;
	padding: 4px;
	background-color: #b03a28;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
}

.cake-sub p {
	font-size: 12px;
}


/* ##### 画面の横幅900ピクセル以上 ##### */
@media (min-width: 900px) {
	.cake {
		--sideLR: calc( (100vw - 860px) / 2 );
	}
}


/* ##### 画面の横幅767ピクセル以下 ##### */
@media (max-width: 767px) {
	.cake-photo {
		grid-column: 1 / -1;
		z-index: -1;
		margin-right: calc( var(--sideLR) * -1);
	}

	.cake::after {
		grid-column: 2;
		grid-row: 1 / -1;
		z-index: -1;
		content: '';
		background: rgba(255,255,255,0.8);
		margin-left: -20px;
		margin-right: calc( var(--sideLR) * -1);
		margin-top: calc( var(--sideTB) * -1);
		margin-bottom: calc( var(--sideTB) * -1);
	}
}
