@charset "UTF-8";
/* ===============================================================================
 * frame
 * =============================================================================== */
#wrapper {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
}

.wide-wrap {
  width: 100%;
  min-width: 960px;
  margin: 0 auto;
}

.inner-wrap {
  width: 960px;
  margin: 0 auto;
}

#container {padding-bottom: 120px;}

#contents {
  margin-top: -12px;
  width: 960px;
  margin: 0 auto;
}
.index #contents {
  margin-top: 0;
  width: auto;
}

/* ===============================================================================
 * 汎用
 * =============================================================================== */
/* ClearFix */
.cf {zoom: 1;}

.cf:after {
  content: "";
  display: block;
  clear: both;
}

.display {display: block !important;}

.hide, .res-block {display: none !important;}

.fleft {float: left;}

.fright {float: right;}

.vtop {vertical-align: top !important;}

.vmiddle {vertical-align: middle !important;}

.vbtm {vertical-align: bottom !important;}

.fontS {
  font-size: 12px !important;
  font-size: 1.2rem !important;
}

.fontM {
  font-size: 14px !important;
  font-size: 1.4rem !important;
}

.fontL {
  font-size: 16px !important;
  font-size: 1.6rem !important;
}

.fontLL {
  font-size: 18px !important;
  font-size: 1.8rem !important;
}

.tleft {text-align: left !important;}

.tright {text-align: right !important;}

.tcenter {text-align: center !important;}

.bold {font-weight: bold !important;}

.clear {clear: both;}

hr.clear {
  width: 95%;
  height: 0;
  border: none;
  font-size: 0;
  line-height: 0;
}

.break {
  word-wrap: break-word;
  word-break: break-all;
}

a.alpha img:hover,
img.alpha:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
}

.ib {
  display: inline-block;
  vertical-align: top;
}

dl.ib {
  word-spacing: -1em;
  display: table;
}
dl.ib dt, dl.ib dd {
  display: inline-block;
  word-spacing: normal;
}

p.caution,
ul.caution li {
  padding-left: 1em;
  text-indent: -1em;
}

ul.caution.dot li {
  *padding-left: 1em;
  *text-indent: -.6em;
}

.indent-block {
  margin-top: -10px;
  *zoom: 1;
}
.indent-block:after {
  content: "";
  display: block;
  clear: both;
}
.indent-block dt {
  clear: both;
  float: left;
  margin-right: 5px;
  padding-top: 10px;
  vertical-align: top;
}
.indent-block dd {
  overflow: hidden;
  padding: 10px 10px 0 10px !important;
  vertical-align: top;
}

a.blank:after {
  content: url("../images/icon_blank_blu.png");
  margin-left: 5px;
}
a.blank.no-icon:after {
  content: "";
  margin-left: 0;
}

.utility-nav {letter-spacing: -.4em;}
.utility-nav li {
  display: inline-block;
  letter-spacing: normal;
}

.col-BLU {color: #101084;}

.col-RED {color: #c10000;}

.spt5 {margin-top: 5px !important;}

.spt10 {margin-top: 10px !important;}

.spt15 {margin-top: 15px !important;}

.spt20 {margin-top: 20px !important;}

.spt25 {margin-top: 25px !important;}

.spt30 {margin-top: 30px !important;}

.spt35 {margin-top: 35px !important;}

.spt40 {margin-top: 40px !important;}

.spt45 {margin-top: 45px !important;}

.spt50 {margin-top: 50px !important;}

.spt55 {margin-top: 55px !important;}

.spt60 {margin-top: 60px !important;}

.spw5 {
  margin-left: 5px !important;
  margin-right: 5px !important;
}

.sppt5 {padding-top: 5px !important;}

.sppt20 {padding-top: 30px !important;}

.sppt15 {padding-top: 15px !important;}

.sppt20 {padding-top: 20px !important;}

.sppt25 {padding-top: 25px !important;}

.sppt30 {padding-top: 30px !important;}

/* ===============================================================================
 * header
 * =============================================================================== */
#header-area .inner-wrap {
  position: relative;
  height: 87px;
}
#header-area .site-name {
  position: absolute;
  top: 29px;
  left: 0;
  width: 290px;
}
#header-area .ana {
  position: absolute;
  top: 30px;
  right: 0;
  width: 85px;
}
#header-area .utility-nav {
  position: absolute;
  top: 34px;
  right: 114px;
  text-align: right;
  width: 500px;
}
#header-area .utility-nav li {
  margin-left: 18px;
  font-size: 13px;
  font-size: 1.3rem;
}
#header-area .utility-nav li:before {
  content: "/";
  padding-right: 18px;
  color: #101084;
}
#header-area .utility-nav li:first-child:before {
  content: "";
  padding-right: 0;
}
#header-area .utility-nav li a,
#header-area .lang a {
  color: #101084;
  text-decoration: none;
}
#header-area .utility-nav li a:hover,
#header-area .lang a:hover {
  color: #4343b3;
  text-decoration: underline;
}
#header-area .utility-nav li a.stay {color: #b6b6b6;}
#header-area .utility-nav li a.stay:hover {
  color: #b6b6b6;
  text-decoration: none;
}
#header-area .lang {
  font-size: 12px;
  font-size: 1.3rem;
  position: absolute;
  top: 62px;
  right: 8px;
}
#header-area .lang a {
  padding-left: 8px;
  background: url(../images/ico_arrow.png) 0 50% no-repeat;
}
/* ===============================================================================
 * global-nav
 * =============================================================================== */
#global-nav-area {
  background: #101084 url(../images/nav_bg.png) repeat-x 0 0;
  height: 43px;
}
#global-nav-area .inner-wrap {background: #101084 url(../images/nav_bg.png) repeat-x 0 0;}

#global-nav {
  background: url(../images/gnav_bg.png) no-repeat 0 0;
  display: table;
  width: 960px;
  height: 43px;
}
#global-nav.nav-s-01 {background: url(../images/gnav_bg_home.png) no-repeat 0 0;}
#global-nav li {
  display: table-cell;
  vertical-align: middle;
  height: 43px;
  padding: 6px 0 7px;
  font-size: 13px;
}
#global-nav li#nav-01 {width: 151px;}
#global-nav li#nav-01 p {margin: 0 18px 0 22px;}
#global-nav li#nav-02 {width: 157px;}
#global-nav li#nav-02 p {margin: 0 12px 0 12px;}
#global-nav li#nav-03 {width: 160px;}
#global-nav li#nav-03 p {margin: 0 12px 0 16px;}
#global-nav li#nav-04 {width: 161px;}
#global-nav li#nav-04 p {margin: 0 12px 0 18px;}
#global-nav li#nav-05 {width: 159px;}
#global-nav li#nav-05 p {margin: 0 12px 0 18px;}
#global-nav li#nav-06 {width: 172px;}
#global-nav li#nav-06 p {margin: 0 22px 0 18px;}
#global-nav li a {
  display: block;
  text-align: center;
  line-height: 30px;
  color: #fff;
  text-decoration: none;
}
#global-nav li a.blank:after {
  content: url("../images/icon_blank_blu.png");
  margin-left: 5px;
}
#global-nav li:hover p {
  position: relative;
  z-index: 10;
  height: 30px;
  background: #0e0e52;
}
#global-nav li:hover p:before {
  content: '';
  width: 0px;
  height: 0px;
  top: 0px;
  position: absolute;
  border-bottom: 30px solid transparent;
  border-left: 10px solid #0e0e52;
  right: -10px;
}
#global-nav li:hover p:after {
  content: '';
  width: 0px;
  height: 0px;
  top: 0px;
  position: absolute;
  border-top: 30px solid transparent;
  border-right: 10px solid #0e0e52;
  left: -10px;
}
#global-nav li:hover a.blank:after {content: url("../images/icon_blank_wht.png");}
#global-nav li.stay p {
  position: relative;
  z-index: 10;
  height: 30px;
  background: #e8720a;
}
#global-nav li.stay p:before {
  content: '';
  width: 0px;
  height: 0px;
  top: 0px;
  position: absolute;
  border-bottom: 30px solid transparent;
  border-left: 10px solid #e8720a;
  right: -10px;
}
#global-nav li.stay p:after {
  content: '';
  width: 0px;
  height: 0px;
  top: 0px;
  position: absolute;
  border-top: 30px solid transparent;
  border-right: 10px solid #e8720a;
  left: -10px;
}
#global-nav li.stay a.blank:after {content: url("../images/icon_blank_wht.png");}

/* ===============================================================================
 * footer
 * =============================================================================== */
#footer-area {background: #232349;}
#footer-area .inner-wrap {
  background: #232349;
  padding: 20px 0 18px;
}
#footer-area .pagetop {
  font-size: 0;
  line-height: 0;
  width: 100%;
}
#footer-area .pagetop a {
  position: relative;
  float: right;
  display: block;
  width: 51px;
  height: 51px;
  margin-top: -60px;
  z-index: 100;
}
#footer-area .footer-logo {
  float: left;
  width: 230px;
  text-align: center;
  padding-top: 74px;
}
#footer-area .foot-nav {
  border-left: 1px solid #4f4f6d;
  width: 260px;
  height: 200px;
  padding-left: 38px;
}
#footer-area .foot-nav li {
  margin-top: 18px;
  line-height: 1.3;
}
#footer-area .foot-nav li a {color: #fff;}
#footer-area .foot-nav li a.blank:after {
  content: url("../images/icon_blank_wht.png");
  margin-left: 5px;
}
#footer-area .foot-nav li a.blank.no-icon:after {
  content: "";
  margin-left: 0;
}

#contentinfo-area {background: #000;}
#contentinfo-area .inner-wrap {
  padding: 14px 0;
  background: #000;
}
#contentinfo-area .copyright {
  float: left;
  font-size: 12px;
  font-size: 1.2rem;
  color: #969696;
  width: 300px;
}
#contentinfo-area .utility-nav {
  float: right;
  text-align: right;
  width: 600px;
}
#contentinfo-area .utility-nav li {
  font-size: 12px;
  font-size: 1.2rem;
}
#contentinfo-area .utility-nav li:after {
  content: "|";
  margin-left: 5px;
  padding-right: 5px;
  color: #969696;
}
#contentinfo-area .utility-nav a {color: #969696;}

/* ===============================================================================
  ----- 2nd
 * =============================================================================== */
#main-area .inner-wrap {
  position: relative;
  height: 240px;
}
#main-area .title {
  position: absolute;
  top: 68px;
  left: 0;
  width: 300px;
}

.ttl-contents {
  border-bottom: 3px solid #101084;
  margin-top: 80px;
  font-size: 0;
  line-height: 0;
  vertical-align: top;
  padding-bottom: 6px;
}

.table-def {
  border: 1px solid #c3c3c3;
  width: 100%;
}
.table-def th, .table-def td {
  border: 1px solid #c3c3c3;
  font-weight: normal;
  vertical-align: top;
  padding: 22px 20px;
}
.table-def th {
  background: #ecf3ff;
  text-align: center;
  width: 168px;
}
.table-def td {
  padding-left: 40px;
  padding-right: 15px;
}
.table-def td.BLU {background: #ecf3ff;}
.table-def.sppw10 th, .table-def.sppw10 td {padding: 22px 10px;}
.table-def.spp10 th, .table-def.spp10 td {padding: 10px 10px;}
