@charset "utf-8";


/* ---------------------------
 MainContents
--------------------------- */
#main { 
 margin: 0 10px;
 min-height: calc(100% - 54px);
 border-radius: 5px; background: #fff;
}
#contents {
 margin: 0 40px; padding: 40px 0 0 0;
 min-height: 100%;
 text-align: left; line-height: 1.6;
 font-size: 95%;
}
#contents p { margin: 5px 0; }


/* Head ---------- */
#main h1 {
 margin: 0; padding: 8px 0 12px 20px;
 min-height: 70px;
 background: transparent url(/img/head/h1_bg.gif) no-repeat 1px 8px;
}
#main h1 img { width: 320px; }
#contents h2 { 
 margin: 15px auto 20px auto; padding: 10px 20px 12px 20px;
 background: #fff url(/img/head/h2_ico.png) no-repeat left bottom;
 box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
 line-height: 1.4;
 font-size: 16px; font-weight: bold; color: #336600;
}
#contents h3 { 
 margin: 20px auto; padding: 8px 12px;
 border-top: 1px solid #EEE685; background-color: #FAFAD2; 
 line-height: 1.2;
 font-size: 14px; font-weight: bold;
}
#main h3 span.add { margin: 0 3px; font-size: 0.8em; font-weight: normal; color: #cc0033; }


/* ---------------------------
 Header
--------------------------- */
header {
 margin: 0 auto;
 height: 125px;
 background: transparent url(/img/common/bg_header.gif) no-repeat left top;
}
header p#logo { margin: 0; padding: 5px 0 0 5px; }

header #hRt { 
 width: 480px; height: 166px;
 padding: 20px 0 0 0;
 position: absolute; right: 1px; top: 0;
 background: transparent url(/img/common/header_right.png) no-repeat left top;
}
header #hCap {
 margin: 0; padding: 0 10px 0 0;
 width: 480px; height: 20px;
 position: absolute; right: 0; top: 0;
 text-align: right; line-height: 20px;
 font-size: 11px;
 overflow: hidden;
 z-index: 1001;
}

/* SP Style */
#hTit { display: none; }


/* headerNavi ---------- */
header ul#hNavi { 
 margin: 12px 0 0 90px;
 width: 370px; height: 110px;
 position: relative;
 background: url(/img/common/header_navi02.png) no-repeat left top; 
 vertical-align: top;
}
ul#hNavi li { 
 position: absolute;
 list-style-type: none;
}
ul#hNavi li a { display: block; text-indent: -5000px; overflow: hidden; }
#hNavi li,
ul#hNavi li a { 
 width: 180px; height: 34px; 
 background-image: url(/img/common/header_navi01.png);
 background-repeat: no-repeat;
}

ul#hNavi li#hn-info { left: 0px; top: 0px; }
ul#hNavi li#hn-info,
ul#hNavi li#hn-info a { background-position: left top; }

ul#hNavi li#hn-menu { left: 0px; top: 34px; }
ul#hNavi li#hn-menu,
ul#hNavi li#hn-menu a { background-position: left -34px; }

ul#hNavi li#hn-column { left: 0px; top: 68px; }
ul#hNavi li#hn-column,
ul#hNavi li#hn-column a { background-position: left -68px; }

ul#hNavi li#hn-contact { left: 190px; top: 34px; }
ul#hNavi li#hn-contact,
ul#hNavi li#hn-contact a { background-position: -190px -34px; }

ul#hNavi li#hn-intro { left: 190px; top: 68px; }
ul#hNavi li#hn-intro,
ul#hNavi li#hn-intro a { background-position: -190px -68px; }

ul#hNavi li#hn-home { left: 190px; top: 0px; }
ul#hNavi li#hn-home,
ul#hNavi li#hn-home a { 
 width: 77px; height: 30px;
 background-position: -190px top;
}
ul#hNavi li#hn-sitemap { left: 267px; top: 0px; }
ul#hNavi li#hn-sitemap,
ul#hNavi li#hn-sitemap a { 
 width: 92px; height: 30px;
 background-position: -267px top;
}

/* hover */
ul#hNavi li a:hover,
ul#hNavi li a.self { background-image: url(/img/common/header_navi02.png); }

body#library ul#hNavi li#hn-menu a,
body#column ul#hNavi li#hn-column a,
body#contact ul#hNavi li#hn-contact a { background-image: url(/img/common/header_navi02.png); }


/* ---------------------------
 Breadcrumbs
--------------------------- */
#bcs {
 margin: 0 10px;
 height: 30px;
 background: #fff url(/img/common/bg_bcs.gif) repeat-x left top;
 vertical-align: top; font-size: 12px;
}
#bcs ul { 
 padding: 0 5px 0 0;
 text-align: right;
}
#bcs li { display: inline; margin: 0; padding: 0 5px 0 18px; line-height: 2.5em;
 background:url(/img/common/arr_bcs01.gif) left; background-repeat: no-repeat; }
#bcs li a { text-decoration:underline; color: #990; }
#bcs li a:hover { text-decoration:none; color: #996; }

li#nbcs { display: inline; margin: 0; padding: 0 5px 0 18px; line-height: 2.5em;
 background:url(/img/common/arr_bcs02.gif) left; background-repeat: no-repeat; }
li#nbcs a { text-decoration:underline; color: #990; }
li#nbcs a:hover { text-decoration:none; color: #996; }


/* ---------------------------
 Footer
--------------------------- */
footer {
 height: 55px;
 background: url(/img/common/bg_footer_right.gif) no-repeat right top,
 url(/img/common/bg_footer.gif) no-repeat left top;
 text-align: left; font-size: 12px;
}

#fNavi {
 height: 25px; margin: 0 10px;
 text-align: right; font-size: 12px;
}
#fNavi ul { color: #333; text-align: right; }
#fNavi li {
 display: inline-block; box-sizing: content-box;
 padding: 0 5px 0 8px; line-height: 2.2em;
 background:url(/img/common/arr_footer01.gif) no-repeat left center;
}
#fNavi li a { text-decoration:none; color: #333; }
#fNavi li a:hover { text-decoration:none; color: #666; }
#fNavi li:first-child { background: none; }

footer #copyright { 
 height: 24px; margin: 0 auto; padding: 0; vertical-align: top;
 text-align: center; line-height: 2.2em; font-size: 12px; font-weight: normal; color: #333;
}


/* Bottom ---------- */
.pagetop { margin: 0; padding: 25px 0 15px 0; }
.pagetop a {
 display: block;
 margin: 0 0 0 calc(100% - 102px);
 width: 92px; height: 27px;
 text-indent: -5000px; overflow: hidden;
 background: url(/img/common/bt_up.png) no-repeat left top;
 font-size: 0.01;
}
.pagetop a:hover { background-position: left bottom; }