@charset "utf-8";
/* CSS Document */

/* Base */
.sp-only {
  display: none;
}

@media screen and (max-width: 767px) {
  .l-content-head {
      padding: 0;
  }
  .sp-only {
    display: block;
  }
  .pc-only {
    display: none !important;
  }
}


/* Main Visual */
.hdg-main {
  width: 100%;
	padding: 70px 25px 15vh;
	background: transparent;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.hdg-main-inner {
  width: calc(100% - 110px);
	/*max-width: 1000px;*/
	max-width: 100%;
	height: auto;
	padding: 0 0 50px;
}
.hdg-main-inner-h1 {
	max-width: 1000px;
	margin: 0 auto;
}
@media all and (-ms-high-contrast: none) {
  .hdg-main-inner {
    padding: 0;
  }
}
.hdg-main-inner h1 {
  color: #fff;
	margin: 0;
	font-family: "Yu Mincho", YuMincho, \006e38\00660e\00671d, \0030d2\0030e9\0030ae\0030ce\00660e\00671d\0020\0050\0072\006f\004e\0020\0057\0033, "Hiragino Mincho ProN", \0048\0047\00660e\00671d\0045, \00ff2d\00ff33\0020\00ff30\00660e\00671d, \00ff2d\00ff33\0020\00660e\00671d, serif;
	font-weight: 400;
	text-align: right;
	font-size: 2.4rem;
	letter-spacing: 0.8rem;
	line-height: 2;
}
.hdg-main-inner img {
  width: 100%;
	max-width: 150px;
	margin-top: 50px;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .hdg-main {
    padding: 70px 25px 30px;
  }
  .hdg-main-inner img {
    max-width: 12vw;
  }
  .hdg-main-inner h1 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .hdg-main-inner {
    width: 100%;
    padding: 30px 15px 50px;
  }
  .hdg-main-inner img {
    max-width: 15vw;
  }
  .hdg-main-inner h1 {
    font-size: 1.6rem;
		letter-spacing: 0.1rem;
  }

}

/* YouTube API */
#youtube-movie {
  max-width: 720px;
	margin: 50px auto;
}
.main-video {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
	overflow: hidden;
  /*border: 3px solid #a1a1a1;*/
}
.main-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  #youtube-movie {
    margin: 40px auto 30px;
  }
}




/* Waves */
.waves-container {
  width: 100%;
	left: 0;
	bottom: 0;
	position: absolute;
}
@media all and (-ms-high-contrast: none) {
  .waves-container {
    display: none;
  }
}
.waves {
  position:relative;
  width: 100%;
  height:15vh;
  margin-bottom:-7px; /*Fix for safari gap*/
  min-height:100px;
  max-height:150px;
}
.content {
  position:relative;
  height:20vh;
  text-align:center;
  background-color: white;
}
@media screen and (max-width: 768px) {
  .waves {
    height:40px;
    min-height:40px;
  }
  .content {
    height:30vh;
  }
}

/* Animation */
.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 10s;
}
.parallax > use:nth-child(2) {
  animation-delay: -3s;
  animation-duration: 15s;
}
.parallax > use:nth-child(3) {
  animation-delay: -4s;
  animation-duration: 20s;
}
.parallax > use:nth-child(4) {
  animation-delay: -5s;
  animation-duration: 27s;
}
@keyframes move-forever {
  0% {
		transform: translate3d(-90px,0,0);
  }
  100% { 
		transform: translate3d(85px,0,0);
  }
}

/* 安全の取り組み */
.m-media-flex {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}
.m-media-flex a {
	width: 100%;
	max-width: 400px;
}
@media screen and (max-width: 767px) {
	.m-media-flex {
		flex-wrap: wrap;
		flex-direction: column;
	}
	.m-media-flex p {
		margin-top: 0;
	}
}