@charset "UTF-8";

html {
	scroll-behavior: smooth;
}

body {
	font-size: 13px;
	font-feature-settings: 'palt';
	letter-spacing: .09em;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	position: relative;
	&.scroll-lock {
		overflow: hidden;
	}
}

picture {
	max-width: 100%;
	display: block;
}

img {
	width: 100%;
	height: auto;
}

ol,
ul {
	list-style: none;
}

a {
	color: #000;
}

@keyframes menu_show {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.btn a {
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	background: linear-gradient(0deg, #00b16e 0%, #009a54 100%);
	box-shadow: 0px 5px 2px rgba(0, 0, 0, 0.2);
	border: 2px solid white;
	display: flex;
	align-items: center;
	position: relative;
}
.btn a::before {
	content: "";
	background: #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

@media (hover: hover) {
	.btn a:hover {
		opacity: 0.7;
	}
}

/* FOR SP landscape
***************************************************************************/

body.overlay::before {
	content: "";
	width: 100vw;
	height: 100vh;
	background: #fff;
	z-index: 996;
	display: block;
	position: absolute;
	animation: menu_show 0.5s ease-out forwards;
}
#wrapper {
	/*padding: 10vw 0 0px;
	*/
}
.caution {
	width: 100%;
	background: #e50000;
	box-shadow: 0px 6px 11px 2px rgba(0, 0, 0, .2);
	padding: 2vw 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}
.caution p {
	color: #fff;
	font-weight: 700;
	font-size: 4.3vw;
	text-align: center;
}
#leftMenu, #rightMenu {
	display: none;
}
.subContent {
	width: 100vw;
	box-sizing: border-box;
	padding: 0 4.7vw;
}
.cvBtnPanel {
	width: 100vw;
	background: #fff;
	box-shadow: 0px -6px 16px -6px rgba(0, 0, 0, 0.2);
	padding: 2vw 0 4vw;
	position: fixed;
	left: 0;
	bottom: -22vw;
	z-index: 999;
	transition: all 0.3s;
}
.cvBtnPanel.active {
	bottom: 0;
}
.cvBtnPanel .btn a {
	font-size: 4.5vw;
	width: 90.6vw;
	height: 16vw;
	border-radius: 5px;
	margin: 0 auto;
	padding: 0 0 0 14.4vw;
}
.cvBtnPanel .btn a::before {
	width: 2.1vw;
	height: 3.7vw;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	right: 18%;
}
header {
	position: relative;
}
header .menuBtn {
	position: absolute;
	top: 4.2vw;
	right: 3.46vw;
	z-index: 999;
}
header .menuBtn::before {
	content: "";
	width: 9vw;
	height: 9vw;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
header .menuBtn .zdo_drawer_button {
	color: #2274a5;
	text-align: center;
	letter-spacing: 0.1em;
	width: 6.5vw;
	height: 4.5vw;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	outline: none;
	display: block;
}
header .menuBtn .zdo_drawer_button .zdo_drawer_bar {
	width: 6.5vw;
	height: 0.8vw;
	background-color: #fff;
	display: block;
	transition: all 0.2s;
	transform-origin: 0% 0%;
	transform: translateY(-50%);
	position: absolute;
	left: 0;
}
header .menuBtn .zdo_drawer_button .zdo_drawer_bar {
	width: 6.5vw;
	height: 0.8vw;
	background-color: #fff;
	display: block;
	position: absolute;
	left: 0;
	transition: all 0.2s;
	transform-origin: 0% 0%;
	transform: translateY(-50%);
}
header .menuBtn .zdo_drawer_button .zdo_drawer_bar1 {
	top: 0;
}
header .menuBtn .zdo_drawer_button .zdo_drawer_bar2 {
	top: 50%;
}
header .menuBtn .zdo_drawer_button .zdo_drawer_bar3 {
	top: 100%;
}
header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar {
	width: 6.5vw;
	left: 2.1vw;
}
header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar1 {
	transform: rotate(0.7853981634rad) translateY(-50%);
	top: 0px;
}
header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar2 {
	opacity: 0;
}
header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar3 {
	transform: rotate(-0.7853981634rad) translateY(-50%);
	top: calc(100% - 0px);
}
header .menuBtn .zdo_drawer_button.change .zdo_drawer_menu_text {
	display: none;
}
header .menuBtn .zdo_drawer_button.change .zdo_drawer_close {
	display: block;
}
header .gnaviArea {
	width: 100vw;
	height: 100vh;
	background: url("../images/header_bg_01_2x.jpg") no-repeat 0 0 / 100%;
	padding: 13vw 0 0;
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 998;
}
header .gnaviArea ul {
	width: fit-content;
	-moz-width: fit-content;
	margin: 0 auto 39.2vw;
}
header .gnaviArea ul li {
	width: 74.6vw;
	height: 10.6vw;
	background: #fff;
	border-radius: 50vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
header .gnaviArea ul li + li {
	margin: 4vw 0 0;
}
header .gnaviArea ul li a {
	font-size: 4.2vw;
	text-align: left;
	text-decoration: none;
	width: 100%;
	padding: 0 0 0 6.9vw;
	display: block;
	position: relative;
}
header .gnaviArea ul li a::before {
	content: "";
	width: 3.7vw;
	height: 2.1vw;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	background: #00b26e;
	position: absolute;
	top: 50%;
	right: 6.6vw;
	transform: translateY(-50%);
}
header .gnaviArea .btn a {
	font-size: 4.5vw;
	width: 74.6vw;
	height: 16vw;
	border-radius: 5px;
	margin: 0 auto;
	padding: 0 0 0 6.4vw;
}
header .gnaviArea .btn a::before {
	width: 2.1vw;
	height: 3.7vw;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	right: 5%;
}
header .gnaviArea.active {
	display: block;
	animation: menu_show 0.5s ease-out forwards;
}
#mainv {
	margin: 0 0 5vw;
	position: relative;
}
#mainv .subContent h1 {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	padding: 0 0 28.2vw;
}
#mainv .subContent h1::before, #mainv .subContent h1::after {
	content: "";
	position: absolute;
}
#mainv .subContent h1::before {
	width: 14.4vw;
	height: 8.8vw;
	background: url("../images/s_rugby.svg") no-repeat 0 0 / 100%;
	top: 144.6vw;
	left: 7.7vw;
}
#mainv .subContent h1::after {
	width: 25.3vw;
	height: 24.8vw;
	background: url("../images/mainv_p_03_2x.png") no-repeat 0 0 / 100%;
	top: 136vw;
	right: 3.7vw;
}
#mainv .subContent .date {
	position: absolute;
	left: 50%;
	top: 113.6vw;
	transform: translateX(-50%);
}
#mainv .subContent .date img {
	width: 43.2vw;
}
#mainv .subContent .info .place {
	font-size: 5.6vw;
	font-weight: 700;
	text-align: center;
	margin: 0 0 2.3vw;
}
#mainv .subContent .info dl {
	font-size: 4.8vw;
	font-feature-settings: 'palt';
	letter-spacing: 0.03em;
	text-align: center;
	width: fit-content;
	-moz-width: fit-content;
	background: #fff;
	border: 1px solid #969696;
	border-radius: 50vh;
	margin: 0 auto 8vw;
	padding: 2vw 9.3vw 1.8vw 9vw;
}
#mainv .subContent .info dl dt, #mainv .subContent .info dl dd {
	display: inline-block;
}
#mainv .subContent .info .text {
	font-size: 4.2vw;
	text-align: center;
	line-height: 1.62;
}
#point {
	background: #f1f9f4;
	padding: 8.5vw 0 6vw;
	position: relative;
}
#point::before, #point::after {
	content: "";
	width: 100vw;
	height: 4.4vw;
	background: url("../images/s_wave.svg") no-repeat 0 0 / 100%;
	position: absolute;
}
#point::before {
	top: 0;
	left: 0;
}
#point::after {
	bottom: -1vw;
	left: 0;
	transform: rotate(180deg);
}
#point .subContent ol li {
	position: relative;
}
#point .subContent ol li picture {
	margin: 0 0 10vw;
	position: relative;
	left: -1.5vw;
}
#point .subContent ol li h2 {
	text-align: center;
	width: 68.8vw;
	background: #6ad5a9;
	background: linear-gradient(90deg, rgba(106, 213, 169, 1) 0%, rgba(0, 178, 110, 1) 100%);
	border: solid 1vw #f1f9f4;
	border-radius: 50vh;
	margin: 0 auto;
	padding: 2.1vw 0;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 48.6vw;
	left: 50%;
	transform: translateX(-50%);
}
#point .subContent ol li h2 span {
	color: #fff;
	font-size: 4.8vw;
	font-weight: 700;
}
#point .subContent ol li h2::before {
	content: "";
	width: 8vw;
	height: 4vw;
	background: #30c28a;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	position: absolute;
	left: 50%;
	bottom: -2.5vw;
	transform: translateX(-50%);
}
#point .subContent ol li p {
	font-size: 4.2vw;
	line-height: 1.62;
	margin: 0 0 4.2vw;
	padding: 0 1.5vw;
}
#point .subContent ol li p small {
	color: #464646;
	font-size: 3.2vw;
	margin: 0.5em 0 0;
	display: block;
}
#schedule {
	margin: 0 0 9.2vw;
	padding: 14.6vw 0 0;
}
#schedule .subContent h2 {
	font-size: 6.9vw;
	font-weight: 700;
	text-align: center;
	margin: 0 0 4vw;
	position: relative;
}
#schedule .subContent h2::before {
	content: "Schedule";
	color: #b3e8d4;
	font-size: 5.3vw;
	font-weight: 700;
	position: absolute;
	top: -6.5vw;
	left: 50%;
	transform: translateX(-50%);
}
#schedule .subContent > picture {
	width: auto;
	margin: 0 auto 8vw;
	position: relative;
}
#schedule .subContent > picture::after {
	content: "";
	width: 90.6vw;
	height: 44.8vw;
	border-radius: 2.6vw;
	background: radial-gradient(rgba(194, 225, 229, 1) 30%, transparent 0) 0 0/1.6vw 1.6vw, radial-gradient(rgba(194, 225, 229, 1) 30%, transparent 0) 0.8vw 0.8vw / 1.6vw 1.6vw;
	position: absolute;
	top: 2vw;
	right: -1.86vw;
	z-index: -1;
}
#schedule .subContent > picture img {
	border-radius: 2.6vw;
}
#schedule .subContent dl dt {
	background: linear-gradient(to right, rgba(76, 86, 164, 1) 0.6vw, transparent 0.6vw) repeat-x left bottom 3.6vw / 1.5vw 0.6vw;
	margin: 7.4vw 0 3.8vw;
}
#schedule .subContent dl dt span {
	color: #fff;
	font-size: 4.3vw;
	font-weight: 700;
	font-feature-settings: 'palt';
	letter-spacing: 0.03em;
	width: 29.6vw;
	height: 7.9vw;
	background: #4c56a4;
	aspect-ratio: 1;
	clip-path: polygon(100% 50%, 93% 93.3%, 7% 93.3%, 0% 50%, 7% 6.7%, 93% 6.7%);
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
#schedule .subContent dl dt:nth-of-type(2) {
	background: linear-gradient(to right, rgba(98, 86, 158, 1) 0.6vw, transparent 0.6vw) repeat-x left bottom 3.6vw / 1.5vw 0.6vw;
}
#schedule .subContent dl dt:nth-of-type(2) span {
	background: #62569e;
}
#schedule .subContent dl dt:nth-of-type(3) {
	background: linear-gradient(to right, rgba(121, 87, 152, 1) 0.6vw, transparent 0.6vw) repeat-x left bottom 3.6vw / 1.5vw 0.6vw;
}
#schedule .subContent dl dt:nth-of-type(3) span {
	background: #795798;
}
#schedule .subContent dl dt:nth-of-type(4) {
	background: linear-gradient(to right, rgba(165, 88, 141, 1) 0.6vw, transparent 0.6vw) repeat-x left bottom 3.6vw / 1.5vw 0.6vw;
}
#schedule .subContent dl dt:nth-of-type(4) span {
	background: #a5588d;
}
#schedule .subContent dl dt:nth-of-type(5) {
	background: linear-gradient(to right, rgba(188, 88, 135, 1) 0.6vw, transparent 0.6vw) repeat-x left bottom 3.6vw / 1.5vw 0.6vw;
}
#schedule .subContent dl dt:nth-of-type(5) span {
	background: #bc5887;
}
#schedule .subContent dl dt:nth-of-type(6) {
	background: linear-gradient(to right, rgba(210, 88, 129, 1) 0.6vw, transparent 0.6vw) repeat-x left bottom 3.6vw / 1.5vw 0.6vw;
}
#schedule .subContent dl dt:nth-of-type(6) span {
	background: #d25881;
}
#schedule .subContent dl dt:nth-of-type(7) {
	background: linear-gradient(to right, rgba(233, 89, 123, 1) 0.6vw, transparent 0.6vw) repeat-x left bottom 3.6vw / 1.5vw 0.6vw;
}
#schedule .subContent dl dt:nth-of-type(7) span {
	background: #e9597b;
}
#schedule .subContent dl dt:nth-of-type(8) {
	background: linear-gradient(to right, rgba(255, 89, 117, 1) 0.6vw, transparent 0.6vw) repeat-x left bottom 3.6vw / 1.5vw 0.6vw;
}
#schedule .subContent dl dt:nth-of-type(8) span {
	background: #ff5975;
}
#schedule .subContent dl dd h3 {
	font-size: 4.8vw;
	font-weight: 700;
	text-align: center;
	margin: 0 0 3.8vw;
}
#schedule .subContent dl dd picture {
	width: fit-content;
	margin: 0 auto;
	position: relative;
}
#schedule .subContent dl dd picture.image {
	margin: 0 0 5.8vw;
}
#schedule .subContent dl dd picture.image::after {
	content: "";
	width: 90.6vw;
	height: 56vw;
	border-radius: 2.6vw;
	background: radial-gradient(rgba(194, 225, 229, 1) 30%, transparent 0) 0 0 / 1.6vw 1.6vw, radial-gradient(rgba(194, 225, 229, 1) 30%, transparent 0) 0.8vw 0.8vw / 1.6vw 1.6vw;
	position: absolute;
	top: 2vw;
	right: -1.86vw;
	z-index: -1;
}
#schedule .subContent dl dd picture.image img {
	border-radius: 2.6vw;
}
#schedule .subContent dl dd picture.match::after {
	background: radial-gradient(rgba(249, 223, 221, 1) 30%, transparent 0) 0 0 / 1.6vw 1.6vw, radial-gradient(rgba(249, 223, 221, 1) 30%, transparent 0) 0.8vw 0.8vw / 1.6vw 1.6vw !important;
}
#schedule .subContent dl dd figure {
	width: fit-content;
	margin: 0 auto;
	position: relative;
}
#schedule .subContent dl dd figure.kickoff {
	width: 50.1vw;
	height: 14.4vw;
	margin: 0 auto;
	position: relative;
	top: -2.5vw;
}
#schedule .subContent dl dd figure.noside {
	width: 49vw;
	height: 14.4vw;
	margin: 0 auto;
	position: relative;
	top: -2.5vw;
}
#schedule .subContent dl dd figure.noside + p {
	text-align: center;
}
#schedule .subContent dl dd p {
	font-size: 4.2vw;
	line-height: 1.62;
}
#information {
	margin: 0 0 7.2vw;
}
#information h2 {
	font-size: 3.2vw;
	text-align: center;
	width: 100%;
	background: #e3e3e3;
	padding: 3.7vw 0;
}
#information .subContent dl {
	letter-spacing: 0.05em;
	margin: 0 0 4vw;
	display: flow-root;
}
#information .subContent dl dt {
	font-size: 2.6vw;
	font-weight: 700;
	padding: 5.7vw 0 4.6vw;
	float: left;
	position: relative;
}
#information .subContent dl dd {
	font-size: 3.2vw;
	line-height: 1.83;
	border-bottom: solid 1px #969696;
	padding: 5vw 2.6vw 4.6vw 24.5vw;
}
#information .subContent dl dd span {
	color: #f00;
	font-weight: 700;
}
#information .subContent .note {
	margin: 0 0 4.3vw;
}
#information .subContent .note li {
	font-size: 3.2vw;
	line-height: 1.83;
}
#information .subContent p small {
	color: #464646;
	font-size: 3.2vw;
	line-height: 1.83;
}
#application .subContent h2 {
	color: #fff;
	font-size: 4vw;
	font-weight: 700;
	text-align: center;
	background: #666464;
	margin: 0 0 5.8vw;
	padding: 3.4vw 0;
}
#application .subContent ul li {
	position: relative;
}
#application .subContent ul li + li {
	margin: 8.2vw 0 0;
}
#application .subContent ul li + li::before {
	content: "";
	width: 6vw;
	height: 3.5vw;
	background: #666464;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	position: absolute;
	top: -5.5vw;
	left: 50%;
	transform: translateX(-50%);
}
#application .subContent ul li h3 {
	color: #fff;
	font-size: 4vw;
	font-weight: 700;
	text-align: center;
	background: #666464;
	padding: 2vw 0;
}
#application .subContent ul li p {
	color: #231815;
	font-size: 4vw;
	line-height: 1.47;
	background: #fff;
	border: solid 1px #666464;
	padding: 2.6vw;
}
#application .subContent ul li p span {
	font-weight: 700;
}
#application .btn {
	width: fit-content;
	-moz-width: fit-content;
	margin: 10vw auto 0;
}
#application .btn a {
	font-size: 4.5vw;
	width: 90.6vw;
	height: 16vw;
	border-radius: 5px;
	margin: 0 auto;
	padding: 0 0 0 14.4vw;
}
#application .btn a::before {
	width: 2.1vw;
	height: 3.7vw;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
	right: 18%;
}
footer {
	border-top: solid 1px #cbcbcb;
	margin: 20.8vw 0 0;
	padding: 11vw 0 28.3vw;
}
footer .subContent dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	column-gap: 4%;
}
footer .subContent dl dt {
	font-size: 3.7vw;
	font-weight: 700;
	text-align: right;
	width: 22%;
}
footer .subContent dl dd {
	width: 50%;
	margin: 0 0 5vw;
}
footer .subContent dl dd img {
	max-width: 37vw;
}
footer .subContent .copyright {
	text-align: center;
	letter-spacing: 0.03em;
	margin: 5vw 0 0;
}
footer .subContent .copyright small {
	color: #969696;
	font-size: 2.4vw;
	display: block;
}

/* FOR PC landscape
***************************************************************************/
@media screen and (min-width: 751px) {
	html {
		font-size: 1.1445vw;
	}

	body {
		overflow-x: hidden;
	}

	body.overlay::before {
		content: none;
	}

	#wrapper {
		/*padding: 45px 0 0px;*/
	}

	.caution {
		padding: 10px 0;
	}

	.caution p {
		font-size: 19px;
	}

	#leftMenu {
		width: calc(353px + 126 * (100vw - 1028px) / 369);
		width: calc(100vw - max(15.7vw, 25rem) - 32.4rem);
		height: 100%;
		background: url("../images/side_bg_01.jpg") no-repeat center bottom / cover;
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 0;
	}

	#leftMenu .content {
		letter-spacing: 0.03em;
		position: absolute;
		top: 45%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	#leftMenu .content figure {
		width: max(22.6vw, 27rem);
		margin: 0 auto;
	}

	#leftMenu .content .sidemain {
		width: max(22.9vw, 27.25rem);
		margin: 0 auto 2.93rem;
	}

	#leftMenu .content .info {
		width: fit-content;
		-moz-width: fit-content;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		column-gap: 0.8rem;
	}

	#leftMenu .content .info figure {
		width: 9.43rem;
	}

	#leftMenu .content .info .inner .place {
		font-size: 1.31rem;
		font-weight: 700;
		margin: 0 0 1.06rem;
	}

	#leftMenu .content .info .inner .price {
		font-size: 1.12rem;
		background: #fff;
		border-radius: 50vh;
		width: 15.9rem;
		height: 2.62rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#rightMenu {
		width: calc(294px + 106 * (100vw - 1028px) / 369);
		width: max(15.7vw, 25rem);
		height: 100%;
		background: url("../images/side_bg_02.jpg") no-repeat 0 0 / cover;
		display: flex;
		align-items: center;
		flex-direction: column;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 0;
	}

	#rightMenu::before {
		content: "";
		width: min(400px, 26vw);
		height: min(291px, 20.3vw);
		background: url("../images/side_p_03.png") no-repeat 0 0 / 100%;
		position: absolute;
		left: 50%;
		bottom: 2rem;
		transform: translateX(-50%);
		z-index: 0;
		pointer-events: none;
	}

	#rightMenu .content {
		position: absolute;
		top: 45%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	#rightMenu .content nav {
		width: fit-content;
		-moz-width: fit-content;
		margin: 0 auto 40px;
	}

	#rightMenu .content nav ul li {
		width: calc(194px + 86 * (100vw - 1028px) / 369);
		width: min(280px, 16.5rem);
		max-width: 280px;
		height: 40px;
		background: #fff;
		border-radius: 50vh;
		display: flex;
		align-items: center;
	}

	#rightMenu .content nav ul li+li {
		margin: 15px 0 0;
	}

	#rightMenu .content nav ul li:hover {
		background: #f3f3f3;
	}

	#rightMenu .content nav ul li a {
		font-size: 16px;
		text-decoration: none;
		padding: 0 0 0 54px;
		position: relative;
	}

	#rightMenu .content nav ul li a::before {
		content: "";
		width: 8px;
		height: 14px;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		background: #00B26E;
		position: absolute;
		top: 50%;
		left: 25px;
		transform: translateY(-50%);
	}

	#rightMenu .content .btn a {
		font-size: calc(13px + 4 * (100vw - 1028px) / 369);
		font-size: min(17px, 1.25rem);
		width: calc(220px + 60 * (100vw - 1028px) / 369);
		width: min(280px, 18.75rem);
		height: calc(60px + 2 * (100vw - 1028px) / 369);
		height: min(58px, 5rem);
		border-radius: 0.31rem;
		margin: 0 auto;
		padding: 0 0 0 1.43rem;
	}

	#rightMenu .content .btn a::before {
		width: 8px;
		height: 14px;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		right: 5%;
	}

	#rightMenu .content .btn a:hover {
		opacity: 1;
	}

	.subContent {
		width: 100%;
		padding: 0 1.5rem;
		box-sizing: border-box;
	}

	.cvBtnPanel {
		display: none;
	}

	#center {
		max-width: 31.25rem;
		width: 100%;
		min-height: 100vh;
		background: #fff;
		box-shadow: rgba(50, 50, 93, 0.25) 0px -8px 27px -5px, rgba(0, 0, 0, 0.3) 0px -10px 16px -8px;
		margin: 0 calc(294px + 250 * (100vw - 1028px) / 872) 0 auto;
		margin: 0 max(15.7vw, 25rem) 0 auto;
		position: relative;
		z-index: 2;
	}

	header {
		display: none;
	}

	#mainv {
		width: 100%;
		margin: 0 0 1.6rem;
	}

	#mainv .subContent {
		padding: 0;
	}

	#mainv .subContent h1 {
		width: 31.25rem;
		margin: 0;
		padding: 0 0 9.18rem;
	}

	#mainv .subContent h1::before {
		width: 4.3rem;
		height: 2.6rem;
		top: 45.3rem;
		left: 2.5rem;
	}

	#mainv .subContent h1::after {
		width: 7.9rem;
		height: 7.75rem;
		background: url("../images/mainv_p_03_1x.png") no-repeat 0 0 / 100%;
		top: 42.6rem;
		right: 1rem;
	}

	#mainv .subContent .date {
		top: 35.56rem;
	}

	#mainv .subContent .date img {
		width: 13.5rem;
	}

	#mainv .subContent .info .place {
		font-size: 1.75rem;
		margin: 0 0 0.8rem;
	}

	#mainv .subContent .info dl {
		font-size: 1.5rem;
		padding: 0.6rem 2.75rem;
		margin: 0 auto 2.3rem;
	}

	#mainv .subContent .info .text {
		font-size: 1.3rem;
	}

	#point {
		padding: 2.93rem 0 0.62rem;
	}

	#point::before, #point::after {
		width: 100%;
		height: 1.37rem;
	}

	#point::after {
		bottom: -0.3px;
	}

	#point .subContent ol li picture {
		width: 27.8rem;
		margin: 0 0 2.8rem;
		left: -0.31rem;
	}

	#point .subContent ol li h2 {
		width: 21.5rem;
		border: solid 0.18rem #F1F9F4;
		padding: 0.68rem 0;
		top: 14.6rem;
	}

	#point .subContent ol li h2 span {
		font-size: 1.5rem;
	}

	#point .subContent ol li h2::before {
		width: 2.18rem;
		height: 0.93rem;
		bottom: -0.62rem;
	}

	#point .subContent ol li p {
		font-size: 1.31rem;
		margin: 0 0 2.06rem;
		padding: 0 0.75rem;
	}

	#point .subContent ol li p small {
		font-size: 1rem;
	}

	#schedule {
		margin: 0 0 2.18rem;
		padding: 4.25rem 0 0;
	}

	#schedule .subContent h2 {
		font-size: 2.06rem;
		margin: 0 0 1rem;
	}

	#schedule .subContent h2::before {
		font-size: 1.56rem;
		top: -1.87rem;
	}

	#schedule .subContent>picture {
		width: auto;
		margin: 0 auto 2.3rem;
	}

	#schedule .subContent>picture::after {
		width: 28.3rem;
		height: 14rem;
		border-radius: 0.62rem;
		background: radial-gradient(#c2e1e5 30%, transparent 0) 0 0 / 0.37rem 0.37rem, radial-gradient(#c2e1e5 30%, transparent 0) 0.18rem 0.18rem / 0.37rem 0.37rem;
		top: 0.62rem;
		right: -0.62rem;
	}

	#schedule .subContent>picture img {
		border-radius: 0.62rem;
	}

	#schedule .subContent dl dt {
		background: linear-gradient(to right, #4c56a4 0.125rem, transparent 0.125rem) repeat-x left bottom 1.18rem / 0.37rem 0.125rem;
		margin: 2.18rem 0 1.87rem;
	}

	#schedule .subContent dl dt span {
		font-size: 1.25rem;
		width: 9.3rem;
		height: 2.5rem;
	}

	#schedule .subContent dl dt:nth-of-type(2) {
		background: linear-gradient(to right, #62569e 0.125rem, transparent 0.125rem) repeat-x left bottom 1.18rem / 0.37rem 0.125rem;
	}

	#schedule .subContent dl dt:nth-of-type(2) span {
		background: #62569E;
	}

	#schedule .subContent dl dt:nth-of-type(3) {
		background: linear-gradient(to right, #795798 0.125rem, transparent 0.125rem) repeat-x left bottom 1.18rem / 0.37rem 0.125rem;
	}

	#schedule .subContent dl dt:nth-of-type(3) span {
		background: #795798;
	}

	#schedule .subContent dl dt:nth-of-type(4) {
		background: linear-gradient(to right, #a5588d 0.125rem, transparent 0.125rem) repeat-x left bottom 1.18rem / 0.37rem 0.125rem;
	}

	#schedule .subContent dl dt:nth-of-type(4) span {
		background: #A5588D;
	}

	#schedule .subContent dl dt:nth-of-type(5) {
		background: linear-gradient(to right, #bc5887 0.125rem, transparent 0.125rem) repeat-x left bottom 1.18rem / 0.37rem 0.125rem;
	}

	#schedule .subContent dl dt:nth-of-type(5) span {
		background: #BC5887;
	}

	#schedule .subContent dl dt:nth-of-type(6) {
		background: linear-gradient(to right, #d25881 0.125rem, transparent 0.125rem) repeat-x left bottom 1.18rem / 0.37rem 0.125rem;
	}

	#schedule .subContent dl dt:nth-of-type(6) span {
		background: #D25881;
	}

	#schedule .subContent dl dt:nth-of-type(7) {
		background: linear-gradient(to right, #e9597b 0.125rem, transparent 0.125rem) repeat-x left bottom 1.18rem / 0.37rem 0.125rem;
	}

	#schedule .subContent dl dt:nth-of-type(7) span {
		background: #E9597B;
	}

	#schedule .subContent dl dt:nth-of-type(8) {
		background: linear-gradient(to right, #ff5975 0.125rem, transparent 0.125rem) repeat-x left bottom 1.18rem / 0.37rem 0.125rem;
	}

	#schedule .subContent dl dt:nth-of-type(8) span {
		background: #FF5975;
	}

	#schedule .subContent dl dd h3 {
		font-size: 1.5rem;
		margin: 0 0 1.18rem;
	}

	#schedule .subContent dl dd picture.image {
		margin: 0 0 1.87rem;
	}

	#schedule .subContent dl dd picture.image::after {
		width: 28.3rem;
		height: 17.5rem;
		border-radius: 0.62rem;
		background: radial-gradient(#c2e1e5 30%, transparent 0) 0 0 / 0.37rem 0.37rem, radial-gradient(#c2e1e5 30%, transparent 0) 0.18rem 0.18rem / 0.37rem 0.37rem;
		top: 0.62rem;
		right: -0.62rem;
	}

	#schedule .subContent dl dd picture.image img {
		border-radius: 0.62rem;
	}

	#schedule .subContent dl dd picture.match::after {
		background: radial-gradient(#f9dfdd 30%, transparent 0) 0 0 / 0.37rem 0.37rem, radial-gradient(#f9dfdd 30%, transparent 0) 0.18rem 0.18rem / 0.37rem 0.37rem !important;
	}

	#schedule .subContent dl dd figure.kickoff {
		width: 15.6rem;
		height: 4.5rem;
		top: -0.8rem;
	}

	#schedule .subContent dl dd figure.noside {
		width: 15.3rem;
		height: 4.5rem;
		top: -0.8rem;
	}

	#schedule .subContent dl dd p {
		font-size: 1.3rem;
	}

	#information {
		margin: 0 0 2.68rem;
	}

	#information h2 {
		font-size: 1rem;
		padding: 1.5rem 0;
	}

	#information .subContent dl {
		margin: 0 0 1.37rem;
	}

	#information .subContent dl dt {
		font-size: 0.81rem;
		padding: 1.62rem 0;
	}

	#information .subContent dl dd {
		font-size: 1rem;
		padding: 1.43rem 0.93rem 1.87rem 7.5rem;
	}

	#information .subContent .note {
		margin: 0 0 1.75rem;
	}

	#information .subContent .note li {
		font-size: 1rem;
	}

	#information .subContent p small {
		font-size: 1rem;
	}

	#application .subContent h2 {
		font-size: 1.25rem;
		margin: 0 0 1.8rem;
		padding: 0.93rem 0;
	}

	#application .subContent ul li+li {
		margin: 2.68rem 0 0;
	}

	#application .subContent ul li+li::before {
		width: 2.06rem;
		height: 1rem;
		top: -1.75rem;
	}

	#application .subContent ul li h3 {
		font-size: 1.25rem;
		padding: 0.5rem 0;
	}

	#application .subContent ul li p {
		font-size: 1.25rem;
		padding: 0.8rem;
	}

	#application .btn {
		margin: 2.3rem auto 0;
	}

	#application .btn a {
		font-size: 1.37rem;
		width: 28.3rem;
		height: 5rem;
		border-radius: 5px;
		margin: 0 auto;
		padding: 0 0 0 4.5rem;
	}

	#application .btn a::before {
		width: 0.62rem;
		height: 1rem;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		right: 10%;
	}

	footer {
		margin: 3.12rem 0 0;
		padding: 4.3rem 0 2.8rem;
	}

	footer .subContent dl {
		column-gap: 4%;
	}

	footer .subContent dl dt {
		font-size: 1.06rem;
		width: 22%;
		margin: 0 0 2.18rem;
	}

	footer .subContent dl dd {
		width: 50%;
		margin: 0 0 2.1rem;
	}

	footer .subContent dl dd img {
		max-width: 10.6rem;
	}

	footer .subContent .copyright {
		margin: 1.25rem 0 0;
	}

	footer .subContent .copyright small {
		font-size: 0.68rem;
	}
}
/* FOR PC landscape
***************************************************************************/
@media screen and (min-width: 751px) and (max-width: 1026px),
 screen and (min-width: 1398px) {
	body.overlay::before {
		content: "";
		width: 500px;
		position: absolute;
		right: 0;
	}

	#leftMenu {
		width: calc(100vw - 500px);
	}

	#rightMenu {
		display: none;
	}

	#center {
		width: 500px;
		max-width: 500px;
		margin-right: 0;
		z-index: 998;
	}

	.subContent {
		width: 100%;
		max-width: 500px;
		padding: 0 24px;
		box-sizing: border-box;
	}

	.cvBtnPanel {
		display: block;
		padding: 10px 0 20px;
	}

	.cvBtnPanel .btn a {
		font-size: 22px;
		width: 373px;
		height: 80px;
		padding: 0 0 0 32px;
	}

	.cvBtnPanel .btn a::before {
		width: 10px;
		height: 17px;
	}

	header {
		width: 100%;
		margin: 0 auto 0 0;
		display: block;
	}

	header .menuBtn {
		top: 18px;
		right: 18px;
	}

	header .menuBtn::before {
		content: none;
	}

	header .menuBtn .zdo_drawer_button {
		width: 25px;
		height: 23px;
	}

	header .menuBtn .zdo_drawer_button .zdo_drawer_bar {
		width: 25px;
		height: 3px;
	}

	header .menuBtn .zdo_drawer_button .zdo_drawer_bar {
		width: 25px;
		height: 3px;
	}

	header .menuBtn .zdo_drawer_button.change .zdo_drawer_bar {
		width: 32px;
		left: 3px;
	}

	header .gnaviArea {
		width: 500px;
		height: 100vh;
		background: url("../images/header_bg_01_1x.jpg") no-repeat 0 0 / 100%;
		background-color: #fff;
		padding: 65px 0 0;
		margin: 0 0 0 auto;
		position: fixed;
	}

	header .gnaviArea ul {
		margin: 0 auto 207px;
	}

	header .gnaviArea ul li {
		width: 373px;
		height: 53px;
	}

	header .gnaviArea ul li+li {
		margin: 14px 0 0;
	}

	header .gnaviArea ul li a {
		font-size: 21px;
		padding: 0 0 0 34px;
	}

	header .gnaviArea ul li a::before {
		width: 17px;
		height: 10px;
		right: 30px;
	}

	header .gnaviArea .btn a {
		font-size: 22px;
		width: 373px;
		height: 80px;
		padding: 0 0 0 32px;
	}

	header .gnaviArea .btn a::before {
		width: 10px;
		height: 17px;
	}

	header .gnaviArea.active {
		display: block;
		animation: menu_show 0.5s ease-out forwards;
	}

	#mainv {
		margin: 0 0 26px;
	}

	#mainv .subContent {
		padding: 0;
	}

	#mainv .subContent h1 {
		width: 100%;
		margin: 0;
		padding: 0 0 147px;
	}

	#mainv .subContent h1::before {
		width: 70px;
		height: 43px;
		top: 726px;
		left: 41px;
	}

	#mainv .subContent h1::after {
		width: 127px;
		height: 124px;
		background: url("../images/mainv_p_03_1x.png") no-repeat 0 0 / 100%;
		top: 682px;
		right: 16px;
	}

	#mainv .subContent .date {
		top: 569px;
	}

	#mainv .subContent .date img {
		width: 216px;
	}

	#mainv .subContent .info .place {
		font-size: 28px;
		margin: 0 0 13px;
	}

	#mainv .subContent .info dl {
		font-size: 24px;
		padding: 16px 44px 16px 44px;
		margin: 0 auto 38px;
	}

	#mainv .subContent .info .text {
		font-size: 21px;
	}

	#point {
		padding: 47px 0 10px;
	}

	#point::before, #point::after {
		width: 100%;
		height: 22px;
	}

	#point::after {
		bottom: -5px;
	}

	#point .subContent ol li picture {
		width: 445px;
		margin: 0 0 45px;
		left: -5px;
	}

	#point .subContent ol li h2 {
		width: 345px;
		border: solid 3px #F1F9F4;
		padding: 11px 0;
		top: 234px;
	}

	#point .subContent ol li h2 span {
		font-size: 24px;
	}

	#point .subContent ol li h2::before {
		width: 35px;
		height: 15px;
		bottom: -10px;
	}

	#point .subContent ol li p {
		font-size: 21px;
		margin: 0 0 33px;
		padding: 0 12px;
	}

	#point .subContent ol li p small {
		font-size: 16px;
	}

	#schedule {
		margin: 0 0 35px;
		padding: 68px 0 0;
	}

	#schedule .subContent h2 {
		font-size: 33px;
		margin: 0 0 16px;
	}

	#schedule .subContent h2::before {
		font-size: 25px;
		top: -30px;
	}

	#schedule .subContent>picture {
		width: auto;
		margin: 0 auto 37px;
	}

	#schedule .subContent>picture::after {
		width: 453px;
		height: 222px;
		border-radius: 10px;
		background: radial-gradient(#c2e1e5 30%, transparent 0) 0 0 / 6px 6px, radial-gradient(#c2e1e5 30%, transparent 0) 3px 3px / 6px 6px;
		top: 10px;
		right: -10px;
	}

	#schedule .subContent>picture img {
		border-radius: 10px;
	}

	#schedule .subContent dl dt {
		background: linear-gradient(to right, #4c56a4 2px, transparent 2px) repeat-x left bottom 19px / 6px 2px;
		margin: 35px 0 30px;
	}

	#schedule .subContent dl dt span {
		font-size: 20px;
		width: 149px;
		height: 40px;
	}

	#schedule .subContent dl dt:nth-of-type(2) {
		background: linear-gradient(to right, #62569e 2px, transparent 2px) repeat-x left bottom 19px / 6px 2px;
	}

	#schedule .subContent dl dt:nth-of-type(2) span {
		background: #62569E;
	}

	#schedule .subContent dl dt:nth-of-type(3) {
		background: linear-gradient(to right, #795798 2px, transparent 2px) repeat-x left bottom 19px / 6px 2px;
	}

	#schedule .subContent dl dt:nth-of-type(3) span {
		background: #795798;
	}

	#schedule .subContent dl dt:nth-of-type(4) {
		background: linear-gradient(to right, #a5588d 2px, transparent 2px) repeat-x left bottom 19px / 6px 2px;
	}

	#schedule .subContent dl dt:nth-of-type(4) span {
		background: #A5588D;
	}

	#schedule .subContent dl dt:nth-of-type(5) {
		background: linear-gradient(to right, #bc5887 2px, transparent 2px) repeat-x left bottom 19px / 6px 2px;
	}

	#schedule .subContent dl dt:nth-of-type(5) span {
		background: #BC5887;
	}

	#schedule .subContent dl dt:nth-of-type(6) {
		background: linear-gradient(to right, #d25881 2px, transparent 2px) repeat-x left bottom 19px / 6px 2px;
	}

	#schedule .subContent dl dt:nth-of-type(6) span {
		background: #D25881;
	}

	#schedule .subContent dl dt:nth-of-type(7) {
		background: linear-gradient(to right, #e9597b 2px, transparent 2px) repeat-x left bottom 19px / 6px 2px;
	}

	#schedule .subContent dl dt:nth-of-type(7) span {
		background: #E9597B;
	}

	#schedule .subContent dl dt:nth-of-type(8) {
		background: linear-gradient(to right, #ff5975 2px, transparent 2px) repeat-x left bottom 19px / 6px 2px;
	}

	#schedule .subContent dl dt:nth-of-type(8) span {
		background: #FF5975;
	}

	#schedule .subContent dl dd h3 {
		font-size: 24px;
		margin: 0 0 19px;
	}

	#schedule .subContent dl dd picture.image {
		margin: 0 0 30px;
	}

	#schedule .subContent dl dd picture.image::after {
		width: 453px;
		height: 280px;
		border-radius: 10px;
		background: radial-gradient(#c2e1e5 30%, transparent 0) 0 0 / 6px 6px, radial-gradient(#c2e1e5 30%, transparent 0) 3px 3px / 6px 6px;
		top: 10px;
		right: -10px;
	}

	#schedule .subContent dl dd picture.image img {
		border-radius: 10px;
	}

	#schedule .subContent dl dd picture.match::after {
		background: radial-gradient(#f9dfdd 30%, transparent 0) 0 0 / 6px 6px, radial-gradient(#f9dfdd 30%, transparent 0) 3px 3px / 6px 6px !important;
	}

	#schedule .subContent dl dd figure.kickoff {
		width: 251px;
		height: 72px;
		top: -13px;
	}

	#schedule .subContent dl dd figure.noside {
		width: 245px;
		height: 72px;
		top: -13px;
	}

	#schedule .subContent dl dd p {
		font-size: 21px;
	}

	#information {
		margin: 0 0 43px;
	}

	#information h2 {
		font-size: 16px;
		padding: 24px 0;
	}

	#information .subContent dl {
		margin: 0 0 22px;
	}

	#information .subContent dl dt {
		font-size: 13px;
		padding: 26px 0 26px;
	}

	#information .subContent dl dd {
		font-size: 16px;
		padding: 23px 15px 30px 120px;
	}

	#information .subContent .note {
		margin: 0 0 28px;
	}

	#information .subContent .note li {
		font-size: 16px;
	}

	#information .subContent p small {
		font-size: 16px;
	}

	#application .subContent h2 {
		font-size: 20px;
		margin: 0 0 29px;
		padding: 15px 0;
	}

	#application .subContent ul li+li {
		margin: 43px 0 0;
	}

	#application .subContent ul li+li::before {
		width: 33px;
		height: 16px;
		top: -28px;
	}

	#application .subContent ul li h3 {
		font-size: 20px;
		padding: 8px 0;
	}

	#application .subContent ul li p {
		font-size: 20px;
		padding: 13px;
	}

	#application .btn {
		margin: 38px auto 0;
	}

	#application .btn a {
		font-size: 22px;
		width: 453px;
		height: 80px;
		border-radius: 5px;
		margin: 0 auto;
		padding: 0 0 0 73px;
	}

	#application .btn a::before {
		width: 10px;
		height: 16px;
		clip-path: polygon(0 0, 0% 100%, 100% 50%);
		right: 18%;
	}

	footer {
		margin: 50px 0 0;
		padding: 70px 0 150px;
	}

	footer .subContent dl {
		column-gap: 4%;
	}

	footer .subContent dl dt {
		font-size: 17px;
		width: 22%;
		margin: 0 0 35px;
	}

	footer .subContent dl dd {
		width: 50%;
		margin: 0 0 35px;
	}

	footer .subContent dl dd img {
		max-width: 170px;
	}

	footer .subContent .copyright {
		margin: 20px 0 0;
	}

	footer .subContent .copyright small {
		font-size: 11px;
	}
}
/* FOR PC landscape
***************************************************************************/
@media screen and (min-width: 1398px) {
	#leftMenu {
		width: calc(100vw - (29% + 500px));
	}
	
	#leftMenu .content figure {
		width: 430px;
	}

	#leftMenu .content .sidemain {
		width: 436px;
		margin: 0 auto 40px;
	}

	#leftMenu .content .info {
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		column-gap: 0.8rem;
	}

	#leftMenu .content .info figure {
		width: 151px;
	}

	#leftMenu .content .info .inner .place {
		font-size: 21px;
		margin: 0 0 12px;
	}

	#leftMenu .content .info .inner .price {
		font-size: 18px;
		width: 252px;
		height: 42px;
	}

	.cvBtnPanel {
		display: none;
	}

	#center {
		width: 500px;
		margin: 0 calc(294px + 250 * (100vw - 1028px) / 872) 0 auto;
		margin: 0 max(15.7vw, 25rem) 0 auto;
	}

	header {
		display: none;
	}

	#rightMenu {
		width: 29%;
		display: flex;
	}

	#rightMenu::before {
		width: 362px;
		height: 282px;
		left: 50%;
		bottom: 35px;
		transform: translateX(-50%);
	}

	footer {
		padding: 70px 0 45px;
	}

}