@charset "UTF-8";
@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap";

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

main {
	display: block
}

img {
	background-color: transparent;
	border: 0;
	vertical-align: bottom;
	max-width: 100%
}

ol,
ul {
	list-style: none
}

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

input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none
}

input[type=radio],
input[type=checkbox] {
	display: none
}

button,
input,
select,
textarea {
	font-family: inherit;
	font-size: 100%
}

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

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

html,
body {
	width: 100%
}

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

body {
	position: relative;
	font-family: Noto Sans JP, sans-serif;
	letter-spacing: 0;
	color: #333;
	font-weight: 400;
	background-color: #fff;
	font-size: 16px;
	font-size: 1.6rem
}

@media only screen and (max-width: 767px) {
	body {
		min-width: auto;
		font-size: 14px;
		font-size: 1.4rem
	}
}

a {
	color: #333;
	display: inline-block;
	text-decoration: underline
}

a:hover {
	text-decoration: none;
	opacity: .6
}

@media (any-hover: none) {
	a:hover {
		opacity: 1
	}
}

button {
	cursor: pointer
}

button:hover {
	opacity: .6
}

@media (any-hover: none) {
	button:hover {
		opacity: 1
	}
}

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

/* ===============================================
 common
=============================================== */

/* u-visible_xs */
/* u-visible_lg */

.u-visible_xs,
.u-visible_lg {
	display: none !important
}

@media only screen and (max-width: 767px) {
	.u-visible_xs {
		display: block !important
	}

	table.u-visible_xs {
		display: table !important
	}

	tr.u-visible_xs {
		display: table-row !important
	}

	th.u-visible_xs,
	td.u-visible_xs {
		display: table-cell !important
	}
}

@media only screen and (min-width: 768px) {
	.u-visible_lg {
		display: block !important
	}

	table.u-visible_lg {
		display: table !important
	}

	tr.u-visible_lg {
		display: table-row !important
	}

	th.u-visible_lg,
	td.u-visible_lg {
		display: table-cell !important
	}
}

/* u-br_xs */
/* u-br_lg */

.u-br_xs {
	display: none !important;
}

.u-br_lg {
	display: inline !important;
}

@media screen and (max-width: 767px) {
	.u-br_xs {
		display: inline !important;
	}

	.u-br_lg {
		display: none !important;
	}
}

/* c-inner */

.c-inner {
	margin: 0 auto;
	width: 100%;
	max-width: 1192px;
	padding: 0 20px
}

@media only screen and (max-width: 767px) {
	.c-inner {
		width: auto
	}
}

/* c-title */

.c-title {
	text-align: center;
	font-size: 38px;
	font-size: 3.8rem;
	letter-spacing: 5.7px;
	color: #007ab0;
	font-family: Roboto, sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	font-variation-settings: "wdth"100;
	margin-top: 10px
}

@media only screen and (max-width: 767px) {
	.c-title {
		font-size: 25px;
		font-size: 2.5rem;
		letter-spacing: 2.5px;
		margin-top: 5px
	}
}

.c-title_sub {
	text-align: center;
	font-size: 16px;
	font-size: 1.6rem;
	letter-spacing: .16px;
	color: #007ab0;
	font-weight: 500;
	margin-top: 25px
}

@media only screen and (max-width: 767px) {
	.c-title_sub {
		font-size: 12px;
		font-size: 1.2rem;
		letter-spacing: 1.2px;
		margin-top: 17px
	}
}

.c-title_bar {
	width: 132px;
	margin: auto
}

@media only screen and (max-width: 767px) {
	.c-title_bar {
		width: 86px
	}
}

/* ===============================================
 l-footer
=============================================== */

.l-footer {
	background-image: url("../images/footer/footerBg.webp");
	background-position: center;
	background-size: cover;
	padding: 85px 0 100px;
	background-repeat: repeat;
}
@media only screen and (max-width: 767px) {
	.l-footer {
		background-image: url("../images/footer/footerBg_sp.webp");
		padding: 50px 0 40px;
	}
}
.l-footer__inner {
	width: 84.626%;
	max-width: 1156px;
	margin: auto;
	display: flex;
	justify-content: space-between;
}
@media only screen and (max-width: 767px) {
	.l-footer__inner {
		flex-direction: column-reverse;
		width: 100%;
		padding: 0 20px 70px;
	}
}
.l-footer__inner__info {
	width: 28.546%;
}
@media only screen and (max-width: 767px) {
	.l-footer__inner__info {
		width: 100%;
	}
}
.l-footer__logo a {
	display: block;
	margin-top: 30px;
}
@media only screen and (max-width: 767px) {
	.l-footer__logo a {
		margin: 50px auto 0;
		width: 250px;
	}
}
.l-footer__copyright {
	font-size: 11px;
	font-size: 1.1rem;
	text-align: left;
	margin-top: 30px;
	color: #333;
}
@media only screen and (max-width: 767px) {
	.l-footer__copyright {
		text-align: center;
		margin-top: 25px;
	}
}
.l-footer__inner__collabo {
	width: 65.916%;
	border: 8px solid #e8fafe;
	border-radius: 30px;
	padding: 25px 35px;
	display: flex;
	justify-content: space-between;
}
@media only screen and (max-width: 767px) {
	.l-footer__inner__collabo {
		width: 100%;
		padding: 0 20px 30px;
		display: block;
	}
}
.l-footer__collabo__author {
	width: 27.611%;
	text-align: center;
	margin-top: -50px;
}
@media only screen and (max-width: 767px) {
	.l-footer__collabo__author {
		width: 185px;
		margin: -30px auto 0;
	}
}
.l-footer__collabo__author span {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 28px;
	font-weight: 500;
	margin-top: 10px;
	display: block;
}
@media only screen and (max-width: 767px) {
	.l-footer__collabo__author span {
		margin-top: 5px;
	}
}
.l-footer__collabo__description {
	width: 66%;
}
@media only screen and (max-width: 767px) {
	.l-footer__collabo__description {
		width: 100%;
	}
}
.l-footer__collabo__description__title {
	font-size: 23px;
	font-size: 2.3rem;
	line-height: 40px;
	font-weight: 700;
	color: #004094;
	font-feature-settings: "palt";
}
@media only screen and (max-width: 1200px) {
	.l-footer__collabo__description__title .u-visible_xs {
		display: block !important;
	}
}
@media only screen and (max-width: 767px) {
	.l-footer__collabo__description__title {
		font-size: 20px;
		font-size: 2rem;
		line-height: 30px;
		text-align: center;
		margin-top: 15px;
	}
}
.l-footer__collabo__description__text {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 27px;
	font-weight: 500;
	margin-top: 12px;
	font-feature-settings: "palt";
}
@media only screen and (max-width: 767px) {
	.l-footer__collabo__description__text {
		font-size: 13px;
		font-size: 1.3rem;
		margin-top: 10px;
	}
}
@media only screen and (min-width: 1366px) {
	.l-footer__collabo__description__text .u-visible_flg {
		display: block !important;
	}
}
@media only screen and (max-width: 1200px) {
	.l-footer__collabo__description__text .u-visible_flg {
		display: none !important;
	}
}


/* ===============================================
 l-main
=============================================== */

.l-main {
	background-color: #fff;
	background-image: url("../images/common/plaid.webp");
	background-position: top left;
	background-repeat: repeat;
	background-size: 54px;
	overflow: hidden;
}

@media only screen and (max-width: 767px) {
	.l-main {
		background-size: 40px;
	}
}

/* ===============================================
 kv
=============================================== */

/* .playBtn */

.kv .playBtn button {
	content: "";
	position: fixed;
	top: 0;
	right: 60px;
	z-index: 200;
	width: 244px;
	height: 113px;
	background: url("../images/kv/playBtn.svg") no-repeat center center;
	background-size: contain;
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
@media only screen and (max-width: 767px) {
	.kv .playBtn button {
		position: absolute;
		top: 79svh;
		right: 50%;
		-webkit-transform: translateX(50%);
		    -ms-transform: translateX(50%);
		        transform: translateX(50%);
		width: 244px;
		height: 113px;
		background: url("../images/kv/playBtn_sp.svg") no-repeat center center;
		background-size: contain;
	}
}
.kv .playBtn button:hover {
	opacity: 1;
}
.kv .playBtn button:active {
	background: url("../images/kv/playBtn_on.svg") no-repeat center center;
}
@media only screen and (max-width: 767px) {
	.kv .playBtn button:active {
		background: url("../images/kv/playBtn_sp_on.svg") no-repeat center center;
	}
}

/* .playBtnLower */

@media only screen and (max-width: 767px) {
	.kv .playBtnLower button {
		content: "";
		position: fixed;
		bottom: 10px;
		right: 50%;
		z-index: 200;
		-webkit-transform: translateX(50%);
		    -ms-transform: translateX(50%);
		        transform: translateX(50%);
		width: 335px;
		height: 70px;
		background: url("../images/kv/playBtnLower.svg") no-repeat center center;
		background-size: contain;
		display: block;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		opacity: 0;
		-webkit-transition: opacity .3s ease;
		-o-transition: opacity .3s ease;
		transition: opacity .3s ease;
		border-radius: 20px 20px 0 0;
		overflow: hidden;
	}
	.kv .playBtnLower button:hover {
		opacity: 1;
	}
	.kv .playBtnLower button:active {
		background: url("../images/kv/playBtnLower_on.svg") no-repeat center center;
	}
	.kv .playBtnLower button.active {
		opacity: 1
	}
}

/* .floatBtn */

.kv .floatBtn {
	position: fixed;
	width: 125px;
	right: 5%;
	bottom: 0;
	z-index: 100;
	opacity: 0;
	-webkit-transform: translateY(70px);
	    -ms-transform: translateY(70px);
	        transform: translateY(70px);
	-webkit-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
	border-radius: 20px 20px 0 0;
	overflow: hidden;
}

.kv .floatBtn>a {
	opacity: 1;
	position: relative
}

.kv .floatBtn>a .floatArrow {
	position: absolute;
	left: 50%;
	-webkit-transform: translate(-50%);
	    -ms-transform: translate(-50%);
	        transform: translate(-50%);
	bottom: 18px;
	width: 24px
}

@media only screen and (max-width: 767px) {
	.kv .floatBtn>a .floatArrow {
		width: 12px;
		bottom: 12px
	}
}

.kv .floatBtn:hover {
	cursor: pointer;
	width: 137px;
	right: 4.7%
}

.kv .floatBtn.active {
	-webkit-transform: translateY(0);
	    -ms-transform: translateY(0);
	        transform: translateY(0);
	opacity: 1
}

@media only screen and (max-width: 767px) {
	.kv .floatBtn {
		display: none;
		width: 75px;
		right: 10%;
		border-radius: 10px 10px 0 0
	}

	.kv .floatBtn:hover {
		width: 85px;
		right: 9%
	}
}

/* .kv__top */

.kv__top {
	position: relative;
	background-color: #b3edfb;
	height: 100svh;
	overflow: hidden;
}

.kv__top__elecom {
	width: 140px;
	position: absolute;
	left: 50px;
	top: 45px;
	margin: auto;
}

@media only screen and (max-width: 767px) {
	.kv__top__elecom {
		width: 90px;
		left: 20px;
		top: 25px;
	}
}

.kv__top__title {
	position: absolute;
	left: 50%;
	top: 40%;
	width: 59.443vw;
	opacity: 0;
	-webkit-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-o-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-webkit-transform: translate(-50%, -50%) scale(0.5);
	    -ms-transform: translate(-50%, -50%) scale(0.5);
	        transform: translate(-50%, -50%) scale(0.5);
	will-change: transform;

}
@media only screen and (max-width: 767px) {
	.kv__top__title {
		width: 98%;
	}
}
.kv__top.is-show .kv__top__title {
	opacity: 1;
	-webkit-transform: translate(-50%, -50%) scale(1);
	    -ms-transform: translate(-50%, -50%) scale(1);
	        transform: translate(-50%, -50%) scale(1);
	-webkit-transition-delay: 300ms;
	     -o-transition-delay: 300ms;
	        transition-delay: 300ms;
	-webkit-transition-delay:2.2s;
	     -o-transition-delay:2.2s;
	        transition-delay:2.2s;
}

.kv__top__cloud_blue {
	position: absolute;
	left: 0;
	top: 76.82svh;
	width: 100%;
}
@media only screen and (max-width: 767px) {
	.kv__top__cloud_blue {
		top: 66.137svh;
		width: 767px;
	}
}
.kv__top__cloud_white {
	position: absolute;
	left: 0;
	top: 85.558svh;
	width: 100%;
}
@media only screen and (max-width: 767px) {
	.kv__top__cloud_white {
		top: 73.897svh;
		width: 767px;
	}
}
.kv__top.is-show .kv__top__cloud_white {
	-webkit-transform-origin: bottom center;
	    -ms-transform-origin: bottom center;
	        transform-origin: bottom center;
	-webkit-animation: bomb3 3000ms ease forwards;
	        animation: bomb3 3000ms ease forwards;
}
@-webkit-keyframes bomb3 {
	0% {
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-transform:scale(0) translate3d(0, 0, 0);
		        transform:scale(0) translate3d(0, 0, 0)
	}
	15% {
		opacity: 1;
		-webkit-filter: none;
		        filter: none;
		-webkit-transform:scale(1.02) translate3d(0, 0, 0);
		        transform:scale(1.02) translate3d(0, 0, 0)
	}
	30% {
		-webkit-transform:scale(.99) translate3d(0, 0, 0);
		        transform:scale(.99) translate3d(0, 0, 0)
	}
	45%, 100% {
		opacity: 1;
		-webkit-filter: none;
		        filter: none;
		-webkit-transform:scale(1) translate3d(0, 0, 0);
		        transform:scale(1) translate3d(0, 0, 0)
	}
}
@keyframes bomb3 {
	0% {
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-transform:scale(0) translate3d(0, 0, 0);
		        transform:scale(0) translate3d(0, 0, 0)
	}
	15% {
		opacity: 1;
		-webkit-filter: none;
		        filter: none;
		-webkit-transform:scale(1.02) translate3d(0, 0, 0);
		        transform:scale(1.02) translate3d(0, 0, 0)
	}
	30% {
		-webkit-transform:scale(.99) translate3d(0, 0, 0);
		        transform:scale(.99) translate3d(0, 0, 0)
	}
	45%, 100% {
		opacity: 1;
		-webkit-filter: none;
		        filter: none;
		-webkit-transform:scale(1) translate3d(0, 0, 0);
		        transform:scale(1) translate3d(0, 0, 0)
	}
}
.kv__top.is-show .kv__top__cloud_blue {
	-webkit-transform-origin: bottom center;
	    -ms-transform-origin: bottom center;
	        transform-origin: bottom center;
	-webkit-animation: bomb4 3000ms ease forwards;
	        animation: bomb4 3000ms ease forwards;
}
@-webkit-keyframes bomb4 {
	0% {
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-transform:scale(0) translate3d(0, 0, 0);
		        transform:scale(0) translate3d(0, 0, 0)
	}
	30% {
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-transform:scale(0) translate3d(0, 0, 0);
		        transform:scale(0) translate3d(0, 0, 0)
	}
	45% {
		opacity: 1;
		-webkit-filter: none;
		        filter: none;
		-webkit-transform:scale(1.02) translate3d(0, 0, 0);
		        transform:scale(1.02) translate3d(0, 0, 0)
	}
	60% {
		-webkit-transform:scale(.99) translate3d(0, 0, 0);
		        transform:scale(.99) translate3d(0, 0, 0)
	}
	60%, 100% {
		opacity: 1;
		-webkit-filter: none;
		        filter: none;
		-webkit-transform:scale(1) translate3d(0, 0, 0);
		        transform:scale(1) translate3d(0, 0, 0)
	}
}
@keyframes bomb4 {
	0% {
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-transform:scale(0) translate3d(0, 0, 0);
		        transform:scale(0) translate3d(0, 0, 0)
	}
	30% {
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-transform:scale(0) translate3d(0, 0, 0);
		        transform:scale(0) translate3d(0, 0, 0)
	}
	45% {
		opacity: 1;
		-webkit-filter: none;
		        filter: none;
		-webkit-transform:scale(1.02) translate3d(0, 0, 0);
		        transform:scale(1.02) translate3d(0, 0, 0)
	}
	60% {
		-webkit-transform:scale(.99) translate3d(0, 0, 0);
		        transform:scale(.99) translate3d(0, 0, 0)
	}
	60%, 100% {
		opacity: 1;
		-webkit-filter: none;
		        filter: none;
		-webkit-transform:scale(1) translate3d(0, 0, 0);
		        transform:scale(1) translate3d(0, 0, 0)
	}
}

/* ===============================================
 about
=============================================== */

.about {
	padding: 70px 0 140px;
}

@media only screen and (max-width: 767px) {
	.about {
		padding: 50px 0;
	}
}

.about__inner {
	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;
}

.about__inner__description {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.about__inner__description__title {
	font-size: 50px;
	font-size: 5rem;
	line-height: 75px;
	font-weight: 700;
	font-family: Zen Maru Gothic, sans-serif;
}
@media only screen and (max-width: 767px) {
	.about__inner__description__title {
		width: 290px;
		margin: auto;
		font-size: 30px;
		font-size: 3rem;
		line-height: 46px;
	}
}
.about__inner__description__title #about_line1 {
	display: block;
	opacity: 0;
	-webkit-transform:translate3d(0, 100%, 0);
	        transform:translate3d(0, 100%, 0);
}
.about__inner__description__title.is-show #about_line1 {
	opacity: 1;
	-webkit-transition: opacity .4s ease-out, -webkit-transform .4s cubic-bezier(.38, 1.72, .93, .9);
	transition: opacity .4s ease-out, -webkit-transform .4s cubic-bezier(.38, 1.72, .93, .9);
	-o-transition: opacity .4s ease-out, transform .4s cubic-bezier(.38, 1.72, .93, .9);
	transition: opacity .4s ease-out, transform .4s cubic-bezier(.38, 1.72, .93, .9);
	transition: opacity .4s ease-out, transform .4s cubic-bezier(.38, 1.72, .93, .9), -webkit-transform .4s cubic-bezier(.38, 1.72, .93, .9);
	-webkit-transform:translateZ(0);
	        transform:translateZ(0);
}
.about__inner__description__title #about_line2 {
	display: block;
	opacity: 0;
	-webkit-transform:translate3d(0, 100%, 0);
	        transform:translate3d(0, 100%, 0);
}
.about__inner__description__title.is-show #about_line2 {
	opacity: 1;
	-webkit-transition: opacity .4s ease-out, -webkit-transform .4s cubic-bezier(.38, 1.72, .93, .9);
	transition: opacity .4s ease-out, -webkit-transform .4s cubic-bezier(.38, 1.72, .93, .9);
	-o-transition: opacity .4s ease-out, transform .4s cubic-bezier(.38, 1.72, .93, .9);
	transition: opacity .4s ease-out, transform .4s cubic-bezier(.38, 1.72, .93, .9);
	transition: opacity .4s ease-out, transform .4s cubic-bezier(.38, 1.72, .93, .9), -webkit-transform .4s cubic-bezier(.38, 1.72, .93, .9);
	-webkit-transform:translateZ(0);
	        transform:translateZ(0);
	-webkit-transition-delay:.1s;
	     -o-transition-delay:.1s;
	        transition-delay:.1s;
}

.about__inner__description__title .green {
	color: #00ab80;
}

.about__inner__description__title .red {
	color: #e94827;
}

.about__inner__description__title .yellow {
	color: #f5a500;
}

.about__inner__description__title .blue {
	color: #007ab0;
}

.about__inner__description__text {
	margin-top: 40px;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 44px;
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.about__inner__description__text {
		width: 290px;
		margin: 25px auto 0;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 30px;
	}
}

/* btn of about */

.about__mov__link {
	position: relative;
	margin: 60px auto 0 0;
	height: 70px;
	width: 345px;
	background-color: #fff;
	border: solid 2px #004094;
	border-radius: 70px;
	font-weight: 700;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 66px;
}

@media only screen and (max-width: 767px) {
	.about__mov__link {
		margin: 40px auto 0;
		height: 56px;
		width: 335px;
		border-radius: 56px;
		font-size: 15px;
		font-size: 1.5rem;
		line-height: 52px;
	}
}

.about__mov__link:hover {
	background-color: #004094;
}

.about__mov__link:hover a {
	color: #fff;
	opacity: 1;
}

.about__mov__link:hover .link {
	display: none;
}

.about__mov__link:hover .linkHov {
	display: block;
}

.about__mov__link a {
	color: #004094;
	line-height: 66px;
	width: 100%;
	padding-left: 30px;
	text-decoration: none;
}

@media only screen and (max-width: 767px) {
	.about__mov__link a {
		line-height: 52px;
		padding-left: 30px;
	}
}

.about__mov__link__img {
	position: absolute;
	width: 16px;
	height: 17px;
	right: 30px;
	top: calc(50% - 8px);
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.about__mov__link__img {
		width: 14px;
		height: 14px;
		right: 18px;
		top: calc(50% - 7px);
	}
}

.about__mov__link__img>img {
	width: 100%;
}

.about__mov__link .linkHov {
	display: none;
}

/* ===============================================
 lesson
=============================================== */

.lesson {
	padding: 0 0 140px;
}

@media only screen and (max-width: 767px) {
	.lesson {
		padding: 0 0 90px;
	}
}

.lesson__balloon {
	width: 67.862%;
	max-width: 927px;
	margin: auto;
	opacity: 0;
	-webkit-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 400ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 400ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-o-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 400ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 400ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 400ms cubic-bezier(0.375, 1.65, 0.58, 0.98), -webkit-transform 400ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-webkit-transform: translateY(100px) scale(0.5);
	    -ms-transform: translateY(100px) scale(0.5);
	        transform: translateY(100px) scale(0.5);
	will-change: transform;
}
@media only screen and (max-width: 767px) {
	.lesson__balloon {
		width: 64%;
		max-width: 240px;
	}
}
.lesson__balloon.is-show {
	opacity: 1;
	-webkit-transform: translateY(0) scale(1);
	    -ms-transform: translateY(0) scale(1);
	        transform: translateY(0) scale(1);
	-webkit-transition-delay: 300ms;
	     -o-transition-delay: 300ms;
	        transition-delay: 300ms;
}

/* .lesson__slide_image */

.lesson__slide_image {
	position: relative;
	overflow: hidden;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin-top: 30px;
	height: 354px;
	z-index: 1;
}

.lesson__slide_image>* {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.lesson__slide_image ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 20px;
	margin-right: 20px;
}

.lesson__slide_image li {
	width: 380px;
	height: 285px;
}

.lesson__slide_image li:nth-child(2n) {
	margin-top: 70px;
}

.lesson__slide_image .lesson__slide.auto_slide {
	-webkit-animation: auto_slide 72s linear infinite;
	        animation: auto_slide 72s linear infinite;
}

@-webkit-keyframes auto_slide {
	0% {
		-webkit-transform: translateX(0%);
		        transform: translateX(0%)
	}

	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%)
	}
}

@keyframes auto_slide {
	0% {
		-webkit-transform: translateX(0%);
		        transform: translateX(0%)
	}

	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%)
	}
}

@media screen and (max-width: 767px) {
	.lesson__slide_image {
		margin-top: 20px;
		height: 266px;
	}

	.lesson__slide_image ul {
		gap: 15px;
		margin-right: 15px;
	}

	.lesson__slide_image li {
		width: 306px;
		height: 230px;
	}

	.lesson__slide_image li:nth-child(2n) {
		margin-top: 36px;
	}

	.lesson__slide_image .lesson__slide.auto_slide {
		-webkit-animation: auto_slide 48s linear infinite;
		        animation: auto_slide 48s linear infinite;
	}
}

/* .lesson__description */

.lesson__description {
	position: relative;
	width: 76.72%;
	max-width: 1048px;
	margin: 100px auto 0;
	padding: 42px 45px 42px 190px;
	border: 5px solid #007ab0;
	border-radius: 30px;
	background-color: #fff;
	-webkit-transform: translate(40px);
	    -ms-transform: translate(40px);
	        transform: translate(40px);
}

@media screen and (max-width: 767px) {
	.lesson__description {
		width: 89.333%;
		max-width: auto;
		margin: 45px auto 0;
		padding: 25px;
		border: 2px solid #007ab0;
		border-radius: 20px;
		-webkit-transform: translate(0);
		    -ms-transform: translate(0);
		        transform: translate(0);
	}
}

.lesson__description__title {
	color: #007ab0;
	font-size: 28px;
	font-size: 2.8rem;
	font-family: Zen Maru Gothic, sans-serif;
	font-weight: 700;
	line-height: 42px;
}

@media screen and (max-width: 767px) {
	.lesson__description__title {
		font-size: 18px;
		font-size: 1.8rem;
		line-height: 29px;
		padding-left: 80px;
	}
}

.lesson__description__text {
	font-size: 18px;
	font-size: 1.8rem;
	font-family: Zen Maru Gothic, sans-serif;
	font-weight: 700;
	line-height: 38px;
	margin-top: 17px;
}

@media screen and (max-width: 767px) {
	.lesson__description__text {
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 24px;
		margin-top: 15px;
	}
}

.lesson__description__character {
	position: absolute;
	top: -14px;
	left: -90px;
}

@media screen and (max-width: 767px) {
	.lesson__description__character {
		top: -32px;
		left: -7px;
	}
}

.lesson__description__character>img {
	width: 209px;
	height: 252px;
}

@media screen and (max-width: 767px) {
	.lesson__description__character>img {
		width: 102px;
		height: 123px;
	}
}

/* ===============================================
 howto
=============================================== */

.howto {
	background-color: #00ab80;
	padding: 80px 0 160px;
	border-radius: 30px 30px 0 0;
}

@media only screen and (max-width: 767px) {
	.howto {
		padding: 40px 0 110px;
		border-radius: 15px 15px 0 0;
	}
}

.howto__titleSection {
	position: relative;
}

.howto__titleSection>h2 {
	font-weight: 400;
}

.howto__titleSection .c-title_sub {
	color: #fff;
	font-weight: 400;
}

.howto__titleSection .c-title {
	color: #fff;
	font-weight: 600;
}

/* swiper of howto */

.howto__body {
	margin: 0 auto;
	width: 67.862vw;
	opacity: 0;
	-webkit-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-o-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-webkit-transform: translateY(100px) scale(0.5);
	    -ms-transform: translateY(100px) scale(0.5);
	        transform: translateY(100px) scale(0.5);
	will-change: transform;
}
@media only screen and (max-width: 767px) {
	.howto__body {
		width: 89.333vw;
	}
}
.howto__body.is-show {
	opacity: 1;
	-webkit-transform: translateY(0) scale(1);
	    -ms-transform: translateY(0) scale(1);
	        transform: translateY(0) scale(1);
	-webkit-transition-delay: 300ms;
	     -o-transition-delay: 300ms;
	        transition-delay: 300ms;
}

.howto__body__itemContainer {
	position: relative;
	margin: 50px auto 0;
}

@media only screen and (max-width: 767px) {
	.howto__body__itemContainer {
		margin: 25px auto 0;
	}
}

.howto__body__itemContainer .nav .arrow .prev,
.howto__body__itemContainer .nav .arrow .next {
	position: absolute;
	top: calc(50% - 75px);
	z-index: 100;
	content: "";
	display: block;
	width: 83px;
	height: 76px;
	cursor: pointer;
	transition: all .2s ease;
}

@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .nav .arrow .prev,
	.howto__body__itemContainer .nav .arrow .next {
		top: calc(50% - 73px);
		width: 50px;
		height: 46px;
	}
}

.howto__body__itemContainer .nav .arrow .prev {
	left: -110px;
	background: url("../images/howto/btn_prev.webp") no-repeat top center;
	background-size: contain;
}
@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .nav .arrow .prev {
		left: -30px;
	}
}
.howto__body__itemContainer .nav .arrow .prev:hover {
	opacity: 1;
	background: url("../images/howto/btn_prev_on.webp") no-repeat top center;
	background-size: contain;
	top: calc(50% - 78px);
	left: -113px;
	width: 90px;
	height: 83px;
}
@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .nav .arrow .prev:hover {
		top: calc(50% - 76px);
		left: -32px;
		width: 55px;
		height: 50px;
	}
}
.howto__body__itemContainer .nav .arrow .next {
	right: -110px;
	background: url("../images/howto/btn_next.webp") no-repeat top center;
	background-size: contain;
}
@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .nav .arrow .next {
		right: -30px;
	}
}
.howto__body__itemContainer .nav .arrow .next:hover {
	opacity: 1;
	background: url("../images/howto/btn_next_on.webp") no-repeat top center;
	background-size: contain;
	top: calc(50% - 78px);
	right: -113px;
	width: 90px;
	height: 83px;
}
@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .nav .arrow .next:hover {
		top: calc(50% - 76px);
		right: -32px;
		width: 55px;
		height: 50px;
	}
}

.howto__body__itemContainer .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: -60px;
}

@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .swiper-pagination-bullets.swiper-pagination-horizontal {
		bottom: -35px;
	}
}

.howto__body__itemContainer .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.howto__body__itemContainer .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 10px;
}

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

	.howto__body__itemContainer .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
	.howto__body__itemContainer .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 5px;
	}
}

.howto__body__itemContainer .swiper-pagination-bullet {
	background-color: transparent;
	background-image: url("../images/howto/dot_noactive.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	border-radius: unset;
	height: 11px;
	opacity: 1;
	width: 11px;
}

@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .swiper-pagination-bullet {
		height: 8px;
		width: 8px;
	}
}

.howto__body__itemContainer .swiper-pagination-bullet-active {
	background-image: url("../images/howto/dot_active.svg");
	height: 21px;
	width: 19px;
	-webkit-transform: translateY(5px);
	    -ms-transform: translateY(5px);
	        transform: translateY(5px);
}

@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .swiper-pagination-bullet-active {
		height: 13px;
		width: 11px;
		-webkit-transform: translateY(3px);
		    -ms-transform: translateY(3px);
		        transform: translateY(3px);
	}
}

.howto__body__itemContainer .swiper-slide img {
	height: auto;
	width: 100%;
}

.howto__body__itemContainer .swiper-step {
	width: 90.938%;
	text-align: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: auto;
}

@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .swiper-step {
		width: 91.044%;
		display: block;
	}
}

.howto__body__itemContainer .swiper-step__title {
	width: 22%;
	color: #fff;
	font-size: 20px;
	font-size: 2rem;
	font-weight: 700;
	border-radius: 0 0 0 20px;
	background-color: #007ab0;
	padding: 20px;
}

@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .swiper-step__title {
		width: 100%;
		font-size: 13px;
		font-size: 1.3rem;
		border-radius: 7px 7px 0 0;
		padding: 7px;
		margin-top: 15px;
	}
}

.howto__body__itemContainer .swiper-step__text {
	width: 78%;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	border-radius: 0 0 20px 0;
	background-color: #fff;
	padding: 20px;
}

@media only screen and (max-width: 767px) {
	.howto__body__itemContainer .swiper-step__text {
		width: 100%;
		font-size: 13px;
		font-size: 1.3rem;
		line-height: 20px;
		border-radius: 0 0 7px 7px;
		padding: 10px;
	}
}

/* ===============================================
 secret
=============================================== */

.secret {
	background-color: #f5a500;
	padding: 80px 0 160px;
	border-radius: 0 0 30px 30px;
}

@media only screen and (max-width: 767px) {
	.secret {
		padding: 40px 0 110px;
		border-radius: 0 0 15px 15px;
	}
}

.secret__titleSection {
	position: relative;
}

.secret__titleSection>h2 {
	font-weight: 400;
}

.secret__titleSection .c-title_sub {
	color: #fff;
	font-weight: 400;
}

.secret__titleSection .c-title {
	color: #fff;
	font-weight: 600;
}

/* swiper of secret */

.secret__body {
	margin: 0 auto;
	width: 67.862vw;
	opacity: 0;
	-webkit-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-o-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-webkit-transform: translateY(100px) scale(0.5);
	    -ms-transform: translateY(100px) scale(0.5);
	        transform: translateY(100px) scale(0.5);
	will-change: transform;
}

@media only screen and (max-width: 767px) {
	.secret__body {
		width: 89.333vw;
	}
}
.secret__body.is-show {
	opacity: 1;
	-webkit-transform: translateY(0) scale(1);
	    -ms-transform: translateY(0) scale(1);
	        transform: translateY(0) scale(1);
	-webkit-transition-delay: 300ms;
	     -o-transition-delay: 300ms;
	        transition-delay: 300ms;
}

.secret__body__itemContainer {
	position: relative;
	margin: 50px auto 0;
}

@media only screen and (max-width: 767px) {
	.secret__body__itemContainer {
		margin: 25px auto 0;
	}
}

.secret__body__itemContainer .nav .arrow .prev,
.secret__body__itemContainer .nav .arrow .next {
	position: absolute;
	top: calc(50% - 65px);
	z-index: 100;
	content: "";
	display: block;
	width: 83px;
	height: 76px;
	cursor: pointer;
	transition: all .2s ease;
}

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

	.secret__body__itemContainer .nav .arrow .prev,
	.secret__body__itemContainer .nav .arrow .next {
		top: calc(50% - 55px);
		width: 50px;
		height: 46px;
	}
}

.secret__body__itemContainer .nav .arrow .prev {
	left: -110px;
	background: url("../images/secret/btn_prev.webp") no-repeat top center;
	background-size: contain;
}
@media only screen and (max-width: 767px) {
	.secret__body__itemContainer .nav .arrow .prev {
		left: -30px;
	}
}
.secret__body__itemContainer .nav .arrow .prev:hover {
	opacity: 1;
	background: url("../images/secret/btn_prev_on.webp") no-repeat top center;
	background-size: contain;
	top: calc(50% - 70px);
	left: -113px;
	width: 90px;
	height: 83px;
}
@media only screen and (max-width: 767px) {
	.secret__body__itemContainer .nav .arrow .prev:hover {
		top: calc(50% - 57px);
		left: -32px;
		width: 55px;
		height: 50px;
	}
}
.secret__body__itemContainer .nav .arrow .next {
	right: -110px;
	background: url("../images/secret/btn_next.webp") no-repeat top center;
	background-size: contain;
}
@media only screen and (max-width: 767px) {
	.secret__body__itemContainer .nav .arrow .next {
		right: -30px;
	}
}
.secret__body__itemContainer .nav .arrow .next:hover {
	opacity: 1;
	background: url("../images/secret/btn_next_on.webp") no-repeat top center;
	background-size: contain;
	top: calc(50% - 70px);
	right: -113px;
	width: 90px;
	height: 83px;
}
@media only screen and (max-width: 767px) {
	.secret__body__itemContainer .nav .arrow .next:hover {
		top: calc(50% - 57px);
		right: -32px;
		width: 55px;
		height: 50px;
	}
}

.secret__body__itemContainer .swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: -60px;
}

@media only screen and (max-width: 767px) {
	.secret__body__itemContainer .swiper-pagination-bullets.swiper-pagination-horizontal {
		bottom: -35px;
	}
}

.secret__body__itemContainer .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.secret__body__itemContainer .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0 10px;
}

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

	.secret__body__itemContainer .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
	.secret__body__itemContainer .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 5px;
	}
}

.secret__body__itemContainer .swiper-pagination-bullet {
	background-color: transparent;
	background-image: url("../images/secret/dot_noactive.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	border-radius: unset;
	height: 11px;
	opacity: 1;
	width: 11px;
}

@media only screen and (max-width: 767px) {
	.secret__body__itemContainer .swiper-pagination-bullet {
		height: 8px;
		width: 8px;
	}
}

.secret__body__itemContainer .swiper-pagination-bullet-active {
	background-image: url("../images/secret/dot_active.svg");
	height: 21px;
	width: 19px;
	-webkit-transform: translateY(5px);
	    -ms-transform: translateY(5px);
	        transform: translateY(5px);
}

@media only screen and (max-width: 767px) {
	.secret__body__itemContainer .swiper-pagination-bullet-active {
		height: 13px;
		width: 11px;
		-webkit-transform: translateY(3px);
		    -ms-transform: translateY(3px);
		        transform: translateY(3px);
	}
}

.secret__body__itemContainer .swiper-slide img {
	height: auto;
	width: 100%;
}

.secret__body__itemContainer .swiper-step {
	width: 90.938%;
	text-align: center;
	display: block;
	margin: auto;
}

@media only screen and (max-width: 767px) {
	.secret__body__itemContainer .swiper-step {
		width: 91.044%;
		display: block;
	}
}

.secret__body__itemContainer .swiper-step__text {
	width: 100%;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	border-radius: 0 0 20px 20px;
	background-color: #fff;
	padding: 20px;
}

@media only screen and (max-width: 767px) {
	.secret__body__itemContainer .swiper-step__text {
		width: 100%;
		font-size: 13px;
		font-size: 1.3rem;
		line-height: 20px;
		border-radius: 7px;
		padding: 10px;
		margin-top: 15px;
	}
}

/* ===============================================
 basis
=============================================== */

.basis {
	width: 91.215%;
	max-width: 1246px;
	padding: 0 0 140px;
	margin: 200px auto 0;
	background-color: #007ab0;
	border-radius: 20px;
}

@media only screen and (max-width: 767px) {
	.basis {
		width: 92%;
		max-width: auto;
		padding: 5px 0 60px;
		margin: 145px auto 0;
		border-radius: 15px;
	}
}

.basis__titleSection {
	position: relative;
	-webkit-transform: translateY(-35px);
	    -ms-transform: translateY(-35px);
	        transform: translateY(-35px)
}

.basis__titleSection:before {
	display: block;
	position: absolute;
	content: "";
	width: 600px;
	height: 480px;
	border-radius: 50%;
	background-color: #007ab0;
	top: -90px;
	left: 50%;
	-webkit-transform: translate(-50%);
	    -ms-transform: translate(-50%);
	        transform: translate(-50%);
	z-index: -10;
}

@media only screen and (max-width: 767px) {
	.basis__titleSection:before {
		width: 220px;
		height: 200px;
		top: -55px;
	}
}

.basis__titleSection .c-title_sub {
	color: #fff;
	font-weight: 400;
	padding-top: 15px;
}

@media only screen and (max-width: 767px) {
	.basis__titleSection .c-title_sub {
		padding-top: 10px;
	}
}

.basis__titleSection .c-title h2 {
	color: #fff;
	font-weight: 600;
	padding-top: 5px;
	letter-spacing: 4.7px;
}

.basis__uppertext {
	position: relative;
	font-size: 20px;
	font-size: 2rem;
	line-height: 34px;
	font-weight: 700;
	font-family: Zen Maru Gothic, sans-serif;
	color: #fff;
	text-align: center;
	letter-spacing: .1em;
	margin: auto;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	opacity: 0;
	-webkit-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-o-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-webkit-transform: translateY(100px) scale(0.5);
	    -ms-transform: translateY(100px) scale(0.5);
	        transform: translateY(100px) scale(0.5);
	will-change: transform;
}
@media only screen and (max-width: 767px) {
	.basis__uppertext {
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 24px;
		margin: -10px auto 0;
	}
}
.basis__uppertext.is-show {
	opacity: 1;
	-webkit-transform: translateY(0) scale(1);
	    -ms-transform: translateY(0) scale(1);
	        transform: translateY(0) scale(1);
	-webkit-transition-delay: 300ms;
	     -o-transition-delay: 300ms;
	        transition-delay: 300ms;
}

.basis__uppertext::before {
	position: absolute;
	content: "";
	background-color: #fff;
	width: 2px;
	height: 80px;
	top: 0;
	left: -25px;
	-webkit-transform: rotate(-30deg);
	    -ms-transform: rotate(-30deg);
	        transform: rotate(-30deg);
}

@media only screen and (max-width: 767px) {
	.basis__uppertext::before {
		width: 1px;
		height: 50px;
		left: -20px;
	}
}

.basis__uppertext::after {
	position: absolute;
	content: "";
	background-color: #fff;
	width: 2px;
	height: 80px;
	top: 0;
	right: -25px;
	-webkit-transform: rotate(30deg);
	    -ms-transform: rotate(30deg);
	        transform: rotate(30deg);
}

@media only screen and (max-width: 767px) {
	.basis__uppertext::after {
		width: 1px;
		height: 50px;
		right: -20px;
	}
}

.basis__body {
	position: relative;
	margin-top: 90px;
	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;
	width: 100%;
	color: #fff;
}

@media only screen and (max-width: 767px) {
	.basis__body {
		display: block;
		margin-top: 30px;
	}
}

.basis__body.body2nd {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
}

@media only screen and (max-width: 767px) {
	.basis__body.body2nd {
		margin-top: 50px;
	}
}

.basis__body__img {
	width: 58%;
	position: relative;
}

@media only screen and (max-width: 767px) {
	.basis__body__img {
		width: 88.405%;
		margin: 0 auto 20px;
	}
}

.basis__body__description {
	width: 42%;
	padding: 0 0 0 7%;
	opacity: 0;
	-webkit-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-o-transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	transition: opacity 200ms cubic-bezier(0.25, 0.25, 0.75, 0.75), transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98), -webkit-transform 500ms cubic-bezier(0.375, 1.65, 0.58, 0.98);
	-webkit-transform: translateY(100px) scale(0.5);
	    -ms-transform: translateY(100px) scale(0.5);
	        transform: translateY(100px) scale(0.5);
	will-change: transform;
}
@media only screen and (max-width: 1200px) {
	.basis__body__description {
		padding: 0 0 0 4%;
	}
}
@media only screen and (max-width: 767px) {
	.basis__body__description {
		width: 88.405%;
		margin: auto;
		padding: 0;
	}
}
.basis__body__description.is-show {
	opacity: 1;
	-webkit-transform: translateY(0) scale(1);
	    -ms-transform: translateY(0) scale(1);
	        transform: translateY(0) scale(1);
	-webkit-transition-delay: 300ms;
	     -o-transition-delay: 300ms;
	        transition-delay: 300ms;
}



.basis__body__title {
	text-align: left;
	font-family: Zen Maru Gothic, sans-serif;
	font-size: 32px;
	font-size: 3.2rem;
	line-height: 56px;
	font-weight: 700;
}

@media only screen and (max-width: 1000px) {
	.basis__body__title {
		font-size: 26px;
		font-size: 2.6rem;
		line-height: 44px;
	}
}

@media only screen and (max-width: 767px) {
	.basis__body__title {
		font-size: 20px;
		font-size: 2rem;
		line-height: 32px;
		padding: 0 25px;
	}
}

.basis__body__text {
	padding-top: 20px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 34px;
	font-weight: 500;
}

@media only screen and (max-width: 1000px) {
	.basis__body__text {
		padding-top: 15px;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 32px;
	}
}

@media only screen and (max-width: 767px) {
	.basis__body__text {
		font-size: 13px;
		font-size: 1.3rem;
		letter-spacing: .39px;
		line-height: 28px;
		padding: 10px 25px 0;
	}
}

.basis__body__text2 {
	padding-top: 40px;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 34px;
	font-weight: 500;
}

@media only screen and (max-width: 1000px) {
	.basis__body__text2 {
		padding-top: 30px;
		font-size: 13px;
		font-size: 1.3rem;
		line-height: 28px;
	}
}

@media only screen and (max-width: 767px) {
	.basis__body__text2 {
		font-size: 13px;
		font-size: 1.3rem;
		padding: 15px 25px 0;
	}
}

.basis__body__btn {
	background-color: #b3edfb;
	width: 275px;
	border-radius: 55px;
	height: 55px;
	line-height: 55px;
	font-family: Zen Maru Gothic, sans-serif;
	text-align: center;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	margin: 15px auto 0 0;
}

@media only screen and (max-width: 900px) {
	.basis__body__btn {
		width: 250px;
	}
}

@media only screen and (max-width: 767px) {
	.basis__body__btn {
		margin: 15px auto 0;
	}
}

.basis__body__btn>a {
	position: relative;
	color: #007ab0;
	text-decoration: none;
	width: 100%;
	opacity: 1;
}

.basis__body__btn .triangle {
	display: block;
	position: absolute;
	right: 5%;
	top: 50%;
	-webkit-transform: translateY(-50%);
	    -ms-transform: translateY(-50%);
	        transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 10px solid #007ab0;
	border-right: 0;
}

/* ===============================================
 keyboard
=============================================== */

.keyboard {
	padding: 60px 0 80px;
}

@media only screen and (max-width: 767px) {
	.keyboard {
		padding: 50px 0 60px;
	}
}

.keyboard a {
	text-decoration: none;
	cursor: pointer;
	width: 68.814%;
	max-width: 940px;
	margin: auto;
	display: block;
}
@media only screen and (max-width: 767px) {
	.keyboard a {
		width: 81.333%;
	}
}

.keyboard a:hover {
	opacity: 1;
}

.keyboard__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

@media only screen and (max-width: 767px) {
	.keyboard__inner {
		display: block;
	}
}

.keyboard__inner__img {
	width: 57.978%;
	display: inline-block;
	perspective: 1000px;
}
@media only screen and (max-width: 767px) {
	.keyboard__inner__img {
		width: 100%;
	}
}

.keyboard__inner__img .card {
	position: relative;
	cursor: pointer;
	transition: transform .6s ease-in-out;
	transform-style: preserve-3d;
	width: 39.604vw;
	max-width: 541px;
	height: 23.352vw;
	max-height: 319px;
}
@media only screen and (max-width: 767px) {
	.keyboard__inner__img .card {
		width: 100%;
		max-width: 100%;
		height: 54.4vw;
		max-height: 54.4vw;
	}
}
.keyboard__inner__img .card .front,
.keyboard__inner__img .card .back {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	transform: rotateX(0deg);
}
.keyboard__inner__img .card .front {
	z-index: 2;
}
.keyboard__inner__img .card .back,
.keyboard__inner__img.flip-right .card .back {
	transform: rotateY(180deg);
}
.keyboard a:hover .keyboard__inner__img .card,
.keyboard a:hover .keyboard__inner__img.flip-right .card {
	transform: rotateY(180deg);
}
.keyboard__inner__img.flip-left .card .back {
	transform: rotateY(-180deg);
}
.keyboard a:hover .keyboard__inner__img.flip-left .card {
	transform: rotateY(-180deg);
}

.keyboard__inner__description {
	width: 37.021%;
}
@media only screen and (max-width: 767px) {
	.keyboard__inner__description {
		width: 95%;
		margin: auto;
	}
}

.keyboard__inner__description__title {
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 48px;
	font-weight: 700;
	font-family: Zen Maru Gothic, sans-serif;
	color: #004094;
}
@media only screen and (max-width: 767px) {
	.keyboard__inner__description__title {
		font-size: 20px;
		font-size: 2rem;
		line-height: 34px;
	}
}

.keyboard__inner__description__title img {
	width: 93.39%;
	max-width: 380px;
	padding-bottom: 8px;
	display: inline-block;
}
@media only screen and (max-width: 1100px) {
	.keyboard__inner__description__title img {
		width: 90%;
	}
}
@media only screen and (max-width: 767px) {
	.keyboard__inner__description__title img {
		width: 60.533vw;
		max-width: auto;
		padding-bottom: 7px;
		margin-top: 25px;
	}
}

.keyboard__inner__description__title span {
	font-size: 18px;
	font-size: 1.8rem;
}

@media only screen and (max-width: 767px) {
	.keyboard__inner__description__title span {
		font-size: 16px;
		font-size: 1.6rem;
	}
}

.keyboard__inner__description__text {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 28px;
	font-weight: 700;
	margin-top: 15px;
}

@media only screen and (max-width: 767px) {
	.keyboard__inner__description__text {
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: 700;
		margin-top: 15px;
	}
}

.keyboard__arrow {
	position: absolute;
	right: 0;
	bottom: 15px;
	height: 52px;
	width: 52px;
}

@media only screen and (max-width: 767px) {
	.keyboard__arrow {
		right: 5px;
		bottom: 5px;
		height: 38px;
		width: 38px;
	}
}

/* ===============================================
 faq
=============================================== */

.faq {
	background-color: #f1f1f1;
	padding: 80px 0 70px;
	border-radius: 30px 30px 0 0;
}

@media only screen and (max-width: 767px) {
	.faq {
		padding: 60px 0 50px;
		border-radius: 15px 15px 0 0;
	}
}

.faq__inner {
	margin: 0 auto;
	width: 100%;
	max-width: 928px;
}

@media only screen and (max-width: 767px) {
	.faq__inner {
		max-width: auto;
		padding: 0 20px
	}
}

.faq__title {
	background-color: #f5a500;
	border: 6px solid #d79100;
	border-radius: 20px;
	height: 74px;
	margin: 0 auto 40px;
}

@media only screen and (max-width: 767px) {
	.faq__title {
		border: 4px solid #d79100;
		border-radius: 10px;
		height: 48px;
		margin: 0 auto 30px;
	}
}

.faq__title>h2 {
	font-family: Zen Maru Gothic, sans-serif;
	font-weight: 700;
	font-size: 34px;
	font-size: 3.4rem;
	line-height: 62px;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.faq__title>h2 {
		font-size: 23px;
		font-size: 2.3rem;
		line-height: 40px;
	}
}

.faq__body__itemContainer__item {
	background-color: #fff;
	border-radius: 20px;
	margin: 0 auto 30px;
	padding: 25px 40px;
}

@media only screen and (max-width: 767px) {
	.faq__body__itemContainer__item {
		border-radius: 10px;
		margin: 0 auto 15px;
		padding: 15px 20px;
	}
}

.faq__body__itemContainer__item:last-child {
	margin: 0 auto;
}

.faq__body__itemContainer__item__q {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 15px;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	margin: 0 0 15px;
}

@media only screen and (max-width: 767px) {
	.faq__body__itemContainer__item__q {
		gap: 10px;
		margin: 0 0 10px;
	}
}

.faq__body__itemContainer__item__q .mark {
	background-color: #333;
	color: #fff;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	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 (max-width: 767px) {
	.faq__body__itemContainer__item__q .mark {
		width: 28px;
		height: 28px;
		border-radius: 8px;
	}
}

.faq__body__itemContainer__item__q .mark span {
	font-family: Zen Maru Gothic, sans-serif;
	font-weight: 700;
	font-size: 24px;
	font-size: 2.4rem;
	margin-top: -3px;
}

@media only screen and (max-width: 767px) {
	.faq__body__itemContainer__item__q .mark span {
		font-size: 18px;
		font-size: 1.8rem;
	}
}

.faq__body__itemContainer__item__q .text {
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 40px;
	width: 90%;
}

@media only screen and (max-width: 767px) {
	.faq__body__itemContainer__item__q .text {
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 22px;
	}
}

.faq__body__itemContainer__item__a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 15px;
}

@media only screen and (max-width: 767px) {
	.faq__body__itemContainer__item__a {
		gap: 10px;
	}
}

.faq__body__itemContainer__item__a .mark {
	background-color: #f5a500;
	color: #333;
	width: 40px;
	height: 40px;
	border: 3px solid #333;
	border-radius: 10px;
	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 (max-width: 767px) {
	.faq__body__itemContainer__item__a .mark {
		width: 28px;
		height: 28px;
		border: 2px solid #333;
		border-radius: 8px;
	}
}

.faq__body__itemContainer__item__a .mark span {
	font-family: Zen Maru Gothic, sans-serif;
	font-weight: 700;
	font-size: 24px;
	font-size: 2.4rem;
	margin-top: -3px;
}

@media only screen and (max-width: 767px) {
	.faq__body__itemContainer__item__a .mark span {
		font-size: 18px;
		font-size: 1.8rem;
	}
}

.faq__body__itemContainer__item__a .text {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 32px;
	width: 90%;
}

@media only screen and (max-width: 767px) {
	.faq__body__itemContainer__item__a .text {
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 22px;
	}
}

/* ===============================================
 modal - [ micromodal.js ]
=============================================== */

#modal-1 {
	display: none;
}
#modal-1.is-open {
	display: block;
}
.modal {
}
.modal__overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2999;
	background: rgba(0, 0, 0, 0.3);
	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;
}
.modal__container {
	background-color: #fff;
	width: 100%;
	max-width: 930px;
	height: 500px;
	max-height: 90svh;
	margin: -50px 20px 0;
	padding: 40px 45px 45px;
	border-radius: 30px;
	overflow-y: auto;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-box-shadow: 0px 10px 0px 0px rgba(0, 0, 0, 0.1);
	        box-shadow: 0px 10px 0px 0px rgba(0, 0, 0, 0.1);
	overflow: visible;
}
@media only screen and (max-width: 767px) {
	.modal__container {
		height: 400px;
		max-height: 60svh;
		padding: 25px;
		border-radius: 20px;
		-webkit-box-shadow: 0px 10px 0px 0px rgba(0, 0, 0, 0.1);
		        box-shadow: 0px 10px 0px 0px rgba(0, 0, 0, 0.1);
	}
}
.modal__header {
	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;
}
.modal__title {
	font-size: 30px;
	font-size: 3rem;
	font-family: Zen Maru Gothic, sans-serif;
	font-weight: 700;
	line-height: 30px;
	margin: 0 auto 30px;
}
@media only screen and (max-width: 767px) {
	.modal__title {
		font-size: 20px;
		font-size: 2rem;
		line-height: 22px;
		margin: 0 auto 17px;
	}
}
.modal__content {
}
.rules__textContainer {
	max-width: 836px;
	height: 224px;
	margin: 0 auto;
	background-color: #fff;
	border: 2px solid #d1d1d1;
	border-radius: 30px;
	padding: 6px 30px;
}
@media only screen and (max-width: 767px) {
	.rules__textContainer {
		height: 200px;
		border: 1px solid #d1d1d1;
		border-radius: 20px;
		padding: 5px 25px;
	}
}
.rules__textContainer__inner {
	width: 100%;
	height: 208px;
	overflow-y: scroll;
	overflow-x: hidden;
}
@media only screen and (max-width: 767px) {
	.rules__textContainer__inner {
		height: 188px;
	}
}
.rules__textContainer__inner__text {
	padding: 34px 0 0;
}
@media only screen and (max-width: 767px) {
	.rules__textContainer__inner__text {
		padding: 15px 0 0;
	}
}
.rules__textContainer__inner__text.end {
	padding: 34px 0;
}
@media only screen and (max-width: 767px) {
	.rules__textContainer__inner__text.end {
		padding: 15px 0;
	}
}
.rules__textContainer__inner__text h4 {
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 22px;
}
@media only screen and (max-width: 767px) {
	.rules__textContainer__inner__text h4 {
		font-size: 14px;
		font-size: 1.4rem;
	}
}
.rules__textContainer__inner__text p {
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 22px;
	margin: 15px 0 0;
}
@media only screen and (max-width: 767px) {
	.rules__textContainer__inner__text p {
		margin: 10px 0 0;
	}
}
.rules__textContainer__inner__text ol {
	list-style: inside;
	list-style-type: decimal;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 22px;
	margin: 15px 0 0;
	padding-left: 1em;
	text-indent: -1em;
}
@media only screen and (max-width: 767px) {
	.rules__textContainer__inner__text ol {
		margin: 10px 0 0;
	}
}
.rules__agree__btn {
	background-color: #000;
	border-radius: 20px;
	margin: 20px auto 0;
	width: 100%;
	max-width: 836px;
	height: 70px;
}
@media only screen and (max-width: 767px) {
	.rules__agree__btn {
		border-radius: 12px;
		height: 50px;
	}
}
.rules__agree__btn a {
	background-color: #e94827;
	border: 8px solid #ee7860;
	border-radius: 20px;
	display: block;
	width: 100%;
	height: 100%;
	line-height: 22px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 700;
	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 (max-width: 767px) {
	.rules__agree__btn a {
		border: 4px solid #ee7860;
		border-radius: 12px;
		font-size: 15px;
		font-size: 1.5rem;
	}
}
.rules__agree__btn a:hover {
	text-decoration: none;
	opacity: .8;
}
.rules__links {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 30px;
}
@media only screen and (max-width: 767px) {
	.rules__links {
		gap: 20px;
	}
}
.rules__links a {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 500;
	margin-top: 25px;
}
@media only screen and (max-width: 767px) {
	.rules__links a {
		margin-top: 20px;
	}
}
.rules__links a:hover {
	text-decoration: underline;
}
.modal__close {
	position: absolute;
	left: 50%;
	bottom: -100px;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	background-color: #333;
	color: #fff;
	width: 218px;
	height: 50px;
	border-radius: 50px;
	font-family: Zen Maru Gothic, sans-serif;
	font-weight: 500;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 50px;
}
@media only screen and (max-width: 767px) {
	.modal__close {
		bottom: -80px;
	}
}
.modal__close:hover {
	opacity: 1;
}
.modal__close span {
	margin-left: 45px;
	padding-right: 15px;
}
.modal__close .icon-close {
	width: 24px;
	height: 24px;
	position: relative;
}
.modal__close .icon-close:before,
.modal__close .icon-close:after {
	content: "";
	position: absolute;
	top: 12px;
	width: 24px;
	height: 1px;
	background-color: currentColor;
}
.modal__close .icon-close:before {
	-webkit-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
.modal__close .icon-close:after {
	-webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
}

/* Demo Animation Style */

@-webkit-keyframes mmfadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes mmfadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@-webkit-keyframes mmfadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}
@keyframes mmfadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}
@-webkit-keyframes mmslideIn {
	from {
		-webkit-transform: translateY(15%);
		        transform: translateY(15%);
	}
	to {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
@keyframes mmslideIn {
	from {
		-webkit-transform: translateY(15%);
		        transform: translateY(15%);
	}
	to {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
}
@-webkit-keyframes mmslideOut {
	from {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	to {
		-webkit-transform: translateY(-10%);
		        transform: translateY(-10%);
	}
}
@keyframes mmslideOut {
	from {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	to {
		-webkit-transform: translateY(-10%);
		        transform: translateY(-10%);
	}
}
.micromodal-slide {
	display: none;
}
.micromodal-slide.is-open {
	display: block;
}
.micromodal-slide[aria-hidden="false"] .modal__overlay {
	-webkit-animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
	        animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}
.micromodal-slide[aria-hidden="false"] .modal__container {
	-webkit-animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
	        animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}
.micromodal-slide[aria-hidden="true"] .modal__overlay {
	-webkit-animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
	        animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}
.micromodal-slide[aria-hidden="true"] .modal__container {
	-webkit-animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
	        animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}
.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
	will-change: transform;
}

/* +++ */