@charset "utf-8";

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

.kv {
	width: 100%;
	height: 100vh;
	position: relative;
	background-color: #16a1a9;
	overflow: hidden;
	z-index: 0;
}

@media screen and (min-width: 800px) {

	.kv {
		width: calc(100% - 70px);
	}

}

/* kv load start  -------- */

.kv,
.kv:before,
.kv .kv-logo-wrap,
.kv-list,
.scroll-down {
	opacity: 0;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}

.start .kv,
.start .kv:before,
.start .kv .kv-logo-wrap,
.start .kv-list,
.start .scroll-down {
	opacity: 1;
}

.start .kv:before {
	opacity: 0.65;
}

/* kv logo  -------- */

.kv .kv-logo-wrap {
	width: 100%;
	height: 100%;
	overflow: hidden;
	display: block;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	position: relative;
}

.kv .kv-logo {
	margin: -80px auto 0;
	color: #FFF;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	width: 40%;
	max-width: 300px;
	max-height: 605px;
	background-image: url(../images/home/img-kv-wave.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 101%;
	text-align: center;
	z-index: 20;
	-webkit-transition: all 1.5s ease;
	transition: all 1.5s ease;
	-webkit-transition-delay: .6s;
	transition-delay: .6s;
	opacity: 0;
}

.start .kv .kv-logo {
	opacity: 1;
}

.kv .kv-logo-wrap h1 {
	margin: 0 auto;
}

.kv .kv-logo-wrap p {
	position: relative;
	margin: 0 auto;
	width: calc(100% -  40px);
	border-top: 1px solid rgba(255,255,255,1);
	max-width: 115px;
}

@media screen and (orientation:landscape) and (max-width: 736px) {

	.kv .kv-logo {
		width: 20%;
	}

}

@media screen and (min-width: 414px) {

	.kv .kv-logo-wrap p {
		width: calc(100% - 70px);
		max-width: 230px;
	}

}

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

	.kv .kv-logo {
		width: 25%;
	}

}

@media screen and (min-width: 1025px) {

	.kv .kv-logo {
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
		width: 17%;
	}

}

/* kv slide img  -------- */

.slideshow {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
}

.sm-slider li:nth-child(1) span {
	background-position: 20% center;
}

.sm-slider li:nth-child(2) span {
	background-position: 70% center;
}

.sm-slider li:nth-child(3) span {
	background-position: 37% center;
}

/* kv scroll-down button  -------- */

.scroll-down {
	position: absolute;
	top: -50px;
	right: 0;
	left: 0;
	margin: 0 auto;
	overflow: hidden;
	z-index: 150;
	text-align: center;
	display: inline-block;
	-webkit-transition: all 2.0s ease;
	transition: all 2.0s ease;
	-webkit-transition-delay: 1.0s;
	transition-delay: 1.0s;
}

.scroll-down a {
	display: inline-block;
	width: 100%;
	height: 100%;
	font-size: 1rem;
	font-weight: 600;
	color: rgba(22,161,169,0.8) !important;
	text-align: center;
	text-transform: uppercase;
	margin: 0 auto;
	padding-top: 75px;
}

.scroll-down a span {
	position: absolute;
	background-color: #FFF;
	width: 1px;
	height: 50px;
	display: block;
	right: 0;
	left: 0;
	margin: 0 auto;
	top: 0;
	-webkit-transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1);
	transition: all 600ms cubic-bezier(0.23, 1, 0.32, 1); 
	-webkit-animation: scrolldown 2.0s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
	animation: scrolldown 2.0s cubic-bezier(0.455, 0.03, 0.515, 0.955) infinite;
	z-index: -1;
}

	@-webkit-keyframes scrolldown {
		0% {
			top: 0;
		}
		50% {
			top: 30px;
		}
		100% {
			top: 0;
		}
	}

	@keyframes scrolldown {
		0% {
			top: 0;
		}
		50% {
			top: 30px;
		}
		100% {
			top: 0;
		}
	}


/* ===========================================================
	intro
=========================================================== */

.intro {
	padding-bottom: 50px;
	position: relative;
}

.intro .contents-title {
	margin: -40px auto 0;
	background-color: #fff;
	position: relative;
	padding: 90px 10px 0;
}

.intro .contents-title h2 {
	background-color: #fff;
	z-index: 10;
	display: inline-block;
	text-align: center;
	margin: 0 auto;
	width: 100%;
	max-width: 700px;
}

.intro .contents-title p {
	line-height: 1.6;
	margin-bottom: 25px;
	padding-top: 20px;
}

.intro .btn span {
	padding-left: 20px;
}

.intro .contents-inner .contents-title .btn a {
	font-size: 1.1rem;
}

@media screen and (min-width: 415px) {

	.intro .contents-inner .contents-title .btn a {
		font-size: 1.2rem;
	}

	.intro .contents-title h2 {
		width: 85%;
	}

	.intro .contents-title {
		padding: 110px 0 0;
	}

}

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

	.intro .contents-title {
		padding: 140px 0 0;
	}

	.intro .contents-inner .contents-title .btn a {
		font-size: 1.4rem;
	}

	.intro .contents-title p {
		line-height: 1.8;
		font-size: 1.5rem;
		margin-bottom: 30px;
		padding-top: 30px;
	}

	.intro .contents-title .btn a {
		width: 300px;
	}

}

@media screen and (min-width: 1025px) {

	.intro {
		padding-bottom: 100px;
	}

}

/* ===========================================================
	pillar
=========================================================== */

.pillar {
	padding-top: 50px;
}

.pillar .pillar-gate {
	width: 100%;
}

.pillar .pillar-gate-list {
	width: 100%;
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
}

.pillar .pillar-gate-list > li {
	width: 100%;
}

.pillar .gate-consulting,
.pillar .gate-training {
	padding: 0 0 60px;
}

.pillar .gate-img-wrap {
	width: 100%;
	background-color: transparent;
	margin-bottom: 20px;
	line-height: 0;
}

.pillar .gate-txt-wrap p {
	margin-bottom: 12px;
	text-align: justify;
}

.pillar .gate-txt-wrap h3 {
	margin-bottom: 8px;
	font-weight: 600;
	font-size: 1.4rem;
}

.pillar .btn {
	margin: 30px auto 0;
	text-align: center;
}

@media screen and (min-width: 415px) {

	.pillar .gate-consulting,
	.pillar .gate-training {
		padding: 0 0 80px;
	}

}

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

	.pillar .pillar-gate-list > li {
		width: calc(50% - 30px);
	}

	.pillar .gate-img-wrap {
		margin-bottom: 30px;
	}

	.pillar .gate-txt-wrap p {
		margin-bottom: 20px;
	}

	.pillar .gate-txt-wrap h3 {
		margin-bottom: 10px;
		font-size: 1.5rem;
	}

	.pillar .gate-txt-wrap ul {
		width: 100%;
	}

	.pillar .gate-txt-wrap ul li {
		width: 100%;
		display: block;
		line-height: 1.8;
	}

	.pillar .btn {
		margin: 30px auto 0;
	}

}

@media screen and (min-width: 1025px) {

	.pillar {
		padding: 0 0 120px;
	}

	.pillar .pillar-gate-list > li {
		width: calc(50% - 40px);
	}

	.pillar .gate-consulting,
	.pillar .gate-training {
		padding: 0;
	}

	.pillar .gate-img-wrap {
		margin-bottom: 30px;
	}

	.pillar .gate-box .btn {
		text-align: center;
	}

	.pillar .gate-txt-wrap p {
		margin-bottom: 25px;
	}

	.pillar .btn {
		margin: 40px auto 0;
	}

	.pillar .btn a span {
		font-size: 1.6rem;
	}

}

/* ===========================================================
	wave
=========================================================== */

#home .pillar {
	background-image: url(../images/home/img-home-bg-wave.png);
	background-position: left top;
}

/* ===========================================================
	info contact
=========================================================== */

.contact-info {
	color: #fff;
	padding: 60px 0;
	background-color: #1aa1a9;
}

.contact-info .info-wrap {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
}

.contact-info .info-contents-wrap {
	width: 100%;
}

.contact-info .info-contents-wrap.sns-wrap {
	width: 100%;
	margin-bottom: 30px;
}

.contact-info .info-contents-wrap.sns-wrap iframe {
	width: 100%;
	height: 350px;
}

.contact-info .info-contents-wrap.img-wrap {
	width: 100%;
}

.contact-info .info-img-list {
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	        flex-wrap: wrap;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
}

.contact-info .info-img-list .info-img-list-item.full {
	width: 100%;
	margin-bottom: 10px;
}

.contact-info .info-img-list .info-img-list-item.half {
	width: calc(50% - 5px);
	display: inline-block;
}

.contact-info .info-img-list img {
	vertical-align: bottom;
}

.contact-info .txt-anchor.map-anchor {
	color: #fff !important;
}

.contact-info .txt-anchor.map-anchor span:before {
	background-color: #fff;
}

.contact-info .home-logo-wrap {
	width: 168px;
	margin-top: 20px;
}

@media screen and (min-width: 501px) {

	.contact-info .info-contents-wrap.img-wrap {
		width: calc(50% - 10px);
		-webkit-order: 1;
		        order: 1;
	}

	.contact-info .info-contents-wrap.sns-wrap {
		width: calc(50% - 10px);
		-webkit-order: 2;
		        order: 2;
	}

}

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

	.contact-info {
		padding: 100px 0;
	}

}

@media screen and (min-width: 1025px) {

	.contact-info {
		padding: 120px 0;
	}

	.contact-info .info-contents-wrap.img-wrap {
		width: calc(50% - 15px);
	}

	.contact-info .info-contents-wrap.sns-wrap {
		width: calc(50% - 15px);
	}

	.contact-info .home-logo-wrap {
		width: 225px;
		margin-top: 30px;
	}

	.contact-info .info-img-list .info-img-list-item.full {
		margin-bottom: 16px;
	}

	.contact-info .info-img-list .info-img-list-item.half {
		width: calc(50% - 8px);
	}

	.contact-info .info-contents-wrap.sns-wrap iframe {
		height: 530px;
	}

}

@media screen and (min-width: 1281px) {

	.contact-info .info-contents-wrap.img-wrap {
		width: calc(100% - 545px);
	}

	.contact-info .info-contents-wrap.sns-wrap {
		width: 500px;
	}

	.contact-info .info-img-list .info-img-list-item.full {
		margin-bottom: 20px;
	}

	.contact-info .info-img-list .info-img-list-item.half {
		width: calc(50% - 10px);
	}

}

/* contact-wrap  -------- */

.contact-info .info-contact-wrap {
	background-color: rgba(0,0,0,0.1);
	margin-top: 30px;
	padding: 15px;
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	        flex-direction: column;
}

.contact-info .info-contact-wrap .contact-contents {
	text-align: center;
}

.contact-info .info-contact-wrap .contact-contents p {
	font-size: 1.2rem;
}

.contact-info .info-contact-wrap .contact-contents p span {
	display: inline-block;
	font-size: 1.2rem;
}

.contact-info .info-contact-wrap .contact-contents .box-title {
	padding: 0;
}

.contact-info .info-contact-wrap .contact-contents .en.en-title {
	text-transform: uppercase;
	line-height: 1;
	margin: .5em 0;
}

.contact-info .info-contact-wrap .contact-contents .tel-list .tel-list-item {
	display: block;
	font-size: 1.8rem;
	line-height: 1.5;
}

.contact-info .info-contact-wrap .contact-contents .tel-list .tel-list-item .sp-anchor {
	margin-left: 5px;
	color: #FFF !important;
	font-size: inherit;
}

.contact-info .info-contact-wrap .contact-btn-contents {
	text-align: center;
}

.contact-info .info-contact-wrap .contact-contents .btn-list {
	margin-top: 15px;
}

.contact-info .info-contact-wrap .contact-contents .btn-list .btn a {
	background-color: rgba(255,255,255,1);
	border: 2px solid transparent;
	box-shadow: 0 3px 0px rgba(0,0,0,0.15);
	color: rgba(26,161,169,1);
	margin: 5px auto;
}

.contact-info .info-contact-wrap .contact-contents .btn-list .btn a:hover {
	background-color: rgba(255,255,255,1) !important;
	color: rgba(26,161,169,1) !important;
}

.contact-info .info-contact-wrap .contact-contents .btn-list .btn a:hover .svg-btn {
	fill: rgba(26,161,169,1);
}

@media screen and (min-width: 415px) {

	.contact-info .info-contact-wrap .contact-contents .tel-list .tel-list-item {
		display: inline-block;
	}

	.contact-info .info-contact-wrap .contact-contents .tel-list .tel-list-item:first-child:after {
		content: "/";
		margin: 0 .25em;
	}

	.contact-info .info-txt .br {
		display: inline;
	}

	.contact-info .info-contact-wrap {
		padding: 10px 20px 20px 20px;
		margin-top: 35px;
	}

}

@media screen and (min-width: 1024px) {

	.contact-info .info-contact-wrap {
		padding: 10px 25px 25px 25px;
		-webkit-flex-direction: row;
		        flex-direction: row;
		-webkit-align-items: center;
		        align-items: center;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
	}

	.contact-info .info-contact-wrap .contact-contents {
		text-align: left;
	}

	.contact-info .contents-title .box-title {
		text-align: left;
	}

	.contact-info .contents-title {
		margin: 0;
	}

	.contact-info .btn-list .btn {
		margin: 0
	}

	.contact-info .btn-list .btn:last-child {
		margin-left: 10px;
	}

}

/* news  -------- */

.news {
	padding-bottom: 45px;
}

.news .news-list-item:first-child {
	width: 100%;
}

#home .news .news-title-contents {
	color: #1aa1a9;
}

.news .circle-btn-list {
	margin: 20px auto 0;
}

.news .circle-btn-list li {
	margin-right: 5px;
	vertical-align: bottom;
}

.news .news-list-item:nth-child(5),
.news .news-list-item:nth-child(6),
.news .news-list-item:nth-child(7) {
	display: none;
}

@media screen and (min-width: 375px) {

	.news .news-list-item:nth-child(5),
	.news .news-list-item:nth-child(6),
	.news .news-list-item:nth-child(7) {
		display: block;
	}

	.news {
		padding-bottom: 50px;
	}

}

@media screen and (min-width: 414px) {

	.news {
		padding-bottom: 40px;
	}

}

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

	.news {
		padding-bottom: 80px;
	}

}

@media screen and (min-width: 1025px) {

	#home .news {
		padding: 120px 0 90px;
	}

	.news .news-list-item:first-child {
		width: calc((100% / 3) - 20px);
	}

	.news .news-list-item:last-child {
		display: none;
	}

}


@media screen and (min-width: 1281px) {

	#home .news {
		padding: 120px 0 75px;
	}

	.news .news-list-item:first-child {
		width: calc((100% / 3) - 30px);
	}

}

/* home news title  -------- */

.news .news-list-item.title-wrap .news-title-contents {
	padding: 30px 0 5px;
	width: 90%;
	margin: -40px auto 0;
	background: url(../images/home/news-title-contents_bg.png) no-repeat left top;
	background-size: 100% 40px;
}

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

	.news .news-list-item.title-wrap .news-title-contents {
		padding: 40px 0 5px;
	}

}

@media screen and (min-width: 1025px) {

	.news .news-list-item.title-wrap .news-title-contents {
		padding: 0 25px;
		background: none;
		margin-top: 0;
		width: 100%;
		display: table;
	}

}

@media screen and (min-width: 1281px) {

	.news .news-list-item.title-wrap .news-title-contents {
		padding: 0 45px;
	}

}
