@charset "utf-8";

/* 基礎レイアウト
======================================================================================== */

#contentsheader {
	width: 100%;
	height: 360px;
	display: block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	text-align: center;
	overflow: hidden;
	position: relative;
}
#contentsheader:after {
	content: "写真提供「環境省新宿御苑管理事務所」";
	color: rgba(255,255,255,0.8);
	font-size: 11px;
	line-height: 11px;
	position: absolute;
	right: 5px;
	bottom: 5px;
}
#contentsheader p.icon {
	width: 55px;
	height: 55px;
	background: url(/images/h1_course_icon.svg) no-repeat;
	margin: 120px auto 25px;
}
#contentsheader h1 { color: #ffffff; font-size: 48px; margin: 0 auto; }



@media screen and (max-width: 1199px) {
	#contentsheader { height: 320px; }
	#contentsheader p.icon { margin: 100px auto 25px; }
}

@media screen and (max-width: 992px) {
	#contentsheader { height: 280px; }
	#contentsheader p.icon { margin: 80px auto 25px; }
}

@media screen and (max-width: 768px) {
	#contentsheader { height: 240px; }
	#contentsheader p.icon { width: 44px; height: 44px; margin: 60px auto 22px; }
	#contentsheader h1 { font-size: 36px; }
}

@media screen and (max-width: 480px) {
	#contentsheader { height: 160px; }
	#contentsheader p.icon { width: 33px; height: 33px; margin: 40px auto 16px; }
	#contentsheader h1 { font-size:24px; }
}



#snsArea .sns_icon_area .fb-share-button,
#snsArea .sns_icon_area .twitter-share-button {
	display: inline-block;
	vertical-align: bottom;
}





/* ひるさんぽとよるさんぽ
======================================================================================== */

#courseSampo { width: 100%; color: #000000; padding: 20px 0 0 0; }
#courseSampo #nightTime { color: #ffffff; }
#courseSampo * { box-sizing: border-box; }
#courseSampo img { width: 100%; vertical-align: top; display: block; }





/* sampoMain sampoLead
---------------------------------------------------------------------------------------- */

#courseSampo .sampoMain { width: 100%; padding: 0 calc(20/375 * 100%); }
#courseSampo .sampoMain h2 { width: 100%; max-width: 1100px; margin: 0 auto; }
#courseSampo .sampoMain h2 img:nth-child(2) { display: none; }
#courseSampo .sampoMain h2 span { display: block; font-size: 14px; text-align: right; margin: 5px 0 0 0; }

#courseSampo .sampoLead { width: 100%; padding: 0 calc(40/375 * 100%); }
#courseSampo .sampoLead ul { width: 100%; max-width: 940px; display: table; margin: 80px auto 0; }
#courseSampo .sampoLead ul li:nth-child(1) {
	width: calc(440/940 * 100%);
	float: left;
	background-image: url(/images/course/sampo_v19/lead_line.gif);
	font-size: 18px;
	line-height: 60px;
	padding: 0 1.0em;
}
#courseSampo .sampoLead ul li:nth-child(1) span { background-color: #fff799; }
#courseSampo .sampoLead ul li:nth-child(2) { width: calc(440/940 * 100%); max-width: 440px; float: right; }
#courseSampo .sampoLead #snsArea { margin: 50px auto 0; }



@media screen and (max-width: 767px) {
	#courseSampo .sampoMain h2 img:nth-child(1) { display: none; }
	#courseSampo .sampoMain h2 img:nth-child(2) { display: block; }
	#courseSampo .sampoMain h2 span { font-size: 12px; }
	#courseSampo .sampoLead ul { margin: 30px auto 0; }
	#courseSampo .sampoLead ul li:nth-child(1) {
		width: 100%;
		float: none;
		background-size: auto 39px;
		font-size: 15px;
		line-height: 39px;
		text-align: justify;
		padding: 0 0.5em;
	}
	#courseSampo .sampoLead ul li:nth-child(2) { width: 100%; float: none; margin: 30px auto 0; }
	#courseSampo .sampoLead #snsArea { margin: 30px auto 0; }
}





/* sampoAncher
---------------------------------------------------------------------------------------- */

#courseSampo .sampoAncher { width: 100%; padding: 0 calc(20/375 * 100%); }
#courseSampo .sampoAncher div { width: 100%; max-width: 760px; display: table; margin: 100px auto 70px; }
#courseSampo .sampoAncher a {
	width: calc(350/760 * 100%);
	max-width: 350px;
	display: block;
	border: solid 3px #000000;
	border-radius: 30px;
}
#courseSampo .sampoAncher a:nth-child(1) { float: left; }
#courseSampo .sampoAncher a:nth-child(2) { float: right; }
/* 号ごとに追加 */
#courseSampo.vol19 .sampoAncher a { background-color: #fdebd1; }
#courseSampo.vol20 .sampoAncher a { background-color: #f3f9f7; }
#courseSampo.vol21 .sampoAncher a { background-color: #f5f8ef; }
/* ここまで */



@media screen and (min-width: 769px) {
	#courseSampo .sampoAncher a:hover { border: solid 3px #fe8781; transition: 0.2s; }
}

@media screen and (max-width: 767px) {
	#courseSampo .sampoAncher div { margin: 40px auto 30px; }
	#courseSampo .sampoAncher a {
		width: calc(250/335 * 100%);
		display: block;
		border: solid 2px #000000;
		border-radius: 30px;
	}
	#courseSampo .sampoAncher a:nth-child(1) { float: none; margin: 0 auto; }
	#courseSampo .sampoAncher a:nth-child(2) { float: none; margin: 20px auto 0; }
}





/* dayTime nightTime
---------------------------------------------------------------------------------------- */

#courseSampo #dayTime { width: 100%; max-width: 1500px; padding: 100px 0 0 0; margin: -100px auto 0; }
#courseSampo #nightTime { width: 100%; max-width: 1500px; padding: 150px 0 0 0; margin: -150px auto 0;}
#courseSampo .sampoWrap { background-repeat: repeat-y; background-size: 100%; }
/* 号ごとに追加 */
#courseSampo.vol19 #dayTime .sampoWrap { background-image: url(/images/course/sampo_v19/day_bg.jpg); }
#courseSampo.vol19 #nightTime .sampoWrap { background-image: url(/images/course/sampo_v19/night_bg.jpg); }
#courseSampo.vol20 #dayTime .sampoWrap { background-image: url(/images/course/sampo_v20/day_bg.jpg); }
#courseSampo.vol20 #nightTime .sampoWrap { background-image: url(/images/course/sampo_v20/night_bg.jpg); }
#courseSampo.vol21 #dayTime .sampoWrap { background-image: url(/images/course/sampo_v21/day_bg.jpg); }
#courseSampo.vol21 #nightTime .sampoWrap { background-image: url(/images/course/sampo_v21/night_bg.jpg); }
/* ここまで */

#courseSampo .sampoWrap .wave { line-height: 0; }



#courseSampo .sampoContent { padding: 40px calc(20/375 * 100%) 100px; }
#courseSampo .sampoContent h3 { width: calc(700/940 * 100%); max-width: 700px; margin: 0 auto 70px; }
#courseSampo .sampoContent .station {
	width: 100%;
	max-width: 400px;
	border: solid 5px;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	padding: 20px 0;
	margin: 0 auto;
}
/* 号ごとに追加 */
#courseSampo.vol19 #dayTime .sampoContent .station { border-color: #d55e12; color: #d55e12; }
#courseSampo.vol19 #nightTime .sampoContent .station { border-color: #ffea0f; color: #ffea0f; }
#courseSampo.vol20 #dayTime .sampoContent .station { border-color: #ea545d; color: #ea545d; }
#courseSampo.vol20 #nightTime .sampoContent .station { border-color: #ffeb00; color: #ffeb00; }
#courseSampo.vol21 #dayTime .sampoContent .station { border-color: #e6003e; color: #e6003e; }
#courseSampo.vol21 #nightTime .sampoContent .station { border-color: #ffeb00; color: #ffeb00; }
/* ここまで */
#courseSampo .sampoContent .note {
	display: table;
	font-size: 14px;
	line-height: 1.5;
	text-indent: -1em;
	padding: 0 0 0 1em;
	margin: 20px auto 0;
}

#courseSampo .sampoContent .arrow { width: calc(300/940 * 100%); max-width: 300px; margin: 30px auto 0; }
#courseSampo .sampoContent .arrow.last { margin: 10px auto 30px; }

#courseSampo .sampoContent section { width: 100%; max-width: 940px; margin: -30px auto 0; }
#courseSampo .sampoContent section h4 img:nth-child(2) { display: none; }

#courseSampo .sampoContent section .mainPhoto { width: 100%; display: table; margin: 30px auto 0; }
#courseSampo .sampoContent section .mainPhoto.mt00 { margin: 0 auto; }
#courseSampo .sampoContent section .mainPhoto.w750 { max-width: 750px; }
#courseSampo .sampoContent section .mainPhoto.w940 { max-width: 940px; }
#courseSampo .sampoContent section .mainPhoto.w845 div { width: 100%; display: table; }
#courseSampo .sampoContent section .mainPhoto.w845 img { max-width: 845px; float: right; }
#courseSampo .sampoContent section .mainPhoto.pc_sp { max-width: 940px; }
#courseSampo .sampoContent section .mainPhoto.pc_sp img:nth-child(2) { display: none; }
#courseSampo .sampoContent section ul { width: 100%; display: table; margin: 40px 0 0 0; }
#courseSampo .sampoContent section ul li.txt { font-size: 18px; line-height: 1.8; }
#courseSampo .sampoContent section ul li sup { font-size: 12px; vertical-align: top; }
#courseSampo .sampoContent section ul li.txt .txtI {
	font-size: 16px;
	line-height: 1.6;
	text-indent: -1em;
	padding: 0 0 0 1em;
	margin: 0.5em 0 0 0;
}
#courseSampo .sampoContent section ul li.data { font-size: 15px; line-height: 1.5; }
#courseSampo .sampoContent section ul li.data .fwB { font-weight: 700; }
#courseSampo .sampoContent section ul li.data .mb05 { margin: 0 0 0.5em 0; }
#courseSampo .sampoContent section ul li.data table th { text-align: right; white-space: nowrap; }
#courseSampo .sampoContent section ul li.data .txtI { text-indent: -1em; padding: 0 0 0 1em; }
#courseSampo .sampoContent section ul.txt620 li.subPhoto { width: calc(270/940 * 100%); float: right; }
#courseSampo .sampoContent section ul.txt620 li.subPhoto div + div,
#courseSampo .sampoContent section ul.txt620 li.subPhoto p + div { margin: 20px auto 0; }
#courseSampo .sampoContent section ul.txt620 li.txt { width: calc(620/940 * 100%); }
#courseSampo .sampoContent section ul.txt620 li.data { width: calc(620/940 * 100%); margin: 20px 0 0 0; }
#courseSampo .sampoContent section ul.txt470 li.txt { width: calc(470/940 * 100%); float: left; }
#courseSampo .sampoContent section ul.txt470 li.data { width: calc(420/940 * 100%); float: right; }

#courseSampo .sampoContent section .caption { font-size: 14px; line-height: 1.5; margin: 10px 0 0 0; }
#courseSampo .sampoContent section .caption span { display: inline-block; }
#courseSampo .sampoContent section .caption .txtI { text-indent: -1em; padding: 0 0 0 1em; }
#courseSampo .sampoContent section .mainPhoto.w845 .caption {
	max-width: 750px;
	margin: 10px auto 0;
}
#courseSampo .sampoContent section .mainPhoto.w750 .caption.w540 {
	width: calc(540/750 * 100%);
	max-width: 540px;
	margin: 10px auto 0;
}
#courseSampo .sampoContent section .mainPhoto.w750 .caption.w500 {
	width: calc(500/750 * 100%);
	max-width: 500px;
	margin: 10px auto 0;
}
#courseSampo .sampoContent section .taC { text-align: center; }
#courseSampo .sampoContent section .taR { text-align: right; }



@media screen and (max-width: 767px) {
	#courseSampo #dayTime { padding: 60px 0 0 0; margin: -60px auto 0; }
	#courseSampo #nightTime { padding: 70px 0 0 0; margin: -70px auto 0; }
	
	#courseSampo .sampoContent { padding: 10px calc(20/375 * 100%) 50px; }
	#courseSampo .sampoContent h3 { width: 100%; max-width: 700px; margin: 0 auto 20px; }
	#courseSampo .sampoContent .station { max-width: 200px; border: solid 3px; font-size: 24px; padding: 10px 0; }
	
	#courseSampo .sampoContent .arrow { width: 150px; margin: 20px auto 0; }
	#courseSampo .sampoContent .arrow.last { margin: 20px auto 20px; }
	
	#courseSampo .sampoContent section { margin: -10px auto 0; }
	#courseSampo .sampoContent .note { font-size: 12px; }
	
	#courseSampo .sampoContent section h4 img:nth-child(1) { display: none; }
	#courseSampo .sampoContent section h4 img:nth-child(2) { display: block; }
	#courseSampo .sampoContent section .mainPhoto { margin: 10px auto 0; }
	#courseSampo .sampoContent section .mainPhoto.pc_sp img:nth-child(1) { display: none; }
	#courseSampo .sampoContent section .mainPhoto.pc_sp img:nth-child(2) { display: block; }
	#courseSampo .sampoContent section ul { width: 100%; display: table; margin: 30px 0 0 0; }
	#courseSampo .sampoContent section ul li.txt { font-size: 16px; line-height: 1.6; }
	#courseSampo .sampoContent section ul li.txt .txtI { font-size: 14px; }
	#courseSampo .sampoContent section ul li.data { font-size: 14px; }
	#courseSampo .sampoContent section ul.txt620 { display: flex; flex-direction: column; }
	#courseSampo .sampoContent section ul.txt620 li.subPhoto {
		width: 100%;
		float: none;
		margin: 20px 0 0 0;
		order: 2;
	}
	#courseSampo .sampoContent section ul.txt620 li.subPhoto div {
		width: calc(200/335 * 100%);
		max-width: 540px;
		min-width: 200px;
		margin: 0 auto;
	}
	#courseSampo .sampoContent section ul.txt620 li.subPhoto div.w150 { width: calc(150/335 * 100%); min-width: 150px; }
	#courseSampo .sampoContent section ul.txt620 li.txt { width: 100%; order: 1; }
	#courseSampo .sampoContent section ul.txt620 li.data { width: 100%; order: 3; }
	#courseSampo .sampoContent section ul.txt470 li.txt { width: 100%; float: none; }
	#courseSampo .sampoContent section ul.txt470 li.data { width: 100%; float: none; margin: 20px 0 0 0; }
	
	#courseSampo .sampoContent section .caption { font-size: 12px; }
	#courseSampo .sampoContent section ul.txt620 li.subPhoto .caption { display: table; margin: 10px auto 0; }
}





/* 汎用パーツ
========================================================= */

/* dataLink
---------------------------------------------------------------------------------------- */

#courseSampo .sampoContent .dataLink { width: 200px; margin: 20px 0 0 0; }
#courseSampo .sampoContent .dataLink a {
	display: block;
	background-color: #333333;
	color: #ffffff;
	border-radius: 5px;
	font-size: 15px;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
}



@media screen and (min-width: 769px) {
	#courseSampo .sampoContent .dataLink a:hover { background-color: #fe8781; color: #ffffff; transition: 0.2s; }
}

@media screen and (max-width: 767px) {
	#courseSampo .sampoContent .dataLink { width: 200px; margin: 20px auto 0; }
}





/* plusIssue
------------------------------------------ */

.plusIssue { width: 100%; background-color: #f6f3eb; box-sizing: border-box; padding: 100px calc(20/375 * 100% ); }
.plusIssue .wrap { display: table; margin: 0 auto; }
.plusIssue .wrap div { display: table-cell; vertical-align: middle; }
.plusIssue .wrap div:nth-child(1) img { width: 140px; display: block; }
.plusIssue .wrap div:nth-child(2) { padding: 0 0 0 20px; }
.plusIssue .wrap p { font-size: 14px; line-height: 1.4; text-align: center; }
.plusIssue .wrap p span { display: inline-block; padding: 0 0.5em; }
.plusIssue .wrap p + p { margin: 7px 0 0 0;}
.plusIssue .wrap a {
	border: solid 2px #cacaca;
	background-color: #ffffff;
	display: table;
	font-size: 16px;
	padding: 0.5em 2em;
	margin: 15px auto 0;
}
.plusIssue .wrap ul { display: table; font-size: 13px; line-height: 20px; margin: 15px auto 0; }
.plusIssue .wrap ul li { display: table-cell; vertical-align: top; }

@media screen and (max-width: 767px) {
	.plusIssue { padding: 60px calc(20/375 * 100% ); }
	.plusIssue .wrap div { display: block; }
	.plusIssue .wrap div:nth-child(1) img { margin: 0 auto 15px; }
	.plusIssue .wrap div:nth-child(2) { padding: 0; }
	.plusIssue .wrap p + p { margin: 5px 0 0 0;}
	.plusIssue .wrap a { font-size: 14px; }
	.plusIssue .wrap ul { font-size: 12px; }
}





#contentsSection02 { width: 100%; background-color: #f6f3eb; }
#contentsSection02 #googlemap_area { margin: 0 0 20px 0; }
#contentsSection02 .contentsSectionDetail {
	width: 100%;
	max-width: 1100px;
	box-sizing: border-box;
	padding: 40px 10px 60px 10px;
	margin: 0 auto;
}
#contentsSection02 .contentsSectionDetail .course_button2 a {
	display: table;
	background: #2e2e2e;
	color: #ffffff;
	border-radius: 4px;
	font-size: 15px;
	line-height: 15px;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	padding:10px 30px;
	margin: 0 auto;
}
#contentsSection02 .contentsSectionDetail .course_button2 a .span {
	display: inline-block;
	background:url(/images/left_arrow.svg) no-repeat left 1px;
	background-size: 12px 12px;
	padding-left: 24px;
}
#contentsSection02 .contentsSectionDetail .course_button2 a:hover,
#contentsSection02 .contentsSectionDetail .course_button2 a:active,
#contentsSection02 .contentsSectionDetail .course_button2 a.active { color:#fe8781; }



@media screen and (max-width: 480px) {
	#contentsSection02 .contentsSectionDetail .course_button2 a { width: 100%; }
}


