@charset "utf-8";

#contents{
	padding:0 0 20px;
}
@media only screen and (max-width:640px){
#contents{
	background:#FFF;
}
}

	/*#main
	--------------------*/
	#main{
		padding:10px 0 0;
	}

	@media only screen and (max-width:640px){
	#main{
		padding:0;
	}
	}


/*
 * jQuery FlexSlider v2.0
 * http://www.woothemes.com/flexslider/
 *
 * Copyright 2012 WooThemes
 * Free to use under the GPLv2 license.
 * http://www.gnu.org/licenses/gpl-2.0.html
 *
 * Contributing author: Tyler Smith (@mbmufffin)
 */


/* Browser Resets */
.flex-container a:active,
.flexslider a:active,
.flex-container a:focus,
.flexslider a:focus  {outline: none;}
.slides,
.flex-control-nav,
.flex-direction-nav {margin: 0; padding: 0; list-style: none;}

/* FlexSlider Necessary Styles
*********************************/
.flexslider {margin: 0; padding: 0;}
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
.flexslider .slides img {
	width: 100%;
	display: block;
	border-radius: 6px;
}
.flexslider .slides .border img {
	width: 99.8%;
	display: block;
	border-radius: 6px;
	border: 1px solid #ccc;
}
.flex-pauseplay span {text-transform: capitalize;}

/* Clearfix for the .slides element */
.slides:after {content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0;}
html[xmlns] .slides {display: block;}
* html .slides {height: 1%;}

/* No JavaScript Fallback */
/* If you are not using another script, such as Modernizr, make sure you
 * include js that eliminates this class on page load */
.no-js .slides > li:first-child {display: block;}


/* FlexSlider Default Theme
*********************************/
.flexslider {
	zoom: 1;
}
.flex-viewport {
	max-height: 2000px;
	-webkit-transition: all 1s ease;
	-moz-transition: all 1s ease;
	transition: all 1s ease;
}
.loading .flex-viewport {
	max-height: 300px;
}
.flexslider .slides {
	zoom: 1;
}

.carousel li {
	margin-right: 5px
}


/* Direction Nav */
.flex-direction-nav {*height: 0; display:none;}
.flex-direction-nav a {width: 30px; height: 30px; margin: -20px 0 0; display: block; background: url(/japan/common/img/bg_direction_nav.png) no-repeat 0 0; position: absolute; top: 50%; z-index: 10; cursor: pointer; text-indent: -9999px; opacity: 0; -webkit-transition: all .3s ease;}
.flex-direction-nav .flex-next {background-position: 100% 0; right: -36px; }
.flex-direction-nav .flex-prev {left: -36px;}
.flexslider:hover .flex-next {opacity: 0.8; right: 5px;}
.flexslider:hover .flex-prev {opacity: 0.8; left: 5px;}
.flexslider:hover .flex-next:hover, .flexslider:hover .flex-prev:hover {opacity: 1;}
.flex-direction-nav .flex-disabled {opacity: .3!important; filter:alpha(opacity=30); cursor: default;}

/* Control Nav */
.flex-control-nav {
	width: 100%;
	text-align: center;

	position:absolute;
	left:0;
	bottom:7px;
	zoom:1;
}
.flex-control-nav li {margin: 0 6px; display: inline-block; zoom: 1; *display: inline;}
.flex-control-paging li a {
	font-size:10px;
	line-height:17px;
	text-align:center;
	width:20px;
	height:19px;
	display:block;
	background:url(/japan/home/img/main-control-bg.png) no-repeat;
	cursor:pointer;
}
.flex-control-paging li a:hover,
.flex-control-paging li a.flex-active{
	background-position:0 -19px;
	color:#FFF;
	text-decoration:none;
}
.flex-control-paging li a.flex-active {
	cursor:default;
}

.flex-control-thumbs {margin: 5px 0 0; position: static; overflow: hidden;}
.flex-control-thumbs li {width: 25%; float: left; margin: 0;}
.flex-control-thumbs img {width: 100%; display: block; opacity: .7; cursor: pointer;}
.flex-control-thumbs img:hover {opacity: 1;}
.flex-control-thumbs .flex-active {opacity: 1; cursor: default;}

@media screen and (max-width: 860px) {
.flex-direction-nav .flex-prev {opacity: 1; left: 0;}
.flex-direction-nav .flex-next {opacity: 1; right: 0;}
}



/* flexslider fix */
.flexslider-container{
	position:relative;
	height:410px;
}
@media screen and (max-width: 990px) {
.flexslider-container{
	height:auto;
}
}

.flexslider{
}
	.flexslider .slides{
		overflow:hidden;
	}
	.flexslider img{
		width:100%;
	}

	@media only screen and (max-width:640px){
	.flexslider{
		padding:10px 10px 0;
		margin:0;
	}

	.flex-control-paging{
		position:static;
		padding:10px 0;
	}
		#.flex-control-paging li{
			text-align:left;
			font-size:1px;
		}
			.flex-control-paging li a{
				text-indent:-9999px;
				text-align:left;

				width:10px;
				height:10px;
				background-position:0 -38px;
				font-size:1px;
			}
			.flex-control-paging li a:hover,
			.flex-control-paging li a.flex-active{
				background-position:0 -48px;
			}
	}



	/*.importantBlock
	--------------------*/
	#contents .importantBlock{
		padding:30px 0 0;
	}
		#contents .importantBlock .inner-wrap{
			background:#FFF;
			padding:8px 15px 0;
			border:2px solid #CDCDCD;
			border-radius:5px;
			-webkit-border-radius:5px;
			-moz-border-radius:5px;
		}
		#contents .importantBlock .inner-wrap p{
			width:140px;
			float:left;
			padding:0 0 5px 23px;
			line-height:24px;
			color:#E60214;
			font-size:14px;
			background:url(/japan/home/img/icon-important.gif) no-repeat;
			font-weight:bold;
		}
		#contents .importantBlock .inner-wrap dl{
			overflow:hidden;
			padding:5px 0 0;
			_zoom:1;
		}
			#contents .importantBlock .inner-wrap dt{
				width:75px;
				float:left;
				clear:both;
				padding:0 0 8px;
			}
			#contents .importantBlock .inner-wrap dd{
				overflow:hidden;
				padding:0 0 10px;
			}


	@media screen and (max-width: 640px) {
	#contents .importantBlock{
		padding:0;
	}
		#contents .importantBlock .inner-wrap{
			border:1px solid #CDCDCD;
			border-right:none;
			border-left:none;
			border-bottom:none;
			border-radius:0;
			-webkit-border-radius:0;
			-moz-border-radius:0;
		}
		#contents .importantBlock .inner-wrap p{
			width:auto;
			float:none;
			padding:0 0 10px 23px;
		}
		#contents .importantBlock .inner-wrap dl{
			overflow:visible;
		}
			#contents .importantBlock .inner-wrap dt{
				width:75px;
				float:left;
				clear:both;
				padding:0 0 8px;
			}
			#contents .importantBlock .inner-wrap dd{
				overflow:hidden;
				padding:0 0 10px;
			}
	}


	/*.emergencyBlock
	--------------------*/
	#contents .emergencyBlock{
		padding:30px 0 0;
	}
		#contents .emergencyBlock .inner-wrap{
			/* flex */
			display:flex;
			flex-direction: row;
			flex-wrap: nowrap;
			justify-content: center;
			align-items: stretch;
			background:#FFF;
			padding:8px 15px 0;
			border:2px solid #CDCDCD;
			border-radius:5px;
			-webkit-border-radius:5px;
			-moz-border-radius:5px;
		}
		#contents .emergencyBlock .inner-wrap p{
			width:100px;
			padding:0 0 5px 5px;
			line-height:24px;
			font-size:14px;
			font-weight:bold;
			white-space: nowrap;
			margin-right: 20px;
		}
		#contents .emergencyBlock .inner-wrap dl{
			overflow:hidden;
			width: calc(100% - 120px);
			/*padding:5px 0 0;*/
			_zoom:1;
		}
			#contents .emergencyBlock .inner-wrap dt{
				font-size: 18px;
				font-weight: bold;
				color: red;
				padding-top: 3px;
				padding-bottom: 3px;
				margin-bottom: 5px;
				/*width:75px;*/
				/*float:left;*/
				/*clear:both;*/
				/*padding:0 0 8px;*/
			}
			#contents .emergencyBlock .inner-wrap dd{
				/*overflow:hidden;*/
				padding:0 15px 15px 0;
				font-size: 14px;
			}


	@media screen and (max-width: 640px) {
	#contents .emergencyBlock{
		padding:0;
	}
		#contents .emergencyBlock .inner-wrap{
			display: block;
			border:1px solid #CDCDCD;
			border-right:none;
			border-left:none;
			border-radius:0;
			-webkit-border-radius:0;
			-moz-border-radius:0;
		}
		#contents .emergencyBlock .inner-wrap p{
			width:auto;
			float:none;
			padding:0 0 10px 0px;
		}
		#contents .emergencyBlock .inner-wrap dl{
			display: block;
			width: 100%;
			/*overflow:visible;*/
		}
			#contents .emergencyBlock .inner-wrap dt{
				/*width:75px;*/
				/*float:left;*/
				/*clear:both;*/
				/*padding:0 0 8px;*/
				padding-bottom: 3px;
				font-size: 16px;
			}
			#contents .emergencyBlock .inner-wrap dd{
				/*overflow:hidden;*/
				padding:0 0 15px;
				font-size: 14px;
			}
	}


	/*.infoBlock
	--------------------*/
	#contents .infoBlock{
		margin: 0 10px;
		padding:30px 0 0;
		background-color:#EDEDED;
	}
		#contents .info-box{
			width:18%;/*173/960 */
			display: table-cell;
			vertical-align: top;
		}

			#contents .info-box a{
				display:block;
				padding:0 3.5% 0;/* 33/268 */
				background-color:#EDEDED;
				cursor:pointer;
			}
					#contents .info-box a .title{
						font-size:15px;
						font-weight:bold;
						display:block;
						padding:8px 0;
					}

					#contents .info-box a:hover{
						text-decoration: none;
					}
					#contents .info-box a .txt{
						color:#333;
					}
						#contents .info-box a:hover .sp-boxL .title{
							text-decoration:underline;
						}

				#contents .info-box a .info-image{
					width:100%;
					display:inline-block;
					*display:inline;
					*zoom:1;
				}
					#contents .info-box a .info-image img{
						width:100%;
					}

			#contents .info-box .button{
				margin: 10px 5.07% 0;
				padding: 5px;
				text-align: center;
				border: 1px solid #CCCC;
				background: #FFF;
			}
			#contents .info-box .button a{
				background: #FFF;
			}
			#contents .info-box .button a span{
				padding: 0 0 0 12px;
				background: #FFF url(/japan/home/img/news-box-icon-cursor.gif) left center no-repeat;
			}

			@media screen and (max-width: 768px){
				#contents .infoBlock{
					padding:0;
				}
				#contents .info-box{
					width:100%;
					max-width:768px;
					height:auto;
					float:left;
					border:none;
					border-bottom:1px solid #CCC;
					padding:0;
				}
				#contents .info-box.last{
					border:none;
				}
				#contents .info-box a{
					display:block;
					padding: 0;
				}
				#contents .info-box a .sp-boxL{
					width:45%;
					float:left;
					padding: 15px 10px 10px 0;
					*display:inline;
					*zoom:1;
				}
					#contents .info-box a .sp-boxL .title{
						height: auto !important;
						font-size:15px;
						font-weight:bold;
						display:block;
						padding:0 0 8px;
					}

					#contents .info-box a .sp-boxL .txt{
						height: auto !important;
						color:#333;
					}

						#contents .info-box a:hover .sp-boxL .title{
							text-decoration:underline;
						}

				#contents .info-box a .info-image{
					float:right;
					width:134px;
					padding: 15px 10px;
					*display:inline;
					*zoom:1;
				}
					#contents .info-box a .boxR img{
						width:100%;
					}
				#contents .info-box .button{
					margin: 0 10px 20px;
					padding: 8px;
				}
			}
	.txt-red {
		color: #C90002;
		font-weight: 700;
	}
	.img-radius {
		border-radius: 6px;
	}
	.img-radius-border {
		border-radius: 6px;
		border: 1px solid #ccc;
	}

	/*.latest-tab-block
	--------------------*/
	#contents .latest-tab-block {
		padding:20px 15px 0;
		margin:20px 0 0;
		border-top:1px solid #CCC;
	}

	#contents .latest-tab-block .title{
		font-weight:bold;
		font-size:15px;
		padding:0 0 20px;
	}

	#contents .latest-tab-block .latest-tab-nav {
		/* flex */
		display:flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: stretch;
		border-bottom: 1px solid #CCC;
	}


	#contents .latest-tab-block .latest-tab-nav li {
		padding: 8px 15px;
		border-left: 1px solid #CCC;
		font-weight: bold;
		font-size: 11px;
		width: 140px;
		text-align: center;
		cursor: pointer;
		box-sizing: border-box;
		border-top: 1px solid #eee;
	}

	@media only screen and (max-width:640px){
		#contents .latest-tab-block .latest-tab-nav li {
			width: 33.33%;
			height: 50px;
			/* flex */
			display: flex;
			justify-content: center;
			align-items: center;
			border-top: 1px solid #ccc;
		}
	}

	#contents .latest-tab-block .latest-tab-nav li:last-child {
		border-right: 1px solid #CCC;
	}

	#contents .latest-tab-block .latest-tab-nav li.active {
		background-color: #ddd;
		border-top: 1px solid #CCC;
	}

	#contents .latest-tab-block .latest-tab-nav li:nth-child(n + 2)::after {
		/*background-color: red;*/
		display: inline-block;
		content:"";
		width: 12px;
		height: 12px;
		background: url(/common/img/icon-blank.png) left top no-repeat;
		background-size: 12px 12px;
		margin-left: 7px;
	}



	@media only screen and (max-width:640px){
		#contents .latest-contents-wrap {
		padding-bottom: 20px;
		}
	}

	#contents .latest-contents-wrap .latest-contents {
		height: 200px;
		overflow-y: scroll;
		display: none;
		/*position: relative;*/
	}


	#contents .latest-contents-wrap .latest-contents.is-show {
		display: block;
	}

	#contents .latest-contents-wrap .latest-contents dl{
		padding:0;
	}
		#contents .latest-contents-wrap .latest-contents dt{
			width: 65px;
			float:left;
			clear:both;
			padding:0 0 8px;
			display: none;
		}
		#contents .latest-contents-wrap .latest-contents dd{
			margin-left: 75px;
			padding:0 0 10px;
			display: none;
		}

		#contents .latest-contents-wrap .latest-contents dt.is-display,
		#contents .latest-contents-wrap .latest-contents dd.is-display {
			/*background-color: red;*/
			display: block;
		}

		#contents .latest-contents-wrap .btn-list{
			/*position:absolute;
			top:-20px;
			right:15px;*/
			line-height:1;
			font-size:10px;
			padding: 15px 0;
			/* flex */
			display:flex;
			flex-direction: row;
			flex-wrap: wrap;
			justify-content: flex-end;
			align-items: stretch;
		}
			#contents .latest-contents-wrap .btn-list a{
				display: none;
				padding:0 0 0 12px;
				background:url(/japan/home/img/news-box-icon-cursor.gif) left center no-repeat;
			}

			#contents .latest-contents-wrap .btn-list a.active {
				display: block;
			}


	/*.latest-block
	--------------------*/
	#contents .latest-block{
		padding:20px 15px 0;
		margin:20px 0 0;
		border-top:1px solid #CCC;
	}
		#contents .latest-block .title{
			font-weight:bold;
			font-size:15px;
			padding:0 0 20px;
		}
		#contents .latest-block dl{
			padding:0;
		}
			#contents .latest-block dt{
				width: 65px;
				float:left;
				clear:both;
				padding:0 0 8px;
			}
			#contents .latest-block dd{
				margin-left: 75px;
				padding:0 0 10px;
			}

	/*.newsBlock
	--------------------*/
	#contents .newsBlock{
		padding:20px 0 0;
		margin:20px 0 0;
		border-top:1px solid #CCC;
	}
		#contents .newsBlock .news-box{
			position:relative;
			padding:0 15px 15px;
			width:46%;
			float:left;
			border-right:1px solid #CCC;
			background-color:#EDEDED;
		}
		#contents .newsBlock .news-box.last{
			border:none;
			float:right;
		}
			#contents .newsBlock .news-box .title{
				font-weight:bold;
				font-size:15px;
				padding:0 0 20px;
			}

			#contents .newsBlock .news-box .btn-list{
				position:absolute;
				top:5px;
				right:15px;
				line-height:1;
				font-size:10px;
			}
				#contents .newsBlock .news-box .btn-list a{
					padding:0 0 0 12px;
					background:url(/japan/home/img/news-box-icon-cursor.gif) left center no-repeat;
				}
					#contents .newsBlock .news-box .btn-list a.theta{
						margin-left: 12px;
					}

			#contents .newsBlock .news-box dt{
				width:65px;
				float:left;
				margin-bottom:10px;
			}
			#contents .newsBlock .news-box dd{
				margin-left:75px;
				margin-bottom:10px;
			}

			#contents .newsBlock .news-box.last .importantBlock{
				padding: 10px 0 0;
			}


				#contents .newsBlock .news-box.last .importantBlock dt,
				#contents .newsBlock .news-box.last .importantBlock dd{
					margin-bottom: 0;
				}

				@media only screen and (max-width:640px){
				#contents .newsBlock .news-box.last .importantBlock .inner-wrap{
					padding: 20px 0 0;
				}
					#contents .newsBlock .news-box.last .importantBlock dd{
						width: 78%; /* anodroid bug fix */
					}
				}

	@media only screen and (max-width:768px){

	/*.latest-block
	--------------------*/
	#contents .latest-block{
		padding:20px 0 0;
		margin:0;
		border-top:1px solid #CCC;
	}
		#contents .latest-block .title{
			font-size:15px;
			padding:0 0 20px 10px;
		}
		#contents .latest-block dl{
			padding:0 10px;
		}

		#contents .latest-block dt{
			width:65px;
			float:left;
			margin-bottom:10px;
		}
		#contents .latest-block dd{
			margin-left:75px;
			margin-bottom:10px;
		}

	/*.newsBlock
	--------------------*/
	#contents .newsBlock{
		padding:20px 0 0;
		margin:0;
		border-top:1px solid #CCC;
	}
		#contents .newsBlock .news-box{
			position:relative;
			padding:0;
			width:100%;
			float:none;
			border-right:none;
			height:auto !important;
		}
		#contents .newsBlock .news-box.last{
			float:none;
			border-top:1px solid #CCC;
			padding:20px 0 0;
		}
			#contents .newsBlock .news-box .title{
				font-size:15px;
				padding:0 0 20px 10px;
			}

			#contents .newsBlock .news-box .btn-list{
				right:10px;
			}
				#contents .newsBlock .news-box.last .btn-list{
					top:20px;
				}

			#contents .newsBlock .news-box dl{
				padding:0 10px;
			}

			#contents .newsBlock .news-box dt{
				width:65px;
				float:left;
				margin-bottom:10px;
			}
			#contents .newsBlock .news-box dd{
				margin-left:75px;
				margin-bottom:10px;
			}

	}

	@media only screen and (max-width:640px){
	#contents .infoBlock{
		background-color:#FFF;
	}

	#contents .info-box.first{
		border-top:1px solid #CCC;
	}

		#contents .info-box a{
			background-color:#FFF;
		}

	#contents .newsBlock .news-box{
		background-color:#FFF;
	}
	}


	/*.bannerBlock
	--------------------*/
	#contents .bannerBlock{
		padding:20px 10px;
		margin:20px 0 0;
		border-top:1px solid #CCC;
	}
	#contents .bannerBlock .title {
		display: block;
		font-weight: bold;
		font-size: 15px;
		padding: 0 0 20px;
	}


/*3カラム版のcss*/

	#contents .bannerBlock ul{
		display: -webkit-flex;
		display: flex;
		justify-content: space-between;
	}
	#contents .bannerBlock ul li{
		width: 32%;
		max-width: 300px;
	}


/*2カラム版のcss*/

	/* #contents .bannerBlock ul{
		width: 72%;
		margin: 0 auto;
		overflow: hidden;
	}

	#contents .bannerBlock ul li{
		width: 46%;
		float: left;
		margin: 0 15px 0px 5px;
	}
	#contents .bannerBlock ul li.l2{
		margin-right: 0;
	}*/


	#contents .bannerBlock ul li a{
	}
	#contents .bannerBlock ul li a img{
		width: 100%;
	}
	#contents .bannerBlock ul li a img.only-pc{
		display: block;
	}
	#contents .bannerBlock ul li a img.only-sp{
		display: none;
	}

	/* #contents .bannerBlock p{
		position: absolute;
		top: 32px;
		left: 15px;
	}*/


	@media only screen and (max-width:768px){
		#contents .bannerBlock{
			padding: 20px 10px 0;
		}
		#contents .bannerBlock ul{
			display: block;
			width: 100%;
		}
		#contents .bannerBlock ul li{
			width: 100%;
			max-width: 748px;
			margin: 0 0 20px 0;
		}
		#contents .bannerBlock ul li a img.only-pc{
			display: none;
		}
		#contents .bannerBlock ul li a img.only-sp{
			display: block;
		}

		/* #contents .bannerBlock p{
			position: static;
			margin-top: 10px;
		}*/
	}



/* #rim-tpl-pagetop-box
 -----------------------------*/

#rim-tpl-pagetop-box .rim-tpl-inner-wrap{
 	overflow: hidden;
}
#rim-tpl-pagetop-box .rim-tpl-inner-wrap p{
 	margin-top: 10px;
}
#rim-tpl-pagetop-box .rim-tpl-inner-wrap p.rss{
	margin-top: 0;
	float: left;
}
#rim-tpl-pagetop-box .rim-tpl-inner-wrap p.rss a{
	padding: 0;
	background: none;
}





	/*.important_newx
	--------------------*/
.link-list {
    padding: 30px 0px 0px 0px;
    text-align: right;
}


.link-list li {
    display: inline-block;
    padding: 0 5px 0px 0;
    line-height: 1;
}

.link-list li a {
    padding: 1px 0 1px 12px;
    background: url(/common/img/icon-cursor.png) no-repeat 0 center;
}

.link-list li img {
    margin-right: 5px;
}
