@charset "UTF-8";
/*////////////////////////*/
/*ファーストビュー*/
/*////////////////////////*/

/*トップスライダー*/
.top-slider {
	position: relative;
	width: 100%;
	/* height: calc(100vh - 80px) ; */
}

/*Scroll誘導アニメ*/
.scrolldown1{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  right:4%;
  bottom:0;
    /*全体の高さ*/
  height:150px;
  z-index: 1;
}
/*Scrollテキストの描写*/
.scrolldown1 span{
    /*描画位置*/
  position: absolute;
  left:-22px;
  top: -30px;
    /*テキストの形状*/
  color: #fff;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  transform: rotate(90deg);
}
/* 線の描写 */
.scrolldown1::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top: 0;
    /*線の形状*/
  width: 1px;
  height: 150px;
  background: #fff;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity:0;
}
/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
  0%{
    height:0;
    top:0;
    opacity: 0;
  }
  30%{
    height:100px;
    opacity: 1;
  }
  100%{
    height:0;
    top:150px;
    opacity: 0;
  }
}

.slider1 .swiper-slide {
	height: unset;
}
.swiper-custom-parent {
  position: relative;
}
.slider1 {
  position: unset;
  width: 100%;
  height: 100%;
}
.swiper-pagination-bullet {
	width: 8%;
    height: 3px;
    border-radius: unset;
    background: #808080;
}
.top-catch {
	position: absolute;
	z-index: 1;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit- transform: translateX(-50%);
	width: 33%;
	height: 100%;
	background:rgba(0,0,0,0.7);
}
.main-logo {
	width: 200px;
	height: 150px;
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}


/*////////////////////////*/
/*セカンドビュー*/
/*////////////////////////*/

.bg01 {
  position: absolute;
  top: 280px;
  left: 0;
  width: 100%;
  height: 800px;
  background: #EBEDEF;
}

.bg02 {
  position: absolute;
  top: 100px;
  right: 0;
  width: 60%;
  height: 380px;
  background: #054d61;
  z-index: -1;
}

.toggle {
	display: none;
}
.Label {
	display: block;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 12px;
	height: 12px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 6px );
	right: 20px;
	transform: rotate(135deg);
}
.r30::before{		/*タイトル横の矢印*/
	right: 30px!important;
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {		/*本文*/
	height: 0;
	margin-bottom:30px;
	padding:0 20px;
	overflow: hidden;
}
.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}


table {
	width: 100%;
}

.b-white5 {
	border: solid 5px #fff;
}
.yaji {
	position: relative;

}
.yaji::before {
	content: "";
	position: absolute;
    top: -50px;
    left: 50%;
	transform: translateX(-50%) ;
	-webkit- transform: translateX(-50%) ;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-bottom: calc(tan(60deg) * 30px) solid #72797b;
}
.text-required {
	background: #054d61;
    color: #fff;
    font-size: .6rem;
    padding: 2px 5px;
	position: absolute;
    top: 20px;
    right: 0;
}
.privacy-box {
	height: 120px;
    overflow-y: scroll;
    font-size: .7rem;
}
.form-control::placeholder {
	font-size: .8rem;
	opacity: 0.5;
	color: rgb(54, 54, 54);
  }



.top-logo {
	width: 150px;
	height: 150px;
}
.top-ph01 {
	width: 100%;
	height: 150px;
}

.bnr-box {
  position: relative;
  height: 180px;
  color: #fff;
  overflow-y: hidden;
}
.bnr-box02 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  color: #fff;
}
.bnr-box-img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.link-arow {
  background: url(/assets/images/common/icon-line.svg) no-repeat bottom center / 100px ;
}

/*slider2*/
.slider2 .slider-box {
	position: relative;
	height: 350px;
}
.slider2-cap {
	position: absolute;
	left: 15px;
	bottom: 10px;
	padding-left: 15px;
	background: url(/assets/images/common/icon-arrow02.png) no-repeat left center / 6px 10px;
}

/*slider3*/
.slider3 .slider-box {
	position: relative;
	height: 220px;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
    left: 0;
    background: #000;
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    right: 0;
    background: #000;
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 1.4rem;
    color: #fff;
}



.top-news {
	position: absolute;
	bottom: 2%;
	left: 0;
	z-index: 1;
	/*transform: translateX(-50%);
	-webkit- transform: translateX(-50%);*/
}

#news img {
  max-width: 100%;
}




/*PCのみ*/
@media (min-width: 768px) {

	.catch01 {
		position: absolute;
		top: 175px;
		left: 0;
		width: 100%;
	}
	.logow01 {
		width: 150px!important;
	}
	.logow02 {
		width: 160px!important;
	}
	.logow03 {
		width: 125px!important;
	}
	.logow04 {
		width: 100px!important;
	}



}

@media (max-width: 768px) {

		.top-slider {
			z-index: unset;
		}
		.top-catch {
			position: absolute;
			z-index: 1;
			top: 45%;
			left: 0;
			transform: translateY(-50%);
			-webkit- transform: translateY(-50%);
			width: 100%;
			height: 33%;
			background:rgba(0,0,0,0.7);
		}
		.main-logo {
		    padding: 30px;
		}
		.h300 {
			height: 220px;
		}
		.Label::before{
		top:calc( 50% - 6px );
		}
		.bg01 {
			display: none;
		  }
		.bg02 {
			top: 0;
			width: 100%;
			height: 680px;
		  }
		  .catch01 {
			background-color: #000;
			padding: 15px 8px;
		  }

		  #news , #service , #access , #company , #contact {
			scroll-margin-top: 60px;
		}

}
