@charset "utf-8";

/* 一般設定
---------------------------------------------------------------------------*/
* {
  color: #666666;
}

body {
  margin: 0 0;
  padding: 0 0;
  
  text-align: center;
  font-size: 14px;
  line-height: 1.6em;
  background: #FFF url(../images/common/bg_body.gif) 0px 0px repeat-x;
  font-family: Meiryo, "メイリオ", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, "MS P Gothic", "ＭＳ Ｐゴシック", sans-serif;
}

div,table,td,th,p,span {
  margin-left: auto;
  margin-right: auto;
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 0 0;
  vertical-align: top;
  text-align: left;
}

p,ul,ol,li,dl,dt,dd,form {
  margin: 0px;
  padding: 0px;
}
h1,h2,h3,h4,h5 {
  position: relative;
  margin: 0px;
  padding: 0px;
}
ul,li {
  display:inline-block;
  list-style: none;
  margin: 0 0;
  padding: 0 0;
  border: none;
}
li {
}
a, a:hover, a:visited, a:focus {
  color: #0C66CB;
  text-decoration: none;
}

img {border: none;}

/* レイアウト
---------------------------------------------------------------------------*/
#page {
  width: 100%;
  overflow: hidden;
  position: relative;
}
#top #page {
  background: url(../images/common/bg_container.gif) 0px 500px repeat-x;
}

#base {
  width: 1000px;
  margin-right: auto;
  margin-left: auto;
  z-index:500;
  position: relative;
}

.one-column #base {
  width: 900px;
}

/* ヘッダ
---------------------------------------------------------------------------*/
#header {
  width: 1000px;
  position: relative;
  height: 125px;
  padding-top: 8px;
}

#top #header {
  height: 497px;
}

.one-column #header {
  width: 900px;
  height: 64px;
}

#header #masthead {
  height: 64px;
  background: url(../images/common/bg_masthead.gif) top left no-repeat;
  -moz-box-shadow: 1px 2px 3px #666;
  -webkit-box-shadow: 1px 2px 3px #666;
  box-shadow: 1px 2px 3px #666;
  position: relative;
  z-index: 100;
  margin-top: -1px;

}
.one-column #header #masthead {
  width: 900px;
  height: 64px;
  background-image: url(../images/common/bg_masthead_01.gif);
}


#masthead #logo {
  position: absolute;
  top: 11px;
  left: 16px;
}

#masthead #searchbox {
  position: absolute;
  height: 40px;
  vertical-align: top;
  top: 14px;
  left: 480px;
}

#masthead #searchbox div {
  float: left;
}

#masthead #searchbox div#search_keyword {
  position: absolute;
  top: 5px;
  left: 8px;
}

#masthead #searchbox div#search_keyword input {
  padding: 2px 20px 2px 2px;
  padding-left: 25px;
  width: 160px;
  background: #FFF url(../images/common/bg_searchbox.png) 2px 2px no-repeat;
  border: 1px solid #CCC;
}

#masthead #searchbox div#search_submit_button {
  position: absolute;
  top: 1px;
  left: 220px;
  
}

#masthead #close {
  position: absolute;
  top: 18px;
  left: 780px;
  height: 40px;
  vertical-align: top;
}


#toplinks {
  position: absolute;
  height: 47px;
  width: 195px;
  vertical-align: top;
  top: 4px;
  left: 795px;
}

ul.nav-toplinks {
  padding: 10px 7px;
}

ul.nav-toplinks li {
  display: inline-block;
  float: left;
  vertical-align: middle;
  text-align: left;
  line-height: 25px;
  padding-left: 21px;
  background: url(../images/common/icon_links.png) 4px 6px no-repeat;
}

ul.nav-toplinks li a{
  font-size: 11px;
  color: #FFF;
  text-shadow: 1px 1px 3px #333;
  text-decoration: none;
}
ul.nav-toplinks li a:visited,
ul.nav-toplinks li a:hover,
ul.nav-toplinks li a:focus {
  color: #FFF;
}
#access {
  background:url(../images/common/bg_access.png) repeat-x;
  height: 57px;
  padding-top: 2px;
  padding-bottom: 2px;
  z-index: 500;
  position: absolute;
  width: 3000px;
  left: -701px;
}

#top #access {
  top: 440px;
}

/* コンテンツ
---------------------------------------------------------------------------*/
#container {
}

#breadcrumb {
  width: 1000px;
  text-align: left;
  font-size: 12px;
  padding-top: 10px;
  padding-bottom: 10px;
}

#main {
  width: 1000px;
  padding-top: 0px;
  position: relative;
  background: url(../images/common/bg_main.gif) top left repeat-y;
}

.one-column #main {
  width: 898px;
  background: #FFF;
  -moz-box-shadow: 1px 1px 10px #999;
  -webkit-box-shadow: px 1px 10px #999;
  box-shadow: 1px 1px 10px #999;
  border-left: 1px solid #CCC;
  border-right: 1px solid #CCC;
  text-align: center;
}

#main #primary {
  width: 200px;
  float: left;
  height: 100%;
  padding-bottom: 20px;
  position: relative;
  background: url(../images/common/bg_primary.gif) top left no-repeat;
}

.one-column #primary {
  display: none;
}

#main #primary #adobe {
  font-size: 10px;
  margin: 10px 10px;
  line-height: 14px;
}

#main #primary div.banner {
  margin: 10px 10px;
  position: relative;
}

#main #primary div.banner .banner_link {
  position: absolute;
  margin-top: -40px;
  margin-left: 5px;
}

#main #secondary {
  float: right;
  width: 785px;
  background: none;
  overflow: hidden;
}

.one-column #main #secondary {
  float: none;
  /*margin-left: 57px;*/
  min-height: 300px;
  display: block;
  margin:inherit auto;
  padding-bottom: 20px;
  /*float: right;*/
  width: 783px;
  
  background: none;
}

/* フッター
---------------------------------------------------------------------------*/
#foot-base {
  width: 100%;
  min-width: 1000px;
  overflow: hidden;
  background: #0092D8 url(../images/common/bg_footer.png) top left repeat-x;
}

.one-column #foot-base {
  width: 900px;
  background: none;
}
#footer {
  color: #FFF;
  font-size: 12px; 
}
.one-column #footer {
  width: 900px;
}

#mastfooter {
  width: 1000px;
  padding-top: 4px;
}

#mastfooter div#primary, 
#mastfooter div#secondary,
#mastfooter div#third,
#mastfooter div#fourth
{
  float: left;
  display: inline-block;
  border-left: 2px groove #AAA; 
  height: 240px;
}

#mastfooter div#primary div {
  margin: 0 0 ;
  
}

#mastfooter div#secondary div,
#mastfooter div#third div,
#mastfooter div#fourth div
{
  margin: 12px 8px 10px 8px;
}

#mastfooter div#fourth {
  border-right: 2px groove #AAA; 
}

#mastfooter #primary {
  width: 198px;
}

#mastfooter #secondary {
  width: 264px;
}

#mastfooter #third {
  width: 264px;
}

#mastfooter #fourth {
  width: 262px;
}

#mastfooter ul.links {
  display: block;
}

#mastfooter ul.links li {
  background: url(../images/common/bg_links_item.png) 0px 8px no-repeat;
  padding-left: 10px;
  display: block;
  float: none;
}

#mastfooter ul.links a {
  color: #FFF;
  text-decoration: none;
  font-size: 12px;
  line-height: 1.8em;
  height: 20px;
}

#siteinfo {
  text-align: center;
  background: url(../images/common/bg_siteinfo.png) top left repeat-x;
  height: 20px;
  color: #FFF;
  font-size: 10px;
  line-height:20px;
}

#pagetop {
  cursor: pointer;
  width: 148px;
  height: 23px;
  background: #FFF url(../images/common/pagetop.gif) top left no-repeat;
  float: right;
  margin: 15px 10px 30px 10px;
}


/* ヘッディング
---------------------------------------------------------------------------*/
h1 {
  margin: 0px 0px 20px 0px;
}

h2.type01 {
  width: 782px;
  height: 40px;
  background: url(../images/common/bg_head01.png) top left no-repeat;
  z-index: 1000;  
  position: relative;
  -moz-box-shadow: 0px 1px 3px #333;
  -webkit-box-shadow: 0px 1px 3px #333;
  box-shadow: 0px 1px 3px #333;
  margin-top: 10px;
}

h2.type01 img {
  margin-top: 4px;
  margin-left: 8px;
}

h2.type01 span {
  position: absolute;
  left: 12px;
  top: 10px;
  font-size: 16px;
  font-weight:600;
  color: #FFF;
  text-shadow: -1px -1px 2px #333;
}

h2.type02 img {
  margin-top: 9px;
  margin-left: 10px;
}

h2.type02 {
  width: 382px;
  height: 40px;
  background: url(../images/common/bg_head02.png) top left no-repeat;
  z-index: 1000;  
  position: relative;
  -moz-box-shadow: 0px 1px 3px #333;
  -webkit-box-shadow: 0px 1px 3px #333;
  box-shadow: 0px 1px 3px #333;
  margin-top: 10px;
}

h2.type02 .list-button {
  float: right;
  margin-top: 2px;
  margin-right: 10px;
}

h2.type02 span {
  font-size: 16px;
  padding-left: 12px;
  line-height: 44px;
  font-weight:600;
  color: #FFF;
  text-shadow: -1px -1px 2px #333;
}

h3.type01 {
  width: 388px;
  height: 30px;
  background: #DDDDDD url(../images/common/bg_head03.png) top left repeat-x;
  border: 1px solid #BBC9CE;
}

h3.type01 span {
  font-size: 15px;
  line-height: 30px;
  color: #4B85AF;
  text-shadow: -1px -1px 2px #FFF;
  padding-left: 35px;
}

h2.type03 {
  width: 100%;
  height: 35px;
  background: #FFF url(../images/common/bg_head04.png) top left no-repeat;
  -moz-box-shadow: 0px 1px 3px #333;
  -webkit-box-shadow: 0px 1px 3px #333;
  box-shadow: 0px 1px 3px #333;
  margin-top: 10px;
  position: relative;
}

h2.type03 span {
  position: absolute;
  left: 15px;
  top: 9px;
  font-size: 15px;
  color: #0164AE;
  text-shadow: -1px -1px 1px #FFF;
}

h2.type04 {
  width: 785px;
  height: 53px;
  vertical-align: middle;
  background: #FFF url(../images/common/bg_head07.png) top left repeat;
  -moz-box-shadow: 0px 1px 5px #DDD;
  -webkit-box-shadow: 0px 1px 5px #DDD;
  box-shadow: 0px 1px 5px #DDD;
  margin-top: 10px;
}

h2.type04 span {
  margin: auto;
  padding-left: 30px;
  font-size: 18px;
  line-height: 55px;
  color: #0164AE;
  text-shadow: -1px -1px 1px #FFF;
}

h3.type03 {
  width: 740px;
  height: 30px;
  background: #FFF url(../images/common/bg_head08.png) top left repeat;
  text-align: center;
  vertical-align: middle;
}

h3.type03 img {
  margin: 3px auto;
}

h4.type01 {
  width: 785px;
  height: 30px;
  margin-top: 20px;
  background: #FFF url(../images/common/bg_head05.png) top left repeat;
}

h4.type01 span {
  padding-left: 35px;
  font-size: 15px;
  color: #4B85AF;
  line-height: 32px;
  text-shadow: -1px -1px 1px #FFF;
}


h4.type02 {
  width: 700px;
  height: 30px;
  background: #FFF url(../images/common/bg_head06.png) top left repeat;
}

h4.type02 span {
  padding-left: 35px;
  font-size: 15px;
  color: #0164AE;
  line-height: 32px;
  text-shadow: -1px -1px 1px #FFF;
}

/* テーブル
---------------------------------------------------------------------------*/
td.alignr, th.alignr {
  text-align: right;
}
td.alignc, th.alignc {
  text-align: center;
}
td.alignl, th.alignl {
  text-align: left;
}

table.type03 {
  border-spacing: 1px;
  background: #BBC9CE;
  width: 100%;
}

table.type03 caption {
  border-top: 1px solid #BBC9CE;
  border-left: 1px solid #BBC9CE;
  border-right: 1px solid #BBC9CE;
  color: #666;
  text-shadow: 2px -1px 1px white;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
  vertical-align: middle;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #CFEBF8;
  background: -webkit-gradient(linear, top, bottom, from(#EAF9FF), to(#CFEBF8));
  background: -webkit-linear-gradient(top, #EAF9FF, #CFEBF8);
  background: -moz-linear-gradient(top, #EAF9FF, #CFEBF8);
  background: -ms-linear-gradient(top, #EAF9FF, #CFEBF8);
  background: -o-linear-gradient(top, #EAF9FF, #CFEBF8);
}

table.type03 th,
table.type03 td
{
  font-size: 12px;
  vertical-align: middle;
  padding: 5px 5px 5px 5px;
}

table.type03 th.caption {
  color: #666;
  text-shadow: 2px -1px 1px white;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #CFEBF8;
  background: -webkit-gradient(linear, top, bottom, from(#EAF9FF), to(#CFEBF8));
  background: -webkit-linear-gradient(top, #EAF9FF, #CFEBF8);
  background: -moz-linear-gradient(top, #EAF9FF, #CFEBF8);
  background: -ms-linear-gradient(top, #EAF9FF, #CFEBF8);
  background: -o-linear-gradient(top, #EAF9FF, #CFEBF8);
}
table.type03 .summary {
  font-weight: bold;
  text-align: center;
  background: #FFFFC0;
}
table.type03 th {
  background: #F0F3F4;
  font-weight: bold;
  text-align: center;
}

table.type03 th.alignl {
  text-align: left;
}

table.type03 td {
  background: #FFFFFF;
  font-weight: normal;
  text-align: left;;
}

table.type03 td.subhead {
  background: #F7F9F9;
}

table.type03 td.subhead1  {
  background: #F7F9F9;
  text-align: center;
}

table.type03 td.alignr  {
  text-align: right;
}

table.type03 td.alignc  {
  text-align: center;
}

table.type04 td, table.type04 th {
  padding: 1px 1px 1px 1px;
}
/* フォーム
---------------------------------------------------------------------------*/
span.require {
  color: red;
  font-weight: bold;
  font-size: 12px;
}

p.error {
  /*border: 1px solid #FF0000;*/
  /*background: #FFC0C0; */
  color: #FF0000;
  font-weight: bold;
  padding: 5px 10px 5px 10px;
  line-height: 20px;
  font-size: 12px;
}

span.comment {
  font-size: 11px;
  font-weight: normal;
}


/* リスト
---------------------------------------------------------------------------*/
ul.info-list01 {
  display: block;
  margin: 0px 0px 10px 0px;
  padding-top: 15px;
/*  font-family:"ＭＳ Ｐゴシック", "MS P-Gothic", "Osaka－等幅", Osaka-mono, monospace */
}

ul.info-list01 li {
  display: block;
  float:none;
  font-size: 14px;
  text-align: left;
  padding-left: 10px;
  padding-right: 10px;
  line-height: 24px;
}

ul.info-list01 li div.content {
  display:inline-block;
  padding-left: 10px;
  background: url(../images/common/bg_info_item.gif) 0px 8px no-repeat;
}

ul.normal-list {
  margin-top: 10px;
  margin-bottom: 10px;
}

ul.normal-list li {
  margin-left:30px;
  display: list-item;
  list-style: disc;
}

ol.number-list {
  display:block;
  list-style-type: decimal;
}
ol.number-list li {
  display: list-item;
  margin: 15px 5px 5px 15px;
  list-style: decimal;
}

ol.blue {
  color: #0164AE;
}

dt, dd {
  display: inline-block;
}
dt {
  float: left;
}


/* 一般設定
---------------------------------------------------------------------------*/
.clearfix {clear: both; }

.whiteback {
  background: #FFF url(../images/common/bg_white.png) repeat;
  border: 1px solid #CCC;
}

.mag01 {
  margin-top: 15px;
  margin-bottom: 15px;
}

.mag02 {
  margin: 20px 10px 10px 10px;
}

.mag03 {
  margin: 3px 2px;
}

.mag04 {
  margin-top: 10px;
  
}

.mag05 {
  margin: 10px 10px;
}

.pad01 {
  padding: 5px 50px 5px 50px;
}

.pad02 {
  padding: 10px 5px 10px 20px;
}

.pad03 {
  padding: 0 5px 0 30px;
}

.pad04 {
  padding: 7px 5px 7px 40px;
}
.text01 {
  font-size: 12px;
  line-height: 18px;
}

.text02 {
  font-size: 16px;
  font-weight: bold;
  line-height: 40px;
}

.text03 {
  font-size: 10px;
  line-height: 15px;
  white-space: nowrap;
}

.text04 {
  font-size: 15px;
  line-height: 21px;
}

.text05 {
  font-size:16px;
  line-height: 28px;
  font-weight: bold;
}

.text06 {
  font-size:14px;
  line-height: 26px;
  font-weight: bold;
}

.text07 {
  font-size: 12px;
  font-weight: bold;
}

.text08 {
  font-size: 12px;
  line-height: 34px;
}

.text09 {
  font-size: 12px;
  line-height: 34px;
  color: #0164AE;
  font-weight: bold;
  
}

.text10 {
  font-size:14px;
  line-height: 26px;
}

.text11 {
  font-size:15px;
  line-height: 28px;
}

.text12 {
  font-size: 28px;
  font-weight: bold;
}

.text13 {
  color: #0164AE;
  font-weight: bold;
  font-size:14px;
}

.alignc {
  text-align: center;
}

.alignr {
  text-align: right;
}

.alignl {
  text-align: lef;
}
.align_l{
  text-align : left;
}
.align_c{
  text-align : center;
}
.align_r{
  text-align : right;
}
.marg5{
  margin-top : -20px;
  margin-left : 5px;
  margin-right : 5px;
  margin-bottom : 5px;
  padding-bottom : 15px;
}

img.frame01 {
  border: 2px solid #FFFFFF;
}

img.frame02 {
  border: 5px solid #EEEEEE;
}
div.space {
  background: url(../images/common/dot.gif) repeat-x;
}

/* その他共同利用
------------------------------------------------------*/
.links-group {
  margin: 0px 25px 0px 25px;
  padding: 10px 0px 5px 0px;
  position: relative;
  -moz-box-shadow: 1px 1px 10px #999999;
  -webkit-box-shadow: 1px 1px 10px #999999;
  box-shadow: 1px 1px 10px #999999;
  text-align: center;
  vertical-align: middle; 
  border: 1px solid #CCC;
  padding-left: 80px;
}

.links-group ul {
}
.links-group ul li {
  padding: 2px 5px 2px 5px;
  float: left;
}

.board {
  border: 1px solid #CCC;
  -moz-box-shadow: 1px 1px 10px #999999;
  -webkit-box-shadow: 1px 1px 10px #999999;
  box-shadow: 1px 1px 10px #999999;
  padding: 20px 20px 20px 20px;
  font-size: 13px;
  line-height: 1.5em;
  
}

.notice {
  border: 1px solid #FFCC66;
  margin: 5px 5px 5px 5px;
  padding: 5px 10px 5px 10px;
  background: #FFFFCC;
  font-size: 13px;
}