@charset "UTF-8";
html {
	font-size: 62.5%;
}

body {
	font-family: "Zen Kaku Gothic New", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 4.2666666667vw;
	font-weight: 500;
	line-height: 1.5;
	color: #2E2E2F;
}
body.open {
	height: 100%;
	overflow: hidden;
}

img {
	width: 100%;
	height: auto;
}

.sp {
	display: block;
}

.pc {
	display: none;
}

#wrap {
	width: 100%;
	overflow: hidden;
}

.section {
	padding: 17.0666666667vw 0;
}

.inner_section {
	width: 87.4666666667vw;
	margin: 0 auto;
}

/* header
------------------------------------------------------------------------- */
#header {
	padding-top: 2.1333333333vw;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
}

.wrap_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 95.7333333333vw;
	height: 17.0666666667vw;
	padding: 0 2.1333333333vw 0 4.2666666667vw;
	margin: 0 auto;
	background: #fff;
	border-radius: 2.1333333333vw;
}

.header_logo {
	width: 41.6vw;
}

/* ハンバーガーメニュー ここから*/
#nav_toggle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 12.8vw;
	height: 12.8vw;
	background: #0244C8;
	border-radius: 50%;
}

#nav_toggle div {
	width: 6.4vw;
	height: 4.2666666667vw;
	margin: 0 auto;
	position: relative;
}

#nav_toggle span {
	display: block;
	width: 100%;
	height: 3px;
	border-radius: 2px;
	background: #fff;
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-transition: top 0.2s ease, -webkit-transform 0.2s ease-in-out;
	transition: top 0.2s ease, -webkit-transform 0.2s ease-in-out;
	transition: transform 0.2s ease-in-out, top 0.2s ease;
	transition: transform 0.2s ease-in-out, top 0.2s ease, -webkit-transform 0.2s ease-in-out;
}

#nav_toggle span:nth-child(1) {
	top: 0;
}

#nav_toggle span:nth-child(2) {
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#nav_toggle span:nth-child(3) {
	bottom: 0;
}

#nav_toggle p:nth-child(4) {
	text-align: center;
	font-weight: bold;
	font-size: 3.2vw;
	position: absolute;
	bottom: 0;
	left: 0;
}

.open #nav_toggle span:nth-child(1) {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
	top: 50%;
}

.open #nav_toggle span:nth-child(2) {
	width: 0;
}

.open #nav_toggle span:nth-child(3) {
	-webkit-transform: translate(-50%, -50%) rotate(-45deg);
	transform: translate(-50%, -50%) rotate(-45deg);
	top: 50%;
}

/* グローバルナビゲーション */
#g_nav {
	width: 100%;
	height: 100vh;
	padding: 32vw 0;
	overflow-y: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	background: #EBF6FF;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: 0.2s;
	transition: 0.2s;
}
#g_nav::before {
	content: "";
	display: block;
	background: url(../images/common/wave_blue_sp.png) repeat-x;
	background-size: contain;
	width: 100%;
	height: 72px;
	position: absolute;
	left: 0;
	bottom: 0;
}

.open #g_nav {
	opacity: 1;
	visibility: visible;
}

.ul_nav {
	width: 87.4666666667vw;
	margin: 0 auto 12.8vw;
	padding: 0 4.2666666667vw;
}
.ul_nav li {
	margin-bottom: 8.5333333333vw;
}
.ul_nav li:last-child {
	margin-bottom: 0;
}
.ul_nav li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.1333333333vw;
	font-weight: bold;
	font-size: 4.8vw;
	position: relative;
}
.ul_nav li a::before {
	content: "";
	display: block;
	min-width: 2.1333333333vw;
	max-width: 2.1333333333vw;
	height: 2.1333333333vw;
	border-radius: 50%;
	background: -webkit-gradient(linear, left top, left bottom, from(#1489E5), to(#0244C8));
	background: linear-gradient(to bottom, #1489E5 0%, #0244C8 100%);
}
.ul_nav li a::after {
	content: "";
	display: block;
	width: 3.2vw;
	height: 3.2vw;
	background: rgba(0, 165, 204, 0.4);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: -0.5333333333vw;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: -1;
}

/* main
------------------------------------------------------------------------- */
/* ========================================
共通CSS
======================================== */
/* ボタン */
.btn_contact,
.btn_reserve {
	width: 85.3333333333vw;
	margin: 0 auto;
}
.btn_contact a,
.btn_reserve a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.1333333333vw;
	height: 12.8vw;
	font-weight: bold;
	letter-spacing: 0.05em;
	color: #fff;
	border-radius: 10.6666666667vw;
	position: relative;
	z-index: 1;
}
.btn_contact a::before,
.btn_reserve a::before {
	content: "";
	display: block;
	background-repeat: no-repeat;
	background-size: contain;
}
.btn_contact a::after,
.btn_reserve a::after {
	content: "";
	display: block;
	width: calc(100% + 2.1333333333vw);
	height: calc(100% + 2.1333333333vw);
	border-radius: 10.6666666667vw;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0.4;
	z-index: -1;
	pointer-events: none;
}

.btn_contact:not(:last-child) {
	margin-bottom: 6.4vw;
}
.btn_contact a {
	background: -webkit-gradient(linear, left top, right top, from(#1489E5), to(#0244C8));
	background: linear-gradient(to right, #1489E5 0%, #0244C8 100%);
}
.btn_contact a::before {
	width: 7.4666666667vw;
	height: 6.4vw;
	background-image: url(../images/common/icon_mail.svg);
}
.btn_contact a::after {
	background: -webkit-gradient(linear, left top, right top, from(#1489E5), to(#0244C8));
	background: linear-gradient(to right, #1489E5 0%, #0244C8 100%);
}

.btn_reserve a {
	background: #F57575;
}
.btn_reserve a::before {
	width: 6.4vw;
	height: 6.4vw;
	background-image: url(../images/common/icon_calendar.svg);
}
.btn_reserve a::after {
	background: #F57575;
}

.btn02 {
	width: 78.9333333333vw;
	margin: 0 auto;
}
.btn02 a {
	display: block;
	height: 15.7333333333vw;
	padding: 2.1333333333vw;
	border-radius: 10.6666666667vw;
	background: -webkit-gradient(linear, left top, right top, from(#1489E5), to(#0244C8));
	background: linear-gradient(to right, #1489E5 0%, #0244C8 100%);
}
.btn02 a span {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 100%;
	background: #fff;
	color: #0244C8;
	border-radius: 10.6666666667vw;
	font-weight: bold;
	position: relative;
	z-index: 1;
}
.btn02 a span::before, .btn02 a span::after {
	content: "";
	display: block;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}
.btn02 a span::before {
	width: 2.1333333333vw;
	height: 2.1333333333vw;
	background: -webkit-gradient(linear, left top, left bottom, from(#1489E5), to(#0244C8));
	background: linear-gradient(to bottom, #1489E5 0%, #0244C8 100%);
	right: 4.2666666667vw;
}
.btn02 a span::after {
	width: 3.2vw;
	height: 3.2vw;
	background: rgba(0, 165, 204, 0.4);
	right: 3.7333333333vw;
	z-index: -1;
}

.wrap_btn02 .btn02 {
	margin-bottom: 2.1333333333vw;
}
.wrap_btn02 .btn02:last-child {
	margin-bottom: 0;
}

/* ダウンロードボタン */
.btn_download {
	width: 87.4666666667vw;
}
.btn_download a {
	position: relative;
}
.btn_download a::after {
	content: "";
	display: block;
	width: 6.4vw;
	height: 6.4vw;
	background: url(../images/common/icon_download.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 6.4vw;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1;
	pointer-events: none;
}
.btn_download a span::before, .btn_download a span::after {
	content: none;
}

/* フォント */
.font_bold {
	font-weight: bold;
}

.c_pink {
	color: #F57575;
}

.c_red {
	color: #FF776B;
}

/* 見出し */
.ttl_heading01 {
	font-weight: bold;
	font-size: 6.4vw;
	letter-spacing: 0.05em;
	margin-bottom: 17.0666666667vw;
	text-align: center;
	position: relative;
}
.ttl_heading01::after {
	content: "";
	display: block;
	width: 21.3333333333vw;
	height: 2.1333333333vw;
	background: -webkit-gradient(linear, left top, right top, from(#1489E5), to(#0244C8));
	background: linear-gradient(to right, #1489E5 0%, #0244C8 100%);
	border-radius: 2.1333333333vw;
	position: absolute;
	bottom: -4.2666666667vw;
	left: 50%;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
}

.ttl_heading02 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2.1333333333vw;
	font-weight: bold;
	font-size: 5.3333333333vw;
	letter-spacing: 0.05em;
	margin-bottom: 4.2666666667vw;
}
.ttl_heading02::before {
	content: "";
	display: block;
	min-width: 2.1333333333vw;
	max-width: 2.1333333333vw;
	/* height: 8.5333333333vw; */
	border-radius: 1.0666666667vw;
	background: -webkit-gradient(linear, left top, left bottom, from(#1489E5), to(#0244C8));
	background: linear-gradient(to bottom, #1489E5 0%, #0244C8 100%);
}

/* 背景 */
.bg_light_blue {
	background: #EBF6FF;
}

/* リード文 */
.lead_text {
	width: 87.4666666667vw;
	margin: 0 auto 6.4vw;
}

/* 下層ページ FV */
.fv_lower {
	padding-top: 25.6vw;
}
.fv_lower .fv_img {
	text-align: center;
	position: relative;
	z-index: 1;
}
.fv_lower .fv_img::after {
	content: "";
	display: block;
	width: 100%;
	height: 8.8vw;
	background: url(../images/common/wave_white03_sp.png) repeat-x bottom center;
	background-size: contain;
	position: absolute;
	bottom: -1px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.fv_lower .fv_img img {
	width: 87.4666666667vw;
}
.fv_lower .fv_ttl {
	width: 87.4666666667vw;
	margin: 0 auto;
	font-weight: 900;
	font-size: 8vw;
	letter-spacing: 0.05em;
	color: #0244C8;
}

/* パンくずリスト */
.wrap_breadcrumbs {
	margin-bottom: 0.5333333333vw;
}

.breadcrumbs {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 2.1333333333vw;
	width: 87.4666666667vw;
	margin: 0 auto;
}
.breadcrumbs > span:not(:last-child)::after {
	content: "＞";
	margin-left: 2.1333333333vw;
}

/* ========================================
会場空き情報
======================================== */
/* 予約状況のマーク */
.ul_reserve_info {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 2.1333333333vw;
}
.ul_reserve_info li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 7.4666666667vw;
	border-radius: 4.2666666667vw;
	padding: 0 3.2vw;
}
.ul_reserve_info li:nth-child(1) {
	background: #707D7D;
	color: #fff;
}
.ul_reserve_info li:nth-child(2) {
	background: #F57575;
	color: #1f1f1f;
}
.ul_reserve_info li:nth-child(3) {
	border: 2px solid #0244C8;
	color: #0244C8;
}

/* 注意書き */
.calendar_note {
	margin-top: calc(24 / 375 * 100vw);
	font-weight: bold;
	text-align: center;
}

/* カレンダー */
.wrap_reserve_info_calendar {
	margin: 6.4vw 0;
}

.wrap_reserve_info_calendar iframe {
	display: block;
	width: 100%;
}

/* ========================================
料金
======================================== */
.price_contents {
	margin-bottom: 10.6666666667vw;
}

/* 表周り */
.table_note {
	font-size: 3.7333333333vw;
	text-align: right;
}

.price_table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.price_table th,
.price_table td {
	font-weight: bold;
}
.price_table thead th:first-child {
	width: 40.5333333333vw;
}
.price_table thead th:not(:first-child) {
	background: #0244C8;
	color: #fff;
	border: 2px solid #fff;
}
.price_table tbody th {
	background: rgba(235, 246, 255, 0.5);
	border: 2px solid #FFFFFF;
	color: #0244C8;
	padding: 1.0666666667vw 0;
	vertical-align: middle;
}
.price_table tbody td {
	vertical-align: middle;
	padding-left: 2.1333333333vw;
	border: 2px solid #F4F4F4;
}

.price_table02 th,
.price_table02 td {
	font-size: 3.7333333333vw;
	padding-top: 3.2vw;
	padding-bottom: 3.2vw;
}
.price_table02 thead th:first-child {
	width: 23.4666666667vw;
}
.price_table02 thead th:nth-child(2) {
	width: 40.8vw;
}
.price_table02 tbody td:last-child {
	text-align: right;
	padding-left: 0;
	padding-right: 1.0666666667vw;
}

/* 料金バナー */
.wrap_price_bnr {
	margin-top: 6.4vw;
}

.price_bnr {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.1333333333vw;
	border: 4px double #0244C8;
	border-radius: 2.1333333333vw;
	padding: 2.6666666667vw 4.2666666667vw;
	font-weight: bold;
	font-size: 5.3333333333vw;
	letter-spacing: 0.1em;
	color: #0244C8;
	margin-bottom: 4.2666666667vw;
}
.price_bnr:last-child {
	margin-bottom: 0;
}
.price_bnr .font_small {
	display: block;
	font-size: 4.2666666667vw;
	letter-spacing: 0.05em;
	color: #2E2E2F;
	line-height: 1.5;
}
.price_bnr::before {
	content: "";
	display: block;
	min-width: 14.9333333333vw;
	max-width: 14.9333333333vw;
	height: 14.9333333333vw;
	background-repeat: no-repeat;
	background-size: contain;
}
.price_bnr.price_bnr_electricity::before {
	background-image: url(../images/common/icon_price_electricity.svg);
}
.price_bnr.price_bnr_time::before {
	background-image: url(../images/common/icon_price_time.svg);
}
.price_bnr p {
	line-height: 1.2;
}

/* ========================================
イベント予定
======================================== */
.event_contents {
	border: 1px solid #F4F4F4;
	padding: 6.4vw 0;
	border-radius: 4.2666666667vw;
	background: #fff;
}

.inner_event_contents {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	width: 59.7333333333vw;
	height: 100%;
	margin: 0 auto;
}

.event_ttl {
	font-weight: bold;
	font-size: 5.3333333333vw;
	line-height: 1.4;
	margin-bottom: 4.2666666667vw;
}

.event_img {
	height: 48.5333333333vw;
	background: -webkit-gradient(linear, left top, left bottom, from(#1489E5), to(#0244C8));
	background: linear-gradient(to bottom, #1489E5 0%, #0244C8 100%);
	margin-bottom: 4.2666666667vw;
	position: relative;
}
.event_img img {
	width: 56vw;
	height: 45.0666666667vw;
	-o-object-fit: cover;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.dl_event dt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 38.4vw;
	height: 8vw;
	background: #EBF6FF;
	border-radius: 1.0666666667vw;
	color: #0244C8;
	font-weight: 900;
	font-size: 3.7333333333vw;
}
.dl_event dd {
	margin-bottom: 2.1333333333vw;
}
.dl_event dd:last-of-type {
	margin-bottom: 0;
}
.dl_event dd a {
	color: #0244C8;
	text-decoration: underline;
	transition: 0.2s;
}

/* ========================================
CTA
======================================== */
.cta {
	padding: 14.9333333333vw 0 12.8vw;
	background: url(../images/common/cta_bg_img_sp.jpg) no-repeat top center;
	background-size: contain;
}
.cta .ttl_heading01 {
	margin-bottom: 12.8vw;
}

.wrap_cta_contents {
	width: 87.4666666667vw;
	margin: 0 auto;
}

.cta_contents a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 42.6666666667vw;
	color: #fff;
	font-weight: bold;
	text-align: center;
	position: relative;
}
.cta_contents a::before, .cta_contents a::after {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
}
.cta_contents a::before {
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent rgba(255, 255, 255, 0.64) transparent;
	border-width: 0px 0px 10.6666666667vw 10.6666666667vw;
	bottom: 0;
	right: 0;
}
.cta_contents a::after {
	width: 1.3333333333vw;
	height: 1.3333333333vw;
	border-radius: 50%;
	background: #fff;
	bottom: 2.1333333333vw;
	right: 2.1333333333vw;
}
.cta_contents a span span {
	display: block;
	font-weight: 900;
	font-size: 6.4vw;
	margin-top: 2.1333333333vw;
}
.cta_contents.cta_contact a {
	background: linear-gradient(135deg, #1489E5 0%, #0244C8 100%);
}
.cta_contents.cta_reserve a {
	background: linear-gradient(135deg, #F57575 0%, #EC3F3F 100%);
}

/* ========================================
プライバシーポリシー
======================================== */
.dl_privacy dd {
	margin-bottom: 10.6666666667vw;
}
.dl_privacy dd:last-child {
	margin-bottom: 0;
}
.dl_privacy dd a {
	color: #0244C8;
	text-decoration: underline;
}

/* ========================================
404
======================================== */
.not_found .lead_text {
	margin-bottom: 10.6666666667vw;
}

/* footer
------------------------------------------------------------------------- */
#footer {
	background: #001F5E url(../images/common/wave_white02_sp.png) repeat-x bottom center;
	background-size: contain;
	color: #fff;
	padding: 12.8vw 0 10.6666666667vw;
}
#footer a {
	color: #fff;
}

.wrap_footer_contents {
	width: 87.4666666667vw;
	margin: 0 auto;
}

/* TOPへ戻るボタン */
.btn_page_top {
	display: none;
	width: calc(44 / 375 * 100vw);
	background: url(../images/common/icon_page_top_hover.svg) no-repeat;
	background-size: contain;
	position: fixed;
	bottom: calc(16 / 375 * 100vw);
	right: calc(8 / 375 * 100vw);
	z-index: 10;
}

.btn_page_top img {
	transition: 0.2s;
}

.btn_page_top:hover img {
	opacity: 0;
}

/* footerナビ */
.ul_footer_nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

/* ボタン */
.footer_nav .wrap_btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 6.4vw;
}
.footer_nav .wrap_btn .btn {
	width: 41.6vw;
	margin: 0;
}
.footer_nav .wrap_btn .btn a {
	gap: 1.0666666667vw;
	height: 10.6666666667vw;
	border: 2px solid #FFFFFF;
}
.footer_nav .wrap_btn .btn a::after {
	content: none;
}
.footer_nav .btn_contact a::before {
	width: 5.3333333333vw;
	height: 4.2666666667vw;
}
.footer_nav .btn_reserve a::before {
	width: 4.2666666667vw;
	height: 4.2666666667vw;
}

/* 運営情報 */
.footer_info_contents {
	margin-top: 10.6666666667vw;
}

.footer_ttl {
	font-weight: 900;
	font-size: 6.4vw;
}

.footer_contact {
	margin-top: 4.2666666667vw;
}

/* コピーライト */
.copyright_area {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-top: 10.6666666667vw;
	font-size: 3.7333333333vw;
}

@media print, screen and (min-width: 769px) {
	body {
		font-size: min(1.1764705882vw, 16px);
	}
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}
	.section {
		padding: min(5.8823529412vw, 80px) 0;
	}
	.inner_section {
		width: min(68.2352941176vw, 928px);
	}
	/* hover */
	.hover_text a {
		transition: 0.2s;
	}
	.hover_text a:hover {
		color: #FF776B;
	}
	/* header
	------------------------------------------------------------------------- */
	#header {
		padding-top: min(1.7647058824vw, 24px);
	}
	.wrap_header {
		width: 96.4705882353vw;
		height: min(5.8823529412vw, 80px);
		padding: 0 4.1176470588vw;
		margin: 0 auto;
		border-radius: 1.1764705882vw;
		border: 1px solid #D9ECFB;
	}
	.header_logo {
		width: min(14.1176470588vw, 192px);
	}
	/* ハンバーガーメニュー ここから*/
	#nav_toggle {
		display: none;
	}
	/* グローバルナビゲーション */
	#g_nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: min(62.3529411765vw, 848px);
		height: 100%;
		padding: 0;
		overflow-y: visible;
		position: static;
		background: none;
		opacity: 1;
		visibility: visible;
		z-index: 1;
	}
	#g_nav::before {
		content: none;
	}
	.ul_nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: min(28.8235294118vw, 392px);
		height: 100%;
		margin: 0;
		padding: 0;
	}
	.ul_nav li {
		margin-bottom: 0;
	}
	.ul_nav li a {
		font-size: min(1.1764705882vw, 16px);
		height: 100%;
	}
	.ul_nav li a::before {
		content: none;
	}
	.ul_nav li a::after {
		width: 100%;
		height: 2px;
		background: #0244C8;
		border-radius: 0;
		top: 70%;
		left: 0;
		transform: scale(0, 1);
		transform-origin: center top;
		transition: 0.2s;
	}
	.ul_nav li a:hover::after {
		transform: scale(1, 1);
	}
	/* ボタン */
	#g_nav .btn_header {
		width: min(15vw, 204px);
		margin: 0;
	}
	#g_nav .btn_header a {
		font-size: min(1.4705882353vw, 20px);
	}
	#g_nav .btn_header a::after {
		content: none;
	}
	#g_nav .btn_contact a {
		border: 2px solid #0C8AF7;
	}
	#g_nav .btn_reserve a {
		border: 2px solid #FFC8C4;
	}
	/* main
	------------------------------------------------------------------------- */
	/* ========================================
	共通CSS
	======================================== */
	/* ボタン */
	.btn_contact,
	.btn_reserve {
		width: min(31.7647058824vw, 432px);
	}
	.btn_contact a,
	.btn_reserve a {
		gap: min(0.5882352941vw, 8px);
		height: min(3.75vw, 51px);
		border-radius: min(2.9411764706vw, 40px);
		font-size: min(1.7647058824vw, 24px);
	}
	.btn_contact a::after,
	.btn_reserve a::after {
		width: calc(100% + min(1.1764705882vw, 16px));
		height: calc(100% + min(1.1764705882vw, 16px));
		border-radius: min(2.9411764706vw, 40px);
	}
	.btn_contact:not(:last-child) {
		margin-bottom: 0;
	}
	.btn_contact a::before {
		width: min(2.0588235294vw, 28px);
		height: min(1.7647058824vw, 24px);
	}
	.btn_reserve a::before {
		width: min(1.7647058824vw, 24px);
		height: min(1.7647058824vw, 24px);
	}
	.wrap_btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: min(3.5294117647vw, 48px);
	}
	.btn02 {
		width: min(25.8823529412vw, 352px);
	}
	.btn02 a {
		height: min(4.7058823529vw, 64px);
		padding: min(0.5882352941vw, 8px);
		border-radius: min(2.9411764706vw, 40px);
	}
	.btn02 a span {
		border-radius: min(2.9411764706vw, 40px);
	}
	.btn02 a span::before {
		width: min(0.5882352941vw, 8px);
		height: min(0.5882352941vw, 8px);
		right: min(1.1764705882vw, 16px);
	}
	.btn02 a span::after {
		width: min(0.8823529412vw, 12px);
		height: min(0.8823529412vw, 12px);
		right: min(1.0294117647vw, 14px);
	}
	.wrap_btn02 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: min(2.3529411765vw, 32px);
	}
	.wrap_btn02 .btn02 {
		margin: 0;
	}
	/* ホバー */
	.btn_header a,
	.btn a,
	.btn02 a{
		transform-origin: center;
		transition: 0.2s;
	}
	.btn_header a:hover,
	.btn a:hover,
	.btn02 a:hover {
		transform: scale(0.9);
	}
	/* ダウンロードボタン */
	.btn_download {
		width: min(32.9411764706vw, 448px);
	}
	.btn_download a::after {
		width: min(1.7647058824vw, 24px);
		height: min(1.7647058824vw, 24px);
		right: min(1.7647058824vw, 24px);
	}
	/* 見出し */
	.ttl_heading01 {
		font-size: min(2.3529411765vw, 32px);
		margin-bottom: min(3.5294117647vw, 48px);
	}
	.ttl_heading01::after {
		width: min(5.8823529412vw, 80px);
		height: min(0.5882352941vw, 8px);
		border-radius: min(0.5882352941vw, 8px);
		bottom: max(-0.5882352941vw, -8px);
	}
	.ttl_heading02 {
		gap: min(1.1764705882vw, 16px);
		font-size: min(1.7647058824vw, 24px);
		margin-bottom: min(1.1764705882vw, 16px);
	}
	.ttl_heading02::before {
		min-width: min(0.5882352941vw, 8px);
		max-width: min(0.5882352941vw, 8px);
		height: min(2.3529411765vw, 32px);
		border-radius: min(0.5882352941vw, 8px);
		-webkit-transform: translateY(min(0.2205882353vw, 3px));
		transform: translateY(min(0.2205882353vw, 3px));
	}
	/* リード文 */
	.lead_text {
		width: auto;
		margin: 0 auto min(2.3529411765vw, 32px);
		text-align: center;
	}
	/* 下層ページ FV */
	.fv_lower {
		padding: min(9.4117647059vw, 128px) 0 min(1.1764705882vw, 16px);
	}
	.fv_lower .fv_img::after {
		height: min(4.7058823529vw, 64px);
		background-image: url(../images/common/wave_white03_pc.png);
	}
	.fv_lower .fv_img img {
		width: min(calc(1264 / 1360 * 100vw), 1824px);
	}
	.fv_lower .fv_ttl {
		width: min(82.3529411765vw, 1120px);
		font-size: min(2.3529411765vw, 32px);
	}
	/* パンくずリスト */
	.wrap_breadcrumbs {
		margin-bottom: min(0.1470588235vw, 2px);
	}
	.breadcrumbs {
		gap: min(0.5882352941vw, 8px);
		width: min(94.1176470588vw, 1280px);
	}
	.breadcrumbs > span:not(:last-child)::after {
		content: "＞";
		margin-left: min(0.5882352941vw, 8px);
	}
	/* ========================================
	会場空き情報
	======================================== */
	/* 予約状況のマーク */
	.ul_reserve_info {
		gap: min(2.3529411765vw, 32px);
	}
	.ul_reserve_info li {
		height: min(2.3529411765vw, 32px);
		border-radius: min(1.1764705882vw, 16px);
		padding: 0 min(1.1764705882vw, 16px);
		font-size: min(1.4705882353vw, 20px);
	}
	/* 注意書き */
	.calendar_note {
		margin-top: min(2.3529411765vw, 32px);
	}
	/* カレンダー */
	.wrap_reserve_info_calendar {
		margin: min(2.3529411765vw, 32px) 0 min(3.5294117647vw, 48px);
	}
	/* ========================================
	料金
	======================================== */
	.price .inner_section {
		width: min(82.3529411765vw, 1120px);
	}
	.price .ttl_heading02 {
		width: min(68.2352941176vw, 928px);
		margin-left: auto;
		margin-right: auto;
	}
	.price_contents {
		margin-bottom: min(4.7058823529vw, 64px);
	}
	/* 表周り */
	.wrap_price_table {
		width: min(68.2352941176vw, 928px);
		margin: 0 auto;
	}
	.table_note {
		font-size: min(1.0294117647vw, 14px);
	}
	.price_table thead th {
		font-size: min(1.3235294118vw, 18px);
		padding: min(0.5882352941vw, 8px) 0;
	}
	.price_table thead th:first-child {
		width: min(21.1029411765vw, 287px);
	}
	.price_table tbody th {
		padding: min(0.5882352941vw, 8px) 0 min(0.5882352941vw, 8px) min(1.7647058824vw, 24px);
		text-align: left;
	}
	.price_table tbody td {
		padding-left: 0;
		padding-right: min(1.7647058824vw, 24px);
		text-align: right;
		font-size: min(1.3235294118vw, 18px);
	}
	.price_table02 th,
	.price_table02 td {
		font-size: min(1.1764705882vw, 16px);
		padding-top: min(0.5882352941vw, 8px);
		padding-bottom: min(0.5882352941vw, 8px);
	}
	.price_table02 thead th:first-child {
		width: min(21.1764705882vw, 288px);
	}
	.price_table02 thead th:nth-child(2) {
		width: min(23.5294117647vw, 320px);
	}
	.price_table02 tbody td {
		font-size: min(1.1764705882vw, 16px);
		padding-left: min(1.7647058824vw, 24px);
	}
	.price_table02 tbody td:first-of-type {
		text-align: left;
	}
	.price_table02 tbody td:last-child {
		padding-right: min(1.7647058824vw, 24px);
	}
	/* 料金バナー */
	.wrap_price_bnr {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		margin-top: min(1.7647058824vw, 24px);
	}
	.price_bnr {
		width: min(40vw, 544px);
		gap: min(1.0294117647vw, 14px);
		border-radius: min(0.5882352941vw, 8px);
		padding: min(0.8823529412vw, 12px) min(1.9852941176vw, 27px);
		font-size: min(1.7647058824vw, 24px);
		margin-bottom: 0;
	}
	.price_bnr .font_small {
		font-size: min(1.1764705882vw, 16px);
	}
	.price_bnr::before {
		min-width: min(5.2941176471vw, 72px);
		max-width: min(5.2941176471vw, 72px);
		height: min(5.2941176471vw, 72px);
	}
	/* ========================================
	イベント予定
	======================================== */
	.event_contents {
		padding: min(1.7647058824vw, 24px) 0;
		border-radius: min(1.1764705882vw, 16px);
	}
	.inner_event_contents {
		width: min(22.3529411765vw, 304px);
	}
	.event_ttl {
		font-size: min(1.4705882353vw, 20px);
		margin-bottom: min(1.1764705882vw, 16px);
	}
	.event_img {
		height: min(16.0294117647vw, 218px);
		margin-bottom: min(1.1764705882vw, 16px);
	}
	.event_img img {
		width: min(21.1764705882vw, 288px);
		height: min(14.8529411765vw, 202px);
	}
	.dl_event dt {
		width: min(10.5882352941vw, 144px);
		height: min(2.2058823529vw, 30px);
		border-radius: min(0.2941176471vw, 4px);
		font-size: min(1.0294117647vw, 14px);
	}
	.dl_event dd {
		margin-bottom: min(1.1764705882vw, 16px);
	}
	.dl_event dd a:hover {
		color: #FF776B;
	}
	/* ========================================
	CTA
	======================================== */
	.cta {
		padding: min(4.7058823529vw, 64px);
		background: none;
		position: relative;
		z-index: 1;
	}
	.cta::after {
		content: "";
		display: block;
		width: 100%;
		height: min(24.1176470588vw, 328px);
		background: url(../images/common/cta_bg_img_pc.jpg) no-repeat center;
		background-size: cover;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}
	.cta .ttl_heading01 {
		margin-bottom: min(8.9705882353vw, 122px);
	}
	.wrap_cta_contents {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 100%;
	}
	.cta_contents {
		width: min(41.1764705882vw, 560px);
	}
	.cta_contents a {
		height: min(17.6470588235vw, 240px);
		font-size: min(1.3235294118vw, 18px);
		transition: 0.2s;
	}
	.cta_contents a:hover {
		border-radius: min(calc(120 / 1360 * 100vw), 120px);
	}
	.cta_contents a::before {
		border-width: 0px 0px min(4.7058823529vw, 64px) min(4.7058823529vw, 64px);
	}
	.cta_contents a::after {
		width: min(0.5882352941vw, 8px);
		height: min(0.5882352941vw, 8px);
		bottom: min(1.1764705882vw, 16px);
		right: min(1.1764705882vw, 16px);
	}
	.cta_contents a span span {
		font-size: min(2.3529411765vw, 32px);
		margin-top: min(1.1764705882vw, 16px);
	}
	/* ========================================
	プライバシーポリシー
	======================================== */
	.privacy .lead_text {
		text-align: left;
	}
	.dl_privacy dd {
		margin-bottom: min(1.7647058824vw, 24px);
	}
	/* ========================================
	404
	======================================== */
	.not_found .lead_text {
		width: min(68.2352941176vw, 928px);
		text-align: left;
		margin: 0 auto min(3.5294117647vw, 48px);
	}
	/* footer
	------------------------------------------------------------------------- */
	#footer {
		background-image: url(../images/common/wave_white02_pc.png);
		background-size: 1360px 144px;
		padding: min(5.8823529412vw, 80px) 0 min(2.9411764706vw, 40px);
	}
	.wrap_footer_contents {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		width: min(82.3529411765vw, 1120px);
	}
	/* TOPへ戻るボタン */
	.btn_page_top {
		width: min(calc(56 / 1360 * 100vw), 56px);
		bottom: min(calc(40 / 1360 * 100vw), 40px);
		right: min(calc(40 / 1360 * 100vw), 40px);
		cursor: pointer;
	}
	/* footerナビ */
	.footer_nav {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
		width: min(31.1764705882vw, 424px);
	}
	/* ボタン */
	.footer_nav .wrap_btn {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: min(1.1764705882vw, 16px);
		margin-top: min(1.7647058824vw, 24px);
	}
	.footer_nav .wrap_btn .btn {
		width: min(15vw, 204px);
	}
	.footer_nav .wrap_btn .btn a {
		gap: min(0.5882352941vw, 8px);
		height: min(3.5294117647vw, 48px);
		font-size: min(1.4705882353vw, 20px);
	}
	.footer_nav .btn_contact a {
		border-color: #0C8AF7;
	}
	.footer_nav .btn_contact a::before {
		width: min(2.0588235294vw, 28px);
		height: min(1.7647058824vw, 24px);
	}
	.footer_nav .btn_reserve a {
		border-color: #FFC8C4;
	}
	.footer_nav .btn_reserve a::before {
		width: min(1.7647058824vw, 24px);
		height: min(1.7647058824vw, 24px);
	}
	.footer_nav li a {
		position: relative;
	}
	.footer_nav li a::after {
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		background: #fff;
		border-radius: 0;
		position: absolute;
		bottom: -4px;
		left: 0;
		transform: scale(0, 1);
		transform-origin: center top;
		transition: 0.2s;
	}
	.footer_nav li a:hover::after {
		transform: scale(1, 1);
	}
	/* 運営情報 */
	.footer_info_contents {
		-webkit-box-ordinal-group: 1;
		-ms-flex-order: 0;
		order: 0;
		margin-top: 0;
		width: min(39.7794117647vw, 541px);
	}
	.footer_ttl {
		font-size: min(1.7647058824vw, 24px);
	}
	.footer_contact {
		margin-top: min(1.1764705882vw, 16px);
	}
	/* コピーライト */
	.copyright_area {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
		width: 100%;
		margin-top: min(2.9411764706vw, 40px);
		font-size: min(1.0294117647vw, 14px);
	}
	.copyright_area a {
		position: relative;
	}
	.copyright_area a::after {
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		background: #fff;
		border-radius: 0;
		position: absolute;
		bottom: -4px;
		left: 0;
		transform: scale(0, 1);
		transform-origin: center top;
		transition: 0.2s;
	}
	.copyright_area a:hover::after {
		transform: scale(1, 1);
	}
}