@charset "UTF-8";
/* initialize
------------------------------------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
}

html, body {
  height: 100%;
}

body {
  font-family: "Helvetica", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

ul, ol, dl {
  list-style-type: none;
}

img {
  border: none;
  font-size: 1px;
  line-height: 0;
  vertical-align: bottom;
}

table {
  border-collapse: collapse;
}

textarea {
  font-size: 100%;
}

br {
  letter-spacing: 0;
}

option {
  padding: 0 10px 0 0;
}

/* clearfix
------------------------------------------------------------------------------*/
#contents #main .tit:after,
.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/* clearfix ie
------------------------------------------------------------------------------*/
#contents #main .tit,
.clearfixr {
  *zoom: 1;
}

/* base
------------------------------------------------------------------------------*/
body {
  line-height: 1.8;
  letter-spacing: normal;
  font-size: 75%;
  color: #333;
}

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

a:hover {
  color: #0099CC;
  text-decoration: underline;
}

a.outside {
  color: #0099CC;
  text-decoration: underline;
}

/* page
------------------------------------------------------------------------------*/
#page {
  width: 100%;
  margin: 0 auto;
}

/* scrollContainer
------------------------------------------------------------------------------*/
#scrollContainer {
  width: 100%;
}

#scrollContainer #checkBlock,
#scrollContainer #topicBlock {
  display: none;
  width: 970px;
  margin: 0 auto;
  position: relative;
}

#scrollContainer li {
  float: left;
  padding: 20px 20px 20px 0;
}

#scrollContainer .close {
  position: absolute;
  right: 0;
  top: 20px;
}

#scrollContainer .noCheck {
  padding: 20px 0;
}

/* mainContainer
------------------------------------------------------------------------------*/
#mainContainer {
  width: 100%;
  background-repeat: no-repeat;
  background-position: center top;
}

#mainContainer.month1 {
  background-image: url(/images/common/bg/01.png);
}

#mainContainer.month2 {
  background-image: url(/images/common/bg/02.png);
}

#mainContainer.month3 {
  background-image: url(/images/common/bg/03.png);
}

#mainContainer.month4 {
  background-image: url(/images/common/bg/04.png);
}

#mainContainer.month5 {
  background-image: url(/images/common/bg/05.png);
}

#mainContainer.month6 {
  background-image: url(/images/common/bg/06.png);
}

#mainContainer.month7 {
  background-image: url(/images/common/bg/07.png);
}

#mainContainer.month8 {
  background-image: url(/images/common/bg/08.png);
}

#mainContainer.month9 {
  background-image: url(/images/common/bg/09.png);
}

#mainContainer.month10 {
  background-image: url(/images/common/bg/10.png);
}

#mainContainer.month11 {
  background-image: url(/images/common/bg/11.png);
}

#mainContainer.month12 {
  background-image: url(/images/common/bg/12.png);
}

/* header
------------------------------------------------------------------------------*/
/* hnavi*/
#hnaviWrap {
  width: 100%;
  margin-bottom: 31px;
  background-image: url(/images/common/hnavi_bg.png);
  background-repeat: repeat-x;
  background-position: 0 0;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
}

#hnavi {
  width: 970px;
  margin: 0 auto;
}

#hnavi .txt {
  overflow: hidden;
  float: left;
  width: 320px;
  height: 19px;
  padding: 4px 5px 4px 0;
  font-size: 109%;
}

#hnavi .links {
  float: right;
  font-size: 100%;
}

#hnavi .links li {
  float: left;
}

#hnavi .links li.merumaga {
  padding: 4px 10px 0;
  height: 25px;
  border-left: 1px solid #333333;
}

#hnavi .links li.merumaga a {
  padding-left: 20px;
  background-image: url(../images/common/hnavi_btn3.png);
  background-repeat: no-repeat;
  background-position: 0 1px;
}

#hnavi .links li.merumaga a:hover {
  background-image: url(../images/common/hnavi_btn3_on.png);
  background-repeat: no-repeat;
  background-position: 0 1px;
}


#hnavi .links li.gplus {
  padding: 4px 10px 0;
  height: 25px;
  border-left: 1px solid #333333;
}

#hnavi .links li.gplus a {
  padding-left: 20px;
  background-image: url(../images/common/gplogo-15.png);
  background-repeat: no-repeat;
  background-position: 0 0px;
}

#hnavi .links li.gplus a:hover {
  background-image: url(../images/common/gplogo_on-15.png);
  background-repeat: no-repeat;
  background-position: 0 0px;
}




#hnavi .links li.sitemap {
  padding: 4px 10px 0;
  height: 25px;
  border-left: 1px solid #333333;
}

#hnavi .links li.company {
  padding: 4px 10px 0 0;
  height: 25px;
}

#hnavi .links li.shop {
  padding: 4px 10px 0 0;
  height: 25px;
  border-right: 1px solid #333333;
}

/* headContents*/
#headContents {
  width: 970px;
  margin: 0 auto;
}

#headContents .block {
  width: 970px;
  padding: 8px 0 27px;
}

#headContents #logo {
  float: left;
}

#headContents #contact {
  float: right;
}

#headContents #contact .image {
  float: left;
  padding: 7px 14px 0 0;
}

#headContents #contact .txtbox {
  float: left;
  padding-left: 22px;
}

#headContents #contact .input {
  float: left;
  width: 188px;
  height: 26px;
  padding: 0 0 0 5px;
  background-color: #FFF;
  border: 2px solid #333333;
}

#headContents #contact .input .box {
  height: 26px;
  font-size: 16px;
}

#headContents #contact input.box {
  width: 162px;
  border: none;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  box-shadow: 0;
  -webkit-appearance: none;
  border: medium none;
  outline: none;
  background: none;
}

#headContents #contact input.submit {
  margin-top: 2px;
}

/* google search
--------------------------------------------*/
#headContents #contact #customSearch .input {
  width: 188px;
  height: 26px;
  padding: 0 0 0 5px;
}

#headContents #contact div.input .gsc-control-cse {
  padding: 0;
}

#headContents #contact div.input form.gsc-search-box {
  margin: 0;
  padding: 0;
}

#headContents #contact div.input input.gsc-input {
  width: 152px;
  padding: 0;
  border: none;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  box-shadow: 0;
  -webkit-appearance: none;
  border: medium none;
  background: none;
}

#headContents #contact div.input td.gsc-input {
  padding: 0;
}

#headContents #contact div.input td.gsc-input input {
  width: 100%;
  height: 26px;
}

#headContents #contact div.input td.gsc-search-button {
  height: 26px;
  padding-right: 10px;
}

#headContents #contact div.input input.gsc-search-button {
  width: 13px;
  min-width: 13px;
  height: 13px;
  padding: 0;
  border: 0;
  background-color: transparent;
  background-image: url(/images/common/form_icon.jpg);
  background-repeat: no-repeat;
  text-indent: -9999px;
  cursor: pointer;
}

#headContents #contact div.input .gsc-clear-button {
  display: none;
}

#headContents #contact .detail {
  width: 317px;
  padding: 6px 0 0 195px;
}

#headContents #contact .detail a {
  padding-left: 12px;
  background-image: url(../images/common/icon_plus.png);
  background-repeat: no-repeat;
  background-position: 0 center;
}

#headContents #contact .detail a:hover {
  background-image: url(../images/common/icon_plus_on.png);
}

#headContents .btns {
  float: left;
  width: 790px;
}

#headContents .btns li {
  float: left;
}

#headContents #fontSize {
  float: right;
  width: 81px;
  padding-top: 19px;
  font-size: 12px;
  line-height: 1.5;
}

#headContents #fontSize p {
  padding-bottom: 6px;
}

#headContents #fontSize ul li {
  float: left;
  cursor: pointer;
}

#headContents #fontSize #fontSmall {
  padding: 7px 10px 0 0;
}

#headContents #fontSize #fontDef {
  padding: 5px 9px 0 0;
}

/* pan
------------------------------------------------------------------------------*/
#pan {
  width: 970px;
  margin: 0 auto;
  padding-bottom: 22px;
  word-wrap: break-word;
  word-break: break-all;
}

#pan img {
  vertical-align: 1px;
  padding: 0 13px 0 18px;
}

/* contents
------------------------------------------------------------------------------*/
#contents {
  width: 970px;
  padding: 0 10px;
  margin: 0 auto 50px;
}

#contentsInner {
  border-left: 1px solid #333333;
}

/*main*/
#contents #main {
  float: left;
  width: 701px;
  padding: 0 0 0 18px;
}

#contents #main .tit {
  padding-bottom: 43px;
}

#contents #main .mainBlock {
  float: right;
  width: 540px;
}

#contents #main .subBlock {
  float: left;
  width: 140px;
  padding-right: 20px;
}

#contents #main .subBlock .entry {
  padding-bottom: 10px;
}

#contents #main .subBlock li li {
  padding: 0 0 3px 1em;
  font-size: 93%;
  text-indent: -1em;
}

#contents #main .subBlock li ul {
  padding-top: 10px;
}

#contents #main .tit h1 {
  float: left;
}

#contents #main .tit .subTit {
  float: right;
}

#contents #main .tit .subTit li {
  float: left;
  padding-left: 10px;
}

/*sub*/
#contents #sub {
  float: right;
  width: 220px;
  line-height: 1.5;
}

#contents #sub .tit {
  padding-bottom: 20px;
}

#contents #sub .block {
  padding-top: 28px;
}

#contents #sub #news {
  position: relative;
  padding-top: 0;
}

#contents #sub #news .all {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 109%;
}

#contents #sub #news .newsBlock {
  overflow: scroll;
  overflow-x: hidden;
  height: 240px;
  padding-right: 0px !important;
  left: 3px;
}

#contents #sub #news dt,
#contents #sub #news dd {
  padding-right: 12px;
  word-wrap: break-word;
  word-break: break-all;
}

#contents #sub #news dd {
  padding-bottom: 12px;
}

/*スクロールーバー*/
.jScrollPaneContainer {
  position: relative;
  right: 2px;
  _right: 4px;
  overflow: hidden;
  z-index: 1;
  outline: none;
}

.jScrollPaneTrack {
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  height: 100%;
  background-color: #EEE;
}

.jScrollPaneDrag {
  position: absolute;
  cursor: pointer;
  overflow: hidden;
  background: #333333;
}

#contents #sub #calender table {
  width: 100%;
  background-color: #FFF;
  border: 0 none;
  border-collapse: separate;
}

#contents #sub #calender table th {
  padding-bottom: 5px;
  font-size: 11px;
}

#contents #sub #calender table td {
  font-size: 12px;
  font-weight: bold;
  width: 27px;
  height: 28px;
  text-align: center;
  vertical-align: middle;
  border: 1px solid #e5e5e5;
  background-color: #FFF;
  cursor: pointer;
}

#contents #sub #calender table td span {
  display: block;
  width: 27px;
  height: 23px;
  padding-top: 5px;
  text-align: center;
}

#contents #sub #calender table td.today {
  background-color: #333333 !important;
  color: white !important;
}

#contents #sub #calender table td.pointer {
  color: #0099cc !important;
  text-decoration: underline;
}

#contents #sub #calender .caption {
  font-size: 15px;
  font-weight: bold;
  padding-bottom: 11px;
  text-decoration: underline;
  text-align: center;
}

#contents #sub #calender .navi:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

#contents #sub #calender .navi {
  position: absolute;
  left: 0;
  top: 5px;
  width: 220px;
  height: 15px;
  z-index: 1;
  *zoom: 1;
}

#contents #sub #calender .main .caption {
  position: relative;
  z-index: 100;
  margin: 0 30px;
  cursor: pointer;
}

#contents #sub #calender .prev {
  float: left;
}

#contents #sub #calender .next {
  float: right;
}

#contents #sub #calender .prev a,
#contents #sub #calender .next a {
  display: block;
  background-position: left top;
  background-repeat: no-repeat;
  font-size: 1px;
  line-height: 0;
  text-align: left;
  text-decoration: none;
  text-indent: -9999px;
  width: 10px;
  height: 15px;
}

#contents #sub #calender .prev a {
  background-image: url(/images/common/calender_btn_prev.jpg);
}

#contents #sub #calender .prev a:hover {
  background-image: url(/images/common/calender_btn_prev_on.jpg);
}

#contents #sub #calender .next a {
  background-image: url(/images/common/calender_btn_next.jpg);
}

#contents #sub #calender .next a:hover {
  background-image: url(/images/common/calender_btn_next_on.jpg);
}

#contents #sub #calender table td.event {
  background-color: #EEE;
}

#contents #sub #calender table td.otherMonth {
  color: #DEDEDE;
}

#contents #sub #calender table td.otherMonth a:hover {
  color: #0099CC;
}

#contents #sub #banner {
  display: none;
}

#contents #sub #banner .banner {
  overflow: hidden;
  position: relative;
  width: 220px;
  height: 140px;
}

#contents #sub #banner .banner ul {
  position: absolute;
}

#contents #sub #banner .banner li {
  float: left;
}

#contents #sub #banner .pointer {
  width: 220px;
  text-align: center;
}

#contents #sub #banner .pointer li {
  display: inline;
  padding: 0 2px;
}

#contents #sub #banner .stbanner li {
  padding-bottom: 10px;
}

#contents #sub #magazine li {
  padding-bottom: 10px;
}

.pointer img {
  cursor: pointer;
  color: #0099CC;
}

/* footer
------------------------------------------------------------------------------*/
#footer {
  width: 100%;
  background-color: #FFF;
  line-height: 1.5;
}

#footer a {
  color: #4E4E4E;
}

#footer a:hover {
  color: #0099CC;
}

/* fpan*/
#fpanWrap,
#fpan {
  width: 100%;
  background-image: url(/images/common/line_dot_x.jpg);
  background-repeat: repeat-x;
  background-position: 0 0;
}

#fpan {
  background-position: 0 bottom;
}

#fpan img {
  vertical-align: 1px;
  padding: 0 13px 0 18px;
}

#fpanInner {
  width: 968px;
  padding: 7px 0 6px 2px;
  margin: 0 auto;
  font-size: 108%;
  word-wrap: break-word;
  word-break: break-all;
}

/*footContents*/
#footContents {
  width: 970px;
  padding: 19px 0 17px;
  margin: 0 auto;
}

#footContents .blocks {
  float: left;
}

#footContents .block {
  float: left;
  width: 104px;
  padding: 0 5px 8px 10px;
  background-image: url(/images/common/line_dot_y.jpg);
  background-repeat: repeat-y;
  background-position: 0 0;
}

#footContents .block:first-child {
  width: 115px;
  background-image: none;
  padding: 0 5px 8px 0px;
}

#footContents .block#sns {
  width: 195px;
  padding-left: 30px;
}

#footContents .block#sns ul {
  padding-top: 11px;
}

#footContents .block#sns ul li {
  padding-bottom: 10px;
}

#footContents .block dt {
  font-weight: bold;
  padding: 6px 0 10px;
  color: #333;
}

#footContents .block dd {
  padding-bottom: 5px;
}

#footContents .block li {
  padding-bottom: 7px;
}

#footContents .top {
  float: right;
  padding: 10px 0 0 5px;
}

/*copy*/
#copyWrap {
  width: 100%;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

#copy {
  width: 970px;
  padding: 6px 0;
  margin: 0 auto;
  font-size: 90%;
}

#copy .copyright {
  float: left;
  color: #ADADAD;
  padding-right: 10px;
}

#copy .policy {
  float: left;
  padding-left: 10px;
  border-left: 1px solid #cccccc;
}



.alpha a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}