/* -HEADER
--------------------------------------------------------------------------------------------- */
#header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	width: 100%;
    height: 60px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	background-color: transparent;
	-webkit-transition: all 0.4s ease-in-out, color 0.4s;
	-o-transition: all 0.4s ease-in-out, color 0.4s;
	transition: all 0.4s ease-in-out, color 0.4s;
}
#header.is-hide {
	transform: translateY(-100%);
}
#header.view{
	background-color: rgba(255,255,255,0.7);
	transition: all 0.4s ease-in-out, color 0.4s;
}
@media screen and (min-width: 768px){
	#header{ 
		height: 70px;
	}
}
@media screen and (min-width: 1200px){
	#header{ 
		height: 92px;
	}
}

body.fixed{
    top: 0px;
    position: fixed; 
    width: 100%;
    height: 100%;
	z-index: 1001;
}

/* logo */
.scroll_logo{
	position: absolute;
	top: 25px;
	left: 6.41%;
    width: 100px;
    margin-bottom: 0;
	transition: .4s;
}
.scroll_logo a{
	display: block;
    width: 100%;
    height: 100%;
	position: relative;
	z-index: 1;
	transition: .4s;
}
.scroll_logo img{
    display: block;
    width: 100%;
    height: 100%;
	opacity: 1;
	transition: .4s;
}
.scroll_logo a::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	top: 0;
	left: 0;
	background-image: url("../images/logo.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0;
	transition: .4s;
}
.view .scroll_logo img, .header_page .scroll_logo img{
	opacity: 0;
}
.view .scroll_logo a::after, .header_page .scroll_logo a::after{
	opacity: 1;
}
.is-fixed .scroll_logo{
	z-index: 1001;
}
@media screen and (min-width: 768px){
    .scroll_logo{
        width: 120px;
		left: 2.3529%;
    } 
}
@media screen and (min-width: 1200px){
    .scroll_logo{
        width: 140px;
		top: 39px;
		left: 2.3529%;
    } 
}
/* TRIGGER */
.menu-trigger {
	width: 25px;
	height: 10px;
	position: absolute;
	top: 50%;
	right: 7.692%;
	transform: translateY(-50%);
	cursor: pointer;
	z-index: 1001;
}
.menu-trigger span {
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: absolute;
	left: 0;
	-webkit-transition: 0.2s;
	-o-transition: 0.2s;
	transition: 0.2s;
}
.menu-trigger span:nth-child(1) {
	top: 0;
}
.menu-trigger span:nth-child(2) {
	bottom: 0;
}
.menu-trigger.tgl-active span:nth-child(1) {
	top: 50%;
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
.menu-trigger.tgl-active span:nth-child(2) {
	top: 50%;
	bottom: unset;
	-webkit-transform: translateY(-50%) rotate(-45deg);
	-ms-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg); 
}
.view .menu-trigger span, .header_page .menu-trigger span{
	background-color: #000;
}
.view .menu-trigger.tgl-active span, .header_page .menu-trigger.tgl-active span{
	background-color: #fff;
}
@media screen and (min-width: 768px){
	.menu-trigger{
		right: 2.941176%;
	}
}
@media screen and (min-width: 1200px){
	.menu-trigger{
		width: 30px;
		height: 12px;
	}
}

/* MENU TOGGLE */
.menu-toggle {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 1000;
	transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
	background-color: rgba(0, 0, 0, 0.4);
	overflow: hidden;
	overflow-y: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
/* Hide scrollbar for Chrome, Safari and Opera */
.menu-toggle::-webkit-scrollbar {
	display: none;
}
/*menu-toggle.active*/
.menu-toggle.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	overflow-y: auto; /* scroll → autoに変更して、スクロールバーが必要な時だけ出す */
}
.menu-toggle_block{
	width: 90vw;
	min-height: 100vh; /* ←変更: 高さ不足防止 */
	overflow: visible; /* ← 親がスクロールを持つので不要 */
	margin-left: auto;
	background-color: #323232;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.menu-toggle_inner{
	width: 62.5%;
	margin: 0 auto;
	padding: 6.5rem 0;
}
.toggle_nav{
	width: 100%;
	margin-bottom: 0;
}
.toggle_nav li{
	list-style: none;
	position: relative;
}
.toggle_nav li + li{
	margin-top: 20px;
}
.toggle_nav li::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-color: #fff;
	bottom: 0;
	left: 0;
}
.toggle_nav li a{
	position: relative;
	display: block;
	color: #fff;
	font-size: 1.0769rem;
	padding: 1.1538rem 0;
	transition: .3s;
}
.toggle_nav li a::after{
	position: absolute;
	content: "";
	width: 4.7px;
	height: 8.7px;
	background-image: url("../images/chevron_arrow-w.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	transition: .3s;
}
.toggle_nav li a:hover{
	text-decoration: none;
	opacity: 0.8;
}
.toggle_nav li a:hover::after{
	right: -4px;
}
@media screen and (min-width: 768px){
	.menu-toggle_block{
		width: 400px;
	}
}
@media screen and (min-width: 1200px){
	.toggle_nav li a{
		font-size: 1rem;
		padding: 1.0714rem 0;
	}
}

/**************************
MV
**************************/
.mv{
    position: relative;
    width: 100%;
    height: calc(100vh - 56px);
    overflow: hidden;
}
.mv_slider{
    width: 100%;
	height: 100%;
	margin-bottom: 0;
	overflow: hidden;
}
.mv_slider .slick-list,
.mv_slider .slick-track{
    width: 100%;
    height: 100%;
}
.mv_slider li{
    width: 100%;
	height: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
    position: relative;
}
.mv_slider li::before{
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%; /* 高さは必要に応じて調整 */
	background: rgba(0,0,0,0.15);
}
.mv_slider li::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.mv_slider li:first-child{
	background-image: url("../images/mv1.jpg");
}
.mv_slider li:nth-child(2){
	background-image: url("../images/mv2.jpg");
}
.mv_slider li:nth-child(3){
	background-image: url("../images/mv3.jpg?2026");
}
.mv_slider li:nth-child(4){
	background-image: url("../images/mv4.jpg");
}
@media screen and (min-width: 768px){
	.mv{
		height: 100vh;
	}
}
@media screen and (max-width: 767px){
	.mv_slider li:first-child{
		background-position: 12% center;
	}
	.mv_slider li:nth-child(2){
		background-position: 32% center;
	}
	.mv_slider li:nth-child(4){
		background-position: 43% center;
	}
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}
.mv_txtArea{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	writing-mode: vertical-rl;
	margin: 0;
	width: auto;
	color: #fff;
	height: 292px;
	font-size: 2.1538rem;
	line-height: 1.75;
}
@media screen and (min-width: 768px){
	.mv_txtArea{
		font-size: 2.30769rem;
		height: 310px;
	}
}
@media screen and (min-width: 1200px){
	.mv_txtArea{
		font-size: 2.5rem;
		height: 350px;
	}
}


/**************************
ページヘッダー
**************************/
.page_head{
	width: 100%;
	position: relative;
	padding: 9.4rem 0 2.846rem;
	margin-bottom: 50px;
}
.page_head::after{
	position: absolute;
	content: "";
	width: 100%;
	height: 1px;
	background-color: #e6e6e6;
	left: 0;
	bottom: 0;
}
.page_head.border-none{
	margin-bottom: 0;
}
.page_head.border-none::after{
	display: none;
}
.head_en{
	font-size: 3.4615rem;
	letter-spacing: 0 !important;
	line-height: 1;
}
@media screen and (min-width: 768px){
	.page_head{
		padding: 12.733rem 0 4.30769rem;
		margin-bottom: 5.12815rem;
	}
	.head_en{
		font-size: 4.23rem;
	}
}
@media screen and (min-width: 992px){
	.page_head{
		padding: 14.4rem 0 5.1538rem;
		margin-bottom: 6.41015rem;
	}
	.head_en{
		font-size: 4.61538rem;
	}
}
@media screen and (min-width: 1200px){
	.page_head{
		padding: 13.128rem 0 4.71428rem;
		margin-bottom: 5.95228rem;
	}
	.head_en{
		font-size: 4.666rem; 
	}
}
@media screen and (min-width: 1400px){
	.page_head{
		padding: 17.77rem 0 5.42857rem;
		margin-bottom: 100px;
	}
	.head_en{
		font-size: 4.666rem; 
	}
}