@charset "Shift_JIS";

/*--------------------------------------------------------
  要素リセット
--------------------------------------------------------*/
body{
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 80%;
    font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','Osaka',Arial,'ＭＳ Ｐゴシック',sans-serif;
    color: #666666; /* 標準の文字色 */
    background-color: #ecedec;
    background-image : url(img/bg.png);
    background-position: top center;
    background-repeat: repeat-y;
    background-attachment: fixed;
}

/* Safari用ハック 文字サイズ調整 */
/*\*/
html:\66irst-child body{
    font-size: 70%;
}
/* end */

img{
    border: 0;
}

a:link, a:visited{
    color: #00a0e9;
    text-decoration: underline;
}

a:hover{
    text-decoration: none;
}

a:active{
    color: #ff9c2a;
    text-decoration: none;
}

.left{
    float: left;
}

.right{
    float: right;
}

hr{
    clear: both;
    width: 100%;
    height: 1px;
    margin: 10px auto 20px;
    padding: 0;
    border: 1px none #ffffff;
}

.hide {
    display: none;
}

/*--------------------------------------------------------
  レイアウト
--------------------------------------------------------*/
#hpb-container{
    margin-top: -1px auto 0;
    position: relative;
    background-image : url(img/headerbg.png);
    background-position: top left;
    background-repeat: repeat-x;
    min-width: 900px;
    zoom: 1;
}

#hpb-container:after{
    content: ".";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}

#hpb-header{
    width: 900px;
    height: 87px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
}

#hpb-inner{
    width: 900px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    padding-top: 85px;
    padding-bottom: 20px;
    zoom: 1;
}

* html .hpb-layoutset-01 #hpb-inner{
    /* for IE6 レイアウト崩れに対応するために背景にメインイメージを配置 */
    background-image : url(img/topimg.png);
    background-position: 10px 85px;
    background-repeat: no-repeat;
}

#hpb-inner:after{
    content: ".";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}

#hpb-wrapper{
    width: 630px;
    margin-left: 0;
    margin-right: 0;
    float: left;
}

* html .hpb-layoutset-01 #hpb-wrapper{
    padding-top: 280px; /* for IE6 */
}

#hpb-title{
    margin: 0 auto;
}

.hpb-layoutset-01 #hpb-title{
    width: 900px;
    margin-right: -270px;
    height: 420px;
}

* html .hpb-layoutset-01 #hpb-title{
    display: none; /* for IE6 */
}

.hpb-layoutset-02 #hpb-title{
    width: 605px;
    margin-left: auto;
    margin-right: 0;
    padding-top: 10px;
}

#hpb-main{
    padding-bottom: 0px;
}

.hpb-layoutset-01 #hpb-main{
    width: 580px;
    margin-left: auto;
    margin-right: auto;
}

.hpb-layoutset-02 #hpb-main{
    width: 605px;
    margin-right: 0;
    margin-left: auto;
    margin-top: 0;
}

#hpb-aside{
    width: 245px;
    float: right;
}

.hpb-layoutset-01 #hpb-aside{
    margin-top: 420px;
}

.hpb-layoutset-02 #hpb-aside{
    margin-top: 10px;
}

#hpb-footer{
    clear: both;
    width: 901px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 25px;
}

#hpb-nav{
    position: absolute;
    left: 0px;
    top: 5px;
    height: 69px;
    width: 900px;
    overflow: hidden;
}

/*--------------------------------------------------------
  デザイン
--------------------------------------------------------*/
/* ヘッダー */
#hpb-headerMain{
    margin: 0;
}

#hpb-headerMain h1{
    margin: 0;
    padding: 0 0 0 5px;
    text-align: left;
    font-weight: normal;
    line-height: 14px;
    font-size: 12px;
}

#hpb-headerLogo{
    margin-top: 8px;
    margin-bottom: 0;
    width: 700px;
}

#hpb-headerLogo a{
    display: block;
    height: 55px;
    margin: 0;
    padding: 0;
    text-indent: -9999px;
    overflow: hidden;
    background-image : url(img/logo.png);
    background-position: center left;
    background-repeat: no-repeat;
}

#hpb-headerE{
    width: 100px;
    margin: -20px 0 0;
    padding: 0;
    float: right;
}

#hpb-headerE a{
    display: block;
    height: 24px;
    margin: 0;
    padding: 0;
    text-indent: -9999px;
    overflow: hidden;
    background-image : url(img/etop.png);
    background-position: center left;
    background-repeat: no-repeat;
}

/* 英語ページのヘッダー */
#hpb-headerLogo_e{
    margin-top: 8px;
    margin-bottom: 0;
    width: 700px;
}

#hpb-headerLogo_e a{
    display: block;
    height: 55px;
    margin: 0;
    padding: 0;
    text-indent: -9999px;
    overflow: hidden;
    background-image : url(img/logo_e.png);
    background-position: center left;
    background-repeat: no-repeat;
}

/* トップページ画像 */
.hpb-layoutset-01 #hpb-title h2{
    width: 880px;
    height: 400px;
    margin: 0 auto;
    text-align: left;
    text-indent: -9999px;
    background-image : url(img/topimg.png);
    overflow: hidden;
    border-bottom: 5px solid #7c1141; /* テーマカラー */
}

/* メインメニュー */
#hpb-nav ul{
    display: block;
    margin: 0 auto;
    padding: 0;
    list-style-type: none;
    overflow: hidden;
}

#hpb-nav ul:after{
    content: ".";
    clear: both;
    height: 0;
    display: block;
    visibility: hidden;
}

#hpb-nav li{
    display: block;
    width: 150px;
    margin-left: 0;
    margin-right: 0;
    float: left;
    overflow: hidden;
}

#hpb-nav li a{
    display: block;
    height: 68px;
    background-image : url(img/navbg150.png);
    background-position: top left;
    background-repeat: no-repeat;
    color: #ffffff;
    padding-left: 20px;
    padding-right: 10px;
    overflow: hidden;
    text-decoration: none;
}

#hpb-nav li a.active{
    background-image : url(img/navbg150-2.png);
    background-position: top left;
    background-repeat: no-repeat;
}

#hpb-nav li a:hover{
    color: #666666;
    background-image : url(img/navbg150-3.png);
    background-position: top left;
    background-repeat: no-repeat;
    text-decoration: none;
    background-color: #ffffff;

}

#hpb-nav li#nav-toppage a,#hpb-nav li#nav-eng a{
    background-position: -1px 0px; /* トップページの白線を削除 */
}

#hpb-nav li span.en{
    display: block;
    line-height: 10px;
    font-size: 10px;
    text-transform: uppercase;
}

#hpb-nav li span.ja{
    display: block;
    font-size: 15px;
    line-height: 21px;
    padding-top: 15px;
}

#hpb-nav a:visited{
    text-decoration: none;
}

/* バナー */
#banner{
    width: 220px;
    margin-left: auto;
    margin-right: auto;
}

#banner ul{
    margin: 0;
    padding: 0;
    list-style-type: none;
}

#banner li{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 5px;
}

#banner li a{
    height: 70px;
    text-indent: -9999px;
    overflow: hidden;
}

/* サイドメニュー */
#sideinfo{
    width: 220px;
    margin: 20px auto;
    border: 1px solid #7c1141; /* テーマカラー */
}

#sideinfo h3{
    display: block;
    margin: 0;
    padding: 5px 3px;
    text-align: center;
    color: #f5f5f5;
    background-color: #7c1141; /* テーマカラー */
    border-bottom: 1px solid #7c1141; /* テーマカラー */
}

#sideinfo h3 span.en{
    text-transform: uppercase;
    font-size: 1.5em;
}

#sideinfo h4{
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    font-size: 1.3em;
    padding-top: 0;
    color: #666666;
}

#sideinfo p{
    margin: 0;
    padding: 8px 5px;
    line-height: 1.5;
    word-wrap: break-word;
}

/* フッター */
#hpb-footerMain{
    margin-left: auto;
    margin-right: auto;
    background-color: #949694;
    padding-top: 10px;
    padding-bottom: 20px;
}

/* コピーライト文字設定 */
#hpb-footerMain p{
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 1px;
    padding-bottom: 3px;
    font-size: 0.9em;
    text-align: center;
    color: #ffffff;
}

/* ページの先頭へ */
#pagetop{
    margin: 20px auto 0;
    padding-left: 0;
    padding-right: 0;
    text-align: right;
}

#pagetop a{
    display: block;
    width: 117px;
    height: 22px;
    background-image : url(img/returntop.png);
    background-position: center left;
    background-repeat: no-repeat;
    text-indent: -9999px;
    overflow: hidden;
    margin-left: auto;
    text-align: left;
}

/*--------------------------------------------------------
  画像リンク（ポップアップ表示）
　参考: http://www.dynamicdrive.com/style/
--------------------------------------------------------*/

.thumbnail {
    position: relative;
    z-index: 0;
}

.thumbnail:hover {
    background-color: transparent;
    z-index: 50;
}

.thumbnail span {
    position: absolute;
    background-color: #ffffff; /*余白の色*/
    padding: 3px 8px; /*余白の幅*/
    left: -1000px;
    border: 1px solid #666666; /*枠の色*/
    visibility: hidden;
    color: #666666; /*文字の色*/
    text-decoration: none;
}

.thumbnail span img {
    border-width: 0;
}

.thumbnail a:hover span {
    visibility: visible;
    top: -20; /*上からの位置*/
    left: 250px; /*左からの位置*/
}