@charset "utf-8";
/* CSS Document */
body{
font-family: "Noto Sans JP", sans-serif;
  padding: 0;
  margin: 0;
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}


a {
  text-decoration: none;
  transition: 0.3s;
	cursor:pointer;
}



p {
  line-height: 1.4;
}

img{
	width: 100%;
}

.pc_only {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
}

.sp_only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }
}


.logo {
	position: absolute;
	z-index: 2;
	width: 80px;
	left: 10px;
	top: 10px;
}

@media screen and (max-width: 767px) {
	.logo {
		width:60px;
	}
}


.fnt1{
	font-family: "Zen Maru Gothic", sans-serif;
}


/*************FV***********/

#fv{
background: #C7E8FA;
background: linear-gradient(180deg,rgba(199, 232, 250, 1) 32%, rgba(255, 255, 255, 0) 65%);
	padding-top: 5px;
	padding-bottom: 1.2em;
}

.fv-wrap{

	width: 100%;	
	position: relative;
}



.fv-img{
	max-width: 65%;
	margin: 0 auto;
	position: relative;

}

.fv-copy{
	width: 20%;
	position: absolute;
	right: 5px;
	top: 1%;
}


.fv-neonleft,.fv-neonright,.fv-awa1,.fv-awa2,.fv-awa3,.fv-awa4,.fv-awa5,.fv-awa6{
	position: absolute;
}


.fv-neonleft{
	max-width: 15%;
	left: 0%;
	bottom:16%;
}

.fv-neonright{
	max-width: 15%;
	right: 0%;
	top: 5%;
}

/***awa****/

.fv-awa1{
	max-width:5%;
	left: 10%;
	top: 10%;	
}

.fv-awa2{
	max-width:7%;
	left: 6%;
	top: 20%;	
}

.fv-awa3{
	max-width:5%;
    left: 9%;
    bottom: 0%;	
}



.fv-awa4{
    max-width: 6%;
    right: 7%;
    bottom: 35%;	
}

.fv-awa5{
    max-width: 5%;
    right: 4%;
    bottom: 23%;	
}

.fv-awa6{
    max-width: 9%;
    right: 5%;
    bottom: 0%;
}


.fv-halfcircle{
	position: relative;
}

.day{
	position: absolute;
	max-width: 45%;
	top: 0%;
    left: 50%;
    transform: translateX(-50%);	
}


/********gradation　bk*********/

.grdtn-bk{
background: #BBE6FF;
background: linear-gradient(187deg,rgba(187, 230, 255, 1) 0%, rgba(210, 236, 227, 1) 60%, rgba(255, 249, 170, 1) 100%);
	padding-bottom: 5em;
}



/************navi*************/
#navi{
	margin-top: 5em;
}


.navList{
	max-width: 980px;
	margin: 0 auto;
	display: flex;
    justify-content: center;
}

.navItem{
background: #FFADD1;
background: radial-gradient(circle,rgba(255, 173, 209, 1) 0%, rgba(255, 173, 209, 1) 58%, rgba(232, 125, 173, 1) 72%);

	padding: 5px;
	border: solid 3px #fff;
	width: 250px;
    height: 250px;

    border-radius: 50%;
    position: relative;
	margin: 0 0.5em;
	 box-shadow: 3px 3px 4px 0px rgba(170, 48, 124, 0.34);
	
}

.navItem p{
	    position: absolute;
    left: 50%;
    transform: translateY(90%) translateX(-50%);
	text-align: center;
	font-size:1.9em;
	font-weight: 900;
	color: #fff;
	line-height: 1em;
	    width: 100%;
}

.navItem:hover{
	box-shadow: unset;
	transition: 1.0s;
}



.navItem::before {
	content: "";
    position: absolute;
    background:url("../img/link-icon.png") no-repeat;
    background-position: center;
	background-size: contain;
       width: 89px;
    height: 86px;
    right: 2%;
    top: -5%;
  opacity: 0;
  transition: opacity 0.3s;

}
.navItem:hover::before,
.navItem.is-appear::before {
  opacity: 1;
}





/********************stamp-con***********************/

#stamp-wrap{
	margin-top: 18em;
	background-image: url("../img/star-bk.png");
	background-repeat: repeat-y;
	background-position: top center;
	background-size: contain;
    padding-left: 10px;
    padding-right: 10px;	
	position: relative;
}


.nijiBox1 {
    position: absolute;
    right: 0%;
    top: 50%;
}

.niji {
    max-width: 490px;
	width: 100%;
    margin: 0 0 0 auto;
	position: relative;
}

.niji-awa1,.niji-awa2{
	position: absolute;
}

.niji-awa1{
	max-width:23%;
    right: 17%;
    top: -3%;

}

.niji-awa2{
	max-width:15%;
    right: 29%;
    top: -15%;

}


.nijiBox2 {
    position: absolute;
    left: 0%;
    bottom: 10%;
}

.nijiBox2 .niji {
    max-width: 490px;
	width: 100%;
    margin: 0 auto 0 0;
	position: relative;
}

.nijiBox2 .niji-awa1{
	max-width: 23%;
    left: 21%;
    top: -13%;

}

.nijiBox2 .niji-awa2{
	max-width:15%;
	left: 30%;
    top: -2%;

}




.bubble-bk{
	max-width: 1100px;
	margin: 0 auto;
	width: 100%;
	line-height: 0;
}

.stamp-inner{
	max-width: 1100px;
	margin: 0 auto;
	width: 100%;
	background-color: #fff;
	border-radius: 0 0 28px 28px;
	position: relative;
	padding: 3em 10px;
}

.stamp-con{
	max-width: 60%;
	margin: 0 auto;
    position: absolute;
transform: translateY(-75%) translateX(32%);
	
}

/*
#stamp-ttl-wrap{
	position: relative;

}
*/

#stamp-con .fv-awa1{
    max-width: 14%;
    left: -14%;
    top: 66%;
    bottom: unset;
	
}

#stamp-con .fv-awa2{
    max-width: 10%;
    left: -11%;
    top: 50%;
    bottom: unset;
	
}

#stamp-con .fv-awa3{
	max-width: 10%;
    right: -9%;
    top: 41%;
    bottom: unset;
    left: unset;	
}

#stamp-con .fv-awa4{
    max-width: 16%;
    right: -4%;
    top: 14%;
    bottom: unset;
	
}

@media screen and (max-width: 767px){
	.sp-none{
		display: none;
	}
}

.stamp-con-inner{
	margin-top: 6em;
}


.cp-day{
    text-align: center;
    background-color: #F06CAA;
    padding: 10px 20px;
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
    display: table;
    /* margin: 0 auto; */
    /* text-align: center; */
    max-width: 50%;
    margin: 1em auto;
    font-size: 1.2em;	
}


.stamp-ttlCopy{
	text-align: center;
	font-size: 1.5em;
	font-weight: bold;
	color: #1BBEEF;
	line-height: 2.3em;
/*    text-decoration: underline dashed #FF96D5;*/
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-color: #FF96D5;	
    text-underline-offset: 13px;
    text-decoration-thickness: 3px;
}

.linefrends{
	background-color: #40EB39;
	padding: 0 5px;
	color: #fff;
}


.stamprally-box{
	display: flex;
	justify-content: center;
	max-width: 1000px;
	margin: 0 auto;
	align-items: center;
}


.stamprally-img{
	position: relative;
}

.item-copy{
	position: absolute;
	width: 15%;
    right: 12%;
    bottom: 5%;
}

.img-notice{
	text-align: center;
    position: absolute;
    left: 50%;
    bottom: 0%;
    transform: translateX(-50%);
	color: #3F3F3F;
	font-size: 0.9em;
	font-weight: bold;
}


/****************stamp-entry step****************/
.stamp-step_wrap{
    max-width: 980px;
    margin: 0 auto;
    background-color: #CAEAED;
    background-image: url(../img/white-line.png);
    background-repeat: repeat-y;
    background-size: contain;
    background-position: top center;
    margin-top: 7em;
    position: relative;
    padding: 3em 10px;
}


.stamp-entry_ttl{
    position: absolute;

    left: 50%;
transform: translateY(-120%) translateX(-50%);
    text-align: center;
    background-color: #F54D9F;
    padding: 10px 0px;
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
    display: table;
    /* margin: 0 auto; */
    /* text-align: center; */
    width: 46%;
    /* margin: 1em auto; */
    font-size: 1.8em;

}

.stamp-entry_ttl::after{
	position: absolute;
	content: "";
	background: url("../img/step-star.png") no-repeat;
	background-size: contain;
	right: -4%;
    top: -40%;
    width: 15%;
    height: 165%;	
}

.stamp-entry_copy{
	text-align: center;
	color: #FF0881;
	font-size: 1.1em;
	font-weight: bold;
	margin-top: 1em;
}


.stamp-step_inner{
	padding-bottom: 20em;
	max-width: 780px;
	margin: 0 auto;
	border: solid #6DC8F2 13px;
	background-color: #fff;
	padding: 1em;
	margin-top: 2em;
}

.step-list{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.step-box{
	width: calc((100% - 30px) / 2);
	padding: 5px;
}

.step-box p{
	text-align: center;
	font-size: 1em;
	color: #3F3F3F;
	font-weight: bold;
}


/****************stamp entry 詳細*********************/
.stampcampaign-entry_ttl{
	max-width: 57%;
	margin: 0 auto;
	width: 100%;
	margin-top: 3em;
}


/*********accordion**********/

.bubble-container {
  position: relative;
  max-width: 1000px;
  margin: 5% auto;
  background: #FFF1F6;
  border: solid 3px #A499C9;
  box-sizing: border-box;
margin-top: 1em;	
}

.bubble-container:before {
  content: "";
  position: absolute;
  top: -23px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #FFF1F6;
  z-index: 2;
}

.bubble-container:after {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 14px solid #A499C9;
  z-index: 1;
}

.bubble-text {
  position: relative;
  display: inline-block;
  margin: 1.5em 0;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #555;
  font-size: 16px;
  max-height: 250px;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .bubble-text {
    font-size: 14px;
  }
}

.bubble-text:before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #FFF;
  z-index: 2;
}

.bubble-text:after {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 14px solid #555;
  z-index: 1;
}

.bubble-container.expanded .bubble-text {
  max-height: fit-content;
  padding-bottom: 10%;
}

.fade-btn-area {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  pointer-events: none;
}

.toggle-btn {
  position: relative;
  z-index: 2;
  margin-top: 8px;
  margin-bottom: 8px;
  padding: 6px 50px;
  border: none;
  background-color: #A499C9;
  color: #fff;
  border-radius: 100px;
  cursor: pointer;
  font-size: 18px;
  pointer-events: auto;
}

@media screen and (max-width: 767px) {
  .toggle-btn {
    font-size: 14px;
  }
}


.fade-gradation {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 50px;
background: #FFF;
background: linear-gradient(180deg,rgba(255, 255, 255, 0) 10%, rgba(255, 241, 246, 1) 77%);
  z-index: 1;
  pointer-events: none;
}



.bubble-container.expanded .fade-gradation {
  display: none;
}

.bubble-container:not(.show-toggle) .fade-btn-area {
  display: none;
}



/*************line*****************/

.line-icon{
	max-width: 8%;
    margin: 0 auto;
    width: 100%;
    margin-top: 4em;
}

.line-ttl{
	max-width: 53%;
    margin: 0 auto;
    width: 100%;
    margin-top: 0.5em;	
}

.line-qrBox{
	background-color: #DCFFDB;
	max-width: 760px;
	margin: 0 auto;
	border-radius: 20px;
	padding: 2.2em 20px;
}

.line-qr_ttl{
	color: #523E06;
	text-align: center;
	font-size: 1.4em;
	font-weight: bold;
}


.qr-img{
    max-width: 38%;
    margin: 0 auto;
    width: 100%;
    margin-top: 1.3em;	
}

.qr-txt{
	color: #523E06;
	text-align: center;
	font-size: 1.1em;
	font-weight: bold;	
	margin-top: 1.3em;
}


.stampcard-ttl{
	max-width: 45%;
    margin: 0 auto;
    width: 100%;
    margin-top: 2em;	
}

.stampcard-btn{
    text-align: center;
    background-color: #6DC8F2;
    padding: 15px 8%;
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
    display: table;

 
    margin: 0 auto;
    font-size: 1.5em;
	position: relative;
}

.stampcard-btn::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 5%;

   width: 12px;
    height: 12px;

  border-top: 3px solid #fff;
  border-right: 3px solid #fff;

  transform: translateY(-50%) rotate(45deg);
}


.contact-wrap{
	background-color: #FFFFDB;
	max-width: 760px;
	margin: 0 auto;
	border-radius: 20px;
	padding: 2.2em 20px;
	margin-top: 2em;
}

.contact-wrap p{
	color: #177DAC;
	text-align: center;
	font-weight: bold;
}

.contact-wrap .bold-txt{
	font-size: 1.4em;
}
.contact-wrap .free-dial-icon{
	font-size: 0.9em;
    background-color: #177DAC;
    padding: 5px 2%;
    border-radius: 50px;
    color: #fff;
    font-weight: bold;
    display: table;

 
    margin: 1em auto 0px auto;	
}

.contact-wrap .free-dial{
	font-size: 2.2em;
}

.contact-wrap .small-txt{
	font-size: 1em;
	font-weight: 500;
}


/******************workshop******************/
#workshop_bk{
	background: #EF93BB;
background: linear-gradient(180deg,rgba(239, 147, 187, 1) 0%, rgba(247, 200, 190, 1) 56%, rgba(255, 250, 192, 1) 100%);
	
}

.workshop_texture{
	background-image: url("../img/workshop_texture.png");
	background-repeat: repeat;
	background-position: top center;
	background-size:inherit;
	padding-bottom: 6em;
	position: relative;
}

.lace-left,.lace-right,.stone-line1,.stone-line2,.smile1,.kirakira1,.smile2,.kirakira2{
	position: absolute;
}


.lace-left{
	max-width: 30%;
	left: 0%;
	top: 0%;
}

.lace-right{
	max-width: 30%;
	right: 0%;
	top: 0%;
}

.stone-line1{
	max-width: 3%;
	right: 2%;
	top: 40%;	
}

.stone-line2{
	max-width: 3%;
	left: 2%;
	bottom: 7%;	
}

.smile1{
	max-width: 8%;
	left: 5%;
	top: 38%;
}

.kirakira1{
	max-width: 7%;
	left: 6%;
	top: 47%;
}

.smile2{
	max-width: 8%;
	right: 7%;
	bottom: 8%;
}

.kirakira2{
	max-width: 7%;
	right: 3%;
	bottom: 14%;
}



.workshop_wrap{
	padding-left: 10px;
	padding-right: 10px;
	position: relative;
	z-index: 10;
	padding-top: 1em;
}


.workshop-ttl{
	max-width: 44%;
	margin: 0 auto;
	width: 100%;
	position: relative;
}


.workshop-icon1,.workshop-icon2,.workshop-icon3,.workshop-icon4{
	position: absolute;
}

.workshop-icon1{
    max-width: 20%;
    left: -7%;
    bottom: 2%;
}

.workshop-icon2{
max-width: 4%;
    left: 12%;
    bottom: 2%;
    transform: rotate(-30deg);
}

.workshop-icon3{
max-width: 6%;
    right: 1%;
    top: 27%;
}

.workshop-icon4{
    max-width: 17%;
    right: -4%;
    bottom: 3%;
}

.workshop-info{
	background-color: #fff;
	max-width: 980px;
	padding: 2em 0;
	border-radius: 28px;
	margin: 0 auto;
	margin-top: 1em;
	position: relative;
}

.pink-txt{
	background-color: #FCE9F1;
	text-align: center;
	padding: 10px;
	margin-bottom: 5px;
}

.yellow-txt{
	background-color: #FFFDDF;
	text-align: center;
	padding: 10px;
		margin-bottom: 5px;
}

.bule-txt{
	background-color:#CCF1FC;
	text-align: left;
	padding: 10px;
}

.pink-txt p{

	font-size: 1.2em;
	color: #E7217D;
	font-weight: bold;
}

.yellow-txt p{

	font-size: 1.2em;
	color: #E7217D;
	font-weight: bold;	
}

.bule-txt p{
	width: 50%;
    margin: 0 auto;
	color: #552D00;
	font-weight: 500;	
}

.phone{
    position: absolute;
    max-width: 16%;
    right: 0%;
    bottom: -42%;
}

/***************schedule-wrap****************/
.schedule-wrap{
	max-width: 1000px;
	margin: 0 auto;
	background-color: #fff;
	border: solid #EB7587 5px;
	margin-top: 6em;
	padding: 2em 10px;
}

.schedule-ttlBox{
	    display: flex;
    justify-content: center;
	align-items: center;
	margin-bottom: 2em;
}


.schedule-ttl{
	text-align: center;
	font-size: 1.6em;
	font-weight: 900;
	color: #EB7587;
	    display: contents;
	margin: 0 auto;
	line-height: 0;

}

.stone1{
	    max-width: 36px;
	padding: 0 2px;
}


.schedule-inner{
	display: flex;
	justify-content: space-between;
	border-bottom: solid #EB7587 2px;
	padding-bottom: 10px;
	max-width: 800px;
	margin: 0 auto;
	margin-bottom: 2em;

}

.schedule-target{
	text-align: left;
	font-size: 1.2em;
	font-weight: bold;
	color: #1C1D1C;
}


.target_info{
	font-size: 1em;
    background-color:#A499C9;
    padding: 5px 4% 5px 3%;
    border-radius: 10px;
    color: #fff;
    font-weight: bold;
    display: table;	
	position: relative;
}


.target_info::after{
  content: "";
  position: absolute;
  top: 50%;
  right: 5%;

   width: 8px;
    height: 8px;

  border-top: 3px solid #fff;
  border-right: 3px solid #fff;

  transform: translateY(-50%) rotate(45deg);
}


.workshop-notice{
	text-align: center;
	font-size: 0.95em;
	color: #3E3E3E;
	font-weight: 600;
	margin-top: 2em;
}

/***************イベントリンク削除***************/
.end-event{
	background-color: #5D5D5D;
	    pointer-events: none;
}

.end-event::after{
	display: none;
}



/***************************SP**********************************/
@media screen and (max-width: 1260px){
	#stamp-wrap{
		    background-image: unset;
	}
	.nijiBox1,.nijiBox2{
		display: none;
	}
	
	.workshop-ttl{
		max-width: 65%;
	}
	
	.stone-line1,.stone-line2,.smile1,.smile2,.kirakira1,.kirakira2{
		display: none;
	}
	
	
	
}

@media screen and (max-width: 880px){
	.stamp-entry_ttl{
		font-size: 1.6em;
		    width: 50%;
	}
}


@media screen and (max-width: 768px){
	.fv-img{
		max-width: 100%;
		margin-top: -15px;
	}
	
	#fv .fv-neonleft,#fv .fv-neonright,#fv .fv-awa1,#fv .fv-awa2,#fv .fv-awa3,#fv .fv-awa4,#fv .fv-awa5,#fv .fv-awa6{
		display: none;
	}
	
	.day{
		    max-width: 73%;
		    left: 14%;
		    transform:unset;
	}
	
	#navi {
		margin-top: 1em;
	}	
	
	.navItem{
		width: 200px;
		height: 200px;
	}
	
	.navItem p{
		    font-size: 1.4em;
	}
	
	.stamp-con{
		    max-width: 74%;
		transform: translateY(-75%) translateX(16%);
	}
	
    #stamp-con .fv-awa1 {
        max-width: 16%;
        left: -11%;
        top: 73%;
        bottom: unset;
    }
	
	.cp-day{
		max-width: 100%;
		    padding: 10px 40px;
	}
		.stamp-con-inner {
		margin-top: 6em;
	}
	
	.stamp-ttlCopy{
		    font-size: 1.1em;
	}
	
    .stamprally-box {
        display: block;
        margin-top: 3em;
        width: 85%;
    }
	
	.stamp-entry_ttl{
		width: 85%;
	}
	
	.stamp-step_inner{
		border: solid #6DC8F2 6px;
		    padding: 0.5em 5px 2em 5px;
	}
	
	.step-box p{
		    font-size: 0.7em;
	}
	.step-list{
		    justify-content: space-around;
	}
	
	
	.stamp-step_wrap{
		position: relative;
		
	}
	
	.sp-star1 {
        position: absolute;
        max-width: 23%;
        right: 0%;
        bottom: -8%;
    }
	
	.stampcampaign-entry_ttl{
		max-width: 75%;
	}
	
	.sp-star2{
		position: absolute;
        max-width: 29%;
        left: 0%;
        bottom: -24%;
        z-index: 0;		
	}
	
	
	.line-icon{
		    max-width: 12%;
		       
	}
	
	.line-ttl{
		    max-width: 72%; 
		        position: relative;

	}
	.qr-txt{
		margin-top: 0;
	}
	
	.line-link{
        text-align: center;
        background-color: #0CD109;
        padding: 10px 19%;
        border-radius: 20px;
        color: #fff;
        font-weight: bold;
        display: table;
        margin: 0 auto;
        font-size: 1.1em;
        position: relative;
		margin-top: 0.5em;
	}
	
.line-link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5%;
    width: 12px;
    height: 12px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}	
	
	
	.line-link-wrap{
		position: relative;
	}
	
	.sp-star3{
		position: absolute;
        max-width: 29%;
        left: 0%;
           top: -4%;
        z-index: 0;		
	}
	
	.stampcard-ttl{
		max-width: 57%;
	}
	
	.stampcard-btn{
		font-size: 1.1em;
		    padding: 15px 12%;
	}
	
	.contact-wrap{
		    padding: 1.5em 20px;
		position: relative;
	}
		
	.contact-wrap .bold-txt {
		font-size: 1.1em;
	}
	
	.contact-wrap .free-dial-icon{
		    font-size: 0.75em;
	}
	
	.contact-wrap .free-dial {
		font-size: 2em;
	}
	.contact-wrap .small-txt{
		font-size: 0.85em;
	}
	
	
    .contact-wrap .sp-star1 {
        position: absolute;
        max-width: 35%;
        right: -1%;
        bottom: -49%;
    }
	
	.lace-left,.lace-right {
    max-width: 40%;
}
	
	.workshop-ttl{
		    margin-top: 4em;
		    max-width: 97%;
	}
	
	.workshop-icon3 {
		max-width: 5%;
		right: 22%;
		top: 27%;
	}	
	
	.workshop-icon2{
		max-width: 4%;
		left: 17%;
		bottom: 2%;
		transform: rotate(-30deg);		
	}
	
	.workshop-icon1 {
		max-width: 18%;
		left: -3%;
		bottom: -5%;
	}
	
	.workshop-icon4 {
		max-width: 15%;
		right: -2%;
		bottom: unset;
		top: 23%;
	}	
	
	.bule-txt p{
		width: 58%;
	}
	
.phone {
    position: absolute;
    max-width: 20%;
    right: 0%;
    bottom: -27%;
}	
	
/*
	.schedule-target{
		    font-size: 1em;
	}
	.target_info{
		font-size: 0.8em;
		padding-left: 2%;
	}
	.target_info::after{
		    width: 5px;
    	height: 5px;
	}
*/
	
	.schedule-inner{
		display: block;
	}
	
    .schedule-target {
        font-size: 1.2em;
        text-align: center;
    }
	
	.target_info{
		    padding: 5px 6% 5px 6%;
		    margin: 0 auto;
    	margin-top: 0.5em;
	}
	.target_info::after{
		    width: 5px;
    	height: 5px;
	}	
	
}


/*
@media screen and (max-width: 550px){
	.schedule-inner{
		display: block;
	}
	
    .schedule-target {
        font-size: 1.1em;
        text-align: center;
    }	
}
*/






@media screen and (max-width: 500px){
	.phone{
		        bottom: -17%;
	}
	
	.schedule-ttl{
		    font-size: 1.3em;
	}
	.stone1{
		 max-width: 30px;
	}
	
	.schedule-wrap{
		    margin-top: 4em;
	}
}


@media screen and (max-width: 455px){
    .navItem {
        width: 125px;
        height: 125px;
    }
    .navItem p {
        font-size: 1.05em;
		transform: translateY(65%) translateX(-50%);
    }	
	
	.navItem::before{
		width: 33px;
    	height: 70px;
		right: -4%;
	}
	
    .stamp-con {
        max-width: 87%;
        transform: translateY(-75%) translateX(6%);
    }
	
	#stamp-wrap{
		    margin-top: 12em;
	}
	
    #stamp-con .fv-awa1 {
        max-width: 16%;
        left: -5%;
        top: 85%;
        bottom: unset;
    }	
	
	#stamp-con .fv-awa2 {
		max-width: 10%;
		left: -7%;
		top: 77%;
		bottom: unset;
	}
	
	#stamp-con .fv-awa4{
		 max-width: 17%;
		right: -3%;
		top: 14%;
		bottom: unset;
	}
	
	#stamp-con .fv-awa3 {
		max-width: 10%;
		right: -6%;
		top: 33%;
		bottom: unset;
		left: unset;
	}
	
	.cp-day{
		    font-size: 1em;
		        padding: 10px 25px;
	}
	
	.stamp-con-inner {
 		   margin-top: 4em;
	}
	
	    .stamp-ttlCopy {
        font-size: 0.9em;
        line-height: 3em;
			text-decoration-thickness: 2px;
    }
	.stamprally-box{
		        width: 100%;
	}
	
	.stamp-entry_ttl{
		        font-size: 1.2em;
		transform: translateY(-145%) translateX(-50%);
	}
	
	.stamp-entry_copy{
		    font-size: 0.8em;
		margin-top: 0;
	}
	
	.step-box{
		padding: unset;
	}    
	
	.step-box p {
        font-size: 0.6em;
    }
	
	.stamp-step_inner{
		    margin-top: 1em;
	}
	
		.sp-star1 {
        position: absolute;
        max-width: 30%;
        right: 0%;
        bottom: -10%;
    
    }
	
    .stampcampaign-entry_ttl {
        max-width: 100%;
    }	
	
	    .line-icon {
        max-width: 15%;
    }
	
	.line-ttl {
        max-width: 90%;
    }
	
	
	.stampcard-ttl {
        max-width: 80%;
    }
	
	.workshop-ttl{
		        margin-top: 3em;
	}
	
	.pink-txt p{
		font-size: 1em;
	}
	
	.yellow-txt p{
		font-size: 1em;
	}
	
	.bule-txt p{
		    font-size: 0.9em;
		    text-align: center;
		width: 100%;
	}
	
	.phone{
		bottom: -21%;
		        max-width: 23%;
	}
	
	.fv-copy{
		top: -1%;
	}
	
		.day-sp{
		font-size: 0.8em;
	}
	
	
}


@media screen and (max-width: 380px){
	.stamp-ttlCopy{
		        font-size: 1em;
	}
	
	.phone{
		        max-width: 23%;
	}
}


@media screen and (max-width: 376px){
		.day-sp{
		font-size: 0.8em;
	}
}

















/************************Animation********************************/
/* ===============================
   初期状態（止めておく）
=============================== */
.fv-awa1,
.fv-awa2,
.fv-awa3,
.fv-awa4,
.fv-awa5,
.fv-awa6,
.niji-awa1,
.niji-awa2{
  opacity: 0;
  transform: translateY(40px);
}

/* 発火したらアニメーション */
.is-active{
  animation: fadeUp 0.8s ease forwards;
}

/* 順番 */
.fv-awa1.is-active { animation-delay: 0s; }
.fv-awa2.is-active { animation-delay: 0.2s; }
.fv-awa3.is-active { animation-delay: 0.4s; }
.fv-awa4.is-active { animation-delay: 0.6s; }
.fv-awa5.is-active { animation-delay: 0.8s; }
.fv-awa6.is-active { animation-delay: 1s; }
.niji-awa1.is-active { animation-delay: 0.4s; }
.niji-awa2.is-active { animation-delay: 0.8s; }

/* ===============================
   浮遊（子）
=============================== */
.fv-awa1 img,
.fv-awa2 img,
.fv-awa3 img,
.fv-awa4 img,
.fv-awa5 img,
.fv-awa6 img,
.niji-awa1 img,
.niji-awa2 img{
  display: block;
  animation: floatRandom ease-in-out infinite;
 animation-play-state: paused; /*  ←止める */
  filter: blur(0.5px);
}

/* 発火したら動く */
.is-active img{
  animation-play-state: running;
}

/* 遅延 */
.fv-awa1 img { animation-delay: 0.8s; }
.fv-awa2 img { animation-delay: 1s; }
.fv-awa3 img { animation-delay: 1.2s; }
.fv-awa4 img { animation-delay: 1.4s; }
.fv-awa5 img { animation-delay: 1.6s; }
.fv-awa6 img { animation-delay: 1.8s; }
.niji-awa1 img { animation-delay: 1.2s; }
.niji-awa2 img { animation-delay: 1.6s; }

/* スピード */
.fv-awa1 img { animation-duration: 6s; }
.fv-awa2 img { animation-duration: 7s; }
.fv-awa3 img { animation-duration: 6.5s; }
.fv-awa4 img { animation-duration: 7.5s; }
.fv-awa5 img { animation-duration: 6.8s; }
.fv-awa6 img { animation-duration: 8s; }
.niji-awa1 img { animation-duration: 6.5s; }
.niji-awa2 img { animation-duration: 6.8s; }

/* ===============================
   アニメーション
=============================== */
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes floatRandom {
  0%   { transform: translate(0, 0px) scale(1); }
  25%  { transform: translate(2px, -12px) scale(1.01); }
  50%  { transform: translate(-2px, -22px) scale(0.99); }
  75%  { transform: translate(3px, -10px) scale(1.01); }
  100% { transform: translate(0, 0px) scale(1); }
}







.img-reveal {

  /* 最初は中央だけ表示 */
  clip-path: inset(0 50% 0 50%);
  opacity: 0;

  animation: revealCenter 1s ease forwards;
}

@keyframes revealCenter {
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
  }
}



/*マーカー*/
.marker {
	background: linear-gradient(transparent 70%, #FFDC4E 30%);
	display: inline;
	background-repeat: no-repeat;
	background-size: 0% 100%;
	transition: background-size 1.5s;
}

.marker.on {
	background-size: 100% 100%;
}

@media screen and (max-width: 768px) {
	.marker {
		background: linear-gradient(transparent 75%, #FFDC4E 25%);
	}
}



/*スクロールアップ*/
.scroll_up.on {
    transform: translateY(0);
    opacity: 1.0;
}

.scroll_up {
    transition: 0.8s ease-in-out;
    transform: translateY(30px);
    opacity: 0;
}



/*********揺れ*********/
.shake {
  display: inline-block;
  transform-origin: bottom center;
  animation: swingSmooth 1.2s ease-in-out infinite;
}

@keyframes swingSmooth {
  0%   { transform: rotate(-15deg); }
  50%  { transform: rotate(15deg); }
  100% { transform: rotate(-15deg); }
}




.fade-loop {
  animation: fadeLoop 3s ease-in-out infinite;
}

@keyframes fadeLoop {
  0% { opacity: 0; }
  30% { opacity: 1; }
  70% { opacity: 1; }
  100% { opacity: 0; }
}


.vibration {
  display: inline-block;
  animation: vibrationPause 2s infinite;
}

@keyframes vibrationPause {
  /* ▼ バイブ部分（0%〜30%だけ動く） */
  0%   { transform: translate(0, 0); }
  5%   { transform: translate(-3px, 2px); }
  10%  { transform: translate(3px, -2px); }
  15%  { transform: translate(-2px, 1px); }
  20%  { transform: translate(2px, -1px); }
  25%  { transform: translate(-1px, 1px); }
  30%  { transform: translate(0, 0); }

  /* ▼ ここから停止（間） */
  30%, 100% {
    transform: translate(0, 0);
  }
}


/************talk icon************/
.grow-up {
  opacity: 0;
  transform: translateY(60px) scaleY(0.2);
  transform-origin: bottom;
}

/* 発火用クラス */
.grow-up.is-active {
  animation: growUp 0.9s cubic-bezier(0.25, 1.5, 0.5, 1) forwards;
}

@keyframes growUp {
  0% {
    opacity: 0;
    transform: translateY(60px) scaleY(0.2);
  }
  50% {
    opacity: 1;
    transform: translateY(0) scaleY(1.15);
  }
  70% {
    transform: scaleY(0.95);
  }
  100% {
    transform: scaleY(1);
    opacity: 1;
  }
}