@charset "UTF-8";

/******** タブレット *********/

@media screen and (min-width: 641px) and (max-width: 1300px) {


	/* ----------------------------- 共通 */

	.wrap {
		width: 90%;
	}

	.wrap1000 {
		width: 90%;
	}

	.wrap900 {
		width: 90%;
	}

	.wrap800 {
		width: 90%;
	}



}




@media screen and (max-width: 800px) {
	.kv .symposium-top {
		display: flex;
		flex-direction: column;
	}

	.kv .symposium-top .text-content {
		display: contents;
		width: 100%;
	}

	.kv .symposium-top .text-content p {
		order: 4;
		width: 100%;
		margin: 30px 0;
	}

	.kv .symposium-top .image-content {
		width: 100%;
		order: 2;
	}

	.kv .symposium-top .image-content a {
		color: #333;
		display: block;
		font-size: 10px;
		line-height: 10px;
	}

	.kv .symposium-top h3 {
		order: 1;
		line-height: 30px;
	}

	.kv .symposium-top h4 {
		order: 3;
		width: 100%;
	}

}




/******** スマホ *********/

@media screen and (max-width: 640px) {

	/* ----------------------------- 全体 */
	body {
		font-size: 14px;
		-webkit-text-size-adjust: 100%;
	}

	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	.inline_pc {
		display: none;
	}

	.inline_sp {
		display: inline;
	}

	img,
	.bx-wrapper img {
		max-width: 100%;
		height: auto;
	}



	/* ----------------------------- 共通 */

	.wrap {
		width: 95%;
	}

	.wrap1000 {
		width: 95%;
	}

	.wrap900 {
		width: 95%;
	}

	.wrap800 {
		width: 95%;
	}



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

	.c_tit1 {
		font-size: 24px;
	}

	.c_tit1 span {
		font-size: 13px;
	}


	/* ----------------------------- ヘッダー */

	.header {
		padding: 6px 3%;
	}

	.header h1 {
		/*float: none;
    text-align: center;*/
	}




	.floting {
		width: 100%;
		top: auto;
		bottom: 0;
	}

	.floting li a {
		height: auto;
		font-size: 16px;
		writing-mode: horizontal-tb;
		padding: 10px 0;
	}

	/* ----------------------------- ナビ */

	.nav_btn {
		float: right;
		width: 25px;
		height: 17px;
		position: relative;
		top: 5px;
	}

	.nav_btn span {
		width: 100%;
		height: 1px;
		background: #fff;
		position: absolute;
		left: 0;
		z-index: 9;
		transition: 0.4s;
	}

	.nav_btn span.line1 {
		top: 0;
	}

	.nav_btn span.line2 {
		top: 7px;
	}

	.nav_btn span.line3 {
		top: 14px;
	}

	.nav_btn.close_btn span.line1 {
		top: 10px;
		transform: rotate(45deg);
	}

	.nav_btn.close_btn span.line2 {
		top: 10px;
		transform: rotate(-45deg);
	}

	.nav_btn.close_btn span.line3 {
		opacity: 0;
		visibility: hidden;
	}



	.menu {
		display: none;
		width: 100%;
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 9999;
		box-sizing: border-box;
	}

	.nav {
		float: none;
		background: #050201;
		padding: 0 15px 15px;
	}

	.nav li {
		/*width: 30%;
    margin-right: 5%;
    text-align: center;*/
		float: none;
		margin-right: 0;
		margin-bottom: 10px;
	}

	.nav li:last-child {
		margin-right: 0;
		margin-bottom: 0;
	}

	.nav .sub_menu {
		opacity: 1;
		visibility: visible;
		position: static;
		width: auto;
		padding: 0 10px 5px;
	}




	/* ----------------------------- kv */

	.kv {
		margin-top: 35px;
	}

	.kv-under ul li {
		width: 100%;
	}



	/* ----------------------------- コンテンツ */

	.block1 .box {
		/* padding: 40px 0; */
	}

	.block1 .read {
		font-size: 16px;
		line-height: 2em;
		text-align: left;
	}

	.block1 .read small {
		font-size: 80%;
		line-height: 1.6em;
		display: block;
	}

	.block1 .box .inner {
		margin-top: 40px;
	}

	.block1 .box .fb_link a {
		font-size: 14px;
	}

	.block1 .box .fb_link img {
		width: 17px;
	}

	.block1 .box .share {
		margin-top: 10px;
	}



	.bg:before {
		background-size: contain;
	}


	.block2 {
		padding: 40px 0;
	}

	.block2 .box {
		padding: 5%;
	}

	.block2 .box ul {
		margin-top: 0;
	}

	.block2 .box li {
		padding: 30px 0;
	}

	.block2 .box li table th {
		display: block;
		width: auto;
		font-size: 14px;
	}

	.block2 .box li table th .tit strong {
		margin-left: 0.4em;
	}

	.block2 .box li table th .end {
		/* margin-top: 20px; */
		position: static;
	}

	.block2 .box li table td {
		display: block;
	}

	.block2 .box li table td h4 {
		margin-top: 10px;
	}

	.block2 .box li table td h4 a,
	.block2 .box li table td h4.unlink {
		font-size: 20px;
	}

	.performance-top-text {
		font-size: 16px;
		font-weight: 400;
		line-height: 1.2em;
		margin-bottom: 30px;
	}

	.block2 .box li table td .performer {
		font-size: 16px;
		margin-top: 10px;
	}

	.block2 .box li table td .performer span {
		display: block;
	}

	.block2 .box li table td .performer .name {
		display: inline;
	}

	.block2 .box li table td .music {
		margin-top: 15px;
	}

	.block2 .box li table td .music span {
		font-size: 13px;
		line-height: 1.4em;
		margin-bottom: 5px;
	}




	.block3 {
		padding: 40px 0 20px;
		position: relative;
	}

	/*.block3:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.4);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}*/

	.block3 .wrap {
		position: relative;
		z-index: 9;
	}

	.block3 .box {
		margin-top: 30px;
	}

	.block3 .box .inner {
		margin-bottom: 25px;
		font-size: 15px;
	}

	.block3 .box .inner h4 span {
		font-size: 120%;
	}

	.block3 .box .inner3 .note {
		margin-top: 10px;
		font-size: 13px;
	}

	.ticket-reserve {
		padding: 0;
		flex-direction: column;
	}

	.ticket-reserve table {
		min-width: 420px;
		font-size: 0.97em;
	}

	.ticket-reserve .table-links {
		padding: 0;
	}

	.ticket-reserve h3 {
		width: 100%;
		margin-bottom: 10px;
	}

	.ticket-reserve ul,
	.table-links ul {
		flex-direction: column;
		gap: 0.7em;
	}

	.ticket-reserve ul li,
	.table-links ul li {
		font-size: 1em;
		padding: 0.9em 1em;
	}

	.block4 {
		padding: 40px 0;
	}

	.block4 .box {
		margin-top: 40px;
	}

	.block4 .box li {
		padding: 35px 3%;
		display: block;
	}

	.block4 .box li .txt {
		float: none;
		width: auto !important;
	}

	.block4 .box li .txt .tit {
		padding-left: 1em;
	}

	.block4 .box li .txt h4 {
		font-size: 19px;
	}

	.block4 .box li .txt p {
		margin-top: 15px;
		font-size: 13px;
		line-height: 1.6em;
	}

	.block4 .box li .txt p span {
		margin-top: 10px;
	}

	.block4 .box li .txt p span a {
		font-size: 14px;
	}

	.block4 .box li .txt p span img {
		width: 17px;
	}


	.block4 .box li .img {
		float: none;
		width: auto !important;
		margin-top: 20px !important;
		text-align: center;
	}

	.block4 .box li .img img {
		width: 100%;
	}

	.block4 .box li .img p {
		text-align: left;
	}

	.block4-5 .txt-wrap {
		display: block;
		width: 90%;
	}

	.block4-5 .txt .inner .big {
		font-size: 20px;
	}

	.block4-5 .txt-wrap .txt {
		width: 100%;
	}

	.block4-5 .txt-wrap .map {
		width: 100%;
		margin-top: 20px;
	}

	.block4-5 .txt .inner .big a img {
		height: 15px;
		margin: 5px;
	}

	.block4-6 .travels {
		grid-template-columns: repeat(auto-fit, 100%);
		text-align: center;
	}

	.block4-6 .travels .text {
		text-align: center;
	}

	.block5 {
		padding: 20px 0 40px;
	}

	.block5 h3 {
		font-size: 20px;
	}

	.block5 .box {
		margin-top: 20px;
	}

	.block5 .form table {
		font-size: 14px;
	}

	.block5 .form table th {
		display: block;
		width: auto;
		padding: 10px 0 0;
	}

	.block5 .form table th .required {
		font-size: 11px;
	}

	.block5 .form table td {
		display: block;
		padding: 5px 0 10px;
	}

	.block5 .form table td input[type="text"],
	.block5 .form table td input[type="email"],
	.block5 .form table td textarea {
		font-size: 14px;
	}

	.block5 .form table td textarea {
		height: 100px;
	}

	.block5 .contact_btn {
		margin-top: 20px;
	}

	.block5 .contact_btn input,
	.block5 .contact_btn button {
		width: 180px;
		font-size: 15px;
	}

	.contact_btn button {
		margin-right: 0;
		margin-bottom: 10px;
	}

	.block5 .note {
		margin-top: 60px;
	}



	.block7 {
		padding: 40px 0;
	}

	.block7 .box .inner {
		padding-top: 50px;
	}

	.block7 .box .inner h4 {
		font-size: 18px;
	}

	.block7 .box .inner p {
		margin-top: 10px;
	}




	.block7 .box .inner3 ul {
		margin-top: 10px;
	}

	.block7 .box .inner3 li {
		margin-bottom: 10px;
	}


	.block7 .box .inner5 p span {
		margin-right: 0;
		display: block;
		margin-top: 15px;
	}


	/* ----------------------------- 送信完了 */

	.thanks {
		padding: 40px 0;
	}

	.thanks p {
		font-size: 16px;
		/*text-align: left;*/
	}



	/* ----------------------------- フッター */

	.footer {
		padding: 40px 0 60px;
	}

	.footer .logo {
		width: 70%;
		margin: 0 auto;
	}

	.footer table {
		font-size: 14px;
		width: auto;
		margin-top: 20px;
	}

	.footer table th {
		padding: 5px 0;
		width: 70px;
	}

	.footer table td {
		padding: 5px 0;
	}

	.footer table td img {
		width: 80px;
		margin-right: 5px;
	}

	.footer .tel {
		margin-top: 20px;
		font-size: 15px;
		line-height: 2em;
	}

	.footer .tel img {
		width: 15px;
		margin-left: 5px;
	}

	.footer .sns li {
		width: 30px;
		margin-right: 5px;
	}

	.footer .copy {
		font-size: 10px;
		margin-top: 30px;
	}

	.ticket-table-box {
		overflow-x: auto;
		width: 100%;
		position: relative;
	}

	.ticket-table {
		min-width: 600px;
		font-size: 14px;
		border-collapse: collapse;
	}

	.ticket-table th,
	.ticket-table td {
		padding: 0.7em 0.5em;
		border: 1px solid #ccc;
		text-align: center;
		white-space: nowrap;
	}

	/* スクロールヒントアイコン */
	.scroll-hint {
		position: absolute;
		right: 10px;
		top: 8px;
		z-index: 3;
		font-size: 12px;
		color: #5a0035;
		background: #fff;
		padding: 2px 8px;
		border-radius: 12px;
		pointer-events: none;
		display: flex;
		align-items: center;
		gap: 4px;
		animation: hint-move 1.2s infinite alternate;
	}

	@keyframes hint-move {
		0% {
			right: 10px;
		}

		100% {
			right: 20px;
		}
	}
}