/* global */
@font-face {
font-family: sans-serif;
src: local(HiraginoSans-W3);
font-weight: normal;
}
@font-face {
font-family: sans-serif;
src: local(HiraginoSans-W6);
font-weight: bold;
}
/*↓2017.02.14追加*/
@font-face {
font-family: 'Hiragino Kaku Gothic Pro W3';
src: local(HiraginoSans-W3);
font-weight: normal;
}
@font-face {
font-family: 'Hiragino Kaku Gothic Pro W3';
src: local(HiraginoSans-W6);
font-weight: bold;
}
/*↑2017.02.14追加*/
@font-face {
font-family: 'ヒラギノ角ゴ Pro W3';
src: local(HiraginoSans-W3);
font-weight: normal;
}
@font-face {
font-family: 'ヒラギノ角ゴ Pro W3';
src: local(HiraginoSans-W6);
font-weight: bold;
}
@font-face {
font-family: 'ヒラギノ角ゴ ProN W3';
src: local(HiraginoSans-W3);
font-weight: normal;
}
@font-face {
font-family: 'ヒラギノ角ゴ ProN W3';
src: local(HiraginoSans-W6);
font-weight: bold;
}
@font-face {
font-family: 'ＭＳ Ｐゴシック';
src: local(HiraginoSans-W3);
font-weight: normal;
}
@font-face {
font-family: 'ＭＳ Ｐゴシック';
src: local(HiraginoSans-W6);
font-weight: bold;
}
@font-face {
font-family: 'MS P Gothic';
src: local(HiraginoSans-W3);
font-weight: normal;
}
@font-face {
font-family: 'MS P Gothic';
src: local(HiraginoSans-W6);
font-weight: bold;
}
@font-face {
font-family: 'MS PGothic';
src: local(HiraginoSans-W3);
font-weight: normal;
}
@font-face {
font-family: 'MS PGothic';
src: local(HiraginoSans-W6);
font-weight: bold;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
html {
	height: 100%;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Helvetica,Arial,Sans-Serif;
	font-size: 18px;
	line-height: 1.75;
	font-weight: normal;
	color: #000;
}
h1, h2, h3, h4, h5, h6, figure, p, ul {
	margin: 0;
}
a,
a:hover,
a:focus {
	text-decoration: none;
}
img {
	max-width: 100%;
}
iframe,
img {
	vertical-align: top;
}
[v-cloak] {
	display: none;
}
.clr:after,
.list-float:after {
	content: '';
	display: block;
	clear: both;
}
.list-unstyled {
	list-style: none;
	padding-left: 0;
}
.list-inline li {
	display: inline-block;
	vertical-align: top;
	zoom: 1; /* Fix for IE7 */
	*display: inline; /* Fix for IE7 */
}
.list-float li {
	float: left;
}
.container {
	max-width: 1034px;
	padding-left: 12px;
	padding-right: 12px;
	margin-left: auto;
	margin-right: auto;
}
.btn {
	padding: 0;
	border: 0;
	outline: none;
	border-radius: 0;
}
.btn:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}
.red {
	color: #DD0E0E;
}
.blue {
	color: #0479ba;
}
.blue a {
	color: #0479ba;
}
.blue a span {
	text-decoration: underline;
}
.blue a:hover {
	color: #07526D;
}
.blue a:hover span {
	text-decoration: none;
	color: #07526D;
}
.home {
	height: 100%;
}

.header {
	position: relative;
	padding-top: 70px;
	max-height: 100vh;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
}
.navbar {
	position: fixed;
	top: 0;
	width: 100%;
	max-width: 1920px;
	z-index: 99;
	background-color: #150508;
}
.logo {
	position: absolute;
	top: 0;
	left: 75px;
	padding: 10px 0;
}
.logo img {
	width: 190px;
}
.navbar .nav {
	text-align: center;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	letter-spacing: -1px;
	font-weight: bold;
}
.navbar .nav li {
	letter-spacing: normal;
}
.navbar .nav a {
	display: block;
	padding: 24px 18px 22px;
	text-transform: uppercase;
	color: #000;
	font-weight: 600;
}
.navbar .nav a[disable] {
	color: #646464;
	pointer-events: none;
}
.navbar .nav li.active a,
.navbar .nav li.active a:hover {
	color: #DB0E0E;
}

.connect {
	position: absolute;
	right: 92px;
	top: 23px;
	z-index: 100;
}
.connect li {
	display: inline-block;
	margin: 0 7px;
}
.connect .btn {
	display: block;
	width: 21px;
	height: 21px;
	background: transparent url('../img/connect.png') left top no-repeat;
	background-size: 42px auto;
}
.connect .btn-fb {
	background-position: left bottom;
}
.head-banner {
	position: relative;
	background-image: url('../img/bg_black.jpg');
/*	-webkit-background-size: cover;
	background-size: cover;*/
	-webkit-background-size: contain;
	background-size: contain;
	background-position: center center;
	height: 100%;
	background-repeat: no-repeat;
}

.head-banner .bg-image {
	opacity: 0;
	filter: alpha(opacity=0);
	width: 100%;
	max-height: calc(100vh - 70px);
}
.head-banner.head-banner--logo-only {
	background-image: url(../img/logo-mc.png);
	padding: 30px 0;
	-webkit-background-size: auto;
	background-size: auto;
}
.head-banner.head-banner--logo-only .bg-image {
	width: auto;
}
.head-banner h1 {
    position: absolute;
    bottom: 35px;
    left: 0;
    width: 100%;
    text-align: center;
    padding: 0 147.5px;
}
.head-banner h1 img {
	width: 715px;
}
#main {}
.section {
	padding: 48px 0 83px;
}
.section-title {
	font-family: 'Roboto', sans-serif;
	text-transform: uppercase;
	font-size: 42px;
	margin-bottom: 39px;
	text-align: center;
	font-style: italic;
	padding-top: 40px;
}
.section-title.section-title--access {
	padding-top: 0px;
	margin-top: -39px;
	margin-bottom: 18px;
}
#kidscare .section-title{
	padding-top: 50px;
}

.section-title span {
	padding: 0 6px;
	position: relative;
	z-index: 1;
}
.news-list li {
}
.news-list li + li {
	margin-top: 10px;
}
.news-item {
	position: relative;
	background-color: #f5f5f5;
	padding: 34px 52px 39px;
}
.news-header {
	margin-bottom: 17px;
}
.news-header .label {
	font-size: 9px;
	line-height: 12px;
	text-transform: uppercase;
	background-color: #dd0e0e;
	color: #fff;
	width: 32px;
	height: 32px;
	line-height: 32px;
	text-align: center;
	position: absolute;
	top: 32px;
	left: 0;
}
.news-header .title {
	font-size: 22px;
	line-height: 36px;
    margin-right: 90px;
}
.news-item .date {
	font-size: 12px;
	color: #282828;
	display: block;
}
.news-body .brief {
	font-size: 14px;
}
.news-body .brief a {
	color: #DB0E0E;
	text-decoration: underline;
}
.news-body .brief a:hover {
	text-decoration: none;
}
.news-body .brief p + p {
	margin-top: 26px;
}
.news-item .btn-detail {
	font-size: 11px;
	line-height: 16px;
	color: #fff;
	background-color: #DB0E0E;
	padding: 0 9px;
}
.news-item .btn-detail:hover {
	background-color: #aaa;
}
#schedule {
	background-color: #f5f5f5;
	padding-top: 58px;
	padding-bottom: 60px;
}

.schedule-body .list-unstyled:after {
	content: '';
	display: block;
	clear: both;
}
.schedule {
	background-color: #ffffff;
	border: 1px solid #DB0E0E;
	padding: 19px 28px 93px;
	height: 100%;
	position: relative;
}
.schedule-header {
	margin-bottom: 24px;
	text-align: center;
}
.schedule-title {
	font-size: 36px;
	line-height: 1.75;
	letter-spacing: 0.14em;
	position: relative;
}
.schedule-title .btn-detail {
	display: inline-block;
	font-size: 11px;
	line-height: 16px;
	font-weight: normal;
	color: #fff;
	background-color: #DB0E0E;
	padding: 0 9px;
	position: absolute;
	height: 16px;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto 0;
}
.schedule-subtitle {
	color: #DB0E0E;
	font-size: 18px;
	line-height: 1.75;
}
.schedule .item {
	background-color: #f5f5f5;
	text-align: center;
	margin-bottom: 7px;
}
.schedule .item time {
	display: block;
	font-size: 16px;
	line-height: 1.75;
}
.schedule .item .date {
	font-weight: bold;
	display: block;
	margin-bottom: -7px;
}
.schedule .item time .time {
	font-size: 14px;
	color: #282828;
}
.schedule .item .title {
	font-weight: bold;
}
.schedule .item .soldout {
	font-size: 12px;
	color: #db0e0e;
    margin-top: -4px;
}
.schedule-footer {
	font-size: 12px;
	text-align: center;
	line-height: 19px;
}
.schedule-footer a {
	display: block;
	color: #282828;
}
.schedule-footer a:hover,
.schedule-footer a:focus {
	text-decoration: none;
}
#schedule .container {
	position: relative;
}
#schedule .container:before,
#schedule .container:after {
	content: '';
	display: block;
	position: absolute;
	left: 12px;
	right: 12px;
	height: 14px;
	background: url(../img/fence_bg.png) left top repeat-x;
}
#schedule .container:before {
	top: -65px;
}
#schedule .container:after {
	bottom: -66px;
}
.notes {
	font-size: 12px;
	color: #969696;
}
.block {
	margin-bottom: 97px;
}
.block:last-child {
	margin-bottom: 0;
}
.block-header {
	margin-bottom: 43px;
	text-align: center;
}
.block-title {
	font-size: 22px;
	line-height: 1.64;
	font-weight: 600;
	padding-top: 40px;
}
.block-title small {
	display: block;
	font-size: 12px;
	line-height: 19px;
	font-weight: 400;
	color: #282828;
}
#ticket {
	padding-top: 77px;
	padding-bottom: 86px;
}
#ticket .section-title {
	margin-bottom: 52px;
}
#ticket .section-title span:before {
	background-color: #0faef8;
}
.ticket-fee .list-float {
	margin-left: -12.5px;
	margin-right: -12.5px;
}
.ticket-fee .list-float li {
	width: 25%;
	position: relative;
	padding-left: 12.5px;
	padding-right: 12.5px;
	text-align: center;
}
.ticket-fee .list-float li .inner {
	background-color: #f5f5f5;
	padding: 12px 0;
}
.ticket-fee .list-float li .type {
	font-size: 22px;
	font-weight: 600;
	margin-right: 15px;
}
.ticket-fee .list-float li .price {
	font-size: 18px;
	font-weight: 700;
	color: #db0e0e;
}
.ticket-fee .notes {
	margin-top: 29px;
}
.ticket-fee .notes li {
	display: block;
}
.ticket-list {
	margin-bottom: 126px;
}
.ticket-list li {
	position: relative;
	padding-left: 37px;
	margin-bottom: 81px;
}
.ticket-list .title {
	font-size: 24px;
	margin-bottom: 9px;
}
.ticket-list .title:before {
	content: '';
	width: 15px;
	height: 30px;
	background-color: #0faef8;
	position: absolute;
	left: 0;
	top: 6px;
	border-radius: 2px;
}
.ticket-list .notes li {
	padding-left: 0;
	margin-bottom: 0;
	margin-top: 0;
	text-align: left;
}
.ticket-list .warning {
	font-size: 14px;
	margin-top: 43px;
	margin-bottom: 45px;
}
.ticket-list .warning .banner {
	float: left;
	background-color: #098409;
	border: 1px solid #3DC416;
	color: #fff;
	border-radius: 2px;
	padding: 15px 18px 13px 20px;
	margin-right: 69px;
	margin-bottom: 8px;
}
.ticket-list .warning .banner:not(.banner_close):before {
	content: '';
	display: inline-block;
	vertical-align: top;
	zoom: 1; /* Fix for IE7 */
	*display: inline; /* Fix for IE7 */
	width: 23px;
	height: 23px;
	border-radius: 50%;
	border: 2px solid #fff;
	margin-right: 12px;
}
.ticket-list .warning .banner:not(.banner_close):hover {
	background-color: #075607;
	border-color: #318C13;
	color: #C8C8C8;
}
.ticket-list .warning .banner:not(.banner_close):hover:before {
	border-color: #C8C8C8;
}
.ticket-list .warning .banner_close {
	background-color: #f7f7f7;
	border: 1px solid #e2e2e2;
	color: #ccc;
	padding: 15px 35px 13px 35px;
}
.ticket-list .warning .banner_close:before {
	border-color: #ccc;
}


.ticket-list .warning .content {
	overflow: hidden;
	margin-top: 4px;
}
.ticket-list .warning .content .blue {
	font-size: 12px;
}
.ticket-list > li > .notes {
	line-height: 19px;
}
#news-first-scroll {
	padding-top: 40px;
}
.ticket-notes {
	background-color: #f7f7f7;
	font-size: 14px;
	padding: 15px 0 11px 0;
	margin-bottom: 113px;
	border-radius: 2px;
}
.ticket-notes li {
	margin-bottom: 4px;
}
.ticket-notes li label {
	display: block;
	width: 118px;
}
.ticket-notes li span {
	display: block;
	overflow: hidden;
}
.ticket-info {
	border: 1px solid #ffffff;
	background-color: #1e1e1e;
	font-size: 14px;
	text-align: center;
	padding: 4px;
}
.ticket-info li label {
	margin-right: 10px;
}
.ticket-info li + li {
	margin-left: 21px;
}
.ticket-additional {
	font-size: 14px;
	margin-top: -22px;
}
.ticket-additional .block-header {
	margin-bottom: 24px;
	padding-top: 97px;
}
.ticket-additional >.list-unstyled >li {
	border-top: 1px solid #5a5a5a;
	border-bottom: 1px solid #5a5a5a;
	position: relative;
}
.ticket-additional >.list-unstyled >li:before {
	content: '';
	display: block;
	width: 32px;
	height: 4px;
	background-color: #db0e0e;
	position: absolute;
	top: -3px;
	left: 74px;
}
.ticket-additional-item {
	margin-bottom: 2px;
}
.ticket-additional-label {
	display: block;
	font-weight: 600;
	padding: 18px 24px 16px 0;
}
.ticket-additional-content {
	display: block;
	overflow: hidden;
	border-bottom: 1px solid #5a5a5a;
	padding: 18px 0 16px;
}
.ticket-additional .ticket-additional-item:last-child .ticket-additional-content {
	border-bottom: 0;
}
.ticket-additional-content p + p {
	margin-top: 15px;
}
.ticket-additional-content h4 {

}

.ticket-additional-content a {
	color: #ccc;
	text-decoration: underline;
}

.kidseat:last-child {
	margin-bottom: 7px;
}
.kidseat + .kidseat {
	margin-top: 24px;
}
.kidseat-title {
	display: block;
	position: relative;
	padding-left: 40px;
	margin-bottom: 15px;
}
.kidseat-title img {
	position: absolute;
	left: 0;
	top: 2px;
	height: 18px;
}
.kidseat:first-child .kidseat-title img {
	left: 2px;
}
.kidseat-list {
	padding: 0 18px;
	margin-bottom: 10px;
}
.kidseat-list li {
	padding-left: 17px;
	text-indent: -17px;
}
.kidseat-list li:nth-child(n + 10) {
	padding-left: 26px;
	text-indent: -26px;
}
.kidseat-list li + li {
	margin-top: 4px;
}
#footer {
	font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
	text-align: center;
	padding: 21px 0;
	position: relative;
}
.site-name {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: -10px;
	color: #db0e0e;
}
.site-address {
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 13px;
}
.site-address a {
	color: #db0e0e;
}
.social {
	line-height: 0;
}
.social .fb-like > span {
	vertical-align: top !important;
}
.site-copyright {
	font-size: 10px;
}
.site-copyright a img {
	margin-top: 2px;
	height: 11px;
	margin-right: 15px;
	display: inline-block;
	vertical-align: top;
	zoom: 1; /* Fix for IE7 */
	*display: inline; /* Fix for IE7 */
}

/*access page - subpage*/
/*.subpage .logo {
	position: static;
	width: auto;
}
.subpage .logo img {
	margin-top: 0;
}*/
.subpage .header {
	height: auto;
	padding-top: 36px;
}
.subpage .connect {
	bottom: auto;
	top: 40px;
}

.access-location-list span {
	display: block;
}
.access-link {
	display: block;
	padding-right: 30px;
	padding-left: 23px;
	position: relative;
	margin-bottom: 27px;
	cursor: pointer;
	color: #fff;
}

.access-link:before {
	content: '';
	display: block;
	position: absolute;
	width: 7px;
	height: 42px;
	top: 50%;
	left: 0;
	margin-top: -18px;
	background-color: #db0e0e;
	opacity: 0;
	border-radius: 2px;
}
.access-link:hover:before,
.access-link.active:before {
	opacity: 1;
}
.access-link .name {
	font-size: 18px;
	font-weight: bold;
}
.access-link .note {
	font-size: 14px;
	line-height: 17px;
	color: #646464;
}
.access-link.disable {
	pointer-events: none;
	color: #646464;
}
.access-main-info {
	border: 1px solid #bcbcbc;
	border-radius: 4px;
	padding: 57px 33px 87px;
}
.access-main-info h4 {
	margin-bottom: 65px;
}
.access-main-info figure {
	margin-bottom: 52px;
}
.access-main-info figure img {
	width: 100%;
}
.access-main-info figure.figure-addtional {
	margin-top: 20px;
	text-align: center;
}
.access-main-info figure.figure-addtional img {
/*	width: auto;
	max-width: 100%;*/
	width: 100%;
}
.vehicles-info {
	font-size: 14px;
	border-top: 1px solid #bcbcbc;
}
.vehicles-info li {
	border-bottom: 1px solid #bcbcbc;
	padding: 24px 0 19px;
}
.vehicles-info label {
	display: block;
	white-space: nowrap;
}
#block-datetable {
	margin-top: -123px;
}

.ticket-datetable {
	width: 100%;
	font-size: 14px;
	border-collapse: collapse;
}
.ticket-datetable th {
	background-color: #1e1e1e;
	font-weight: 600;
	padding: 0;
	text-align: center;
}
.ticket-datetable th:first-child {
	width: 47.44%;
}
.ticket-datetable th:nth-child(2) {
	width: 25.84%;
	border-left: 4px solid #000;
	border-right: 4px solid #000;
}
.ticket-datetable th:nth-child(3) {
	width: 25.84%;
}
.ticket-datetable tbody tr {
	border-bottom: 1px solid #1e1e1e;
}
.ticket-datetable td {
	padding: 14px 0 10px;
	height: 72px;
}
.ticket-datetable td:nth-child(1) {
	padding-left: 18px;
}
.ticket-datetable td:nth-child(2),
.ticket-datetable td:nth-child(3) {
	text-align: center;
}
.ticket-datetable td span {
	display: block;
	line-height: 15px;
	margin-bottom: 6px;
	font-weight: 600;
}
.block-header h4 {
	margin-top: 8px;
	font-size: 18px;
	font-weight: normal;
}

@media screen and (min-width: 768px) {
	.sp {
		display: none !important;
	}
	.navbar .nav a span {
		border-bottom: 3px solid transparent;
	}
	.navbar .nav a:hover {
		text-decoration: underline;
	}
	.news-item .date {
		position: absolute;
		top: 46px;
		right: 68px;
	}
	.news-body {
		position: relative;
	}
	.news-item .btn-detail {
		position: absolute;
	    bottom: 42px;
	    right: 54px;
	}
	.schedule-contact label {
		margin-right: 30px;
	}
	.ticket-notes li label {
		float: left;
		text-align: center;
	}
	.ticket-additional-label {
		float: left;
		width: 203px;
		text-align: center;
	}
	.backtotop {
		position: fixed;
		right: 55px;
		bottom: 37px;
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-transition: all .3s ease;
		   -moz-transition: all .3s ease;
		    -ms-transition: all .3s ease;
		     -o-transition: all .3s ease;
		        transition: all .3s ease;
	}
	.backtotop.active {
		opacity: 1;
		filter: alpha(opacity=100);
	}
	.backtotop.active.end {
		bottom: 168px;
	}
	.backtotop.active:hover {
		opacity: 0.7;
		filter: alpha(opacity=70);
	}
	.social {
		position: absolute;
		right: 55px;
		top: 26px;
		text-align: right;
	}
	.social li + li {
		margin-top: 10px;
	}
	.subpage .navbar {
		position: static;
	}
	.section#access {
		padding: 0 0 0 33px;
		margin-top: 71px;
		margin-bottom: 152px;
		border: 0;
	}
	.access-inner:after {
		content: '';
		display: block;
		clear: both;
	}
	.access-location-list {
		padding-top: 25px;
		float: left;
		width: 218px;
	}
	.access-main-info {
		float: right;
		width: calc(100% - 218px);
	}
	.access-main-info h3,
	.access-main-info h4 {
		font-size: 24px;
		letter-spacing: 0.14em;
	}
	.vehicles-info label {
		float: left;
		width: 168px;
		padding-left: 13px;
	}
	.vehicles-info .content {
		overflow: hidden;
	}
	.vehicles-info .content p {
		margin-bottom: 4px;
	}
	.ticket-datetable-wrap {
		padding: 0;
		margin: 40px 0;
	}
	.schedule-row {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		margin-left: -12px;
		margin-right: -12px;
		margin-top: 58px;
	}
	.schedule-col {
		width: 33.333333%;
		float: left;
		padding-left: 12px;
		padding-right: 12px;
		margin-bottom: 23px;
	}
	.schedule .item {
		height: 90px;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.schedule-footer {
		position: absolute;
		width: 100%;
		left: 0;
		bottom: 24px;
	}
}
@media screen and (max-width: 1220px) and (min-width: 968px) {
	.logo {
		position: static;
		float: left;
		padding-left: 10px;
	}
	.connect {
		position: static;
		float: right;
		margin-top: 23px;
	}
	.navbar .nav {
		float: left;
	}
}
@media screen and (min-width: 968px) {
	.navbar-toggle {
		display: none;
	}
	.header#access-page {
		margin-bottom: 30px;
		padding-top: 90px;
	}
}
@media screen and (max-width: 967px) {
	.logo, .connect {
		display: none;
	}
	.navbar {
		position: fixed;
		z-index: 1005;
		top: 0;
		right: 0;
		width: 100%;
		height: 0;
	}
	.navbar .nav {
		position: absolute;
		width: 100%;
		top: -787px;
		background-color: #040205;
		padding-top: 96px;
		font-size: 35px;
		border-bottom: 1px solid #282828;
		-webkit-transition: top .3s ease-in-out;
		   -moz-transition: top .3s ease-in-out;
		    -ms-transition: top .3s ease-in-out;
		     -o-transition: top .3s ease-in-out;
		        transition: top .3s ease-in-out;
	}
	.navbar .nav a {
		padding: 12px;
		border-top: 1px solid #282828;
		color: #282828;
	}
	.navbar .nav li.active a,
	.navbar .nav li.active a:hover {
		background-color: transparent;
		color: #282828;
	}
	body.nav-open .navbar .nav {
		top: 0;
	}
	.navbar .nav li {
		display: block;
	}
	.navbar-toggle {
		width: 96px;
		height: 96px;
		background: #f5f5f5 url('../img/btn-toggle.png') center top no-repeat;
		background-size: 100% auto;
		position: absolute;
		top: 2px;
		right: 2px;
		border-radius: 2px;
	}
	.navbar-toggle.active {
		background-position: center bottom;
		border-color: transparent;
		background-color: transparent;
	}
}
@media (max-width: 1140px) and (min-width: 768px) {
	.subpage .navbar {
		padding-right: 85px;
	}
}
@media screen and (max-width: 870px) {
	.connect {
		right: 17px;
	}
}
@media screen and (max-width: 795px) {
	.subpage .navbar .nav a {
		padding-left: 15px;
		padding-right: 15px;
	}
	.header#access-page {
		padding-bottom: 20px;
	}
}
@media screen and (max-width: 767px) {
	body {
		font-size: 22px;
	}
	.pc {
		display: none !important;
	}
	.container {
		padding-left: 20px;
		padding-right: 20px;
	}
	.header {
		padding-top: 100px;
		padding-bottom: 200px;
		height: 100vh;
	}
	.header#access-page {
		height: auto;
	}
	.head-banner {
		background-size: 100% auto;
		background-image: url(../img/bg_black-sp.png);
	}
	.head-banner.head-banner--logo-only {
		background-image: url(../img/logo-mc.png);
		-webkit-background-size: ;
		background-size: 80%;
	}
	.subpage .header {
		padding-top: 0;
	}

	.scrolldown {
		position: absolute;
		bottom: 25px;
		left: 50%;
		margin-left: -35px;
		font-size: 0;
		z-index: 5;
	}
	.section {
		padding: 61px 0 103px;
	}
	.section-title {
		font-size: 55px;
		margin-bottom: 36px;
		padding-top: 0;
	}
	.section-title span:before {
		bottom: 5px;
	}
	#kidscare .section-title{
		padding-top: 0;
	}
	.news-item {
		padding: 37px 50px 27px;
	}
	.news-list li + li {
		margin-top: 20px;
	}
	.news-header {
		margin-bottom: 22px;
	}
	.news-header .label {
		width: 42px;
		height: 42px;
		line-height: 42px;
		font-size: 12px;
		top: 32px;
	}
	.news-header .title {
		font-size: 30px;
        margin-right: 0;
	}
	.news-body .brief {
		font-size: 22px;
	}
	.news-body .brief p {
		margin-bottom: 10px;
	}
	.news-item .date {
		font-size: 22px;
		margin-bottom: -3px;
		padding-left: 8px;
	}
	.news-item .btn-detail {
		padding: 3px 8px;
		font-size: 22px;
		margin-left: 2px;
	}
	#schedule {
		padding-top: 82px;
		padding-bottom: 72px;
	}
	#schedule .container:before,
	#schedule .container:after {
		height: 25px;
		background-size: auto 100%;
		left: 20px;
		right: 20px;
	}
	#schedule .container:before {
		top: -94px;
	}
	#schedule .container:after {
		bottom: -115px;
	}
	#schedule .section-title {
		margin-bottom: 67px;
	}
	.schedule {
		padding: 26px 66px 22px;
	}
	.schedule-col {
		margin-bottom: 30px;
	}
	.schedule-header {
		margin-bottom: 34px;
	}
	.schedule-title {
		font-size: 50px;
		letter-spacing: 0.12em;
	}
	.schedule-title .btn-detail {
		margin: 11px 0 10px;
	}
	.schedule-title:before {
		width: 20px;
		height: 60px;
		top: 13px;
	}
	.schedule-subtitle {
	    font-size: 35px;
	    margin-top: -9px;
	}
	.schedule .item {
	    margin-bottom: 16px;
	    padding: 18px 20px 19px;
	}
	.schedule .item time {
		margin-bottom: -5px;
		letter-spacing: 0.14em;
	}
	.schedule .item .date {
		font-size: 35px;
		margin-bottom: -1px;
	}
	.schedule .item time .time {
		font-size: 22px;
	}
	.schedule .item .title {
		display: block;
	}
	.schedule .item .soldout {
		font-size: 22px;
	}
	.schedule-footer {
		font-size: 22px;
		line-height: 38px;
		padding-top: 6px;
	}
	#ticket {
		padding-top: 54px;
		padding-bottom: 6px;
	}
	#ticket .section-title {
		margin-bottom: 27px;
	}
	.notes {
		font-size: 22px;
		line-height: 28px;
	}
	.block {
		margin-bottom: 105px;
	}
	.block-header {
		margin-bottom: 65px;
	}
	.block-title {
		font-size: 30px;
	}
	.block-title small {
		font-size: 22px;
		line-height: 33px;
	}
	.ticket-fee {
	}
	.ticket-fee .list-float {
		margin-left: 0;
		margin-right: 0;
	}
	.ticket-fee .list-float li {
		float: none;
		width: 100%;
		padding: 0;
		margin-bottom: 19px;
	}
	.ticket-fee .list-float li .inner {
		padding-top: 27px;
		padding-bottom: 27px;
	}
	.ticket-fee .list-float li .type {
		font-size: 48px;
	}
	.ticket-fee .list-float li .price {
		font-size: 40px;
	}
	.ticket-fee .notes {
		margin-top: 17px;
		text-align: left;
		padding-left: 0;
		padding-right: 0;
	}
	.ticket-list {
		margin-bottom: 154px;
	}
	.ticket-list li {
		padding-left: 53px;
		margin-bottom: 40px;
	}
	.ticket-list .title {
		font-size: 40px;
		line-height: 1.35;
		margin-bottom: 15px;
	}
	.ticket-list .title:before {
		width: 20px;
		height: 40px;
		top: 5px;
	}
	.ticket-list .datetime {
		font-size: 30px;
		line-height: 1.6;
	}
	.ticket-list > li > .notes {
		line-height: 30px;
	}
	.ticket-list .warning {
		font-size: 26px;
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.ticket-list .warning span {
		line-height: 60px;
	}
	.ticket-list .warning .content {
		display: block;
	}

	.ticket-notes {
		font-size: 22px;
		margin-left: -30px;
		margin-right: -30px;
		margin-bottom: 23px;
		padding-top: 29px;
		padding-left: 60px;
		padding-right: 60px;
		padding-bottom: 4px;
	}
	.ticket-notes li {
		margin-bottom: 23px;
	}
	.ticket-notes li label {
		margin-bottom: 2px;
	}
	.ticket-info {
		font-size: 22px;
		padding: 16px 0;
	}
	.ticket-info li + li {
		margin-left: 0;
	}
	.ticket-info li {
		margin-bottom: 5px;
	}
	.ticket-info li:first-child {
		margin-right: 60px;
	}
	.ticket-info li:last-child {
		margin-left: 38px;
	}
	.ticket-additional {
		font-size: 22px;
		margin-top: -27px;
	}
	.ticket-additional .block-header {
		margin-bottom: 58px;
		padding-top: 0;
	}
	.ticket-additional-label {
		padding: 19px 38px 0;
	}
	.ticket-additional >.list-unstyled >li {
		margin-bottom: 103px;
	}
	.ticket-additional >.list-unstyled >li:before {
		left: 40px;
		width: 80px;
		height: 5px;
	}
	.ticket-additional-content {
		padding: 3px 38px 12px;
	}
	.ticket-additional-content p + p {
		margin-top: 0;
	}
	.kidseat {
		padding-top: 33px;
	}
	.kidseat-title {
		margin-bottom: 22px;
		padding-left: 48px;
	}
	.kidseat-title img {
		height: 31px;
	}
	.kidseat-list {
		padding: 0 24px;
	}
	.kidseat-list li {
		padding-left: 26px;
		text-indent: -26px;
	}
	.kidseat-list li:nth-child(n + 10) {
		padding-left: 40px;
		text-indent: -40px;
	}
	.kidseat-list li + li {
		margin-top: 0;
	}
	.kidseat + .kidseat {
		margin-top: 12px;
	}
	#footer {
		padding: 27px 0 19px;
	}
	.site-name {
		font-size: 25px;
		margin-bottom: -19px;
	}
	.site-address {
		font-size: 46px;
		margin-bottom: 8px;
	}
	.social {
		margin-bottom: 14px;
	}
	.social li {
		display: inline-block;
		vertical-align: top;
		zoom: 1; /* Fix for IE7 */
		*display: inline; /* Fix for IE7 */
	}
	.social li + li {
		margin-left: 10px;
	}
	.site-copyright {
		font-size: 18px;
	}
	.site-copyright a img {
		height: 20px;
	}
	.section#access {
		margin-top: 47px;
		padding: 76px 6px 109px;
		margin-bottom: 53px;
	}
	.access-location-select:after {
		content: '';
		display: block;
		clear: both;
	}
	.access-location-select {
		margin-bottom: 62px;
	}
	.access-location-select h2 {
		font-size: 55px;
		line-height: 63px;
		float: left;
		font-family: 'Roboto', sans-serif;
		position: relative;
		margin-left: 31px;
		padding: 0 8px;
		z-index: 1;
	}
	.access-location-select h2:before {
		content: '';
		display: block;
		width: 100%;
		height: 12px;
		border-radius: 2px;
		background-color: #db0e0e;
		position: absolute;
		left: 0;
		bottom: 8px;
		z-index: -1;
	}
	.access-location-select-wrap {
		display: block;
		float: right;
		margin-right: 18px;
	}
	.access-location-select-wrap select {
		display: block;
		min-width: 240px;
		height: 63px;
		-webkit-appearance: none;
		-moz-appearance: none;
		-ms-appearance: none;
		appearance: none;
		border: none;
		border-radius: 0;
		background-color: #db0e0e;
		background-image: url('../img/select_angle.png');
		-webkit-background-size: 19px;
		background-size: 19px;
		background-repeat: no-repeat;
		background-position: right 24px top 24px;
		padding-left: 34px;
		padding-right: 50px;
		font-size: 30px;
		text-overflow: "";
		text-indent: 0.01px;
		max-width: 239px;
		color: #fff;
		border-radius: 2px;
	}
	.access-location-select-wrap select::-ms-expand{
	    display: none;
	}
	.access-main-info {
		border: 0;
		padding: 0;
	}
	.access-main-info h3,
	.access-main-info h4 {
		font-size: 35px;
		margin-left: 31px;
	}
	.access-main-info h3 {
		margin-bottom: -5px;
	}
	.access-main-info h4 {
		margin-bottom: 36px;
	}
	.access-main-info figure {
		margin-bottom: 100px;
	}
	.vehicles-info {
		font-size: 22px;
	}
	.vehicles-info li {
		padding: 19px 20px 14px 29px;
	}
	.vehicles-info label {
		margin-bottom: 3px;
		text-indent: -14px;
	}
	/*.vehicles-info .line {
		margin-left: -30px;
		margin-right: -30px;
	}*/
	#block-datetable {
		margin-top: -114px;
	}
	.ticket-datetable {
		font-size: 20px;
		line-height: 28.5px;
		margin: 40px 0;
	}
	.ticket-datetable th {
		font-size: 22px;
		height: 57px;
	}
	.ticket-datetable th:first-child {
		width: 45.17%;
	}
	.ticket-datetable th:nth-child(2) {
		border-left-width: 8px;
		border-right-width: 8px;
	}
	.ticket-datetable th:nth-child(2),
	.ticket-datetable th:nth-child(3) {
		width: 26.15%;
	}
	.ticket-datetable td {
		text-align: center;
		line-height: 28.5px;
		height: 177px;
	}
	.ticket-datetable td:nth-child(1) {
		padding: 22px 0 31px 0;
	}
	.ticket-datetable td span {
		font-size: 22px;
		line-height: 28.5px;
		margin-bottom: 11px;
	}
	.block-header h4 {
		margin-top: 8px;
		font-size: 26px;
	}

}

@media screen and (max-width: 749px) {
	body {
		font-size: 11px;
	}
	.container {
		padding-left: 10px;
		padding-right: 10px;
	}
	.header {
		padding-top: 50px;
		padding-bottom: 100px;
	}
	.header#access-page {
		padding-top: 45px;
	}
	.subpage .header {
		padding-top: 0;
	}
	.navbar .nav {
		padding-top: 48px;
		font-size: 17.5px;
	}
	.navbar .nav a {
		padding: 6px;
	}
	.navbar-toggle {
		width: 48px;
		height: 48px;
		top: 1px;
		right: 1px;
		border-radius: 1px;
	}
	.scrolldown {
		bottom: 12.5px;
		margin-left: -17.5px;
		width: 35px;
	}
	.section {
		padding: 30px 0 50px;
	}
	.section-title {
		font-size: 27.5px;
		margin-bottom: 18px;
	}
	.section-title span:before {
		bottom: 2.5px;
	}
	.news-item {
		padding: 18.5px 25px 23.5px;
	}
	.news-list li + li {
		margin-top: 10px;
	}
	.news-header {
		margin-bottom: 11px;
	}
	.news-header .label {
		width: 21px;
		height: 21px;
		line-height: 21px;
		font-size: 6px;
		top: 16px;
	}
	.news-header .title {
		font-size: 15px;
		line-height: 18px;
	}
	.news-body .brief {
		font-size: 11px;
	}
	.news-body .brief p {
		margin-bottom: 5px;
	}
	.news-item .date {
		font-size: 11px;
		margin-bottom: -1px;
		padding-left: 4px;
	}
	.news-item .btn-detail {
		padding: 1.5px 4px;
		font-size: 11px;
		margin-left: 1px;
	}
	#schedule {
		padding-top: 41px;
		padding-bottom: 36px;
	}
	#schedule .container:before,
	#schedule .container:after {
		height: 12.5px;
		left: 10px;
		right: 10px;
	}
	#schedule .container:before {
		top: -47px;
	}
	#schedule .container:after {
		bottom: -57.5px;
	}
	#schedule .section-title {
		margin-bottom: 33.5px;
	}
	.schedule {
		padding: 13px 33px 11px;
	}
	.schedule-col {
		margin-bottom: 15px;
	}
	.schedule-header {
		margin-bottom: 17px;
	}
	.schedule-title {
		font-size: 25px;
		letter-spacing: 0.06em;
	}
	.schedule-title:before {
		width: 10px;
		height: 30px;
		top: 6.5px;
	}
	.schedule-subtitle {
	    font-size: 17.5px;
	    margin-top: -4.5px;
	}
	.schedule .item {
	    margin-bottom: 8px;
	    padding: 9px 10px 9.5px;
	}
	.schedule .item time {
		margin-bottom: -2.5px;
		letter-spacing: 0.07em;
	}
	.schedule .item .date {
		font-size: 17.5px;
		margin-bottom: 0px;
	}
	.schedule .item time .time {
		font-size: 11px;
	}
	.schedule .item .soldout {
		font-size: 11px;
	}
	.schedule-footer {
		font-size: 11px;
		line-height: 19px;
		padding-top: 3px;
	}
	#ticket {
		padding-top: 27px;
	}
	#ticket .section-title {
		margin-bottom: 13.5px;
	}
	.notes {
		font-size: 11px;
		line-height: 14px;
	}
	.block {
		margin-bottom: 52.5px;
	}
	.block-header {
		margin-bottom: 32.5px;
	}
	.block-title {
		font-size: 15px;
	}
	.block-title small {
		font-size: 11px;
		line-height: 16.5px;
	}
	.ticket-fee .list-float li {
		margin-bottom: 9.5px;
	}
	.ticket-fee .list-float li .inner {
		padding-top: 13.5px;
		padding-bottom: 13.5px;
	}
	.ticket-fee .list-float li .type {
		font-size: 24px;
	}
	.ticket-fee .list-float li .price {
		font-size: 20px;
	}
	.ticket-fee .notes {
		margin-top: 8.5px;
	}
	.ticket-list {
		margin-bottom: 77px;
	}
	.ticket-list li {
		padding-left: 26.5px;
		margin-bottom: 20px;
	}
	.ticket-list .title {
		font-size: 20px;
		margin-bottom: 7.5px;
	}
	.ticket-list .title:before {
		width: 10px;
		height: 220px;
		top: 2.5px;
	}
	.ticket-list .datetime {
		font-size: 15px;
	}
	.ticket-list > li > .notes {
		line-height: 15px;
	}
	.ticket-list .warning {
		font-size: 13px;
		margin-top: 15px;
		margin-bottom: 15px;
	}
	.ticket-list .warning span {
		line-height: 30px;
	}
	.ticket-notes {
		font-size: 11px;
		margin-left: -15px;
		margin-right: -15px;
		margin-bottom: 11.5px;
		padding-top: 14.5px;
		padding-left: 30px;
		padding-right: 30px;
		padding-bottom: 2px;
	}
	.ticket-notes li {
		margin-bottom: 11.5px;
	}
	.ticket-notes li label {
		margin-bottom: 1px;
	}
	.ticket-info {
		font-size: 11px;
		padding: 8px 0;
	}
	.ticket-info li {
		margin-bottom: 2.5px;
	}
	.ticket-info li:first-child {
		margin-right: 30px;
	}
	.ticket-info li:last-child {
		margin-left: 19px;
	}
	.ticket-additional {
		font-size: 11px;
		margin-top: -13.5px;
	}
	.ticket-additional .block-header {
		margin-bottom: 29px;
	}
	.ticket-additional-label {
		padding: 9.5px 19px 0;
	}
	.ticket-additional >.list-unstyled >li {
		margin-bottom: 51.5px;
	}
	.ticket-additional >.list-unstyled >li:before {
		left: 20px;
		width: 40px;
		height: 2.5px;
	}
	.ticket-additional-content {
		padding: 1.5px 19px 6px;
	}
	.kidseat {
		padding-top: 16.5px;
	}
	.kidseat-title {
		margin-bottom: 11px;
		padding-left: 24px;
	}
	.kidseat-title img {
		height: 15.5px;
	}
	.kidseat-list {
		padding: 0 12px;
	}
	.kidseat-list li {
		padding-left: 13px;
		text-indent: -13px;
	}
	.kidseat-list li:nth-child(n + 10) {
		padding-left: 20px;
		text-indent: -20px;
	}
	.kidseat + .kidseat {
		margin-top: 6px;
	}
	#footer {
		padding: 13.5px 0 9.5px;
	}
	.site-name {
		font-size: 12.5px;
		margin-bottom: -9.5px;
	}
	.site-address {
		font-size: 23px;
		margin-bottom: 4px;
	}
	.social {
		margin-bottom: 7px;
	}
	.social li + li {
		margin-left: 5px;
	}
	.site-copyright {
		font-size: 9px;
	}
	.site-copyright a img {
		height: 10px;
	}
	.section#access {
		margin-top: 23.5px;
		padding: 38px 3px 54.5px;
		margin-bottom: 26.5px;
	}
	.access-location-select {
		margin-bottom: 31px;
	}
	.access-location-select h2 {
		font-size: 27.5px;
		line-height: 31.5px;
		margin-left: 15.5px;
		padding: 0 4px;
	}
	.access-location-select h2:before {
		height: 6px;
		border-radius: 1px;
		left: 0;
		bottom: 4px;
	}
	.access-location-select-wrap {
		margin-right: 9px;
	}
	.access-location-select-wrap select {
		min-width: 120px;
		height: 31.5px;
		background-position: right 12px top 12px;
		padding-left: 17px;
		padding-right: 25px;
		font-size: 15px;
		max-width: 120px;
		border-radius: 1px;
	}
	.access-main-info h3,
	.access-main-info h4 {
		font-size: 17.5px;
		margin-left: 15.5px;
	}
	.access-main-info h3 {
		margin-bottom: -2.5px;
	}
	.access-main-info h4 {
		margin-bottom: 18px;
	}
	.access-main-info figure {
		margin-bottom: 50px;
	}
	.vehicles-info {
		font-size: 11px;
	}
	.vehicles-info li {
		padding: 9.5px 10px 7px 14.5px;
	}
	.vehicles-info label {
		margin-bottom: 1.5px;
		text-indent: -7px;
	}
	#block-datetable {
		margin-top: -57px;
	}
	.ticket-datetable {
		font-size: 10px;
		line-height: 14px;
	}
	.ticket-datetable th {
		font-size: 11px;
		height: 28.5px;
	}
	.ticket-datetable th:nth-child(2) {
		border-left-width: 4px;
		border-right-width: 4px;
	}
	.ticket-datetable td {
		line-height: 14px;
		height: 88.5px;
	}
	.ticket-datetable td:nth-child(1) {
		padding: 11px 0 15.5px 0;
	}
	.ticket-datetable td span {
		font-size: 11px;
		line-height: 14px;
		margin-bottom: 6px;
	}
	.block-header h4 {
		margin-top: 8px;
		font-size: 13px;
	}

}



#access {
	width: 970px;
	max-width: 100%;
	margin: 0 auto;
}
#access header {
	text-align: center;
	padding: 40px 0;
}
#access header span {
	font-style: italic;
	display: block;
}
.access-list {
    margin:0 20px 10px;
    overflow: hidden;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}

.access-list:after {
	content: '';
	display: block;
	clear: both;
}

.access-list li {
	width: 33.33333333%;
	float: left;
	padding: 0 5px;
	margin-bottom: 10px;

}

.access-list li a {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-direction: column;
	-moz-flex-direction: column;
	-ms-flex-direction: column;
	-o-flex-direction: column;
	flex-direction: column;
	color: #ffffff;
	border: 1px solid #db0e0e;
	border-radius: 4px;
	height: 150px;
	justify-content: flex-start;
	-ms-align-items: center;
	align-items: center;
	text-align: center;
	padding-top: 24px;
}
.access-list li a:hover {
	opacity: 1;
	/*border-color: #ffffff;*/
	background-color: rgba(219, 14, 14, 0.25);
}
.access-list li a time {
	font-size: 16px;
	line-height: 1.2;
	margin-bottom: 7px;
}
.access-list li a h3 {
	font-size: 34px;
	line-height: 1.2;
	margin-bottom: 7px;
}
.access-list li a p {
	font-size: 16px;
	line-height: 1.2;
}

.access-map-section {
	width: 1024px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 10px;
}
.transport-info .row article a {
	color: #ccc;
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.access-list li {
		width: 50%;
	}
	.access-list li a {
		height: 100%;
		padding: 20px;
	}
}


.transport-info {
	width: 690px;
	max-width: 100%;
	margin: 1px auto 0 auto;
	color: #efefef;
	font-size: 14px;
}
.transport-info .row {
	padding: 54px 0 53px;
}
.transport-info .row + .row {
	border-top: 1px solid #d2d2d2;
}


.transport-info .row:after {
	content : '';
	display: block;
	clear: both;
}
.transport-info .row label {
	display: block;
	float: left;
	margin-top: -4px;
	color: #ffffff;
    word-break:break-all;
    width:140px;
}
.transport-info .row label.caption {
     float: none;
     width:100%;
     margin-bottom: 10px;
     font-size:120%;
     font-weight:bold;
}

.transport-info .row article {
	padding-left: 140px;
	line-height: 23px;
	margin: 0;
}
.transport-info .row article p {
	margin: 0;
}

@media screen and (max-width: 767px) {
	.transport-info {
		padding-left: 30px;
		padding-right: 30px;
		margin-bottom: 6px;
	}
	.transport-info .row {
		padding: 28px 0px 23px 0px;
	}

	.transport-info .row label {
		float: none;
        width:100%;
		font-weight: bold;
		color: #333333;
		margin-top: 0;
		font-size: 29px;
		margin-bottom: 25px!important;
	}
    .transport-info .row label.caption {
        float: none;
        width:100%;
        margin-bottom: 10px;
        font-size:120%;
        font-weight:bold;
    }
    .transport-info .row>p{
        font-size:25px;
    }
	.transport-info .row article {
		padding-left: 0px;
		font-size: 25px;
	}
	.transport-info .row article p {
		line-height: 31px;
		margin-bottom: 27px;
	}
    .transport-info .row article p+p{
        margin-top:30px;
    }
}

@media screen and (max-width: 639px) {
	.transport-info {
		padding-left: 20px;
		padding-right: 20px;
		margin-bottom: 3px;
	}
	.transport-info .row {
		padding: 14px 0px 11.5px 0px;
	}
	.transport-info .row:last-child {
		padding-bottom: 22.5px;
	}
	.transport-info .row label {
		font-size: 14.5px;
		margin-bottom: 12.5px!important;
	}
    .transport-info .row label.caption {
        float: none;
        width:100%;
        margin-bottom: 10px;
        font-size:14px;
        font-weight:bold;
    }
    .transport-info .row>p{
        font-size:12px;
    }
	.transport-info .row article {
		font-size: 12.5px;
	}
	.transport-info .row article p {
		line-height: 14.5px;
		margin-bottom: 15px;
	}
}
