@charset "utf-8";

/*---------------------
  global reset
---------------------*/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,p,
pre,form,fieldset,input,textarea,table,th,td,img {
  margin: 0;
  padding: 0;
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
  }

h1,h2,h3,h4,h5,h6,th {
  font-size: 100%;
  font-style: normal;
  margin: 0;
  padding: 0;
  font-weight: normal;
  }

a   { border: none;}
img { border: none; vertical-align: top;}
th  { text-align: left;}
li  { list-style-type: none;}

/*---------------------
  fluid image
---------------------*/

  img {
    max-width: 100%;
  }

/*---------------------
  clearfix
---------------------*/

.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
  }

/*---------------------
  body
---------------------*/

html {
  overflow-y: scroll;
  }

body {
  color: #333;
  text-align: left;
  font: 14px/1.5 "メイリオ",Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  background: #010F29;
  }

a,
a:visited {
  color: #333;
  text-decoration: none;
  }

a:hover,
a:active {
  color: #1F4E79;
  text-decoration: underline;
  }

/*---------------------
  wrapper
---------------------*/

#wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  }

@media screen and (max-width: 1000px) {


}

/*---------------------
  header
---------------------*/

#top #header {
  margin: 0 0 35px;
  height: 185px;
  border: none;
  }

#header {
  position: relative;
  width: 100%;
  height: 108px;
  z-index: 100;
  border-bottom: 1px solid #1F4E79;
  background: #fff;
  }

#top #logo {
  position: static;
  margin: 0;
  padding: 40px 0 0;
  text-align: center;
  background: #fff;
  }

#logo {
  position: absolute;
  left: 50%;
  top: 30px;
  margin: 0 0 0 -440px;
  text-align: left;
  }

#top #logo span {
  margin: 0 auto;
  padding: 10px 0 0;
  clear: none;
  float: none;
  }

#logo span {
  clear: left;
  float: left;
  display: block;
  width: 246px;
  }

#logo span + span {
  clear: none;
  float: none;
  width: auto;
  padding: 26px 0 0 260px;
  }

@media screen and (max-width: 1000px) {

#top #header {
  height: 235px;
  }

#header {
  height: 286px;
  border-bottom: none;
  }

#logo {
  position: static;
  margin: 0;
  padding: 40px 0 0;
  }

#logo span {
  clear: none;
  float: none;
  width: auto;
  text-align: center;
  }

#logo span + span {
  padding: 10px 0 0;
  }

#logo a {
  display: block;
  width: 246px;
  margin: 0 auto;
  }

}

@media screen and (max-width: 640px) {

#top #header,
#header {
  height: auto;
  }

#top #header {
  margin: 0;
  }

#top #logo,
#logo {
  padding: 20px 0;
  }

}

/*---------------------
  nav
---------------------*/

/* TOP下層共通 */

#menubtn {
  display: none;
  }

#main-nav a:hover {
  background: #1F4E79;
  }

#main-nav a:hover img {
  margin: -50px 0 0;
  }

/* TOP */

#top #nav {
  position: absolute;
  top: 134px;
  left: 0;
  margin: 0;
  width: 100%;
  border-bottom: 1px solid #1F4E79;
  }

#top #main-nav {
  width: 960px;
  margin: 0 auto;
  overflow: hidden;
  }

#top #main-nav li {
  float: left;
  margin: 0;
  }

#top #main-nav a {
  padding: 0 38px;
  border: none;
  }

#top #main-nav li:last-child a:hover {
  background: #fff;
  }

#top #main-nav li:last-child {
  display: none;
  }

/* グローバルビジョングループ有りの場合 

#top #main-nav a {
  padding: 0 24px;
}

#top #main-nav li:last-child {
  display: block;
  }

*/

/* 下層 */

#nav {
  position: absolute;
  top: 109px;
  left: 50%;
  margin: 0 0 0 -480px;
  width: 180px;
  background: #fff;
  }

#main-nav li {
  margin: 1px 0 0;
  }

#main-nav li:first-child {
  margin: 0;
  }

#main-nav li:first-child a {
  border-top: none;
  }

#main-nav a {
  display: block;
  height: 50px;
  padding: 0 24px;
  text-align: center;
  overflow: hidden;
  border: 1px solid #1F4E79;
  background: #fff;
  }

@media screen and (min-width: 1001px) {

#top #nav.fixed {
  position: fixed;
  top: 0;
  box-shadow: 0 0 10px 0 rgba(0,0,0,.2);
  }

}

@media screen and (max-width: 1000px) {
/*
#top #nav.fixed {
  position: static!important;
  box-shadow: none;
  }
*/

#top #main-nav {
  width: auto;
  }

#main-nav li {
  float: left;
  margin: 0;
  width: 33.3%;
  }

#main-nav li a {
  border: none;
  }

#top #main-nav li:first-child a,
#top #main-nav li:nth-child(2) a,
#top #main-nav li:nth-child(3) a,
#main-nav li:first-child a,
#main-nav li:nth-child(2) a,
#main-nav li:nth-child(3) a,
#main-nav li:nth-child(4) a,
#main-nav li:nth-child(5) a,
#main-nav li:nth-child(6) a {
  border-bottom: 1px solid #1F4E79;
  }

#top #main-nav li:first-child a,
#top #main-nav li:nth-child(2) a,
#top #main-nav li:nth-child(4) a,
#top #main-nav li:nth-child(5) a,
#main-nav li:first-child a,
#main-nav li:nth-child(2) a,
#main-nav li:nth-child(4) a,
#main-nav li:nth-child(5) a,
#main-nav li:nth-child(7) a,
#main-nav li:nth-child(8) a {
  border-right: 1px solid #1F4E79;
  }

#top #main-nav a {
  padding: 0;
  }

#nav {
  position: absolute;
  top: 134px;
  left: 0;
  margin: 0;
  width: 100%;
  }

/* グローバルビジョングループ有りの場合 

#top #main-nav li {
  width: 25%;
}

#top #main-nav li:nth-child(4) a {
  border-right: none;
  border-bottom: 1px solid #1F4E79;
  }

#top #main-nav li:nth-child(3) a,
#top #main-nav li:nth-child(6) a,
#top #main-nav li:nth-child(7) a {
  border-right: 1px solid #1F4E79;
  }

*/

}

@media screen and (max-width: 640px) {

#top #nav,
#nav {
  position: static;
  }

#top #nav {
  border-bottom: none;
  }

#menubtn {
  display: block;
  margin: 0 0 10px;
  padding: 10px 0 0 10px;
  width: 37px;
  }

#menubtn span {
  display: block;
  padding: 6px;
  text-align: center;
  cursor: pointer;
  background: #06243E;
  }

#main-nav {
  display: none;
  }

#top #main-nav li,
#main-nav li {
  float: none;
  width: auto;
  }

#top #main-nav a {
  border-bottom: 1px solid #1F4E79;
  }

#main-nav li:nth-child(7) a,
#main-nav li:nth-child(8) a,
#main-nav li:nth-child(9) a {
  border-bottom: 1px solid #1F4E79;
  }

#main-nav li:first-child a {
  border-top: 1px solid #1F4E79;
  }

#top #main-nav li:first-child a,
#top #main-nav li:nth-child(2) a,
#top #main-nav li:nth-child(4) a,
#top #main-nav li:nth-child(5) a,
#main-nav li:first-child a,
#main-nav li:nth-child(2) a,
#main-nav li:nth-child(4) a,
#main-nav li:nth-child(5) a,
#main-nav li:nth-child(7) a,
#main-nav li:nth-child(8) a {
  border-right: none;
  }

#top #main-nav li:first-child a {
  border-top: 1px solid #1F4E79;
  }

/* グローバルビジョングループ有りの場合 

#top #main-nav li:nth-child(3) a,
#top #main-nav li:nth-child(6) a,
#top #main-nav li:nth-child(7) a {
  border-right: none;
  }

*/

}

/*---------------------
  contents
---------------------*/

#top #contents {
  margin: 35px auto 0;
  }

#contents {
  width: 960px;
  margin: 0 auto;
  }

@media screen and (max-width: 1000px) {

#top #contents {
  margin: 35px 0 -5px;
  }

#contents {
  width: auto;
  }

}

@media screen and (max-width: 640px) {

#top #contents {
  margin: 10px 0 -5px;
  }

}

/*---------------------
  main
---------------------*/

#top #main {
  float: none;
  padding: 50px;
  width: auto;
  }

#main {
  float: right;
  width: 780px;
  min-height: 926px;
  background: #fff;
  }

#top .common-h2 {
  padding: 0 0 15px;
  border-bottom: 1px solid #1F4E79;
  background: none;
  }

.common-h2 {
  margin: 0 0 25px;
  padding: 8px 10px 5px;
  font-size: 34px;
  color: #fff;
  line-height: 1.1;
  background: #06243E;
  }

.link {
  padding: 0 0 0 1em;
  background: url(../img/base/more.png) no-repeat 0 5px;
  }

.unit {
  margin: 0 0 40px;
  padding: 0 20px;
  }

@media screen and (max-width: 1000px) {

#top #main {
  padding: 30px 20px;
  }

#main {
  float: none;
  margin: 0 10px;
  padding: 0 20px 30px;
  width: auto;
  min-height: 0;
  }

#page-title {
  margin: 10px -20px 0;
  text-align: center;
  }

#top .common-h2 {
  margin: 0 0 25px;
  }

.common-h2 {
  margin: 0 -20px 25px;
  padding: 8px 10px 5px;
  }

.unit {
  padding: 0;
  }

}

@media screen and (max-width: 640px) {

.common-h2 {
  font-size: 24px;
  }

.fig-img.fr_ml,
.fig-img.fl_mr {
  float: none;
  margin: 0 0 15px;
  text-align: center;
  }

}

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

#side {
  position: relative;
  float: left;
  margin: 474px 0 0;
  width: 180px;
  }

.fix_box {
  width: 180px;
  }

#side #main-nav {
  background: #fff;
  }

/* ご利用ガイド（トップ・下層共通）*/

#top #guide-nav {
  margin: 0 -31px 0 0;
  }

#top #guide-nav li {
  float: left;
  display: block;
  margin: 0;
  width: 33.3%;
  }

#guide-nav {
  margin: 0 0 0 1px;
  }

#guide-nav li {
  margin: 10px 0 0;
  width: auto;
  }

#top #guide-nav a {
  display: block;
  margin: 0 31px 0 0;
  }

#top #guide-nav img {
  width: auto;
  }

#guide-nav img {
  width: 170px;
  }

/* グローバルビジョングループ（一時隠し） */

#global { display: none;}

#global a {
  display: block;
  height: 50px;
  padding: 0 24px;
  text-align: center;
  overflow: hidden;
  background: #fff;
  }

#global img { width: 122px;}

@media screen and (max-width: 1000px) {

#side {
  float: none;
  margin: 10px 10px 0;
  width: auto;
}

#top #guide-nav {
  margin: 0;
  }

#top #guide-nav li {
  width: 31.06%;
  }

#top #guide-nav li,
#guide-nav li {
  margin: 0;
  }

#guide-nav li {
  width: 32.6%;
  }

#top #guide-nav li:nth-child(1),
#top #guide-nav li:nth-child(2) {
  margin: 0 3.4% 0 0;
  }

#guide-nav li:nth-child(1),
#guide-nav li:nth-child(2) {
  margin: 0 1.1% 0 0;
  }

#top #guide-nav a {
  margin: 0;
  }

#guide-nav img {
  width: auto;
  }



#top #guide-nav {
  letter-spacing: normal;
  }

#top #guide-nav li {
  display: block;
  }

#guide-nav {
  letter-spacing: -.40em;
  text-align: center;
  }

#guide-nav li {
  display: inline-block;
  letter-spacing: normal;
  max-width: 266px;
  }




/*グローバルビジョングループ有りの場合
#global {
  margin: 20px auto 0;
  max-width: 266px;
  width: 31.06%;
  }
*/

}

@media screen and (max-width: 640px) {

#top #guide-nav li,
#guide-nav li {
  width: auto;
}

#top #guide-nav li {
  float: none;
  }

#guide-nav {
  letter-spacing: normal;
  }

#guide-nav li {
  display: block;
  max-width: none;
  }

#top #guide-nav li:nth-child(1),
#top #guide-nav li:nth-child(2),
#guide-nav li:nth-child(1),
#guide-nav li:nth-child(2) {
  margin: 0 0 10px;
  }

#top #guide-nav a,
#guide-nav a {
  margin: 0 auto;
  max-width: 266px;
  }

/*グローバルビジョングループ有りの場合
#global {
  width: auto;
  }
*/

}

/*---------------------
  footer
---------------------*/

#footer {
  position: relative;
  width: 960px;
  margin: 0 auto;
  padding: 15px 0 0;
  color: #666;
  }

#footer h2 {
  padding: 30px 0 15px 50px;
  }

#footer h2 span {
  display: block;
  clear: left;
  float: left;
  width: 160px;
  }

#footer h2 span + span {
  clear: none;
  float: none;
  padding: 17px 0 0 178px;
  width: auto;
  }

/* 住所・電話番号 */

#footer-info {
  padding: 0 0 20px 50px;
  }

#footer-info dt {
  float: left;
  clear: left;
  }

#footer-info dt:after {
  content: "：";
  }

#footer-info dd {
  margin: 0 0 5px;
  }

/* フッターナビ */

#footer-nav {
  position: absolute;
  top: 30px;
  right: 0;
  width: 270px;
  }

#footer-nav li {
  width: 135px;
  height: 25px;
  }

#footer-nav li:hover {
  position: relative;
  z-index: 1;
  }

#footer-nav li:nth-child(5) {
  margin: -100px 0 0 135px;
  }
#footer-nav li:nth-child(6),
#footer-nav li:nth-child(7),
#footer-nav li:nth-child(8),
#footer-nav li:nth-child(9) {
  margin: 0 0 0 135px;
  }

#footer-nav a {
  color: #666;
  }

#footer-nav a:hover {
  color: #1F4E79;
  }

/* コピーライト */

#copy {
  padding: 14px 0 10px;
  text-align: center;
  background: url(../img/base/footer.png) no-repeat top;
  }

#copy small {
  color: #aaa;
  font-size: 14px;
  }

/* ページトップ */

#pagetop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  height: 0;
  opacity: 0;
  overflow: hidden;
  }

#pagetop.scroll {
  height: 60px;
  opacity: 1;
  overflow: visible;
  }

#pagetop a {
  display: block;
  width: 60px;
  height: 60px;
  background: rgba(31,78,121,.8);
  box-shadow: 0 0 6px 0 rgba(0,0,0,.4);
  overflow: hidden;
  }

#pagetop a:hover {
  background: rgba(31,78,121,1);
  }

@media screen and (max-width: 1000px) {

#top #footer {
  padding: 15px 0 0;
  }

#footer {
  padding: 10px 0 0;
  width: auto;
  }

#footer h2 {
  padding: 30px 0 15px;
  text-align: center;
  }

#footer h2 span {
  clear: none;
  float: none;
  width: auto;
  }

#footer h2 span + span {
  padding: 10px 0 0;
  }

/* 住所・電話番号 */

#footer-info {
  padding: 0 20px 20px;
  letter-spacing: -.40em;
  text-align: center;
  }

#footer-info dl {
  display: inline-block;
  letter-spacing: normal;
  text-align: left;
  }

#footer-info dt {
  display: none;
  }

#footer-info dd:nth-child(2) {
  position: relative;
  padding: 0 0 0 5em;
  }

#footer-info dd:nth-child(2):before {
  content: "Address：";
  position: absolute;
  left: 0;
  top: 0;
  }

#footer-info dd:nth-child(4):before {
  content: "TEL：";
  }

/* フッターナビ */

#footer-nav {
  position: static;
  margin: 0 auto 14px;
  padding: 0 0 0 40px;
  }

#copy {
  background-size: contain;
  }

/* ページトップ */

#pagetop {
  position: static;
  height: auto;
  opacity: 1;
  }

#pagetop a {
  width: auto;
  text-align: center;
  }

}

@media screen and (max-width: 640px) {

#footer-info dd span {
  display: block;
  }

#copy span {
  display: none;
  }

}

/*---------------------
  print
---------------------*/

@media print {

  html,
  body{
    background: none;
  }

}