@charset "utf-8";

@import url("top.css");
@import url("other.css");
/*@import url("jquery.lightbox-0.5.css");*/

/*===================== html5非対応ブラウザ用 ======================*/

/* IE8以下対応用 */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
	margin: 0px;
	padding: 0px;
}

/*============================ clearfix ============================*/
.clearfix:after,
.subNaviCommon ul li:after,
footer ul:after,
.specBox01Wrap:after,
.specBox03Mdl:after,
.galleryList01:after,
.galleryList02:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix,
.subNaviCommon ul li,
footer ul,
.specBox01Wrap,
.specBox03Mdl,
.galleryList01,
.galleryList02 {
  min-height: 1px;
	position: relative;
}
  
* html .clearfix,
* html .subNaviCommon ul li,
* html footer ul,
* html .specBox01Wrap,
* html .sspecBox03Mdl,
* html .galleryList01,
* html .galleryList02 {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/*========================== default tag ===========================*/
html {
	height: 100%; /* フッター下部配置用 */
}

body {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  color: #444444;
  line-height: 1.8;
  font-size: 16px;
  *font-size: small;
  *font: x-small;
  font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
  height: 100%; /* フッター下部配置用 */
  background-image: url(../images/tmp/bg_all.jpg);
  background-repeat: repeat;
}

img {
  border-style: none;
}

a:link {
	text-decoration: underline;
	color: #49649f;
}
a:visited {
	text-decoration: underline;
	color: #49649f;
} 
a:hover {
  text-decoration: underline;
  color: #428ED4;
}

form {
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  margin-right: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}

h1,h2,h3,h4,h5,h6 {
  color: #000000;
  font-weight: normal;
  clear: both;
}

h1 {
  font-size: 100%; /* 30px相当 */
  line-height: 100%;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}

h2 {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
}

/*============================ template ============================*/

/*---------- facebookボタンが表示されない場合の対処用CSS -----------*/
.fb-like iframe { min-width: 120px; min-height: 20px; }

/*---------------------------- loading -----------------------------*/
#fade {
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
  background-color: #FFFFFF;
  top: 0px;
  left: 0px;
  z-index: 998;
}

#loading {
  position: absolute;
  left: 50%;
  top: 40%;
  margin-left: -27px;
  display: none;
  z-index: 999;
}

/*--------------------------- container ----------------------------*/
#container {
  position: relative;
  min-height: 100%; /* フッター下部配置用 */
  min-width: 1000px; /* カーテンの最低幅確保用 */
  _height: auto !important; /* フッター下部配置用 IE6 */ 
  _height: 100%  /* フッター下部配置用 IE6 */ 
}

/*----------------------------- header -----------------------------*/
#headerWrap {
  background-image: url(../images/tmp/nav_bg.png);
  background-position: center top;
  background-repeat: repeat-x;
  width: 100%;
  height: 112px;
  z-index: 51;
  position: absolute;
  top: 0px;
  right: 0px;
  left: 0px;
  bottom: 0px;
}
#headerBox {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
#headerBox h1 {
  width: 389px;
  height: 115px;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  position: absolute;
  top: 0px;
  left: 340px;
}
#headerBox h1 a {
  background-image: url(../images/tmp/nav_btn_logo.png);
  background-repeat: no-repeat;
  background-position: 0px 0px;
  width: 389px;
  height: 115px;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  position: absolute;
}

/* header navi --------------------------------*/
#headerBox nav ul {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  list-style-type: none;
}
#headerBox nav ul li {
  float: left;
  position: absolute;
}
#headerBox nav ul li a {
  display: block;
  background-repeat: no-repeat;
  position: relative;
}

#headerBox nav ul li#hdrNav01 {
  top: 0px;
  left: 0px;
}
#headerBox nav ul li#hdrNav02 {
  top: 0px;
  left: 70px;
}
#headerBox nav ul li#hdrNav03 {
  top: 0px;
  left: 179px;
}
#headerBox nav ul li#hdrNav04 {
  top: 0px;
  left: 264px;
}
#headerBox nav ul li#hdrNav05 {
  top: 0px;
  left: 730px;
}
#headerBox nav ul li#hdrNav06 {
  top: 0px;
  left: 805px;
}
#headerBox nav ul li#hdrNav07 {
  top: 0px;
  left: 901px;
}

#headerBox nav ul li#hdrNav01 a {
  width: 70px;
  height: 89px;
  background-image: url(../images/tmp/nav_btn_story.png);
  background-position: 0px 0px;
}

#headerBox nav ul li#hdrNav02 a {
  width: 109px;
  height: 89px;
  background-image: url(../images/tmp/nav_btn_character.png);
  background-position: 0px 0px;
}

#headerBox nav ul li#hdrNav03 a {
  width: 85px;
  height: 89px;
  background-image: url(../images/tmp/nav_btn_gallery.png);
  background-position: 0px 0px;
}

#headerBox nav ul li#hdrNav04 a {
  width: 79px;
  height: 89px;
  background-image: url(../images/tmp/nav_btn_system.png);
  background-position: 0px 0px;
}

#headerBox nav ul li#hdrNav05 a {
  width: 75px;
  height: 89px;
  background-image: url(../images/tmp/nav_btn_spec.png);
  background-position: 0px 0px;
}

#headerBox nav ul li#hdrNav06 a {
  width: 96px;
  height: 89px;
  background-image: url(../images/tmp/nav_btn_goods.png);
  background-position: 0px 0px;
}

#headerBox nav ul li#hdrNav07 a {
  width: 97px;
  height: 89px;
  background-image: url(../images/tmp/nav_btn_special.png);
  background-position: 0px 0px;
}

/* header sub navi --------------------------------*/
.subNaviCommon {
  width: 100%;
  height: 137px;
  z-index: 50;
  position: absolute;
  top: 104px; 
  right: 0px;
  left: 0px;
  bottom: 0px;
}

.subNaviCommon a:link {
	text-decoration: underline;
	color: #CCCCCC;
}
.subNaviCommon a:visited {
	text-decoration: underline;
	color: #CCCCCC;
} 
.subNaviCommon a:hover {
  text-decoration: underline;
  color: #428ED4;
}

.subNaviCommon ul {
  width: 1000px;
  margin-top: 0px;
  margin-right: auto;
  margin-bottom: 0px;
  margin-left: auto;
  padding-top: 4px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  list-style-type: none;
  text-align: center;
}
.subNaviCommon ul li {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  display: inline-block;
  *display: inline; /* IE7 */
  *zoom: 1; /* IE7 */
}
.subNaviCommon ul li a {
  background-image: url(../images/tmp/hdr_navi_arrow.png);
  background-repeat: no-repeat;
  background-position: 0px 0px;
  display: block;
}

/* sub nabi menu box type */
ul#subNaviBoxWrap {
  width: 1300px;
  margin-top: 17px !important;
  font-weight: bold;
  font-size: 0;
}
ul#subNaviBoxWrap li {
  background-image: url(../images/tmp/nav_sub_ttl_bg_left.png);
  background-position: 0px 0px;
  background-repeat: no-repeat;
  padding-left: 37px;
  height: 40px;
  line-height: 40px;
  margin-right: 0px;
  margin-left: 0px;
  margin-top: -10px;
  font-size: 15px;
}
ul#subNaviBoxWrap li img {
  position: absolute;
  left:40%;
}
ul#subNaviBoxWrap li:hover {
	text-decoration: none;
	color: #46576D;
  opacity: 0.7;
  filter: alpha(opacity=70); /* ie lt 8 */
  -ms-filter: "alpha(opacity=70)"; /* ie 8 */
  -moz-opacity: 0.7; /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.7; /* Safari 1.x */
  zoom: 1;
} 
ul#subNaviBoxWrap li.linkActive:hover {
	text-decoration: none;
	color: #46576D;
  opacity: 1.0;
  filter: alpha(opacity=100); /* ie lt 8 */
  -ms-filter: "alpha(opacity=100)"; /* ie 8 */
  -moz-opacity: 1.0; /* FF lt 1.5, Netscape */
  -khtml-opacity: 1.0; /* Safari 1.x */
  zoom: 1;
}

ul#subNaviBoxWrap li span {
  background-image: url(../images/tmp/nav_sub_ttl_bg_right.png);
  background-position: right 0px;
  background-repeat: no-repeat;
  display: block;
  padding-right: 40px;
  margin-right: 5px;
}
ul#subNaviBoxWrap li span a {
  display: block;
  background-image: url(../images/tmp/nav_sub_ttl_bg_center.png);
  background-repeat: repeat-x;
  background-position: 0px;
  padding-left: 5px;
  padding-right: 5px;
}
ul#subNaviBoxWrap a:link {
	text-decoration: none;
	color: #46576D;
}
ul#subNaviBoxWrap a:visited {
	text-decoration: none;
	color: #46576D;
} 
ul#subNaviBoxWrap a:hover {
  text-decoration: none;
  color: #46576D;
}

ul#subNaviBoxWrap li.linkActive a:link {
	text-decoration: none;
	color: #774544;
  cursor: default;
}
ul#subNaviBoxWrap li.linkActive a:visited {
	text-decoration: none;
	color: #774544;
} 
ul#subNaviBoxWrap li.linkActive a:hover {
  text-decoration: none;
  color: #774544;
}

/* sub nabi menu icon type */
ul#subNaviIconWrap {
  margin-top: 13px !important;
  font-weight: bold;
}
ul#subNaviIconWrap li {
  margin-right: 5px;
  margin-left: 5px;
}

ul#subNaviIconWrap li a:link {
  opacity: 0.7;
  filter: alpha(opacity=70); /* ie lt 8 */
  -ms-filter: "alpha(opacity=70)"; /* ie 8 */
  -moz-opacity: 0.7; /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.7; /* Safari 1.x */
  zoom: 1;
}
ul#subNaviIconWrap li a:visited {
  opacity: 0.7;
  filter: alpha(opacity=70); /* ie lt 8 */
  -ms-filter: "alpha(opacity=70)"; /* ie 8 */
  -moz-opacity: 0.7; /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.7; /* Safari 1.x */
  zoom: 1;
}
ul#subNaviIconWrap li a:hover {
  opacity: 1.0;
  filter: alpha(opacity=100); /* ie lt 8 */
  -ms-filter: "alpha(opacity=100)"; /* ie 8 */
  -moz-opacity: 1.0; /* FF lt 1.5, Netscape */
  -khtml-opacity: 1.0; /* Safari 1.x */
  zoom: 1;
}

ul#subNaviIconWrap li.linkActive a {
  opacity: 1.0;
  filter: alpha(opacity=100); /* ie lt 8 */
  -ms-filter: "alpha(opacity=100)"; /* ie 8 */
  -moz-opacity: 1.0; /* FF lt 1.5, Netscape */
  -khtml-opacity: 1.0; /* Safari 1.x */
  zoom: 1;
}

/* sound area --------------------------------*/
#soundBtnArea{
	width:172px;
	height:34px;
  position: absolute;
  top: 60px;
  right: -190px;
}

#soundBtnArea .playBtn,
#soundBtnArea .stopBtn {
	width: 172px;
	height: 34px;
	cursor:pointer;
}

#soundBtnArea .playBtn {
	display: block;
	background-image:url(../images/tmp/btn_music_on.png);
	background-repeat:no-repeat;
}

#soundBtnArea .stopBtn {
	display: block;
	background-image:url(../images/tmp/btn_music_off.png);
	background-repeat:no-repeat;
}

/*---------------------------- curtain -----------------------------*/
#curtainL01 {
  width: 540px;
  height: 129px;
  background-image: url(../images/tmp/curtain_left.png);
  background-position: left top;
  background-repeat: no-repeat;
  position: absolute;
  top: 175px;
  left: 0px;
  z-index: 30;
}
#curtainL02 {
  width: 200px;
  height: 752px;
  background-image: url(../images/tmp/curtain_left.png);
  background-position: left -130px;
  background-repeat: no-repeat;
  position: absolute;
  top: 305px;
  left: 0px;
  z-index: 31;
}

#curtainR01 {
  width: 540px;
  height: 129px;
  background-image: url(../images/tmp/curtain_right.png);
  background-position: right top;
  background-repeat: no-repeat;
  position: absolute;
  top: 175px;
  right: 0px;
  z-index: 32;
}
#curtainR02 {
  width: 200px;
  height: 752px;
  background-image: url(../images/tmp/curtain_right.png);
  background-position: right -130px;
  background-repeat: no-repeat;
  position: absolute;
  top: 305px;
  right: 0px;
  z-index: 33;
}

/* submenu none version -----------------------------*/
#curtainL01SubMenuNone {
  width: 540px;
  height: 129px;
  background-image: url(../images/tmp/curtain_left.png);
  background-position: left top;
  background-repeat: no-repeat;
  position: absolute;
  top: 104px;
  left: 0px;
  z-index: 30;
}
#curtainL02SubMenuNone {
  width: 200px;
  height: 752px;
  background-image: url(../images/tmp/curtain_left.png);
  background-position: left -130px;
  background-repeat: no-repeat;
  position: absolute;
  top: 234px;
  left: 0px;
  z-index: 31;
}

#curtainR01SubMenuNone {
  width: 540px;
  height: 129px;
  background-image: url(../images/tmp/curtain_right.png);
  background-position: right top;
  background-repeat: no-repeat;
  position: absolute;
  top: 104px;
  right: 0px;
  z-index: 32;
}
#curtainR02SubMenuNone {
  width: 200px;
  height: 752px;
  background-image: url(../images/tmp/curtain_right.png);
  background-position: right -130px;
  background-repeat: no-repeat;
  position: absolute;
  top: 234px;
  right: 0px;
  z-index: 33;
}

/*---------------------------- contents ----------------------------*/
#contentsWrap {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
 /* z-index: 2;*/
  padding-top: 230px;
  padding-bottom: 140px;
  position: relative;
  min-height: 600px;
  height: auto !important;
  height: 600px;
  margin-bottom:80px;
}

/* submenu none version -----------------------------*/
.contentsSubMenuNone {
  padding-top: 159px !important;
}

/*----------------------------- footer -----------------------------*/
#footerWrap {
  width: 100%;
  height: 108px;
  background-image: url(../images/tmp/line_all.png);
  background-repeat: repeat-x;
  background-position: center 0px;
  position: absolute; /* フッター下部配置用 */
  bottom: 0px; /* フッター下部配置用 */
}

footer {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

#footerContents {
  width: 1000px;
  text-align: center;
  position: absolute;
  top: 20px;
  z-index: 3;
}

/* footer navi --------------------------------*/
footer ul {
  list-style-type: none;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
}
footer ul li {
  /*display: -moz-inline-box;*/
  display: inline-block;
  *display: inline; /* IE7 */
  *zoom: 1; /* IE7 */
  padding-right: 10px;
  padding-left: 10px;
  border-right: 1px solid #FFFFFF;
}
footer ul li a {}

footer a:link {
	text-decoration: none;
	color: #2b436d;
}
footer a:visited {
	text-decoration: none;
	color: #2b436d;
} 
footer a:hover {
  text-decoration: underline;
  color: #428ED4;
}

/* social area --------------------------------*/
footer ul li.socialArea {
  border-right-style: none !important;
  vertical-align: top;
  width: 100px;
  line-height: 100%;
  padding-top: 4px;
  padding-right: 5px;
  padding-bottom: 0px;
  padding-left: 0px;
}

iframe.twitter-share-button {
  margin-left: 3px;
}

.fb-like {
	margin-left:7px;
}

/* copyright --------------------------------*/
#copyright {
  font-size: 75%;
  width: 1000px;
  text-align: center;
  position: absolute;
  top: 60px;
  left: 0px;
  z-index: 3;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin-bottom:100px;
}
#copyright a {
  background-image: url(../images/tmp/btn_logo_karin.png);
  background-position: center top;
  background-repeat: no-repeat;
  width: 70px;
  height: 37px;
  display: block;
  text-indent: -9999px;
  overflow: hidden;
  margin-left: auto;
  margin-right: auto;
}
#copyright a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70); /* ie lt 8 */
  -ms-filter: "alpha(opacity=70)"; /* ie 8 */
  -moz-opacity: 0.7; /* FF lt 1.5, Netscape */
  -khtml-opacity: 0.7; /* Safari 1.x */
  zoom: 1;
}

/* page top button --------------------------------*/
#pageTop {
  width: 220px;
  height: 136px;
  z-index: 900;
  position: fixed;
  bottom: 0px;
  right: 5px;
}
#pageTop a {
  width: 220px;
  height: 136px;
  display: block;
  background-image: url(../images/tmp/btn_go-to-top.png);
  background-repeat: no-repeat;
  background-position: 0px 0px;
  position: relative;
}


/* 汎用class --------------------------------*/

.mg_0_auto { margin:0 auto;!important; }
.mg_0 { margin:0px;!important; }
.mg_5 { margin:5px;!important; }
.mt_10 { margin-top:10px;!important; }
.mt_50 { margin-top:50px;!important; }
.mt_80 { margin-top:80px;!important; }
.mt_100 { margin-top:100px;!important; }
.mt_300 { margin-top:300px;!important; }
.mt_-100 { margin-top:-100px;!important; }
.mt_-30 { margin-top:-30px;!important; }
.mt_-20 { margin-top:-20px;!important; }
.mt_-10 { margin-top:-10px;!important; }
.mt_-5 { margin-top:-5px;!important; }
.mb_10 { margin-bottom:10px;!important; }
.mb_30 { margin-bottom:30px;!important; }
.mb_50 { margin-bottom:50px;!important; }
.mb_-20 {margin-bottom:-20px;!important; }
.ml_10 { margin-left:10px;!important; }
.ml_20 { margin-left:20px;!important; }
.ml_30 { margin-left:30px;!important; }
.ml_40 { margin-left:40px;!important; }
.ml_50 { margin-left:50px;!important; }
.ml_60 { margin-left:60px;!important; }
.ml_70 { margin-left:70px;!important; }

.white { color:#FFF; }
.red { color:#903; }
.pink { color:#EA485E; }
.purple { color:#5B3A6B; }
.purple_light { color:#966E9C; }

.fs_10 { font-size:10px;!important; }
.fs_12 { font-size:12px;!important; }
.fs_14 { font-size:14px;!important; }
.fs_15 { font-size:15px;!important; }
.fs_16 { font-size:16px;!important; }
.fs_18 { font-size:18px;!important; }
.fs_20 { font-size:20px;!important; }
.fs_25 { font-size:25px;!important; }
.fs_28 { font-size:28px;!important; }

.bold { font-weight:bold;!important; }
.center { text-align: center;!important; }

.lh_70 { line-height: 70%;!important; }

.bd_333 { border: 1px solid #333; }
.bd_666 { border: 1px solid #666; }
.bd_999 { border: 1px solid #999; }

.hr_dot {
  background-image: url(../spec/images/privilege/ttl_bg_middle.png);
  background-repeat: no-repeat;
  background-position: 100% bottom;
  padding-bottom:8px;
  margin:13px 0 ;
  position:relative;
  width:445px;
}

.line_h {line-height: 12px;}

a img.linkimg{
background:none!important;
}
a:hover img.linkimg{
opacity:0.8;
filter:alpha(opacity=80);
-ms-filter: "alpha( opacity=80 )";
background:none!important;
}
/**/
