@charset 'utf-8';
@import url('https://fonts.googleapis.com/css2?family=Murecho:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

*:not(i){
	font-family: "Noto Sans JP", serif;
}
body{
	padding-bottom:3vh !important;
	background-color: #FFF9BB;
	background:url(img/bg.png) top right no-repeat #F3F1EB;
	background-size:contain;
	background-position:fixed;
}
a{
	text-decoration:none;
}

.container{
	text-align:center;
}

img[src="img/title.png"]{
	width:80%;
	margin:5vh auto 3vh auto;
}
.proviso{
	position:relative;
	text-align:center;
	font-size:90%;;
}

.top{
	position:relative;
}
.top img{
	position:absolute;
	left:80%;
	top:-50%;
	width:18%;
	z-index:999;
	margin-top:-15%;
}


.card{
	margin:3vh 0 5px 0;
	padding:25px;
	border:5px solid #000;
	border-radius:10px;
	background:url(img/bg_omochan.png) no-repeat top right #fff;
	background-size:50%;
}
a:hover .card{
	transform: scale(1.3);
	z-index:999;
}

h3{
	position:relative;
	margin:5vh 0 2vh 0;
	padding:10px 30px !important;
	border:5px solid #000;
	padding:10px;
	background-color:#FFF;
	font-weight:700;
	text-align:left;
}
h3 span{
	  background: linear-gradient(180deg, #fff 0%, #fff 50%, yellow 50%, yellow 100%);
}
h3 img[src="img/omoroi.png"]{
	position:absolute;
	width:200px;
	top:-20px;
	margin-left:20px;
	animation: dokidoki 1000ms ease infinite;
}
img[src="img/omochan.svg"]{
	position:absolute;
	top:-80px;
	left:5%;
	width:90px;
	animation: poyooon 1200ms linear 0s infinite;
}
h3:before{
	content:'■ ';
}

h4{
	margin-top:3vh;
	font-size:120%;
	font-weight:900;
	white-space:nowrap;
	text-align:center;
}

.copy{
	margin:-5vh 0 0 0;
	padding:5px;
	background-color:#fff;
	border:5px solid #000;
	text-align:center;
	font-size:105%;
	font-weight:600;
	white-space:nowrap;
	color:#fff;
	background-color:#008D6F;
}
a:hover .copy{
	background-color:yellow;
	color:#000;
}

.more{
	position:relative;
	margin-top:5vh;
	padding:10px;
	background-color:#fff;
	text-align:center;
	font-weight:900;
	font-size:300%;
	border-radius:20px;
}
.more span{
	position:absolute;
	margin-top:-3vh;
	text-align:center;
	font-weight:900;
	font-size:150%;
	opacity:0.2;
}

.footer{
	position:relative;
	margin-top:5vh;
	text-align:center;
	font-size:80%;
}


@keyframes poyooon {
	0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
	10%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
	40%  { transform: scale(1.2, 0.8) translate(0%, 15%); }
	50%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
	60%  { transform: scale(0.9, 1.2) translate(0%, -100%); }
	75%  { transform: scale(0.9, 1.2) translate(0%, -20%); }
	85%  { transform: scale(1.2, 0.8) translate(0%, 15%); }
	100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}
/* shivering */
@keyframes shivering {
	0%, 7% { transform: rotateZ(0); }
	15% { transform: rotateZ(-15deg); }
	20% { transform: rotateZ(10deg); }
	25% { transform: rotateZ(-10deg); }
	30% { transform: rotateZ(6deg); }
	35% { transform: rotateZ(-4deg); }
	40%, 100% { transform: rotateZ(0); }
}

@keyframes dokidoki {
	0%  { transform: scale(1); }
	15% { transform: scale(1.1); }
	30% { transform: scale(1); }
	45% { transform: scale(1.1); }
	70% { transform: scale(1); }
}

.sp{
	display:none;
}
















@media screen and (min-width:1200px) {
	
}
@media screen and (min-width:768px) {
	.top img{
		left:85%;
		margin-top:-30%;
	}
	.copy{
		font-size:75%;
	}
	.sp{
		display:block;
	}
}
@media screen and (max-width:767px) {
	.row{
		min-width:368px;
	}
	.copy{
		font-size:90%;
	}
	h3{
		font-size:100%;
	}
	img[src="img/omochan.svg"]{
		width:10%;
	}
	img[src="img/omoroi.png"]{
		width:130px;
		max-width:180px;
	}
	.top img{
		left:82%;
		margin-top:-35%;
	}
	.sp{
		display:block;
	}
}













.preparation{
	width:100%;
	height:100%;
	margin-top:25%;
	text-align:center;
}










/*モーダル本体の指定 + モーダル外側の背景の指定*/
.modal-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	box-sizing: border-box;
z-index:999;
}
/*モーダル本体の擬似要素の指定*/
.modal-container:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
/*モーダル本体に「active」クラス付与した時のスタイル*/
.modal-container.active{
	opacity: 1;
	visibility: visible;
}
/*モーダル枠の指定*/
.modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 90%;
	height:90%;
}
/*モーダルを閉じるボタンの指定*/
.modal-close{
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: -40px;
	right: -40px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #fff;
	cursor: pointer;
}
/*モーダル内のコンテンツの指定*/
.modal-content{
	height:100%;
	background: #fff;
	text-align: left;
	padding: 30px;
}
.modal-content iframe{
	width:100%;
	height:100%;
}