@import url("https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.3.3/css/swiper.min.css");

/* ローディング */
.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: 99999;
}

.loading__inner {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.loading h1 {
	text-align: center;
	margin-bottom: 30px;
}

.loading h1 img {
	width: 320px;
	margin-bottom: 10px;
}

.loading h1 strong {
	display: block;
	font-size: 20px;
	font-weight: bold;
}

#progress-box {
	width: 300px;
	height: 2px;
	background: #cccccc;
	position: relative;
	margin: 0 auto;
}

#progress-bar {
	width: 0%;
	height: 2px;
	background: #00568f;
	position: absolute;
	left: 0;
	top: 0;
	transition: width 1s;
}

/* スライダー */
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.15);
	}
}
.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
	animation: zoomUp 7s linear 0s normal both;
}
.swiper-wrapper {
	height: calc(100vh - 120px);
	overflow: hidden;
}
.swiper-img {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.swiper-img--01 {
	background-image: url(../img/index/kv/kv01.jpg);
}
.swiper-img--02 {
	background-image: url(../img/index/kv/kv02.jpg);
}
.swiper-img--03 {
	background-image: url(../img/index/kv/kv03.jpg);
}
.swiper-img--04 {
	background-image: url(../img/index/kv/kv04.jpg);
}
.swiper-slide .swiper-head {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 3;
}
.swiper-slide .swiper-head span {
	display: inline-block;
	font-size: 80px;
	font-weight: bold;
	color: #fff;
	background-color: #00568f;
	margin-top: 10px;
	padding: 0 25px;
	line-height: 1.2;
}
.swiper-slide .swiper-text {
	position: absolute;
	left: 0;
	bottom: -1px;
	z-index: 2;
	width: 100%;
	height: 70px;
	font-size: 24px;
	text-align: right;
	padding: 10px 140px 10px 10px;
	box-sizing: border-box;
	background-color: #fff;
}
@media (min-width: 1080px) and (max-width: 1279px) {
	.swiper-slide .swiper-head span {
		font-size: 80px;
	}
	.swiper-slide .swiper-text {
		font-size: 18px;
		padding: 20px 20px 10px 10px;
	}
}

/* ヘッダー調整 */
.h-sideWrap {
	top: 120px;
	height: calc(100vh - 120px);
}

.h-contactWrap {
	position: absolute;
    top: 0;
    right: 0;
    width: 120px;
    transform: translate(100%, 0);
    transition: transform 1s;
    transition-delay: 0.5s;
}

.h-contactWrap a {
	background-color: #00568f;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 120px;
    width: 100%;
}

.h-contactWrap a span {
	display: block;
    font-weight: 600;
    font-size: 10px;
    font-size: 1rem;
    color: #fff;
    text-align: center;
    width: 100%;
    padding-top: 5px;
}

.scrolldown {
	bottom: 0;
}

/* スティッキーヘッダー */
.h-menuWrap {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 120px;
	background-color: #fff;
}

header {
	transition: height 0.5s;
}

.h-menuArea {
	transition: padding-top 0.5s;
}

.h-logo img {
	transition: width 0.5s;
}

.h-contactWrap a {
	transition: height paddint-top 0.5s;
}

.h-contactWrap a span {
	transition: opacity 0.5s;
}

.h-sideWrap {
	transition: top height 1s;
}

.h-sideCont {
	transition: transform 1s;
	transition-delay: 0.5s;
	transform: translate(100%, 0);
}

transition-delay: 0.5s;

@media screen and (min-width: 1080px) {
	header.scroll {
		height: 64px;
	}
}
@media screen and (min-width: 1080px) {
	header.scroll .h-logo img {
		width: 187px;
	}
}
@media screen and (max-width: 1079px) {
	.h-headName {
		display: block !important;
	}
}

header.scroll .h-contactWrap a {
	height: 64px;
	padding-top: 20px;
}

@media screen and (min-width: 1080px) {
	header.scroll .h-menuWrap {
		height: 64px;
	}
}

header.scroll .h-menuArea {
	padding-top: 15px;
}

header.scroll .h-contactWrap a span {
	opacity: 0;
}

header.scroll .h-sideWrap {
    top: 64px;
    height: calc(100vh - 64px);
}

.header-item-1 {
	transform: translate(0px, -100px);
}
.onload .header-item-1 {
	transition-delay: 0.5s;
	transition-duration: 0.5s;
    transform: translate(0px, 0px);
}
.header-item-2 {
	transform: translate(0px, -100px);
}
.onload .header-item-2 {
	transition-delay: 0.5s;
	transition-duration: 0.5s;
    transform: translate(0px, 0px);
}
.header-item-3 {
	transform: translate(0px, -100px);
}
.onload .header-item-3 {
	transition-delay: 0.5s;
	transition-duration: 0.75s;
    transform: translate(0px, 0px);
}
.header-item-4 {
	transform: translate(0px, -100px);
}
.onload .header-item-4 {
	transition-delay: 0.5s;
	transition-duration: 1s;
    transform: translate(0px, 0px);
}
.header-item-5 {
	transform: translate(0px, -100px);
}
.onload .header-item-5 {
	transition-delay: 0.5s;
	transition-duration: 1.25s;
    transform: translate(0px, 0px);
}
.header-item-6 {
	transform: translate(0px, -100px);
}
.onload .header-item-6 {
	transition-delay: 0.5s;
	transition-duration: 1.5s;
    transform: translate(0px, 0px);
}
.header-item-7 {
	transform: translate(0px, -100px);
}
.onload .header-item-7 {
	transition-delay: 0.5s;
	transition-duration: 1.65s;
    transform: translate(0px, 0px);
}
.header-item-8 {
	transform: translate(0px, -100px);
}
.onload .header-item-8 {
	transition-delay: 0.5s;
	transition-duration: 1.75s;
    transform: translate(0px, 0px);
}
.header-item-9 {
	transform: translate(0px, -100px);
}
.onload .header-item-9 {
	transition-delay: 0.5s;
	transition-duration: 1.5s;
    transform: translate(0px, 0px);
}
.header-item-10 {
	transform: translate(0px, -100px);
}
.onload .header-item-10 {
	transition-delay: 0.5s;
	transition-duration: 1.6s;
    transform: translate(0px, 0px);
}
.header-item-11 {
	transform: translate(0px, -100px);
}
.onload .header-item-11 {
	transition-delay: 0.5s;
	transition-duration: 1.7s;
    transform: translate(0px, 0px);
}
.header-item-12 {
	transform: translate(0px, -100px);
}
.onload .header-item-12 {
	transition-delay: 0.5s;
	transition-duration: 1.8s;
    transform: translate(0px, 0px);
}
.header-item-13 {
	transform: translate(0px, -100px);
}
.onload .header-item-13 {
	transition-delay: 0.5s;
	transition-duration: 1.9s;
    transform: translate(0px, 0px);
}
.header-item-14 {
	transform: translate(-100px, 0px);
	opacity: 0;
}
.onload .header-item-14 {
	transition-delay: 0.5s;
	transition-duration: 1.5s;
    transform: translate(0px, 0px);
	opacity: 1;
}
.header-item-15 {
	transform: translate(-150px, 0px);
	opacity: 0;
}
.onload .header-item-15 {
	transition-delay: 0.5s;
	transform: translate(0px, 0px);
	transition-duration: 2s;
	opacity: 1;
}
.header-item-16 {
	opacity: 0;
}
.onload .header-item-16 {
	transition-delay: 0.5s;
	transition-duration: 1.5s;
	opacity: 1;
}
.content-zoom-out {
	transform: scale(1.1, 1.1);
}
.onload .content-zoom-out {
	transition-duration: 2s;
	transform: scale(1, 1);
}
.flow-hidden {
	overflow: hidden;
}
.onload .h-contactWrap {
	transform: translate(0, 0);
}
.onload .h-sideCont {
	transform: translate(0, 0);
}

@media screen and (max-width: 1079px) {
	.loading h1 img {
		width: 240px;
	}

	.loading h1 strong {
		font-size: 15px;
	}

	#progress-box {
		width: 240px;
	}
	.h-contactWrap {
		display: none;
	}
	.h-logo {
		top: 13px;
	}
	.h-menuWrap {
		height: 48px;
	}

	.swiper-wrapper {
		height: calc(100svh - 48px);
	}
	.swiper-slide .swiper-head {
		position: absolute;
		left: 0;
		bottom: 75px;
		z-index: 3;
	}
	.swiper-slide .swiper-head span {
		font-size: 32px;
		margin-top: 5px;
		padding: 0 20px;
	}
	.swiper-slide .swiper-text {
		font-size: 14px;
		text-align: left;
		padding: 45px;
	}
	.swiper-slide:after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 90px;
		background: #fff;
	}
	.onload .header-item-1 {
		transition-delay: 0.1s;
		transition-duration: 1s;
	}
	.onload .header-item-2 {
		transition-delay: 0.3s;
		transition-duration: 1s;
	}
	.h-btnNav__link {
		transform: translate(0, -100px);
		transition-duration: 1s;
		transition-delay: 0.4s;
		transition-property: transform;
	}
	.onload .h-btnNav__link {
		transform: translate(0, -50%);
	}
}

@media screen and (max-width: 480px) {
	.swiper-slide .swiper-head span {
		font-size: 28px;
	}
	.swiper-slide .swiper-text {
		font-size: 14px;
		padding: 10px 20px;
	}
	.swiper-img--01 {
		background-image: url(../img/index/kv/kv01-sp.jpg);
	}
	.swiper-img--02 {
		background-image: url(../img/index/kv/kv02-sp.jpg);
	}
	.swiper-img--03 {
		background-image: url(../img/index/kv/kv03-sp.jpg);
	}
	.swiper-img--04 {
		background-image: url(../img/index/kv/kv04-sp.jpg);
	}
}

@media (orientation: portrait) and (min-width: 481px) {
	.swiper-wrapper {
		height: 55svh;
	}
}