@charset "utf-8";

@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 400;
	src:local("Noto Sans JP Regular"),
		url(../fonts/NotoSansJP-Regular.ttf);
}
@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 500;
	src:local("Noto Sans JP Medium"),
		url(../fonts/NotoSansJP-Medium.ttf);
}
@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 600;
	src:local("Noto Sans JP SemiBold"),
		url(../fonts/NotoSansJP-SemiBold.ttf);
}
@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 700;
	src:local("Noto Sans JP Bold"),
		url(../fonts/NotoSansJP-Bold.ttf);
}
@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 800;
	src:local("Noto Sans JP Extra Bold"),
		url(../fonts/NotoSansJP-ExtraBold.ttf);
}
@font-face {
	font-family: 'Noto Sans JP';
	font-weight: 900;
	src:local("Noto Sans JP Black"),
		url(../fonts/NotoSansJP-Black.ttf);
}

/*section*/
#main {
  background-color: #d6e9c4;
}
.page_ttl,
#bread {display: none;}
#main .section:last-of-type,
#main > .section {
  padding: 0;
  margin: 0;
  max-width: 100%;
}
.free_block img {margin: 0;}
#main > .section .wrap_cnt {
  padding-left: 10px;
  padding-right: 10px;
  width: min(100%, 1200px);
  margin: auto;
}

/*h2*/
.free_block .h2_sponsor,
.free_block .h2_ttl {
  border: none;
  padding: 0;
}

.free_block .h2_sponsor::before,
.free_block .h2_ttl::before {display: none;}

.free_block .h3_ttl {
	background: none;
	padding: 0;
}
#main .h2_ttl {
	display: flex;
	justify-content: center;
}

/*ol,ul*/
#main .free_block ol,
#main .free_block ul {
  list-style: none;
  margin: auto;
}

/*btn*/
.btn {
  text-decoration: none;
  display: block;
  position: relative;
  z-index: 2;
}
#main .free_block .btn[target=_blank]::after,
.btn::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: min(8vw, 60px);
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
}
#main .free_block .btn[target=_blank]::after,
.btn::after {
  bottom: -4px;
  transition: all .2s;
}
#main .free_block .btn[target=_blank]:hover::after,
.btn:hover::after {
  opacity: 0;
}
.btn .wp {
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.5rem, 3.908vw, 3.0rem);
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  height: min(13.333vw, 100px);
  border-radius: min(8vw, 60px);
  position: relative;
  z-index: 3;
  transition: all .15s;
}
.btn .wp::after {
  content: '';
  width: 8px;
  height: 10px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin-left: 4px;
}
.btn:hover .wp {
  transform: translateY(4px);
}

/*entry btn*/
.btn.__contact {
  color: #614c3f;
}
#main .free_block .btn.__contact[target=_blank]::after,
.btn.__contact::after {
  background: #614c3f;
}
.btn.__contact .wp {
  width: min(50vw, 260px);
  background: #fff;
  border: 2px solid #614c3f;
}
.btn.__contact .wp::after {
  background: #614c3f;
}
.btn.__contact:hover .wp {
  background: #b49d8f;
}

@media screen and (min-width:641px) {
	.img.sp,
	.sp {display: none;}
  #main .section {
  }
  .btn .wp {
    font-size: clamp(1.0rem, 2.042vw, 2.0rem);
    height: min(6vw, 70px);
  }
  .btn.__contact .wp {
    width: min(22.5vw, 260px);
  }
}
@media screen and (min-width:1200px) {
  .btn .wp {
  }
}
@media screen and (max-width:640px) {
	.img.pc,
	.pc {display: none;}
}


/*title*/
/***************/
.h1_summer2025 {
  width: 100%;
  margin: 0 auto  min(6.8vw, 50px);
}
.h1_summer2025 .img {
  width: 100%;
  height: auto;
}
#main .intro_ttl {
	width: min(69.86666666666667vw, 524px) ;
	margin: 0 auto min(5.3vw, 40px);
}
#main .intro_txt {
	width: min(88vw, 660px);
	margin: 0 auto min(16vw, 120px) ;
}
.intro_txt .img,
.intro_ttl .img_ttl {
	display: block;
	width: 100%;
	height: auto;
}

@media screen and (min-width:641px) {
  .h1_summer2025 {
    background: url(../../images/event/event_2025summer/mv_pc_bk.png) 50% 0 no-repeat;
    background-size: 100% auto;
    padding: 0;
    margin-bottom: min(4.1666vw, 80px);
  }
	#main .intro_ttl {
		width: min(43.66666666666667vw, 524px);
		margin-bottom: min(4.16vw, 50px);
	}
	#main .intro_txt {
		width: min(94.33333333333333vw, 1132px);
		margin-bottom: min(10vw, 120px);
	}
}
@media screen and (min-width:980px) {
}
@media screen and (min-width:1200px) {
}
@media screen and (min-width:1920px) {
}



/*cont01*/
/***************/
#cont01 .sec {
	padding-bottom: min(16vw, 120px);
}
/*h2*/
#main #cont01 .h2_ttl .img {
	width: min(84.4vw, 633px);
}
#main #cont01 .h2_ttl {
	margin-bottom: min(15.46666666666667vw, 116px) ;
}
/*h3*/
#main #cont01 .flex.center {
	display: flex;
	justify-content: center;
}
#main #cont01 .h3_ttl {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(85.33333333333333vw, 640px);
	margin: 0 auto min(7.6vw, 57px);
	padding: min(5.2vw, 39px) 0 ;
	background-color: #fff100;
	border: 5px solid #171c61;
	border-radius: 25vw;
	position: relative;
}
#main #cont01 .h3_ttl img {display: block;}
#main #cont01 .h3_ttl .ttl {
	color: #171c61;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(2rem, 5.21vw, 4rem);
	font-weight: 900;
	line-height: 1.4;
	text-align: center;
}
#main #cont01 .h3_ttl .pop {
	position: absolute;
	width: min(18.66666666666667vw, 140px);
	top: -7.6vw;
	left: min(26vw, 210px) ;
}
#main #cont01 .h3_ttl .pop .img {
	width: 100%;
	height: auto;
}
#main #cont01 .h3_ttl .num {
	width: min(12vw, 90px);
	margin-bottom: min(4vw, 30px) ;
	position: relative;
}
#main #cont01 .h3_ttl .num::after {
	content: '';
	height: min(1vw, 6px);
	width: 60%;
	background-color: #171c61;
	position: absolute;
	/*bottom: min(-1.5vw, 12px);*/
	bottom: max(-3vw, -20px) ;
	left: 20%;
}

/*h4*/
.free_block #cont01 .h4_cont01 {
  color: #fff100;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(2.0rem, 5.21vw, 4.0rem);
  font-weight: 900;
  text-align: center;
  padding: .4em 1.3em .5em;
  margin-bottom: min(8vw, 60px);
  background-color: #e83428;
  border-radius: 2em;
}
.free_block #cont01 .cont_movie .flex.center {
	display: flex;
	justify-content: center;
}
.free_block #cont01 .cont_movie .flex.center .h4_cont01 {
}
.free_block #cont01 .step_li .h4_cont01 {
  padding: .08em 1.3em .14em;
  margin-bottom: min(4vw, 30px);
}

.free_block .h4_flow {
  width: 100%;
  display: flex;
	padding: .6em 0;
  margin-bottom: min(4vw, 30px);
  justify-content: center;
  align-items: center;
	background: #171c61;
	border-radius: min(2vw, 14px);
}
.h4_flow .ttl {
  color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.8rem, 4.688vw, 3.6rem);
  text-align: center;
  position: relative;
}
.h4_flow .ttl .petit {
  color: #171c61;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.5rem, 3.908vw, 3.0rem);
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(12vw, 90px);
  height: min(12vw, 90px);
  background: url(../../images/event/event_2025summer/bg_petit.svg) 0 0 no-repeat;
  background-size: cover;
  position: absolute;
  left: calc((min(12vw, 90px) * -1) - 5px);
  top: calc((min(12vw, 90px) * -1) * 0.6);
}

/*p*/
#main #cont01 .read_txt {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(2rem, 5.21vw, 4rem);
	font-weight: 500;
	width: min(80vw, 600px) ;
	margin: 0 auto min(5.6vw, 42px) ;
}

/*step*/
.evnt_step_ol,
.evnt_step_ol .step_li {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

#main .free_block .evnt_step_ol {
  margin-bottom: min(16vw, 120px);
}
.evnt_step_ol .step_li {
  width: min(85.333vw, 640px);
  margin-bottom: min(8vw, 60px);
}
.evnt_step_ol .step_li:last-child {margin-bottom: 0;}
.free_block .step_li .txt_stp {
	font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  font-size: clamp(1.5rem, 3.908vw, 3.0rem);
}

/*select*/
.cont_select {
  padding: min(10.666vw, 80px) min(8vw, 60px);
  margin-bottom: min(16vw, 120px);
  background-color: #fefcd1;
  border-radius: min(2.666vw, 20px);
}
#main .free_block .select_ul {
  width: min(74.666vw, 560px);
}
.select_ul .select_li {
  margin-bottom: min(8vw, 60px);
}
.free_block .txt_caution {
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.2rem, 3.126vw, 2.4rem);
  margin-bottom: 0;
}

/*movie*/
.video_wrap {
	width: min(90vw, 1100px);
	aspect-ratio: 1100 / 618;
  margin: auto;
	position: relative;
}
.video_wrap .video {
	width: 100%;
	height: 100%;
	aspect-ratio: 1100 / 618;
	overflow: hidden;
}
.video_wrap .thumn_mv {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}
.playActive.thumn_mv {display: none;}

/*flow*/
.wrap_flow {
  width: min(85.333vw, 640px);
	margin: auto;
  margin-top: min(8vw, 60px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
.free_block .flow_txt {
  color: #000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: min(4vw, 30px);
}
.free_block .flow_txt .nom {
  color: #fff100;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(2.0rem, 5.21vw, 4.0rem);
  font-weight: 700;
  width: min(10.8vw, 81px);
  height: min(10.8vw, 81px);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #171c61;
  border-radius: 10px;
}
.free_block .flow_txt .ttl {
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.3rem, 3.386vw, 2.6rem);
  font-weight: 400;
  width: calc(100% - min(13vw, 100px));
}

.flow_block {
  width: 100%;
  padding: min(5.333vw, 40px) min(4vw, 30px);
  border-radius: 10px;
  border: 6px solid #171c61;
}
.wrap_flow .img {
  height: auto;
  display: block;
  margin: auto;
}
.wrap_flow .img.__01 {
  width: min(66.666vw, 500px);
}
.wrap_flow .img.__02 {
  width: min(26.1333vw, 196px);
}
.wrap_flow .img.__03 {
  width: min(61.3333vw, 460px);
}
.flow_arr {
  text-align: center;
}
.flow_arr .arr {
  display: inline-block;
  text-indent: -120vw;
  width: min(8vw, 60px);
  height: min(5.333vw, 40px);
  background-color: #171c61;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.flow_block.__01,
.flow_arr {
  margin-bottom: min(5.6vw, 40px);
}
.flow_block.__02 {
	margin-bottom: min(7.6vw, 57px);
}

/*photo*/
.fig_photo {
	display: flex;
	justify-content: center;
	align-items: center;
}
.fig_photo .img_sample {
	width: min(47.6vw, 357px);
	margin-right: min(5.2vw, 40px);
}
.fig_photo .img {
	width: min(29.6vw, 222px);
}


@media screen and (min-width:641px) {
	#main #cont01 .h2_ttl .img {
		width: min(76.83333333333333vw, 922px);
	}
	#cont01 .sec {
		padding-bottom: min(10.83333333333333vw, 130px) ;
	}
	#main #cont01 .h3_ttl {
		/*width: min(85.83333333333333vw, 1030px) ;*/
		width: auto;
		margin-bottom: min(5vw, 60px);
		padding: .8em 1em;
		flex-direction: row;
		align-items: center;
		border: 4px solid #171c61;
	}
	#main #cont01 .h3_ttl .ttl {
		font-size: clamp(2rem, 3.368vw, 4rem);
	}
	#main #cont01 .h3_ttl .pop {
		width: min(9.5vw, 114px);
		/*top: min(-4.166666666666667vw, -50px);
		left: min(-1.666666666666667vw, -20px);*/
		top: max(-50px,-4vw);
		left: max(-20px, -1.6vw);
	}
	#main #cont01 .h3_ttl .num {
		width: min(5.5vw, 66px) ;
		margin-bottom: 0;
		margin-right: min(3.5vw, 60px) ;
	}
	#main #cont01 .h3_ttl .num::after {
		width: 4px;
		height: 90%;
		top: 5%;
		left: calc(100% + min(1.5vw, 30px));
	}

  .free_block #cont01 .h4_cont01 {
    font-size: clamp(1.9rem, 3.878vw, 3.8rem);
    padding: .22em 1.3em .3em;
    margin-bottom: min(4.166vw, 50px);
  }
  .free_block #cont01 .step_li .h4_cont01 {
		font-size: clamp(1.5rem, 3.062vw, 3rem);
    margin-bottom: min(1.666vw, 20px);
  }
  .free_block #cont01 .cont_select .h4_cont01 {
    margin-bottom: min(2.5vw, 30px);
  }

  #main .free_block .evnt_step_ol {
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: min(6.25vw, 70px);
  }
  .evnt_step_ol .step_li {
    width: min(31.666vw, 380px);
		margin-bottom: 0;
  }
	.free_block .step_li .txt_stp {
		font-size: clamp(1rem, 2.042vw, 2rem);
	}

  .cont_select {
    background-image: url(../../images/event/event_2025summer/bg_select_l.png),  url(../../images/event/event_2025summer/bg_select_r.png);
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: 0 0, 100% 0;
    padding: min(3.75vw, 45px) min(6vw, 75px) min(3.75vw, 45px) min(7.5vw, 90px);
    margin-bottom: min(5.8333vw, 70px);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
  #main .free_block .select_ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
  }
  .select_ul .select_li {
    width: min(27vw, 325px);
    margin-bottom: min(2.5vw, 30px);
  }
  .free_block .txt_caution {
    font-size: clamp(0.7rem, 1.43vw, 1.4rem);
  }

	#main #cont01 .read_txt {
		font-size: clamp(1.35rem, 2.756vw, 2.7rem);
		text-align: center;
		width: 100%;
	}

  .wrap_flow {
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    width: min(90vw, 1080px);
    margin: min(3.333vw, 40px) auto 0;
  }

  .free_block .h4_flow {
    margin-bottom: 0;
    border-radius: 10px;
  }
  .h4_flow .ttl {
    font-size: clamp(1.0rem, 2.606vw, 2.0rem);
  }
  .h4_flow .ttl .petit {
    font-size: clamp(0.85rem, 2.214vw, 1.7rem);
    width: min(7.5vw, 60px);
    height: min(7.5vw, 60px);
    left: calc((min(7.5vw, 60px) * -1) + 8px);
    top: calc((min(7.5vw, 60px) * -1) * 0.6);
  }
  .flow_block {
    padding: min(1.666vw, 10px) min(1.666vw, 20px);
    border-width: 3px;
    margin-bottom: 0;
  }
  .free_block .flow_txt {margin-bottom: 3px;}
  .free_block .flow_txt .nom {
    font-size: clamp(0.85rem, 2.214vw, 1.7rem);
    width: min(6vw, 40px);
    height: min(6vw, 40px);
    border-radius: 8px;
  }
  .free_block .flow_txt .ttl {
    font-size: clamp(0.7rem, 1.824vw, 1.4rem);
    width: calc(100% - min(8vw, 50px));
  }
  .wrap_flow .img.__01,
  .wrap_flow .img.__02 {
    width: auto;
    height: min(11.666vw, 140px);
  }
	.wrap_flow .img.__03 {
		width: min(19.1666vw, 230px);
	}
  .flow_arr {
    display: flex;
    align-items: center;
    margin-bottom: 0;
  }
  .flow_arr .arr {
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    width: min(1.333vw, 16px);
    height: min(2vw, 24px);
  }
  .free_block .h4_flow {
    width: min(20vw, 170px);
    margin-right: 15px;
  }
  .flow_block.__01 {
    width: min(25vw, 300px);
		margin-bottom: 0;
		margin-right: 12px;
  }
  .flow_block.__02 {
    width: min(19.1777vw, 230px);
		margin-bottom: 0;
  }
	.flow_arr {
		margin-bottom: 0;
		margin-right: 10px;
	}

}
@media screen and (min-width:768px) {
	#main #cont01 .h3_ttl .pop {
		width: min(9.5vw, 114px);
		top: max(-50px,-4.5vw);
		left: max(-40px, -3vw);
	}
}
@media screen and (min-width:980px) {
	#main #cont01 .h3_ttl {
		padding: .8em 1.3em;
	}
	#main #cont01 .h3_ttl .pop {
		width: min(9.5vw, 114px);
		top: min(-4.5vw, -40px);
		left: min(-3vw, -30px);
	}
}
@media screen and (min-width:1200px) {
	#main #cont01 .h3_ttl .pop {
		width: 114px;
		top: -50px;
		left: -46px;
	}
  .free_block #cont01 .h4_cont01 {
    font-size: clamp(2rem, 4.082vw, 4rem);
	}
	.free_block #cont01 .step_li .h4_cont01 {
		font-size: clamp(1.5rem, 3.062vw, 3rem);
	}
	#main #cont01 .read_txt {
		font-size: clamp(1.5rem, 3.062vw, 3rem);
	}
  .h4_flow .ttl {
		font-size: clamp(1.3rem, 2.654vw, 2.6rem);
	}
	.free_block .h4_flow {margin-right: 18px;}
	.flow_arr,
	.flow_block.__01 {margin-right: 15px;}
}
@media screen and (min-width:1920px) {
}


/*cont02*/
/***************/
.free_block #cont02 .h2_ttl {
  font-size: clamp(2.6rem, 6.77vw, 5.2rem);
  margin-bottom: min(6.8vw, 51px);
}
#cont02 .h2_ttl .h2_wp {
  color: #fff100;
	font-family: 'Noto Sans JP', sans-serif;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(78.1333vw, 586px);
  height: min(24vw,180px);
  margin: auto;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: cover;
}
#cont02 .h2_ttl .h2_wp.__entry {
  background-image: url(../../images/event/may_event_2025/h2_bg_blue.svg);
}

#cont02 {
  padding-bottom: min(13.333vw, 100px);
}
#cont02 .h2_ttl + .read {
  color: #00a0e9;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
}

/*terms*/
#main .free_block .terms_ul {
  margin-bottom: min(16vw, 120px);
}
.terms_li {
  border-radius: min(2.666vw, 20px);
  overflow: hidden;
  background-color: #fff;
  margin-bottom: min(4vw, 30px);
}
.free_block .terms_li .h3_terms {
  color: #00a0e9;
	font-family: 'Noto Sans JP', sans-serif;
  font-weight: 800;
  text-align: center;
  background: url(../../images/event/event_2025summer/h3_bk_line.png) 0 0 repeat;
  border-radius: 0;
  margin: 0;
}
.terms_li .wp_txt {
  padding: min(3vw, 20px) min(5.2vw, 40px) min(3.6vw, 25px);
}
.free_block .txt_terms {
	font-family: 'Noto Sans JP', sans-serif;
  margin: 5px 0 0;
}
/*link*/
.link_terms {
  color: #000;
	font-family: 'Noto Sans JP', sans-serif;
  text-decoration: none;
  position: relative;
}
.link_terms::before {
  content: '';
  display: inline-block;
  width: min(2vw, 15px);
  height: min(2.4vw, 18px);
  background-color: #00a0e9;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin-right: 4px;
}
#main .free_block .link_terms[target="_blank"]::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  margin: 0;
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
}
#main .free_block .link_terms:hover[target="_blank"]::after {display: none;}

/*items*/
.wrap_items {
  padding: min(18vw, 135px) 0 min(8vw, 60px);
  margin-bottom: min(16vw, 120px);
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 5px solid #00a0e9;
  border-radius: min(2.666vw, 20px);
  position: relative;
}
.free_block .h3_items {
  color: #fff100;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(2.0rem, 5.21vw, 4.0rem);
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
  background-color: #00a0e9;
  border-radius: 3em;
  position: absolute;
  top: -2em;
}
.items_li {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(72vw, 550px);
  margin-bottom: min(8vw, 60px);
}
.items_li .img {
  margin-bottom: 20px;
}
.free_block .txt_items {
  color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.7rem, 4.428vw, 3.4rem);
  font-weight: 600;
  text-align: center;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #00a0e9;
  border-radius: min(.666vw, 5px);
  box-shadow: 0px 0px 0px 6px #d6e9c4, 0px 0px 0px 10px #00a0e9;
}

#cont02 .arrow {
  text-indent: -120vw;
  display: block;
  width: min(18.666vw, 140px);
  height: min(10.666vw, 80px);
  margin: 0 auto min(5.2vw, 39px);
  background-color: #00a0e9;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}

.free_block .txt_result {
  color: #00a0e9;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(2.0rem, 5.21vw, 4.0rem);
  font-weight: 600;
  text-align: center;
  width: min(85.333vw, 640px);
  margin: auto;
}
.txt_result .img {
  margin: min(5.2vw, 39px) auto 0;
  display: block;
}


@media screen and (min-width:641px) {
  .free_block #cont02 .h2_ttl {
		font-size: clamp(2.5rem, 5.102vw, 5rem);
  }
  #cont02 .h2_ttl .h2_wp {
    width: min(48.333vw, 586px);
    height: min(15vw, 180px);
  }
  #cont02 .h2_ttl + .read {
    font-size: clamp(1.3rem, 2.654vw, 2.6rem);
		text-align: center;
  }

  #main .free_block .terms_ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-bottom: min(7.5vw, 90px);
  }
  .terms_li {
    width: min(47.75vw, 580px);
    margin-bottom: 0;
  }
  .terms_li .wp_txt {
    padding: min(1.2vw, 20px) min(2.5vw, 30px) min(2vw, 25px);
  }
  .link_terms::before {
    width: 8px;
    height: 9px;
    transform: translateY(-1px);
  }

  .wrap_items {
    padding: min(6.66vw, 80px) min(10vw, 120px);
    margin-bottom: min(5.8333vw, 70px);
  }
  .free_block .h3_items {
		font-size: clamp(1.5rem, 3.062vw, 3rem);
    width: min(80vw, 600px);
		top: -1.3em;
    left: calc(50% - (min(80vw, 600px) / 2));
  }
  .wrap_items .items_ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .items_li {
    width: min(37vw, 446px);
    margin-bottom: 35px;
  }
  .free_block .txt_items {
    font-size: clamp(0.8rem, 2.086vw, 1.6rem);
    width: min(28vw, 360px);
    height: min(4em, 80px);
    box-shadow: 0px 0px 0px 2px #d6e9c4, 0px 0px 0px 4px #00a0e9;
  }
  #cont02 .arrow {
    width: min(3.8333vw, 46px);
    height: min(2.1666vw, 26px);
  }
  .free_block .txt_result {
		font-size: clamp(1.5rem, 3.062vw, 3rem);
    width: 100%;
  }
}
@media screen and (min-width:980px) {
}
@media screen and (min-width:1200px) {
  .free_block #cont02 .h2_ttl {
    font-size: clamp(2.5rem, 5.102vw, 5rem);
  }
  .terms_li {
    width: min(48.75vw, 580px);
  }
}
@media screen and (max-width:640px) {
  .free_block .h3_items {
    width: min(68vw, 510px);
    left: calc(50% - (min(68vw, 510px) / 2));
  }
  .free_block .txt_items {
    width: min(64vw, 480px);
    height: min(16vw, 120px);
  }
}
@media screen and (max-width:420px) {
  .wrap_items {
    border-width: 3px;
  }
  .free_block .txt_items {
    border-radius: min(1.333vw, 10px);
     box-shadow: 0px 0px 0px 3px #d6e9c4, 0px 0px 0px 5px #00a0e9;
  }
}
@media screen and (max-width:360px) {
  .items_li .img {
    margin-bottom: 15px;
  }
  .free_block .txt_items {
    width: min(72vw, 480px);
  }
}


/*cont03*/
/***************/
#main > .section .wrap_cnt#cont03 {
  width: 100%;
  background-color: #d4a98d;
  background-image: 
    url(../../images/event/event_2025summer/bg_nurie01sp.png),
    url(../../images/event/event_2025summer/bg_nurie02sp.png);
  background-repeat: no-repeat;
  background-position: 0 0, 50% min(38vw, 480px);
  background-size: 100% auto, 250% auto;
  padding: min(9.3333vw, 70px) 0 ;
}
.free_block #cont03 .h2_ttl {
	width: min(63.46666666666667vw, 476px) ;
	margin: 0 auto min(6.4vw, 48px) ;
}
.free_block #cont03 .h2_ttl .h2_img {
	width: 100%;
	height: auto;
}
#main #cont03 .read_txt {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(1.5rem, 3.908vw, 3rem);
	font-weight: 400;
	width: min(90.666vw, 680px) ;
	margin: 0 auto min(6.4vw, 48px) ;
}
#cont03 .fig_dinosaur {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 0;
}
#cont03 .fig_dinosaur .img.sp{
	width: 100%;
}

@media screen and (min-width:641px) {
  #main > .section .wrap_cnt#cont03 {
    background-color: #d4a98d;
	  background-image: 
	    url(../../images/event/event_2025summer/bg_nurie01.png),
	    url(../../images/event/event_2025summer/bg_nurie02.png);
	  background-repeat: no-repeat;
		background-position: 0 0, 50% 0;
    background-size: 150% auto;
    padding: min(5vw, 60px) 10px 10px;
  }
	.free_block #cont03 .h2_ttl {
		width: min(47.16666666666667vw, 566px) ;
		margin-bottom: min(1.6666vw, 20px);
	}
	#main #cont03 .read_txt {
		font-size: clamp(1rem, 2.042vw, 2rem);
		text-align: center;
		width: 100%;
		margin-bottom: min(1.6666vw, 20px);
	}
}
@media screen and (min-width:980px) {
  #main > .section .wrap_cnt#cont03 {
    background-size: 130% auto;
  }
}
@media screen and (min-width:1920px) {
  #main > .section .wrap_cnt#cont03 {
    background-size: 100% auto;
  }
}
@media screen and (max-width:640px) {
}


/*cont04*/
/***************/
#main > .section .wrap_cnt#cont04 {
  width: 100%;
  background-color: #fff;
  padding: min(8vw, 60px) 10px;
}
.block_sponsor {
  width: min(100%, 1200px);
  margin: auto;
}
.free_block .h2_sponsor {
  color: #000;
	font-family: 'Noto Sans JP', sans-serif;
  font-size: clamp(1.5rem, 3.908vw, 3.0rem);
  font-weight: 700;
  text-align: center;
  margin-bottom: min(4vw, 30px);
  position: relative;
}
.free_block .h2_sponsor::before,
.free_block .h2_sponsor::after {
  content: '';
  display: block;
  height: 1px;
  width: calc(50% - 2.5em);
  background-color: #000;
  position: absolute;
  top: 50%;
}
.free_block .h2_sponsor::before{left: 0;}
.free_block .h2_sponsor::after {right: 0;}


.block_sponsor .wrap {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.block_sponsor .wrap.__host {
  margin-bottom: min(8vw, 60px);
  justify-content: center;
}
.logo_host {
  width: min(62.5vw, 300px);
  margin: 0 0 min(3.333vw, 40px);
}

.block_sponsor .wrap.__sponsor {
  justify-content: space-between;
}
.wrap.__sponsor .bnr_img {
  display: block;
  width: auto;
  height: min(15.78125vw, 101px);
}
#main .free_block a.logo_host[target=_blank]::after,
#main .free_block .wrap.__sponsor a[target=_blank]::after {display: none;}

/*entry btn*/
.btn.__contact {
  color: #614c3f;
}
#main .free_block .btn.__contact[target=_blank]::after,
.btn.__contact::after {
  background: #614c3f;
}
.btn.__contact .wp {
  width: min(50vw, 260px);
  background: #fff;
  border: 2px solid #614c3f;
}
.btn.__contact .wp::after {
  background: #614c3f;
}
.btn.__contact:hover .wp {
  background: #b49d8f;
}


@media screen and (min-width:641px) {
  .free_block .h2_sponsor {
    font-size: clamp(0.85rem, 2.214vw, 1.7rem);
    margin-bottom: min(8vw, 60px);
  }
  .block_sponsor .wrap.__host {
    margin-bottom: min(5vw, 60px);
  }
  .logo_host {
    width: min(27.5vw, 300px);
    margin: 0 min(3.333vw, 40px) 0 0;
  }
  .btn.__contact .wp {
    width: min(22.5vw, 260px);
  }
  .wrap.__sponsor .bnr_img {
    height: min(8.4166vw, 101px);
    margin-right: min(4vw, 50px);
  }
  .wrap.__sponsor .bnr_img.m0 {margin-right: 0;}
}
@media screen and (min-width:1200px) {
  .free_block .h2_sponsor {
    font-size: clamp(1.0rem, 2.606vw, 2.0rem);
  }
  .wrap.__sponsor .bnr_img {margin-right: 50px;}
}
@media screen and (max-width:640px) {
  .wrap.__sponsor .bnr_img {
    margin: 0 10px 15px;
  }
}
