@charset "UTF-8";

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	reset
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	font-size: 100%;
	font-weight: normal;
}

html {
	font-size: 62.5%;
}

body {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 0;
	color: #2D220C;
}

div {
	display: block;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

nav,
ul {
	list-style: none;
}

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
	color: #222222;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

* {
	box-sizing: border-box;
}

header,
body,
footer {
	max-width: 100vw;
}

@media only screen and (max-width: 768px) {
	body {
		font-size: 13px;
		font-size: 1.3rem;
	}
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	base
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
.wrap {
	overflow: hidden;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb24 {
	margin-bottom: 24px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

br.pc {
	display: block !important;
}

br.tab {
	display: none !important;
}

br.sp {
	display: none !important;
}

.sp__only {
	display: none !important;
}

.effect__fade {
	opacity: 0;
	transition: all 1.5s;
}

.effect__fade.effect__scroll {
	opacity: 1;
}

.flash:hover {
	opacity: 1;
	-webkit-animation-duration: 1s;
	-webkit-animation-name: flash;
	animation-duration: 1s;
	animation-name: flash;
}

@keyframes flash {
	0% {
		opacity: 0.3;
	}

	100% {
		opacity: 1;
	}
}

.move img {
	animation: move 3s infinite;
}

@keyframes move {
    72% {
        transform: translate(0px, 0px);
    }
	76% {
        transform: translate(4px, 0px);
    }
    80% {
        transform: translate(-4px, 0px);
    }
    84% {
        transform: translate(4px, 0px);
    }
    88% {
        transform: translate(-4px, 0px);
    }
    92% {
        transform: translate(4px, 0px);
    }
    96% {
        transform: translate(-4px, 0px);
    }
    100% {
        transform: translate(0px, 0px);
    }
}

@media only screen and (max-width: 1024px) {
	.mb24 {
		margin-bottom: 21.6px !important;
	}

	br.pc {
		display: none !important;
	}

	br.tab {
		display: block !important;
	}

	br.sp {
		display: none !important;
	}
}

@media only screen and (max-width: 768px) {
	.mb24 {
		margin-bottom: 16.8px !important;
	}

	br.pc {
		display: none !important;
	}

	br.tab {
		display: none !important;
	}

	br.sp {
		display: block !important;
	}

	.pc__only {
		display: none !important;
	}

	.sp__only {
		display: block !important;
	}
}