/* ==================================================
  /css/top.css
  => トップページ用スタイルシート
　最終更新 2022.02.08
　編集者 a.kajiwara@crank-ry.com
================================================== */

/* レイアウト
==================================================================================================== */
main {
	position: relative;
}
main > section > .inner {
	margin: 0 auto;
}
/* mobile用 */
@media screen and (max-width:768px) {
	main > section > .inner {
		margin: 0 auto;
	}
}
/* HERO
==================================================================================================== */
.hero {
}
/* mobile用 */
@media screen and (max-width:768px) {
	.hero {
		position: relative;
		width: 100%;
		height: auto;
	}
}
.hero > .inner {
	position: relative;
}
/* mobile用 */
@media screen and (max-width:768px) {
}
/* メインビジュアル
============================================================ */
.hero_mv {
	position: relative;
	background-color: #002616;
	width: 100%;
	height: 100vh;
	margin: 0 auto;
	transition: all 0.5s;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.hero_mv {
		height: 75vh;
	}
}
.hero_mv::before {
	content: '';
	display: block;
	position: absolute;
	background-color: rgba(0,0,0,.5);
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.hero_mv_video {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100vh;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.hero_mv_video {
		height: 75vh;
	}
}
/* メインキャッチ
============================================================ */
.hero_copy {
	position: absolute;
	left: 4.69vw;
	bottom: 6.25vw;
	color: #ffffff;
	font-family: 'Cormorant Garamond', serif;
	font-size: 35px;
	font-size: 25px;
	font-weight: 400;
	line-height: 1.37;
	line-height: 1.5;
	transition: all 0.5s;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.hero_copy {
		width: 82.72%;
		left: 6.8vw;
    bottom: 11vw;
		font-size: 5.33vw;
		font-size: 4.8vw;
		line-height: 1.35;
	}
}
/* Scroll Down
============================================================ */
.hero_scrolldown {
	display: block;
	position: absolute;
	right: 4.69vw;
	bottom: 0;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.hero_scrolldown {
		right: 3.5vw;
	}
}
.hero_scrolldown_link {
  display: inline-block;
  position: absolute;
  overflow: hidden;
  right: 0;
  bottom: 0;
  color: #ffffff;
  font-size: 11px;
	font-weight: 300;
  letter-spacing: .1em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  padding: 10px 10px 85px;
  z-index: 2;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.hero_scrolldown_link {
		font-size: 1.87vw;
		letter-spacing: .2em;
		padding: 10px 10px 11.33vw;
	}
}
.hero_scrolldown_link::after {
  content: '';
  position: absolute;
  background: #ffffff;
  left: 50%;
  bottom: 0;
  width: 1px;
  height: 70px;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.hero_scrolldown_link::after {
		height: 9.33vw;
	}
}
.hero_scrolldown_link::after {
  animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    opacity: 1;
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  30% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  30.1%, 70% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    opacity: 0;
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
/* primary
==================================================================================================== */
.primary {
}
.primary > .inner {
	padding: 0 4.69vw 4.69vw;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.primary > .inner {
		padding: 0 6.8vw 6.8vw;
	}
}
.primary .button_img {
	position: relative;
	padding-top: 4.69vw;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.primary .button_img {
		padding-top: 6.8vw;
	}
}
/* secondary
==================================================================================================== */
.secondary {
  display:-webkit-box;
  display:-ms-flexbox;
  display: flex;
	margin: 0 auto;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.secondary {
		display: block;
	}
}
.secondary .button_img {
	position: relative;
	width: 50%;
}
/* mobile用 */
@media screen and (max-width:768px) {
	.secondary .button_img {
		width: 100%;
	}
}







