@charset "UTF-8";

/* --------------------------------------------------------------------- */
/* font */
/* --------------------------------------------------------------------- */

@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p:400,700');
@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+HK:wght@100;300;400;500;700;900&display=swap');

.ff_type1{
	font-family: 'M PLUS 1p', sans-serif;
}

.ff_type2{
	font-family: 'Prompt', sans-serif;
}

.ff_type3{
	font-family: 'Noto Sans JP', sans-serif;
}

.ff_type4{
	font-family: 'Noto Sans HK', sans-serif;
}

.fw_type1{
	font-weight: 400;
}

.fw_type2{
	font-weight: 700;
}

.fw_type3{
	font-weight: 900;
}


.fw_typeB{
	font-weight: bold;
}

.fc_type1{
	color: #fff;
}

.fc_type2{
	color: #d80716;
}

.ls_type1{
	letter-spacing: 8px;
}

.ls_type2{
	letter-spacing: 4px;
}

/* --------------------------------------------------------------------- */
/* style */
/* --------------------------------------------------------------------- */

/* align */

.tx_left{
	text-align: left;
}

.tx_right{
	text-align: right;
}

.tx_center{
	text-align: center;
}

/* textlink */

.txl_type1{
	font-size: 14px;
}

.ta_type1 a{
	color: #00a199;
	text-decoration: none;
	display: inline-block;
	padding: 0px 12px 0px 0px;
	position: relative;
}

.ta_type1 a:after{
	content: "";
	border-bottom: 1px solid #00a199;
	border-right: 1px solid #00a199;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0px;
	width: 6px;
	height: 6px;
	margin: auto;
}

.ta_type1 a:hover{
	opacity: 0.6;
}

.ta_type2 a{
	color: #00a199;
	text-decoration: none;
	display: inline-block;
	padding: 0px 0px 0px 0px;
	position: relative;
}

.ta_type2 a:after{
	content: "";
	background: #00a199;
	bottom: -2px;
	right: 0;
	left: 0;
	position: absolute;
	width:100%;
	height: 1px;
	margin: auto;
}

.ta_type2 a:hover{
	opacity: 0.6;
}



/* --------------------------------------------------------------------- */
/* layout */
/* --------------------------------------------------------------------- */

/* flexbox */

.flexboxType1-rp{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: normal;
}

.flexboxType1-pc{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: normal;
}

.flexboxType1-sp{
	display: block;
}

.flexboxType2-rp{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: center;
}

.flexboxType2-pc{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: center;
}

.flexboxType3-rp{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: flex-end;
}

.flexboxType3-pc{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: flex-end;
}



/* --------------------------------------------------------------------- */
/* transition */
/* --------------------------------------------------------------------- */

.ts_type1{
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
}


/* --------------------------------------------------------------------- */
/* ef */
/* --------------------------------------------------------------------- */

.ef_up{
	opacity: 0;
}

.ef_up.play {
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 0.2s;
}

@keyframes ef_up_anime{
	0%   {
		transform:translateY(20px);
		opacity: 0;
	}
	100%  {
		transform:translateY(0px);
		opacity: 1;
	}
}

.ef_down{
	opacity: 0;
}

.ef_down.play {
	animation: ef_down_anime 0.6s forwards;
	animation-delay: 0.2s;
}

@keyframes ef_down_anime{
	0%   {
		transform:translateY(0px);
		opacity: 0;
	}
	100%  {
		transform:translateY(10px);
		opacity: 1;
	}
}

.ef_bound{
	opacity: 0;
}

.ef_bound.play {
	animation: ef_bound_anime 3s forwards;
	animation-delay: 0.6s;
}

@keyframes ef_bound_anime{
	0% { transform: scale(0.8, 0.8);opacity: 1; }
	5% { transform: scale(1.2, 1.2);opacity: 1; }
	10% { transform: scale(1, 1);opacity: 1; }
	15% { transform: scale(1.1, 1.1);opacity: 1; }
	20% { transform: scale(1, 1);opacity: 1; }
	100% { transform: scale(1, 1);opacity: 1; }
}

.ef_right1{
	opacity: 0;
}

.ef_right1.play {
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 0.2s;
}

@keyframes ef_right1Start_anime{
	0%   {
		transform:translateX(30px);
		opacity: 0;
	}
	100%  {
		transform:translateX(0px);
		opacity: 1;
	}
}

.ef_left1{
	opacity: 0;
}

.ef_left1.play {
	animation: ef_left1Start_anime 0.6s forwards;
	animation-delay: 0.2s;
}

@keyframes ef_left1Start_anime{
	0%   {
		transform:translateX(-30px);
		opacity: 0;
	}
	100%  {
		transform:translateX(0px);
		opacity: 1;
	}
}

.ef_vo{
	opacity: 0;
}

.ef_v.play .ef_vo1{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 0.4s;
}

.ef_v.play .ef_vo2{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 0.7s;
}

.ef_v.play .ef_vo3{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 0.9s;
}

.ef_v.play .ef_vo4{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 1.1s;
}

.ef_po{
	opacity: 0;
}

.ef_p.play .ef_po1{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 0.4s;
}

.ef_p.play .ef_po2{
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 0.7s;
}

.ef_p.play .ef_po3{
	animation: ef_left1Start_anime 0.6s forwards;
	animation-delay: 0.9s;
}

.ef_p.play .ef_po4{
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 1.1s;
}

.ef_p.play .ef_po5{
	animation: ef_left1Start_anime 0.6s forwards;
	animation-delay: 1.3s;
}

.ef_p.play .ef_po6{
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 1.5s;
}

.ef_p.play .ef_po7{
	animation: ef_left1Start_anime 0.6s forwards;
	animation-delay: 1.7s;
}

.ef_p.play .ef_po8{
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 1.9s;
}

.ef_p.play .ef_po9{
	animation: ef_left1Start_anime 0.6s forwards;
	animation-delay: 2.1s;
}



/* --------------------------------------------------------------------- */
/* sp */
/* --------------------------------------------------------------------- */

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

/* --------------------------------------------------------------------- */
/* layout */
/* --------------------------------------------------------------------- */

/* flexbox */

.flexboxType1-rp{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: normal;
}

.flexboxType1-pc{
	display: block;
}

.flexboxType1-sp{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: normal;
}

.flexboxType2-rp{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: center;
}

.flexboxType2-pc{
	display: block;
}

.flexboxType3-rp{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	align-items: flex-end;
}

.flexboxType3-pc{
	display: block;
}





}


/* en */

.ef_v.play .ef_vo1_en{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 0.5s;
}

.ef_v.play .ef_vo2_en{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 0.7s;
}

.ef_v.play .ef_vo3_en{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 0.9s;
}

.ef_v.play .ef_vo4_en{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 1.1s;
}

.ef_v.play .ef_vo5_en{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 1.4s;
}

.ef_p.play .ef_po1_en{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: 0.4s;
}

.ef_p.play .ef_po2_en{
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 0.7s;
}

.ef_p.play .ef_po3_en{
	animation: ef_left1Start_anime 0.6s forwards;
	animation-delay: 0.9s;
}

.ef_p.play .ef_po4_en{
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 1.1s;
}

.ef_p.play .ef_po5_en{
	animation: ef_left1Start_anime 0.6s forwards;
	animation-delay: 1.3s;
}

.ef_p.play .ef_po6_en{
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 1.5s;
}

.ef_p.play .ef_po7_en{
	animation: ef_left1Start_anime 0.6s forwards;
	animation-delay: 1.7s;
}

.ef_p.play .ef_po8_en{
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 1.9s;
}

.ef_p.play .ef_po9_en{
	animation: ef_left1Start_anime 0.6s forwards;
	animation-delay: 2.1s;
}

.ef_p.play .ef_po10_en{
	animation: ef_right1Start_anime 0.6s forwards;
	animation-delay: 2.3s;
}

/* 2023 */

.ef_v.play .ef_v_c{
	animation: ef_up_anime 0.6s forwards;
	animation-delay: .8s;
}