@charset "utf-8";

/* Reset CSS 2.0 -------------------------------
------------------------------------------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
  vertical-align: bottom;
}


/* basic style ---------------------------------
------------------------------------------------ */

/* 01. base ----- */
body {
	font-size: 13px;
  font-family: "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro," メイリオ", Meiryo, Osaka," ＭＳ Ｐゴシック", MS PGothic," sans-serif";
	color: #333;
	line-height: 1.6;
  background: #fff;
	-webkit-text-size-adjust: 100%;
  text-align: center;
}

a:link {
  color: #004ea2;
	text-decoration: none;
  -webkit-tap-highlight-color: #002f61;
}
a:visited {
  color: #004ea2;
	text-decoration: none;
}
a:hover {
  color: #002f61;
	text-decoration: underline;
  outline: none;
}
a:active {
	color: #002f61;
  outline: none;
}
::-moz-selection {
  background: #284b61;
  color:#fff;
  text-shadow: none;
}
::selection {
  background:#284b61;
  color:#fff;
  text-shadow: none;
}
a img {
  -webkit-transition: all  0.5s ease;
  -moz-transition: all  0.5s ease;
  -o-transition: all  0.5s ease;
  transition: all  0.5s ease;
}
a:hover img {
  opacity: 0.7;
  -moz-opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

sup {
  font-size: 60%;
  vertical-align: text-top;
}

/* clearfix */
.clearfix:before,
.clearfix:after { 
  content: "\0020";
  display: block;
  height: 0;
  visibility: hidden;
} 
.clearfix:after {
  clear: both;
}
.clearfix {
  zoom: 1;
}

/* 02. base layout ----- */
#body {
  border-top:5px solid #165a8e;
  background: url(../images/bg_body.jpg) no-repeat center top #fff;
  background-size:100% auto;
  min-width: 1000px;
  min-height: calc(100vh - 5px);
}
#wrapper {
  min-width: 1000px;
  min-height: calc(100vh - 5px);
  background: url(../images/bg_wrapper.png) repeat center center;
}
#container {
  width: 1000px;
  min-height: calc(100vh - 5px);
  margin: 0 auto;
  background: url(../images/bg_side.png) repeat-y left top;
}
#container:before,
#container:after { 
  content: "\0020";
  display: block;
  height: 0;
  visibility: hidden;
} 
#container:after {
  clear: both;
}
#container {
  zoom: 1;
}

/* side */
#side {
  width: 240px;
  float: left;
  color: #fff;
}
#side h1 {
  width: 240px;
  height: 145px;
  margin: -5px 0 0 0;
  background: url(../images/bg_id.jpg) no-repeat center center;
  border-bottom: 5px solid #dcedf7;
}
#side h1 a {
  display: block;
  padding: 30px 20px 35px 20px;
}
#side h1 a img {
  display: block;
}

/* gNav */
#gNav {
  padding: 0 5px;
  text-align: left;
}
#gNav li {
  padding: 5px 0;
  font-size: 15px;
  border-bottom: 1px solid #b9d0da;
}
#gNav a {
  color: #fff;
}
#gNav li a {
  display: block;
  padding: 8px 25px 8px 15px;
  background: url(../images/ico_gnav.png) no-repeat right center;
  -webkit-transition: all  0.5s ease;
  -moz-transition: all  0.5s ease;
  -o-transition: all  0.5s ease;
  transition: all  0.5s ease;
}
#gNav li a.cr {
  background: #165a8e;
}
#gNav li a:hover {
  background-color: #165a8e;
  text-decoration: none;
}
#gNav li ul {
  padding-left: 15px;
}
#gNav li li {
  font-size: 14px;
}
#gNav li li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
#gNav li li a {
  background: url(../images/ico_gnav_s.png) no-repeat 5px center;
  padding: 5px 15px 5px 25px;
}
#gNav li a.cr + ul li a {
  background: url(../images/ico_gnav_s_down.png) no-repeat 5px center;
}
#gNav li li a:hover,
#gNav li a.cr + ul li a:hover {
  background-color: #165a8e;
}
#sideAddress {
  padding: 50px 10px;
  color: #fff;
}
#sideAddress h2 {
  padding-bottom: 8px;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: bold;
  border-bottom: 1px solid #b9d0da;
}
#sideAddress p {
  padding-left: 15px;
  font-size: 12px;
  text-align: left;
}

/* mainContents */
#mainContents {
  width: 720px;
  padding-top: 35px;
  float: right;
  text-align: left;
}
.section {
  padding: 40px 0 20px;
}
.section:before,
.section:after { 
  content: "\0020";
  display: block;
  height: 0;
  visibility: hidden;
} 
.section:after {
  clear: both;
}
.section {
  zoom: 1;
}

/* breadCrumb */
#breadCrumb {
  margin-top: -10px;
  padding: 0 0 20px;
  text-align: right;
}
#breadCrumb li {
  display: inline-block;
  margin-right: 5px;
  font-size: 12px;
  vertical-align: middle;
  *display: inline;
  *zoom: 1;
}
#breadCrumb li a {
  text-decoration: underline;
}
#breadCrumb li a:hover {
  text-decoration: none;
}
#breadCrumb li .sep {
  margin-left: 5px;
}

/* footerBnr */
.footerBnr {
  padding-top: 27px;
  margin-top: 60px;
  border-top: 3px double #aaa;
}
.footerBnr .footerContact {
  float: left;
  width: 459px;
  border-right: 1px solid #aaa;
}
.footerBnr .footerContact h2 {
  width: 240px;
  float: left;
}
.footerBnr .footerContact p {
  width: 190px;
  float: left;
}
.footerBnr .footerContact p.btn {
  padding-top: 10px;
}
.footerBnr .dlBnr {
  width: 230px;
  float: right;
}
.footerBnr:before,
.footerBnr:after { 
  content: "\0020";
  display: block;
  height: 0;
  visibility: hidden;
} 
.footerBnr:after {
  clear: both;
}
.footerBnr {
  zoom: 1;
}

/* footer */
#footer {
  margin: 0 auto;
  padding: 80px 0 50px 0;
  text-align: center;
}
#footer p#copyright {
  padding-top: 35px;
  font-size: 11px;
  color: #999;
  text-align: center;
  border-top: 5px solid #165a8e;
  letter-spacing: 0.05em;
}

/* pagetop */
#pagetop {
  margin: 0 auto;
  text-align: right;
}

/* 03. decoration ----- */
/* 見出し */
.pageTtl {
  font-size: 30px;
  font-weight: normal;
  color: #165a8e;
  border-bottom: 5px double #165a8e;
}
.pageTtl:first-letter {
  font-size: 45px;
  font-weight: normal;
}

.secTtl {
  padding: 0 0 0 30px;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
  background: url(../images/ico_circle.png) no-repeat left .35em;
}

/* リスト */
.threeList {
  margin-left: -15px;
}
.threeList li {
  width: 230px;
  float: left;
  margin: 15px 0 0 15px;
}

/* 空き調整 */
.mr0 {margin-right:0!important;}
.mb1em {margin-bottom:1em!important;}
.mb20 {margin-bottom:20px!important;}
.mb30 {margin-bottom:30px!important;}
.pb30 {padding-bottom:30px!important;}
.pb40 {padding-bottom:40px!important;}

/* align */
.alc{text-align:center;}
.alr{text-align:right;}

/* placeholder */
:placeholder-shown { color: #999; }
::-webkit-input-placeholder { color: #999; }
:-moz-placeholder { color: #999; }
::-moz-placeholder { color: #999; }
:-ms-input-placeholder { color: #999; }