/*------------------------------------------

	TOPページ

------------------------------------------*/
.open-btn {
	position: fixed;
}

.top-text-box {
	position: relative;
}
.scroll-icon {
	position: fixed;
	right: 130px;
	bottom: 40px;
	z-index: 1;
	-webkit-animation: arrow 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s infinite alternate;
	animation: arrow 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0s infinite alternate;
	z-index: 2;
	transition: .3s;
}

.inr {
	position: relative;
	z-index: 1;
}

.hide {
	opacity: 0;
	z-index: -1;
}

header .logo {
    width: auto;
    height: auto;
    padding: 5px 0 0 5px;
}

@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  100% {
    -webkit-transform: translate3d(-50%, -8px, 0);
    transform: translate3d(-50%, -8px, 0);
  }
}

.top-text-inr {
	text-align: center;
	background-color: rgba(255,255,255,.7);
	padding-top: 100px;
	padding-bottom: 70px;
	opacity: 0;
	transform: translateY(100px);
	transition: 1s;
}
.scroll .top-text-inr {
	opacity: 1;
	transform: translateY(0);
}
.top-text-inr p {
	text-align: justify;
	display: inline-block;
	letter-spacing: .08em;
	font-weight: 500;
}

.bnr-box {
	position: relative;
}

.top-sec .bnr-box img {
	display: block;
}

.top-sec.box1 .bnr-box,
.top-sec.box2 .bnr-box,
.top-sec.box4 .bnr-box {
	width: 47.2%;
}

.top-sec {
	position: relative;
}

.top-sec.box2::before {
    content: "";
    width: 1500px;
    height: 587px;
    background-color: #EBEBEB;
    position: absolute;
    margin-left: 300px;
    top: -72px;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
}

.top-sec.box3 .bnr-box {
	width: 32%;
	font-size: 1.2rem;
	color: #006EC2;
	line-height: 1.66666666667;
	letter-spacing: .08em;
}

.top-sec.box3 .bnr-box:nth-of-type(even) {
	color: #004098;
}
.top-sec.box3 .bnr-inr {
	font-weight: 500;
	background-color: #F2F5F7;
	padding: 15px 20px;
}

.top-sec.box3::before {
    content: "";
    width: 1500px;
    height: 847px;
    background-color: #E8E3DB;
    position: absolute;
    margin-left: -300px;
    top: -72px;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
}

.top-sec.box4::before {
    content: "";
    width: 1500px;
    height: 587px;
    background-color: #DDE7E9;
    position: absolute;
    margin-left: 300px;
    top: -72px;
    left: 50%;
    z-index: -1;
    transform: translateX(-50%);
}

/*PC*/
@media screen and (min-width: 768px) {
	.pc_entry_scrol .entry-btn img {
		opacity: 0;
	}
	.pc_entry_scrol .entry-btn a {
		background-image: url(../images/common/pc_entry_img_bl.png);
		background-size: contain;
	}

	.top-mv-box {
		height: calc(100vh + 400px);
		background-image: url(../images/home/pc_mv.jpg);
		background-size: cover;
		background-position: left top;
		background-attachment: fixed;
		position: relative;
		z-index: -1;
	}
	
	.top-mv-inr {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin-top: -180px;
	}

	.top-text-box {
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
	}
}/*END*/


/*Smartphone*/
@media screen and (max-width: 767px) {
	.sm_entry_scrol .entry-btn img {
		opacity: 0;
	}
	.sm_entry_scrol .entry-btn a {
		background-image: url(../images/common/sm_entry_img_bl.png);
		background-size: contain;
	}

	header .logo {
		width: 33.0666666667%;
	}

	.top-mv-box {
		height: calc(100vh + 450px);
		position: relative;
	}

	header .logo {
		padding: 0;
		margin: 5px 0 0 5px;
	}

	.top-mv-inr::after {
		content:"";
		display:block;
		position:fixed;
		top:0;
		left:0;
		z-index:-1;
		width:100%;
		height:100vh;
		background-repeat:no-repeat;
		background-position:50% 100%;
		background-image: url(../images/home/sm_mv.jpg);
		background-size:cover;
		z-index: -1;
		transition: .3s;
		opacity: 1;
	}
	.bgno .top-mv-inr::after {
		opacity: 0;
	}

	.top-mv-box {
		padding-top: 220px;
	}

	.top-mv-box .cach {
		width: 86.6666666667%;
		margin-right: auto;
		margin-left: auto;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		margin-top: -250px;
	}

	.top-text-box {
		width: 100%;
		position: absolute;
		left: 0;
		bottom: 0;
	}

	.top-text-inr {
		padding: 50px 25px; 
	}
	
	.top-sec.box1 {
		background-color: #fff;
		padding-top: 90px;
		padding-bottom: 70px;
	}
	
	.top-sec.box2 {
		padding-top: 60px;
	}
	.top-sec.box2::before {
		width: 950px;
		height: calc(100% + 80px);
		margin-left: 380px;
		top: 0;
	}
	
	.top-sec.box3 {
		padding-top: 60px;
	}

	.pos-ab {
		top: -27px;
		left: -6px;
		z-index: 1;
	}

	.top-sec.box1 .bnr-box,
	.top-sec.box2 .bnr-box,
	.top-sec.box3 .bnr-box,
	.top-sec.box4 .bnr-box,
	.sm-bnr-box {
		width: 78.6666666667%;
		margin-right: auto;
		margin-left: auto;
	}

	.top-sec.box3::before {
		width: 1000px;
		height: calc(100% + 80px);
		margin-left: -390px;
		top: 0;
	}

	.top-sec.box4::before {
		width: 950px;
		height: calc(100% + 135px);
		margin-left: 355px;
	}
}/*END*/