@charset "utf-8";


/* init */
* {
	margin: 0;
	padding: 0;
	line-height: 1.3;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
}

body {
	font: 14px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #000;
	background: #F2FAFF;
}

img {
	border: 0;
}

a {
	text-decoration: none;
}

b {
	font-weight: bold;
}

i {
	font-style: italic;
}

p {
	margin: 0.7em 1em;
	padding: 0 5px;
	text-indent: 0.6em;
}

s {
	text-decoration: line-through;
}

table {
	margin: 5px;
	border-spacing: 0;
}

td {
	border-style: solid;
	border-width: 0 1px 1px 0;
}

th {
	font-weight: bold;
	border-style: double solid;
	border-width: 0 1px 4px 0;
}

th,td {
	padding: 2px 7px;
	border-color: #c0c0c0;
}

th:last-child,
td:last-child {
	border-right: 0;
}

u {
	text-decoration: underline;
}

h1{
	margin: 10px;
	font-size: 2.2em;
	color: #0F599C;
}

h1:before{
	margin-right: 3px;
	content: "◆";
	color: #0F599C;
}

h2 {
	margin: 8px 10px 0;
	font: 2em "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #F60;
	/*color: #60A6E5; */
}

h2:before{
	margin-right: 3px;
	content: "■";
	color: #F60;
}

h3 {
	margin: 5px 10px;
	font: 1.8em "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #FFC818;
	/*color: #60A6E5; */
}

h3:before{
	margin-right: 3px;
	content: "■";
	color: #FFC818;
}

h4 {
	margin: 5px;
	padding: 0 5px 0;
	font: 1.5em "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border: solid #5599ff;
	border-width: 0 0 0 7px;
}

h4 a {
}

h4 a:hover {
}

h5 {
	margin: 5px;
	padding: 0 5px 0;
	font: 1.4em "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border: solid #ff7f2a;
	border-width: 0 0 0 7px;
}

h5 a {
	color: #444;
}

h5 a:hover {
}

h6 {
	margin: 5px;
	padding: 0 5px 0;
	font: 1.2em "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	border: solid #0C9;
	border-width: 0 0 0 7px;
}

h6 a:hover {
	color: #000;
}


ul,
ol,
dl {
	margin-left: 10px;
	list-style-position: inside;
	text-align: left;
}

ul li,
ol li {
	padding: 3px 0;
}

dt,
dt a {
	padding: 0;
	font-size: 1.2em;
	font-weight: bold;
}

dd {
	padding: 0 15px;

}

hr {
	margin: 5px 10px;
	border-width: 0;
	border-bottom: 2px dotted #666;
}

/**** 大枠設定 ****/
div.main {
	margin: 0 auto;
	padding: 0 0 10px;
	width: 1000px;
}

div.header:after,
div.contents:after,
div.footer:after,
ul.above_menu:after,
ul.menu:after,
ul.headline:after,
ul.product:after,
ul.horizon_list:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

div.contents {
	padding: 0 10px;
}

div.contents_left{
	margin: 10px 5px;
	float: left;
	width: 280px;
}

div.contents_right{
	margin: 10px 5px;
	float: right;
	width: 680px;
}

div.footer {
	text-align: center;
}

div.element {
	margin: 0 5px 20px;
	padding: 10px;
	border: 1px solid #666;
	border-radius: 5px;
	-moz-box-shadow: 2px 2px 7px #969696;
	-webkit-box-shadow: 2px 2px 7px #969696;
	box-shadow: 2px 2px 7px #969696;
	background: #fff;
	color: #222;
	position: relative;
}

/******* 通常レイアウト *******/
div.sidemenu{
	width: 210px;
}

div.main_frame{
	width: 750px;
}

/*** header ***/
ul.above_menu li,
ul.menu li {
	float: left;
	position: relative;
	list-style: none;
}

ul.menu {
	margin: 10px 10px 0;
	margin/**/: 10px 6px 0;
}

ul.menu li {
	padding: 2px 21px;
	display: block;
	font-size: 1.5em;
	background: rgba(207, 232, 255, 0.8);
	border: 2px solid #9BCFFF;
	border-width: 2px 0 2px 2px;
}

ul.menu li:hover{
	background: #60A6E5;
}

ul.menu li:first-child {
	border-width: 2px 0 2px 2px;
	border-radius: 12px 0 0 12px;
}

ul.menu li:last-child {
	border-width: 2px;
	border-radius: 0 12px 12px 0;
}

ul.menu li a {
	font-weight: bold;
	color: #0D4476;
}

ul.above_menu {
	margin-left: 0;
	padding: 0 10px;
	background: -moz-linear-gradient(left top,
				#fff,
				#D5EBFF 70%,
				#60A6E5);
	background: -webkit-gradient(linear, left top, right bottom,
				from(#fff),
				color-stop(0.7, #D5EBFF),
				to(#60A6E5));
	border: 2px solid #9BCFFF;
	border-width: 0 2px 2px;
	border-radius: 0 0 15px 15px;
}

ul.above_menu li{
	margin: 3px 0;
	padding: 1px 5px;
	font-size: 0.9em;
/*	border: solid #fff;
	border-width: 0 0 0 1px; */
}

ul.above_menu li.right {
	float: right;
}

ul.above_menu li.logo{
	background: #fff;
	border: 2px solid #fff;
	border-radius: 15px;
	box-shadow: 2px 2px 2px #666;
}

ul.above_menu li.right:last-child {
	border-width: 0;
}

ul.above_menu li a {
	color: #fff;
}

/*** define list ***/
dl.log {
	margin: 0 0 10px;
}

dl.log dt {
	font-size: 1em;
	margin-left: 5px;
	padding:5px;
	clear:both;
	font-weight:bold;
}

dl.log dd {
	margin: 5px;
	padding:5px;
	padding-left:15px;
	border:dotted #666;
	border-width: 0 0 1px;
}

dl.link_list dt,
dl.link_list dt a {
	font-weight: bold;
	font-size: 1.05em;
	color: #33C;
}

dl.link_list dd {
	margin: 0 0 12px;
	padding: 0 3px 3px;
	border:dotted #666;
	border-width: 0 0 1px;
}


dl.faq{
	padding: 0 10px;
}

dl.faq dt{
	margin-left: 57px;
	font-size: 1.3em;
	font-weight: bold;
}

dl.faq dt:before{
	margin-left: -57px;
	margin-right: 10px; 
	content: "Q.";
	font: 50px Marmelad, sans-serif;
	color: #69F;
}

dl.faq dd{
	margin: 0 45px 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #ddd;
}

dl.faq dd:before{
	margin-left: -53px;
	margin-right: 10px;
	content: "A.";
	font: 45px Marmelad, sans-serif;
	color: #F96;
}

/*** list ****/
ul.info {
	list-style: none;
	font: bold 16px "Cantarell","Times New Roman";
	color: #c0c0c0;
}

ul.info:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

ul.info li {
	float: right;
}

ul.info li:before {
	margin: 0 5px;
	content: "|";
}

ul.info li:last-child:before {
	content: normal;
}

ul.info li a {
	color: #000;
}

ul.info li.left {
	margin: 5px;
	float: left;
}

ul.info li.left:before {
	margin: 0;
	content:normal;
}

ul.product {
	
}

ul.product li{
	margin: 6px;
	float:left;
	width: 300px;
	list-style: none;
}

ul.product li h4{
	font-size: 1.2em;
	text-align: left;
}

ul.product li img{
	padding: 5px;
	border: 1px solid #666;
	border-radius: 5px;
}

ul.product li:nth-child(3n+1){
	clear: both;
}

ul.side_menu li {
	list-style: none;
	border-bottom: 1px dotted #CCC;
}

ul.horizon_list li {
	margin: 0 10px;
	list-style: none;
	float: left;
}

/*** slider ***/
#foot_product_slides{
	margin: 0 auto 10px;
	width: 545px;
	position: relative;
}

#foot_product_slides .slides_container {
	width:525px;
	margin: auto;
	display:none;
	position: relative;
}

/*
	Each slide
	Important:
	Set the width of your slides
	If height not specified height will be set by the slide content
	Set to display block
*/
#foot_product_slides .slides_container div.slide {
	width:525px;
	height:155px;
	display:block;
}

/*
	Set the size of your carousel items
*/
#foot_product_slides .item {
	float:left;
	width:150px;
	height:150px;
	margin:0 10px;
}

div#foot_product_slides .prev,
div#foot_product_slides .next {
	margin-top: -8px;
	width: 16px;
	height: 25px;
	font-size: 0;
	position: absolute;
	top: 50%;
}

div#foot_product_slides .prev {
	background: url(../img/index/slideshow/arrow/left-arrow.png) no-repeat;
	left: -20px;
}

div#foot_product_slides .next {
	background: url(../img/index/slideshow/arrow/right-arrow.png) no-repeat right;
	right: -20px;
}


#topics_slides {
	margin: 10px 10px 5px;
	position: relative;
	-moz-box-shadow: 2px 2px 6px #888;
	-webkit-box-shadow: 2px 2px 6px #888;
	box-shadow: 2px 2px 6px #888;
	border-radius: 10px;
	border: 10px solid #fff;
}

#topics_slides div.slides_container {
	width:940px;
	display:none;
}

/*
	Each slide
	Important:
	Set the width of your slides
	If height not specified height will be set by the slide content
	Set to display block
*/
#topics_slides div.slides_container div {
	width:940px;
	height:400px;
	display:block;
}

/*
	Optional:
	Reset list default style
*/
#topics_slides ul.pagination {
	list-style:none;
	margin:0 auto;
	padding:0;
	position: absolute;
	right: 15px;
	bottom: 5px;
	z-index: 5000;
}

#topics_slides ul.pagination li {
	margin: 3px;
	float: left;
}

/*
	Optional:
	Show the current slide in the pagination
*/
#topics_slides ul.pagination li a {
	display: block;
	width: 12px;
	height: 12px;
	text-indent: -9999px;
	background: -moz-linear-gradient(
		top,
		#b4eafa 0%,
		#8dc8e3);
	background: -webkit-gradient(
		linear, left top, left bottom, 
		from(#b4eafa),
		to(#8dc8e3));
	filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#b4eafa', endColorstr='#8dc8e3'); /* IE6 & IE7 */
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#b4eafa', endColorstr='#8dc8e3)"; /* IE8 */
	border-radius: 25px;
	-moz-border-radius: 25px;
	-webkit-border-radius: 25px;
	border: 1px solid #91c9e3;
	-moz-box-shadow:
		0px 1px 0px rgba(255,255,255,1),
		inset 0px 0px 1px rgba(255,255,255,0.7);
	-webkit-box-shadow:
		0px 1px 0px rgba(255,255,255,1),
		inset 0px 0px 1px rgba(255,255,255,0.7);
}

#topics_slides ul.pagination li.current a{
	width: 13px;
	height: 13px;
	display: block;
	background: -moz-linear-gradient(
		top,
		#20b1e6 0%,
		#1e64cc);
	background: -webkit-gradient(
		linear, left top, left bottom, 
		from(#20b1e6),
		to(#1e64cc));
	filter:  progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#20b1e6', endColorstr='#1e64cc'); /* IE6 & IE7 */
	-ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#20b1e6', endColorstr='#1e64cc')"; /* IE8 */
	border-radius: 30px;
	-moz-border-radius: 30px;
	-webkit-border-radius: 30px;
	border: 1px solid #b4eafa;
	-moz-box-shadow:
		0px 0px 2px rgba(000,000,000,0.4),
		inset 0px 0px 1px rgba(023,002,145,1);
	-webkit-box-shadow:
		0px 0px 2px rgba(000,000,000,0.4),
		inset 0px 0px 1px rgba(023,002,145,1);
}

/*
	Slideshow style
*/
.developper_product_slides {
	z-index:100;
}

/*
	Slides container
	Important:
	Set the width of your slides container
	If height not specified height will be set by the slide content
	Set to display none, prevents content flash
*/
.developper_product_slides div.slides_container {
	width:288px;
	height:162px;
	overflow:hidden;
	position:relative;
	display:none;
}

/*
	Each slide
	Important:
	Set the width of your slides
	Offeset for the 20px of padding
	If height not specified height will be set by the slide content
	Set to display block
*/

.developper_product_slides div {
	width:288px;
	height:162px;
	display:block;
}

/*
	Next/prev buttons
*/
.developper_product_slides .next,
.developper_product_slides .prev {
	position:absolute;
	top:50%;
	width:24px;
	display:block;
}

.developper_product_slides  .next {
	left:585px;
}

/*
	Pagination
*/

.developper_product_slides .pagination {
	margin:5px auto 0;
	width:148px;
}

.developper_product_slides .pagination li {
	float:left;
	margin-right:4px;
	list-style:none;
	display:block;
}

.developper_product_slides .pagination li a {
	display:block;
	width:33px;
	height:5px;
	background:#999;
	text-indent: -9999px;
	float:left;
	overflow:hidden;
}

.developper_product_slides .pagination li.current a {
	background:#000;
}

div.photo_right {
	float: right;
	margin: 0 10px 5px 0;
}

div.photo_left {
	float: left;
	margin: 5px 10px 5px 0;
}

div.blog img {
	padding: 5px;
	border: 1px #3CF solid;
}


/******** 文字と画像を並べる http://www.webbibo.com/blog/htmlcss/table_like_box.html *******/
div.box {
    display: table;
}

div.photoR {
	direction: rtl; /*右から並べる*/
}

div.photoR * {
	direction: ltr; /*内容物は左から並べる*/
}

div.photo,
div.comment {
	padding: 10px 0;
	height: 100%;
	display: table-cell;
	vertical-align:top;
}

div.comment {
	width: 100%;
}
div.photo {
	padding: 10px;
}
div.photoR div.comment {
    padding-left: 5px;
}
div.photoL div.comment {
    padding-right: 5px;
}

div.comment p {
	padding: 0 5px 5px;
}

/* IE7以下に適用 */
div.ltie8 div.photo {
	width:expression(this.getElementsByTagName("img")[0].clientWidth);
}
div.ltie8 .photoL div.photo {
	float: left;
}
div.ltie8 .photoR div.photo {
	float: right;
}
div.ltie8 div.comment {
	width: auto;
}

/****** idごとの定義 ******/
div#history {
	max-height: 250px;
	overflow: auto;
}

div#notice {
	max-height: 900px;
	overflow: auto;
}

div#event_info {
	max-height: 160px;
	overflow: auto;
}

/*** option ***/
div.clear {
	clear: both;
}

div.reset_decoration {
	border-width: 0;
	box-shadow: none;
}

div.reset_space{
	margin: 0;
	padding: 0;
}

div.attention {
	width: auto;
	margin: 5px 15px;
	padding: 5px;
	border: 2px double #f00;
	font-size: 1.1em;
	font-weight: bold;
}

p.border {
	padding: 0 10px 5px;
	border: dotted #ccc;
	border-width: 0 0 1px;
}

p.noindent{
	text-indent: 0;
}

span.red {
	color: #f00;
}

dl.noborder dd{
	border-width: 0;
}
