@charset "utf-8";

html,
body {
	overflow-x: hidden !important;
	/*overflow-y: scroll;*/
	-webkit-overflow-scrolling: touch;
}

body {
	background-color: #fff;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

/*~~*/

header .navi {
	display: flex;
	justify-content: center;
}

header .navi a {
	display: flex;
	align-items: center;
}

header .navi a:hover {
	color: #d81414;
}

header .navi a:hover > .icon {
	background: #d81414;
}

header .navi .icon {
	width: 30px;
	height: 30px;
	margin: 0 5px 0 15px;
	border-radius: 50%;
	background: #000;
	font-size: 16px;
	line-height: 30px;
	text-align: center;
	color: #fff;
}
footer .navi a,
header .navi li span.name{
	transform:rotateZ(0.03deg);
}

/*~~*/

/*~~*/

footer {
	margin-top: auto;
}

footer .navi a {
	display: flex;
	align-items: center;
}

footer .navi a:hover {
	color: #d81414;
}

footer .navi a:hover > .icon {
	background: #d81414;
}

footer .navi .icon {
	width: 30px;
	height: 30px;
	margin: 0 5px 0 15px;
	border-radius: 50%;
	background: #000;
	font-size: 16px;
	line-height: 30px;
	text-align: center;
	color: #fff;
}

footer .logo {
	margin-top: 30px;
	text-align: center;
}

footer .copy {
	margin-top: 30px;
	padding-top: 10px;
	text-align: center;
	border-top: 1px solid #666;
}

/**/

header .navi .icon-home,
footer .navi .icon-home {
	background: #666666;
}

header .navi .icon-tv,
footer .navi .icon-tv {
	background: #00a6e9;
}

header .navi .icon-gift,
footer .navi .icon-gift {
	background: #e52d8a;
}

header .navi .icon-share2,
footer .navi .icon-share2 {
	background: #fdb300;
}

header .navi .icon-mail3,
footer .navi .icon-mail3 {
	background: #49be2c;
}

/*
SP
*/
/*////////////////////////////////////////////////////////////////////////////*/
@media all and (max-width: 768px) {
	/*
	*/
	.wrap {
		padding: 0 15px;
	}

	header .navi .name {
		display: none;
	}

	footer {
		padding-top: 15px;
		background: #fff;
	}

	footer .navi li {
		padding: 15px 0;
		background: #b2b2b2;
	}

	footer .navi li:nth-of-type(even) {
		background: #878787;
	}

	/*
    */
}
/*////////////////////////////////////////////////////////////////////////////*/

/*
PC
*/
/*////////////////////////////////////////////////////////////////////////////*/
@media all and (min-width: 769px) {
	/*
    */
	.wrap {
		width: 65%;
		min-width: 1100px;
		margin: 0 auto;
	}

	footer {
		margin-bottom: 20px;
	}

	footer .navi {
		margin-top: 0px;
		padding: 10px 0;
		display: flex;
		justify-content: center;
		border-bottom: 2px solid #e1e1e1;
		background: linear-gradient(to bottom, #e1e1e1, #f5f5f5);
	}
	/*
    */
}
/*////////////////////////////////////////////////////////////////////////////*/
