@charset "utf-8";

/*  =============================================================

　　共通設定

============================================================= */


/*  全体　基本設定
---------------------------------------------*/

html,
body {
  width: 100%;
  height: 100%;
}

body {
  font-family: "segoe UI", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  font-size: 1.4em;
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
  color: #333;
}


/*  PC・SP表示切り替え 共通設定
-------------------------- */

.mediaSP {
  display: none;
}


/*  画像 基本設定
-------------------------- */

img {
  vertical-align: top;
  border: none;
}


/*  リンク 基本設定
-------------------------- */

a {
  color: #088597;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

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


/*  テキスト 基本設定
-------------------------- */

strong,
noscript {
  font-weight: bold;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
}


/*  フォーム 基本設定
-------------------------- */

input,
button,
select,
textarea {
  border-radius: 0 !important;
  padding: 5px;
  background: #fff;
  font-size: 1em;
}

input[type="button"],
input[type="text"],
input[type="email"],
input[type="password"],
input[type="submit"] {
  -webkit-appearance: none;
}

input[type="checkbox"],
input[type="radio"] {
  margin-right: 8px;
  padding: 0;
  font-size: 1.2em;
}

input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
  border: 1px solid #d1d1d1;
}

textarea {
  -webkit-appearance: none;
  resize: vertical;
  width: 100%;
  height: 120px;
  line-height: 1.6em;
}


/* 　コンテナー　設定
---------------------------------------------*/

#container {
  position: relative;
  width: 100%;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  text-align: center;
}

.boxInner {
  width: 1100px;
  margin: 0 auto;
  text-align: left;
}

/*  ヘッダー 設定
---------------------------------------------*/

#header {
  /*position: fixed;*/
  z-index: 200;
  width: 100%;
  /*height: 158px;*/
  border-top: 3px solid #333;
  background: #fff;
}

#header a {
  text-decoration: none;
}

/* -------- ヘッダー上部 -------- */

#header #headerTop {
  background: #fff;
}

/*通常ロゴの場合（高さ）
#header #headerTop .boxInner {
  position: relative;
  padding: 25px 0 15px;
}
*/

#header #headerTop .boxInner {
  position: relative;
  /*height: 98px;*/
  padding: 10px 0 5px;
}

/* ---- サイトロゴ ---- */

#header #logo {
  float: left;
}

#header #logo a {
  display: block;
  position: relative;
}

/* ---- サイトロゴ＆ソーシャル ---- */

#header #logo a img,
#header .boxSocial,
#header .boxMenu{
  transition: all .5s ease-in-out;
  opacity: 1;
  -moz-opacity: 1;
  -ms-filter: "alpha(opacity=100)";
      filter: alpha(opacity=100);
}

/* ---- 小カテゴリ メニュー ---- */
#header .boxMenu {
	float: right;
}

#header .boxMenu > ul {
	margin-right:15px;
}

/* menu position*/
#header .boxMenu > ul > li {
	display:inline-block;
	font-size:105%;
	vertical-align:text-top;
	vertical-align:-webkit-baseline-middle; /* win Chrome */
}

/* menu position [moz] */
@-moz-document url-prefix() {
	#header .boxMenu > ul > li {
		vertical-align:middle;
	}
}
/* menu position [ IE10>= ] */
#header .boxMenu > ul > li:not(:target){
	padding-top:10px\9;
	vertical-align:middle\9;
}

@supports (-ms-ime-align:auto) {
	#header .boxMenu > ul > li {
		padding-top:5px;
	}
}

#header .boxMenu > ul > li a::before {
	display:inline-block;
	content:'';
	width:8px;
	height:9px;
	padding-right:10px;
	background:url(/common/img/header/menu-arrow.png) no-repeat;
	/*vertical-align:middle;*/
	font-size:90%;
}

#header .boxMenu > ul > li::after {
	display:inline-block;
	content:'';
	width:1px;
	height:1em;
	margin:0 10px;
	background-color:#ccc;
	vertical-align:middle;
}

#header .boxMenu > ul > li:last-child::after {
	display:none;
	width:0;
	height:0;
	background-color:transparent;
}

/* -- リンク・ホバー時 -- */

#header .boxMenu > ul > li a {
  font-weight:bold;
}

/* ---- ソーシャル ---- */

#header .boxSocial {
  float: right;
  /*padding-top: 15px;*/
  font-size: .9em;
}

#header .boxSocial li {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  margin: 0 2px;
  vertical-align: top;
}

#header .boxSocial li a {
  display: block;
  overflow: hidden;
  transition: all .2s ease-in-out;
  width: 32px;
  height: 32px;
  border-radius: 100%;
  background-repeat: no-repeat;
  background-position: center;
}

/* -- Facebook -- */

#header .boxSocial .btnFB a {
  background-image: url(/common/img/header/social-btn-fb-pc.png);
  background-color: #3a5ba2;
}

/* -- Twitter -- */

#header .boxSocial .btnTW a {
  background-image: url(/common/img/header/social-btn-tw-pc.png);
  background-color: #1ebef0;
}

/* -- リンク・ホバー時 -- */

#header .boxSocial li a:hover {
  -webkit-transform: rotate(20deg);
      -ms-transform: rotate(20deg);
          transform: rotate(20deg);
}

/* -- リンク内SPAN -- */

#header .boxSocial li a span {
  display: none;
}

/* -------- ヘッダー下部 -------- */

#header #headerBtm {
  /*border-top: 1px dotted #888;*/
  border-bottom: 1px dotted #888;
  background: #fff;
}

#header #headerBtm .boxInner {
  height: 55px;
  padding: 12px 0 10px;
}

/* ---- グローバルナビ ---- */

#header #gnav {
}

#header #gnav a {
  color: #333;
  transition: all .4s ease-in-out;
}

/* -- ナビボタン -- */

#header #gnav .boxNavBtn {
  display: none;
}

/* -- ナビコンテンツ -- */

#header #gnav .boxNavContent {
  text-align: right;
}

.gt740 #header #gnav .boxNavContent {
  display: block !important;
  overflow: visible !important;
  height: auto !important;
}

/* -- ナビ一覧 -- */

#header #gnav .boxNavList > ul {
  letter-spacing: -.40em;
}

#header #gnav .boxNavList > ul > li {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  transition: all .5s ease-in-out;
  position: relative;
/*   border-right: 1px solid #ccc; */
  text-align: center;
  letter-spacing: normal;
  vertical-align: top;
  cursor: pointer;
}

#header #gnav .boxNavList > ul > li:first-child {
/*   border-left: 1px solid #ccc; */
}

/* -- リスト幅個別設定 -- */

#header #gnav .boxNavList .btnProgram {
  width: 160px;
}

#header #gnav .boxNavList .btnCalendar {
  width: 180px;
}

#header #gnav .boxNavList .btnEvent,
#header #gnav .boxNavList .btnHall,
#header #gnav .boxNavList .btnMovie {
  width: 140px;
}

#header #gnav .boxNavList .btnTicket,
#header #gnav .boxNavList .btnAbout {
  width: 170px;
}

#header #gnav .boxNavList .btnNews,
#header #gnav .boxNavList .btnLink {
  display: none;
}

/* -- リンク -- */

#header #gnav .boxNavList > ul > li > a,
#header #gnav .boxNavList > ul > li > p > a {
  display: block;
  position: relative;
  z-index: 82;
  height: 100%;
  margin: -10px 0 -8px;
  padding: 10px 10px 8px;
  font-size: 1.05em;
  font-weight: bold;
  line-height: 1.4em;
  cursor: pointer;
}

/* -- リンク・ホバー時 -- */

#header #gnav .boxNavList > ul > li > a:before,
#header #gnav .boxNavList > ul > li > p > a:before {
  display: block;
  transition: all .4s ease-in-out;
  position: absolute;
  top: 8px;
  right: 10px;
  left: 10px;
  bottom: 6px;
  z-index: -1;
  border-radius: 3px;
  background: #fff;
  content: "";
}

#header #gnav .boxNavContent li:hover > a:before,
#header #gnav .boxNavContent li:hover > p > a:before,
.program #header #gnav .boxNavContent .btnProgram > a:before,
.program #header #gnav .boxNavContent .btnProgram > p > a:before,
.calendar #header #gnav .boxNavContent .btnCalendar > a:before,
.calendar #header #gnav .boxNavContent .btnCalendar > p > a:before,
.event #header #gnav .boxNavContent .btnEvent > a:before,
.event #header #gnav .boxNavContent .btnEvent > p > a:before,
.ticket #header #gnav .boxNavContent .btnTicket > a:before,
.ticket #header #gnav .boxNavContent .btnTicket > p > a:before,
.about #header #gnav .boxNavContent .btnAbout > a:before,
.about #header #gnav .boxNavContent .btnAbout > p > a:before,
.hall #header #gnav .boxNavContent .btnHall > a:before,
.hall #header #gnav .boxNavContent .btnHall > p > a:before,
.news #header #gnav .boxNavContent .btnNews > a:before,
.news #header #gnav .boxNavContent .btnNews > p > a:before {
  background: #eee;
}

/* -- リンク内テキスト箇所 -- */

#header #gnav .boxNavList > ul > li > a > span,
#header #gnav .boxNavList > ul > li > p > a > span {
  display: block;
  font-size: 8px;
  font-weight: normal;
  color: #9f9f9f;
  line-height: 1.3em;
}

/* -- リンク・準備中 171124 -- */

#header #gnav .boxNavList > ul > li > .prepare {
  display: block;
  position: relative;
  z-index: 82;
  height: 100%;
  margin: -10px 0 -8px;
  padding: 10px 10px 8px;
  font-size: 1.05em;
  font-weight: bold;
  line-height: 1.4em;
  color: #9f9f9f;
  cursor:default;
}

/* -- リンク・準備中 内テキスト箇所 171124 -- */

#header #gnav .boxNavList > ul > li > .prepare > span {
  display: block;
  font-size: 8px;
  font-weight: normal;
  color: #9f9f9f;
  line-height: 1.3em;
}

/* -- サブメニュー -- */

#header #gnav .boxSubNav {
  display: none;
  position: absolute;
  top: 23px;
  left: 0;
  z-index: 80;
  width: 240px;
  padding-top: 20px;
  text-align: left;
}

#header #gnav .boxSubNav > ul {
  display: block;
  border: 1px solid #ccc;
  background: #fff;
}

#header #gnav .boxSubNav > ul > li {
  float: none;
  margin: 0 !important;
  padding: 0;
  border-top: 1px solid #ccc;
}

#header #gnav .boxSubNav > ul > li:first-child {
  border-top: none;
}

#header #gnav .boxSubNav > ul > li > a {
  display: block;
  position: relative;
  padding: 10px 12px 10px 25px;
  font-weight: bold;
  line-height: 1.4em;
}

#header #gnav .boxSubNav > ul > li > a:before {
  transition: all .4s ease-in-out;
  position: absolute;
  top: 15px;
  left: 12px;
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #000;
  background: none !important;
  content: "";
}

#header #gnav .boxSubNav > ul > li > a:hover {
  background-color: #000;
  color: #fff !important;
}

#header #gnav .boxSubNav > ul > li > a:hover:before {
  border-left-color: #fff;
}

/* -------- スクロールナビ（PCのみ） -------- */

.gt740 #header.scroll {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 56px;
  border-top: none;
}

/* ------ ヘッダー上部 ------ */

.gt740 #header.scroll #headerTop {
  height: 0;
}

.gt740 #header.scroll #headerTop .boxInner {
  overflow: visible;
  height: auto;
  padding: 0;
}

/* ---- サイトロゴ ---- */

.gt740 #header.scroll #logo {
  position: absolute;
  top: 8px;
  left: 0;
}

.gt740 #header.scroll #logo a {
  width: 108px;
  height: 40px;
}

/* -- スクロール用ロゴ（非表示）：事前読み込み -- */

.gt740 #header #logo a:before {
  transition: all 0s ease-in-out;
  opacity: 0;
  -moz-opacity: 0;
  -ms-filter: "alpha(opacity=0)";
      filter: alpha(opacity=0);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/common/img/header/ttl-logo-scroll.png) no-repeat;
  content: "";
}

/* -- スクロール用ロゴ（表示） -- */

.gt740 #header.scroll #logo a:before {
  transition: all .5s ease-in-out;
  opacity: 1;
  -moz-opacity: 1;
  -ms-filter: "alpha(opacity=100)";
      filter: alpha(opacity=100);
}

/* ---- サイトロゴ＆ソーシャル（非表示） ---- */

.gt740 #header.scroll #logo a img,
.gt740 #header.scroll .boxSocial,
.gt740 #header.scroll .boxMenu{
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 0s ease-in-out;
  opacity: 0;
  -moz-opacity: 0;
  -ms-filter: "alpha(opacity=0)";
      filter: alpha(opacity=0);
}

/* ------ ヘッダー下部 ------ */

.gt740 #header.scroll #headerBtm {
  border-top: none;
}

/* ---- グローバルナビ ---- */

.gt740 #header.scroll #gnav .boxNavList > ul > li {
  transition: all .4s ease-in-out;
}

.gt740 #header.scroll #gnav .boxNavList > ul > li:first-child {
  border-left: none;
}

/* -- リスト幅個別設定 -- */

.gt740 #header.scroll #gnav .boxNavList .btnProgram {
  width: 145px;
}

.gt740 #header.scroll #gnav .boxNavList .btnCalendar {
  width: 165px;
}

.gt740 #header.scroll #gnav .boxNavList .btnEvent,
.gt740 #header.scroll #gnav .boxNavList .btnTicket,
.gt740 #header.scroll #gnav .boxNavList .btnHall,
.gt740 #header.scroll #gnav .boxNavList .btnNews {
  width: 125px;
}

.gt740 #header.scroll #gnav .boxNavList .btnAbout {
  width: 185px;
}


/*  コンテンツ 設定
---------------------------------------------*/

#content {
  /*padding-top: 158px;*/
  padding-bottom: 480px;
}

#contentMain .boxInner,
#contentBtm .boxInner {
  width: 952px;
}

.archive #contentMain .boxInner,
.archive #contentBtm .boxInner {
  width: 1100px;
}

#contentMain .boxInner {
  padding-top: 40px;
}
 

/*  フッター 設定
---------------------------------------------*/

#footer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 330px;
  background: #000;
}

#footer,
#footer a {
  color: #fff;
}

#footer a {
  text-decoration: none;
}

/* -------- フッター上部 -------- */

#footer #footerTop {
  border-bottom: 1px solid #333;
}

#footer #footerTop .boxInner {
  padding: 35px 0 30px;
}

/* ---- フッターナビ ---- */

#footer .boxFooterNav {
  text-align: center;
}

#footer .boxFooterNav > ul {
  height: 14px;
  letter-spacing: -.40em;
}

#footer .boxFooterNav > ul > li {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  border-left: 1px solid #a3a3a3;
  letter-spacing: normal;
  vertical-align: top;
}

#footer .boxFooterNav > ul > li:first-child {
  border-left: none;
}

/* -- リンク -- */

#footer .boxFooterNav > ul > li > a {
  display: block;
  transition: opacity .4s ease-in-out;
  padding: 0 22px;
  font-size: 1.1em;
  font-weight: bold;
  line-height: .96em;
}

/* -- リンク・ホバー時 -- */

#footer .boxFooterNav > ul > li > a:hover {
  opacity: .6;
}

/* -------- フッター下部 -------- */

#footer #footerBtm {
}

#footer #footerBtm .boxInner {
  padding: 46px 0 30px;
  text-align: center;
}

/* ---- ソーシャル ---- */

#footer .boxSocial {
  margin-bottom: 22px;
}

#footer .boxSocial dt,
#footer .boxSocial dd,
#footer .boxSocial li {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  vertical-align: middle;
}

#footer .boxSocial dt {
  padding-right: 12px;
}

#footer .boxSocial li {
  margin-left: 2px;
  border: 1px solid #fff;
  border-radius: 100%;
}

#footer .boxSocial li a {
  display: block;
  overflow: hidden;
  transition: transform .2s ease-in-out;
  width: 27px;
  height: 27px;
  border-radius: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #000;
}

/* -- リンク・ホバー時 -- */

#footer .boxSocial li a:hover {
  -webkit-transform: rotate(20deg);
      -ms-transform: rotate(20deg);
          transform: rotate(20deg);
}

/* -- Facebook -- */

#footer .boxSocial .btnFB a {
  background-image: url(/common/img/footer/social-btn-fb-pc.png);
}

/* -- Twitter -- */

#footer .boxSocial .btnTW a {
  background-image: url(/common/img/footer/social-btn-tw-pc.png);
}

/* -- リンク内SPAN -- */

#footer .boxSocial li a span {
  display: none;
}

/* ---- お問い合わせ ---- */

#footer .boxFooterContact {
  margin-bottom: 8px;
}

#footer .boxFooterContact .imgFooterLogo {
  margin-bottom: 8px;
}

#footer .boxFooterContact dt,
#footer .boxFooterContact dd,
#footer .boxFooterContact dd p {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  vertical-align: top;
}

#footer .boxFooterContact a {
  text-decoration: underline;
}

#footer .boxFooterContact a:hover {
  text-decoration: none;
}

/* ---- コピーライト ---- */

#footer  #copyright {
  display: block;
  font-size: 11px;
}

/* ---- ページトップ ---- */

#footer #pagetop {
  display: block;
  position: absolute;
  top: -100px;
  right: auto;
  left: auto;
  z-index: 600;
  margin-left: 1054px;
}

/* -- ページトップ・固定 -- */

#footer #pagetop.fxd {
  position: fixed;
  top: auto !important;
  bottom: 20px;
}

/* -- リンク -- */

#footer #pagetop a {
  display: block;
  position: relative;
  transition: opacity .4s ease-in-out;
  float: right;
  width: 46px;
  height: 46px;
  border-radius: 100%;
  background: #000;
}

#footer #pagetop a:before,
#footer #pagetop a:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all .2s;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  width: 8px;
  height: 8px;
  margin-top: -3px;
  margin-left: -5px;
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
  content: "";
}

#footer #pagetop a:after {
  margin-top: 0;
  border-top-color: #000;
  border-left-color: #000;
}

/* -- リンク・ホバー時 -- */

#footer #pagetop a:hover {
  opacity: .6;
}

/* -- リンク内テキスト -- */

#footer #pagetop a span {
  display: none;
}

