@charset "utf-8";
/* CSS Document */

header {
	background: #FFF url("../images/bg04.png") bottom center;
	background-size: 100%;
}
header img {
	width: 100%;
	max-width: 1200px;
	height: auto;
}

#middle-contents {
	background: #FFF;
}

#main_in {
	line-height: 1.8em;
	padding:  15px 10px;
}

/* 表示領域が1199.98px以下の場合に適用するスタイル */
@media print, screen and (max-width: 1199.98px) {
	#contents {
		width: 100%;
		display: grid;
		grid-auto-columns: 1fr; 
		grid-template-columns: 250px 1fr; 
		grid-template-rows: min-content 1fr min-content; 
		gap: 0px 0px; 
		grid-template-areas: 
			"header-contents header-contents"
			"left-contents middle-contents"
			"right-contents right-contents"; 
	}
	#right-contents {
		background: rgba(255,255,255,0.2);
	}
}

/* 表示領域が1200px以上の場合に適用するスタイル */
@media screen and (min-width: 1200px) {
	#contents {
		width: 100%;
		max-width: 1400px;
		margin: 0 auto;
		display: grid; 
		grid-auto-columns: 1fr;
		grid-template-columns: 250px 1fr 210px; 
		grid-template-rows: min-content 1fr; 
		grid-template-areas: 
    "header-contents header-contents header-contents"
    "left-contents middle-contents right-contents";
		box-shadow: -3px 0px 7px 0px rgba(0, 0, 0, 0.3);
	}
}
	
/* 表示領域が767.98px以下の場合に適用するスタイル */
@media print, screen and (max-width: 767.98px) {
	#contents {
		width: 100%;
		display: grid; 
		grid-template-columns: 1fr; 
		grid-template-rows: min-content min-content 1fr min-content; 
		gap: 0px 0px; 
		grid-template-areas: 
			"left-contents"
			"header-contents"
			"middle-contents"
			"right-contents"; 
	}
	
	header {
		background: #FFF url("../images/bg04.png") right bottom;
		background-size: 150%;
		padding: 15px 20px;
		text-align: center;
	}
	header img {
		max-width: 700px;
	}

}

/* 表示領域が768px以上の場合に適用するスタイル */
@media screen and (min-width: 768px) {
	header {
		padding: 15px;
	}
	#main_in { /* 以上 */
		padding: 20px 25px;
	}
}