@charset "UTF-8";


.presentbox {
	display: flex;
	justify-content: center;
	background-color: #f05;
	position: relative;
	box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
	z-index: 1;
}

.presentbox .closebtn {
	display: none;
}

.presentbox .txt a {
	display: block;
	text-decoration: none;
	background-color: #f05;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	padding: .8em 0 1.2em;
	text-align: center;
	line-height: 1.6em;
	transition: .3s;
}

.presentbox .txt a:hover {
	text-decoration: none;
	color: #fff;
	/*
	background-color: #f03;
	*/
}

.presentbox .fuki {
	margin-top: 30px;
	margin-left: 10px;
}

.presentbox .fuki a:hover {
	transition: .3s;
	opacity: .7;
}

.presentbox span {
	display: block;
}

.presentbox strong {
	display: inline;
	font-size: 45px;
	background: linear-gradient(transparent 90%, #ff0 0%);
	padding-bottom: 5px;
}

.presentbox strong em {
	display: inline-block;
	font-style: normal;
	font-size: 65px;
	margin-left: .2em;
	font-family: "Roboto", sans-serif;
	transform: translateY(3px);
}

.presentbox strong small {
	display: inline-block;
	font-size: 40px;
	margin-right: .5em;
}


.fixpresent {
	transition: 1s;
}

.fixpresent .presentbox {
	box-shadow: 0 -5px 10px rgba(0, 0, 0, .3);
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	transition: .5s;
	z-index: 10;
}

.fixpresent.preclose .presentbox {
	bottom: -150px;
}

.fixpresent .presentbox .preclosebtn {
	display: block;
	position: absolute;
	right: 0;
	top: -40px;
	width: 100px;
	height: 40px;
	line-height: 40px;
	color: #fff;
	background-color: #f05;
	text-align: center;
	font-size: 30px;
	border-radius: 5px 5px 0 0;
	cursor: pointer;
}

.fixpresent .presentbox .preclosebtn span::before {
	content: "\f107";
	font-family: FontAwesome;
}

.fixpresent .presentbox .preclosebtn.active span::before {
	content: "\f106";
}

/*
.fottermargin {
	display: block;
	height: 180px;
}

.fottermargin.active {
	height: 30px;
}
*/

@media screen and (max-width: 767px) {
	.fixpresent.preclose .presentbox {
		bottom: -32vw;
	}

	.fottermargin {
		height: 45vw;
	}

	.fottermargin.active {
		height: 10vw;
	}

	.presentbox {
		flex-direction: column-reverse;
		padding-top: 5vw;
		padding-bottom: 5vw;
	}

	.presentbox .txt a {
		font-size: 5vw;
		padding: 5vw;
		padding-top: 0;
		padding-bottom: 3vw;
		margin-top: -7vw;
		line-height: 1.6em;
		text-align: left;
	}

	.presentbox .fuki {
		position: relative;
		text-align: right;
		margin-top: 0;
		margin-left: 0;
		margin-right: 5vw;
		z-index: 1;
	}

	.presentbox .fuki img {
		width: 40vw;
	}

	.presentbox strong {
		font-size: 8vw;
		line-height: 1.6em;
	}

	.presentbox strong em {
		font-size: 12vw;
		transform: translateY(1vw);
	}

	.presentbox strong small {
		font-size: 7vw;
		margin-right: 0;
	}


	.fixpresent .presentbox {
		padding-top: 3vw;
		padding-bottom: 3vw;
	}

	.fixpresent .presentbox .txt a {
		font-size: 3.6vw;
		padding: 5vw;
		padding-top: 0;
		padding-bottom: 2vw;
		margin-top: -12vw;
	}

	.fixpresent .presentbox .fuki {
		margin-right: 3vw;
	}

	.fixpresent .presentbox .fuki img {
		width: 35vw;
	}

	.fixpresent .presentbox strong {
		font-size: 5.5vw;
		line-height: 1.6em;
	}

	.fixpresent .presentbox strong em {
		font-size: 8vw;
		transform: translateY(.5vw);
	}

	.fixpresent .presentbox strong small {
		font-size: 4vw;
	}

	.fixpresent .presentbox strong .spblock {
		display: none !important;
	}
}