@charset "UTF-8";


.bosyu{
	text-align: center;
	color: #FF0000;
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: 15px;
}

/* ---------------------------------------------- mv */
main #mvArea {
height: 44vw;
width: 100%;
margin: 0 auto;
position: relative;
}
main #mvArea h1 {
position: absolute;
top: 8vw;
left: 0;
right: 0;
margin: auto;
width: 42vw;
}
main #mvArea .mvImgBlock {
position: relative;
}
main #mvArea .mvImgBlock .mvImg {
position: absolute;
width: 16vw;
height: 16vw;
border-radius: 50%;
overflow: hidden;
opacity: 0;
}
main #mvArea .mvImgBlock .mvPic {
position: absolute;
}
main #mvArea .mvImgBlock .h101 {
top: 4vw;
bottom: 24vw;
left: 5vw;
animation: scalingA 0.5s ease 0.5s 1 forwards,
fuwafuwaA 4s linear 1s infinite;
}
main #mvArea .mvImgBlock .h102 {
top: 25vw;
bottom:3vw;
left:17vw;
animation: scalingB 0.5s ease 1.5s 1 forwards,
fuwafuwaB 3s linear 2.5s infinite;
}
main #mvArea .mvImgBlock .h103 {
top: 4vw;
bottom: 24vw;
right: 4vw;
animation: scalingA 0.5s ease 1.0s 1 forwards,
fuwafuwaB 2s linear 2.0s infinite;
}
main #mvArea .mvImgBlock .h104 {
top: 25vw;
bottom: 3vw;
right: 14vw;
animation: scalingB 0.5s ease 0.75s 1 forwards,
fuwafuwaA 3s linear 1.5s infinite;
}
@keyframes scalingA {
0% {transform: scale(0.5, 0.5);}
100% {opacity: 1;
transform: scale(1, 1);}
}
@keyframes scalingB {
0% {transform: scale(0.5, 0.5);}
100% {opacity: 1;
transform: scale(1, 1);}
}
@keyframes fuwafuwaA {
0% { transform: translateY(0); }
30% { transform: translateY(-10px); }
50% { transform: translateY(0px); }
70% { transform: translateY(-10px); }
100% { transform: translateY(0px); }
}
@keyframes fuwafuwaB {
0% { transform: translateY(0px); }
33% { transform: translateY(-5px); }
66% { transform: translateY(-10px); }
100% { transform: translateY(0px); }
}
main #mvArea .mvImgBlock .h105 {
width: 4.3vw;
height: 7.8vw;
top: 9.2vw;
bottom: 27vw;
left: 24vw;
}
main #mvArea .mvImgBlock .h106 {
width:5.6vw;
height: 6.5vw;
top: 29vw;
bottom:8.5vw;
left: 7vw;
}
main #mvArea .mvImgBlock .h107 {
width:4.2vw;
height: 7.6vw;
top: 22vw;
bottom: 14.4vw;
right: 5vw;
}
main #mvArea .mvImgBlock .h108 {
width:3.8vw;
height: 6.9vw;
top: 34vw;
bottom:3.1vw;
left: 60vw;
}
main #mvArea .mvImgBlock .h109 {
width:7.8vw;
height: 7vw;
top: 34vw;
bottom:3vw;
left: 40vw;
}

/* ---------------------------------------------- お知らせ */
main #notice {
max-width: 700px;
margin:30px auto 60px;
}
main #notice h3 {
font-weight: bold;
text-align: center;
font-size: 120%;
margin: 0 0 30px 0;
}
main #notice dl {
display: flex;
align-items:baseline;
margin: 1vw 0;
}
main #notice dl dt {
width: 11em;
word-break: keep-all;
}
main #notice dl dd {
width: calc(100% - 11em);
text-align: justify;
}
main #notice dl dd a {
text-decoration: underline;
line-height: 1.7;
}
main #notice dl dd a:hover {
text-decoration: none;
}
/* ------------------------- 追加*/

main #notice #caution  {
border: 2px solid #e50112;
margin-bottom: 35px;
}
main #notice #caution h3 {
background: #e50112;
line-height: 1.6;
color: #fff;
padding: 10px 20px;
font-size: 160%;
margin: 0;
}
main #notice #caution p {
padding: 20px 30px;
line-height: 1.6;
font-size: 115%;
font-weight: bold;
}
main #notice #caution h3 .sp{
display: none;
}
@media screen and (min-width: 0px) and (max-width:720px) {
	
.bosyu{
	text-align: center;
	color: #FF0000;
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 15px;
	line-height: 140%;
}
	
main #notice #caution h3 {
font-size: 	129%
}
main #notice #caution p {
font-size: 100%;
font-weight: normal;
}
main #notice #caution h3 .sp{
	display: block;
}
}



/* ---------------------------------------------- main 固有 */
main #about {
padding: 40px 0 60px 0;
}
main #about h2 {
margin: 0 auto 40px;
max-width: 634px;
padding: 0;
}
main #about .txt01 {
font-size: 129%;
}

main #about .imgList {
	margin: 20px auto;
	text-align: center;
	width: 900px;
}

main #about .imgList img {
width: 260px;
margin: 15px;
}

main #about .plans {
margin:50px auto 50px;
}
/* ----------------------- */
main #schedule {
padding: 60px 0 60px 0;
}
main #schedule .listBlock {
margin: 50px auto;
}
/*main #schedule .listBlock li:first-child a {
pointer-events:none;
}*/
main #schedule ul.listBlock {
display: flex;
justify-content:space-between;
width: 650px;
}
main #schedule .listBlock li {
position: relative;
width: calc((650px - 40px) / 2);
}

/* ----------------------- */
main #event {
padding: 74px 0 80px 0;
text-align: center;
}
main #event .txt01 {
margin: 0 0 60px 0;
}
main #event ul.listBlock {
display: flex;
justify-content:space-between;
width: 650px;
margin: 0 auto;
}
main #event .listBlock li {
position: relative;
width: calc((650px - 40px) / 2);
}
/* ----------------------- */
main #activity {
padding: 70px 0 50px 0;
}
main #activity .txt01 {
margin: 0 0 54px 0;
}
main #activity .listBlock {
flex-wrap:wrap;
}
main #activity .listBlock li {
width: calc(100% / 3);
max-width: 320px;
margin: 0 20px 30px 0;
}
main #activity .listBlock li:nth-child(3n) {
margin-right: 0;
}
main #activity .listBlock li a {
text-decoration: underline;
display: block;
}
main #activity .listBlock li a:hover {
text-decoration: none;
}
main #activity .listBlock li .txt01 {
display: block;
margin: 10px 0 0 0;
line-height: 1.7;
}
@media screen and (min-width: 0px) and (max-width:1000px) {
main #activity .listBlock li {
width: 100%;
max-width: calc((100% - 20px) / 2);
margin: 0 20px 30px 0;
}
main #activity .listBlock li:nth-child(even) {
margin-right: 0px;
}
main #activity .listBlock li .img01 img {
width: 100%;
height: auto;
}
}
/* ---------------------------------------------- */
/* ---------------------------------------------- */
@media screen and (min-width: 0px) and (max-width:720px) {
main #mvArea {
height: 100vw;
}
main #mvArea h1 {
top: 11vw;
left: 0;
right: 0;
margin: auto;
width: 90vw;
}
main #mvArea .mvImgBlock .mvImg {
width: 20vw;
height: 20vw;
}
main #mvArea .mvImgBlock .h101 {
top: 47vw;
bottom: 33vw;
left: 2vw;
}
main #mvArea .mvImgBlock .h102 {
top: 74vw;
bottom: 6vw;
left: 24vw;
}
main #mvArea .mvImgBlock .h103 {
top: 54vw;
bottom: 30vw;
right: 4vw;
}
main #mvArea .mvImgBlock .h104 {
top: 67vw;
bottom: 13vw;
right: 28vw;
}

main #mvArea .mvImgBlock .h105 {
width: 8.6vw;
height: 15.7vw;
top: 9.0vw;
bottom:75.3vw;
left: 15vw;
}
main #mvArea .mvImgBlock .h106 {
width: 11.2vw;
height: 13vw;
top: 28vw;
bottom:59vw;
left: 4vw;
}
main #mvArea .mvImgBlock .h107 {
width: 7.8vw;
height: 14.2vw;
top: 77vw;
bottom:8.8vw;
right: 6vw;
left: 86.2vw;
}

main #mvArea .mvImgBlock .h108 {
width: 7.6vw;
height: 13.9vw;
top: 82vw;
bottom:4.1vw;
right: 20vw;
left: 72.4vw;
}
main #mvArea .mvImgBlock .h109 {
width: 13vw;
height: 11.6vw;
top: 73vw;
bottom:15.4vw;
right: 80.6vw;
left: 6.4vw;
}


main #notice dl {
flex-direction:column;
}
main #notice dl dd {
width: 100%;
margin: 1vw 0 2vw;
}

main #about h2 {
padding: 0;
margin-bottom: 30px;
}
main #about .txt01 {
font-size:100%;
}
main #about ul.imgList {
padding: 0px;
}
main #about ul.imgList li {
width: calc((100% - 10px)/2);
}
	
main #about .imgList {
	margin: 20px auto;
	text-align: center;
	width: 100%;
}

main #about .imgList img {
width: 90%;
margin: 15px;
}

	
main #about .plans {
margin:30px auto 25px;
}
main #schedule .txt01,
main #event .txt01,
main #activity .txt01 {
margin: 0 0 20px 0;
font-size: 115%;
}
main #schedule .listBlock {
margin: 40px auto 0px;
}
main #schedule .listBlock li:not(:first-child) {
display: none;
}
main #schedule .listBlock li .icon01 {
display: none;
}
main #schedule .listBlock li:first-child a {
pointer-events:auto;
}
main #activity ul.listBlock {
flex-direction:column;
}
main #activity .listBlock li {
width: 100%;
max-width: 100%;
}
main #activity .listBlock li:not(:last-child) {
margin: 0 0 20px 0;
}
main #activity .listBlock li .txt01 {
font-size: 100%;
}
	
	
main #schedule ul.listBlock {
display: flex;
justify-content:space-between;
width: 100%;
}
main #schedule .listBlock li {
position: relative;
width: calc((100% - 0px) / 1);
}
	
main #event ul.listBlock {
display: flex;
justify-content:space-between;
width: 100%;
margin: 0 auto;
}
main #event .listBlock li {
position: relative;
width: calc((100% - 0px) / 1);
}
	

}

/*---

main #about .btnA01 {
text-align: center;
margin: 20px auto;
display: block;
color: #fff;
background: #f94841;
line-height: 64px;
min-height: 64px;
border-radius:32px;
max-width: 420px;
font-size: 150%;
letter-spacing: 2px;
}

--*/

/* ---------------------------------------------- */
/* ---------------------------------------------- */
@media screen and (min-width: 0px) and (max-width:720px) {
	
/*---	
main #about .btnA01 {
text-align: center;
margin: 20px auto;
display: block;
color: #fff;
background: #f94841;
line-height: 64px;
min-height: 64px;
border-radius:32px;
max-width: 90%;
font-size: 140%;
letter-spacing: 1px;
}	
	
--*/
	
}
