hr, hr.m80 {
    max-width: 1080px;
    width: 100%;
    height: 1px;
    margin: 56px auto;
    border: 0;
    background: linear-gradient( to right, var(--r_blue) 64px, var(--r_gray) 64px );
}
hr.m80 { margin: 80px auto; }
hr.m48 { margin: 48px auto 24px }
.box2 hr { margin: 48px 0 24px; }

@media screen and (max-width:767px) {
	hr, hr.m80 { margin: 48px auto; background: linear-gradient( to right, var(--r_blue) 32px, var(--r_gray) 32px );}
	hr.m80 { margin: 48px auto; }
	hr.m48 { margin: 24px auto 16px }

}


/** old style **/

#iwaitwins .contents { text-align: left; }

#top_img { height: 600px; width: 100%; position: relative; margin-bottom: 0; }
#top_img h1 { font-size: 2rem; position: absolute; top: 30%; left: 5%; z-index: 10; }
#top_img .logo { margin-top: 1.5rem; width: 200px; }
#top_img .sldr_box { width: 100%; height: 600px; position: relative; }
@media screen and (max-width:767px) {
	#top_img { height: 350px; width: 100%; position: relative; }
	#top_img .sldr_box { width: 100%; height: 350px; }
	#top_img h1 { font-size: 1.25rem; position: absolute; top: 10%; left: 10%; width: 80%; z-index: 10; text-align: center; }
	#top_img .logo { margin-top: 1rem; width: 100px; }
}
#message { text-align: center; margin: 0 auto; padding-top: 5rem; position: relative; max-width: none; }
#message h2 { margin-bottom: 2rem; }
#message .lead { line-height: 2.2; font-size: 16px; }
#message img { position: absolute; top: -5rem; right: 50px; width: 15%; }
@media screen and (max-width:767px) {
	#message { padding: 0; }
	#message .lead { text-align: left; }
	#message img { position: absolute; top: -2rem; right: 5vw; width: 15%; }
}
#sns { }
#sns .sec_inner { margin: 0 auto 20px; }
#sns a.fb_outlink, #sns a.insta_outlink { border-radius: 60px; box-shadow: 0px 4px 10px 0px #00000014; height: 118px; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 24px 28px 24px 35px; transition: all .3s ease; }
#sns a small { font-size: 13px; }
#sns a span { font-size: 18px; font-weight: 700; }
.sns_logo { width: 48px; }
.sns_tx { flex: 1; }
.sns_out { width: 24px; }
#sns a:hover { opacity: .7; }

@media screen and (max-width:767px) {
	#sns { flex-direction: column; }
	#sns a.fb_outlink, #sns a.insta_outlink { height: 85px; margin-bottom: 24px; padding: 16px 22px; }
	#sns a small { font-size: 10px; }
	#sns a span { font-size: 16px; line-height: 1.2; }
	.sns_logo { width: 32px; }
	#sns .inst_icon { width: 250px; font-size: 12px; box-sizing: content-box; padding: 10px 0 10px 100px; margin-top: 45px; background-position: left 2px center; background-size: 60px; }
} 
#profile { width: 100%; padding: 0; margin: 0 auto; position: relative; max-width: none; }
#profile h2 { font-size: 28px; }
#profile h3 { font-size: 1.5rem; font-weight: 700; margin: 1.5rem 0 2.5rem 0; text-align: center; }
#profile h4 { font-size: 18px; font-weight: 700; margin: 24px 0 12px; }
#profile img { border-radius: 10px; }
#profile table { width: 100%; }
#profile table th, #profile table td { padding: 20px 0; border-bottom: 0.5px var(--r_gray) dotted; line-height: 1.6; }
#profile table th { font-weight: 600; text-align: left; color: var(--r_graytx2); font-size: 15px; width: 25%; vertical-align: top; }
@media screen and (max-width:767px) {
	#profile h2 { font-size: 20px; }
	#profile h3 { margin: 1rem 0 1.5rem 0; text-align: center; }
	#profile .box2:nth-child(2) { margin-top: 3rem; }
}
#news { max-width: 1080px; margin: 0 auto; }
#news ul { margin-left: 0; position: relative; z-index: 100;}
#news ul li, #news2 ul li { padding-bottom: 30px;margin-bottom: 30px; display: flex; align-content: flex-start; width: 100%; border-bottom: 1px var(--r_gray) solid; }
#news li .date, #news2 li .date { color: var(--r_graytx2); font-weight: 700; margin-right: 24px; width: 100px; }
#news h2 { margin: 0 0 48px 0; }
@media screen and (max-width:767px) {
	#news .news_head { width: 200px; height: 45vw;  top: -10rem;}
	#news ul li, #news2 ul li { flex-direction: column; width: 100%; }
	#news ul li a,#news ul li:first-child a { width: 100%; }
}

section { margin-bottom: 5rem; }
h2 { font-size: 1.5rem; font-weight: 600; margin-bottom: 2rem; }
.flex { display: flex; justify-content: space-between; flex-wrap: wrap; }
.box3 { width: 31%; }
.gray_bg { background-color: #f7f7f7; padding: 5rem; }
.sec_inner { max-width: 1080px; margin: 0 auto; }
.sec_inner_s { max-width: 900px; margin: 0 auto; padding: 0 20px; }
.img_fit { width: 100%; height: 100%; object-fit: cover; }
.img_max { max-width: 100%; }
.center { text-align: center; }
.lh3 { line-height: 3; }
.mb2r { margin-bottom: 2rem; }
.for_pc { display:block!important; }
.for_sp { display:none!important; }
@media screen and (max-width:768px) {
	h2 { font-size: 1.125rem; text-align: left; }
	.box2,.box3 { width: 100%; }
	.flex { flex-direction: column; }
	.for_sp { display:block!important; }
	.for_pc { display:none!important; }
}
/*----------anime----------------*/

.slider{
  display: none;
}
.slider.slick-initialized{
  display: block;
}

.add-animation {
  animation: FadeZoom 6.5s 0s ease-out forwards;
}
@keyframes FadeZoom {
  0% { transform: scale(1); }
  100% { transform: scale(1.1); }
}


.main_pic {
	z-index: 5;
	position: relative;
}
.slick-active .top_bg {
	height: 100%;
	opacity: 0;
	animation: SlideInBg 4.5s ease 0.5s 1 normal both;
	z-index: 2;
}
@keyframes SlideInBg {
	0% { position: absolute; top: 0; right: 0; opacity: 0; }
	10% { position: absolute; top: 0; right: calc(100% - 800px); opacity: 1; }
	90% { position: absolute; top: 0; right: calc(100% - 800px); opacity: 1; }
	100% { position: absolute; top: 0; right: 100%; opacity: 0; }
}
.slick-active .top_cap {
	width: 650px;
	animation: SlideIn01 4.5s ease 0.5s 1 normal both;
}
@keyframes SlideIn01 {
	0% { position: absolute; top: 35%; left: -60%; opacity: 0; }
	10% { position: absolute; top: 35%; left: -60%; opacity: 0; }
	20% { position: absolute; top: 35%; left: 0%; opacity: 1; }
	80% { position: absolute; top: 35%; left: 0%; opacity: 1; }
	100% { position: absolute; top: 35%; left: 60%; opacity: 0; }
}
.slick-active .top_cap2 {
	width: 650px;
	animation: SlideIn02 4.5s ease 0.7s 1 normal both;
}
@keyframes SlideIn02 {
	0% { position: absolute; top: 50%; left: -60%; opacity: 0; }
	10% { position: absolute; top: 50%; left: -60%; opacity: 0; }
	20% { position: absolute; top: 50%; left: 0%; opacity: 1; }
	80% { position: absolute; top: 50%; left: 0%; opacity: 1;  }
	100% { position: absolute; top: 50%; left: 60%; opacity: 0; }
}

.slick-active .top_messe01 { width: 550px; animation: messe1 4.5s ease 0.2s 1 normal both; z-index: 11; }
.slick-active .top_messe02 { width: 550px; animation: messe2 4.5s ease 0.4s 1 normal both; z-index: 11; }
.slick-active .top_messe04 { width: 550px; animation: messe4 4.5s ease 0.7s 1 normal both; z-index: 11; }
@keyframes messe1 {
	0% { position: absolute; top: 30%; left: -30%; opacity: 0; }
	10% { position: absolute; top: 30%; left: -30%; opacity: 0; }
	20% { position: absolute; top: 30%; left: 0%; opacity: 1; }
	80% { position: absolute; top: 30%; left: 0%; opacity: 1; }
	100% { position: absolute; top: 30%; left: 50%; opacity: 0; }
}
@keyframes messe2 {
	0% { position: absolute; top: 40%; left: -30%; opacity: 0; }
	10% { position: absolute; top: 40%; left: -30%; opacity: 0; }
	20% { position: absolute; top: 40%; left: 0%; opacity: 1; }
	80% { position: absolute; top: 40%; left: 0%; opacity: 1; }
	100% { position: absolute; top: 40%; left: 50%; opacity: 0; }
}
@keyframes messe4 {
	0% { position: absolute; top: 55%; left: -30%; opacity: 0; }
	10% { position: absolute; top: 55%; left: -30%; opacity: 0; }
	20% { position: absolute; top: 55%; left: 0%; opacity: 1; }
	80% { position: absolute; top: 55%; left: 0%; opacity: 1; }
	100% { position: absolute; top: 55%; left: 50%; opacity: 0; }
}
@media screen and (min-width:769px) and (max-width:1150px) {
	.slick-active .top_messe01 { transform: scale( .7 ); transform-origin: center left; }
	.slick-active .top_messe02 { transform: scale( .7 ); transform-origin: center left; }
	.slick-active .top_messe04 { transform: scale( .7 ); transform-origin: center left; }
	.slick-active .top_cap { transform: scale( .7 ); transform-origin: center left; }
	.slick-active .top_cap2 { transform: scale( .7 ); transform-origin: center left; }
	@keyframes SlideInBg {
		0% { position: absolute; top: 0; right: 0; opacity: 0; }
		10% { position: absolute; top: 0; right: calc(100% - 600px); opacity: 1; }
		90% { position: absolute; top: 0; right: calc(100% - 600px); opacity: 1; }
		100% { position: absolute; top: 0; right: 100%; opacity: 0; }
	}
}
@media screen and (max-width:768px) {
	.slick-active .main_pic {
		position: absolute;
		top: 0; left: 0;
		width: 100%;
		height: 100%;
		z-index: 20;
	}
	.slick-active .top_bg {
		width: 100%;
		height: 200px;
		z-index: -1;
		position: absolute; 
	}
	@keyframes SlideInBg {
		0% { top: -100%; left: 0; opacity: 0; }
		10% { top: 0; left: 0; opacity: 1; }
		90% { top: 0; left: 0; opacity: 1; }
		100% { top: -100%; left: 0; opacity: 0; }
	}
	.slick-active .top_cap {
		width: 300px;
		position: absolute; 
		z-index: 5;
	}
	@keyframes SlideIn01 {
		0% { top: 5%; left: -100%; opacity: 0; }
		10% { top: 5%; left: -100%; opacity: 0; }
		20% { top: 5%; left: -10%; opacity: 1; }
		80% { top: 5%; left: -10%; opacity: 1; }
		90% { top: 5%; left: 20%; opacity: 0; }
		100% {top: 5%; left: 20%; opacity: 0; }
	}
	.slick-active .top_cap2 {
		width: 300px;
		position: absolute;
		z-index: 6;
	}
	@keyframes SlideIn02 {
		0% { top: 18%; left: -100%; opacity: 0; }
		10% { top: 18%; left: -100%; opacity: 0; }
		20% { top: 18%; left: -10%; opacity: 1; }
		80% { top: 18%; left: -10%; opacity: 1;  }
		90% { top: 18%; left: 20%; opacity: 0;  }
		100% { top: 18%; left: 20%; opacity: 0; }
	}
	.slick-active .top_messe01 { width: 300px; position: absolute; animation: messe1 4.5s ease 0.2s 1 normal both; }
	.slick-active .top_messe02 { width: 300px; position: absolute; animation: messe2 4.5s ease 0.4s 1 normal both; }
	.slick-active .top_messe04 { display: none;}
	@keyframes messe1 {
		0% { top: 3%; left: -100%; opacity: 0; }
		10% { top: 3%; left: -100%; opacity: 0; }
		20% { top: 3%; left: -10%; opacity: 1; }
		80% { top: 3%; left: -10%; opacity: 1; }
		90% { top: 3%; left: 20%; opacity: 0; }
		100% { top: 3%; left: 20%; opacity: 0; }
	}
	@keyframes messe2 {
		0% { top: 12%; left: -100%; opacity: 0; }
		10% { top: 12%; left: -100%; opacity: 0; }
		20% { top: 12%; left: -10%; opacity: 1; }
		80% { top: 12%; left: -10%; opacity: 1;  }
		90% { top: 12%; left: 20%; opacity: 0;  }
		100% { top: 12%; left: 20%; opacity: 0; }
	}
	@keyframes messe3 {
		0% { top: 25%; left: -3%; opacity: 0; }
		20% { opacity: 0; }
		100% { position: absolute; top: 25%; left: 0%; opacity: 1; }
	}
}
