@charset "utf-8";

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

　　個別設定（トップページ）

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


/*  全体・コンテナー 設定
---------------------------------------------*/

#container {
}

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

#header {
}


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

#main {
  margin-bottom: 0;
}

#content {
  color: #2d487e;
}

#content a {
  transition: all 0.4s ease-in-out;
}

/* -------- メインビジュアル -------- */

#mainvisual {
  overflow: hidden;
  text-align: center;
}

#mainvisual,
#mainvisual li a {
  height: 368px;
}

/*
#mainvisual .visual {
  position: relative;
  min-width: 1064px;
  height: 440px;
  margin: 0 auto;
  overflow: hidden;
}

#mainvisual .visual .item {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
}

#mainvisual .visual .img1 {
  background: url(../img/mainvisual-img1.png) no-repeat top center #92dbe6;
}

#mainvisual .visual .img2 {
  background: url(../img/mainvisual-img2.png) no-repeat top center #92dbe6;
}

#mainvisual .visual .img3 {
  background: url(../img/mainvisual-img3.png) no-repeat top center transparent;
}

#mainvisual .visual .img4 {
  background: url(../img/mainvisual-img4.png) no-repeat top center transparent;
}

#mainvisual .visual.ie8 .img3 {
  background: url(../img/mainvisual-img3-ie8.png) no-repeat top center transparent;
}

#mainvisual .visual.ie8 .img4 {
  background: url(../img/mainvisual-img4-ie8.png) no-repeat top center transparent;
}
*/

/* ---- Prev,Next ---- */

.slick-arrow {
  transition: background .4s ease-in-out;
  z-index: 10;
  transform: none;
  width: 58px;
  height: 97px;
  margin-top: -60px;
  border-radius: 0 !important;
  background: rgba(68,68,68,.8) !important;
}

.slick-prev {
  left: -26px;
}

.slick-next {
  right: -26px;
}

.slick-arrow:before {
  transform: rotate(45deg);
  opacity: 1 !important;
  transition: border-color .4s ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -8px;
  margin-left: -10px;
  width: 14px;
  height: 14px;
  border-width: 0 0 2px 2px;
  border-style: solid;
  border-color: #fff;
  background: none !important;
  content: "";
}

.slick-prev:before {
  margin-left: -5px;
}

.slick-next:before {
  border-width: 2px 2px 0 0;
}

.slick-arrow:hover {
  background: rgba(68,68,68,.9) !important;
}

/* ---- Content ---- */

#mainvisual .boxSlide {
}

#mainvisual .boxCalendarDetail,
#mainvisual .boxNewsList {
  display: inline;
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
}

#mainvisual ul {
}

#mainvisual li {
  float: left;
  width: 50%;
  padding: 0 1px;
  letter-spacing: 0;
}

.gt640 #mainvisual li {
  width: 582px !important;
}

#mainvisual li a {
	display: block;
}

#mainvisual li .boxSlideCont {
  position: relative;
  clear: both;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
  background: #000;
}

#mainvisual .boxImgArea {
  transition: opacity .4s ease-in-out;
  width: 100%;
  height: 100%;
}

#mainvisual .boxImgArea img {
  width: 100%;
  margin: 0;
  opacity: 1;
}

#mainvisual .boxTxtArea {
  transition: background .4s ease-in-out;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  width: 100%;
  padding: 8px 20px 25px;
  background: rgba(0,0,0,.7);
  color: #fff;
}

#mainvisual li a:hover .boxTxtArea {
  background: rgba(0,0,0,.9);
}

#mainvisual li a:hover img {
  opacity: 1;
}

#mainvisual li a:hover .boxImgArea {
  opacity: .8;
}

#mainvisual .boxTxtArea .txtData,
#mainvisual .boxTxtArea .txtNewsLabel {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
}

#mainvisual .boxTxtArea .txtData {
  font-size: .95em;
}

#mainvisual .boxTxtArea .txtNewsLabel {
  margin-left: 5px;
}

#mainvisual .boxTxtArea .txtCate {
  padding-top: 8px;
  padding-bottom: 3px;
  font-size: .95em;
}

#mainvisual .boxTxtArea .txtNews {
  font-size: 1.25em;
  font-weight: bold;
}

#mainvisual .boxTxtArea .txtCate,
#mainvisual .boxTxtArea .txtNews {
  overflow: hidden;
  max-width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}


/* -------- カレンダー -------- */

.boxCalendarWrap {
  padding: 15px;
  border: 1px solid #1570a6;
  font-size: .9em;
}

/* ------ カレンダーボックス ------ */

.boxCalendar {
  float: left;
  width: 33.6%;
}

.boxCalendar a {
  transition: opacity .4s ease-in-out;
}

.boxCalendar a:hover {
  opacity: .7;
}

/* ---- テーブル ---- */

.boxCalendarTable {
  padding: 15px 20px 10px;
  border: 1px solid #1570a6;
  background: #f5fbff;
  text-align: center;
}

.boxCalendarTable table {
  width: 100%;
}

/* -- テーブル Caption -- */

.boxCalendarTable table caption {
  overflow: hidden;
  max-width: 230px;
  margin: 0 auto;
  padding-bottom: 12px;
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
}

.boxCalendarTable table caption .prev,
.boxCalendarTable table caption .next {
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  width: 18px;
  height: 22px;
  text-indent: 100px;
  line-height: 100px;
}

.boxCalendarTable table caption .prev {
  float: left;
}

.boxCalendarTable table caption .next {
  float: right;
}

.boxCalendarTable table caption .prev:before,
.boxCalendarTable table caption .prev:after,
.boxCalendarTable table caption .next:before,
.boxCalendarTable table caption .next:after {
  position: absolute;
  top: 4px;
  left: -6px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-right: 8px solid #1570a6;
  border-bottom: 8px solid transparent;
  border-left: 8px solid transparent;
  border-radius: 3px;
  content: "";
}

.boxCalendarTable table caption .prev:after,
.boxCalendarTable table caption .next:after {
  left: -4px;
  border-right-color: #f5fbff;
}

.boxCalendarTable table caption .next:before,
.boxCalendarTable table caption .next:after {
  right: -6px;
  left: auto;
}

.boxCalendarTable table caption .next:before {
  border-right-color: transparent;
  border-left-color: #1570a6;
}

.boxCalendarTable table caption .next:after {
  right: -4px;
  border-right-color: transparent;
  border-left-color: #f5fbff;
}

/* -- テーブル Tbody -- */

.boxCalendarTable table tbody {
}

.boxCalendarTable table th,
.boxCalendarTable table td a {
  padding: 3px;
  text-align: center;
}

.boxCalendarTable table th {
  padding-bottom: 5px;
  font-size: .95em;
}

.boxCalendarTable table td {
  width: 14.3%;
  border-collapse: collapse;
  border: 1px solid #1570a6;
  background: #fff;
  color: #999;
  font-size: 1.3em;
  font-weight: bold;
  letter-spacing: -.05em;
}

.boxCalendarTable table td a {
  display: block;
}

.boxCalendarTable table a {
  text-decoration: none;
}

/* -- テーブル説明 -- */

.boxCalendarTable ul {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  margin: 0 -20px 0;
  padding: 10px 0 0;
  font-size: .72em;
  line-height: 1.5em;  
  letter-spacing: -.01em;
  text-align: left;
}

.boxCalendarTable ul li {
  position: relative;
  padding-left: 10px;
}

.boxCalendarTable ul li:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 5px;
  content: "・";
}

/* ---- リンクボタン ---- */

.boxCalendar .btnLink {
  padding-top: 10px;
}

.boxCalendar .btnLink a {
  display: block;
  padding: 4px;
  border: 2px solid #1570a6;
  background: #fff;
  font-size: .95em;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
}

/* ------ カレンダー詳細 ------ */

.boxCalendarDetail {
  overflow: hidden;
  float: right;
  width: 64%;
}

/* -- 日付タイトル -- */

.boxCalendarDetail h2 {
  padding: 2px;
  background: #e5e5e5;
  font-size: 1.1em;
  font-weight: bold;
  text-align: center;
  letter-spacing: -.02em;
}

/*--総合イベント--*/
.synthesisEvent {
	background-color: #EDF3F7; 
	padding:20px;
	overflow: hidden;
}

.synthesisEvent ul li { display: block; clear: both; margin-bottom:1em; border-bottom:1px #ccc solid; padding:1em 0;}

.synthesisEvent ul li{ width:100%; overflow: hidden;}

.synthesisEvent ul li:last-child{ border: none;}

.synthesisEvent div.eventBnr {
	float:left;
	width:390px;
	padding-top:10px;
}

.synthesisEvent div.eventTxt{
	float:right;
	width:380px;
	padding-top:10px;
}

.synthesisEvent div.eventTxt p span{
	font-weight: bold;
}
/* -- お知らせ一覧 -- */

.boxCalendarDetail .boxNewsList {
  margin-bottom: -1px;
  font-size: .95em;
  letter-spacing: -.02em;
}

.boxCalendarDetail .boxNewsList a:hover {
  opacity: 1 !important;
  text-decoration: none;
}

.boxCalendarDetail .boxNewsList li {
  overflow: visible;
  letter-spacing: -.40em;
  line-height: 1.65em;
}

/* -- 日付＆お知らせ内容 -- */

.boxCalendarDetail .boxNewsList .boxNewsDate,
.boxCalendarDetail .boxNewsList .boxNewsCont {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  letter-spacing: normal;
  vertical-align: top;
}

/* -- 日付 -- */

.boxCalendarDetail .boxNewsList .boxNewsDate { 
  width: 36%;
  font-weight: normal;
}

.boxCalendarDetail .boxNewsList .txtNewsLabel {
  width: 105px;
  margin-top: 15px;
  margin-bottom: -3px;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
  text-align: center;
}

.boxCalendarDetail .boxNewsList .txtNewsSubLabel {
  background: none;
}

/* -- お知らせ内容 -- */

.boxCalendarDetail .boxNewsList .boxNewsCont { 
  width: 64%;
  padding-left: 38px;
}

.boxCalendarDetail .boxNewsList .boxNewsCont p {
  margin: 0;
}


/* -------- ニュース -------- */

#news {
}

.boxNewsWrap {
  padding: 50px 0 0 0;
}

/* ---- News ---- */

.boxNews {
	float: left;
	width: 710px;
}

.boxNews .boxSectionHead {
	margin-bottom: 0.5em;
	border-bottom: 2px solid #2d487e;
}

.boxNews .boxSectionHead .ttlSection {
	float: left;
	display: inline-block;
  margin-bottom: 10px;
  font-size: 1.6em;
  font-weight: bold;
}

.boxNews .boxSectionHead .btnLink a {
	float: right;
  display: inline-block;
  *display: inline;
  *zoom: 1;
	margin-bottom: 10px;
  padding: 2px 20px;
  border-radius: 2px;
  border: 1px solid #2d487e;
  background: #fff;
  font-size: 0.85em;
  font-weight: bold;
  text-align: center;
  line-height: 1.6em;
}

.boxNews .boxSectionHead .btnLink a:hover {
  opacity: 0.6;
}

.boxNews .boxSectionContent {
}

/* ---- Banner ---- */

.boxBanner {
	float: right;
	width: 220px;
}

.boxBanner p.bnrTop {
	margin-bottom: 8px;
}


.boxBanner a.boxLineupLnk {
	width: 220px;
	height: auto;
}

.boxBanner a.boxLineupLnk:hover {
	text-decoration: underline;
}

.boxBanner .boxLineupLnk dl {
	width: 220px;
	height: auto;
	padding: 9px;
	background-color: #fcfcfc;
	border: 1px solid #ccc;
}

.boxBanner .boxLineupLnk dl dt img {
	width: 200px;
	height: auto;
}

.boxBanner .boxLineupLnk dl dd {
	position: relative;
	padding-top: 0.75em;
	font-size: 0.81em;
	color: #2d487e;
	line-height: 1.5em;
	letter-spacing: 0;
}

.boxBanner .boxLineupLnk dl dd::after{ 
	display: block;
	content: '';
	position: absolute;
	top: 48%;
	right: 4px;
	width: 6px;
	height: 6px;
	border-right: 1px solid #2d487e;
	border-bottom: 1px solid #2d487e;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}



/* -------- イベント -------- */

#event {
  background: #fbf9f3;
}

.boxEvent {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  min-height: 420px;
}

/* ---- Section Head ---- */

.boxEvent .boxSectionHead {
  margin-bottom: 30px;
  padding-left: 222px;
}

/* ---- Section Content ---- */

.boxEvent .boxSectionContent {
  padding-left: 300px;
}

/* -- Pre Event -- */
.boxEvent .icnPre {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  position: relative;
  border-radius: 2px;
  color: #fff;
  margin-bottom: 15px;
  padding: 4px 30px;
  background: #153973;
  font-size: 0.9em;
  line-height: 1.5em; 
  letter-spacing: 0;
}

.boxEvent .icnPre::before {
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 0;
  height: 0;
  margin-left: -6px;
  border-top: 6px solid #153973;
  border-right: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid transparent;
  content: "";
}

/* -- タイトル -- */

.boxEvent .ttlSection {
  width: 700px;
  height: 32px;
  margin-bottom: 10px;
  background: url(../img/event-ttl-section.png);
  font-size: 2.2em;
}

.boxEvent .ttlSection span {
  padding-right: 10px;
  font-weight: bold;
}

.boxEvent .ttlSection + .txtSub {
  width: 428px;
  height: 18px;
  background: url(../img/event-txt-sub.png);
  color: #fca103;
  font-size: 1.1em;
  font-weight: bold;
}

/* -- イベントイメージ -- */

.boxEvent .imgEvent {
  position: absolute;
  top: 30px;
  left: 0;
}

/* -- 日付 -- */

.boxEvent .txtDate {
  margin-bottom: 8px;
  font-size: 1.2em;
  font-weight: bold;
  letter-spacing: -0.5px;
}

.boxEvent .txtDate strong {
  font-size: 1.8em;
  font-weight: bold;
  letter-spacing: -1px;
}

/* -- 参加無料テキスト -- */

.boxEvent .txtEventFree {
  margin-bottom: 50px;
  font-size: 1.15em;
  font-weight: bold;
  color: #044c7c;
}



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

#footer {
}

/* ------------ ▼第2フェーズ ------------ */
#contentTwoColumn {
  background: #fff;
}

.bx-wrapper {
  margin: 0 auto;
  padding-bottom: 60px; 
  background: #fff;
}

#mainvisual .boxMainvisual .bx-controls-direction a {
  margin-top: -37px;
}

#mainvisual .boxMainvisual .bx-controls-direction a.bx-prev::before,
#mainvisual .boxMainvisual .bx-controls-direction a.bx-next::before {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 30px;
height: 30px;
margin: auto;
content: "";
vertical-align: middle;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}

#mainvisual .boxMainvisual .bx-controls-direction a.bx-prev::before {
left: 10px;
border-bottom: 4px solid #666;
border-left: 4px solid #666;
}

#mainvisual .boxMainvisual .bx-controls-direction a.bx-next::before {
left: -10px;
border-top: 4px solid #666;
border-right: 4px solid #666;
}

.boxTopContent {
  padding-right: 18px;
}

.boxTopInfo {
  padding: 0 20px 70px;
}


/* ---- おすすめイベント ---- */
.boxTopInfoContent .boxPickup {
  margin-top: 20px;
}

.boxInfoContent .boxPickup .bx-wrapper {
  padding-bottom: 0; 
}

/* ---- バナー ---- */
.boxTopContent .boxTopBnr {
  margin-top: 50px;
  text-align: center;
}

.boxTopContent .boxTopBnr li {
  display: inline-block;
  vertical-align: top;
  border: 5px solid #dcdcdc;
}

.boxTopContent .boxTopBnr li:nth-child(even) {
  margin-left: 10px;
}

.boxTopContent .boxTopBnr li a {
  display: block;
  width: 410px;
  padding: 10px 14px;
  border-radius: 2px;
  text-decoration: none;
}

.boxTopContent .boxTopBnr li a:hover {
  opacity: 0.6;
}

.boxTopContent .boxTopBnr li a p {
  padding: 5px 0;
}

.boxTopContent .boxTopBnr li a p:first-child {
  border-bottom: 1px solid #ccc;
  font-size: 16px;
  font-weight: bold;
}

.boxTopContent .boxTopBnr li a p:last-child {
  color: #666;
}

/*スライドがない場合のページネーション非表示*/
/*.bx-pager-item{ display:none !important; }*/

/* ---- youtube ---- */
#boxYoutube {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin-bottom:20px;
	}
#boxYoutube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}
	
.indexnotice {
	width:1164px;
	padding:0 20px 20px;
	font-size:90%;
}

#contentWide .boxCommonContent {
	margin-bottom:60px;
  padding-top: 28px;
	padding-bottom:40px;
}

#main { padding-bottom:0;
}
/* ------------ //第2フェーズ ------------ */
