@charset "UTF-8";
/* CSS Document */

/* --------------------------------------------------
		visual
-------------------------------------------------- */
.visual {
	position: relative;
	overflow: hidden;
	height: 1200px;
	width: 100%;
}
.visual_bg {
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../../img/kv_bg.webp");
	background-size: cover;
	background-position: center center;
/*	opacity: 0;*/
}
.visual .u-cts__inner {
	height: 100%;
}
.visual__logo {
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
	text-align: right;
	bottom: 10%;
}
.visual__logo img{
	width: 50%;
	text-align: center;
}

.visual__complete {
	position: absolute;
	top: 20px;
	right: 20px;
/*	opacity: 0;*/
}
.visual__complete img{
	width:220px;
}

@media screen and (max-width: 767px) {
  .visual__logo {
		text-align: center;
	}
}
@media screen and (max-width: 1383px) {
		

	.visual__logo {
/*		bottom: 30px;*/
		bottom: 130px;
	}
	.visual__logo img{
		width: 70%;
	}
}

@media screen and (max-width: 767px) {
	
	.visual {
		height: 150vw;
	}
	.visual_bg {
		position: relative;
		background-image: url("../../img/kv_bg_sp.webp");
		background-size: cover;
	}
	.visual__logo {
		bottom: 40vw;
		width: 100%;
		padding: 0;
	}
	.visual__logo img{

		width: 80%;
	}

	.visual__complete{
		top: auto;
		left: 3%;
/*		bottom: 3.5vw;*/
		bottom: 20vw;
		width: 100%;
		text-align: center;
	}
	.visual__complete img{
		width: 60%;
	}

}




/* --------------------------------------------------
		utility
-------------------------------------------------- */
.u-pc {
	display: block;
}
.u-sp {
	display: none;
}
.u-font--def {
	font-family: 'Noto Sans JP', sans-serif;
}
.u-font--en {
	font-family: 'Open Sans', cursive;
}
.u-cfx:after {
	content: "";
	display: table;
	clear: both;
}
.u-cts {
	position: relative;
}
.u-cts__wrap {
	position: relative;
}
.u-cts__inner {
	position: relative;
	max-width: 1366px;
	padding: 0 130px;
	margin: 0 auto;
}
.u-ancher {
	padding-top: 80px;
	margin-top: -80px;
}
.u-bold {
	font-weight: bold;
}
.u-center {
	text-align: center;
}
.u-left {
	text-align: left;
}
.u-right {
	text-align: right;
}

@media screen and (max-width: 1383px) {
.u-cts__inner {
	padding: 0 9.516837481698389%;
}
}

@media screen and (max-width: 767px) {
.u-pc {
	display: none;
}
.u-sp {
	display: block;
}
.u-spsp {
	display: none;
}
.u-cts__inner {
	max-width: none;
	padding: 0 2%;
}
.u-ancher {
	padding-top: 63px;
	margin-top: -63px;
}
}

/* 下からフェードイン */
.slide-bottom {
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 1s ease-out;
 }
/**/


.character_bg{
	position: relative;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("../../img/character_bg.jpg");
	background-size: cover;
	background-position: center center;
}

/* Override */
.l-header {
	background-color: #00A2C2;
}
.spec {
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .top-special::before {
    display: none;
  }
  .top-special::after {
    display: none;
  }
  #top-special .c-heading-en .u-disp-sp img {
    padding-top: 6%;
  }
}
@media screen and (max-width: 767px) {
  #atflow .u-marginBlock:not(:last-child) {
    margin-bottom: 30px;
  }
}