@charset "utf-8";
/* page_name
-------------------------------------------------------------------*/
body {
	background: #191871;
}
main {
	margin-bottom: 0;
	font-weight: bold;
	font-size: 18px;
	text-align: center;
}
/*レイアウト*/
.sitewrap {
	text-align: center;
	overflow: hidden;
	box-sizing: border-box;
	position: relative;
}
.sitewrap img {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
a.page_link {
	display: block;
	position: relative;
	z-index: -5;
	height: 0;
}
.sec01 .bg_wrap {
	background: url(../img/bg_hanabi.png) top center no-repeat;
	padding: 2em 0;
}
.sec01 .btn_flex {
	display: flex;
	justify-content: space-around;
	gap: 1em 2em;
	margin-bottom: 2.5em;
}
.sec01 .lead p {
	margin-bottom: 2.5em;
}
.sec01 .lead a,
.sec01 .btn_flex a {
	display: block;
	width: fit-content;
	margin: 0 auto;
	background: #fff;
	border-radius: 48px;
}
.sec01 .lead a img,
.sec01 .btn_flex a img {
	transition: opacity .4s;
}
.sec01 .lead a:hover img,
.sec01 .btn_flex a:hover img {
	opacity: 0.7;
}
.sec01 .flex,
.sec02 .flex {
	display: flex;
	justify-content: center;
	flex-wrap:wrap;
	gap:2em 4.5%;
	margin: 3.5% auto;
}
.sec01 .flex p,
.sec02 .flex p{
	width:44.1666666667%;
}
.sec02 {
	background: url(../img/bg_stripe.png);
	padding: 4em 0 2em;
}
.sec03 {
	background: url(../img/bg_dot.png);
	padding: 4em 0;
}
.sec03 .sub_sec:nth-child(n+2) {
	margin-top: 3.5%;
}
.sec04 {
	background: url(../img/bg_event01.jpg);
	background-size:cover;
	padding: 4em 0;
}
.sec04 .sub_sec{
	margin-left: -4%;
}
@media screen and (max-width:1200px) {
	.sitewrap {
		width: 100%;
		min-width: 0;
		padding-left: 2%;
		padding-right: 2%;
	}
	.sitewrap canvas {
		display: none;
	}
	.sitewrap img {
		opacity: 1 !important;
		position: static !important;
	}
}
@media screen and (max-width:767px) {
	body {
		padding-top: 0;
	}
	main {
		padding-top: 0;
		margin-bottom: 0;
	}
	.pagetop::before {
		width: 40px;
		height: 40px;
		background: rgba(0, 0, 0, 0.2);
		margin-bottom: -42px;
		margin-left: -7px;
		border-radius: 7px;
		box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
	}
	.sitewrap {
		padding-left: 15px;
		padding-right: 15px;
	}
}
/*背景*/
/*ヘッダー*/
/*フッター*/
header,
footer {
	padding: 12px 0;
	background: #7cc4f8;
	text-align: center;
}
header {
	border-bottom: solid 2px #06a;
}
@media screen and (max-width:768px) {
	main {
		font-size: 12px;
	}
	.lead_style {
		padding: 15px;
		box-shadow: 0 0 4px 1px rgba(55, 105, 155, 0.3);
	}
	.lead_style p {
		text-align: left;
		line-height: 2;
		font-size: 14px;
		color: #039;
		font-weight: bold;
	}
	.lead_style p span {
		border-bottom: dotted 2px #bdf;
	}
	.btns li+li {
		margin-top: 20px;
	}
	.btns a {
		padding: 10px;
	}
	.btns a .pht {
		width: auto;
		margin-bottom: 10px;
	}
	.btns a .btn {
		width: 100%;
		height: 60px;
		border-radius: 0 0 8px 8px;
		padding: 5px;
	}
	.btns a .btn span {
		border-radius: 0 0 5px 5px;
	}
	.btns a .btn span:after {
		right: 20px;
		border-width: 14px 10px 0 10px;
	}
	.caption {
		margin: 30px 0 0;
		text-align: left;
	}
	.contact_btn a {
		margin: 30px 0 0;
		padding: 15px 5px;
		border: solid 10px #ff4400;
		font-size: 140%;
	}
	.contact_btn a span {
		line-height: 2;
		border-bottom: dotted 3px #fcb;
	}
	.contact_btn.pdf a {
		padding: 30px 5px;
	}
}
@media screen and (max-width:600px) {
	.contact_btn a {
		font-size: 3.15vw;
	}
}
@media screen and (max-width:768px) {
	.sitewrap .box {
		padding: 10px;
	}
	.sec01{
		overflow:clip;
	}
	.sec01 h1{
		width:155%;
		translate:-50%;
		margin-left:50%;
	}
	.sec01 .btn_flex {
		flex-wrap:wrap;
	}
	.sec01 .flex,
	.sec02 .flex{
	gap:2em 4%;
	}
	.sec01 .flex p,
	.sec02 .flex p{
		width:48%;
	}
}
.sec02 .table_wrap table,
.sec03 .table_wrap table {
	table-layout: fixed;
}