@charset "UTF-8";
/* CSS Document */

@import url('reset.css');

body {
    -webkit-text-size-adjust: 100%;/*iPhone横向きで文字が大きくなる対策*/
	border-top:solid #42b70d 5px;
}
html,body{
    width: 100%;/*PCサイトをiPadで閲覧時、右側欠ける対策*/
	/*viewport ->
	<meta name="viewport" content="width=device-width">
	<meta name="viewport" content="width=0000(コンテンツpx幅指定)">
	*/
}

/*汎用 ==========*/
.theme_color1 {color:#42b70d;}
.theme_color2 {color:#f1fce3;/*薄い地の色*/}
.theme_color3 {color:#ff8a00;/*オレンジ*/}
.theme_color4 {color:#009304;/*濃い緑*/}
.big {font-size:150%;}
.bold {font-weight: bold;}
 #main .lh_x2 {line-height: 2.5em;}
ul.dot {padding-left: 1.5em;}
ul.dot li {
	list-style-type: disc;list-style-position: outside;}
strong {font-weight: bold}

/*main ==========*/
#main > article,
#main > article > section {
	margin-bottom: 60px;
}
/*アイコン付きの見出し*/
#main article .title {
	padding: 15px 0;
	margin-bottom: 45px;
	border-top:solid #42b70d 4px;
	border-bottom:solid #42b70d 4px;
	text-align: center;
	font-size: 135%;/* *1 */
	font-weight: bold;/* *1 */
}
#main article .title span {
	/*タイトルテキスト*/
	display: inline-block;
	vertical-align: middle;
	line-height: 100%;
	font-size: 135%;/* *1 */
	font-weight: bold;/* *1 */
	margin-right: 15px;
}
#main article .title img {
	/*イメージ*/
	display: inline-block;
	vertical-align: middle;
	line-height: 100%;
	margin-right: 15px;
}
/*見出し*/
#main > article > h2,
#main > article > section > h2 {
	/*緑帯タイトル*/
	display: block;
	background-color:#42b70d;
	color:#FFF;
	font-size:165%;
	line-height: 1.25em;
	font-weight: bold;
	padding: 13px 23px;
	border-radius: 4px;
	margin-bottom: 2em;
	margin-top: 3em;
	clear: both;
}#main > article > section > h2:first-child {
	margin-top: 0;
}
#main > article h3 {
	color:#42b70d;
	font-size:150%;
	font-weight: bold;
	line-height: 1.5em;
	margin-bottom: 1.5em;
	margin-top: 2em;
	clear: both;
}#main h3:first-child {
	margin-top: 0;
}
/*　/contact,/fcで使用　*/
#main h3.type1,
#main article h2.type1 {
	color:#000;
	font-size:150%;
	line-height: 1.5em;
	background-color:#f1fce3;
	border-bottom:dotted #42b70d 2px;
	font-weight: bold;
	padding: 6px 6px 3px 6px;
	border-radius: 0;
}
#main > article h4 {
	color:#42b70d;
	font-size:125%;
	font-weight: bold;
	line-height: 1.25em;
	margin-bottom: 1.5em;
}
#main > article h3.dotline {
	border-bottom:dotted #42b70d 2px;
}
/**/
#main p {
	display: block;
	line-height: 1.8em;
	margin-bottom: 2em;
}
#main p:last-child {
	margin-bottom: 3em;
}
#main p.lead {
	color:#42b70d;
	font-size:150%;
	font-weight: bold;
	line-height: 1.5em;
}
#main .column {
	display: block;
	border:solid #42b70d 3px;
	border-radius: 8px;
	background-color:#f1fce3;
	padding: 25px 35px 25px;
}
#main .column.no_border {
	border: none;
	padding: 25px 25px 15px;
}
#main .column p:last-child {
	margin-bottom: 1em;
}
/*dl-dt/dd type1*/
dl.type1 {
}
dl.type1 dt {
	font-size: 125%;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 1em;
	border: solid #ccc 1px;
	/*background-color: #DEDEDE;
	background: linear-gradient(#FFFFFF,#DEDEDE);*/
	border-radius: 4px;
	padding: 6px 20px;
}
dl.type1 dd {
	margin-bottom: 3em;
}
/*ol*/
article ol {
	list-style-type: decimal;
	list-style-position: inside;
	padding-left: 1em;
}
article ol li {
	margin-bottom: 1em;
}
/*汎用テーブル type1*/
table.type1 {
	width:100%;
	margin-bottom: 2em;
	border: solid #CCC 1px;
}
table.type1 th,
table.type1 td {
	border: solid #CCC 1px;
	padding: 1em;
}
table.type1 th {
	background-color:#f1fce3;
}
/*テーブルのキャプション*/
table + p.caption {
	margin-top: -1.3em;
}

/*side ==========*/
#side {
	display:block;
	width:238px;
}
#side .menu {
	display:block;
	width:100%;
	background-color:#42b70d;
	border:solid #42b70d 3px;
	border-radius: 4px;
}
#side .menu h2 a {
	display: block;
	padding: 20px 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	color:#FFF;
	text-align: center;
	text-decoration: none;
}
#side .menu ul {
	display: block;
	padding: 5px 0;
	background-color:#FFF;
	border-radius: 4px;
}
#side .menu ul li {
	display: block;
	margin: 0 10px;
	border-bottom: dotted #000 1px;
	/* *bg */
	background-image: url(../images/side_menu_mark.png);
	background-repeat: no-repeat;
	background-position: 5px 18px;
}
#side .menu ul li:last-child {
	border-bottom: none;
}
#side .menu ul li .current {
	color:#42b70d;
}
#side .menu ul li a,
#side .menu ul li span {
	display: block;
	width: auto;
	padding: 18px 5px 18px 35px;
	font-size: 15px;
	font-weight: bold;
	text-decoration: none;
}
#side .menu ul li a {color:#000;}
#side .menu ul li a:hover {
	background-color:#f1fce3;
	/* *bg */
	background-image: url(../images/side_menu_mark.png);
	background-repeat: no-repeat;
	background-position: 5px 18px;
}


/*---------- 481 < start ----------*/
@media screen and (min-width:481px) {
	

	/*header ==========*/
	#header {
		display:block;
		width:1005px;
		height: 143px;
		margin: 0 auto;
		background-color: #FFF;
		position: relative;
	}
	#header h1 {
		display:block;
		position:absolute;
		top:19px;left:0;
	}
	#header .lang {
		display:block;
		width:120px;
		height: 21px;
		text-align: center;
		background-color:#42b70d;
		border-bottom-left-radius: 4px;
		border-bottom-right-radius: 4px;
		position:absolute;
		top:0;right:0;
	}
	#header .login {
		display: block;
		position: absolute;
		top:50px;right:0;
	}
	#header .login a {
		margin-left: 10px;
	}
	#header .subnav {
		display: block;
		position: absolute;
		top:115px;right:0;
	}
	#header .subnav ul li {
		float:left;
		margin-left: 10px;
		padding-left: 10px;
		line-height: 1;
		border-left: solid #000 1px;
	}#header .subnav ul li:first-child {
		border-left: none;
	}
	#header .subnav ul li a {
		font-size: 13px;
		font-weight: bold;
		text-decoration:none;
		color:#000;
	}


	/*nav ==========*/
	#nav {
		display: block;
		width:100%;
		height: 53px;
		margin: 0 auto;
		padding: 0;
		background-image: url(../images/nav_bg.png);
		background-repeat:repeat-x;
		line-height: 1;
	}
	#nav > ul {
		display: block;
		padding-top:9px;
		width:1005px;
		margin: 0 auto;
	}
	#nav > ul > li {
		display: block;
		position: relative;
	}
	#nav > ul > li > a {
		float:left;
		height: 35px;
		padding:6px 28px 0;
		background-image: url(../images/nav_line.gif);
		background-repeat: no-repeat;
	}
	#nav > ul > li:first-child > a {
		background-image: none;
	}
	/*子メニュー*/
	#nav > ul > li ul {
		display: none;
	}
	#nav > ul > li:hover ul {
		display: block;
		position:absolute;
		top:38px;left:100px;
		border: solid #42b70d 3px;
		background-color: #FFF;
		padding: 5px 5px 5px;
		border-radius: 4px;
		z-index: 50;
	}
	#nav > ul > li:hover ul:before {
		content: url(../images/nav_child_arrow.png);
		width: 22px;
		height: 16px;
		position: absolute;
    	top: -16px;left:0;right:0;
		margin: auto;
	}
	#nav > ul > li:hover ul li {
		display: block;
		margin: 0 10px;
		border-bottom: dotted #000 1px;
		/* *矢印 */
		background-image: url(../images/side_menu_mark.png);
		background-repeat: no-repeat;
		background-position: 5px 15px;
	}
	#nav > ul > li:hover ul li:last-child {
		border-bottom: none;
	}
	#nav > ul > li:hover ul li span.current {
		color:#42b70d;
	}
	#nav > ul > li:hover ul li a,
	#nav > ul > li:hover ul li span {
		display: block;
		width: auto;
		padding: 18px 5px 18px 35px;
		font-size: 15px;
		font-weight: bold;
		text-decoration: none;
		color:#000;
	}
	#nav > ul > li:hover ul li a:hover {
		background-color:#f1fce3;
		/* *矢印 */
		background-image: url(../images/side_menu_mark.png);
		background-repeat: no-repeat;
		background-position: 5px 15px;
	}
	/*子メニュー位置個別指定*/
	#nav > ul > li:nth-child(2):hover ul {
		left:100px;
	}
	#nav > ul > li:nth-child(3):hover ul {
		left:263px;
	}
	#nav > ul > li:nth-child(4):hover ul {
		left:414px;
	}
	#nav > ul > li:nth-child(6):hover ul {
		left:666px;
	}
	
	
	
	/*#bnrimage ==========*/
	#bnrimage {
		display: block;
		width: 100%;
		min-width: 1005px;
		height:180px;
		/*バックグラウンドイメージはhtmlにて指定*/
		background-size:cover;
		background-position: center;
	}
	#bnrimage div {
		display: block;
		width: 1005px;
		height:180px;
		margin: auto;
		position: relative;
	}
	#bnrimage .title img {
		display: block;
		position: absolute;
		left:0;right:0;top:0;bottom:0;
		margin: auto;
	}
	
	/*.breadcrumb ==========*/
	.breadcrumb {
	width: 1005px;
	margin: 15px auto 0;
	color: #333;
	}
	
	/*.cts_wrap ==========*/
	.cts_wrap {
		/*サイドがある場合*/
		display: block;
		width:1005px;
		margin: 35px auto;
		overflow: hidden;
	}
	/*main ==========*/
	#main {
		/*サイドが無い場合 幅を狭める場合は個別に*/
		display: block;
		width:1005px;/*1005*/
		margin: 35px auto;
	}
	.cts_wrap #main {
		/*サイドがある場合*/
		float:right;
		margin:0 30px 0 0;
		width:690px;
	}
	

	/*side ==========*/
	#side {
		float:left;
	}


	/*footer ==========*/
	#footer {
		display:block;
		width:100%;
		margin: 0 auto;
		padding-bottom: 50px;
		clear:both;
		background-color:#42b70d;
		position: relative;
		color:#FFF;
	}
	#footer .inner {
		display: block;
		width:1100px;/*1080+15+15*/
		margin: 0 auto;
	}
	#footer a {
		color:#FFF;
		text-decoration: none;
	}
	#footer a:hover {
		background-color:#009304;
	}
	#footer .page_top {
		display: block;
		width:164px;
		height:29px;
		position: absolute;
		top:0;right:15px;
	}
	#footer .box1 dl,
	#footer .box2 dl
	{
		display: block;
		min-width: 100px;
		float:left;
		margin: 30px 0 0 30px;
	}
	#footer .box1 dl dt,
	#footer .box2 dl dt
	{
		font-weight: bold;
		padding-bottom:10px;
	}
	#footer .box1 dl li,
	#footer .box2 dl li
	{
		padding-left: 1.2em;
		background-image: url(../images/arrow1_r.png);
		background-repeat: no-repeat;
		background-position: 0 0.5em;
		padding-bottom:5px;
	}
	#footer .address_box {
		display: block;
		margin: 60px 15px 15px 15px;
		padding: 0px 10px 10px 0px;
	}

}
/*---------- 481 < end ----------*/


/*---------- 480 > start ----------*/
@media screen and (max-width:480px) {
	
	/*header ==========*/
	#header {
		display:block;
		width:auto;
		height: auto;
		margin: 0 auto;
		background-color: #FFF;
		position:relative;
	}
	#header h1 {
		display:block;
		text-align: center;
		margin-top: 10px;
		position: static;
	}
	#header h1 a img {
		max-width: 96%;
	}
	#header .lang {
		display:block;
		width:120px;
		height: 21px;
		text-align: center;
		background-color:#42b70d;
		border-bottom-left-radius: 4px;
		border-bottom-right-radius: 4px;
		position:absolute;
		top:-10px;right:5px;
	}
	#header .login {
		display: block;
		text-align: center;
		margin:15px 0; 
	}
	#header .login a {
	}
	#header .subnav {
		display: block;
		margin:15px; 
		clear: both;
		text-align: center;
	}
	#header .subnav ul li {
		display: inline-block;
		padding:0 10px;
		line-height: 1;
	}
	#header .subnav ul li a {
		font-size: 13px;
		font-weight: bold;
		text-decoration:none;
		color:#000;
	}
	
	
	/*nav ==========*/
	#nav {
		clear: both;
		display: block;
		width:auto;
		height:auto;
		margin: 15px auto;
		padding: 0;
		background-color:#42b70d;
		line-height: 1;
	}
	#nav ul {
		display: block;
	}
	#nav ul li:first-child {
		width: 100%;
	}
	#nav ul li {
		float:left;
		width: 50%;
		text-align: center;
	}
	#nav ul li a {
		display: block;
		height: 30px;
		padding:10px 0 0 0;
		border-right:solid #7DFF80 1px;
		border-bottom:solid #7DFF80 1px;
		line-height: 0;
	}
	#nav ul li a:hover {
		background-color:#009304;
	}
	#nav ul li:first-child a {
		background-image: none;
	}
	#nav ul li a img {
		max-width: 100%;
	}
	/*子メニュー*/
	#nav ul li ul {display: none;}
	
	
	/*#bnrimage ==========*/
	#bnrimage {
		display: block;
		width: 100%;
		height:180px;
		/*バックグラウンドイメージはhtmlにて指定*/
		background-size:cover;
		background-position: center;
		margin-bottom: 10px;
	}
	#bnrimage div {
		display: block;
		width: 100%;
		height:180px;
		margin: auto;
		position: relative;
	}
	#bnrimage .title-s img {
		display: block;
		position: absolute;
		left:44px;top:0;bottom:0;
		margin: auto;
	}
	#bnrimage .title img {
		display: block;
		position: absolute;
		left:0;right:0;top:0;bottom:0;
		margin: auto;
	}
	
	/*.breadcrumb ==========*/
	.breadcrumb {
		display: block;
		width:auto;
		margin: 0px 5px 20px 15px;
	}
	
	
	/*main ==========*/
	#main .left, #main .right {
		float:none;
		display:block;
		margin:0 auto 25px;
	}
	#main img {max-width: 100%;height: auto;}
	#main article,
	#main aside
	{
		display: block;
		margin-left:15px;
		margin-right:15px;
		margin-bottom: 60px;
	}
	/*アイコン付きの見出し*/
	#main article .title {
		padding: 10px 0 10px;
		margin-bottom: 45px;
		border-top:solid #42b70d 4px;
		border-bottom:solid #42b70d 4px;
		text-align: center;
		font-size: 135%;/* *1 */
		font-weight: bold;/* *1 */
	}
	#main article .title img,
	#main article .title span {
		margin-right: 0;
	}
	#main article .title span {
		display: block;
		margin-top: 10px;
	}
	/**/
	#main > article > h2 {
		padding-left: 13px;
		padding-right: 13px;
		font-size: 135%;
	}
	/*　/fcで使用　*/
	#main article h2.type1 {
		padding-left: 13px;
	}
	#main p.lead {
		font-size:115%;
	}
	/**/
	#main iframe {
		width:90%;
		height: 320px;
	}
	
	
	/*side ==========*/
	#side {
		display:none;
	}
	
	
	/*footer ==========*/
	#footer .left, #footer .right {
		float:none;
		display: block;
	}
	#footer {
		display:block;
		width:100%;
		margin: 0 auto 0;
		padding: 20px 0;
		clear:both;
		background-color:#42b70d;
		position: relative;
		color:#FFF;
	}
	#footer .inner {
		display: block;
		width:auto;
		margin: 0 auto;
	}
	#footer a {
		color:#FFF;
		text-decoration: none;
	}
	#footer a:hover {
		background-color:#009304;
	}
	#footer .page_top {
		display: block;
		width:164px;
		height:29px;
		position: absolute;
		top:0;right:15px;
	}
	#footer .box1 dl,
	#footer .box2 dl
	{
		display:none;
	}
	#footer .box1 dl dt,
	#footer .box2 dl dt
	{
		font-weight: bold;
	}
	#footer .box1 dl li,
	#footer .box2 dl li
	{
		padding-left: 1em;
		background-image: url(../images/arrow1_r.png);
		background-repeat: no-repeat;
		background-position: 0 0.5em;
	}
	#footer .address_box {
		display: block;
		margin: 40px 15px 15px 25px;
		padding: 0px 10px 10px 0px;
	}

}
/*---------- 480 > end ----------*/
