/*-------------------------------------
■ top main
-------------------------------------*/
.real_time{
	padding:0 20px;
	text-align:center;
	background:rgba(208,0,0,.5);
}
.real_time p{
	height:45px;
	line-height:45px;
	font-size:18px;
}
.real_time p .rt_text{
	padding-left:10px;
	-webkit-animation:blink 1s step-end infinite;
	animation:blink 1s step-end infinite;
}
@-webkit-keyframes blink{75%{opacity:0.0}}
@keyframes blink{75%{opacity:0.0}}

.top_sp_link_btn{
	display:none;
}

.tm_box img{
	width:100%;
}
.eb_l a img{
	width:100%;
}
.sb_box img{
	filter:grayscale(65%);
	width:100%;
}

.top_main_box{
	position:relative;
}
/* swiper ////////////////////////////////////////////*/
.tm_box{
	box-shadow:0 1px 5px rgba(0,0,0,.6);
}
.tm_box .swiper-wrapper li.swiper-slide br{
	display:none;
}
.tm_box .swiper-wrapper li.swiper-slide img:nth-of-type(2){
	display:none;
}
.top_main_box .swiper-pagination-bullet{
	margin:0 3px !important;
	width:40px;
	height:5px;
	border-radius:0;
}
.top_main_box .swiper-pagination-bullet{
	margin:0 10px;
	opacity:1;
	background:#666;
}
.top_main_box .swiper-pagination-bullet-active{
	background:#00cccb;
}
.top_main_box .swiper-pagination{
	position:absolute;
	bottom:10px;
	left:0;
	right:0;
	margin:0 auto;
	padding:0;
}
/* swiper ////////////////////////////////////////////*/

/*-------------------------------------
■ top main under
-------------------------------------*/
.b_title_wrapper{
	background:rgb(0,0,0,.5);
	box-shadow:0 0 4px rgba(0,0,0,.4);
}
.top_main_under{
	padding:30px 20px;
}
.tmu_title,
.tmu_text{
	text-align:center;
}
.tmu_title{
	font-size:18px;
	line-height:1.5em;
}
.tmu_title .f_p{
	font-size:26px;
}
.tmu_text{
	padding:30px 0;
	font-size:16px;
}
.tmu_text span{
	font-weight:bold;
}

.sb_wrapper{
	position:relative;
	margin-bottom:50px;
}
.sb_box{
	max-width:1060px;
}

/* swiper ////////////////////////////////////////////*/
.swiper-button-next, .swiper-button-prev{
	color:#e4007f;
}
/* swiper ////////////////////////////////////////////*/

.sb_box li{
	box-shadow:0 0 5px rgba(0,0,0,.6);
}
.sb_box li a{
	display:block;
	border:1px solid #8a004d;
}
.sb_box li a img{
	transition:transform .3s;
}
.sb_box li a:hover img{
	transform:scale(1.2);
}
.sb_box li:last-child a span{
	display:none;
}

/*-------------------------------------
■ today's schedule
-------------------------------------*/
.tsb_wrapper{
	position:relative;
	overflow:hidden;
}
.tsbw_bg_l,
.tsbw_bg_r{
	position:absolute;
	top:0;
}
.tsbw_bg_l{
	left:0;
}
.tsbw_bg_r{
	right:0;
}

.top_sche_box .c_title,
.eve_box .c_title{
	color:#015949;
}

.t_wrapper{
	padding-bottom:40px;
}
.t_box{
	display:inline-block;
	width:23.75%;
	margin-left:1%;
	margin-bottom:2%;
	vertical-align:top;
	border-top-left-radius:20px;
	border-bottom-right-radius:20px;
	box-shadow:0 0 10px -5px rgba(0,0,0,.6);
}

.t_box .tb_img{
	position:relative;
	display:block;
	color:#fff;
	border-top-left-radius:20px;
	border-bottom-right-radius:20px;
}

.tbi_w{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-position:center center;
	background-size:cover;
}
.t_box .tb_img .tbi_w{transition:transform .5s}
.t_box .tb_img:hover .tbi_w{transform:scale(1.1)}

.tb_info{
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	padding:10px 0 5px;
	text-align:center;
	background:rgba(4,140,147,.8)
}
.tb_info p{
	line-height:1.2;
	padding-bottom:5px;
}
.tbi_name{
	font-size:18px;
}
.tbi_name span{
	margin-left:5px;
	font-size:14px;
}
.tbi_3{
	font-size:12px;
}
.tbi_time{
	font-size:18px;
}
.tbi_time span img{
	vertical-align:top;
	margin:3px 10px 0 0;
}

.icon_new{
	position:absolute;
	top:0;
	left:0;
}
.icon_black,.icon_ken{
	position:absolute;
	top:0;
	right:0;
}

/*-------------------------------------
■ menu
-------------------------------------*/
.menu_box{
	position:relative;
	margin-bottom:60px;
}
.menu_left{
	position:absolute;
	top:0;
	left:0;
	width:50%;
	max-width:55px;
}
.menu_w{
	position:relative;
}
.menu_bg{
	position:absolute;
	top:0;
	left:0;
}

.menu_right{
	padding:50px 0 0 50px;
	position:relative;
	width:calc(50% - 50px)
}
.mr_menu{
	position:relative;
	font-family: Montserrat,'Noto Sans JP',"ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}

.mrm_box{
	padding:30px 40px;
	color:#333;
	text-align:center;
	border-top-left-radius:30px;
	border-bottom-right-radius:30px;
	box-shadow:0 0 10px -5px rgba(0,0,0,.6);
	background:rgba(255,255,255,.9);
}
.mrm_title{
	color:#009190;
	font-size:26px;
	line-height:2.5;
}
.mrm_text{
	font-size:14px;
	line-height:1.9;
	color:#666;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

.mrm_fee{
	margin:0 auto;
	padding:35px 0;
	width:80%;
}
.mrmf_l{
	margin-bottom:20px;
	border-bottom:1px dashed #333;
}
.mrmf_l p{
	font-size:30px;
}
.mrmf_l p:first-child{
	float:left;
}
.mrmf_l p:first-child span{
	font-size:30px;
	color:#009190;
}
.mrmf_l p:last-child{
	float:right;
}

.mrmf_t{
	padding-top:30px;
	font-size:18px;
	text-align:center;
	color:#009190;
}

.mrm_text span{
	color:#009190;
	font-size:20px;
	font-family: Montserrat,'Noto Sans JP',"ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}

.link_btn.mlb{
	position:absolute;
	left:50%;
	bottom:6%;
	max-width:calc(50% - 100px);
	margin-left:50px;
}

/*-------------------------------------
■ concept
-------------------------------------*/
.concept_box .c_title{
	float:right;
	width:50%;
	margin-left:-10%;
}
.conc_w{
	position:relative;
}
.conc_bg{
	float:left;
	padding:50px 0;
	width:60%
}

.cb_wrapper{
	position:relative;
	float:right;
	width:50%;
	margin-left:-10%;
}
.cb_wrapper li{
	width:100%;
	background:rgba(0,0,0,.9);
}

.cb_wrapper li a div{
	overflow:hidden;
}
.cb_wrapper li a div img{
	transition:transform .3s;
}
.cb_wrapper li a p{
	padding:20px 10px;
	font-size:16px;
	color:#fff;
	text-align:center;
	transition:color .3s
}

.cb_wrapper li a:hover div img{
	transform: scale(1.2);
}
.cb_wrapper li a:hover p{
	color:#82ddf0;
}

.cb_wrapper .cbw_title{
	font-family:'Cormorant Garamond', serif;
	margin-bottom:10px;
	display:block;
	color:#fff;
	font-size:30px;
}
.cb_wrapper .cbw_title span{
	color:#00cccb;
}

.cbw_info_top,
.cbw_info_bottom{
	padding:30px 10px;
	text-align:center;
	line-height:1.5;
	box-sizing:border-box;
	font-size:20px;
	color:#00cccb;
}


/*-------------------------------------
■ access
-------------------------------------*/
.access_box{
	padding:40px 20px 0;
}

.access_box .c_title{
	float:left;
	width:50%;
}


.ab_map{
	float:right;
}
.ab_map_info{
	float:left;
}
.ab_map{
	width:50%;
	padding-top:40px;
}
.ab_map_info{
	margin-right:20px;
	width:calc(50% - 20px);
}

.ab_map iframe{
	width:100%;
}
.ab_text{
}
.ab_text p{
	margin-bottom:50px;
	font-size:16px;
	text-align:center;
}
.ab_text p .f_p{
	font-size:20px;
}

.ab_text .link_btn{
	margin:0 auto;
}

/*-------------------------------------
■ event
-------------------------------------*/
.event_box{
	padding:20px;
}
.eb_w{
	text-align:center;
}
.eb_l{
	display:inline-block;
	width:31%;
	margin:0 1% 2%;
	vertical-align:top;
	box-shadow:0 0 10px -5px rgba(0,0,0,.6);
}
.eb_l a{
	position:relative;
	display:block
}

.eb_l a img{transition:transform .5s}
.eb_l a:hover img{transform:scale(1.1)}

.eb_l p{
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	padding:10px;
	color:#fff;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	font-size:20px;
	line-height:1.8;
	background:rgba(0,0,0,.3)
}
.eb_l span.f_p{
	position:absolute;
	left:10px;
	top:10px;
	display:block;
	padding:5px 10px;
	font-size:16px;
	color:#fff;
	border-radius:50px;
	background:rgba(0,0,0,.3)
}

/*-------------------------------------
■ pick up
-------------------------------------*/
.pickup_box{
	position:relative;
	overflow:hidden;
}

.pbw_bg_l,
.pbw_bg_r{
	position:absolute;
	top:0;
}
.pbw_bg_l{
	left:0;
}
.pbw_bg_r{
	right:0;
}

.pb_inner{
	padding:0 20px 70px;
}
.pbi_c{
	text-align:center;
}
.pbi_c a{
	position:relative;
	display:inline-block;
	margin-left:20px;
	margin-bottom:20px;
	width:calc(50% - 10px);
}
.pbi_c a:nth-child(2n+1){
	margin-left:0;
}
.pbi_c a:last-child{
}
.pbi_c a img{
	transition:opacity .3s;
}
.pbi_c a:hover img{
	opacity:.8;
}

/*-------------------------------------
■ info
-------------------------------------*/
.info_box{
	padding:20px;
}

.twitter_box,
.news_box{
	float:left;
	width:50%;
}

.ib_tb,
.ib_nb{
	background:#000;
}

/* twitter
--------------------------------*/
.ib_tb{
	margin-right:10px;
}

/* news
--------------------------------*/
.ib_nb{
	overflow:auto;
	margin-left:10px;
	padding:20px;
	max-height:600px;
	border:1px solid #00cccb
}
.ib_nb_text{
	font-size:16px;
	margin-bottom:10px;
	padding:0 10px 10px;
	border-bottom:1px solid #444;
}
.ib_nb_text:last-child{
	border-bottom:0;
}
.ib_nb_text .f_p{
	font-size:14px;
	display:block;
}










@media screen and (max-width:970px){
/*-------------------------------------
■ top main under
-------------------------------------*/
	.tmu_title{font-size:30px}

/*-------------------------------------
■ today's schedule
-------------------------------------*/
	.t_box{width:32%}

/*-------------------------------------
■ menu
-------------------------------------*/
	.menu_right{
		padding-left:0;
		float:none;
		width:80%;
		margin:0 auto;
	}
	.link_btn.mlb{
		margin:20px auto 30px;
		position:relative;
		left:auto;
		max-width:80%;
	}

/*-------------------------------------
■ event
-------------------------------------*/
	.eb_l{width:48%}
}










@media screen and (max-width:767px){
	.swiper-button-prev,
	.swiper-button-next{
		display:none;
	}
	.sb_wrapper{
		padding:0 20px;	
	}

	.top_sp_link_btn{
		display:block;
		padding:0 20px 20px;
	}
	.top_sp_link_btn ul{
		display:flex;
		align-items:stretch;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	.top_sp_link_btn ul li{
		width:calc(100% / 4 - (30px / 3));
		margin-left:10px;
	}
	.top_sp_link_btn ul li:first-child{
		margin-left:0;
	}
	.top_sp_link_btn ul li a{
		display:block;
		padding:15px 0;
		line-height:1.6;
		text-align:center;
		color:#fff;
		font-weight:bold;
		font-size:.6rem;
		border-radius:50px;
		background:#00cccb;
	}
	.top_sp_link_btn ul li a i{
		display:block;
		font-size:1.5rem;
		color: #fff;
	}

/*-------------------------------------
■ top main
-------------------------------------*/
	.real_time p{font-size:16px}

/* swiper ////////////////////////////////////////////*/
	.tm_box .swiper-wrapper li.swiper-slide img:nth-of-type(1){display:none}
	.tm_box .swiper-wrapper li.swiper-slide img:nth-of-type(2){display:inline}

	.top_main_box .swiper-pagination-bullet{width:30px;height:5px}
	.top_main_box .swiper-pagination{padding:10px}
/* swiper ////////////////////////////////////////////*/
/*-------------------------------------
■ top main under
-------------------------------------*/
	.tmu_title{font-size:20px}
	.tmu_text{padding:20px 0 5px}
	.sb_wrapper{margin-bottom:40px}

/*-------------------------------------
■ today's schedule
-------------------------------------*/
	.t_wrapper{
		padding:0 5px 40px;
		margin-bottom:30px;
	}
	.t_box{
		width:48%;
		margin:0 1% 2%;
	}
	.tb_info{
		padding:5px 0;
	}
	.tb_info p{padding-bottom:3px}
	.tbi_name,
	.tbi_time{
		font-size:16px
	}
	.tbi_3{font-size:10px}
	.tb_info p.tbi_time{padding-bottom:0}

/*-------------------------------------
■ menu
-------------------------------------*/
	.menu_box{
		margin-bottom:0;
	}
	.menu_right{
		padding-top:30px;
	}
	.mr_menu{
		padding:0 10px 10px
	}
	.menu_right{
		width:96%;
	}

.sp_none{
	display:none;
}
.mrm_box{
	position:relative;
	padding:3% 5%;
	background:#ececec;
}
.mrm_title{
	font-size:20px;
	font-weight:bold;
}
.mrm_text{
	font-size:16px;
}
.mrm_text span{
	font-size:16px;
	font-weight:bold;
}

.mrm_fee{
	padding:6% 0 5%
}
.mrmf_l{
	margin-bottom:5%;
}
.mrmf_l p,
.mrmf_l p:first-child span{
	font-size:20px;
}
.mrmf_t{
	padding-top:4%;
	font-size:16px;
}

	.mr_menu .link_btn{
		position:relative;
		right:auto;
		bottom:auto;
		margin:10px auto;
	}

/*-------------------------------------
■ concept
-------------------------------------*/
	.concept_box .c_title{
		width:100%;
		float:none;
		margin-left:0;
	}
	.conc_bg{
		position:absolute;
		top:0;
		left:-10px;
		padding:0;
		float:none;
		width:calc(100% + 20px);
	}
	.cb_wrapper{
		display:block;
		padding:30px 10px;
		float:none;
		width:100%;
		margin:0 auto;
		box-sizing:border-box;
	}
	.cb_wrapper li{
		width:100%;
		margin-left:0;
	}
	.cb_wrapper li a p{
		padding:10px;
		font-size:16px;
		color:#fff;
		transition:color .3s
	}

	.cbw_info_top,
	.cbw_info_bottom{
		font-size:18px;
	}

/*-------------------------------------
■ access
-------------------------------------*/
	.access_box{
		padding:10px 15px;
	}
	.access_box .c_title{
		float:none;
		width:100%;
	}
	.ab_map,
	.ab_text{
		float:none;
		width:96%;
		margin-left:auto;
		margin-right:auto;
	}
	.ab_map{
		padding-top:0;
	}
	.ab_map iframe{height:400px}
	.ab_text{padding:0}
	.ab_text p{margin:20px 0}
	.ab_text p .f_p{font-size:18px}
	.ab_text .link_btn{margin:0 auto}

	.ab_map_info{
		margin-right:auto;
		margin-left:auto;
		width:96%;
	}

/*-------------------------------------
■ event
-------------------------------------*/
	.event_box{
		padding:10px;
	}
	.eb_l{
		width:96%;
		margin:0 0 20px;
	}
	.eb_l span.f_p{
		font-size:12px;
	}
	.eb_l p{
		font-size:14px;
	}

/*-------------------------------------
■ pick up
-------------------------------------*/
	.pb_inner{
		padding:0 10px 40px;
	}
	.pbi_c a{
		margin-left:0;
		width:96%;
	}

/*-------------------------------------
■ info
-------------------------------------*/
	.info_box{
		padding:10px;
	}
	.twitter_box,
	.news_box{
		float:none;
		width:100%;
	}
	.twitter_box{
		margin-bottom:20px;
	}
	.ib_tb{
		width:90%;
		margin-right:auto;
		margin-left:auto;
	}
	.ib_nb{
		width:90%;
		margin-right:auto;
		margin-left:auto;
		padding:10px;
	}
}