@charset "UTF-8";

/*========================================

	base.css
	
========================================*/

/* ●[1] 全体背景 -------------------- */

#container_block {
	width: 100%;
	margin: 0px;
	padding: 0px;
	background: url(../img/container_pat.jpg) repeat-x;
	text-align: center;
}

#container_box {
	width: 1041px;
	margin: 0px auto;
	padding: 0px;
	background: url(../img/container_box_pat.png) repeat-y;
	text-align: center;
}

#container_inner {
	overflow: hidden;
	width: 960px;
	margin: 0px auto;
	padding: 0px 0px 30px 0px;
}

body > #container_box {
    height: auto;
}

/* ●スマートフォンリンク */

#sp_link_block {
	background: url(../img/bt_sp_pat.gif) repeat-x;
	padding: 14px 0;
	width: 100%;
	display: table;
}

#sp_link_box {
	width: 1041px;
	margin: 0 auto;
	text-align: center;
}

/* ●[2] ヘッダー -------------------- */

#header {
	margin: 0px auto;
	padding: 0px;
	width: 950px;
	height: 85px;
	position: relative;
	text-align: left;
}

#logo {
	width: 350px;
	position: absolute;
	top: 14px;
	left: 0px;
}

#search {
	width: 285px;
	position: absolute;
	top: 37px;
	left: 450px;
}

#search dt,
#search dd {
	float: left;
}

#search_field {
	width: 200px;
	height: 22px;
	border: 1px solid #d4d4d4;
	margin: 0px 3px 0px 0px;
	line-height: 1.6;
}

#header_btn {
	width: 90px;
	height: 24px;
	text-align: left;
	margin: 0px;
	padding: 0px;
	position: absolute;
	top: 37px;
	right: 0px;
	background: url(../img/head_line.gif) left center no-repeat;
}

#header_btn p {
	margin: 0px;
	padding: 0px 0px 0px 13px;
}

#header_btn_lang {
	width: 350px;
	text-align: left;
	margin: 0px;
	padding: 0px;
	position: absolute;
	top: 4px;
	left: 515px;
}

#header_btn_lang ul {
	text-align: left;
	margin: 2px 0px 0px 56px;
	padding: 0px;
}

#header_btn_lang ul li {
	float: left;
	margin: 0px;
	padding: 0px 10px 0px 0px;
	list-style: none;
	display: inline;
}

/* 文字サイズ -------------------- */

#size {
	width: 145px;
	height: 29px;
	position: absolute;
	top: 35px;
	left: 720px;
}

#size {
	margin: 0px;
	padding: 0px;
	width: 143px;
	height: 29px;
	position: relative;
}

#size dt {
	margin: 0px;
	padding: 0px;
	width: 65px;
	height: 29px;
	position: absolute;
	top: 0px;
	left: 0px;
}

#size dd {
	margin: 0px;
	padding: 0px;
	width: 67px;
	height: 29px;
	position: absolute;
	top: 0px;
	left: 65px;
	background: url(../img/head_size_pat.gif) no-repeat;
}

#size ul {
	margin: 4px 0px 0px 0px;
	padding: 0px;
	width: 61px;
	height: 21px;
}

#size ul li {
	float: left;
	margin: 0px;
	padding: 0px;
	list-style: none;
}

/* サイトマップ -------------------- */

#header_btn_sitemap {
	position: absolute;
	top: 10px;
	right: 0px;
}

#header_btn_sitemap p {
	font-size: 85%;
	line-height: 140%;
}

#header_btn_sitemap a {
	display: block;
	background: url(../img/head_sitemap.gif) left center no-repeat;
	padding: 0px 0px 0px 16px;
	text-decoration: none;
}


/* ●[3] トップスライド -------------------- */

#topimg_block {
	overflow: hidden;
	margin: 0px auto;
	padding: 0px;
	width: 950px;
	height: 275px;
	position: relative;
}

#topimg_block_test {
	overflow: hidden;
	margin: 0px auto;
	padding: 0px;
	width: 950px;
	height: 145px;
	position: relative;
}

#slider {
	margin: 0px;
	padding: 0px;
	width: 950px;
	height: 275px;
	position: absolute;
	top: 0px;
	left: 0px;
}


/* ●[4] パンくずナビ -------------------- */

#pan_navi {
	width: 950px;
	margin: 0px auto;
	padding: 0px 0px 4px 0px;
}

#pan_navi p {
	text-align: left;
	font-size: 93%;
	color: #2c4495;
}

#pan_navi p span {
	color: #393939;
}


/* ●[5] トップ言語選択 -------------------- */

#lang_block {
	overflow: hidden;
	margin: 0px auto 15px auto;
	padding: 0px;
	width: 930px;
	background: url(../img/lang_pat.gif) no-repeat;
}

#lang_block ul {
	overflow: hidden;
	margin: 0px;
	padding: 0px;
}

#lang_block li {
	float: left;
	margin: 0px;
	padding: 0px;
	list-style: none;
}


/* ●[6] メニュー -------------------- */

#menu_block {
	float: left;
	margin: 0px;
	padding: 3px 0px 0px 0px;
	width: 240px;
	display: inline;
	text-align: center;
}

/* menu -------------------- */

#menu {
	width: 234px;
	margin: 0px auto 15px auto;
	padding: 0px;
	text-align: left;
}

#menu li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

#menu ul.main_menu {
	width: 234px;
	margin: 0px;
	padding: 0px;
}

#menu ul.main_menu li {
	text-align: left;
}

#menu ul.main_menu li.parent {
	position: relative;
}

#menu ul.sub {
	text-align: left;
	margin: 0px;
	padding: 0px;
	width: 190px;
	position: absolute;
	top: 2px;
	left: 235px;
	border-bottom: 1px solid #009ae6;
}

#menu ul.sub a {
	width: 190px;
	padding: 6px 0px;
	display: block;
	color: #009ae6;
	text-decoration: none;
	text-align: left;
	background: url(../img/menu_sub_pat.gif) left top no-repeat;
	font-size: 93%;
	line-height: 140%;
	border: none;
}

#menu ul.sub a:hover {
	margin: 0px;
	color: #fff;
	background: #009ae6;
}

#menu ul.sub a span {
	display: block;
	padding: 0px 8px;
}

#menu ul.sub_menu {
	margin: 0px;
	padding: 0px;
	width: 234px;
}

#menu ul.sub_menu li {
	margin: 0px;
	padding: 0px;
	width: 234px;
	background: url(../img/sub_menu_line.gif) left bottom no-repeat;
}

#menu ul.sub_menu li.end {
	margin: 0px 0px 7px 0px;
}

#menu ul.sub_menu li a {
	display: block;
	margin: 0px;
	padding: 8px 0px;
	width: 234px;
	text-decoration: none;
	background: url(../img/sub_menu_mark.gif) 6px center no-repeat;
}

#menu ul.sub_menu li.on a {
	background: url(../img/sub_menu_mark_on.gif) 6px center no-repeat;
}

#menu ul.sub_menu li.endon a {
	margin: 0px 0px 7px 0px;
	background: url(../img/sub_menu_mark_on.gif) 6px center no-repeat;
}

#menu ul.sub_menu li a span {
	display: block;
	padding: 0px 8px 0px 22px;
	font-size: 93%;
	line-height: 130%;
}


/* calender -------------------- */

#calender_block {
	width: 230px;
	margin: 0px auto 15px auto;
}

#calender_block p {
	padding: 0px;
	margin: 0px;
	font-size: 93%;
	line-height: 150%;
	text-align: left;
}

#calender_box {
	width: 230px;
	margin: 0px 0px 5px 0px;
	padding: 0px 0px 14px 0px;
	background: url(../img/calender.gif) left bottom no-repeat;
}

#calender_inner {
	width: 230px;
	margin: 0px;
	padding: 14px 0px 0px 0px;
	background: url(../img/calender.gif) left top no-repeat;
	text-align: center;
}

#calender_inner h3 {
	width: 196px;
	height: auto;
	margin: 0px auto;
	padding: 0px;
	background: none;
	color: #fff;
	font-weight: normal;
	font-size: 93%;
	line-height: 120%;
}

#calender_inner p#this_month {
	width: 196px;
	height: auto;
	margin: 0px auto 5px auto;
	padding: 0px;
	background: none;
	color: #fff;
	font-weight: bold;
	font-size: 116%;
	line-height: 120%;
}

#calender_inner ul {
	overflow: hidden;
	width: 196px;
	margin: 0px auto;
	padding: 0px;
}

#calender_inner ul li#pre_month,
#calender_inner ul li#next_month {
	width: 95px;
	list-style: none;
	padding: 0px;
	margin: 0px;
}

#calender_inner ul li#pre_month {
	float: left;
	background: url(../img/bt_cal_pre.gif) left top no-repeat;
}

#calender_inner ul li#next_month {
	float: right;
	background: url(../img/bt_cal_next.gif) right top no-repeat;
}

#calender_inner ul li#pre_month a,
#calender_inner ul li#next_month a {
	width: 73px;
	display: block;
	font-size: 83%;
	line-height: 17px;
	color: #fff;
	text-decoration: none;
}

#calender_inner ul li#pre_month a:hover,
#calender_inner ul li#next_month a:hover {
	color: #00a0e9;
}

#calender_inner ul li#pre_month a {
	text-align: left;
	padding: 0px 0px 0px 22px;
}

#calender_inner ul li#next_month a {
	text-align: right;
	padding: 0px 22px 0px 0px;
}

#calender_inner table {
	width: 196px;
	margin: 0px auto 5px auto;
	padding: 0px;
	border: 1px solid #739829;
}

#calender_inner table th {
	margin: 0px;
	padding: 0px;
	border: 1px solid #b7b7b7;
	color: #666666;
	background: #dbdbdb;
	text-align: center;
	font-size: 70%;
	line-height: 17px;
	font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
}

#calender_inner table td {
	margin: 0px;
	padding: 0px;
	border: 1px solid #b7b7b7;
	color: #454545;
	background: #fff;
	text-align: center;
	font-size: 75%;
	line-height: 22px;
	font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
}

#calender_inner table th.sun {
	background: #ff9898;
	color: #fff;
}

#calender_inner table th.sat {
	background: #3db3f0;
	color: #fff;
}

#calender_inner table td.sun {
	background: #fef7ec;
}

#calender_inner table td.sat {
	background: #e8feff;
}

#calender_inner table td.today {
	background: #b1d74f;
	color: #fff;
}

/* banner side -------------------- */

#banner_side_block {
	width: 225px;
	margin: 0px auto 10px auto;
}

#banner_side_block ul {
	margin: 0px;
	padding: 0px;
}

#banner_side_block li {
	margin: 0px 0px 5px 0px;
	padding: 0px;
	list-style: none;
}

#banner_side_block div {
	font-size: 80%;
	margin: 5px 0 0 0;
	color: #555555;
	line-height: 130%;
}

/* ●[7] メインコンテンツ -------------------- */

#contents {
	float: right;
	overflow: hidden;
	width: 695px;
	margin: 0px 5px 0px 0px;
	padding: 0px;
	clear: both;
	display: inline;
	text-align: center;
}

#contents p {
	width: 650px;
	margin: 0px auto 10px auto;
	padding: 0px;
	text-align: left;
	color: #626262;
	font-size: 100%;
}

#contents_inner {
	overflow: hidden;
	width: 670px;
	margin: 0px auto 10px auto;
	padding: 0px;
	text-align: center;
}

#contents_inner2 {
	overflow: hidden;
	width: 670px;
	margin: 0px auto 10px auto;
	padding: 0px;
	text-align: center;
}


/* news -------------------- */

#top_menu_block {
	overflow: hidden;
	width: 695px;
	margin: 0px 0px 25px 0px;
	text-align: center;
}

#top_menu_block h3 {
	margin: 0px 0px 10px 0px;
	padding: 0px;
}

#top_menu_block ul {
	width: 693px;
	margin: 0px auto;
	padding: 0px
}

#top_menu_block li {
	float: left;
	list-style: none;
}

/* news -------------------- */

#news_block {
	overflow: hidden;
	width: 695px;
	margin: 0px auto 15px auto;
	text-align: center;
}

#news_block h3 {
	margin: 0px;
	padding: 0px;
}

#news_block table {
	overflow: hidden;
	width: 685px;
	margin: 0px auto 5px auto;
	font-size: 100%;
}

#news_block th,
#news_block td {
	padding: 7px 0px;
	text-align: left;
	background: url(../img/news_line.gif) left bottom repeat-x;
	vertical-align: top;
	font-size: 93%;
	line-height: 140%;
}

#news_block th {
	width: 50px;
	padding-right: 5px;
}

#news_block td.ctg {
	width: 50px;
	white-space: nowrap;
	padding-right: 5px;
}

#news_block a {
	text-decoration: none;
}

#news_block p {
	width: 685px;
	overflow: hidden;
	margin: 0px auto;
	padding: 0px;
}

#news_block p a {
	float: right;
}

/* banner -------------------- */

#banner_block {
	overflow: hidden;
	width: 693px;
	margin: 0px auto;
}

#banner_block ul {
	overflow: hidden;
	margin: 0px;
	padding: 0px;
}

#banner_block li {
	list-style: none;
	margin: 0px 3px 10px 3px;
	padding: 0px;
	width: 225px;
	float: left;
	display: inline;
}


/* sub_navi -------------------- */

#sub_navi_block {
	overflow: hidden;
	width: 680px;
	margin: 0px auto 15px auto;
	padding: 0px;
	font-size: 93%;
	text-align: center;
}

#sub_navi_block table {
	width: 675px;
	margin: 0px 0px 0px 5px;
	padding: 0px;
}

#sub_navi_block td {
	width: 225px;
	margin: 0px;
	padding: 0px 0px 5px 0px;
	line-height: 140%;
	text-align: left;
	vertical-align: top;
}

#sub_navi_block td p {
	display: block;
	width: 220px;
	margin: 0px;
	padding: 8px 0px 0px 0px;
	background: url(../img/sub_navi_off.gif) no-repeat;
}

#sub_navi_block td span {
	display: block;
	width: 220px;
	margin: 0px;
	padding: 0px 0px 8px 0px;
	background: url(../img/sub_navi_off.gif) left bottom no-repeat;
}

#sub_navi_block td span a {
	display: block;
	margin: 0px;
	padding: 0px 20px 0px 10px;
	background: url(../img/sub_navi_off.gif) left center no-repeat;
	color: #333333;
	text-decoration: none;
}

#sub_navi_block td span a:hover {
	color: #00a0e9;
}

#sub_navi_block td.on p {
	background: url(../img/sub_navi_on.gif) no-repeat;
}

#sub_navi_block td.on span {
	background: url(../img/sub_navi_on.gif) left bottom no-repeat;
}

#sub_navi_block td.on span a {
	background: url(../img/sub_navi_on.gif) left center no-repeat;
}

/* sub_navi2 -------------------- */
#sub_navi_block2 {
	overflow: hidden;
	width: 680px;
	margin: 0px auto 15px auto;
	padding: 0px;
	font-size: 93%;
	text-align: center;
}


#sub_navi_block2 table {
	width: 675px;
	margin: 0px 0px 0px 5px;
	padding: 0px;
}

#sub_navi_block2 td {
	width: 165px;
	margin: 0px;
	padding: 0px 0px 5px 0px;
	line-height: 140%;
	text-align: left;
	vertical-align: top;
}

#sub_navi_block2 td p {
	display: block;
	width: 165px;
	margin: 0px;
	padding: 8px 0px 0px 0px;
	background: url(../img/sub_navi_off2.gif) no-repeat;
}

#sub_navi_block2 td span {
	display: block;
	width: 165px;
	margin: 0px;
	padding: 0px 0px 8px 0px;
	background: url(../img/sub_navi_off2.gif) left bottom no-repeat;
}

#sub_navi_block2 td span a {
	display: block;
	margin: 0px;
	padding: 0px 20px 0px 10px;
	background: url(../img/sub_navi_off2.gif) left center no-repeat;
	color: #333333;
	text-decoration: none;
}

#sub_navi_block2 td span a:hover {
	color: #00a0e9;
}

#sub_navi_block2 td.on p {
	background: url(../img/sub_navi_on2.gif) no-repeat;
}

#sub_navi_block2 td.on span {
	background: url(../img/sub_navi_on2.gif) left bottom no-repeat;
}

#sub_navi_block2 td.on span a {
	background: url(../img/sub_navi_on2.gif) left center no-repeat;
}

/* ●[8] フッター -------------------- */

#footer {
	overflow: hidden;
	clear: both;
	width: 950px;
	margin: 0px auto;
	padding: 0px 0px 25px 0px;
	text-align: left;
}

/* footer_menu -------------------- */

#footer_menu {
	overflow: hidden;
	padding: 0px;
	margin: 0px;
	width: 950px;
	height: 33px;
	position: relative;
	background: url(../img/footer_line.gif) no-repeat;
}

#footer_menu ul {
	padding: 0px;
	margin: 0px;
}

#footer_menu li {
	padding: 0px;
	margin: 0px;
	position: absolute;
	top: 0px;
	list-style: none;
}

#footer_menu li.contact {
	left: 0px;
}

#footer_menu li.link {
	left: 108px;
}

#footer_menu li.policy {
	right: 93px;
}

#footer_menu li.pagetop {
	right: 0px;
}

/* copyright -------------------- */

#copyright {
	text-align: right;
}

/* address -------------------- */

#footer table {
	margin: 0px;
	padding: 0px;
	font-size: 100%;
}

address {
	margin: 0px;
	padding: 0px 15px 0px 0px;
	font-size: 85%;
	text-align: left;
	line-height: 130%;
	color: #555555;
}


/* ●[9] リンク用スタイル -------------------- */

.link_mark {
	text-indent: 8px;
	display: block;
	background: url(../img/link_mark.gif) left 0.4em no-repeat;
	text-decoration: none;
}


/* ●[10] タイトル用スタイル -------------------- */

h2 {
	width: 690px;
	margin: 5px auto 10px auto;
	padding: 0px;
	text-align: left;
}

h3 {
	width: 680px;
	margin: 0px auto 15px auto;
	padding: 0px 0px 4px 0px;
	text-align: left;
	background: url(../img/h3_line.gif) left bottom no-repeat
}

h3 span {
	display: block;
	background: url(../img/h3_mark.gif) left center no-repeat;
	padding: 8px 0px 8px 30px;
	font-size: 116%;
	line-height: 120%;
	color: #393939;
}

h4 {
	width: 670px;
	margin: 0px auto 10px auto;
	padding: 5px 0px 0px 0px;
	background: url(../img/h4_pat.gif) left top no-repeat
}

h4 span {
	display: block;
	margin: 0px;
	padding: 0px 0px 5px 0px;
	background: url(../img/h4_pat.gif) left bottom no-repeat
}

h4 span span {
	display: block;
	padding: 8px 0px 8px 25px;
	background: url(../img/h4_pat.gif) left center no-repeat;
	font-size: 110%;
	line-height: 120%;
	color: #fff;
	text-align: left;
}

h5 {
	width: 665px;
	margin: 0px auto 10px auto;
	padding: 0px 0px 3px 0px;
	text-align: left;
	background: url(../img/h5_line.gif) left bottom no-repeat
}

h5 span {
	display: block;
	background: url(../img/h5_mark.gif) left center no-repeat;
	padding: 10px 0px 8px 15px;
	font-size: 100%;
	line-height: 120%;
	color: #393939;
}

h6 {
	text-align: left;
	padding: 0px 0px 0px 15px;
}

h6.ttl1 {
	width: 315px;
	margin: 0px 0px 10px 8px;
	padding: 0px 0px 3px 0px;
	text-align: left;
	background: url(../img/h5_line.gif) left bottom no-repeat
}

h6.ttl1 span {
	display: block;
	background: url(../img/h5_mark.gif) left center no-repeat;
	padding: 10px 0px 8px 15px;
	font-size: 110%;
	line-height: 118%;
	color: #393939;
}

h6.ttl2 {
	width: 665px;
	margin: 0px auto 5px auto;
	padding: 0px;
	text-align: left;
}

h6.ttl2 span {
	display: block;
	background: url(../img/h6_mark.gif) left 0.5em no-repeat;
	padding: 5px 0px 5px 18px;
	font-size: 93%;
	line-height: 130%;
	color: #393939;
}
