@charset "UTF-8";
/*----------------------------------------------------
	レスポンシブ
----------------------------------------------------*/
.hide {
	display: none !important;
}

.pc {
	display: inline;
}
.pc.block {
	display: block;
}
.pc_hide {
	display: none;
}
.pc_hide.block {
	display: none;
}

.sp {
	display: none;
}
.sp.block {
	display: none;
}

@media (max-width: 767px) {
	.sp {
		display: inline;
	}
	.sp.block {
		display: block;
	}
	.sp_hide {
		display: none;
	}
	.sp_hide.block {
		display: none;
	}
	.pc {
		display: none;
	}
	.pc.block {
		display: none;
	}
	.pc_hide {
		display: inline;
	}
	.pc_hide.block {
		display: block;
	}
}

.container {
	position: relative;
	padding-right: 16px;
	padding-left: 16px;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.container {
		max-width: 1132px;
	}
}

@media (min-width: 768px) {
	.container--s {
		max-width: 932px;
	}
}

@media (min-width: 768px) {
	.container--ss {
		max-width: 832px;
	}
}

@media (min-width: 768px) {
	.container--xs {
		max-width: 672px;
	}
}

@media (max-width: 767px) {
	table.sp-col1 {
		display: block;
	}
	table.sp-col1 tbody {
		display: block;
	}
	table.sp-col1 tr {
		display: block;
	}
	table.sp-col1 th {
		display: block;
	}
	table.sp-col1 td {
		display: block;
	}
}

/*----------------------------------------------------
	フォント等
----------------------------------------------------*/
.serif {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;
}

.ff-mont {
	font-family: "Montserrat", sans-serif;
}

.ff-didot {
	font-family: "GFS Didot", serif;
}

@media screen and (max-width: 767px), only screen and (max-device-width: 1024px) and (min-device-width: 768px) {
	a,
	button {
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
		-webkit-touch-callout: none;
	}
}

/*----------------------------------------------------
	アニメーション
----------------------------------------------------*/
.fadeIn {
	display: none;
}
.fadeIn.show {
	display: block;
	-webkit-animation: fadeIn .6s linear;
	        animation: fadeIn .6s linear;
}

.anime {
	opacity: 0;
	visibility: hidden;
}

.anime.opacity {
	opacity: 1;
}

.animated {
	visibility: visible;
}

.anime--delay03 {
	-webkit-animation-delay: .3s !important;
	        animation-delay: .3s !important;
	opacity: 0;
}

.anime--delay05 {
	-webkit-animation-delay: .5s !important;
	        animation-delay: .5s !important;
	opacity: 0;
}

.anime--delay10 {
	-webkit-animation-delay: 1s !important;
	        animation-delay: 1s !important;
	opacity: 0;
}

.fadeIn.animated {
	-webkit-animation: fadeIn .5s forwards;
	        animation: fadeIn .5s forwards;
}

.fadeInUp.animated {
	-webkit-animation: fadeInUp .5s forwards;
	        animation: fadeInUp .5s forwards;
}

.fadeInLeft.animated {
	-webkit-animation: fadeInLeft .5s forwards;
	        animation: fadeInLeft .5s forwards;
}

.fadeInRight.animated {
	-webkit-animation: fadeInRight .5s forwards;
	        animation: fadeInRight .5s forwards;
}

.slideRight.animated {
	-webkit-animation: slideRight .3s forwards;
	        animation: slideRight .3s forwards;
}

@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@-webkit-keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		display: none;
		opacity: 0;
	}
}

@keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		display: none;
		opacity: 0;
	}
}

@-webkit-keyframes fadeInUp {
	from {
		-webkit-transform: translateY(20px);
		        transform: translateY(20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px);
		opacity: 1;
	}
}

@keyframes fadeInUp {
	from {
		-webkit-transform: translateY(20px);
		        transform: translateY(20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateY(0px);
		        transform: translateY(0px);
		opacity: 1;
	}
}

@-webkit-keyframes fadeInLeft {
	from {
		-webkit-transform: translateX(-20px);
		        transform: translateX(-20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(0px);
		        transform: translateX(0px);
		opacity: 1;
	}
}

@keyframes fadeInLeft {
	from {
		-webkit-transform: translateX(-20px);
		        transform: translateX(-20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(0px);
		        transform: translateX(0px);
		opacity: 1;
	}
}

@-webkit-keyframes fadeInRight {
	from {
		-webkit-transform: translateX(20px);
		        transform: translateX(20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(0px);
		        transform: translateX(0px);
		opacity: 1;
	}
}

@keyframes fadeInRight {
	from {
		-webkit-transform: translateX(20px);
		        transform: translateX(20px);
		opacity: 0;
	}
	to {
		-webkit-transform: translateX(0px);
		        transform: translateX(0px);
		opacity: 1;
	}
}

@-webkit-keyframes slideRight {
	from {
		-webkit-transform: translate(100%, 0px);
		        transform: translate(100%, 0px);
	}
	to {
		-webkit-transform: translate(0px, 0px);
		        transform: translate(0px, 0px);
	}
}

@keyframes slideRight {
	from {
		-webkit-transform: translate(100%, 0px);
		        transform: translate(100%, 0px);
	}
	to {
		-webkit-transform: translate(0px, 0px);
		        transform: translate(0px, 0px);
	}
}

/*----------------------------------------------------
	画像ホバー
----------------------------------------------------*/
/*
a {
	&.item-hover,
	.item-picture {
		.hover {
			display: none;
		}
	}
}

@media screen and (min-width: 769px), only screen and (min-device-width: 769px) and (max-device-width: 1024px) and (orientation: landscape) {
	a {
		&.item-hover,
		.item-picture {
			position: relative;
			img {
				width: 100%;
			}
			.hover {
				position: absolute;
				left: 0;
				top: 0;
				width: 100%;
				height: 100%;
				color: #fff;
				background-color: rgba(0,0,0,0.5);
				transition: all .3s;
				opacity: 0;
				display: block;
				span {
					position: absolute;
					display: flex;
					justify-content: center;
					align-items: center;
					width: 90%;
					height: 90%;
					left: 5%;
					top: 5%;
					font-family: 'Hind', sans-serif;
					border: 1px solid #fff;
					transition: all .3s;
				}
			}
		}
		&:hover {
			&.item-hover,
			.item-picture {
				.hover {
					opacity: 1;
					span {
						width: 85%;
						height: 85%;
						left: 7.5%;
						top: 7.5%;
					}
				}
			}
		}
	}
}
*/
/*----------------------------------------------------
	見出し
----------------------------------------------------*/
.main-title {
	margin-bottom: 2em;
	text-align: center;
}

.main-title-text {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	font-weight: bold;
	line-height: 1.375;

	-webkit-box-align: center;
	-webkit-box-pack: center;
}
.main-title-text:before {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 1em;
	content: "";
	background: url(../images/ico_flower_l.svg) center center/contain no-repeat;
}
.main-title-text:after {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-left: 1em;
	content: "";
	background: url(../images/ico_flower_r.svg) center center/contain no-repeat;
}

.main-title--black .main-title-text:before {
	background: url(../images/ico_flower_l_b.svg) center center/contain no-repeat;
}

.main-title--black .main-title-text:after {
	background: url(../images/ico_flower_r_b.svg) center center/contain no-repeat;
}

@media (min-width: 768px) {
	.main-title-text {
		font-size: 40px;
	}
}

@media (max-width: 767px) {
	.main-title-text {
		font-size: 18px;
	}
	.main-title-text:before {
		width: 24px;
		height: 24px;
	}
	.main-title-text:after {
		width: 24px;
		height: 24px;
	}
}

.main-title02 {
	margin-bottom: 1em;
	color: #fff;
	font-weight: bold;
	text-align: center;
	background: #c1272d;
}
@media (min-width: 768px) {
	.main-title02 {
		padding: 6px 0;
		font-size: 26px;
		border-radius: 50px;
	}
}
@media (max-width: 767px) {
	.main-title02 {
		padding: 6px 0;
		font-size: 14px;
		border-radius: 30px;
	}
}

.main-title02--sq {
	border-radius: 0;
}

.main-title02--brown {
	background-color: #c8aa6e;
}

.main-title02--red2 {
	background-color: #da3a15;
}

.main-title03 {
	margin-bottom: 1em;
	font-weight: bold;
	text-align: center;
}
@media (min-width: 768px) {
	.main-title03 {
		font-size: 30px;
	}
}

.main-title-lead {
	text-align: center;
}
@media (min-width: 768px) {
	.main-title-lead {
		margin-bottom: 2em;
		font-size: 20px;
		line-height: 2;
	}
}
@media (max-width: 767px) {
	.main-title-lead {
		margin-bottom: 1em;
		font-size: 14px;
	}
}

/*----------------------------------------------------
	ボタン
----------------------------------------------------*/
.btn {
	position: relative;
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display:         inline-flex;
	width: 100%;
	height: 60px;
	max-width: 380px;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	background: #c32527;
	border: 2px solid #c32527;
	border-radius: 30px;

	-webkit-box-align: center;
	-webkit-box-pack: center;
}
.btn:hover {
	color: #c32527;
	background-color: #fff;
}
@media (max-width: 767px) {
	.btn {
		height: 48px;
		font-size: 16px;
	}
}

.btn-red {
	position: relative;
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display:         inline-flex;
	width: 560px;
	height: 60px;
	color: #fff;
	font-size: 18px;
	line-height: 1;
	background: #c32527;
	border-radius: 6px;

	-webkit-box-align: center;
	-webkit-box-pack: center;
}
.btn-red:after {
	position: absolute;
	top: 50%;
	right: 0;
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-webkit-transform: translate(-30px, -50%);
	    -ms-transform: translate(-30px, -50%);
	        transform: translate(-30px, -50%);
}
@media (max-width: 767px) {
	.btn-red {
		width: 100%;
		height: 48px;
		font-size: 16px;
	}
}

/*----------------------------------------------------
	メイン セクション
----------------------------------------------------*/
@media (min-width: 768px) {
	.main-section {
		padding: 80px 0;
	}
}

@media (max-width: 767px) {
	.main-section {
		padding: 40px 0;
	}
}

.main-section--white .main-section-inner {
	color: #333;
	background-color: #fff;
}
.main-section--white .main-section-inner a {
	color: #c1272d;
}

@media (min-width: 768px) {
	.main-section-inner {
		padding: 40px 150px;
	}
}

@media (max-width: 767px) {
	.main-section-inner {
		padding: 10px 10px;
	}
}

/*----------------------------------------------------
	メイン ヘッダー
----------------------------------------------------*/
.main-header {
	position: relative;
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-align: center;
	-webkit-box-pack: center;
}
.main-header .item-title {
	color: #fff;
	font-weight: bold;
	text-align: center;
}
@media (min-width: 768px) {
	.main-header {
		min-height: 180px;
	}
	.main-header .item-title {
		font-size: 40px;
	}
}
@media (max-width: 767px) {
	.main-header {
		min-height: 100px;
		background-size: auto 100% !important;
	}
	.main-header .item-title {
		font-size: 20px;
	}
}

.main-header--about {
	background: url(../images/about/header.jpg) center center/contain;
}

.main-header--access {
	background: url(../images/access/header.jpg) center center/contain;
}

.main-header--ticket {
	background: url(../images/ticket/header.jpg) center center/contain;
}

.main-header--contact {
	background: url(../images/contact/header.jpg) center center/contain;
}

.main-header--event {
	background: url(../images/event/header.jpg) center center/contain;
}

.main-header--notice {
	background: url(../images/notice/header.jpg) center center/contain;
}

.main-header--useful {
	background: url(../images/header.jpg) center center/contain;
}

.main-header--parking {
	background: url(../images/header.jpg) center center/contain;
}

/*----------------------------------------------------
	バナー
----------------------------------------------------*/
.main-bnr ul {
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-pack: justify;
}

@media (min-width: 768px) {
	.main-bnr {
		margin-bottom: 30px;
	}
	.main-bnr ul {
		margin-bottom: -20px;
	}
	.main-bnr ul:after {
		display: block;
		width: 260px;
		content: "";
	}
	.main-bnr ul:before {
		-ms-flex-order: 1;
		-webkit-order: 1;
		        order: 1;
		display: block;
		width: 260px;
		content: "";

		-webkit-box-ordinal-group: 2;
	}
	.main-bnr li {
		width: 260px;
		margin-bottom: 20px;
	}
}
/*----20201205追加分*/
@media (min-width: 768px) {
	.main-bnr .main-bnr_rakuten{
		width: 800px;
		margin: 0 auto -20px auto;
	}
}

@media (max-width: 767px) {
	.main-bnr {
		margin-bottom: 30px;
	}
	.main-bnr ul {
		margin-bottom: -10px;
	}
	.main-bnr li {
		width: 48%;
		margin-bottom: 10px;
	}
}

@media (min-width: 768px) {
	.main-bnr--1x1 li {
		width: 100%;
		text-align: center;
	}
}

@media (min-width: 768px) {
	.main-bnr--4x3 ul {
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;

		-webkit-box-pack: center;
	}
	.main-bnr--4x3 li:not(last-child) {
		margin-right: 20px;
	}
}

@media (min-width: 768px) {
	.main-bnr--1x4 ul {
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;

		-webkit-box-pack: center;
	}
	.main-bnr--1x4 li {
		width: 800px;
	}
}

@media (max-width: 767px) {
	.main-bnr--1x4 li {
		width: 100%;
	}
}

/*----------------------------------------------------
	SPECIAL SUPPORTERS
----------------------------------------------------*/
.main-special_supporters {
	color: #333;
	background-color: #fff;
}
.main-special_supporters ul {
	-ms-flex-pack: justify;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-pack: justify;
}
@media (min-width: 768px) {
	.main-special_supporters ul {
		margin-bottom: -20px;
	}
	.main-special_supporters li {
		width: 260px;
		margin-bottom: 20px;
	}
	.main-special_supporters .col3-3 {
		width: auto;
		margin-right: auto;
		margin-left: auto;
	}
}
@media (max-width: 767px) {
	.main-special_supporters ul {
		margin-bottom: -10px;
	}
	.main-special_supporters li {
		width: 48%;
		margin-bottom: 10px;
	}
	.main-special_supporters .col3-3 {
		width: 100%;
	}
}

/*----------------------------------------------------
	開催情報
----------------------------------------------------*/
.main-pagetop a {
	position: absolute;
	top: 0;
	right: 0;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
}

@media (max-width: 767px) {
	.main-pagetop img {
		width: 50px;
	}
}

/*----------------------------------------------------
	開催情報
----------------------------------------------------*/
.main-info {
	text-align: center;
	background: #c1272d url(../images/bg_info.svg) center bottom/100% auto no-repeat;
}
.main-info .item-date {
	font-family: "Montserrat", sans-serif;
	font-weight: bold;
	line-height: 1.25;
}
.main-info dl {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-align: center;
}
.main-info dt {
	padding: .125em 1em;
	margin-right: 1em;
	border: 1px solid #fff;
}
@media (min-width: 768px) {
	.main-info {
		padding: 20px 0;
	}
	.main-info .item-date {
		font-size: 58px;
	}
	.main-info .item-info {
		-webkit-align-items: center;
		        align-items: center;
		-ms-flex-align: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-align: center;
		-webkit-box-pack: center;
	}
	.main-info dl:not(:last-child) {
		margin-right: 1.5em;
	}
	.main-info dt {
		font-size: 14px;
	}
	.main-info dd {
		font-size: 28px;
		font-weight: bold;
	}
	.main-info .item-ex {
		font-size: 12px;
	}
}
@media (max-width: 767px) {
	.main-info {
		padding: 10px 0;
	}
	.main-info .item-date {
		font-size: 32px;
	}
	.main-info .item-info {
		-ms-flex-pack: justify;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		margin-bottom: -.5em;

		-webkit-box-pack: justify;
	}
	.main-info dl {
		-webkit-align-items: center;
		        align-items: center;
		-ms-flex-align: center;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		width: 48%;
		margin-bottom: .5em;

		-webkit-box-align: center;
	}
	.main-info .item-place {
		width: 100%;
	}
	.main-info dt {
		width: 50px;
		padding: .125em .5em;
		margin-right: .5em;
		font-size: 10px;
	}
	.main-info dd {
		-webkit-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
		font-size: 12px;
		font-weight: bold;
		text-align: left;

		-webkit-box-flex: 1;
	}
	.main-info .item-ex {
		padding-top: .5em;
		font-size: 10px;
	}
}

/*----------------------------------------------------
	メイン チケットストア
----------------------------------------------------*/
.main-ticket-store {
	color: #fff;
	font-weight: bold;
	text-align: center;
	background-color: #c33930;
}
.main-ticket-store .item-caution {
	color: #fcd137;
	text-decoration: underline;
}
.main-ticket-store .item-caution a {
	color: #fcd137;
	text-decoration: underline;
}
@media (min-width: 768px) {
	.main-ticket-store {
		padding: 40px 40px;
		margin-right: -40px;
		margin-left: -40px;
	}
	.main-ticket-store .item-desc {
		font-size: 24px;
	}
	.main-ticket-store .item-link {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		padding-top: 40px;

		-webkit-box-pack: justify;
	}
	.main-ticket-store .item-link span {
		max-width: 375px;
	}
}
@media (max-width: 767px) {
	.main-ticket-store {
		padding: 20px 10px;
		margin-right: -10px;
		margin-left: -10px;
	}
	.main-ticket-store .item-desc {
		font-size: 16px;
	}
	.main-ticket-store .item-link {
		padding-top: 20px;
		margin-bottom: -20px;
	}
	.main-ticket-store .item-link span {
		display: block;
		margin-bottom: 20px;
	}
}

@media (max-width: 767px) {
	.main-table-overflow {
		overflow: auto;

		-webkit-overflow-scrolling: touch;
	}
}

/*----------------------------------------------------
	TOP モーダルニュース
----------------------------------------------------*/
.top_modal_news_under {
	color: #f00;
	border-bottom: dotted 2px #87cefa;
}

.top_modal_news {
	position: absolute;
	top: 50px;
	left: 0;
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	z-index: 9999;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	width: 100%;
	height: calc(100vh - 80px);
	color: #000;

	-webkit-box-align: center;
	-webkit-box-pack: center;
}
.top_modal_news .wrap {
	width: 740px;
	max-height: 100%;
	padding: 20px;
	background: rgba(255, 255, 255, .9);
	border-radius: 10px;
}
.top_modal_news .inner {
	max-height: calc(100vh - 260px);
	padding: 20px 40px;
	overflow: auto;
}
.top_modal_news .items-title {
	margin-bottom: 2em;
	font-weight: bold;
	text-align: center;
}
.top_modal_news .item {
	padding: 1em 0;
	font-size: 16px;
}
.top_modal_news .item a {
	color: #b88422;
	text-decoration: underline;
}
.top_modal_news .item-title {
	margin-bottom: 1em;
	font-size: 1.25em;
	font-weight: bold;
	text-align: center;
	text-decoration: underline;
}
.top_modal_news .items-action {
	text-align: center;
}
.top_modal_news .items-action a {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display:         inline-flex;
	width: 389px;
	height: 54px;
	color: #fff;
	font-size: 18px;
	background: #777474;

	-webkit-box-align: center;
	-webkit-box-pack: center;
}
.top_modal_news .item-news li {
	padding: .75em;
	border-bottom: 1px solid #c7c7c7;
}
.top_modal_news .item-news li:first-child {
	border-top: 1px solid #c7c7c7;
}
.top_modal_news .item-news .category {
	margin-right: 1.5em;
}
.top_modal_news .item-news .category span {
	display: inline-block;
	width: 7em;
	color: #fff;
	font-size: .75em;
	text-align: center;
	background-color: #c1272d;
}
.top_modal_news .item-news .subject {
	position: relative;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	padding-right: 1em;
	color: #4d4d4d;

	-webkit-box-flex: 1;
}
.top_modal_news .item-news .subject a {
	color: #4d4d4d;
}
/*
.top_modal_news .item-news .subject a:after {
	position: absolute;
	top: 50%;
	right: 0;
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}
*/
.top_modal_news .item-news .subject a:hover {
	color: #b88422;
}
@media (min-width: 768px) {
	.top_modal_news .items-action {
		height: 100px;
		padding: 20px 0;
	}
	.top_modal_news .item-news li {
		-webkit-align-items: center;
		        align-items: center;
		-ms-flex-align: center;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-align: center;
	}
}
@media (max-width: 767px) {
	.top_modal_news {
		z-index: 5000;
	}
	.top_modal_news .wrap {
		width: 90%;
	}
	.top_modal_news .inner {
		max-height: calc(100vh - 160px);
		padding: 20px 10px;
	}
	.top_modal_news .items-action {
		height: 50px;
		padding: 10px 0;
	}
	.top_modal_news .items-action a {
		width: 100%;
		height: 40px;
	}
}

/*----------------------------------------------------
	TOP ヘッダー
----------------------------------------------------*/
.main-header--index {
	text-align: center;
}
.main-header--index .item-index-title {
	position: absolute;
	top: 50%;
	left: 50%;
}
.main-header--index .item-bg {
	pointer-events: none;
}
@media (min-width: 768px) {
	.main-header--index {
		margin-top: -150px;
		background: url(../images/index/bg_top.jpg) center center/100% auto no-repeat;
	}
	.main-header--index .item-index-title {
		width: 58.6%;
		-webkit-transform: translate(-50%, -30%);
		    -ms-transform: translate(-50%, -30%);
		        transform: translate(-50%, -30%);
	}
}
@media (max-width: 767px) {
	.main-header--index {
		margin-top: -70px;
	}
	.main-header--index .item-index-title {
		width: 100%;
		-webkit-transform: translate(-50%, -40%);
		    -ms-transform: translate(-50%, -40%);
		        transform: translate(-50%, -40%);
	}
}

/*----------------------------------------------------
	TOP BLOCK
----------------------------------------------------*/
@media (min-width: 768px) {
	.top-block .wrap {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: justify;
	}
	.top-block .wrap > div:nth-child(1) {
		width: 630px;
	}
	.top-block .wrap > div:nth-child(2) {
		width: 442px;
	}
}

.top-block-news {
	background: #333;
}
.top-block-news .item-date {
	margin-bottom: .25em;
	color: #b88422;
}
.top-block-news a {
	color: #b88422;
	text-decoration: underline;
}
.top-block-news a:hover {
	text-decoration: none;
}
@media (min-width: 768px) {
	.top-block-news {
		padding: 20px 18px;
	}
	.top-block-news .items {
		height: 270px;
		padding-right: 1em;
		overflow: auto;
	}
	.top-block-news .item-date {
		font-size: 13px;
	}
	.top-block-news .item-title {
		font-size: 12px;
	}
}
@media (max-width: 767px) {
	.top-block-news {
		padding: 10px;
	}
	.top-block-news .items {
		max-height: 270px;
		overflow: auto;
	}
	.top-block-news .item-date {
		font-size: 13px;
	}
	.top-block-news .item-title {
		font-size: 12px;
	}
}

@media (max-width: 767px) {
	.top-block-ticket {
		margin-bottom: 40px;
	}
	.top-block-ticket--info {
		margin-bottom: 40px;
	}
}

/*----------------------------------------------------
	ユーチューブ
----------------------------------------------------*/
.top-block-announcement {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.top-block-announcement iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 124%;
}

.ticket-video {
	width: 100%;
	padding-top: 20%;
  position: relative;
  top: 0;
  left: 0;
}

.ticket-video iframe {
	position: absolute;
   top: 0;
   left: 0;
   width: 100% !important;
   height: 100% !important;
}

/*----------------------------------------------------
	TOP TOUJITSU
----------------------------------------------------*/
.top-toujitsu .item-link a {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-align: center;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-pack: center;
}

.top-toujitsu .item-link .name {
	margin-bottom: .25em;
	color: #fff;
	font-weight: bold;
}

.top-toujitsu .item-link .desc {
	color: #fff;
}

@media (min-width: 768px) {
	.top-toujitsu .item-link {
		margin-bottom: 50px;
	}
	.top-toujitsu .item-link a {
		height: 156px;
		background: url(../images/index/btn_toujitsu.png) center center/contain no-repeat;
	}
	.top-toujitsu .item-link a:hover {
		opacity: .75;
	}
	.top-toujitsu .item-link .name {
		font-size: 36px;
	}
	.top-toujitsu .item-link .desc {
		font-size: 15px;
	}
	.top-toujitsu .items {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		margin-bottom: -20px;

		-webkit-box-pack: justify;
	}
	.top-toujitsu .item {
		width: 530px;
		margin-bottom: 20px;
	}
}

@media (max-width: 767px) {
	.top-toujitsu .item-link {
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 999;
		width: 100%;
	}
	.top-toujitsu .item-link a {
		position: relative;
		display: block;
		height: 70px;
		padding: 10px 10px 0 60px;
		background: url(../images/index/btn_toujitsu_sp.png) center center/cover no-repeat;
	}
	.top-toujitsu .item-link a:before {
		position: absolute;
		top: 10px;
		left: 10px;
		display: block;
		width: 40px;
		height: 40px;
		content: "";
		background: url(../images/index/btn_toujitsu_ico.png) center center/40px 40px no-repeat;
	}
	.top-toujitsu .item-link .name {
		margin-bottom: 0;
		font-size: 16px;
	}
	.top-toujitsu .item-link .desc {
		font-size: 10px;
	}
	.top-toujitsu .items {
		margin-bottom: -20px;
	}
	.top-toujitsu .item {
		margin-bottom: 20px;
	}
}

/*----------------------------------------------------
	TOP EVENT
----------------------------------------------------*/
.top-event {
	color: #333;
	background: url(../images/index/bg_event_2020.png) center center/cover no-repeat;
}
.top-event .item-picture {
	margin-bottom: 1rem;
}
.top-event .item-date {
	margin-bottom: .25rem;
}
.top-event a {
	color: #333;
}
@media (min-width: 768px) {
	.top-event .items {
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: center;
	}
	.top-event .item {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
	}
	.top-event .item-picture {
		width: 532px;
		margin-right: 40px;
		margin-top: 21px;

	}
	.top-event .item-body {
		-webkit-flex: 1;
		    -ms-flex: 1;
		        flex: 1;

		-webkit-box-flex: 1;
	}
	.top-event .item-date {
		font-size: 28px;
	}
	.top-event .item-subject {
		font-size: 28px;
	}
}
@media (max-width: 767px) {
	.top-event .items {
		margin-bottom: -20px;
	}
	.top-event .item {
		margin-bottom: 20px;
	}
	.top-event .item-picture {
		margin-bottom: .5rem;
	}
}

/*----------------------------------------------------
	TOP INSTAGRAM
----------------------------------------------------*/
.top-instagram {
	text-align: center;
}

/*----------------------------------------------------
	TOP TICKET
----------------------------------------------------*/
.top-ticket {
	text-align: center;
	background: #e98973 url(../images/index/bg_ticket.png) center center/cover no-repeat;
}
.top-ticket li {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	background: #fff;
	-webkit-box-shadow: 0 10px 4px rgba(0, 0, 0, .15);
	        box-shadow: 0 10px 4px rgba(0, 0, 0, .15);

	-webkit-box-align: center;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-pack: center;
}
.top-ticket .name {
	display: block;
	color: #000;
}
@media (min-width: 768px) {
	.top-ticket ul {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: justify;
	}
	.top-ticket li {
		width: 480px;
		height: 200px;
		border-radius: 20px;
	}
	.top-ticket .ico {
		margin-bottom: 10px;
	}
	.top-ticket .name {
		font-size: 20px;
	}
}
@media (max-width: 767px) {
	.top-ticket ul {
		margin-bottom: -20px;
	}
	.top-ticket li {
		padding: 10px 20px;
		margin-bottom: 20px;
		border-radius: 20px;
	}
	.top-ticket .ico img {
		width: 260px;
	}
}

/*----------------------------------------------------
	TOP ACCESS MAP
----------------------------------------------------*/
.top-map {
	text-align: center;
}
.top-map li a {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: block;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	background: #f5d28c;

	-webkit-box-align: center;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-pack: center;
}
.top-map .name {
	color: #000;
}
@media (min-width: 768px) {
	.top-map .item-map {
		margin-bottom: 40px;
	}
	.top-map .item-route {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: justify;
	}
	.top-map a {
		width: 352px;
		height: 180px;
	}
	.top-map .ico {
		margin-bottom: 10px;
	}
	.top-map .name {
		font-size: 20px;
	}
}
@media (max-width: 767px) {
	.top-map .item-map {
		margin-bottom: 20px;
	}
	.top-map .item-map iframe {
		height: 280px;
	}
	.top-map .item-route {
		margin-bottom: -20px;
	}
	.top-map li a {
		width: 100%;
		height: 100px;
		margin-bottom: 20px;
		border-radius: 10px;
	}
	.top-map .ico {
		margin-bottom: 10px;
	}
	.top-map .ico img {
		width: 60px;
	}
}

/*----------------------------------------------------
	琉球海炎祭とは コンセプト
----------------------------------------------------*/
.about-concept {
	text-align: center;
	background: url(../images/about/bg.jpg) center center/cover no-repeat;
}
.about-concept .item-title {
	margin-bottom: 1em;
	font-weight: bold;
}
@media (min-width: 768px) {
	.about-concept .item-wrap {
		min-height: 1400px;
		padding-top: 300px;
	}
	.about-concept .item-title {
		font-size: 30px;
		line-height: 2;
	}
	.about-concept p {
		line-height: 2.5;
	}
}
@media (max-width: 767px) {
	.about-concept .item-wrap {
		padding: 80px 0;
	}
	.about-concept .item-title {
		font-size: 18px;
	}
	.about-concept p {
		font-size: 14px;
		line-height: 1.75;
	}
}

/*----------------------------------------------------
	琉球海炎祭とは DESIGN HANABI
----------------------------------------------------*/
.about-design .item-title {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 100;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.about-design .item-catch {
	position: relative;
	padding-top: 42.857%;
	background: url(../images/about/bg_koshino.jpg) center center/cover;
}

@media (min-width: 768px) {
	.about-design .item-movie {
		height: 600px;
	}
}

@media (max-width: 767px) {
	.about-design .youtube-wrap {
		position: relative;
	}
}

.about-design .item-title {
	text-align: center;
}

.about-design .item-subtitle {
	font-weight: bold;
}
.about-design .item-subtitle:after {
	display: block;
	width: 125px;
	height: 1px;
	content: "";
	background-color: #fff;
}

.about-design .item-profile {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
}

.about-design .item-profile-body {
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-direction: normal;
	-webkit-box-flex: 1;
	-webkit-box-orient: vertical;
	-webkit-box-pack: justify;
}

@media (min-width: 768px) {
	.about-design .item-title {
		font-size: 100px;
	}
	.about-design .item-wrap {
		-webkit-align-items: flex-end;
		        align-items: flex-end;
		-ms-flex-align: end;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-align: end;
	}
	.about-design .item-body {
		width: 50%;
		padding: 80px 60px 0 0;
	}
	.about-design .item-subtitle {
		font-size: 28px;
	}
	.about-design .item-subtitle:after {
		margin: 20px 0;
	}
	.about-design p {
		line-height: 2;
	}
	.about-design .item-profile {
		padding-top: 80px;
	}
	.about-design .item-profile-photo {
		width: 160px;
		margin-right: 30px;
	}
	.about-design .item-profile-name {
		width: 240px;
		padding-top: 10px;
	}
	.about-design .item-profile-link {
		width: 140px;
	}
}

@media (max-width: 767px) {
	.about-design .item-title {
		font-size: 28px;
	}
	.about-design .item-body {
		padding-top: 20px;
	}
	.about-design .item-subtitle {
		font-size: 18px;
	}
	.about-design .item-subtitle:after {
		margin: 10px 0;
	}
	.about-design p {
		font-size: 14px;
		line-height: 1.75;
	}
	.about-design .item-profile {
		padding-top: 20px;
	}
	.about-design .item-profile-photo {
		width: 80px;
		margin-right: 20px;
	}
	.about-design .item-profile-name {
		width: 120px;
	}
	.about-design .item-profile-link {
		width: 90px;
	}
}

.about-design .item-youtube {
	position: relative;
}

@media (min-width: 768px) {
	.about-design .item-wrap--youtube {
		-webkit-align-items: flex-start;
		        align-items: flex-start;
		-ms-flex-align: start;
		-webkit-flex-direction: row-reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
		padding-top: 100px;

		-webkit-box-align: start;
		-webkit-box-direction: reverse;
		-webkit-box-orient: horizontal;
	}
	.about-design .item-wrap--youtube .item-body {
		width: 50%;
		padding: 0 0 0 60px;
	}
	.about-design .item-wrap--youtube .item-youtube {
		-webkit-flex: 1;
		    -ms-flex: 1;
		        flex: 1;

		-webkit-box-flex: 1;
	}
}

@media (max-width: 767px) {
	.about-design .item-wrap--youtube {
		padding-top: 60px;
	}
}

/*----------------------------------------------------
	琉球海炎祭とは SLIDE
----------------------------------------------------*/
.about-slide .item {
	width: 100%;
}
.about-slide .item img {
	width: 100%;
}

/*----------------------------------------------------
	琉球海炎祭とは TECHNOLOGY
----------------------------------------------------*/
.about-technology .item-title {
	text-align: center;
}

.about-technology .item-subtitle {
	font-weight: bold;
}
.about-technology .item-subtitle:after {
	display: block;
	width: 125px;
	height: 1px;
	content: "";
	background-color: #fff;
}

@media (min-width: 768px) {
	.about-technology {
		min-height: 1248px;
	}
	.about-technology .item-title {
		font-size: 100px;
	}
	.about-technology .item-picture {
		position: absolute;
		top: -80px;
		left: 40%;
		z-index: -1;
		width: 750px;
		pointer-events: none;
	}
	.about-technology .item-body {
		width: 50%;
		padding: 100px 0 0;
	}
	.about-technology .item-picture2 {
		padding-right: 25%;
	}
	.about-technology .item-subtitle {
		font-size: 30px;
	}
	.about-technology .item-subtitle:after {
		margin: 20px 0;
	}
	.about-technology p {
		line-height: 2;
	}
}

@media (max-width: 767px) {
	.about-technology .item-title {
		font-size: 28px;
	}
	.about-technology .item-body {
		padding-top: 20px;
	}
	.about-technology .item-subtitle {
		font-size: 20px;
	}
	.about-technology .item-subtitle:after {
		margin: 10px 0;
	}
	.about-technology p {
		font-size: 14px;
		line-height: 1.75;
	}
}

/*----------------------------------------------------
	琉球海炎祭とは 実施概要
----------------------------------------------------*/
.about-feature .main-section-inner {
	background-color: #393939;
}

.about-feature table {
	width: 100%;
}

.about-feature tr {
	border-bottom: 1px solid #666;
}

.about-feature .ex {
	padding-top: .75em;
	text-align: right;
}

@media (min-width: 768px) {
	.about-feature table {
		font-size: 15px;
	}
	.about-feature th,
	.about-feature td {
		padding: .5em 1.5em;
	}
	.about-feature th {
		width: 11em;
	}
	.about-feature .ex {
		font-size: 12px;
	}
}

@media (max-width: 767px) {
	.about-feature table {
		font-size: 12px;
	}
	.about-feature th,
	.about-feature td {
		padding: .5em 0;
	}
	.about-feature th {
		width: 6em;
	}
	.about-feature .ex {
		font-size: 10px;
	}
}

/*----------------------------------------------------
	アクセスガイド
----------------------------------------------------*/
.access-address {
	padding: 2em 0;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}

.access-nav {
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-pack: justify;
}
.access-nav li .access-nav-item {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	width: 188px;
	height: 120px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	background-color: #da3a15;
	border-radius: 10px;

	-webkit-box-align: center;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-pack: center;
}
.access-nav li .access-nav-item:after {
	content: "\f0dd";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}
.access-nav li .access-nav-item:hover {
	background-color: #c1272d;
}

.access-picture {
	margin-bottom: 20px;
}

.access-item {
	margin-bottom: 1.5em;
}
.access-item ul,
.access-item p {
	padding-left: 1em;
	font-size: 18px;
}
.access-item li {
	padding-left: 1em;
	text-indent: -1em;
}

@media (max-width: 767px) {
	.access-googlemap iframe {
		height: 240px;
	}
	.access-address {
		font-size: 16px;
	}
	.access-nav {
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		margin-bottom: -10px;
	}
	.access-nav li {
		width: 48%;
	}
	.access-nav li .access-nav-item {
		width: 100%;
		height: 80px;
		margin-bottom: 10px;
		font-size: 14px;
	}
	.access-picture {
		margin-bottom: 10px;
	}
	.access-item ul,
	.access-item p {
		font-size: 14px;
	}
}

/*----------------------------------------------------
	チケット
----------------------------------------------------*/
@media (min-width: 768px) {
	.ticket-lead .lead-text {
		font-size: 28px;
		font-weight: bold;
	}
	.ticket-lead .item-ticket {
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
		padding-top: 40px;

		-webkit-box-pack: justify;
	}
	.ticket-lead .item-ticket span {
		width: 375px;
	}
}

@media (max-width: 767px) {
	.ticket-lead .lead-text {
		font-size: 14px;
		font-weight: bold;
	}
	.ticket-lead .item-ticket {
		padding-top: 20px;
		margin-bottom: -20px;
	}
	.ticket-lead .item-ticket span {
		display: block;
		margin-bottom: 20px;
	}
}

.ticket-kikan table {
	width: 100%;
	line-height: 1.25;
	border: 1px solid #c8aa6e;
}

.ticket-kikan .item-kikan {
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;

	-webkit-box-flex: 1;
}

.ticket-kikan th {
	padding: .5em .5em;
	color: #fff;
	text-align: center;
	background-color: #c8aa6e;
	border-right: 1px solid #fff;
}

.ticket-kikan tr:not(:last-child) th {
	border-bottom: 1px solid #fff;
}

.ticket-kikan td {
	padding: .5em .5em;
	border: 1px solid #c8aa6e;
}

@media (min-width: 768px) {
	.ticket-kikan table {
		font-size: 16px;
	}
	.ticket-kikan .item-type {
		width: 150px;
	}
	.ticket-kikan .item-store {
		width: 150px;
	}
}

@media (max-width: 767px) {
	.ticket-kikan table {
		width: 650px;
		font-size: 13px;
	}
}

.ticket-type table {
	width: 100%;
	text-align: center;
}

.ticket-type thead th:not(:first-child) {
	color: #fff;
	background: #979797;
}

.ticket-type td,
.ticket-type th {
	padding: .5em .2em;
	line-height: 1.25;
	text-align: center;
	border: 1px solid #cacaca;
}

.ticket-type .ss {
	color: #fff;
	background-color: #c8a547;
}

.ticket-type .s {
	color: #fff;
	background-color: #eaa9c3;
}

.ticket-type .sa {
	color: #fff;
	background-color: #b6709c;
}

.ticket-type .a {
	color: #fff;
	background-color: #ca2a3b;
}

.ticket-type .ta {
	color: #fff;
	background-color: #0097a7;
}

@media (min-width: 768px) {
	.ticket-type table {
		margin-bottom: 40px;
	}
	.ticket-type thead th {
		font-size: 14px;
	}
	.ticket-type tbody th {
		font-size: 18px;
	}
	.ticket-type tbody td {
		font-size: 18px;
	}
	.ticket-type tbody .ex {
		font-size: 10px;
	}
}

@media (max-width: 767px) {
	.ticket-type table {
		width: 550px;
		margin-bottom: 20px;
	}
	.ticket-type thead th {
		font-size: 13px;
	}
	.ticket-type tbody th {
		font-size: 13px;
	}
	.ticket-type tbody td {
		font-size: 15px;
	}
	.ticket-type tbody .ex {
		font-size: 10px;
	}
}

@media (min-width: 768px) {
	.ticket-type--taiwan table {
		width: 358px;
		margin-right: auto;
		margin-left: auto;
	}
}

@media (max-width: 767px) {
	.ticket-type--taiwan table {
		width: 100%;
	}
}

.ticket-type ul.chairs {
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-pack: justify;
}
.ticket-type ul.chairs li {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	text-align: center;
	border: 1px solid #cacaca;

	-webkit-box-align: center;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-pack: justify;
}
.ticket-type ul.chairs .name {
	font-size: 13px;
	line-height: 1.25;
}

@media (min-width: 768px) {
	.ticket-type ul.chairs li {
		width: 192px;
		height: 180px;
		padding: 16px 16px;
	}
}

@media (max-width: 767px) {
	.ticket-type ul.chairs {
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		margin-bottom: -10px;
	}
	.ticket-type ul.chairs li {
		width: 48%;
		padding: 10px 10px;
		margin-bottom: 10px;
	}
	.ticket-type ul.chairs .name {
		font-size: 10px;
	}
}

@media (min-width: 768px) {
	.ticket-type--taiwan ul.chairs {
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;

		-webkit-box-pack: center;
	}
}

#hotelplan {
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}

#kurumaisu {
	display: block;
	padding-top: 80px;
	margin-top: -80px;
}

.ticket-price .item-header {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	color: #fff;
	font-weight: bold;
	background-color: #c33930;

	-webkit-box-align: center;
}
.ticket-price .item-header .ico {
	margin-right: 1rem;
}
.ticket-price .item-header .item-title {
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;

	-webkit-box-flex: 1;
}

.ticket-price table {
	width: 100%;
}

.ticket-price thead {
	color: #fff;
	background-color: #c8aa6e;
}
.ticket-price thead th {
	text-align: center;
}
.ticket-price thead th:not(:last-child) {
	border-right: 1px solid #fff;
}

.ticket-price tbody tr {
	border-bottom: 1px solid #c8c8c8;
}

.ticket-price tbody .price {
	text-align: center;
}

.ticket-price tbody td:not(:last-child) {
	border-right: 1px solid #c8c8c8;
}

.ticket-price tbody tr:nth-child(even) {
	background: #f7f2e9;
}

@media (min-width: 768px) {
	.ticket-price .item:not(:last-child) {
		margin-bottom: 40px;
	}
	.ticket-price .item-header {
		padding: .5rem 1.5rem;
		font-size: 24px;
	}
	.ticket-price .item-header .ico {
		width: 80px;
	}
	.ticket-price table {
		font-size: 18px;
	}
	.ticket-price thead th {
		padding: .375em 1em;
	}
	.ticket-price tbody td {
		padding: .375em 1em;
		/*text-align: center;*/
	}
	.ticket-price tbody .price {
		width: 200px;
	}
}

@media (max-width: 767px) {
	.ticket-price .item:not(:last-child) {
		margin-bottom: 20px;
	}
	.ticket-price .item-header {
		padding: .5rem 1rem;
		font-size: 14px;
	}
	.ticket-price .item-header .ico {
		width: 40px;
	}
	.ticket-price table {
		font-size: 16px;
	}
	.ticket-price thead th {
		padding: .25em 1em;
	}
	.ticket-price tbody td {
		padding: .25em 1em;
	}
	.ticket-price tbody .price {
		width: 100px;
	}
}

.ticket-content .ticket-ex {
	padding-top: 1em;
	font-size: 12px;
}
.ticket-content .ticket-ex li {
	padding: .125em 0 .125em 1em;
	text-indent: -1em;
}

.ticket-content .ticket-exs {
	padding-top: 1em;
	margin-bottom: 40px;
	font-size: 12px;
}

@media (max-width: 767px) {
	.ticket-content .ticket-ex {
		font-size: 11px;
	}
}
/*20201205追加分--------------------*/
.item-ticket p .item-ticket_img{
	width: 100%;
}
.item-ticket p .item-ticket_leadtitle{
	text-decoration: underline;
	font-weight: ;
}

.ticket-fs{
	font-size: 17px;
}
@media (min-width: 768px) {
	.item-ticket .ticket-ex {
		padding-top: 2em;
		/*padding-left: 7em;*/
	}
	.item-ticket .item-lead {
		margin-bottom: 2em;
		font-size: 20px;
		line-height: 1.75;
		/*padding-left: 84px;*/
		padding-top: 1em;
	}
	.ticket-fs{
		font-size: 17px;/*後で調整*/
	}
}

@media (max-width: 767px) {
	.item-ticket .item-lead {
		font-size: 14px;
	}
	.ticket-fs{
		font-size: 10px;/*後で調整*/
	}
}
/*----------------------------------------------------
	チケット購入時の注意事項
----------------------------------------------------*/
.ticket-notice-content {
	color: #333;
	background: #fff url(../images/bg2.png);
}
.ticket-notice-content .items-title {
	padding: 1em 1em;
	margin-bottom: 1em;
	color: #fff;
	font-weight: bold;
	text-align: center;
	background-color: #c33930;
}
.ticket-notice-content .item-title {
	color: #c33930;
	font-weight: bold;
}
.ticket-notice-content li {
	padding: .125em 0 .125em 1em;
	text-indent: -1em;
}
.ticket-notice-content a {
	color: #333;
	text-decoration: underline;
}
.ticket-notice-content a:hover {
	text-decoration: none;
}
@media (min-width: 768px) {
	.ticket-notice-content .items-title {
		font-size: 25px;
	}
	.ticket-notice-content .items {
		margin-bottom: -30px;
	}
	.ticket-notice-content .item {
		margin-bottom: 30px;
	}
	.ticket-notice-content .item-title {
		font-size: 22px;
	}
	.ticket-notice-content li {
		font-size: 15px;
	}
}
@media (max-width: 767px) {
	.ticket-notice-content .items-title {
		font-size: 18px;
	}
	.ticket-notice-content .items {
		margin-bottom: -20px;
	}
	.ticket-notice-content .item {
		margin-bottom: 20px;
	}
	.ticket-notice-content .item-title {
		font-size: 16px;
	}
	.ticket-notice-content li {
		font-size: 12px;
	}
}

/*----------------------------------------------------
	お問い合わせ
----------------------------------------------------*/
.contact-content {
	color: #333;
	background-color: #fff;
}
.contact-content .item-lead {
	margin-bottom: 2em;
	text-align: center;
}
.contact-content .item-nav {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
}
.contact-content .item-nav li {
	position: relative;
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;

	-webkit-box-flex: 1;
}
.contact-content .item-nav span {
	display: block;
	width: 100%;
	height: 40px;
	padding: .25em 1em;
	color: #fff;
	font-size: 18px;
	text-align: center;
	background-color: #b1b1b1;
}
.contact-content .item-nav li:not(:last-child):after {
	position: absolute;
	top: 0;
	right: -12px;
	z-index: 1;
	display: block;
	width: 0;
	height: 0;
	content: "";
	border-color: transparent transparent transparent #b1b1b1;
	border-style: solid;
	border-width: 20px 0 20px 12px;
}
.contact-content .item-nav li:not(:last-child) span:after {
	position: absolute;
	top: 0;
	right: -14px;
	z-index: 1;
	display: block;
	width: 0;
	height: 0;
	content: "";
	border-color: transparent transparent transparent #fff;
	border-style: solid;
	border-width: 20px 0 20px 12px;
}
.contact-content .item-nav li.current span {
	background-color: #b9850e;
}
.contact-content .item-nav li.current:not(:last-child):after {
	border-color: transparent transparent transparent #b9850e;
}
.contact-content dl {
	margin-bottom: 1.25em;
}
.contact-content dt {
	position: relative;
	padding: 1.25em 0 .25em 60px;
	font-weight: bold;
}
.contact-content p.confirm {
	padding: 1.25em 1em;
}
.contact-content .required {
	position: absolute;
	left: 0;
	padding: .25em 1em;
	color: #fff;
	font-size: 12px;
	background: #c32527;
	border-radius: 3px;
}
.contact-content .item-submit {
	text-align: center;
}
.contact-content .item-complete {
	text-align: center;
}
.contact-content .item-complete .title {
	font-size: 1.5em;
	font-weight: bold;
}
@media (min-width: 768px) {
	.contact-content .item-lead {
		font-size: 18px;
		line-height: 1.75;
	}
	.contact-content .item-nav {
		margin-bottom: 70px;
	}
	.contact-content dl {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
	}
	.contact-content dt {
		width: 222px;
	}
	.contact-content dd {
		-webkit-flex: 1;
		    -ms-flex: 1;
		        flex: 1;

		-webkit-box-flex: 1;
	}
	.contact-content .item-submit {
		padding-top: 80px;
	}
	.contact-content .item-complete {
		padding: 3em 0;
		font-size: 18px;
		line-height: 1.75;
	}
}
@media (max-width: 767px) {
	.contact-content .item-lead {
		font-size: 14px;
	}
	.contact-content .item-nav {
		margin-bottom: 20px;
	}
	.contact-content .item-nav span {
		height: 36px;
		padding-top: .75em;
		font-size: 12px;
	}
	.contact-content .item-nav li:not(:last-child):after {
		border-width: 18px 0 18px 12px;
	}
	.contact-content .item-nav li:not(:last-child) span:after {
		border-width: 18px 0 18px 12px;
	}
	.contact-content dt {
		padding: .5em 0 .5em 46px;
		font-size: 14px;
	}
	.contact-content .required {
		font-size: 10px;
	}
	.contact-content .item-submit {
		padding-top: 20px;
	}
	.contact-content .item-complete {
		padding: 2em 0;
		font-size: 14px;
		line-height: 1.75;
	}
}

/*----------------------------------------------------
	フォーム
----------------------------------------------------*/
input[type="email"],
input[type="text"] {
	width: 100%;
	height: 60px;
	padding: 0 .5em;
	background: #e4e4e4;
	border: none;
	border-radius: 6px;
}
@media (max-width: 767px) {
	input[type="email"],
	input[type="text"] {
		height: 48px;
	}
}

textarea {
	width: 100%;
	height: 280px;
	padding: .5em .5em;
	background: #e4e4e4;
	border: none;
	border-radius: 6px;
}
@media (max-width: 767px) {
	textarea {
		height: 200px;
	}
}

.help-block {
	color: #c32527;
}

/*----------------------------------------------------
	注意事項・よくある質問
----------------------------------------------------*/
.notice-content {
	color: #333;
	background: #fff url(../images/bg2.png);
}
.notice-content .notice-nav {
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-pack: justify;
}
.notice-content .nav-item {
	width: 430px;
	height: 120px;
	font-weight: bold;
	text-align: center;
	background: url(../images/notice/bg_fukidashi_white.svg) center center/contain no-repeat;
}
.notice-content .nav-item:hover,
.notice-content .nav-item.current {
	color: #fff;
	background: url(../images/notice/bg_fukidashi.svg) center center/contain no-repeat;
}
@media (min-width: 768px) {
	.notice-content .notice-nav {
		margin-bottom: 60px;
	}
	.notice-content .nav-item {
		padding: 30px 0 0;
		font-size: 25px;
	}
}
@media (max-width: 767px) {
	.notice-content .notice-nav {
		margin-bottom: 30px;
	}
	.notice-content .nav-item {
		width: 160px;
		height: 48px;
		padding-top: 8px;
		font-size: 16px;
	}
}

.notice-content .items-title {
	padding: .75em 1em;
	margin-bottom: 1em;
	font-weight: bold;
	text-align: center;
	background-color: #e4e4e4;
}

.notice-content .items-subtitle {
	padding: .325em 1em;
	margin-bottom: 1em;
	color: #fff;
	font-weight: bold;
	text-align: center;
	background-color: #c8aa6e;
}

.notice-content .item-title {
	font-weight: bold;
}

.notice-content li {
	padding: .125em 0 .125em 1em;
	text-indent: -1em;
}

.notice-content a {
	color: #333;
}

@media (min-width: 768px) {
	.notice-content .items-title {
		font-size: 30px;
	}
	.notice-content .items-subtitle {
		font-size: 22px;
	}
	.notice-content .items {
		margin-bottom: 40px;
	}
	.notice-content .item:not(:last-child) {
		margin-bottom: 30px;
	}
	.notice-content .item-title {
		font-size: 22px;
	}
	.notice-content li {
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	.notice-content .items-title {
		font-size: 20px;
	}
	.notice-content .items-subtitle {
		font-size: 16px;
	}
	.notice-content .items {
		margin-bottom: 40px;
	}
	.notice-content .item:not(:last-child) {
		margin-bottom: 20px;
	}
	.notice-content .item-title {
		font-size: 16px;
	}
	.notice-content li {
		font-size: 12px;
	}
}

/*----------------------------------------------------

----------------------------------------------------*/
/*----------------------------------------------------
	よくある質問
----------------------------------------------------*/
.faq-items-title {
	margin-bottom: .25em;
	font-weight: bold;
}

.faq-item {
	background-color: #fff;
	border: 1px solid #c8aa6e;
	border-radius: 10px;
}

.faq-item-q {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	padding: 10px 50px 10px 20px;
	color: #fff;
	background: #c8aa6e;
	border-radius: 10px;
	cursor: pointer;
}
.faq-item-q i {
	width: 30px;
	height: 30px;
	margin-right: 1em;
	background: url(../images/faq/ico_q.svg) center center/contain no-repeat;
}
.faq-item-q:after {
	position: absolute;
	top: 10px;
	right: 15px;
	display: block;
	width: 30px;
	height: 30px;
	content: "";
	background: url(../images/faq/ico_plus.svg) center center/contain no-repeat;
}
.faq-item-q.open:after {
	background: url(../images/faq/ico_minus.svg) center center/contain no-repeat;
}

.faq-item-title {
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	font-weight: bold;

	-webkit-box-flex: 1;
}

.faq-item-a {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	padding: 10px 20px;
}
.faq-item-a i {
	width: 30px;
	height: 30px;
	margin-right: 1em;
	background: url(../images/faq/ico_a.svg) center center/contain no-repeat;
}

.faq-item-body {
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;

	-webkit-box-flex: 1;
}

@media (min-width: 768px) {
	.faq-items {
		margin-bottom: 40px;
	}
	.faq-items-title {
		font-size: 22px;
	}
	.faq-item:not(:last-child) {
		margin-bottom: 20px;
	}
	.faq-item-title {
		padding-top: 4px;
		font-size: 16px;
	}
	.faq-item-body {
		padding-top: 5px;
		font-size: 15px;
	}
}

@media (max-width: 767px) {
	.faq-items {
		margin-bottom: 30px;
	}
	.faq-items-title {
		font-size: 16px;
	}
	.faq-item:not(:last-child) {
		margin-bottom: 16px;
	}
	.faq-item-q {
		padding: 8px 40px 8px 10px;
	}
	.faq-item-q i {
		width: 24px;
		height: 24px;
	}
	.faq-item-q:after {
		top: 8px;
		right: 10px;
		width: 24px;
		height: 24px;
	}
	.faq-item-a {
		padding: 8px 10px;
	}
	.faq-item-a i {
		width: 24px;
		height: 24px;
	}
	.faq-item-title {
		padding-top: 2px;
		font-size: 14px;
	}
	.faq-item-body {
		padding-top: 1px;
		font-size: 13px;
	}
}

/*----------------------------------------------------
	イベント
----------------------------------------------------*/
.event-content {
	color: #333;
	background: #fcfbf4 url(../images/bg1.png) center center/100% auto no-repeat fixed;
}
.event-content .item-label {
	text-align: center;
}
.event-content .item-label span {
	position: relative;
	z-index: 10;
	display: inline-block;
	padding: .25em 2em;
	color: #000;
	font-weight: bold;
}
.event-content .item-label span:before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	background: #c5a76e;
	-webkit-transform: skewX(-20deg);
	    -ms-transform: skewX(-20deg);
	        transform: skewX(-20deg);
}
.event-content .item-title {
	padding: .5em 0;
	font-weight: bold;
	text-align: center;
}
.event-content .item-lead {
	margin-bottom: 1em;
	text-align: center;
}
.event-content .item-picture {
	margin-bottom: 2em;
}
.event-content p {
	line-height: 1.75;
}
.event-content table {
	width: 100%;
}
.event-content th {
	text-align: center;
	background: #c5a76e;
	border-bottom: 1px solid #fff;
}
.event-content td {
	background-color: #fff;
	border-bottom: 1px solid #c9c9c9;
}
.event-content tr:last-child th,
.event-content tr:last-child td {
	border-bottom: none;
}
@media (min-width: 768px) {
	.event-content .item-label {
		font-size: 28px;
	}
	.event-content .item-title {
		font-size: 60px;
	}
	.event-content .item-lead {
		font-size: 20px;
	}
	.event-content th {
		padding: 1em 2em;
	}
	.event-content td {
		padding: 1em 2em;
	}
}
@media (max-width: 767px) {
	.event-content .item-title {
		font-size: 24px;
	}
	.event-content table {
		font-size: 14px;
	}
	.event-content th {
		padding: .25em .75em;
	}
	.event-content td {
		padding: .375em .75em;
		font-size: 12px;
	}
}

/*----------------------------------------------------
	インスタグラム
----------------------------------------------------*/
.instagram-header {
	text-align: center;
}
@media (min-width: 768px) {
	.instagram-header .item-picture {
		margin-top: -100px;
		margin-bottom: -80px;
	}
	.instagram-header .lead {
		margin-bottom: 2em;
		font-size: 26px;
		font-weight: bold;
		line-height: 2;
		letter-spacing: 2.6px;
	}
	.instagram-header .down {
		font-size: 40px;
	}
}
@media (max-width: 767px) {
	.instagram-header .lead {
		margin-bottom: 1em;
		font-weight: bold;
	}
	.instagram-header .down {
		font-size: 30px;
	}
}

.instagram-content {
	text-align: center;
}
@media (min-width: 768px) {
	.instagram-content .item-hash {
		font-size: 70px;
		font-weight: bold;
		letter-spacing: 7px;
	}
	.instagram-content .lead {
		margin-bottom: 2em;
		font-size: 32px;
		font-weight: bold;
	}
}
@media (max-width: 767px) {
	.instagram-content .item-hash {
		font-size: 30px;
		font-weight: bold;
		letter-spacing: 7px;
	}
	.instagram-content .lead {
		margin-bottom: 1em;
		font-size: 20px;
		font-weight: bold;
	}
}

.instagram-terms .items-title {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
	margin-bottom: 1.5em;
	font-weight: bold;

	-webkit-box-align: center;
}
.instagram-terms .items-title:before,
.instagram-terms .items-title:after {
	-webkit-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	width: 100%;
	height: 1px;
	content: "";
	background-color: #000;

	-webkit-box-flex: 1;
}
.instagram-terms .items-title span {
	padding: 0 1em;
	font-size: 30px;
}
@media (max-width: 767px) {
	.instagram-terms .items-title {
		margin-bottom: 1em;
	}
	.instagram-terms .items-title span {
		font-size: 20px;
	}
}

.instagram-terms .item-title {
	position: relative;
	margin-bottom: 1em;
	color: #fff;
	font-weight: bold;
	background: #b9850e;
}
.instagram-terms .item-title:after {
	position: absolute;
	top: 50%;
	right: 0;
	content: "\f067";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	-webkit-transform: translate(-16px, -50%);
	    -ms-transform: translate(-16px, -50%);
	        transform: translate(-16px, -50%);
}
.instagram-terms .item-title.open:after {
	-webkit-transform: translate(-16px, -50%) rotate(45deg);
	    -ms-transform: translate(-16px, -50%) rotate(45deg);
	        transform: translate(-16px, -50%) rotate(45deg);
}
@media (min-width: 768px) {
	.instagram-terms .item-title {
		padding: 6px 2em 6px 1em;
		font-size: 26px;
		border-radius: 50px;
	}
}
@media (max-width: 767px) {
	.instagram-terms .item-title {
		padding: 6px 2em 6px 1em;
		font-size: 14px;
		border-radius: 30px;
	}
}

@media (min-width: 768px) {
	.instagram-terms .items-lead {
		color: #333;
		font-size: 14px;
		line-height: 2;
		letter-spacing: .7px;
	}
	.instagram-terms .item-body {
		padding-bottom: 60px;
		color: #333;
		font-size: 14px;
		line-height: 2;
		letter-spacing: .7px;
	}
}

@media (max-width: 767px) {
	.instagram-terms .items-lead {
		color: #333;
		font-size: 12px;
	}
	.instagram-terms .item-body {
		padding-bottom: 20px;
		color: #333;
		font-size: 12px;
	}
}

/*----------------------------------------------------
	当日のお役立ち情報
----------------------------------------------------*/
.parking {
	text-align: center;
}

.useful-nav .nav1 {
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-pack: justify;
}
.useful-nav .nav1 a {
	color: #1a1a1a;
	background: url(../images/bg4.png);
}
.useful-nav .nav1 a:after {
	margin-right: .5em;
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
}

.useful-nav .nav2 {
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-pack: justify;
}
.useful-nav .nav2 a {
	color: #fff;
}

.useful-nav a {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-webkit-flex-direction: column;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-inline-box;
	display: -webkit-inline-flex;
	display: -ms-inline-flexbox;
	display:         inline-flex;

	-webkit-box-align: center;
	-webkit-box-direction: normal;
	-webkit-box-orient: vertical;
	-webkit-box-pack: center;
}

.useful-nav .item-nav2-1 a {
	background: -o-linear-gradient(120deg, #8b67cf 0%, #5c2ab9 100%);
	background:    linear-gradient(-30deg, #8b67cf 0%, #5c2ab9 100%);
}

.useful-nav .item-nav2-2 a {
	background: -o-linear-gradient(120deg, #f15f68 33.22%, #ee2a7b 100%);
	background:    linear-gradient(-30deg, #f15f68 33.22%, #ee2a7b 100%);
}

@media (min-width: 768px) {
	.useful-nav .nav1 {
		margin-bottom: 50px;
	}
	.useful-nav .nav1 div {
		width: 200px;
	}
	.useful-nav .nav1 a {
		width: 200px;
		height: 150px;
		font-size: 20px;
	}
	.useful-nav .nav2 div {
		width: 500px;
		margin: 0 auto;
	}
	.useful-nav .nav2 a {
		width: 100%;
		height: 80px;
		font-size: 20px;
		border-radius: 40px;
	}
}

@media (max-width: 767px) {
	.useful-nav .nav1 {
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
	}
	.useful-nav .nav1 div {
		width: 48%;
		margin-bottom: 20px;
	}
	.useful-nav .nav1 a {
		width: 100%;
		height: 60px;
		font-size: 16px;
	}
	.useful-nav .nav2 {
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
	}
	.useful-nav .nav2 div {
		width: 100%;
		margin-bottom: 20px;
	}
	.useful-nav .nav2 a {
		width: 100%;
		height: 50px;
		font-size: 16px;
		border-radius: 25px;
	}
}

.useful-timeschedule {
	color: #000;
	background: #fff url(../images/bg3.png);
}

.useful-access .item-address {
	padding-top: 1em;
	text-align: center;
}

@media (min-width: 768px) {
	.useful-access .item-address {
		font-size: 24px;
	}
}

@media (max-width: 767px) {
	.useful-access iframe {
		height: 300px;
	}
	.useful-access .item-address {
		font-size: 14px;
	}
}

.useful-content {
	color: #333;
	background: #fff url(../images/bg2.png);
}
.useful-content .item-picture {
	border: 2px solid #c8aa6e;
}
.useful-content .item-title {
	font-weight: bold;
	text-align: center;
	background: #c8aa6e;
}
.useful-content .item-body {
	padding-top: .5em;
}
@media (min-width: 768px) {
	.useful-content .items {
		-ms-flex-pack: justify;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: justify;
	}
	.useful-content .item {
		width: 425px;
		margin-bottom: 60px;
	}
	.useful-content .item-title {
		padding: .5em 0;
		font-size: 22px;
	}
	.useful-content .item-body {
		line-height: 1.875;
	}
}
@media (max-width: 767px) {
	.useful-content .item {
		margin-bottom: 30px;
	}
	.useful-content .item-title {
		padding: .5em 0;
		font-size: 14px;
	}
	.useful-content .item-body {
		font-size: 12px;
	}
}

.useful-emergency .item {
	color: #333;
	text-align: center;
	background: #fae25e;
}

.useful-emergency .item-l {
	background: #bee1ef;
}

@media (min-width: 768px) {
	.useful-emergency .items {
		-ms-flex-pack: justify;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;

		-webkit-box-pack: justify;
	}
	.useful-emergency .item {
		width: 48%;
		height: 100px;
		margin-bottom: 20px;
		font-size: 30px;
		line-height: 100px;
		border-radius: 50px;
	}
	.useful-emergency .item.item-l {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.useful-emergency .item {
		width: 100%;
		height: 50px;
		margin-bottom: 20px;
		font-size: 16px;
		line-height: 50px;
		border-radius: 50px;
	}
}

/*----------------------------------------------------
	駐車場の情報
----------------------------------------------------*/
.parking-map {
	color: #333;
	background-color: #fff;
}
.parking-map .nav {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
}
.parking-map .nav-btn {
	width: 50%;
	padding: .75em .5em;
	color: #fff;
	text-align: center;
	cursor: pointer;
}
.parking-map .item-flow {
	padding: 16px 12px;
}
.parking-map .nav-naha {
	background: #ff8d1e;
}
.parking-map .nav-chatan {
	background: #8cc8f5;
}
.parking-map .naha .item-flow {
	border: 2px solid #ff8d1e;
}
.parking-map .chatan .item-flow {
	border: 2px solid #8cc8f5;
}
@media (min-width: 768px) {
	.parking-map .item-map {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         flex;
	}
	.parking-map .item-picture {
		width: 500px;
		margin-right: 30px;
	}
	.parking-map .item-access {
		-webkit-flex: 1;
		    -ms-flex: 1;
		        flex: 1;

		-webkit-box-flex: 1;
	}
}

/*----------------------------------------------------
	汎用クラス
----------------------------------------------------*/
.disabled {
	opacity: .6;
	pointer-events: none;
}

.youtube-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 56.25%;
}
.youtube-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.fadeIn {
	display: none;
}
.fadeIn.show {
	-webkit-animation: fadeIn .6s linear;
	        animation: fadeIn .6s linear;
}

.crop {
	position: relative;
	display: block;
	padding: 100% 0 0;
	overflow: hidden;
}
.crop img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}

.flex {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;
}

.flex--justify {
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	        justify-content: space-between;

	-webkit-box-pack: justify;
}

.flex--wrap {
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
}

.flex--center {
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;

	-webkit-box-pack: center;
}

.flex--middle {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;

	-webkit-box-align: center;
}

.row-middle {
	-webkit-align-items: center;
	        align-items: center;
	-ms-flex-align: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         flex;

	-webkit-box-align: center;
	-webkit-box-pack: center;
}

.bold,
.strong {
	font-weight: bold;
}

.center {
	text-align: center;
}

.indent {
	padding-left: 1em;
	text-indent: -1em;
}

.lh18 {
	line-height: 1.8;
}
@media (max-width: 767px) {
	.lh18 {
		line-height: 1.5;
	}
}

.lh2 {
	line-height: 2;
}
@media (max-width: 767px) {
	.lh2 {
		line-height: 1.75;
	}
}

.mt-1 {
	margin-top: 1rem;
}

.mt-2 {
	margin-top: 2rem;
}

.mb-1 {
	margin-bottom: 1rem;
}

.mb-2 {
	margin-bottom: 2rem;
}

.ml-1 {
	margin-left: 1rem;
}

.ml-2 {
	margin-left: 2rem;
}

.mr-1 {
	margin-right: 1rem;
}

.mr-2 {
	margin-right: 2rem;
}

.mx-1 {
	margin-right: 1rem;
	margin-left: 1rem;
}

.mx-2 {
	margin-right: 2rem;
	margin-left: 2rem;
}

.my-1 {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.my-2 {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.pt-1 {
	padding-top: 1rem;
}

.pt-2 {
	padding-top: 2rem;
}

.pb-1 {
	padding-bottom: 1rem;
}

.pb-2 {
	padding-bottom: 2rem;
}

.pl-1 {
	padding-left: 1rem;
}

.pl-2 {
	padding-left: 2rem;
}

.pr-1 {
	padding-right: 1rem;
}

.pr-2 {
	padding-right: 2rem;
}

.px-1 {
	padding-right: 1rem;
	padding-left: 1rem;
}

.px-2 {
	padding-right: 2rem;
	padding-left: 2rem;
}

.py-1 {
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.py-2 {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.fz-12 {
	font-size: .75em;
}

.fz-14 {
	font-size: .875em;
}

.fz-16 {
	font-size: 1em;
}

.fz-18 {
	font-size: 1.125em;
}

.fz-20 {
	font-size: 1.25em;
}

.fz-22 {
	font-size: 1.375em;
}

.fz-24 {
	font-size: 1.5em;
}

.fz-26 {
	font-size: 1.625em;
}

.fz-28 {
	font-size: 1.75em;
}

.fz-30 {
	font-size: 1.875em;
}

@media (max-width: 767px) {
	.fz-12--sp {
		font-size: .75em;
	}
	.fz-14--sp {
		font-size: .875em;
	}
	.fz-16--sp {
		font-size: 1em;
	}
	.fz-18--sp {
		font-size: 1.125em;
	}
	.fz-20--sp {
		font-size: 1.25em;
	}
	.fz-22--sp {
		font-size: 1.375em;
	}
	.fz-24--sp {
		font-size: 1.5em;
	}
	.fz-26--sp {
		font-size: 1.625em;
	}
	.fz-28--sp {
		font-size: 1.75em;
	}
	.fz-30--sp {
		font-size: 1.875em;
	}
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

@media (max-width: 767px) {
	.mb5 {
		margin-bottom: .78125vw !important;
	}
	.mb10 {
		margin-bottom: 1.5625vw !important;
	}
	.mb15 {
		margin-bottom: 2.34375vw !important;
	}
	.mb20 {
		margin-bottom: 3.125vw !important;
	}
	.mb25 {
		margin-bottom: 3.90625vw !important;
	}
	.mb30 {
		margin-bottom: 4.6875vw !important;
	}
	.mb35 {
		margin-bottom: 5.46875vw !important;
	}
	.mb40 {
		margin-bottom: 6.25vw !important;
	}
	.mb45 {
		margin-bottom: 7.03125vw !important;
	}
	.mb50 {
		margin-bottom: 7.8125vw !important;
	}
	.mb55 {
		margin-bottom: 8.59375vw !important;
	}
	.mb60 {
		margin-bottom: 9.375vw !important;
	}
	.mb65 {
		margin-bottom: 10.15625vw !important;
	}
	.mb70 {
		margin-bottom: 10.9375vw !important;
	}
	.mb75 {
		margin-bottom: 11.71875vw !important;
	}
	.mb80 {
		margin-bottom: 12.5vw !important;
	}
	.mb100 {
		margin-bottom: 15.625vw !important;
	}
}

.fz10 {
	font-size: .625em;
}

.fz12 {
	font-size: .75em;
}

.fz14 {
	font-size: .875em;
}

.fz16 {
	font-size: 1em;
}

.fz18 {
	font-size: 1.125em;
}

.fz20 {
	font-size: 1.25em;
}

.fz22 {
	font-size: 1.375em;
}

.fz24 {
	font-size: 1.5em;
}

.fz26 {
	font-size: 1.625em;
}

.fz28 {
	font-size: 1.75em;
}

.fz30 {
	font-size: 1.875em;
}

.fz32 {
	font-size: 2em;
}

@media (max-width: 767px) {
	.fz10--sp {
		font-size: .625em;
	}
	.fz12--sp {
		font-size: .75em;
	}
	.fz14--sp {
		font-size: .875em;
	}
	.fz16--sp {
		font-size: 1em;
	}
	.fz18--sp {
		font-size: 1.125em;
	}
	.fz20--sp {
		font-size: 1.25em;
	}
	.fz22--sp {
		font-size: 1.375em;
	}
	.fz24--sp {
		font-size: 1.5em;
	}
	.fz26--sp {
		font-size: 1.625em;
	}
	.fz28--sp {
		font-size: 1.75em;
	}
	.fz30--sp {
		font-size: 1.875em;
	}
	.fz32--sp {
		font-size: 2em;
	}
}

.c-yellow {
	color: #fcd137;
}

.c-lyellow {
	color: #ff0;
}

.c-orange {
	color: #b9850e;
}

.c-red {
	color: #c1272d;
}

.c-caution {
	color: #c32527;
}
