﻿/* --------------------------------------------------

	下階層フォーマット

-------------------------------------------------- */

/* - basic layout
---------------------------------------------------------------------- */
body { font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', Meiryo,'ＭＳ Ｐゴシック',sans-serif; }

img {
	max-width: 100%;
	height: auto;
	border: 0;
}

#wrapper * { box-sizing: border-box; }

/* - skip menu for voice navigation - */
/*.u-hide { position: absolute; top: 0; left: 0; width: 0; height: 0; overflow: hidden; }*/


/* ----- root layout ----- */
#contents { position: relative; }

#contentsBody {
	max-width: 980px;
	margin: 0 auto;
	box-sizing: border-box;
	padding-bottom: 20px;
	width: 980px;
	max-width: 940px;
	width: 940px;
}



/* --------------------------------------------------

	base layout

-------------------------------------------------- */
.body_wrapper {
	margin-top: 30px;
	overflow: hidden;
}

.body_wrapper:after {
	content: '';
	display: block;
	clear: both;
}



/* - コンテンツヘッダー（大見出し）
-------------------------------------------------- */
.contents_header {
	border-top: 4px solid #1fac37;
	border-bottom: 1px solid #e2e2e2;
}

.contents_header > h2 {
	font-size: 1.6rem;
	font-weight: bold;
	color: #444;
	padding: 12px 8px;
}


/* - コンテンツサブヘッダー（小見出し）
-------------------------------------------------- */
.block_sub_header { border-bottom: 1px dotted #ccc; }

.block_sub_header > h3,
.block_sub_header > h4 {
	color: #444;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.5;
	padding: 5px 0;
}


/* --------------------------------------------------

	コンテンツ タブ

-------------------------------------------------- */
.body_wrapper .tab { margin-top: 20px; }

.body_wrapper .tab > ul {
	display: table;
	width: 100%;
	table-layout: fixed;
}

.body_wrapper .tab > ul > li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	border-left: 1px solid #fff;
}

.body_wrapper .tab > ul > li:first-child { border-left: none; }

.body_wrapper .tab > ul > li > a {
	display: block;
	background-color: #e7e7e7;
	height: 4.4rem;
	line-height: 4.4rem;
	font-weight: bold;
	color: #444;
	text-decoration: none;
}

.body_wrapper .tab > ul > li > a:hover { background-color: #dcedc8; }

.body_wrapper .tab > ul > li.current > a {
	background-color: #268300;
	color: #fff;
}

.body_wrapper .tab > ul > li.current > a:hover { background-color: #268300; }

.body_wrapper .tab > ul > li.current > a {
	position: relative;
	background: #2aa83d;
	background: #268300;
}

.body_wrapper .tab > ul > li.current > a:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(38, 131, 0, 0);
	border-top-color: #268300;
	border-width: 10px;
	margin-left: -10px;
}


/* - ブロックヘッダー
-------------------------------------------------- */
.block_header {
	padding-bottom: 4px;
	border-bottom: 2px solid #e2e2e2;
	position: relative;
}

.block_header:after {
	position: absolute;
	left: 0;
	bottom: -2px;
	content: "";
	width: 120px;
	border-bottom: 2px solid #0cae2f;
}

.block_header .content { display: block; }


.block_header h3 {
	font-size: 1.6rem;
	font-weight: bold;
	color: #444;
	line-height: 1.4;
	padding: 4px 0;
}

.block_header.link h3 {
	display: table-cell;
}

.block_header.link .btn {
	display: table-cell;
	width: 130px;
	text-align: right;
	vertical-align: middle;
	padding-right: 10px;
	box-sizing: border-box;
}

.block_header.link .btn > a {
	display: block;
	color: #188542;
	text-decoration: none;
	font-weight: bold;
}

.block_header.link .btn > a:hover {
	text-decoration: underline;
	color: #444;
}

.block_header.link .btn > a i {
	margin-right: 0.4rem;
}



/* --------------------------------------------------

	基本ブロックユニット

-------------------------------------------------- */

/*.block_unit { margin-top: 30px; }*/

.block_unit > h3,
.block_unit > h4 {
	background-color: #1b521f;
	color: #fff;
	font-weight: bold;
	font-size: 1.4rem;
	padding: 8px;
}

.block_unit > .content {
	border: none;
	/*border: 1px solid #e0e0e0;
	border-top: none;*/
}


/* - type1（横ぶち抜き）
-------------------------------------------------- */
ul.block_list.type1 > li > a {
	display: block;
	text-decoration: none;
	color: #444;
}

ul.block_list.type1 .block_unit { /*margin-top: 30px;*/ }

ul.block_list.type1 .block_unit .content .inner {
	padding: 20px;
	overflow: hidden;
}

ul.block_list.type1 .block_unit .content .inner:after {
	content: '';
	display: block;
	clear: both;
}

ul.block_list.type1 .block_unit .content .inner .img {
	float: left;
}

ul.block_list.type1 .block_unit .content .inner .img img {
	vertical-align: top;
}

ul.block_list.type1 .block_unit .content .inner .txt {
	float: right;
}

ul.block_list.type1 .block_unit .content .inner .txt h3,
ul.block_list.type1 .block_unit .content .inner .txt h4,
ul.block_list.type1 .block_unit .content .inner .txt h5 {
	color: #188542;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.3;
}

ul.block_list.type1 .block_unit .content .inner .txt > p {
	margin-top: 1rem;
	font-size: 1.3rem;
}


/* - type2（２カラム）
-------------------------------------------------- */
ul.block_list.type2 {
	/*margin-top: 30px;*/
	/*margin-right: -28px;*/
	width: 748px;
	overflow: hidden;
	
	width: 940px;
	margin-top: 30px;
}

ul.block_list.type2:after {
	content: '';
	display: block;
	clear: both;
}

ul.block_list.type2 > li {
	width: 346px;
	box-sizing: border-box;
	margin-right: 28px;
	float: left;
	
	width: 456px;
}

ul.block_list.type2 > li:nth-child(2n) { margin-right: 0; }

ul.block_list.type2 > li > a {
	display: block;
	text-decoration: none;
	color: #444;
}


ul.block_list.type2 > li h3,
ul.block_list.type2 > li h4 {
	font-size: 1.4rem;
	padding: 8px 12px;
}

ul.block_list.type2 > li .content {
	padding: 20px;
}

ul.block_list.type2 > li .content .img { text-align: center; }
ul.block_list.type2 > li .content .img img { vertical-align: top; }

ul.block_list.type2 > li .content .txt {
	padding: 0 10px;
	margin: 20px auto 0 auto;
	font-size: 1.2rem;
	font-size: 1.3rem;
}


/* - type3（３カラム）
-------------------------------------------------- */
ul.block_list.type3 {
	/*margin-right: -18px;*/
	width: 738px;
	overflow: hidden;
	
	width: 940px;
	margin-top: 30px;
}

ul.block_list.type3:after {
	content: '';
	display: block;
	clear: both;
}

ul.block_list.type3 > li {
	width: 228px;
	box-sizing: border-box;
	margin-right: 18px;
	margin-bottom: 18px;
	float: left;
	
	width: 300px;
	margin-right: 20px;
	margin-bottom: 20px;
}

ul.block_list.type3 > li:nth-child(3n) { margin-right: 0; }

ul.block_list.type3 > li > a {
	display: block;
	text-decoration: none;
	color: #444;
}

ul.block_list.type3 > li h3,
ul.block_list.type3 > li h4 {
	font-size: 1.4rem;
	padding: 8px 12px;
}

ul.block_list.type3 > li .content { padding: 19px; }
ul.block_list.type3 > li .content .img { text-align: center; }
ul.block_list.type3 > li .content .img img { vertical-align: top; }

ul.block_list.type3 > li .content .txt {
	margin: 20px auto 0 auto;
	font-size: 1.2rem;
	font-size: 1.3rem;
}



/* - type4（４カラム）
-------------------------------------------------- */
ul.block_list.type4 {
	margin-top: 30px;
	/*margin-right: -16px;*/
	width: 736px;
	overflow: hidden;
	
	width: 940px;
	/*margin-right: -20px;*/
	margin-top: 30px;
}

ul.block_list.type4:after {
	content: '';
	display: block;
	clear: both;
}

ul.block_list.type4 > li {
	width: 168px;
	box-sizing: border-box;
	margin-right: 16px;
	margin-bottom: 16px;
	float: left;
	
	width: 220px;
	margin-right: 20px;
	margin-bottom: 20px;
}

ul.block_list.type4 > li:nth-child(4n) { margin-right: 0; }


ul.block_list.type4 > li > a {
	display: block;
	text-decoration: none;
	color: #444;
}

ul.block_list.type4 > li h3,
ul.block_list.type4 > li h4 {
	font-size: 1.4rem;
	padding: 8px 12px;
}

ul.block_list.type4 > li .content { padding: 9px; }
ul.block_list.type4 > li .content .img { text-align: center; }
ul.block_list.type4 > li .content .img img { vertical-align: top; }

ul.block_list.type4 > li .content .txt {
	margin: 20px auto 0 auto;
	font-size: 1.2rem;
}



/* - 映像を見るボタン／詳細ボタン
-------------------------------------------------- */
.block_unit > .btn {
	background-color: #ffffff;
	border: 0px solid #d0d0d0;
	/*border-top: none;*/
	padding: 1px 9px 9px 9px;
	width: 200px;
	margin: 10px auto 20px auto;
}

.block_unit > .btn a {
	display: block;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: 1px 1px 4px 0 rgba(0,0,0,0.4);
	text-decoration: none;
	color: #000000;
	font-size: 1.4rem;
	text-align: center;
	font-weight: bold;
	padding: 5px 0;
}

.block_unit > .btn a:hover {
	background-color: #f1f8e9;
	background-color: #fff8e1;
	color: #333;
}
.block_unit > .btn a > i { margin-right: 0.5rem; }






/* - link list
------------------------------------------------------------ */
div.link_list {
	background-color: #eaeaea;
	margin-top: 15px;
	padding: 5px;
}

div.link_list > ul {
	overflow: hidden;
}

div.link_list > ul:after {
	content: '';
	display: block;
	clear: both;
}

div.link_list > ul > li {
	width: 20%;
	float: left;
	padding: 5px;
}

div.link_list > ul > li > a {
	display: block;
	padding: 10px;
	text-decoration: none;
	background-color: #fff;
	border-radius: 4px;
	box-shadow: 0 1px 4px 0 rgba(0,0,0,0.1);
	color: #188542;
	color: #444;
	color: #0069a8;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

div.link_list > ul > li > a:hover {
	background-color: #fff8e1;
}


div.link_list > ul > li > a > .inner {
	display: table;
	margin: 0 auto;
}

div.link_list > ul > li > a > .inner > span.icon {
	display: table-cell;
	color: #188542;
	vertical-align: middle;
	padding-right: 10px;
	text-align: left;
}

div.link_list > ul > li > a > .inner > p.txt {
	display: table-cell;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.4;
}

div.link_list > ul > li > a > .inner > p.txt > span {
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
	color: #444;
}



div.link_list.grid3 > ul {
	margin-right: -14px;
	overflow: hidden;
}

div.link_list.grid3 > ul > li {
	width: 166px;
	width: 224px;
	float: left;
	margin-right: 14px;
	margin-bottom: 14px;
}





/* - 汎用クラス
---------------------------------------------------------------------- */
.mt50 { margin-top: 50px; }
.mt40 { margin-top: 40px; }
.mt30 { margin-top: 30px; }
.mt25 { margin-top: 25px; }
.mt20 { margin-top: 20px; }
.mt15 { margin-top: 15px; }
.mt10 { margin-top: 10px; }
.mt5 { margin-top: 5px; }

.clearfix {
	overflow: hidden;
}

.clearfix:after {
	content: '';
	display: block;
	clear: both;
}


p.pl {
	padding-left: 100px;
}


/* ------------------------------------------------------------

	979px以下

------------------------------------------------------------ */
@media screen and ( max-width : 979px ) {
	#contentsBody {
		width: 100%;
		max-width: 100%;
	}
}



/* ------------------------------------------------------------

	959px以下

------------------------------------------------------------ */
@media screen and ( max-width : 959px ) {
	
	#contentsBody > .body_wrapper {
		width: 100%;
		margin: 30px auto 0px;
	}
	
	ul.block_list.type2,
	ul.block_list.type3,
	ul.block_list.type4 {
		width: auto;
		max-width: 100%;
		box-sizing: border-box;
		margin: 0 auto;
		margin-top: 20px;
	}
	
	
	
	ul.block_list.type2 > li {
		width: 50%;
		margin: 0;
		padding:10px;
	}
	
	ul.block_list.type3 > li {
		width: 33.33%;
		margin: 0;
		padding:10px;
	}
	
	ul.block_list.type4 > li {
		width: 25%;
		margin: 0;
		padding:10px;
	}
	
}


/* ------------------------------------------------------------

	768px以下

------------------------------------------------------------ */
@media screen and ( max-width : 767px ) {
	
	#contentsBody > .body_wrapper {
		width: 100%;
		margin: 30px auto 0px;
		padding: 0 10px;
	}
	
	/* ------------------------------------------------------------
		ブロックユニット
	------------------------------------------------------------ */
	/* - type1（横ぶち抜き）
	-------------------------------------------------- */
	ul.block_list.type1 .block_unit .content .inner .img {
		float: none;
		margin: 0 auto;
	}
	
	ul.block_list.type1 .block_unit .content .inner .txt {
		float: none;
		margin: 15px auto 0;
		width: auto;
	}
	
	/* - type2（２カラム）
	-------------------------------------------------- */
	ul.block_list.type2 {
		/*margin: 0;
		width: 100%;*/
	}
	
	ul.block_list.type2 > li {
		float: none;
		width: auto;
		margin: 0;
		/*margin-bottom: 30px;
		/*margin-top:30px;*/
		padding: 0;
		
		padding: 10px 0;
		
	}
	
	ul.block_list.type2 > li:first-child {
		
	}
	
	ul.block_list.type2 > li .content .txt { padding: 0; }
	
	
	/* - type3（３カラム）
	-------------------------------------------------- */
	ul.block_list.type3 {
		/*width: 100%;
		margin: 0;
		margin-top: 10px;*/
	}
	
	ul.block_list.type3 > li {
		/*float: none;
		width: auto;
		margin: 0;*/
		
		/*margin-bottom: 30px;*/
		/*margin-top:30px;*/
		
		/*padding: 0;*/
		
		
		width: 50%;
		
	}
	
	/* - type4（４カラム）
	-------------------------------------------------- */
	ul.block_list.type4 {
		/*width: 552px;
		margin: 16px auto 0;*/
	}
	
	/*ul.block_list.type4 > li:nth-child(3n) { margin-right: 0; }*/
	
	
	ul.block_list.type4 > li { width: 33.33%; }
	
	
	/* - link list
	------------------------------------------------------------ */
	div.link_list > ul { margin-right: 0; }
	
	div.link_list > ul > li {
		width: 100%;
		margin-right: 0;
	}
	
	div.link_list > ul > li > a { text-align: left; }
	
	div.link_list > ul > li > a > .inner {
		width: 100%;
		display: block;
	}
	
	div.link_list > ul > li > a > .inner > span.icon {
		display: inline-block;
		vertical-align: middle;
	}
	
	div.link_list > ul > li > a > .inner > p.txt {
		display: inline-block;
		vertical-align: middle;
	}
	
	div.link_list > ul > li > a > .inner > p.txt > span {
		display: inline;
		margin-left: 0.5rem;
	}
	
	p.pl {
	padding-left: 0px;
	}	
}



/* ------------------------------------------------------------

	639px以下

------------------------------------------------------------ */
@media screen and ( max-width : 639px ) {
	.body_wrapper .tab > ul { table-layout:auto; }
	.body_wrapper .tab > ul > li > a { font-size: 1.1rem; }
	
}




/* ------------------------------------------------------------

	571px以下

------------------------------------------------------------ */
@media screen and ( max-width : 571px ) {
	/* - type4（４カラム）
	-------------------------------------------------- */
	/*ul.block_list.type4 {
		width: 368px;
		margin: 16px auto 0;
	}
	
	ul.block_list.type4 > li:nth-child(3n) { margin-right: 16px; }
	ul.block_list.type4 > li:nth-child(2n) { margin-right: 0; }
	*/
	
	ul.block_list.type4 > li { width: 50%; }
}


/* ------------------------------------------------------------

	479px以下

------------------------------------------------------------ */
@media screen and ( max-width : 479px ) {
	
	ul.block_list.type3 > li {
		width: 100%;
		padding: 10px 0;
	}
	
}

/* ------------------------------------------------------------

	359px以下

------------------------------------------------------------ */
@media screen and ( max-width : 359px ) {
	
	/* - type4（４カラム）
	-------------------------------------------------- */
	/*ul.block_list.type4 {
		width: 100%;
		margin: 16px auto 0;
	}
	
	ul.block_list.type4 > li {
		margin-right: 0;
		width: 100%;
	}
	*/
	
	ul.block_list.type4 > li {
		width: 100%;
		padding: 10px 0;
	}
	
	ul.block_list.type4 > li:first-child { padding-top: 0; }
	
}
