@charset "UTF-8";

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline
}

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

html {
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%
}

body {
	line-height: 1
}

main {
	display: block
}

ol,
ul {
	list-style: none
}

a {
	text-decoration: none;
	color: #000
}

blockquote,
q {
	quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
	content: '';
	content: none
}

code,
kbd,
samp {
	font-size: 1em
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

caption,
th {
	text-align: left
}

button,
input,
select,
textarea {
	margin: 0;
	padding: 0;
	background: 0 0;
	border: 1px solid #000;
	border-radius: 0;
	outline: 0
}

button {
	color: inherit;
	cursor: pointer;
	font: inherit;
	line-height: inherit
}

button:disabled {
	cursor: default
}

textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: 16px;
	min-height: 2em;
	overflow: auto
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 3px 5px
}

select::-ms-expand {
	display: none
}

body {
	font-family: Asap, "Zen Kaku Gothic New", tbchibirgothicplusk-pro, "Noto Sans JP", Roboto, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 16px
}

*,
::after,
::before {
	-webkit-box-sizing: border-box;
	box-sizing: border-box
}

.selectWrap {
	position: relative;
	display: inline-block
}

.selectWrap select {
	height: 27px;
	background: 0 0;
	position: relative;
	z-index: 1;
	padding-right: 15px
}

.selectWrap::before {
	content: '';
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	background: #fff;
	height: 100%;
	width: 30px
}

.selectWrap::after {
	content: '';
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 6px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 4px 0 4px;
	border-color: #000 transparent transparent transparent
}

html {
	font-size: 62.5%;
	font-weight: 400
}

body {
	font-size: 1.6em;
	line-height: 1.9em
}

@media screen and (max-width:959px) {
	body {
		font-size: 1.6em
	}
}

p {
	text-align: left;
	font-size: 1.6rem;
	color: #333;
	line-height: 2.5
}

@media screen and (max-width:599px) {
	p {
		font-size: 1.4rem;
		line-height: 2
	}
}

a {
	text-decoration: none;
	color: #000;
	display: block
}

@media screen and (min-width:960px) {
	a {
		display: inline-block;
		-webkit-transition: all .4s;
		transition: all .4s
	}
}

@media screen and (min-width:960px) {
	a:hover {
		opacity: .8
	}
}

img {
	max-width: 100%;
	height: auto
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.sp_only {
		display: block !important
	}
}

@media screen and (min-width:960px) {
	.sp_only {
		display: none !important
	}
}

@media screen and (max-width:599px) {
	.sp_only {
		display: block !important
	}
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.pc_only {
		display: none !important
	}
}

@media screen and (min-width:960px) {
	.pc_only {
		display: block !important
	}
}

@media screen and (max-width:599px) {
	.pc_only {
		display: none !important
	}
}

header {
	width: 100%;
	height: 90px;
	position: absolute;
	top: 0;
	z-index: 1000
}

@media screen and (max-width:599px) {
	header {
		height: 65px
	}
}

.header-wrap {
	width: 90%;
	max-width: 1400px;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.header-logo {
	width: 150px;
	margin-top: 45px;
	opacity: 0
}

@media screen and (max-width:599px) {
	.header-logo {
		width: 100px;
		margin-top: 20px
	}
}

.el_humburger {
	position: fixed;
	top: 45px;
	right: 60px;
	width: 46px;
	height: 25px;
	padding-top: 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding-top: 0;
	z-index: 200;
	cursor: pointer;
	pointer-events: auto;
	color: #000;
	text-align: center
}

@media screen and (max-width:840px) {
	.el_humburger {
		display: block;
		right: 0;
		top: 0;
		padding-top: 20px;
		width: 70px;
		height: 70px
	}

	#factory .el_humburger {
		display: none
	}
}

.el_humburger_wrapper {
	margin-bottom: 5px;
	width: 42px;
	display: inline-block
}

@media screen and (max-width:840px) {
	.el_humburger_wrapper {
		margin-bottom: 5px;
		width: 30px
	}
}

.el_humburger_text {
	font-size: 12px;
	letter-spacing: .1em;
	font-family: "游ゴシック Medium", YuGothic, "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif
}

.el_humburger_text.el_humburger_text__close,
.js_humburgerOpen .el_humburger_text.el_humburger_text__menu {
	display: none
}

.js_humburgerOpen .el_humburger_text.el_humburger_text__close {
	display: block
}

@media screen and (max-width:840px) {
	.el_humburger_text {
		font-size: 10px;
		padding-top: 2px
	}
}

@media screen and (max-width:840px) {
	.el_humburger_text svg path {
		-webkit-transition: all .2s cubic-bezier(.16, .52, .25, 1);
		transition: all .2s cubic-bezier(.16, .52, .25, 1);
		fill: #000
	}
}

@media screen and (max-width:840px) {
	.js_humburgerOpen .el_humburger_text svg path {
		fill: #000
	}
}

.el_humburger span.el_humburger_bar {
	display: block;
	width: 100%;
	margin: 0 auto 9px;
	height: 2px;
	border-radius: 10px;
	background: #000;
	-webkit-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out
}

.el_humburger span.el_humburger_bar:last-child {
	margin-bottom: 0
}

.js_humburgerOpen .el_humburger span.el_humburger_bar {
	background: #fff
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.top {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg)
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.middle {
	opacity: 0
}

.js_humburgerOpen .el_humburger span.el_humburger_bar.bottom {
	-webkit-transform: translateY(-11px) rotate(45deg);
	transform: translateY(-11px) rotate(45deg)
}

@media screen and (max-width:840px) {
	.el_humburger span.el_humburger_bar {
		left: 0;
		top: 0;
		background: #000
	}
}

.el_humburgerButton.el_humburgerButton__close {
	top: 2%;
	right: 2%
}

.el_humburgerButton__close span.el_humburger_bar {
	display: block;
	width: 35px;
	margin: 0 auto;
	height: 4px;
	background: #000
}

.el_humburgerButton__close span.el_humburger_bar.top {
	-webkit-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg)
}

.el_humburgerButton__close span.el_humburger_bar.bottom {
	-webkit-transform: translateY(-6px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg)
}

.navi {
	position: fixed;
	top: 0;
	right: 0;
	height: 100%;
	background-color: #333;
	width: 0;
	z-index: 100;
	padding-top: 100px;
	padding-bottom: 100vh;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .6s ease-out;
	transition: all .6s ease-out;
	overflow: hidden
}

.js_humburgerOpen .navi {
	width: 350px
}

@media screen and (max-width:840px) {
	.js_humburgerOpen .navi {
		width: 70%
	}
}

.navi_item {
	font-size: 20px;
	font-family: Marcellus, serif !important;
	white-space: nowrap;
	border-bottom: 1px solid #eff0f0;
	letter-spacing: .1em
}

@media screen and (max-width:599px) {
	.navi_item {
		margin-left: 0;
		font-size: 1.6rem
	}
}

.navi_item.op_innerLink {
	cursor: pointer
}

.navi_item:hover {
	background: #10b6cc
}

.navi_item a {
	color: #fff;
	font-family: Asap, "Zen Kaku Gothic New", tbchibirgothicplusk-pro, "Noto Sans JP", Roboto, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	padding: 30px 50px;
	width: 100%
}

@media screen and (max-width:599px) {
	.navi_item a {
		padding: 20px 50px
	}
}

.fixed {
	position: fixed;
	top: 0;
	right: 0
}

.opacity {
	opacity: 1
}

.footer {
	margin-bottom: 20px
}

.footer-logo {
	display: block;
	width: 160px;
	margin: 0 auto
}

.footer-sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto;
	width: 70px;
	margin-top: 30px
}

.footer .copylight {
	font-size: 1.2rem;
	text-align: center;
	letter-spacing: .1em;
	color: #333;
	margin-top: 30px
}

.u-mt0 {
	margin-top: 0 !important
}

.u-mt5 {
	margin-top: 5px !important
}

.u-mt10 {
	margin-top: 10px !important
}

.u-mt15 {
	margin-top: 15px !important
}

.u-mt20 {
	margin-top: 20px !important
}

.l-w25 {
	width: 25%
}

.l-w50 {
	width: 50%
}

.l-w100p {
	width: 100%
}

.l-h100p {
	height: 100%
}

.l-justify-left {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start
}

.l-justify-center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center
}

.l-justify-right {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end
}

.l-direction-column {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column
}

@-webkit-keyframes mv-back {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

@keyframes mv-back {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

@-webkit-keyframes animate-svg-fill-1 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-1 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-1 {
	-webkit-animation: animate-svg-fill-1 .7s cubic-bezier(.47, 0, .745, .715) .8s both;
	animation: animate-svg-fill-1 .7s cubic-bezier(.47, 0, .745, .715) .8s both
}

@-webkit-keyframes animate-svg-fill-2 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-2 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-2 {
	-webkit-animation: animate-svg-fill-2 .7s cubic-bezier(.47, 0, .745, .715) .9s both;
	animation: animate-svg-fill-2 .7s cubic-bezier(.47, 0, .745, .715) .9s both
}

@-webkit-keyframes animate-svg-fill-3 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-3 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-3 {
	-webkit-animation: animate-svg-fill-3 .7s cubic-bezier(.47, 0, .745, .715) 1s both;
	animation: animate-svg-fill-3 .7s cubic-bezier(.47, 0, .745, .715) 1s both
}

@-webkit-keyframes animate-svg-fill-4 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-4 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-4 {
	-webkit-animation: animate-svg-fill-4 .7s cubic-bezier(.47, 0, .745, .715) 1.1s both;
	animation: animate-svg-fill-4 .7s cubic-bezier(.47, 0, .745, .715) 1.1s both
}

@-webkit-keyframes animate-svg-fill-5 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-5 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-5 {
	-webkit-animation: animate-svg-fill-5 .7s cubic-bezier(.47, 0, .745, .715) 1.2s both;
	animation: animate-svg-fill-5 .7s cubic-bezier(.47, 0, .745, .715) 1.2s both
}

@-webkit-keyframes animate-svg-fill-6 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-6 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-6 {
	-webkit-animation: animate-svg-fill-6 .7s cubic-bezier(.47, 0, .745, .715) 1.3s both;
	animation: animate-svg-fill-6 .7s cubic-bezier(.47, 0, .745, .715) 1.3s both
}

@-webkit-keyframes animate-svg-fill-7 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-7 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-7 {
	-webkit-animation: animate-svg-fill-7 .7s cubic-bezier(.47, 0, .745, .715) 1.4s both;
	animation: animate-svg-fill-7 .7s cubic-bezier(.47, 0, .745, .715) 1.4s both
}

@-webkit-keyframes animate-svg-fill-8 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-8 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-8 {
	-webkit-animation: animate-svg-fill-8 .7s cubic-bezier(.47, 0, .745, .715) 1.5s both;
	animation: animate-svg-fill-8 .7s cubic-bezier(.47, 0, .745, .715) 1.5s both
}

@-webkit-keyframes animate-svg-fill-9 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-9 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-9 {
	-webkit-animation: animate-svg-fill-9 .7s cubic-bezier(.47, 0, .745, .715) 1.6s both;
	animation: animate-svg-fill-9 .7s cubic-bezier(.47, 0, .745, .715) 1.6s both
}

@-webkit-keyframes animate-svg-fill-10 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-10 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-10 {
	-webkit-animation: animate-svg-fill-10 .7s cubic-bezier(.47, 0, .745, .715) 1.7s both;
	animation: animate-svg-fill-10 .7s cubic-bezier(.47, 0, .745, .715) 1.7s both
}

@-webkit-keyframes animate-svg-fill-11 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-11 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-11 {
	-webkit-animation: animate-svg-fill-11 .7s cubic-bezier(.47, 0, .745, .715) 1.8s both;
	animation: animate-svg-fill-11 .7s cubic-bezier(.47, 0, .745, .715) 1.8s both
}

@-webkit-keyframes animate-svg-fill-12 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-12 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-12 {
	-webkit-animation: animate-svg-fill-12 .7s cubic-bezier(.47, 0, .745, .715) 1.9s both;
	animation: animate-svg-fill-12 .7s cubic-bezier(.47, 0, .745, .715) 1.9s both
}

@-webkit-keyframes animate-svg-fill-13 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-13 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-13 {
	-webkit-animation: animate-svg-fill-13 .7s cubic-bezier(.47, 0, .745, .715) 2s both;
	animation: animate-svg-fill-13 .7s cubic-bezier(.47, 0, .745, .715) 2s both
}

@-webkit-keyframes animate-svg-fill-14 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-14 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-14 {
	-webkit-animation: animate-svg-fill-14 .7s cubic-bezier(.47, 0, .745, .715) 2.1s both;
	animation: animate-svg-fill-14 .7s cubic-bezier(.47, 0, .745, .715) 2.1s both
}

@-webkit-keyframes animate-svg-fill-15 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-15 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-15 {
	-webkit-animation: animate-svg-fill-15 .7s cubic-bezier(.47, 0, .745, .715) 2.2s both;
	animation: animate-svg-fill-15 .7s cubic-bezier(.47, 0, .745, .715) 2.2s both
}

@-webkit-keyframes animate-svg-fill-16 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-16 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-16 {
	-webkit-animation: animate-svg-fill-16 .7s cubic-bezier(.47, 0, .745, .715) 2.3s both;
	animation: animate-svg-fill-16 .7s cubic-bezier(.47, 0, .745, .715) 2.3s both
}

@-webkit-keyframes animate-svg-fill-17 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-17 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-17 {
	-webkit-animation: animate-svg-fill-17 .7s cubic-bezier(.47, 0, .745, .715) 2.4s both;
	animation: animate-svg-fill-17 .7s cubic-bezier(.47, 0, .745, .715) 2.4s both
}

@-webkit-keyframes animate-svg-fill-18 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-18 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-18 {
	-webkit-animation: animate-svg-fill-18 .7s cubic-bezier(.47, 0, .745, .715) 2.5s both;
	animation: animate-svg-fill-18 .7s cubic-bezier(.47, 0, .745, .715) 2.5s both
}

@-webkit-keyframes animate-svg-fill-19 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-19 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-19 {
	-webkit-animation: animate-svg-fill-19 .7s cubic-bezier(.47, 0, .745, .715) 2.6s both;
	animation: animate-svg-fill-19 .7s cubic-bezier(.47, 0, .745, .715) 2.6s both
}

@-webkit-keyframes animate-svg-fill-20 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-20 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-20 {
	-webkit-animation: animate-svg-fill-20 .7s cubic-bezier(.47, 0, .745, .715) 2.7s both;
	animation: animate-svg-fill-20 .7s cubic-bezier(.47, 0, .745, .715) 2.7s both
}

@-webkit-keyframes animate-svg-fill-21 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

@keyframes animate-svg-fill-21 {
	0% {
		fill: transparent
	}

	100% {
		fill: #000
	}
}

.svg-elem-21 {
	-webkit-animation: animate-svg-fill-21 .7s cubic-bezier(.47, 0, .745, .715) 2.8s both;
	animation: animate-svg-fill-21 .7s cubic-bezier(.47, 0, .745, .715) 2.8s both
}

.parallax-window {
	min-height: 800px;
	background: 0 0
}

.parallax-slider {
	top: 0;
	left: 0
}

#wrapper {
	position: relative;
	overflow: hidden;
	margin-left: 100px
}

@media screen and (max-width:599px) {
	#wrapper {
		margin-left: 30px
	}
}

.section-title {
	font-size: 4rem;
	letter-spacing: .1em;
	color: #333;
	text-align: center
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.section-title {
		font-size: 3rem
	}
}

@media screen and (max-width:599px) {
	.section-title {
		font-size: 2.4rem;
		line-height: 1.3
	}
}

.side-menu {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	width: 100px;
	height: 100%;
	margin: auto;
	background: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.side-menu {
		width: 60px
	}
}

@media screen and (max-width:599px) {
	.side-menu {
		width: 30px
	}
}

.side-menu .side-menu-wrapper {
	width: 90%;
	height: 90%;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column
}

@media screen and (max-width:599px) {
	.side-menu .side-menu-wrapper {
		display: block;
		height: 80%;
		-webkit-transform: translateY(-30px);
		transform: translateY(-30px)
	}
}

.side-menu .insta,
.side-menu .twitter {
	display: block;
	width: 18px;
	height: 18px;
	margin-bottom: 15px;
	margin: 20px auto
}

.side-menu ul.side-menu-text {
	margin: 50px 0
}

.side-menu ul.side-menu-text li {
	margin: 5em 0
}

.side-menu ul.side-menu-text li a {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	font-weight: 700;
	letter-spacing: .1em;
	font-size: 1.4rem
}

@media screen and (max-width:599px) {
	.side-menu ul.side-menu-text li a {
		font-size: 1rem
	}
}

.side-menu ul.side-menu-text li a span {
	font-size: 3.2rem;
	margin-right: 2px
}

@media screen and (max-width:599px) {
	.side-menu ul.side-menu-text li a span {
		font-size: 2rem
	}
}

.cta {
	margin: 30px auto 150px 100px;
	text-align: center
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.cta {
		margin: 30px auto 90px
	}
}

@media screen and (max-width:599px) {
	.cta {
		margin: 0 auto 50px
	}
}

.cta p {
	text-align: center;
	margin-bottom: 10px
}

@media screen and (max-width:599px) {
	.cta p {
		font-size: 1.2rem
	}
}

.cta .contact-button {
	color: #fff;
	background: #10b6cc;
	padding: 50px 0;
	width: 90%;
	max-width: 1000px;
	border-radius: 30px;
	font-size: 4rem;
	letter-spacing: .1em
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.cta .contact-button {
		margin: 0 auto;
		font-size: 3rem;
		padding: 30px 0
	}
}

@media screen and (max-width:599px) {
	.cta .contact-button {
		font-size: 1.6rem;
		padding: 20px 0;
		margin: 0 auto;
		border-radius: 40px
	}
}

a.button {
	width: 260px;
	text-align: center;
	border-radius: 30px;
	font-size: 1.2rem;
	line-height: 60px;
	position: relative;
	margin: auto;
	display: block;
	z-index: 2;
	cursor: pointer;
	color: #fff;
	background: #10b6cc;
	-webkit-transition: .4s;
	transition: .4s
}

a.button::before {
	content: "";
	display: inline-block;
	background: url(../img/common/button-arrow-white.svg);
	width: 21px;
	height: 10px;
	position: absolute;
	right: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
	-webkit-transition-duration: .5s;
	transition-duration: .5s
}

a.button:hover {
	background: #333;
	color: #fff
}

a.button:hover::before {
	right: 15px;
	background: url(../img/common/button-arrow-white.svg)
}

a.button p {
	padding: 15px 0
}

#illust2021 {
	padding: 50px 0;
	background: #d8e3e8;
	margin-bottom: 50px
}

#illust2021 .wrap {
	width: 80%;
	max-width: 500px;
	text-align: center;
	margin: 0 auto
}

#illust2021 .item {
	margin-bottom: 20px
}

.mv-wrapper {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

@media screen and (max-width:959px) {
	.mv-wrapper {
		display: block;
		overflow: hidden
	}
}

.mv-logo svg {
	width: 65%;
	max-width: 300px
}

.mv-text {
	width: 50%
}

@media screen and (max-width:959px) {
	.mv-text {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center
	}
}

.mv-text-wrap {
	padding: 0 100px
}

@media screen and (max-width:959px) {
	.mv-text-wrap {
		padding: 30% 0;
		width: 70%
	}
}

.mv-text .mv-logo {
	margin-bottom: 10px
}

@media screen and (max-width:599px) {
	.mv-text .mv-logo {
		margin-bottom: 0;
		width: 260px;
		height: 55px
	}
}

.mv-text .mv-logo-sub {
	margin-bottom: 50px
}

@media screen and (max-width:599px) {
	.mv-text .mv-logo-sub {
		width: 70%;
		margin-bottom: 20px
	}
}

.mv-text .mv-aisatsu {
	margin-bottom: 70px;
	letter-spacing: .1em;
	line-height: 1.8
}

@media screen and (max-width:599px) {
	.mv-text .mv-aisatsu {
		font-size: 1.2rem;
		margin-bottom: 60%
	}
}

ul.menu_button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 50px auto 70px
}

@media screen and (max-width:599px) {
	ul.menu_button {
		margin: 50px auto
	}
}

ul.menu_button li {
	position: relative
}

ul.menu_button li::before {
	content: '';
	width: 6px;
	height: 6px;
	border: 0;
	border-bottom: solid 1px #333;
	border-right: solid 1px #333;
	position: absolute;
	bottom: .8em;
	left: 0;
	right: 0;
	margin: auto;
	margin-top: -6px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg)
}

@media screen and (max-width:599px) {
	ul.menu_button li::before {
		bottom: 1em
	}
}

ul.menu_button li a {
	background: #d8e3e8;
	padding: 5px 25px 20px;
	letter-spacing: .1em
}

@media screen and (max-width:599px) {
	ul.menu_button li a {
		background: rgba(216, 227, 232, .6);
		font-size: 1.2rem;
		padding: 5px 17px 17px
	}
}

ul.menu_button li a:hover {
	background: #fff
}

ul.menu_button li:nth-child(2) {
	margin: 0 1em
}

.mv-sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center
}

.mv-sns .insta,
.mv-sns .twitter {
	display: block;
	width: 18px;
	height: 18px;
	margin: 0 0 0 15px
}

@media screen and (max-width:599px) {
	.mv-sns .mv-sns-text {
		width: 100px
	}
}

.mv-illust {
	width: 50%;
	height: 100%
}

@media screen and (max-width:959px) {
	.mv-illust {
		position: absolute;
		top: 0;
		z-index: -5;
		width: 100%;
		height: 100vh;
		max-height: 870px
	}
}

@media screen and (max-width:599px) {
	.mv-illust {
		max-height: 670px
	}
}

.mv-illust img {
	-o-object-fit: cover;
	object-fit: cover;
	max-width: 100%;
	height: 100%;
	width: 100%;
	border-radius: 0 0 0 130px
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.mv-illust img {
		border-radius: 0 0 0 70px
	}
}

@media screen and (max-width:599px) {
	.mv-illust img {
		border-radius: 0 0 0 50px
	}
}

.intro {
	margin: 170px auto
}

@media screen and (max-width:959px) {
	.intro {
		margin: 100px auto
	}
}

@media screen and (max-width:599px) {
	.intro {
		margin: 50px auto
	}
}

.intro .cathcopy {
	position: relative;
	width: 90%;
	max-width: 560px;
	margin: 0 auto;
	line-height: 1
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.intro .cathcopy {
		max-width: 340px
	}
}

.intro .cathcopy::after {
	content: "Make it simple, \A but significant.";
	white-space: pre;
	position: absolute;
	bottom: 6px;
	right: -9em;
	line-height: 1.5;
	color: #b1c8d3;
	letter-spacing: .1em;
	font-size: 1.2rem
}

@media screen and (max-width:599px) {
	.intro .cathcopy::after {
		color: #b1c8d3;
		font-size: 1rem;
		right: 2em;
		bottom: 0;
		z-index: -1
	}
}

.intro .cathcopy p {
	font-size: 4rem;
	letter-spacing: .1em;
	text-align: center;
	font-family: Asap, "Zen Kaku Gothic New", tbchibirgothicplusk-pro, "Noto Sans JP", Roboto, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, "メイリオ", Meiryo, sans-serif;
	margin: 0 auto;
	line-height: 1
}

@media screen and (max-width:959px) {
	.intro .cathcopy p {
		font-size: 2.4rem
	}
}

.intro .cathcopy-text {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width: 570px;
	margin: 20px auto 50px
}

@media only screen and (min-width:1279px) {
	.intro .cathcopy-text {
		max-width: 630px
	}
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.intro .cathcopy-text {
		max-width: 450px;
		margin: 30px auto
	}
}

@media screen and (max-width:599px) {
	.intro .cathcopy-text {
		display: block;
		text-align: center;
		margin: 10px auto 20px;
		width: 90%
	}
}

.intro .cathcopy-text img {
	width: 19vw;
	max-width: 320px
}

@media only screen and (min-width:960px) and (max-width:1279px) {
	.intro .cathcopy-text img {
		width: 27vw;
		max-width: 280px
	}
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.intro .cathcopy-text img {
		width: 26vw
	}
}

@media screen and (max-width:599px) {
	.intro .cathcopy-text img {
		margin-bottom: 10px;
		width: 180px
	}
}

.intro-text {
	width: 85%;
	max-width: 580px;
	margin: 0 auto;
	position: relative
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.intro-text {
		max-width: 470px;
		line-height: 2
	}
}

.intro-text::after {
	content: "";
	display: inline-block;
	background-image: url(../img/top/intro-particle.svg);
	width: 150%;
	height: 90%;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: -30%
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.intro-text::after {
		width: 150%;
		left: -26%;
		top: 20px
	}
}

@media screen and (max-width:599px) {
	.intro-text::after {
		content: none
	}
}

.intro .intro-text {
	margin-bottom: 50px
}

@media screen and (max-width:599px) {
	.intro .intro-text {
		margin-bottom: 30px
	}
}

.strength {
	padding: 150px 0 100px;
	background: #d8e3e8;
	border-radius: 0 0 0 130px;
	position: relative
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.strength {
		padding: 100px 0;
		border-radius: 0 0 0 70px
	}
}

@media screen and (max-width:599px) {
	.strength {
		padding: 50px 0 70px;
		border-radius: 0 0 0 50px
	}
}

.strength::before {
	content: "";
	display: inline-block;
	width: 200px;
	height: 50px;
	background: #fff;
	position: absolute;
	top: -10px;
	right: 0;
	left: 0;
	margin: auto;
	border-radius: 10px
}

@media screen and (max-width:599px) {
	.strength::before {
		width: 120px;
		height: 35px
	}
}

.strength-wrap {
	margin: 100px auto;
	width: 90%;
	max-width: 1160px;
	text-align: center;
	-webkit-transform: translateX(30px);
	transform: translateX(30px)
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.strength-wrap {
		margin: 50px auto;
		-webkit-transform: translateX(10px);
		transform: translateX(10px)
	}
}

@media screen and (max-width:599px) {
	.strength-wrap {
		margin: 50px auto;
		width: 80%;
		-webkit-transform: translateX(0);
		transform: translateX(0)
	}
}

.strength-img {
	margin-bottom: 60px
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.strength-img {
		margin-bottom: 40px;
		width: 70%;
		margin: 0 auto
	}
}

@media screen and (max-width:599px) {
	.strength-img {
		margin-bottom: 30px
	}
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.strength-img img {
		-o-object-fit: cover;
		object-fit: cover;
		width: 100%;
		height: 100%
	}
}

.strength p {
	text-align: center;
	line-height: 1.7
}

@media screen and (max-width:599px) {
	.strength p {
		text-align: left;
		width: 80%;
		margin: 0 auto;
		line-height: 2
	}
}

.strangth-subtext {
	color: #b1c8d3;
	display: inline-block;
	display: inline-block;
	margin-left: 17%;
	margin-bottom: 1em;
	line-height: 1.5;
	letter-spacing: .1em
}

@media screen and (max-width:599px) {
	.strangth-subtext {
		font-size: 1.2rem
	}
}

#illustration {
	background: #eff0f0;
	margin: -10%;
	padding: 20% 0 150px
}

@media only screen and (min-width:600px) and (max-width:959px) {
	#illustration {
		padding: 20% 0 30px
	}
}

@media screen and (max-width:599px) {
	#illustration {
		padding: 22% 0 90px
	}
}

.illustration-title {
	font-size: 12rem;
	font-family: Asap, sans-serif;
	color: #333;
	opacity: .1;
	text-align: right;
	-webkit-transform: translateX(-170px);
	transform: translateX(-170px)
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.illustration-title {
		font-size: 9rem;
		-webkit-transform: translateX(-100px);
		transform: translateX(-100px)
	}
}

@media screen and (max-width:599px) {
	.illustration-title {
		font-size: 5rem;
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px)
	}
}

.illustration-wrap {
	width: 70%;
	margin: 0 auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.illustration-wrap {
		margin: 50px auto 0
	}
}

@media screen and (max-width:599px) {
	.illustration-wrap {
		width: 75%;
		margin: 30px auto 0
	}
}

.illust-item {
	width: 46%;
	height: 100%
}

@media screen and (max-width:599px) {
	.illust-item {
		width: 50%
	}
}

.illust-item img {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%
}

.illust-item:nth-child(even) {
	margin-top: 8em
}

@media screen and (max-width:599px) {
	.illust-item:nth-child(even) {
		margin-top: 2em
	}
}

@media screen and (max-width:599px) {
	.illust-item:nth-child(2) {
		-webkit-transform: translate(10px, 0);
		transform: translate(10px, 0)
	}
}

.illust-item:nth-child(3) {
	-webkit-transform: translate(40px, -70px);
	transform: translate(40px, -70px)
}

@media screen and (max-width:599px) {
	.illust-item:nth-child(3) {
		-webkit-transform: translate(-10px, 0);
		transform: translate(-10px, 0)
	}
}

.illust-item:nth-child(4) {
	-webkit-transform: translate(50px, -30px);
	transform: translate(50px, -30px)
}

@media screen and (max-width:599px) {
	.illust-item:nth-child(4) {
		-webkit-transform: translate(10px, 30px);
		transform: translate(10px, 30px)
	}
}

@media screen and (max-width:599px) {
	.illust-item:nth-child(5) {
		-webkit-transform: translate(0, 30px);
		transform: translate(0, 30px)
	}
}

.illust-item:nth-child(6) {
	-webkit-transform: translate(0, -60px);
	transform: translate(0, -60px)
}

@media screen and (max-width:599px) {
	.illust-item:nth-child(6) {
		-webkit-transform: translate(10px, 30px);
		transform: translate(10px, 30px)
	}
}

.work {
	background-image: url(../img/top/work-bg@2x.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	text-align: center;
	height: 580px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	margin: 100px auto 0;
	position: relative
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.work {
		height: 300px;
		margin: 70px auto 0
	}
}

@media screen and (max-width:599px) {
	.work {
		height: 240px;
		margin: 30px auto 0
	}
}

.work-button {
	font-size: 3rem;
	color: #fff;
	border: 2px solid #fff;
	padding: 25px 0;
	margin: 0 auto;
	width: 90%;
	max-width: 700px;
	border-radius: 50px;
	letter-spacing: .1em
}

@media screen and (max-width:599px) {
	.work-button {
		font-size: 1.6rem;
		padding: 10px 0;
		border: 1px solid #fff
	}
}

.work-button:hover {
	background: #10b6cc;
	border: 2px solid #10b6cc
}

.work-button:hover+.work img {
	-webkit-transform: scale(1.2);
	transform: scale(1.2)
}

.menu {
	padding: 150px 0
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.menu {
		padding: 110px 0
	}
}

@media screen and (max-width:599px) {
	.menu {
		padding: 70px 0
	}
}

.menu-wrap {
	width: 90%;
	max-width: 1400px;
	margin: 0 auto
}

.menu-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 150px auto 180px
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.menu-content {
		display: block;
		margin: 100px auto 100px
	}
}

@media screen and (max-width:599px) {
	.menu-content {
		display: block;
		margin: 50px auto 80px
	}
}

.menu-content-img {
	width: 40%;
	position: relative;
	z-index: 5;
	text-align: center
}

@media screen and (max-width:959px) {
	.menu-content-img {
		width: 90%;
		margin: 0 auto;
		margin-bottom: 50px
	}
}

.menu-content-img::before {
	content: "";
	display: inline-block;
	width: 450px;
	height: 450px;
	border-radius: 50%;
	background-color: #d8e3e8;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: -1
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.menu-content-img::before {
		width: 100%;
		height: 100%
	}
}

@media screen and (max-width:599px) {
	.menu-content-img::before {
		width: 300px;
		height: 300px
	}
}

.menu-content-img .menu-text {
	position: absolute;
	bottom: -60px;
	left: 60px
}

@media screen and (max-width:599px) {
	.menu-content-img .menu-text {
		left: -10px;
		bottom: -20px;
		width: 60%
	}
}

.menu-content-text {
	width: 60%;
	padding-left: 5%
}

@media screen and (max-width:959px) {
	.menu-content-text {
		width: 100%
	}
}

.menu-content-text .menu-title {
	font-size: 4rem;
	letter-spacing: .1em;
	margin-bottom: 40px
}

@media screen and (max-width:959px) {
	.menu-content-text .menu-title {
		font-size: 3rem;
		letter-spacing: .05em;
		margin-bottom: 25px
	}
}

@media screen and (max-width:599px) {
	.menu-content-text .menu-title {
		font-size: 2.4rem
	}
}

.menu-content-text .menu-title::before {
	content: "";
	display: block;
	background-image: url(../img/top/menu-count01.svg);
	background-size: contain;
	background-repeat: no-repeat;
	width: 40px;
	height: 40px;
	margin-bottom: 10px
}

@media screen and (max-width:599px) {
	.menu-content-text .menu-title::before {
		width: 30px;
		height: 30px
	}
}

.menu-content-text .menu-title02::before {
	background-image: url(../img/top/menu-count02.svg);
	background-size: contain
}

.menu-content-text .menu-title03::before {
	background-image: url(../img/top/menu-count03.svg);
	background-size: contain
}

.menu-content-text .menu-text {
	max-width: 450px;
	line-height: 2;
	margin-bottom: 30px
}

@media screen and (max-width:599px) {
	.menu-content-text .menu-text {
		margin-bottom: 10px
	}
}

.menu-content-text .menu-price {
	color: #707070;
	font-size: 1.4rem;
	margin-bottom: 30px;
	line-height: 1.7
}

.menu-content-text .menu-performance {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex
}

@media screen and (max-width:599px) {
	.menu-content-text .menu-performance {
		display: block
	}
}

.menu-content-text .menu-performance-content {
	margin-right: 20px
}

@media screen and (max-width:599px) {
	.menu-content-text .menu-performance-content {
		margin-right: 0;
		margin-bottom: 20px
	}
}

.menu-content-text .menu-performance img {
	width: 300px;
	height: 200px;
	-o-object-fit: cover;
	object-fit: cover
}

.menu-content-second .menu-content-img {
	-webkit-box-ordinal-group: 3;
	-ms-flex-order: 2;
	order: 2
}

.menu-content-second .menu-content-text {
	-webkit-box-ordinal-group: 2;
	-ms-flex-order: 1;
	order: 1
}

.menu .menu01-parts {
	position: absolute;
	bottom: 0;
	left: 30px
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.menu .menu01-parts {
		bottom: 70px;
		width: 50px;
		left: auto;
		right: 90px
	}
}

@media screen and (max-width:599px) {
	.menu .menu01-parts {
		width: 60px;
		bottom: -30px;
		right: 70px;
		left: auto
	}
}

.menu .menu02-parts {
	position: absolute;
	top: 0;
	left: 30px
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.menu .menu02-parts {
		width: 60px
	}
}

@media screen and (max-width:599px) {
	.menu .menu02-parts {
		width: 60px
	}
}

.menu .menu03-parts {
	position: absolute;
	bottom: 0;
	right: 80px
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.menu .menu03-parts {
		bottom: 70px;
		right: 60px;
		width: 60px
	}
}

@media screen and (max-width:599px) {
	.menu .menu03-parts {
		width: 60px;
		right: 40px
	}
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.menu .menu-text01 {
		width: 50%;
		bottom: 10px;
		left: 20px
	}
}

@media screen and (max-width:599px) {
	.menu .menu-text01 {
		width: 50%
	}
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.menu .menu-text02 {
		bottom: 30px;
		left: 30px;
		width: 60%
	}
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.menu .menu-text03 {
		width: 90%;
		bottom: 40px;
		left: 20px
	}
}

@media screen and (max-width:599px) {
	.menu .menu-text03 {
		width: 90%
	}
}

.motion {
	margin: 250px auto 0
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.motion {
		margin: 170px auto 0
	}
}

@media screen and (max-width:599px) {
	.motion {
		margin: 100px auto 0
	}
}

.motion-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 100px auto 0;
	max-width: 1160px
}

@media screen and (max-width:599px) {
	.motion-wrap {
		margin: 30px auto 0
	}
}

.motion-content {
	width: calc(100% / 3)
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.motion-content {
		padding: 0 10px
	}
}

.motion .motion-wrap {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 100px auto 0
}

@media screen and (max-width:599px) {
	.motion .motion-wrap {
		margin: 40px auto -70px
	}
}

.motion .motion-wrap:after {
	display: block;
	content: "";
	width: calc(100% / 3)
}

@media screen and (max-width:599px) {
	.motion .motion-wrap:after {
		display: none
	}
}

.motion .motion-wrap article {
	width: calc(100% / 3);
	-ms-flex-preferred-size: 200px;
	flex-basis: 200px;
	-webkit-box-flex: 1;
	-ms-flex-positive: 1;
	flex-grow: 1
}

@media screen and (max-width:959px) {
	.motion .motion-wrap article {
		width: calc(100% / 2)
	}
}

@media screen and (max-width:599px) {
	.motion .motion-wrap article {
		margin-bottom: 40px
	}
}

.motion .motion-wrap article .inner {
	border: none
}

.motion .motion-wrap article .motion-content-img {
	width: 300px;
	height: 300px;
	border-radius: 50%;
	overflow: hidden;
	pointer-events: none
}

@media screen and (max-width:599px) {
	.motion .motion-wrap article .motion-content-img {
		margin: 0 auto;
		width: 200px;
		height: 200px
	}
}

.motion .motion-wrap article .motion-content-img img,
.motion .motion-wrap article .motion-content-img video {
	-o-object-fit: cover;
	object-fit: cover;
	width: 100%;
	height: 100%;
	-webkit-transition: .6s all;
	transition: .6s all;
	overflow: hidden;
	border-radius: 50%
}

.motion .motion-wrap article .motion-content-img img:active,
.motion .motion-wrap article .motion-content-img img:hover,
.motion .motion-wrap article .motion-content-img video:active,
.motion .motion-wrap article .motion-content-img video:hover {
	-webkit-transform: scale(1.2, 1.2);
	transform: scale(1.2, 1.2);
	-webkit-transition: .6s all;
	transition: .6s all
}

.flow {
	background: #eff0f0;
	padding: 150px 0 10px;
	border-radius: 0 0 0 130px;
	position: relative
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.flow {
		border-radius: 0 0 0 70px
	}
}

@media screen and (max-width:599px) {
	.flow {
		margin: 0 auto;
		border-radius: 0 0 0 50px;
		padding: 80px 0 10px
	}
}

.flow::before {
	content: "";
	display: inline-block;
	width: 200px;
	height: 50px;
	background: #fff;
	position: absolute;
	top: -10px;
	right: 0;
	left: 0;
	margin: auto;
	border-radius: 10px
}

@media screen and (max-width:599px) {
	.flow::before {
		width: 120px;
		height: 35px
	}
}

.flow-wrap {
	width: 90%;
	max-width: 1300px;
	margin: 100px auto 0
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.flow-wrap {
		margin: 50px auto 0
	}
}

@media screen and (max-width:599px) {
	.flow-wrap {
		margin: 30px auto 0
	}
}

.flow-content {
	width: 285px;
	text-align: left
}

@media screen and (max-width:599px) {
	.flow-content .flow-number {
		width: 14px
	}
}

.flow-content .flow-img {
	text-align: center
}

@media screen and (max-width:599px) {
	.flow-content .flow-img {
		width: 70%;
		margin: 0 auto
	}
}

.flow-content .flow-title {
	font-size: 2.6rem;
	text-align: left;
	margin-bottom: 20px
}

@media screen and (max-width:599px) {
	.flow-content .flow-title {
		font-size: 2rem
	}
}

.flow-content .flow-text {
	line-height: 2;
	letter-spacing: .05em
}

@media screen and (max-width:599px) {
	.flow-content .flow-text {
		font-size: 1.4rem
	}
}

.swiper-wrapper {
	margin-bottom: 50px;
	padding: 0 10%
}

@media screen and (max-width:959px) {
	.swiper-wrapper {
		margin-bottom: 0;
		padding: 0 18%
	}
}

.swiper-scrollbar-drag {
	background: #10b6cc
}

.swiper-button-next,
.swiper-button-prev {
	color: #fff
}

.swiper-button-next::before,
.swiper-button-prev::before {
	content: "";
	display: inline-block;
	background: #10b6cc;
	border-radius: 50%;
	width: 70px;
	height: 70px;
	position: absolute
}

@media screen and (max-width:599px) {

	.swiper-button-next::before,
	.swiper-button-prev::before {
		width: 40px;
		height: 40px
	}
}

.swiper-button-next::after,
.swiper-button-prev::after {
	font-size: 3rem;
	z-index: 5
}

@media screen and (max-width:599px) {

	.swiper-button-next::after,
	.swiper-button-prev::after {
		font-size: 2rem
	}
}

.swiper-button-next {
	position: absolute;
	right: 70px
}

@media screen and (max-width:599px) {
	.swiper-button-next {
		right: 10px
	}
}

.swiper-button-prev {
	position: absolute;
	left: 70px
}

@media screen and (max-width:599px) {
	.swiper-button-prev {
		left: 10px
	}
}

.swiper-wrapper:nth-child(1) {
	margin-left: 150px
}

.faq {
	padding: 150px 0 100px 6%;
	position: relative
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.faq {
		padding: 100px 30px 0
	}
}

@media screen and (max-width:599px) {
	.faq {
		padding: 80px 0 0;
		overflow: hidden
	}
}

.faq-wrap {
	margin: 100px auto;
	width: 90%;
	max-width: 1160px;
	-webkit-transform: translateX(40px);
	transform: translateX(40px);
	position: relative
}

@media screen and (max-width:599px) {
	.faq-wrap {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		margin: 70px auto 50px
	}
}

.faq-dog {
	position: absolute;
	top: -100px;
	right: 0
}

@media screen and (max-width:599px) {
	.faq-dog {
		top: -130px;
		right: -30px;
		width: 30%
	}
}

.faq-foot1 {
	position: absolute;
	top: 170px;
	right: 50px
}

@media screen and (max-width:599px) {
	.faq-foot1 {
		width: 20px;
		right: 10px;
		top: 65px
	}
}

.faq-foot2 {
	position: absolute;
	top: 230px;
	right: 20px
}

@media screen and (max-width:599px) {
	.faq-foot2 {
		width: 20px;
		top: 90px;
		right: -6px
	}
}

.faq-foot3 {
	position: absolute;
	top: 290px;
	right: 40px
}

@media screen and (max-width:599px) {
	.faq-foot3 {
		width: 20px;
		right: 10px;
		display: none
	}
}

.faq-girl {
	position: absolute;
	bottom: -350px;
	left: -187px
}

@media screen and (max-width:599px) {
	.faq-girl {
		position: absolute;
		bottom: -190px;
		left: -50px;
		width: 50%
	}
}

.faq-content {
	margin-bottom: 100px
}

@media screen and (max-width:599px) {
	.faq-content {
		margin-bottom: 60px
	}
}

.faq-content .faq-q {
	font-size: 2rem;
	letter-spacing: .1em;
	color: #333;
	position: relative;
	line-height: 2;
	position: relative;
	max-width: 400px
}

@media screen and (max-width:599px) {
	.faq-content .faq-q {
		font-size: 1.6rem;
		line-height: 1.5;
		width: 80%;
		-webkit-transform: translateY(10px);
		transform: translateY(10px)
	}
}

.faq-content .faq-q::before {
	content: "";
	display: inline-block;
	background: url(../img/top/faq_serif.svg) no-repeat;
	background-size: contain;
	width: 400px;
	height: 180px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	-webkit-transform: translateX(-75px);
	transform: translateX(-75px)
}

@media screen and (max-width:599px) {
	.faq-content .faq-q::before {
		width: 120%;
		height: 150px;
		-webkit-transform: translateX(-50px);
		transform: translateX(-50px)
	}
}

.faq-content .faq-q img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto
}

.faq-content .faq-a {
	background: #eff0f0;
	padding: 50px;
	border-radius: 20px;
	width: 90%;
	max-width: 800px;
	margin: 20px auto;
	line-height: 2
}

@media screen and (max-width:599px) {
	.faq-content .faq-a {
		padding: 40px 30px;
		font-size: 1.4rem;
		line-height: 1.7
	}
}

.contact {
	padding: 150px 0;
	position: relative;
	background: #d8e3e8;
	margin-bottom: 5em;
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.contact {
		margin: 50px auto 350px
	}
}

@media screen and (max-width:599px) {
	.contact {
		margin: 0 auto 220px;
		padding: 50px 0
	}
}

.contact-wrap {
	width: 90%;
	max-width: 750px;
	margin: 0 auto;
	background: #fff;
	-webkit-box-shadow: 0 0 15px rgba(147, 102, 102, .16);
	box-shadow: 0 0 15px rgba(147, 102, 102, .16);
	padding: 100px;
	position: relative
}

@media screen and (max-width:599px) {
	.contact-wrap {
		padding: 50px 20px
	}
}

.contact .contact-girl {
	position: absolute;
	bottom: 15%;
	right: 5%
}

@media only screen and (min-width:600px) and (max-width:959px) {
	.contact .contact-girl {
		right: 0;
		left: 0;
		margin: auto;
		right: 40px;
		bottom: -240px;
		text-align: center
	}
}

@media screen and (max-width:599px) {
	.contact .contact-girl {
		right: 0;
		left: 0;
		margin: auto;
		bottom: -210px;
		width: 140px;
	}
}

.contact .contact-particle01 {
	position: absolute;
	top: 70px;
	right: 90px
}

@media screen and (max-width:599px) {
	.contact .contact-particle01 {
		width: 50px;
		top: 20px;
		right: 20px
	}
}

.contact .contact-particle02 {
	position: absolute;
	bottom: 50px;
	left: 30px
}

@media screen and (max-width:599px) {
	.contact .contact-particle02 {
		bottom: 140px;
		left: 20px
	}
}

.contact .form-item {
	margin-bottom: 30px
}

.contact .form-name span {
	font-size: 1.1rem;
	color: #fff;
	background: #10b6cc;
	padding: 2px 5px;
	margin-left: 10px
}

.contact form {
	margin-top: 50px
}

@media screen and (max-width:599px) {
	.contact form {
		margin-top: 20px
	}
}

.contact form input,
.contact form textarea {
	padding: 15px 25px;
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 2;
	background: #eff0f0;
	border: none;
	border-radius: 30px;
	width: 100%;
	max-width: 550px
}

@media screen and (max-width:599px) {

	.contact form input,
	.contact form textarea {
		font-size: 1.4rem;
		padding: 10px 20px
	}
}

.contact form input::-webkit-input-placeholder,
.contact form textarea::-webkit-input-placeholder {
	color: #bcbcbc
}

.contact form input::-moz-placeholder,
.contact form textarea::-moz-placeholder {
	color: #bcbcbc
}

.contact form input:-ms-input-placeholder,
.contact form textarea:-ms-input-placeholder {
	color: #bcbcbc
}

.contact form input::-ms-input-placeholder,
.contact form textarea::-ms-input-placeholder {
	color: #bcbcbc
}

.contact form input::placeholder,
.contact form textarea::placeholder {
	color: #bcbcbc
}

.contact form textarea {
	resize: none;
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 1.7
}

@media screen and (max-width:599px) {
	.contact form textarea {
		font-size: 1.4rem
	}
}

.contact form .button-area {
	text-align: center;
	margin: 0 auto
}

.contact form input[type=button] {
	max-width: 500px;
	color: #fff;
	background: #10b6cc;
	max-width: 350px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

.contact form .form-button {
	background: #10b6cc;
	color: #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none
}

.sns {
	margin: 150px auto 0
}

@media screen and (max-width:599px) {
	.sns {
		width: 90%
	}
}

.feedwrap {
  width: 90%;
  max-width: 1000px;
  margin: 50px auto;
}

@media screen and (max-width:599px) {
  .feedwrap {
    width: 100%;
    margin: 30px auto 60px;
  }
}

.sns-wrap {
	margin: 100px auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 60%;
max-width: 300px;
}

@media screen and (max-width:959px) {
	.sns-wrap {
		width: 60%;
		margin: 50px auto 0;
		text-align: center
	}
}

.sns-wrap .sns-insta,
.sns-wrap .sns-twitter {
	width: 40%
}

@media only screen and (min-width:600px) and (max-width:959px) {

	.sns-wrap .sns-insta,
	.sns-wrap .sns-twitter {
		padding: 10px;
		width: 100%
	}
}
/* 
@media screen and (max-width:599px) {

	.sns-wrap .sns-insta,
	.sns-wrap .sns-twitter {
		width: 100%
	}
} */

@media screen and (max-width:599px) {
	.sns-wrap .sns-twitter {
		margin-bottom: 60px;
		/* height: 500px */
	}
}

/* @media screen and (max-width:599px) {
	.sns-wrap .sns-insta {
		width: 90%;
		margin: 0 auto
	}
} */

