/* 下層共通 -------------------- */
.l-feature-wrap .image{
	position:relative;
	width:78.75%;
	margin:0 auto;
}
.l-feature-wrap .image:before{
	content:'';
	display:block;
	position:relative;
	padding:61.5% 0 0;
	z-index:1;
}
.l-feature-wrap .image img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	z-index:2;
}
#calendar-wrap{
	width:100%;
	max-width:900px;
	margin:0 auto;
}
#calendar-wrap:before{
	content:'';
	display:block;
	padding-top:1.8056%;
}
#calendar-wrap:after{
	content:'';
	display:block;
	padding-top:8.334%;
}
#calendar-wrap .sp{
	display:none;
}
#calendar-wrap .btn a{
	display:block;
	transition:opacity ease 0.3s;
}
#calendar-wrap .btn a:hover{
	opacity:0.7;
}
#calendar-wrap .txt{
	margin:2.5% 0 2.084%;
	color:#707f87;
	font-size:min(calc(16 / 1100 * 100vw), 16px);
	font-weight:normal;
	line-height:1.7858em;
}
#calendar-wrap .note{
	color:#707f87;
	font-size:min(calc(14 / 1100 * 100vw), 14px);
	font-weight:normal;
	line-height:1.875em;
}
#calendar-wrap #official-btn{
	margin-top:6.667%;
}
#calendar-wrap #return-btn{
	width:30%;
	margin:8.334% auto 0;
}
#calendar-wrap #return-btn a{
	position:relative;
	color:#231815;
	font-size:min(calc(14 / 1100 * 100vw), 14px);
	font-weight:normal;
	line-height:3.3334em;
	text-align:center;
}
#calendar-wrap #return-btn a:before{
	content:'';
	display:block;
	position:absolute;
	top:0;
	left:0;
	bottom:0;
	width:100%;
	border:1px solid #231815;
	box-sizing:border-box;
}

#calendar-visual{
	padding-bottom:6.667%;
	background:no-repeat top center;
	background-size:100% auto;
	position:relative;
	overflow:hidden;
}
#calendar-visual:before{
	content:'';
	display:block;
	padding:71.6667% 0 0;
	position:relative;
	z-index:1;
}
#calendar-visual .image img{
	font-size:20px;
}
#calendar-visual .image img.pc{
	display:block;
}
#calendar-visual .image:before{
	padding-top:0;
}
@keyframes fuwafuwa {
  0% {transform:translate(0, 0.35em) rotate(-3deg);}
  50% {transform:translate(0, 0) rotate(0deg);}
  100% {transform:translate(0, 0.35em) rotate(3deg);}
}
@keyframes fuwafuwa2 {
  0% {transform:translate(0, 0.35em) rotate(3deg);}
  50% {transform:translate(0, 0) rotate(0deg);}
  100% {transform:translate(0, 0.35em) rotate(-3deg);}
}
@keyframes kurukuru {
  0%{
    transform: rotateY(0) translateY(40px);
  }
  100%{
    transform: rotateY(360deg) translateY(0);
  }
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}
#cv-txt1{
	position:absolute;
	top:0;
	overflow:hidden;
	z-index:2;
	animation-iteration-count:1;
}
#cv-txt1 img{
	width:auto!important;
	max-width:none!important;
	height:100%!important;
	bottom:0;
}
#cv-img3{
	position:absolute;
	top:0;
	overflow:hidden;
	z-index:2;
	animation-iteration-count:1;
}
#cv-img3 img{
	width:auto!important;
	max-width:none!important;
	height:100%!important;
	bottom:0;
}
#cv-txt2{
	position:absolute;
	top:0;
	z-index:2;
	animation-iteration-count:1;
}
#cv-img1{
	position:absolute;
	top:0;
	z-index:3;
	animation-iteration-count:1;
}
#cv-img1 img{
	animation:fuwafuwa 3s ease-in-out infinite alternate;
}
#cv-img1b{
	position:absolute;
	top:0;
	z-index:3;
	animation-iteration-count:1;
}
#cv-img1b img{
	animation:fuwafuwa2 3s ease-in-out infinite alternate;
}
#cv-img2{
	position:absolute;
	top:0;
	z-index:3;
	animation-iteration-count:1;
}
#cv-img2 img{
	animation-iteration-count:1;
}
#dl-btn{
	z-index:4;
}
#dl-btn img{
	animation:poyopoyo 2s ease-out infinite;
}
#cv-bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	z-index:1;
}
#dl-btn{
	width:15%;
	margin:0 7.334% 10% 0;
	position:absolute;
	bottom:0;
	right:0;
}

/* index個別 -------------------- */
.l-feature-wrap .calendar-index{
	width:100%;
	margin:0 auto;
}
.calendar-index:before{
	content:'';
	display:block;
	padding-top:5.417%;
}
.calendar-index p.image{
	width:15.084%;
	margin:0 auto 3.167%;
}
.calendar-index p.image:before{
	padding-top:54.6962%;
}
.calendar-index ul:after{
	content:'';
	display:block;
	clear:both;
}
.calendar-index ul li{
	width:25%;
	float:left;
	margin-bottom:3.334%;
}
.calendar-index ul li a{
	display:block;
	width:86.668%;
	margin:0 auto;
	transition:opacity ease 0.3s;
}
.calendar-index ul li a:hover{
	opacity:0.7;
}
#calendar-wrap.calendar-top .image{
	width:100%;
}
#calendar-wrap.calendar-top .calendar-index .image{
	width:15.084%;
}

@media screen and (max-width: 767px){

/* 下層共通 -------------------- */
.l-feature-wrap .image{
	width:100%;
}
.l-feature-wrap .image:before{
	padding-top:70.4226%;
}

/* 下層共通 -------------------- */
#calendar-wrap{
	width:94.667%;
}
#calendar-wrap:before{
	padding-top:1.878%;
}
#calendar-wrap:after{
	padding-top:14.085%;
}
#calendar-wrap .pc{
	display:none;
}
#calendar-wrap .sp{
	display:block;
}
#calendar-wrap .btn a:hover{
	opacity:1;
}
#calendar-wrap .txt{
	margin:6.62% 0 3.522%;
	font-size:calc(14 / 375 * 100vw);
}
#calendar-wrap .note{
	font-size:calc(14 / 375 * 100vw);
}
#calendar-wrap #official-btn{
	width:97.184%;
	margin:12.677% auto 0;
}
#calendar-wrap #return-btn{
	width:67.606%;
	margin-top:11.268%;
}
#calendar-wrap #return-btn a{
	font-size:calc(14 / 375 * 100vw);
	border-width:2px;
}

#calendar-visual{
	padding-bottom:28.17%;
}
#calendar-visual:before{
	padding-top:309.8592%;
}
#calendar-visual .image img{
	font-size:2.6667vw;
}
#calendar-visual .image img.pc{
	display:none;
}
#calendar-visual .image img.sp{
	display:block;
}
#cv-txt1{
	animation:maskSlide1sp 1s linear;
}
#dl-btn{
	width:33.803%;
	margin-right:0;
	margin-bottom:28.1691%;
	right:50%;
	transform:translate(50%,50%);
}

/* index個別 -------------------- */
.l-feature-wrap .l-content-01{
	width:100%;
	max-width:750px;
}
.l-feature-wrap .m-breadcrumbs{
	width:85.64102564102564vw;
	max-width:none;
}
.l-feature-wrap .calendar-index{
	width:96%;
}
.calendar-index:before{
	padding-top:8.75%;

}
.calendar-index p.image{
	width:23.944%;
	margin-bottom:7.043%;
}
.calendar-index p.image:before{
	padding-top:51.1765%;
}
.calendar-index ul li{
	width:33.3334%;
	margin-bottom:4.167%;
}
.calendar-index ul li a{
	width:87.5%;
}
.calendar-index ul li a:hover{
	opacity:1;
}

#calendar-wrap.calendar-top{
	width:100%;
}
#calendar-wrap.calendar-top:before{
	padding-top:5.334%;
}
#calendar-wrap.calendar-top .image{
	width:94.667%;
	margin:0 auto;
}
#calendar-wrap.calendar-top .calendar-index p.image{
	width:23.612%;
	margin-bottom:6.667%;
}
#calendar-wrap.calendar-top .txt{
	width:94.667%;
	margin:6.267% auto 3.334%;
}
#calendar-wrap.calendar-top .note{
	width:94.667%;
	margin:0 auto;
}
#calendar-wrap.calendar-top #official-btn{
	width:92%;
	margin:12% auto 0;
}
#calendar-wrap.calendar-top:after{
	padding-top:13.334%;
}

}