@charset "UTF-8";


/*

	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/dot_pack_alpha.png");
	background-color: transparent;
	background-size: 20px 49px;

	background-color: transparent;

	border-style: solid;
	border-color: transparent;
	border-width: 1px 0px 1px 0px;

	box-sizing: border-box;

	border-radius: 50px;

	text-align: center;
	font-size: 30px;
	line-height: 32px;
	letter-spacing: 0.008em;
	color: #000000;
	font-weight: 400;
	text-decoration: none;

	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;

	position: relative;
	position: absolute;
	top: 0px;
	left: 0px;
	width: auto;
	height: auto;
	z-index: 10000;

	transition-delay: 0s;
	transition-property: all;
	transition-duration: 0.25s;
	transition-timing-function: ease-in-out;

	border-radius: 50px;

	transition: background-color 0.3s ease 0s;

	transition: opacity 0.3s ease 0s;




.noto-sans-jp-<uniquifier> {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: <weight>;
	font-style: normal;
}

	font-family: "Noto Serif JP", serif;

	font-family: "BIZ UDMincho", serif;


@media only screen and ( max-width: 1000px ){


}

*/




:root{
/*
	--mag25: 2.5 / 750px * 100 * 1vw;
	--mag23: 2.3 / 750px * 100 * 1vw;
	--mag22: 2.2 / 750px * 100 * 1vw;
	--mag2:  2.0 / 750px * 100 * 1vw;
	--mag17: 1.7 / 750px * 100 * 1vw;
	--mag15: 1.5 / 750px * 100 * 1vw;
	--mag13: 1.3 / 750px * 100 * 1vw;
	--mag12: 1.2 / 750px * 100 * 1vw;
	--mag1:  1.0 / 750px * 100 * 1vw;

	--mag1920:  1.0 / 1920px * 100 * 1vw;
*/

	--mag25: 0.333333vw;
	--mag23: 0.306666vw;
	--mag22: 0.293333vw;
	--mag2:  0.266666vw;
	--mag17: 0.226666vw;
	--mag15: 0.2vw;
	--mag13: 0.173333vw;
	--mag12: 0.16vw;
	--mag1:  0.133333vw;

	--sp-border-width: 1px;

	--mag1920: 0.05208333vw;

	/* min-height: calc( 107 * var(--mag13) ); */
}




html, body {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	-webkit-text-size-adjust: none;
	background-color: #f4f4f4;
}

body {
	background-repeat: repeat-y, no-repeat, no-repeat, repeat-y, repeat-y;
	background-position: center top, -40vw calc( 100% + 40vw ), 81vw -44vw, center top, center top;
	background-image: url("../images/bg03.png"), url("../images/bg04.png"), url("../images/bg04.png"), url("../images/bg01.png"), url("../images/bg02.png");
	background-size: 100% auto, 64% auto, 64% auto, 100% auto, 100% auto;
}

.default_font_family,
body {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
}

strong {
	font-weight: 900;
}

@media only screen and ( max-width: 750px ){

	body {
		background-position: center top, -40vw calc( 100% + 0vw ), 57vw -25vw, center center, center center;
		background-size: 100% auto, 80% auto, 80% auto, 100% auto, 100% auto;
	}

}




@media only screen and ( max-width: 750px ){


}




/* ------------------------------------------------------------------------------------------------ Anchor */




.anchor_pos {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: 0px;
	position: absolute;
	top: -45px;
	left: 0px;
	z-index: -1;
}

@media only screen and ( max-width: 750px ){

	.anchor_pos {
		top: calc( -145 * var(--mag13) );
	}

}




/* ------------------------------------------------------------------------------------------------ TOP FV */




#main_fv {
	margin: 0px 0px 0px 0px;
	padding: 60px 0px 55px 0px;
	display: block;
	width: auto;
	height: auto;
	overflow: hidden;

	padding-bottom: 72px;
}

#main_fv #main_fv_in {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 1000px;
	height: auto;
	position: relative;
	background-color: transparent;
	box-sizing: border-box;
}

#main_fv #main_fv_kv {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	background-color: transparent;
	box-sizing: border-box;
}

#main_fv .outer_frame_border {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-color: transparent;
	background-size: 100% 100%;
}

#main_fv .outer_frame_border:nth-child(1) {
	width: calc( 100vw - 1000px  );
	width: 920px;
	height: 3px;
	top: 72%;
	top: 750px;
	left: 40%;
	background-image: url("../images/kv_frame_horizontal2_grad1.png");
}

#main_fv .outer_frame_border:nth-child(2) {
	width: calc( 100vw - 1000px  );
	width: 920px;
	height: 3px;
	top: calc( 72% + 5px );
	top: calc( 750px + 5px );
	left: 30%;
	background-image: url("../images/kv_frame_horizontal2_grad1.png");
}

#main_fv .outer_frame_border:nth-child(3) {
	width: calc( 100vw - 1000px  );
	width: 920px;
	height: 3px;
	top: 86%;
	top: 850px;
	right: 50%;
	background-image: url("../images/kv_frame_horizontal2_grad1.png");
}

#main_fv .outer_frame_border:nth-child(4) {
	width: calc( 100vw - 1000px  );
	width: 920px;
	height: 3px;
	top: calc( 86% + 5px );
	top: calc( 850px + 5px );
	right: 40%;
	background-image: url("../images/kv_frame_horizontal2_grad1.png");
}

#main_fv #main_fv_kv img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
}

#main_fv #main_fv_kv .frame_border {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-color: transparent;
	background-size: 100% 100%;
}

#main_fv #main_fv_kv .frame_border:nth-child(2) {
	width: calc( 100% + 30px );
	height: 2px;
	top: -1px;
	left: -15px;
	background-image: url("../images/kv_frame_horizontal2.png");
}

#main_fv #main_fv_kv .frame_border:nth-child(3) {
	width: calc( 100% + 30px );
	height: 4px;
	bottom: -1px;
	left: -15px;
	background-image: url("../images/kv_frame_horizontal.png");
}

#main_fv #main_fv_kv .frame_border:nth-child(4) {
	width: 4px;
	height: calc( 100% + 30px );
	top: -15px;
	left: -1px;
	background-image: url("../images/kv_frame_vertical2.png");
}

#main_fv #main_fv_kv .frame_border:nth-child(5) {
	width: 2px;
	height: calc( 100% + 30px );
	top: -15px;
	right: -1px;
	background-image: url("../images/kv_frame_vertical2.png");
}

#main_fv #main_fv_kv .frame_border:nth-child(6) {
	width: 4px;
	height: calc( 100% + 30px );
	top: -5px;
	right: -7px;
	background-image: url("../images/kv_frame_vertical2.png");
}

#main_fv #main_fv_kv .frame_border:nth-child(7) {
	width: 2px;
	height: calc( 100% + 30px );
	top: -25px;
	left: -5px;
	background-image: url("../images/kv_frame_vertical.png");
}

#main_fv #main_fv_kv .frame_border:nth-child(8) {
	width: calc( 100% - 0px );
	height: 4px;
	top: -7px;
	left: 30px;
	background-image: url("../images/kv_frame_horizontal2.png");
}

#main_fv #main_fv_kv .frame_border:nth-child(9) {
	width: calc( 100% - 0px );
	height: 2px;
	bottom: -5px;
	left: -30px;
	background-image: url("../images/kv_frame_horizontal.png");
}

#main_fv #main_fv_h1 {
	margin: 60px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;

	margin-top: 80px;
}

#main_fv #main_fv_h1 img {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 60px;
}

#main_fv h2 {
	margin: 30px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	text-align: center;
	font-size: 30px;
	line-height: 52px;
	letter-spacing: 0.008em;
	color: #000000;
	font-weight: 900;
	text-decoration: none;
	font-family: "Noto Serif JP", serif;

	margin-top: 40px;
	font-size: 26px;
	line-height: 48px;
}

#main_fv h2 .spbr {
	display: none;
}

#main_fv h2 .pcbr {
	display: block;
}

@media only screen and ( max-width: 1096px ){

	#main_fv #main_fv_in {
		width: 91.2408vw;
	}

	#main_fv .outer_frame_border {
		display: none;
	}

	#main_fv .outer_frame_border:nth-child(1) {
		width: 920px;
		top: 750px;

		width: 83.9416vw;
		top: 68.4306vw;
	}

	#main_fv .outer_frame_border:nth-child(2) {
		width: 920px;
		top: calc( 750px + 5px );

		width: 83.9416vw;
		top: calc( 68.4306vw + 5px );
	}

	#main_fv .outer_frame_border:nth-child(3) {
		width: 920px;
		top: 850px;

		width: 83.9416vw;
		top: 77.5547vw;
	}

	#main_fv .outer_frame_border:nth-child(4) {
		width: 920px;
		top: calc( 850px + 5px );

		width: 83.9416vw;
		top: calc( 77.5547vw + 5px );
	}

}

@media only screen and ( max-width: 1000px ){

	#main_fv h2 .spbr {
		display: block;
	}

	#main_fv h2 .pcbr {
		display: none;
	}

	#main_fv h2 br {
		/*display: none !important;*/
	}

}

@media only screen and ( max-width: 750px ){

	#main_fv {
		padding: 60px 0px 50px 0px;
		padding-bottom: 70px;

		padding: calc( 60 * var(--mag13) ) 0px calc( 50 * var(--mag13) ) 0px;
		padding-bottom: calc( 72 * var(--mag13) );
		padding-top: calc( 136 * var(--mag13) );

		padding-bottom: calc( 0 * var(--mag13) );
	}

	#main_fv .outer_frame_border:nth-child(1) {
		height: 3px;
		left: 40%;
	}

	#main_fv .outer_frame_border:nth-child(2) {
		height: 3px;
		left: 30%;
	}

	#main_fv .outer_frame_border:nth-child(3) {
		height: 3px;
		right: 50%;
	}

	#main_fv .outer_frame_border:nth-child(4) {
		height: 3px;
		right: 40%;
	}

	#main_fv #main_fv_kv .frame_border:nth-child(2) {
		width: calc( 100% + 30px );
		height: 2px;
		top: -1px;
		left: -15px;
	}

	#main_fv #main_fv_kv .frame_border:nth-child(3) {
		width: calc( 100% + 30px );
		height: 4px;
		bottom: -1px;
		left: -15px;
	}

	#main_fv #main_fv_kv .frame_border:nth-child(4) {
		width: 4px;
		height: calc( 100% + 30px );
		top: -15px;
		left: -1px;
	}

	#main_fv #main_fv_kv .frame_border:nth-child(5) {
		width: 2px;
		height: calc( 100% + 30px );
		top: -15px;
		right: -1px;
	}

	#main_fv #main_fv_kv .frame_border:nth-child(6) {
		width: 4px;
		height: calc( 100% + 30px );
		top: -5px;
		right: -7px;
	}

	#main_fv #main_fv_kv .frame_border:nth-child(7) {
		width: 2px;
		height: calc( 100% + 30px );
		top: -25px;
		left: -5px;
	}

	#main_fv #main_fv_kv .frame_border:nth-child(8) {
		width: calc( 100% - 0px );
		height: 4px;
		top: -7px;
		left: 30px;
	}

	#main_fv #main_fv_kv .frame_border:nth-child(9) {
		width: calc( 100% - 0px );
		height: 2px;
		bottom: -5px;
		left: -30px;
	}

	#main_fv #main_fv_h1 {
		margin: 60px 0px 0px 0px;
		margin-top: 80px;

		margin: calc( 60 * var(--mag13) ) 0px 0px 0px;
		margin-top: calc( 80 * var(--mag13) );

		margin-top: calc( 96 * var(--mag13) );

		margin-top: calc( 124 * var(--mag13) );
	}

	#main_fv #main_fv_h1 img {
		height: 60px;

		height: calc( 60 * var(--mag1) );
		height: calc( 64 * var(--mag1) );
	}

	#main_fv h2 {
		margin: 30px 0px 0px 0px;
		font-size: 30px;
		line-height: 52px;

		margin: calc( 30 * var(--mag13) ) 0px 0px 0px;
		font-size: calc( 30 * var(--mag12) );
		line-height: calc( 52 * var(--mag12) );

		margin-top: 40px;
		font-size: 26px;
		line-height: 48px;

		margin-top: calc( 40 * var(--mag13) );
		font-size: calc( 26 * var(--mag12) );
		line-height: calc( 48 * var(--mag12) );
	}

}




#main_fv_logo {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: 220px;
	position: absolute;
	top: 670px;
	left: 0px;
}

#main_fv_logo img {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 100%;
}

@media only screen and ( max-width: 1096px ){

	#main_fv_logo {
		height: 220px;
		top: 670px;

		height: 20.0729vw;
		top: 61.1313vw;
	}

}

@media only screen and ( max-width: 750px ){

	#main_fv_logo {
		height: 26vw;
		top: 70vw;
	}

}




#main_fv .fv_link {
	margin: 50px 0px 16px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	width: auto;
	height: auto;
}

#main_fv .fv_link .fv_link_button {
	margin: 0px 0px 0px 0px;
	padding: 14px 20px 14px 20px;
	display: block;
	width: auto;
	height: auto;
	text-align: center;
	font-size: 24px;
	line-height: 24px;
	letter-spacing: 0.08em;
	color: #000000;
	font-weight: 900;
	text-decoration: none;
	background-color: #ffffff;
	font-family: "Noto Serif JP", serif;
	border-style: solid;
	border-color: #000000;
	border-width: 2px;
	box-sizing: border-box;
	outline: 4px solid #000000;
	outline-offset: 2px;
	transition: background-color 0.3s ease 0s;
	box-shadow: 0 0 0 2px #ffffff;
	border-radius: 150px;
	transition: opacity 0.3s ease 0s;
}

#main_fv .fv_link .fv_link_button:hover {
	opacity: 0.5;
}

#main_fv .fv_link .fv_link_button .fv_link_button_text {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

@media only screen and ( max-width: 750px ){

	#main_fv .fv_link {
		margin: 50px 0px 16px 0px;

		margin: calc( 50 * var(--mag13) ) 0px calc( 16 * var(--mag13) ) 0px;
	}

	#main_fv .fv_link .fv_link_button {
		padding: 14px 20px 14px 20px;
		font-size: 24px;
		line-height: 24px;
		border-width: 2px;
		outline: 4px solid #000000;
		outline-offset: 2px;
		box-shadow: 0 0 0 2px #ffffff;

		padding: calc( 14 * var(--mag13) ) calc( 20 * var(--mag13) ) calc( 14 * var(--mag13) ) calc( 20 * var(--mag13) );
		font-size: calc( 24 * var(--mag13) );
		line-height: calc( 24 * var(--mag13) );
		border-width: calc( 2 * var(--mag13) );
		outline: calc( 4 * var(--mag13) ) solid #000000;
		outline-offset: calc( 2 * var(--mag13) );
		box-shadow: 0 0 0 calc( 2 * var(--mag13) ) #ffffff;
	}

}




/* ------------------------------------------------------------------------------------------------ Header */




#main_header {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	position: sticky;
	top: 0px;
	z-index: 10000;
	background-color: #808080;
	background-color: rgba( 218, 49, 49, 0.5 );
	background-color: rgba( 170, 170, 170, 0.5 );
}

#main_header #main_header_nav {
	margin: 0px 24px 0px 24px;
	padding: 36px 0px 36px 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	width: auto;
	height: auto;
	gap: 18px 32px;

	gap: 28px 36px;
}

#main_header #main_header_nav .nav_item {
	margin: 0px 0px 0px 0px;
	padding: 10px 30px 10px 30px;
	display: block;
	width: auto;
	height: auto;
	text-align: center;
	font-size: 24px;
	line-height: 24px;
	letter-spacing: 0.08em;
	color: #000000;
	font-weight: 900;
	text-decoration: none;
	background-color: #ffffff;
	font-family: "Noto Serif JP", serif;
/*
	font-family: "BIZ UDMincho", serif;
	font-weight: 700;
*/
	border-style: solid;
	border-color: #000000;
	border-width: 4px 12px 4px 12px;
	box-sizing: border-box;
	outline: 2px solid #ffffff;
	outline-offset: 0px;
	transition: background-color 0.3s ease 0s;

	border-width: 2px;
	outline: 6px solid #000000;
	outline-offset: 2px;
	box-shadow: 0 0 0 2px #ffffff;
}

#main_header #main_header_nav .nav_item:hover {
	background-color: #000000;
	color: #ffffff;
}

#main_header #main_header_nav .nav_item .nav_item_text {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

@media only screen and ( max-width: 750px ){

	#main_header {
		display: block;
/*
		background-repeat: repeat-x;
		background-position: left top;
		background-position: center center;
		background-image: url("../images/hr_bg01.png");
		background-color: transparent;
		background-size: 48vw auto;
		height: 2vw;
		position: relative;
*/
		margin: 0px 0px 0px 0px;
		padding: 0px 0px 0px 0px;
		display: block;
		width: 100%;
		height: 100%;
		height: 100dvh;
		position: fixed;
		top: 0px;
		left: 0px;
		z-index: 5000;
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		flex-direction: row;
		align-items: center;

		display: none;
	}

	body.sp_menu_on #main_header {
		display: flex;
	}

	#main_header #main_header_nav {
		display: none;
		gap: 28px 36px;

		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		flex-direction: row;
		align-items: stretch;

		gap: calc( 36 * var(--mag13) ) calc( 28 * var(--mag13) );
	}

	#main_header #main_header_nav .nav_item {
		padding: 20px 10px 20px 10px;
		font-size: 24px;
		line-height: 24px;
		border-width: 2px;
		outline: 6px solid #000000;
		outline-offset: 2px;

		padding: calc( 20 * var(--mag13) ) calc( 10 * var(--mag13) ) calc( 20 * var(--mag13) ) calc( 10 * var(--mag13) );
		font-size: calc( 27 * var(--mag13) );
		line-height: calc( 27 * var(--mag13) );
		border-width: calc( 2 * var(--mag13) );
		outline: calc( 6 * var(--mag13) ) solid #000000;
		outline-offset: calc( 2 * var(--mag13) );
	}

	#main_header #main_header_nav .nav_item .nav_item_text {
		writing-mode: vertical-rl;
		text-box-trim: none;
		text-box-edge: unset;

		-webkit-writing-mode: vertical-rl;
		text-decoration: none;
		white-space: nowrap;
		width: 1em;
	}

}




/* ------------------------------------------------------------------------------------------------ Header SP */




#main_header_sp {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: none;
	width: auto;
	height: auto;
}

#main_header_sp #sp_ticket_button2,
#main_header_sp #sp_ticket_button,
#main_header_sp #sp_button {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	box-sizing: border-box;
	position: fixed;
	top: 16px;
	right: 16px;
	z-index: 10000;

	border-image-outset: 0px 0px 0px 0px;
	border-image-repeat: stretch stretch;
	border-style: solid;
	border-image-slice: 38 38 38 38;
	border-image-width: 24px 24px 24px 24px;
	border-width: 24px 24px 24px 24px;
	border-image-source: url("../images/content_border_image02_grad01.png");
}

#main_header_sp #sp_button #sp_button_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 64px;
	height: 64px;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/sp_button_icon01.png");
	background-color: #ffffff;
	background-size: 86% auto;
	position: relative;
}

#main_header_sp #sp_button #sp_button_in::after {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	content: '';
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	position: absolute;
	top: 0%;
	left: 0%;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center center;
	background-image: url("../images/sp_button_icon01_close.png");
	background-color: #ffffff;
	background-size: 86% auto;
	opacity: 0.0;
	transition: opacity 0.3s ease 0s;
}

body.sp_menu_on #main_header_sp #sp_button #sp_button_in::after {
	opacity: 1.0;
}

#main_header_sp #sp_ticket_button2,
#main_header_sp #sp_ticket_button {
	top: calc( 16px + 0px );
	right: calc( 128px + 16px );
	text-decoration: none;
	transition: opacity 0.3s ease 0s;
}

#main_header_sp #sp_ticket_button2 {
	right: calc( 486px );
}

#main_header_sp #sp_ticket_button2:hover,
#main_header_sp #sp_ticket_button:hover {
	opacity: 0.5;
}

#main_header_sp #sp_ticket_button2 #sp_ticket_button2_in,
#main_header_sp #sp_ticket_button #sp_ticket_button_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0.5em 0px 0.5em;
	display: block;
	width: auto;
	height: 64px;
	background-color: #ffffff;
	text-align: center;
	font-size: 32px;
	line-height: 32px;
	letter-spacing: 0.08em;
	color: #333960;
	font-weight: 900;
	text-decoration: none;
	background-color: #ffffff;
	font-family: "Noto Serif JP", serif;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
}

#main_header_sp #sp_ticket_button2 #sp_ticket_button2_in .ticket_button_text,
#main_header_sp #sp_ticket_button #sp_ticket_button_in .ticket_button_text {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

@media only screen and ( max-width: 750px ){

	#main_header_sp {
		display: block;
	}

	#main_header_sp #sp_ticket_button2,
	#main_header_sp #sp_ticket_button,
	#main_header_sp #sp_button {
		top: 16px;
		right: 16px;
		border-image-width: 24px 24px 24px 24px;
		border-width: 24px 24px 24px 24px;

		top: calc( 24 * var(--mag1) );
		right: calc( 24 * var(--mag1) );
		border-image-width: calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) );
		border-width: calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) );
	}

	#main_header_sp #sp_button #sp_button_in {
		width: 64px;
		height: 64px;

		width: calc( 66 * var(--mag1) );
		height: calc( 66 * var(--mag1) );
	}

	#main_header_sp #sp_ticket_button2,
	#main_header_sp #sp_ticket_button {
		top: calc( 16px + 0px );
		right: calc( 128px + 16px );

		top: calc( ( 16 + 16 ) * var(--mag1) );
		right: calc( ( 136 + 24 ) * var(--mag1) );

		/* v2 */

		border-image-outset: 0px 0px 0px 0px;
		border-image-repeat: stretch stretch;
		border-style: solid;
		border-image-slice: 20 64 20 20;
		border-image-width: 13px 36px 13px 13px;
		border-width: 13px 36px 13px 13px;
		border-image-source: url("../images/content_ticket_border_image01_grad02.png");
		top: calc( ( 16 + 24 ) * var(--mag1) );

		border-image-width: calc( 13 * var(--mag1) ) calc( 36 * var(--mag1) ) calc( 13 * var(--mag1) ) calc( 13 * var(--mag1) );
		border-width: calc( 13 * var(--mag1) ) calc( 36 * var(--mag1) ) calc( 13 * var(--mag1) ) calc( 13 * var(--mag1) );
	}

	#main_header_sp #sp_ticket_button2 {
		right: calc( 486 * var(--mag1) );
	}

	#main_header_sp #sp_ticket_button2 #sp_ticket_button2_in,
	#main_header_sp #sp_ticket_button #sp_ticket_button_in {
		width: 256px;
		height: 64px;

		width: calc( 256 * var(--mag1) );
		height: calc( 34 * var(--mag1) );

		width: auto;
		font-size: 32px;
		line-height: 32px;

		font-size: calc( 29 * var(--mag1) );
		line-height: calc( 29 * var(--mag1) );

		/* v2 */

		height: calc( 44 * var(--mag1) );
		padding-left: 0.35em;
		padding-right: 0.5em;

		height: calc( 56 * var(--mag1) );
		padding-left: 0.55em;
		padding-right: 0.8em;
	}

}




/* ------------------------------------------------------------------------------------------------ MAIN */




#main_content {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 1000px;
	height: auto;
	overflow: hidden;
}

@media only screen and ( max-width: 1000px ){

	#main_content {
		width: auto;
	}

}




#main_content .ticket_cover {
	margin: 70px 0px 70px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	gap: 35px;
	width: auto;
	height: auto;
	position: relative;
}

#main_content .ticket_cover .ticket_cover_item {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	width: auto;
	height: auto;
}

#main_content .ticket_cover .ticket_cover_item p {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-align: center;
	font-size: 16px;
	line-height: 32px;
	letter-spacing: 0.08em;
	color: #000000;
	font-weight: 700;
	text-decoration: none;
}

#main_content .ticket_cover .ticket_button {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	position: relative;
	background-color: transparent;
	box-sizing: border-box;
	text-decoration: none;
	transition: opacity 0.3s ease 0s;

	border-image-slice: 32 30 34 30;
	border-image-width: 16px 16px 16px 16px;
	border-image-outset: 0px 0px 0px 0px;
	border-image-repeat: stretch stretch;
	border-image-source: url("../images/content_border_image01.png");
	border-style: solid;
	border-width: 16px 16px 16px 16px;

	border-image-slice: 38 38 38 38;
	border-image-width: 24px 24px 24px 24px;
	border-width: 24px 24px 24px 24px;
	border-image-source: url("../images/content_border_image02.png");
}

#main_content .ticket_cover .ticket_button:hover {
	opacity: 0.5;
}

#main_content .ticket_cover .ticket_button .ticket_button_in {
	margin: 0px auto 0px auto;
	padding: 20px 40px 20px 40px;
	display: block;
	width: auto;
	height: auto;
	position: relative;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
	font-size: 36px;
	line-height: 36px;
	letter-spacing: 0.08em;
	color: #000000;
	font-weight: 900;
	text-decoration: none;
	background-color: #ffffff;
	font-family: "Noto Serif JP", serif;
}

#main_content .ticket_cover .ticket_button .ticket_button_text {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

#main_content .ticket_cover .ticket_button .ticket_button_text small {
	margin: 12px 0px 0px 0px;
	padding: 8px 0px 8px 0px;
	display: block;
	font-size: 24px;
	line-height: 24px;
	color: #ffffff;
	background-color: #000000;
	border-radius: 6px;
}

#main_content .ticket_cover .ticket_button .ticket_button_text small .small_in {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
}

@media only screen and ( max-width: 750px ){

	#main_content .ticket_cover {
		margin: 70px 0px 70px 0px;
		gap: 35px;

		margin: calc( 70 * var(--mag13) ) 0px calc( 70 * var(--mag13) ) 0px;
		gap: calc( 35 * var(--mag13) );
	}

	#main_content .ticket_cover .ticket_cover_item {
		gap: 8px;

		gap: calc( 8 * var(--mag13) );
	}

	#main_content .ticket_cover .ticket_cover_item p {
		font-size: 16px;
		line-height: 32px;

		font-size: calc( 16 * var(--mag15) );
		line-height: calc( 32 * var(--mag15) );
	}

	#main_content .ticket_cover .ticket_button {
		border-image-width: 24px 24px 24px 24px;
		border-width: 24px 24px 24px 24px;

		border-image-width: calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) );
		border-width: calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) ) calc( 24 * var(--mag1) );
	}

	#main_content .ticket_cover .ticket_button .ticket_button_in {
		padding: 20px 40px 20px 40px;
		font-size: 36px;
		line-height: 36px;

		padding: calc( 20 * var(--mag1) ) calc( 40 * var(--mag1) ) calc( 20 * var(--mag1) ) calc( 40 * var(--mag1) );
		font-size: calc( 36 * var(--mag1) );
		line-height: calc( 36 * var(--mag1) );


		padding: calc( 20 * var(--mag12) ) calc( 40 * var(--mag1) ) calc( 20 * var(--mag12) ) calc( 40 * var(--mag1) );
		font-size: calc( 36 * var(--mag12) );
		line-height: calc( 36 * var(--mag12) );
	}

	#main_content .ticket_cover .ticket_button .ticket_button_text small {
		margin: 12px 0px 0px 0px;
		padding: 8px 0px 8px 0px;
		font-size: 24px;
		line-height: 24px;
		border-radius: 6px;

		margin: calc( 12 * var(--mag12) ) 0px 0px 0px;
		padding: calc( 8 * var(--mag15) ) 0px calc( 8 * var(--mag15) ) 0px;
		font-size: calc( 24 * var(--mag12) );
		line-height: calc( 24 * var(--mag12) );
		border-radius: calc( 6 * var(--mag12) );
	}

}




/* ------------------------------------------------------------------------------------------------ INFO */




#main_content .info_box {
	margin: 70px auto 70px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 860px;
	height: auto;
	position: relative;
	background-color: #ffffff;

	margin-top: 86px;
	margin-bottom: 86px;
}

#main_content .info_box .box_frame_border {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: repeat;
	background-position: left top;
	background-position: center center;
	background-color: transparent;
	background-size: 100% 100%;
}

#main_content .info_box .box_frame_border:nth-last-child(1) {
	width: calc( 100% + 10px );
	height: 4px;
	top: -1px;
	left: -5px;
	background-image: url("../images/kv_frame_horizontal2.png");
}

#main_content .info_box .box_frame_border:nth-last-child(2) {
	width: calc( 100% + 10px );
	height: 4px;
	bottom: -1px;
	left: -5px;
	background-image: url("../images/kv_frame_horizontal.png");
}

#main_content .info_box .box_frame_border:nth-last-child(3) {
	width: 4px;
	height: calc( 100% + 10px );
	top: -5px;
	left: -1px;
	background-image: url("../images/kv_frame_vertical2.png");
	background-size: 100% auto;
}

#main_content .info_box .box_frame_border:nth-last-child(4) {
	width: 4px;
	height: calc( 100% + 10px );
	top: -5px;
	right: -1px;
	background-image: url("../images/kv_frame_vertical2.png");
	background-size: 100% auto;
}

#main_content .info_box .info_box_in {
	margin: 0px 0px 0px 0px;
	padding: 40px 40px 40px 40px;
	display: block;
	width: auto;
	height: auto;
}

#main_content .info_box h2 {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	gap: 12px;
	width: auto;
	height: auto;
}

#main_content .info_box h2::after,
#main_content .info_box h2::before {
	content: '●';
	font-size: 20px;

	color: transparent;
	width: 36px;
	height: 36px;
	background-repeat: no-repeat;
	background-position: left top;
	background-position: center 68%;
	background-image: url("../images/icon01.svg");
	background-color: transparent;
	background-size: contain;
}

#main_content .info_box h2 img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 42px;
}

#main_content .info_box .map_cover {
	margin: 16px 0px 8px 0px;
	padding: 66% 0px 0px 0px;
	display: block;
	width: 100%;
	height: 0px;
	position: relative;
}

#main_content .info_box .goods_image_wide .map_cover {
	margin-top: 40px;
	margin-bottom: 0px;
	padding-top: 0px;
	height: auto;
}

#main_content .info_box .goods_image_wide .map_cover img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: auto;
	position: relative;
}

#main_content .info_box .map_cover iframe {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
}

#main_content .info_box .map_cover img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0px;
	left: 0px;
}

#main_content .info_box .map_cover .map_frame_border {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	position: absolute;
	background-repeat: repeat;
	background-position: left top;
	background-position: center center;
	background-color: transparent;
	background-size: 100% 100%;
}

#main_content .info_box .map_frame_border:nth-last-child(1) {
	width: calc( 100% );
	height: 2px;
	top: -1px;
	left: -1px;
	background-image: url("../images/kv_frame_horizontal2.png");
}

#main_content .info_box .map_frame_border:nth-last-child(2) {
	width: calc( 100% );
	height: 2px;
	bottom: -1px;
	left: -1px;
	background-image: url("../images/kv_frame_horizontal.png");
}

#main_content .info_box .map_frame_border:nth-last-child(3) {
	width: 2px;
	height: calc( 100% );
	top: -1px;
	left: -1px;
	background-image: url("../images/kv_frame_vertical2.png");
}

#main_content .info_box .map_frame_border:nth-last-child(4) {
	width: 2px;
	height: calc( 100% );
	top: -1px;
	right: -1px;
	background-image: url("../images/kv_frame_vertical2.png");
}

#main_content .info_box table.info_table {
	margin: 30px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: table;
	border-collapse: collapse;
	border-width: 0px;
	width: auto;
	border-collapse: separate;
	border-spacing: 16px;

	margin-left: auto;
	margin-right: auto;
}

#main_content .info_box table.info_table tbody {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

#main_content .info_box table.info_table tbody tr {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
}

#main_content .info_box table.info_table tbody tr th,
#main_content .info_box table.info_table tbody tr td {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	border-width: 0px;
	text-align: left;
	font-size: 20px;
	line-height: 40px;
	letter-spacing: 0.02em;
	color: #000000;
	text-decoration: none;
	vertical-align: top;
}

#main_content .info_box table.info_table .label {
	margin: 0px 0px 0px 0px;
	padding: 12px 20px 12px 20px;
	display: block;
	width: auto;
	height: auto;
	text-align: center;
	font-size: 22px;
	line-height: 22px;
	letter-spacing: 0.08em;
	color: #ffffff;
	font-weight: 900;
	text-decoration: none;
	background-color: #000000;
	font-family: "Noto Serif JP", serif;
	box-sizing: border-box;
	border-radius: 5px;
}

#main_content .info_box table.info_table .label .label_text {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	white-space: nowrap;
}

#main_content .info_box table.info_table .big {
	font-size: 128%;
	font-weight: 900;
}

#main_content .info_box table.info_table .red {
	color: #da3131;
	color: #e94c56;
}

#main_content .info_box table.info_table a {
	color: #13686d;
	text-decoration: underline;
	transition: opacity 0.3s ease 0s;
	font-family: "Noto Serif JP", serif;
	font-weight: 900;
}

#main_content .info_box table.info_table a:hover {
	opacity: 0.5;
}

#main_content .info_box table.info_table small {
	margin-top: 6px;
	display: block;
	font-size: 16px;
	line-height: 28px;
	color: #323232;
}

@media only screen and ( max-width: 890px ){

	#main_content .info_box {
		width: 96.6292vw;
		width: 91.2408vw;
	}

}

@media only screen and ( max-width: 750px ){

	#main_content .info_box {
		margin: 70px auto 0px auto;
		margin-top: 86px;
		margin-bottom: 86px;

		margin: calc( 70 * var(--mag13) ) auto calc( 70 * var(--mag13) ) auto;
		margin-top: calc( 86 * var(--mag13) );
		margin-bottom: calc( 86 * var(--mag13) );
	}

	#main_content .info_box .box_frame_border:nth-last-child(1) {
		width: calc( 100% + 10px );
		height: 4px;
		top: -1px;
		left: -5px;
	}

	#main_content .info_box .box_frame_border:nth-last-child(2) {
		width: calc( 100% + 10px );
		height: 4px;
		bottom: -1px;
		left: -5px;
	}

	#main_content .info_box .box_frame_border:nth-last-child(3) {
		width: 4px;
		height: calc( 100% + 10px );
		top: -5px;
		left: -1px;
	}

	#main_content .info_box .box_frame_border:nth-last-child(4) {
		width: 4px;
		height: calc( 100% + 10px );
		top: -5px;
		right: -1px;
	}

	#main_content .info_box .info_box_in {
		padding: 40px 40px 40px 40px;

		padding: calc( 40 * var(--mag13) ) calc( 40 * var(--mag1) ) calc( 40 * var(--mag13) ) calc( 40 * var(--mag1) );
	}

	#main_content .info_box h2 {
		gap: 12px;

		gap: calc( 12 * var(--mag13) );
	}

	#main_content .info_box h2::after,
	#main_content .info_box h2::before {
		font-size: 20px;
		width: 36px;
		height: 36px;

		font-size: calc( 20 * var(--mag12) );
		width: calc( 36 * var(--mag12) );
		height: calc( 36 * var(--mag12) );
	}

	#main_content .info_box h2 img {
		height: 42px;

		height: calc( 42 * var(--mag12) );
	}

	#main_content .info_box .map_cover {
		margin: 16px 0px 8px 0px;

		margin: calc( 16 * var(--mag13) ) 0px calc( 8 * var(--mag13) ) 0px;
	}

	#main_content .info_box .goods_image_wide .map_cover {
		margin-top: 40px;

		margin-top: calc( 40 * var(--mag13) );
	}

	#main_content .info_box .map_frame_border:nth-last-child(1) {
		width: calc( 100% );
		height: 2px;
		top: -1px;
		left: -1px;
	}

	#main_content .info_box .map_frame_border:nth-last-child(2) {
		width: calc( 100% );
		height: 2px;
		bottom: -1px;
		left: -1px;
	}

	#main_content .info_box .map_frame_border:nth-last-child(3) {
		width: 2px;
		height: calc( 100% );
		top: -1px;
		left: -1px;
	}

	#main_content .info_box .map_frame_border:nth-last-child(4) {
		width: 2px;
		height: calc( 100% );
		top: -1px;
		right: -1px;
	}

	#main_content .info_box table.info_table {
		margin: 30px 0px 0px 0px;
		border-spacing: 16px;

		margin: calc( 30 * var(--mag13) ) 0px 0px 0px;
		border-spacing: calc( 16 * var(--mag13) );
		display: block;
	}

	#main_content .info_box table.info_table tbody {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		flex-direction: column;
		align-items: flex-start;
		gap: calc( 24 * var(--mag13) );
	}

	#main_content .info_box table.info_table tbody tr {
		display: block;

		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		flex-direction: column;
		align-items: flex-start;
		gap: calc( 8 * var(--mag13) );
		width: 100%;
	}

	#main_content .info_box table.info_table tbody tr th,
	#main_content .info_box table.info_table tbody tr td {
		font-size: 20px;
		line-height: 40px;

		font-size: calc( 20 * var(--mag12) );
		line-height: calc( 40 * var(--mag12) );
		display: block;
	}

	#main_content .info_box table.info_table tbody tr td {
		width: 100%;
	}

	#main_content .info_box table.info_table .label {
		padding: 12px 20px 12px 20px;
		font-size: 22px;
		line-height: 22px;
		border-radius: 5px;

		padding: calc( 12 * var(--mag12) ) calc( 20 * var(--mag12) ) calc( 12 * var(--mag12) ) calc( 20 * var(--mag12) );
		font-size: calc( 22 * var(--mag12) );
		line-height: calc( 22 * var(--mag12) );
		border-radius: calc( 5 * var(--mag12) );
	}

	#main_content .info_box table.info_table small {
		margin-top: 4px;
		font-size: 16px;
		line-height: 28px;

		margin-top: calc( 6 * var(--mag12) );
		font-size: calc( 16 * var(--mag12) );
		line-height: calc( 28 * var(--mag12) );
	}

}




#main_content .info_box table.info_table .tick_tb {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: table;
	width: auto;
	border-spacing: 0px;
}

#main_content .info_box table.info_table .tick_tb .tick_tr {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: table-row;
}

#main_content .info_box table.info_table .tick_tb .tick_tr .tick_td,
#main_content .info_box table.info_table .tick_tb .tick_tr .tick_th {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: table-cell;
}

#main_content .info_box table.info_table .tick_tb .tick_tr .tick_th {
	padding-right: 0.5em;
}




#main_content .info_box .x_button_link {
	margin: 10px 0px 10px 0px;
	padding: 8px 0px 8px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	width: 312px;
	height: 20px;
	background-color: #000000;
	border-radius: 50px;
}

#main_content .info_box .x_button_link img {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: 100%;
}

@media only screen and ( max-width: 750px ){

	#main_content .info_box .x_button_link {
		margin: 8px 0px 8px 0px;
		padding: 8px 0px 8px 0px;
		width: 312px;
		height: 20px;

		margin: calc( 10 * var(--mag12) ) 0px calc( 10 * var(--mag12) ) 0px;
		padding: calc( 8 * var(--mag12) ) 0px calc( 8 * var(--mag12) ) 0px;
		width: calc( 312 * var(--mag12) );
		height: calc( 20 * var(--mag12) );
	}

}




/* ------------------------------------------------------------------------------------------------ NOTICE */




#main_content .info_box ul.notice {
	margin: 32px 0px 32px 0px;
	padding: 0px 0px 0px 0px;
	display: block;
	text-align: left;
	font-size: 16px;
	line-height: 28px;
	letter-spacing: 0.08em;
	font-weight: 600;
	text-decoration: none;
	color: #000000;

	display: table;
	border-collapse: collapse;
	border-width: 0px;
}

#main_content .info_box ul.notice:last-child {
	margin-bottom: 0px;
}

#main_content .info_box ul.notice li {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: table-row;
	list-style-type: none;
}

#main_content .info_box ul.notice li::before {
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 0px;
	display: table-cell;
	content: '・';
	color: #000000;
	font-style: normal;
	font-weight: 900;
	vertical-align: top;
}

#main_content .info_box ul.notice li.kome::before {
	content: '※';
	font-weight: 500;
}

@media only screen and ( max-width: 750px ){

	#main_content .info_box ul.notice {
		margin: 32px 0px 32px 0px;
		font-size: 16px;
		line-height: 28px;

		margin: calc( 32 * var(--mag13) ) 0px calc( 32 * var(--mag13) ) 0px;
		font-size: calc( 16 * var(--mag12) );
		line-height: calc( 28 * var(--mag12) );
	}

}




/* ------------------------------------------------------------------------------------------------ CONTACT */




#main_content .contact_button_cover {
	margin: 0px 0px 12px 0px;
	padding: 0px 0px 0px 0px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	flex-direction: row;
	align-items: center;
	width: auto;
	height: auto;
	position: relative;
}

#main_content .contact_button_cover .contact_button {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	position: relative;
	background-color: transparent;
	box-sizing: border-box;
	text-decoration: none;
	transition: opacity 0.3s ease 0s;
}

#main_content .contact_button_cover .contact_button:hover {
	opacity: 0.5;
}

#main_content .contact_button_cover .contact_button .contact_button_text {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	position: relative;
	background-color: #ffffff;
	box-sizing: border-box;
	text-align: center;
	font-size: 20px;
	line-height: 20px;
	letter-spacing: 0.08em;
	color: #13686d;
	font-weight: 900;
	text-decoration: underline;
	background-color: #ffffff;
	font-family: "Noto Serif JP", serif;
}

@media only screen and ( max-width: 750px ){

	#main_content .contact_button_cover {
		margin: 0px 0px 12px 0px;

		margin: 0px 0px calc( 12 * var(--mag13) ) 0px;
	}

	#main_content .contact_button_cover .contact_button .contact_button_text {
		font-size: 20px;
		line-height: 20px;

		font-size: calc( 20 * var(--mag12) );
		line-height: calc( 20 * var(--mag12) );
	}

}




/* ------------------------------------------------------------------------------------------------ Footer */




#main_footer {
	margin: 30px auto 0px auto;
	padding: 60px 0px 60px 0px;
	display: block;
	width: auto;
	height: auto;
	overflow: hidden;
	background-color: #000000;
}

#main_footer p.cr {
	margin: 0px auto 0px auto;
	padding: 0px 0px 0px 0px;
	display: block;
	width: auto;
	height: auto;
	text-align: center;
	font-size: 14px;
	line-height: 14px;
	letter-spacing: 0.08em;
	color: #ffffff;
	font-weight: 800;
	text-decoration: none;
	font-family: "Noto Serif JP", serif;
}

@media only screen and ( max-width: 750px ){

	#main_footer {
		margin: calc( 30 * var(--mag13) ) auto 0px auto;
		padding: calc( 60 * var(--mag13) ) 0px calc( 60 * var(--mag13) ) 0px;
	}

	#main_footer p.cr {
		font-size: calc( 14 * var(--mag12) );
		line-height: calc( 14 * var(--mag12) );
	}

}